diff --git a/.travis.yml b/.travis.yml index 73024f79fd4..9c93c9924d8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ addons: language: node_js node_js: -- '6.9.1' +- '6.10.1' cache: directories: diff --git a/config.xml b/config.xml index 72ecffb0ab4..aa0eebbe887 100644 --- a/config.xml +++ b/config.xml @@ -1,5 +1,5 @@ - + Moodle Mobile Moodle Mobile official app @@ -33,6 +33,7 @@ + diff --git a/desktop/assets/windows/AppXManifest.xml b/desktop/assets/windows/AppXManifest.xml index 2bf1932beea..65f9a24f0ab 100644 --- a/desktop/assets/windows/AppXManifest.xml +++ b/desktop/assets/windows/AppXManifest.xml @@ -6,7 +6,7 @@ + Version="3.4.1.0" /> Moodle Desktop Moodle Pty Ltd. diff --git a/e2e/lib.js b/e2e/lib.js index b4a91dc6ba0..9f75e1bb3d0 100644 --- a/e2e/lib.js +++ b/e2e/lib.js @@ -153,12 +153,12 @@ MM.loginAs = function (username, password) { browser.ignoreSynchronization = true; browser.waitForAngular(); - browser.wait(EC.visibilityOf(element(by.model('siteurl'))), 15000); + browser.wait(EC.visibilityOf(element(by.model('loginData.siteurl'))), 15000); - element(by.model('siteurl')) + element(by.model('loginData.siteurl')) .sendKeys(SITEURL); - browser.wait(EC.elementToBeClickable($('[ng-click="connect(siteurl)"]')), 15000); - return $('[ng-click="connect(siteurl)"]').click() + browser.wait(EC.elementToBeClickable($('[ng-click="connect(loginData.siteurl)"]')), 15000); + return $('[ng-click="connect(loginData.siteurl)"]').click() .then(function () { waitForCondition(); browser.wait(EC.visibilityOf($('[ng-click="login()"]')), 15000); diff --git a/e2e/sauce/browser/protractor-sauce-browser-activities-3.js b/e2e/sauce/browser/protractor-sauce-browser-activities-3.js index c897bfab20d..b46e9115b5a 100644 --- a/e2e/sauce/browser/protractor-sauce-browser-activities-3.js +++ b/e2e/sauce/browser/protractor-sauce-browser-activities-3.js @@ -13,7 +13,8 @@ exports.config = { "../../../e2e/*.js", "../../../www/**/e2e/mod_glossary.spec.js", "../../../www/**/e2e/mod_wiki.spec.js", - "../../../www/**/e2e/mod_data.spec.js" + "../../../www/**/e2e/mod_data.spec.js", + "../../../www/**/e2e/mod_workshop.spec.js" ], baseUrl: 'http://localhost:8100/', seleniumAddress: "http://" + process.env.SAUCE_USERNAME + ":" + process.env.SAUCE_ACCESS_KEY + "@ondemand.saucelabs.com:80/wd/hub", diff --git a/e2e/sauce/protractor-sauce-android.js b/e2e/sauce/protractor-sauce-android.js index c71fdcf981a..4cf386acc98 100644 --- a/e2e/sauce/protractor-sauce-android.js +++ b/e2e/sauce/protractor-sauce-android.js @@ -25,6 +25,7 @@ exports.config = { "../../../www/**/e2e/mod_glossary.spec.js", "../../../www/**/e2e/mod_wiki.spec.js", "../../../www/**/e2e/mod_data.spec.js", + "../../../www/**/e2e/mod_workshop.spec.js", "../../../www/**/e2e/notifications.spec.js", "../../../www/**/e2e/contacts.spec.js", "../../../www/**/e2e/messages.spec.js", @@ -87,7 +88,7 @@ exports.config = { global.DEVICEURL = 'http://localhost:8100/'; global.DEVICEVERSION = undefined; global.SITEURL = 'http://school.demo.moodle.net'; - global.SITEVERSION = 3.3; + global.SITEVERSION = 3.4; global.SITEHASLM = false; global.USERS = { "STUDENT": { diff --git a/e2e/sauce/protractor-sauce-ios.js b/e2e/sauce/protractor-sauce-ios.js index 3c8221da95a..281df9d5f94 100644 --- a/e2e/sauce/protractor-sauce-ios.js +++ b/e2e/sauce/protractor-sauce-ios.js @@ -25,6 +25,7 @@ exports.config = { "../../../www/**/e2e/mod_glossary.spec.js", "../../../www/**/e2e/mod_wiki.spec.js", "../../../www/**/e2e/mod_data.spec.js", + "../../../www/**/e2e/mod_workshop.spec.js", "../../../www/**/e2e/notifications.spec.js", "../../../www/**/e2e/contacts.spec.js", "../../../www/**/e2e/messages.spec.js", @@ -86,7 +87,7 @@ exports.config = { global.DEVICEURL = 'http://localhost:8100/'; global.DEVICEVERSION = undefined; global.SITEURL = 'http://school.demo.moodle.net'; - global.SITEVERSION = 3.3; + global.SITEVERSION = 3.4; global.SITEHASLM = false; global.USERS = { "STUDENT": { diff --git a/package.json b/package.json index e27e287906f..f17d0fca60e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "moodlemobile", - "version": "3.4.0", + "version": "3.4.1", "description": "The official app for Moodle.", "author": { "name": "Moodle Pty Ltd.", diff --git a/upgrade.txt b/upgrade.txt index 05707ffed43..37ed5bd02c2 100644 --- a/upgrade.txt +++ b/upgrade.txt @@ -1,6 +1,10 @@ This files describes API changes in the Moodle Mobile app, information provided here is intended especially for developers. +=== 3.4.1 === + + * Some modules implemented a siteId param in the getDownloadSize of their prefetch handler. This param was never sent, so it has been replaced by a "single" param. + === 3.4 === * For performance reasons, $mmCoursesDelegate has changed a bit: diff --git a/www/addons/badges/controllers/issuedbadge.js b/www/addons/badges/controllers/issuedbadge.js index 624e2db41d8..6a7f5af7a38 100644 --- a/www/addons/badges/controllers/issuedbadge.js +++ b/www/addons/badges/controllers/issuedbadge.js @@ -31,6 +31,7 @@ angular.module('mm.addons.badges') var promises = [], promise; + $scope.currentTime = $mmUtil.timestamp(); promise = $mmUser.getProfile($scope.userId, $scope.courseId, true).then(function(user) { $scope.user = user; }); diff --git a/www/addons/badges/controllers/userbadges.js b/www/addons/badges/controllers/userbadges.js index 7c85a70f157..5eb3d81a3ee 100644 --- a/www/addons/badges/controllers/userbadges.js +++ b/www/addons/badges/controllers/userbadges.js @@ -27,7 +27,7 @@ angular.module('mm.addons.badges') $scope.userId = $stateParams.userid || $mmSite.getUserId(); function fetchBadges() { - + $scope.currentTime = $mmUtil.timestamp(); return $mmaBadges.getUserBadges($scope.courseId, $scope.userId).then(function(badges) { $scope.badges = badges; }).catch(function(message) { diff --git a/www/addons/badges/lang/ar.json b/www/addons/badges/lang/ar.json index 7fad6dcca5a..edc0b0d08b4 100644 --- a/www/addons/badges/lang/ar.json +++ b/www/addons/badges/lang/ar.json @@ -1,3 +1,4 @@ { - "badges": "شارات" + "badges": "شارات", + "expired": "عذراً، تم إغلاق هذا النشاط في {{$a}} وهو غير متوفر الآن." } \ No newline at end of file diff --git a/www/addons/badges/lang/bg.json b/www/addons/badges/lang/bg.json index c7fae731ea7..4f6540a4a14 100644 --- a/www/addons/badges/lang/bg.json +++ b/www/addons/badges/lang/bg.json @@ -2,6 +2,7 @@ "badgedetails": "Елементи на значката", "badges": "Значки", "contact": "Контакт", + "expired": "За съжаление тази дейност е затворена от {{$a}} и вече не е достъпна", "expirydate": "Дата на изтичане", "issuancedetails": "Срок на значката", "issuerdetails": "Данни за връчващия", diff --git a/www/addons/badges/lang/ca.json b/www/addons/badges/lang/ca.json index e9baf0ea68a..4dd96b8a1dd 100644 --- a/www/addons/badges/lang/ca.json +++ b/www/addons/badges/lang/ca.json @@ -3,6 +3,7 @@ "badges": "Insígnies", "contact": "Contacte", "dateawarded": "Data publicada", + "expired": "Aquesta activitat es va tancar el dia {{$a}} i ja no està disponible.", "expirydate": "Data d'expiració", "issuancedetails": "Expiració de la insígnia", "issuerdetails": "Detalls de l'atorgador", diff --git a/www/addons/badges/lang/cs.json b/www/addons/badges/lang/cs.json index 46db082b2e4..95347f65db0 100644 --- a/www/addons/badges/lang/cs.json +++ b/www/addons/badges/lang/cs.json @@ -3,6 +3,7 @@ "badges": "Odznaky", "contact": "Kontakt", "dateawarded": "Datum udělení", + "expired": "Je nám líto, tato činnost byla uzavřena {{$a}} a není nadále dostupná", "expirydate": "Datum vypršení platnosti", "issuancedetails": "Vypršení platnosti odznaku", "issuerdetails": "Podrobnosti o vydavateli", diff --git a/www/addons/badges/lang/da.json b/www/addons/badges/lang/da.json index a069a23f8ea..5693c0af24d 100644 --- a/www/addons/badges/lang/da.json +++ b/www/addons/badges/lang/da.json @@ -3,6 +3,7 @@ "badges": "Badges", "contact": "Kontakt", "dateawarded": "Udstedelsesdato", + "expired": "Beklager, denne aktivitet er lukket d. {{$a}} og er ikke længere tilgængelig", "expirydate": "Udløbsdato", "issuancedetails": "Badge-udløb", "issuerdetails": "Udstederdata", diff --git a/www/addons/badges/lang/de-du.json b/www/addons/badges/lang/de-du.json index 7c506e176f5..14bde8d8ebb 100644 --- a/www/addons/badges/lang/de-du.json +++ b/www/addons/badges/lang/de-du.json @@ -3,6 +3,7 @@ "badges": "Auszeichnungen", "contact": "Kontakt", "dateawarded": "Verleihdatum", + "expired": "Diese Abstimmung ist seit {{$a}} beendet. Eine Auswahl ist nicht mehr möglich.", "expirydate": "Ablaufdatum", "issuancedetails": "Ablauf festlegen", "issuerdetails": "Verleiher", diff --git a/www/addons/badges/lang/de.json b/www/addons/badges/lang/de.json index 7c506e176f5..14bde8d8ebb 100644 --- a/www/addons/badges/lang/de.json +++ b/www/addons/badges/lang/de.json @@ -3,6 +3,7 @@ "badges": "Auszeichnungen", "contact": "Kontakt", "dateawarded": "Verleihdatum", + "expired": "Diese Abstimmung ist seit {{$a}} beendet. Eine Auswahl ist nicht mehr möglich.", "expirydate": "Ablaufdatum", "issuancedetails": "Ablauf festlegen", "issuerdetails": "Verleiher", diff --git a/www/addons/badges/lang/el.json b/www/addons/badges/lang/el.json index 8c24bf274f9..41294c41ed0 100644 --- a/www/addons/badges/lang/el.json +++ b/www/addons/badges/lang/el.json @@ -1,3 +1,4 @@ { - "badges": "Κονκάρδες" + "badges": "Βραβεία", + "expired": "Η δραστηριότητα αυτή έκλεισε στις {{$a}} και δεν είναι πλέον διαθέσιμη" } \ No newline at end of file diff --git a/www/addons/badges/lang/en.json b/www/addons/badges/lang/en.json index 838d671e069..b041ca4e989 100644 --- a/www/addons/badges/lang/en.json +++ b/www/addons/badges/lang/en.json @@ -3,6 +3,7 @@ "badges": "Badges", "contact": "Contact", "dateawarded": "Date issued", + "expired": "Expired", "expirydate": "Expiry date", "issuancedetails": "Badge expiry", "issuerdetails": "Issuer details", diff --git a/www/addons/badges/lang/es-mx.json b/www/addons/badges/lang/es-mx.json index a026942c37e..fbddeff83b3 100644 --- a/www/addons/badges/lang/es-mx.json +++ b/www/addons/badges/lang/es-mx.json @@ -3,6 +3,7 @@ "badges": "Insignias", "contact": "Contacto", "dateawarded": "Fecha de emisión", + "expired": "Lo sentimos, esta actividad se cerró el {{$a}} y ya no está disponible", "expirydate": "Fecha de caducidad", "issuancedetails": "Caducidad de insignia", "issuerdetails": "Detalles del emisor", diff --git a/www/addons/badges/lang/es.json b/www/addons/badges/lang/es.json index cdacfca0a9f..bf84b0d2be9 100644 --- a/www/addons/badges/lang/es.json +++ b/www/addons/badges/lang/es.json @@ -3,6 +3,7 @@ "badges": "Insignias", "contact": "Contacto", "dateawarded": "Fecha de la emisión", + "expired": "Lo sentimos, esta actividad se cerró el {{$a}} y ya no está disponible", "expirydate": "Fecha de expiración", "issuancedetails": "Caducidad de la insignia", "issuerdetails": "Detalles del emisor", diff --git a/www/addons/badges/lang/eu.json b/www/addons/badges/lang/eu.json index b83abbade7a..600530dd8aa 100644 --- a/www/addons/badges/lang/eu.json +++ b/www/addons/badges/lang/eu.json @@ -3,6 +3,7 @@ "badges": "Dominak", "contact": "Kontaktua", "dateawarded": "Emate-data", + "expired": "Sentitzen dugu, jarduera hau {{$a}}(e)an itxi zen eta dagoeneko ez dago eskuragarri.", "expirydate": "Epemugaren data", "issuancedetails": "Dominaren iraungitzea", "issuerdetails": "Emailearen xehetasunak", diff --git a/www/addons/badges/lang/fa.json b/www/addons/badges/lang/fa.json index c20e29e8654..12d37d7a4a0 100644 --- a/www/addons/badges/lang/fa.json +++ b/www/addons/badges/lang/fa.json @@ -3,6 +3,7 @@ "badges": "مدال‌ها", "contact": "تماس", "dateawarded": "تاریخ صدور", + "expired": "با عرض پوزش، این فعالیت در {{$a}} بسته شد و دیگر در دسترس نیست", "expirydate": "تاریخ انقضا", "issuancedetails": "انقضای مدال", "issuerdetails": "مشخصات صادرکننده", diff --git a/www/addons/badges/lang/fi.json b/www/addons/badges/lang/fi.json index 136866e6a3a..b38f0f9a382 100644 --- a/www/addons/badges/lang/fi.json +++ b/www/addons/badges/lang/fi.json @@ -3,6 +3,7 @@ "badges": "Osaamismerkit", "contact": "Yhteystieto", "dateawarded": "Myöntämispäivä", + "expired": "Tämä aktiviteeti on suljettu {{$a}} eikä ole enää käytettävissä.", "expirydate": "Vanhenemispäivä", "issuancedetails": "Osaamismerkin vanhentuminen", "issuerdetails": "Osaamismerkin myöntäjän tiedot", diff --git a/www/addons/badges/lang/fr.json b/www/addons/badges/lang/fr.json index 922dac2a23b..c3194b478b5 100644 --- a/www/addons/badges/lang/fr.json +++ b/www/addons/badges/lang/fr.json @@ -3,6 +3,7 @@ "badges": "Badges", "contact": "Contact", "dateawarded": "Date de remise", + "expired": "Désolé, cette activité s'est terminée le {{$a}} et n'est plus disponible", "expirydate": "Date d'échéance", "issuancedetails": "Échéance du badge", "issuerdetails": "Détail de l'émetteur", diff --git a/www/addons/badges/lang/he.json b/www/addons/badges/lang/he.json index 74f4a30f79a..53e1eb6b73f 100644 --- a/www/addons/badges/lang/he.json +++ b/www/addons/badges/lang/he.json @@ -3,6 +3,7 @@ "badges": "הישגים", "contact": "ליצירת קשר", "dateawarded": "תאריך הקבלה", + "expired": "מצטערים, פעילות זו נסגרה על {{$a}} והיא איננה זמינה יותר", "expirydate": "תאריך תפוגה", "issuancedetails": "מועד תפוגת ההישג", "issuerdetails": "פרטי הגורם אשר העניק את ההישג", diff --git a/www/addons/badges/lang/hr.json b/www/addons/badges/lang/hr.json index 98b1aa11200..6cfa7c0954c 100644 --- a/www/addons/badges/lang/hr.json +++ b/www/addons/badges/lang/hr.json @@ -3,6 +3,7 @@ "badges": "Značke", "contact": "Kontakt", "dateawarded": "Datum izdavanja", + "expired": "Nažalost, ova aktivnost je zatvorena od {{$a}} i nije više dostupna", "expirydate": "Datum isteka", "issuancedetails": "Istek značke", "issuerdetails": "Detalji o izdavaču", diff --git a/www/addons/badges/lang/hu.json b/www/addons/badges/lang/hu.json index 1ef1550428a..7ce39e4cb01 100644 --- a/www/addons/badges/lang/hu.json +++ b/www/addons/badges/lang/hu.json @@ -3,6 +3,7 @@ "badges": "Kitűzők", "contact": "Kapcsolat", "dateawarded": "Kiadás dátuma", + "expired": "Ez a tevékenység {{$a}} időpontban lezárult és már nem érhető el", "expirydate": "Lejárat időpontja", "issuancedetails": "A kitűző lejárata", "issuerdetails": "Az adományozó adatai", diff --git a/www/addons/badges/lang/it.json b/www/addons/badges/lang/it.json index 45a5f3a16bc..b1694dc48d1 100644 --- a/www/addons/badges/lang/it.json +++ b/www/addons/badges/lang/it.json @@ -3,6 +3,7 @@ "badges": "Badge", "contact": "Contatto", "dateawarded": "Data di rilascio", + "expired": "Spiacente, questa attività è stata chiusa il {{$a}} e non è più disponibile", "expirydate": "Data di scadenza", "issuancedetails": "Scadenza badge", "issuerdetails": "Dettagli di chi rilascia il badge", diff --git a/www/addons/badges/lang/ja.json b/www/addons/badges/lang/ja.json index 81bbb2c30b7..9a8239a43b0 100644 --- a/www/addons/badges/lang/ja.json +++ b/www/addons/badges/lang/ja.json @@ -3,6 +3,7 @@ "badges": "バッジ", "contact": "連絡先", "dateawarded": "発効日", + "expired": "申し訳ございません、この活動は {{$a}} に終了しているため、これ以上利用することはできません。", "expirydate": "有効期限", "issuancedetails": "バッジ有効期限", "issuerdetails": "発行者詳細", diff --git a/www/addons/badges/lang/ko.json b/www/addons/badges/lang/ko.json new file mode 100644 index 00000000000..9e30623e461 --- /dev/null +++ b/www/addons/badges/lang/ko.json @@ -0,0 +1,13 @@ +{ + "badgedetails": "뱃지 세부사항", + "badges": "뱃지", + "contact": "연락처", + "dateawarded": "발행일", + "expired": "죄송합니다. 이 활동은 {{$a}} 에 종료되어서 더 이상 사용할 수 없습니다.", + "expirydate": "만료일", + "issuancedetails": "뱃지 만료기한", + "issuerdetails": "발행자 세부정보", + "issuername": "발행자 이름", + "nobadges": "사용가능한 뱃지가 없습니다.", + "recipientdetails": "수신자 세부사항" +} \ No newline at end of file diff --git a/www/addons/badges/lang/lt.json b/www/addons/badges/lang/lt.json index 612308bc8cf..2434a9c03f0 100644 --- a/www/addons/badges/lang/lt.json +++ b/www/addons/badges/lang/lt.json @@ -3,6 +3,7 @@ "badges": "Pasiekimai", "contact": "Kontaktas", "dateawarded": "Suteikimo data", + "expired": "Atsiprašome, veikla uždaryta {{$a}} ir nebegalima", "expirydate": "Galiojimo laikas", "issuancedetails": "Pasiekimo galiojimas", "issuerdetails": "Suteikėjo detalesnė informacija", diff --git a/www/addons/badges/lang/mr.json b/www/addons/badges/lang/mr.json new file mode 100644 index 00000000000..2b37db102e4 --- /dev/null +++ b/www/addons/badges/lang/mr.json @@ -0,0 +1,3 @@ +{ + "expired": "संपलेला" +} \ No newline at end of file diff --git a/www/addons/badges/lang/nl.json b/www/addons/badges/lang/nl.json index 6c7d7b8d907..24e5430f2e0 100644 --- a/www/addons/badges/lang/nl.json +++ b/www/addons/badges/lang/nl.json @@ -3,6 +3,7 @@ "badges": "Badges", "contact": "Contact", "dateawarded": "Uitgavedatum", + "expired": "Sorry, deze activiteit is afgesloten op {{$a}} en is niet meer beschikbaar", "expirydate": "Vervaldatum", "issuancedetails": "Badge verloopt", "issuerdetails": "Details uitgever", diff --git a/www/addons/badges/lang/no.json b/www/addons/badges/lang/no.json index bc06dc39a40..6a48ea344bc 100644 --- a/www/addons/badges/lang/no.json +++ b/www/addons/badges/lang/no.json @@ -3,6 +3,7 @@ "badges": "Utmerkelser", "contact": "Kontakt", "dateawarded": "Dato tildelt", + "expired": "Beklager, denne aktiviteten ble stengt {{$a}} og er ikke tilgjengelig lenger.", "expirydate": "Utløpsdato", "issuancedetails": "Utløpsdato på utmerkelse", "issuerdetails": "Utstederdetaljer", diff --git a/www/addons/badges/lang/pl.json b/www/addons/badges/lang/pl.json index 17071f4e17d..cdbe2ea38ac 100644 --- a/www/addons/badges/lang/pl.json +++ b/www/addons/badges/lang/pl.json @@ -1,11 +1,12 @@ { - "badgedetails": "Szczegóły odznak", + "badgedetails": "Szczegóły odznaki", "badges": "Odznaki", - "contact": "Połącz", + "contact": "Kontakt", "dateawarded": "Data wydania", + "expired": "Niestety ta aktywność została zamknięta {{$a}} i nie jest już dostępna.", "expirydate": "Data ważności", "issuancedetails": "Wygaśnięcie odznaki", - "issuerdetails": "Szczegóły o wydawcy", + "issuerdetails": "Dane wystawcy", "issuername": "Nazwa wydawcy", "nobadges": "Brak dostępnych odznak", "recipientdetails": "Dane odbiorcy" diff --git a/www/addons/badges/lang/pt-br.json b/www/addons/badges/lang/pt-br.json index 9d8aa1ae0eb..f58e81ab737 100644 --- a/www/addons/badges/lang/pt-br.json +++ b/www/addons/badges/lang/pt-br.json @@ -3,6 +3,7 @@ "badges": "Emblemas", "contact": "Contato", "dateawarded": "Data de emissão", + "expired": "Esta atividade está encerrada desde {{$a}}", "expirydate": "Data de validade", "issuancedetails": "Expiração do emblema", "issuerdetails": "Detalhes do emissor", diff --git a/www/addons/badges/lang/pt.json b/www/addons/badges/lang/pt.json index 7c56f072e88..25537f644d4 100644 --- a/www/addons/badges/lang/pt.json +++ b/www/addons/badges/lang/pt.json @@ -3,6 +3,7 @@ "badges": "Medalhas", "contact": "Contacto", "dateawarded": "Data de emissão", + "expired": "Esta atividade terminou em {{$a}} e já não está disponível", "expirydate": "Data de validade", "issuancedetails": "Data de validade da Medalha", "issuerdetails": "Detalhes do emissor", diff --git a/www/addons/badges/lang/ro.json b/www/addons/badges/lang/ro.json index 6801f4977cf..f419fdda1b0 100644 --- a/www/addons/badges/lang/ro.json +++ b/www/addons/badges/lang/ro.json @@ -3,6 +3,7 @@ "badges": "Ecusoane", "contact": "Contact", "dateawarded": "Data emiterii", + "expired": "Ne pare rău, această activitate s-a închis la {{$a}} şi nu mai este disponibilă", "expirydate": "Dată de expirare", "issuancedetails": "Expirare ecuson", "issuerdetails": "Detalii emitent", diff --git a/www/addons/badges/lang/ru.json b/www/addons/badges/lang/ru.json index b089a2ef04f..0b362222986 100644 --- a/www/addons/badges/lang/ru.json +++ b/www/addons/badges/lang/ru.json @@ -3,6 +3,7 @@ "badges": "Значки", "contact": "Контакты", "dateawarded": "Дата выдачи", + "expired": "Извините, этот элемент курса закрыт {{$a}} и более недоступен", "expirydate": "Дата окончания срока действия", "issuancedetails": "Срок действия значка", "issuerdetails": "Сведения об эмитенте", diff --git a/www/addons/badges/lang/sv.json b/www/addons/badges/lang/sv.json index 878282c5e4f..d533b8a4a4a 100644 --- a/www/addons/badges/lang/sv.json +++ b/www/addons/badges/lang/sv.json @@ -3,6 +3,7 @@ "badges": "Märken", "contact": "Kontakt", "dateawarded": "Utfärdandedatum", + "expired": "Den här aktiviteten är stängd på {{$a}} och den är inte längre tillgänglig.", "expirydate": "Förfallodatum", "issuancedetails": "Förfallande av märke", "issuerdetails": "Utfärdarens detaljer", diff --git a/www/addons/badges/lang/tr.json b/www/addons/badges/lang/tr.json index 5c79f345058..86adcba8c37 100644 --- a/www/addons/badges/lang/tr.json +++ b/www/addons/badges/lang/tr.json @@ -3,6 +3,7 @@ "badges": "Nişanlar", "contact": "İletişim", "dateawarded": "Verilen tarih", + "expired": "Üzgünüz, bu etkinlik {{$a}} tarihinde kapandı ve bu etkinliğe artık ulaşılamaz", "expirydate": "Bitiş Tarihi", "issuancedetails": "Rozet sona erme", "issuerdetails": "çıkaran ayrıntıları", diff --git a/www/addons/badges/lang/uk.json b/www/addons/badges/lang/uk.json index 6ed6729d125..88c5bf62b6a 100644 --- a/www/addons/badges/lang/uk.json +++ b/www/addons/badges/lang/uk.json @@ -3,6 +3,7 @@ "badges": "Відзнаки", "contact": "Контакт", "dateawarded": "Дата отримання", + "expired": "На жаль, ця діяльність закрита для {{$a}} та більше недоступна", "expirydate": "Дата завершення", "issuancedetails": "Відзнака не актуальна", "issuerdetails": "Деталі присудження", diff --git a/www/addons/badges/services/handlers.js b/www/addons/badges/services/handlers.js index e29c15f63ea..4b6350e8b32 100644 --- a/www/addons/badges/services/handlers.js +++ b/www/addons/badges/services/handlers.js @@ -57,14 +57,15 @@ angular.module('mm.addons.badges') * @param {Number} courseId Course ID. * @param {Object} [navOptions] Course navigation options for current user. See $mmCourses#getUserNavigationOptions. * @param {Object} [admOptions] Course admin options for current user. See $mmCourses#getUserAdministrationOptions. - * @return {Promise} Promise resolved with true if enabled, resolved with false otherwise. + * @return {Promise} Promise resolved with true if enabled. */ self.isEnabledForUser = function(user, courseId, navOptions, admOptions) { if (navOptions && typeof navOptions.badges != 'undefined') { return navOptions.badges; } - return false; + // If we reach here, it means we are opening the user site profile. + return true; }; /** diff --git a/www/addons/badges/templates/issuedbadge.html b/www/addons/badges/templates/issuedbadge.html index bf0989e63a1..859aee50044 100644 --- a/www/addons/badges/templates/issuedbadge.html +++ b/www/addons/badges/templates/issuedbadge.html @@ -6,6 +6,9 @@
{{badge.name}} + + {{ 'mma.badges.expired' | translate }} +
diff --git a/www/addons/badges/templates/userbadges.html b/www/addons/badges/templates/userbadges.html index 369817cd6b3..f3af838ff7a 100644 --- a/www/addons/badges/templates/userbadges.html +++ b/www/addons/badges/templates/userbadges.html @@ -8,6 +8,9 @@
  • {{badge.name}} + + {{ 'mma.badges.expired' | translate }} +

    {{badge.name}}

    {{ badge.dateissued | mmToLocaleString }}

    diff --git a/www/addons/calendar/lang/ar.json b/www/addons/calendar/lang/ar.json index 9bece3c914d..23e2ee91b94 100644 --- a/www/addons/calendar/lang/ar.json +++ b/www/addons/calendar/lang/ar.json @@ -3,5 +3,5 @@ "errorloadevent": "خطأ في تحميل الحدث", "errorloadevents": "خطأ في تحميل الأحداث", "noevents": "لا يوجد أي أحداث", - "notifications": "إشعارات" + "notifications": "الإشعارات" } \ No newline at end of file diff --git a/www/addons/calendar/lang/ca.json b/www/addons/calendar/lang/ca.json index a2a8930c77d..cc1ee634071 100644 --- a/www/addons/calendar/lang/ca.json +++ b/www/addons/calendar/lang/ca.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Hora de notificació per defecte", "errorloadevent": "S'ha produït un error carregant l'esdeveniment.", "errorloadevents": "S'ha produït un error carregant els esdeveniments.", - "noevents": "Cap activitat venç properament", + "noevents": "No hi ha cap esdeveniment", "notifications": "Notificacions" } \ No newline at end of file diff --git a/www/addons/calendar/lang/cs.json b/www/addons/calendar/lang/cs.json index 5dca11fb0e2..93d27c11dce 100644 --- a/www/addons/calendar/lang/cs.json +++ b/www/addons/calendar/lang/cs.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Výchozí čas oznámení", "errorloadevent": "Chyba při načítání události.", "errorloadevents": "Chyba při načítání událostí.", - "noevents": "Žádné nadcházející činnosti", - "notifications": "Informace" + "noevents": "Nejsou žádné události", + "notifications": "Upozornění" } \ No newline at end of file diff --git a/www/addons/calendar/lang/da.json b/www/addons/calendar/lang/da.json index 9af5235a51d..6826baea7eb 100644 --- a/www/addons/calendar/lang/da.json +++ b/www/addons/calendar/lang/da.json @@ -2,6 +2,6 @@ "calendarevents": "Kalenderbegivenheder", "errorloadevent": "Fejl ved indlæsning af begivenhed.", "errorloadevents": "Fejl ved indlæsning af begivenheder.", - "noevents": "Ingen forestående aktiviteter", - "notifications": "Beskeder" + "noevents": "Der er ingen begivenheder", + "notifications": "Notifikationer" } \ No newline at end of file diff --git a/www/addons/calendar/lang/de-du.json b/www/addons/calendar/lang/de-du.json index e38e81f16cd..120feaec0ae 100644 --- a/www/addons/calendar/lang/de-du.json +++ b/www/addons/calendar/lang/de-du.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Standardmäßige Benachrichtigungszeit", "errorloadevent": "Fehler beim Laden des Kalendereintrags", "errorloadevents": "Fehler beim Laden der Kalendereinträge", - "noevents": "Keine anstehenden Aktivitäten fällig", + "noevents": "Keine Kalendereinträge", "notifications": "Systemmitteilungen" } \ No newline at end of file diff --git a/www/addons/calendar/lang/de.json b/www/addons/calendar/lang/de.json index e38e81f16cd..120feaec0ae 100644 --- a/www/addons/calendar/lang/de.json +++ b/www/addons/calendar/lang/de.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Standardmäßige Benachrichtigungszeit", "errorloadevent": "Fehler beim Laden des Kalendereintrags", "errorloadevents": "Fehler beim Laden der Kalendereinträge", - "noevents": "Keine anstehenden Aktivitäten fällig", + "noevents": "Keine Kalendereinträge", "notifications": "Systemmitteilungen" } \ No newline at end of file diff --git a/www/addons/calendar/lang/el.json b/www/addons/calendar/lang/el.json index 4a7590c2db2..9a2040a3e51 100644 --- a/www/addons/calendar/lang/el.json +++ b/www/addons/calendar/lang/el.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Προεπιλεγμένος χρόνος ειδοποίησης", "errorloadevent": "Σφάλμα στην φόρτωση συμβάντου.", "errorloadevents": "Σφάλμα στην φόρτωση συμβάντων.", - "noevents": "Καμία δραστηριότητα προσεχώς", + "noevents": "Δεν υπάρχουν συμβάντα", "notifications": "Ειδοποιήσεις" } \ No newline at end of file diff --git a/www/addons/calendar/lang/es-mx.json b/www/addons/calendar/lang/es-mx.json index d54a5abc6ad..872b31813b4 100644 --- a/www/addons/calendar/lang/es-mx.json +++ b/www/addons/calendar/lang/es-mx.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Hora de notificación por defecto", "errorloadevent": "Error al cargar evento.", "errorloadevents": "Error al cargar eventos.", - "noevents": "No hay actividades próximas pendientes", + "noevents": "No hay eventos", "notifications": "Notificaciones" } \ No newline at end of file diff --git a/www/addons/calendar/lang/es.json b/www/addons/calendar/lang/es.json index 8149bc574d6..993aec44200 100644 --- a/www/addons/calendar/lang/es.json +++ b/www/addons/calendar/lang/es.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Tiempo de notificación por defecto", "errorloadevent": "Error cargando el evento.", "errorloadevents": "Error cargando los eventos.", - "noevents": "No hay actividades próximas pendientes", - "notifications": "Avisos" + "noevents": "No hay eventos", + "notifications": "Notificaciones" } \ No newline at end of file diff --git a/www/addons/calendar/lang/eu.json b/www/addons/calendar/lang/eu.json index 26477c604df..1158b9cd186 100644 --- a/www/addons/calendar/lang/eu.json +++ b/www/addons/calendar/lang/eu.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Berezko jakinarazpen-ordua", "errorloadevent": "Errorea gertakaria kargatzean.", "errorloadevents": "Errorea gertakariak kargatzean.", - "noevents": "Ez dago jardueren muga-egunik laster", + "noevents": "Ez dago ekitaldirik", "notifications": "Jakinarazpenak" } \ No newline at end of file diff --git a/www/addons/calendar/lang/fa.json b/www/addons/calendar/lang/fa.json index 76813733c1d..109ac4e7ec6 100644 --- a/www/addons/calendar/lang/fa.json +++ b/www/addons/calendar/lang/fa.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "زمان پیش‌فرض اطلاع‌رسانی", "errorloadevent": "خطا در بارگیری رویداد.", "errorloadevents": "خطا در بارگیری رویدادها.", - "noevents": "هیچ مهلتی برای فعالیت‌های آتی وجود ندارد", - "notifications": "تذکرات" + "noevents": "هیچ رویدادی نیست", + "notifications": "هشدارها" } \ No newline at end of file diff --git a/www/addons/calendar/lang/fi.json b/www/addons/calendar/lang/fi.json index 39534c661d8..c0c6a3c5b25 100644 --- a/www/addons/calendar/lang/fi.json +++ b/www/addons/calendar/lang/fi.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Oletusilmoitusaika", "errorloadevent": "Ladattaessa tapahtumaa tapahtui virhe.", "errorloadevents": "Ladattaessa tapahtumia tapahtui virhe.", - "noevents": "Ei tulevia aktiviteettien määräaikoja", + "noevents": "Tapahtumia ei ole", "notifications": "Ilmoitukset" } \ No newline at end of file diff --git a/www/addons/calendar/lang/fr.json b/www/addons/calendar/lang/fr.json index 9281fbdabb5..79e2b2edcac 100644 --- a/www/addons/calendar/lang/fr.json +++ b/www/addons/calendar/lang/fr.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Heure de notification par défaut", "errorloadevent": "Erreur de chargement de l'événement", "errorloadevents": "Erreur de chargement des événements", - "noevents": "Aucune activité", + "noevents": "Il n'y a pas d'événement", "notifications": "Notifications" } \ No newline at end of file diff --git a/www/addons/calendar/lang/he.json b/www/addons/calendar/lang/he.json index 3702664d6e1..368fb1895c4 100644 --- a/www/addons/calendar/lang/he.json +++ b/www/addons/calendar/lang/he.json @@ -2,6 +2,6 @@ "calendarevents": "אירועי לוח שנה", "errorloadevent": "שגיאה בטעינת האירוע.", "errorloadevents": "שגיאה בטעינת האירועים.", - "noevents": "לא קיימות פעילויות עתידיות להן מועד הגשה", - "notifications": "עדכונים והודעות" + "noevents": "אין אירועים", + "notifications": "התראות" } \ No newline at end of file diff --git a/www/addons/calendar/lang/it.json b/www/addons/calendar/lang/it.json index bd05740cedc..4d32f3c70ca 100644 --- a/www/addons/calendar/lang/it.json +++ b/www/addons/calendar/lang/it.json @@ -1,7 +1,8 @@ { "calendarevents": "Eventi nel calendario", + "defaultnotificationtime": "Orario di notifica di default", "errorloadevent": "Si è verificato un errore durante il caricamento degli eventi.", "errorloadevents": "Si è verificato un errore durante il caricamento degli eventi.", - "noevents": "Non ci sono attività da svolgere", + "noevents": "Non ci sono eventi", "notifications": "Notifiche" } \ No newline at end of file diff --git a/www/addons/calendar/lang/ja.json b/www/addons/calendar/lang/ja.json index 8bdfec3c217..b6e5457e412 100644 --- a/www/addons/calendar/lang/ja.json +++ b/www/addons/calendar/lang/ja.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "デフォルト通知時間", "errorloadevent": "イベントの読み込み時にエラーがありました。", "errorloadevents": "イベントの読み込み時にエラーがありました。", - "noevents": "到来する活動期限はありません。", + "noevents": "イベントはありません", "notifications": "通知" } \ No newline at end of file diff --git a/www/addons/calendar/lang/ko.json b/www/addons/calendar/lang/ko.json new file mode 100644 index 00000000000..89620ab46b2 --- /dev/null +++ b/www/addons/calendar/lang/ko.json @@ -0,0 +1,8 @@ +{ + "calendarevents": "달력 일정", + "defaultnotificationtime": "기본 알림 시간", + "errorloadevent": "이벤트 올리기 오류", + "errorloadevents": "이벤트 올리기 오류", + "noevents": "이벤트 없음", + "notifications": "알림" +} \ No newline at end of file diff --git a/www/addons/calendar/lang/lt.json b/www/addons/calendar/lang/lt.json index 38fab7b87a5..84444f84a30 100644 --- a/www/addons/calendar/lang/lt.json +++ b/www/addons/calendar/lang/lt.json @@ -2,6 +2,6 @@ "calendarevents": "Renginių kalendorius", "errorloadevent": "Klaida įkeliant renginį.", "errorloadevents": "Klaida įkeliant renginius.", - "noevents": "Nėra numatytų artėjančių veiklų", + "noevents": "Renginių nėra", "notifications": "Pranešimai" } \ No newline at end of file diff --git a/www/addons/calendar/lang/mr.json b/www/addons/calendar/lang/mr.json index 9406719e93e..28aa585a614 100644 --- a/www/addons/calendar/lang/mr.json +++ b/www/addons/calendar/lang/mr.json @@ -4,5 +4,5 @@ "errorloadevent": "कार्यक्रम लोड करताना त्रुटी.", "errorloadevents": "कार्यक्रम लोड करताना त्रुटी.", "noevents": "कोणतेही कार्यक्रम नाहीत", - "notifications": "अधिसुचना" + "notifications": "सूचना" } \ No newline at end of file diff --git a/www/addons/calendar/lang/nl.json b/www/addons/calendar/lang/nl.json index 16546e8a4ee..5c7174a3165 100644 --- a/www/addons/calendar/lang/nl.json +++ b/www/addons/calendar/lang/nl.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Standaard notificatietijd", "errorloadevent": "Fout bij het laden van de gebeurtenis.", "errorloadevents": "Fout bij het laden van de gebeurtenissen.", - "noevents": "Er zijn geen verwachte activiteiten", + "noevents": "Er zijn geen gebeurtenissen", "notifications": "Meldingen" } \ No newline at end of file diff --git a/www/addons/calendar/lang/pt-br.json b/www/addons/calendar/lang/pt-br.json index f66b11184df..b348e89bed4 100644 --- a/www/addons/calendar/lang/pt-br.json +++ b/www/addons/calendar/lang/pt-br.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Tempo de notificação padrão", "errorloadevent": "Erro ao carregar evento.", "errorloadevents": "Erro ao carregar eventos.", - "noevents": "Não há atividades pendentes", - "notifications": "Avisos" + "noevents": "Sem eventos", + "notifications": "Notificação" } \ No newline at end of file diff --git a/www/addons/calendar/lang/pt.json b/www/addons/calendar/lang/pt.json index a65b11f461a..6cb58c20e8d 100644 --- a/www/addons/calendar/lang/pt.json +++ b/www/addons/calendar/lang/pt.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Hora de notificação predefinida", "errorloadevent": "Erro ao carregar evento.", "errorloadevents": "Erro ao carregar eventos.", - "noevents": "Nenhuma atividade programada", + "noevents": "Sem eventos", "notifications": "Notificações" } \ No newline at end of file diff --git a/www/addons/calendar/lang/ru.json b/www/addons/calendar/lang/ru.json index 3a1b1bf3bd2..0d17cabd368 100644 --- a/www/addons/calendar/lang/ru.json +++ b/www/addons/calendar/lang/ru.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Время уведомлений по умолчанию", "errorloadevent": "Ошибка при загрузке события", "errorloadevents": "Ошибка при загрузке событий", - "noevents": "Окончаний сроков сдачи элементов курса в ближайшее время нет.", + "noevents": "Нет событий", "notifications": "Уведомления" } \ No newline at end of file diff --git a/www/addons/calendar/lang/sv.json b/www/addons/calendar/lang/sv.json index 12cef7ef2eb..d5ac5c127d0 100644 --- a/www/addons/calendar/lang/sv.json +++ b/www/addons/calendar/lang/sv.json @@ -3,5 +3,5 @@ "errorloadevent": "Fel vid inläsning av händelse.", "errorloadevents": "Fel vid inläsning av händelser", "noevents": "Det finns inga händelser", - "notifications": "Administration" + "notifications": "Notifikationer" } \ No newline at end of file diff --git a/www/addons/calendar/lang/uk.json b/www/addons/calendar/lang/uk.json index e0b616f24a4..2e0930c7034 100644 --- a/www/addons/calendar/lang/uk.json +++ b/www/addons/calendar/lang/uk.json @@ -3,6 +3,6 @@ "defaultnotificationtime": "Час сповіщень за-замовчуванням", "errorloadevent": "Помилка завантаження події.", "errorloadevents": "Помилка завантаження подій.", - "noevents": "Наразі, заплановані активності відсутні", - "notifications": "Повідомлення" + "noevents": "Немає подій", + "notifications": "Сповіщення" } \ No newline at end of file diff --git a/www/addons/competency/lang/ca.json b/www/addons/competency/lang/ca.json index 93bcee24b76..dcf09727e71 100644 --- a/www/addons/competency/lang/ca.json +++ b/www/addons/competency/lang/ca.json @@ -20,7 +20,7 @@ "learningplans": "Plans d'aprenentatge", "myplans": "Els meus plans d'aprenentatge", "noactivities": "Cap activitat", - "nocompetencies": "No s'han creat competències en aquest marc.", + "nocompetencies": "Cap competència", "nocrossreferencedcompetencies": "No hi ha competències amb referències a aquesta.", "noevidence": "Cap evidència", "noplanswerecreated": "No s'ha creat cap pla d'aprenentatge.", diff --git a/www/addons/competency/lang/cs.json b/www/addons/competency/lang/cs.json index 471bc29a73e..b9cbb5ea724 100644 --- a/www/addons/competency/lang/cs.json +++ b/www/addons/competency/lang/cs.json @@ -22,7 +22,7 @@ "learningplans": "Studijní plány", "myplans": "Mé studijní plány", "noactivities": "Žádné činnosti", - "nocompetencies": "V tomto rámci nebyly vytvořeny žádné kompetence.", + "nocompetencies": "Žádné kompetence", "nocrossreferencedcompetencies": "K této kompetenci nebyly spojeny další průřezové kompetence.", "noevidence": "Bez záznamu", "noplanswerecreated": "Nebyly vytvořeny žádné studijní plány.", diff --git a/www/addons/competency/lang/da.json b/www/addons/competency/lang/da.json index 9ca24a2a90b..73023c9df8c 100644 --- a/www/addons/competency/lang/da.json +++ b/www/addons/competency/lang/da.json @@ -22,7 +22,7 @@ "learningplans": "Læringsplaner", "myplans": "Mine læringsplaner", "noactivities": "Ingen aktiviteter", - "nocompetencies": "Ingen kompetencer er oprettet i denne ramme.", + "nocompetencies": "Ingen kompetencer", "nocrossreferencedcompetencies": "Ingen andre kompetencer er krydsrefereret til denne kompetence.", "noevidence": "Ingen vidnesbyrd", "noplanswerecreated": "Der blev ikke oprettet nogen læringsplaner.", @@ -32,7 +32,7 @@ "planstatusdraft": "Kladde", "planstatusinreview": "I gennemsyn", "planstatuswaitingforreview": "Venter på gennemsyn", - "proficient": "Dygtig", + "proficient": "Færdighedsniveau", "progress": "Progression", "rating": "Bedømmelse", "reviewstatus": "Status på gennemsyn", @@ -42,6 +42,6 @@ "usercompetencystatus_inreview": "I gennemsyn", "usercompetencystatus_waitingforreview": "Afventer gennemsyn", "userplans": "Læringsplaner", - "xcompetenciesproficientoutofy": "{{$a.x}} ud af {{$a.y}} kompetencer er dygtige", - "xcompetenciesproficientoutofyincourse": "Du er dygtig i {{$a.x}} ud af {{$a.y}} kompetencer på dette kursus." + "xcompetenciesproficientoutofy": "{{$a.x}} ud af {{$a.y}} kompetencer er på færdighedsniveau", + "xcompetenciesproficientoutofyincourse": "Du har opnået færdighedsniveau {{$a.x}} ud af {{$a.y}} kompetencer på dette kursus." } \ No newline at end of file diff --git a/www/addons/competency/lang/de-du.json b/www/addons/competency/lang/de-du.json index eeb5102e8ee..2fbe029fedb 100644 --- a/www/addons/competency/lang/de-du.json +++ b/www/addons/competency/lang/de-du.json @@ -22,7 +22,7 @@ "learningplans": "Lernpläne", "myplans": "Meine Lernpläne", "noactivities": "Keine Aktivitäten", - "nocompetencies": "Für diesen Kompetenzrahmen wurden keine Kompetenzen angelegt.", + "nocompetencies": "Keine Kompetenzen", "nocrossreferencedcompetencies": "Keine anderen Kompetenzen wurden zu dieser Kompetenz referiert.", "noevidence": "Keine Belege", "noplanswerecreated": "Bisher sind keine Lernpläne angelegt.", diff --git a/www/addons/competency/lang/de.json b/www/addons/competency/lang/de.json index eeb5102e8ee..2fbe029fedb 100644 --- a/www/addons/competency/lang/de.json +++ b/www/addons/competency/lang/de.json @@ -22,7 +22,7 @@ "learningplans": "Lernpläne", "myplans": "Meine Lernpläne", "noactivities": "Keine Aktivitäten", - "nocompetencies": "Für diesen Kompetenzrahmen wurden keine Kompetenzen angelegt.", + "nocompetencies": "Keine Kompetenzen", "nocrossreferencedcompetencies": "Keine anderen Kompetenzen wurden zu dieser Kompetenz referiert.", "noevidence": "Keine Belege", "noplanswerecreated": "Bisher sind keine Lernpläne angelegt.", diff --git a/www/addons/competency/lang/es-mx.json b/www/addons/competency/lang/es-mx.json index e3cf26a9682..1d5a8cbead5 100644 --- a/www/addons/competency/lang/es-mx.json +++ b/www/addons/competency/lang/es-mx.json @@ -22,7 +22,7 @@ "learningplans": "Planes de aprendizaje", "myplans": "Mis planes de aprendizaje", "noactivities": "Sin actividades", - "nocompetencies": "No se han creado competencias en esta estructura.", + "nocompetencies": "Sin competencias", "nocrossreferencedcompetencies": "No se han referenciado cruzadamente otras competencias con esta competencia.", "noevidence": "Sin evidencia", "noplanswerecreated": "No se crearon planes de aprendizaje.", diff --git a/www/addons/competency/lang/es.json b/www/addons/competency/lang/es.json index 53b3162fac7..0a6d6d5ae3c 100644 --- a/www/addons/competency/lang/es.json +++ b/www/addons/competency/lang/es.json @@ -15,7 +15,7 @@ "learningplans": "Planes de aprendizaje", "myplans": "Mis planes de aprendizaje", "noactivities": "Sin actividades", - "nocompetencies": "No se han creado competencias para este marco.", + "nocompetencies": "Sin competencias", "nocrossreferencedcompetencies": "No se han referenciado otras competencias a esta competencia.", "noevidence": "Sin evidencias", "path": "Ruta", diff --git a/www/addons/competency/lang/eu.json b/www/addons/competency/lang/eu.json index e233197d3dc..b17c66ef8d3 100644 --- a/www/addons/competency/lang/eu.json +++ b/www/addons/competency/lang/eu.json @@ -1,8 +1,11 @@ { "activities": "Jarduerak", "competencies": "Gaitasunak", + "competenciesmostoftennotproficientincourse": "Ikastaro honetan sarriago ez-gai diren gaitasunak", "coursecompetencies": "Ikastaroko gaitasunak", + "coursecompetencyratingsarenotpushedtouserplans": "Ikastaro honetako gaitasunen kalifikazioek ez dute ikasketa-planean eragiten.", "coursecompetencyratingsarepushedtouserplans": "Ikastaro honetan gaitasunen kalifikazioek ikasketa-planak berehala eguneratzen dituzte.", + "crossreferencedcompetencies": "Erreferentzia gurutzatuko gaitasunak", "duedate": "Entregatze-data", "errornocompetenciesfound": "Ez da gaitasunik aurkitu", "evidence": "Ebidentzia", @@ -19,7 +22,8 @@ "learningplans": "Ikasketa-planak", "myplans": "Nire ikasketa-planak", "noactivities": "Ez dago jarduerarik", - "nocompetencies": "Ezin izan gaitasunik sortu marko honetan.", + "nocompetencies": "Gaitasunik ez", + "nocrossreferencedcompetencies": "Ez dago gaitasun honekiko erreferentzia gurutzatua duen beste gaitasunik.", "noevidence": "Ez dago ebidentziarik", "noplanswerecreated": "Ez da ikasketa-planik sortu.", "path": "Bidea:", @@ -37,5 +41,7 @@ "usercompetencystatus_idle": "Ez dago aktiboa", "usercompetencystatus_inreview": "Berrikusten", "usercompetencystatus_waitingforreview": "Berrikusketaren zain", - "userplans": "Ikasketa-planak" + "userplans": "Ikasketa-planak", + "xcompetenciesproficientoutofy": "{{$a.y}} gaitasunetik {{$a.x}} gai dira", + "xcompetenciesproficientoutofyincourse": "Ikastaro honetako {{$a.y}} gaitasunetik {{$a.x}}-tan zara gai." } \ No newline at end of file diff --git a/www/addons/competency/lang/fi.json b/www/addons/competency/lang/fi.json index f581a143647..c98434dbbf8 100644 --- a/www/addons/competency/lang/fi.json +++ b/www/addons/competency/lang/fi.json @@ -9,11 +9,15 @@ "duedate": "Määräpäivä", "errornocompetenciesfound": "Pätevyyksiä ei löytynyt", "evidence": "Todiste", + "evidence_competencyrule": "Osaamissääntökriteerit täytetty.", "evidence_coursecompleted": "Kurssi '{{$a}}' suoritettiin", "evidence_coursemodulecompleted": "Aktiviteetti '{{$a}}' suoritettiin", + "evidence_courserestored": "Osaamisenarviointi palautettiin kurssin '{{$a}}' palautuksen mukana.", "evidence_evidenceofpriorlearninglinked": "Todiste aiemmasta osaamisesta '{{$a}}' on nyt linkitetty", "evidence_evidenceofpriorlearningunlinked": "Aiemman osaamisen '{{$a}} linkitys on nyt purettu", "evidence_manualoverride": "Pätevyys arvioitiin manuaalisesti", + "evidence_manualoverrideincourse": "Osaamisen arviointi asetettiin manuaalisesti kurssille '{{$a}}'.", + "evidence_manualoverrideinplan": "Osaamisen arviointi asetettiin manuaalisesti opintosuunnitelmassa '{{$a}}'.", "learningplancompetencies": "Opintosuunnitelman pätevyydet", "learningplans": "Opintosuunnitelmat", "myplans": "Omat opintosuunnitelmani", @@ -33,6 +37,7 @@ "rating": "Arviointi", "status": "Osaamismerkin status", "template": "Opintosuunnitelman viitekehys", + "usercompetencystatus_idle": "Turha", "usercompetencystatus_inreview": "Arvioitavana", "usercompetencystatus_waitingforreview": "Odottaa arviointia", "userplans": "Opintosuunnitelmat", diff --git a/www/addons/competency/lang/fr.json b/www/addons/competency/lang/fr.json index 7e23c4763ea..c6827638b90 100644 --- a/www/addons/competency/lang/fr.json +++ b/www/addons/competency/lang/fr.json @@ -22,7 +22,7 @@ "learningplans": "Plans de formation", "myplans": "Mes plans de formation", "noactivities": "Aucune activité", - "nocompetencies": "Aucune compétence n'a été créée dans ce référentiel.", + "nocompetencies": "Aucune compétence", "nocrossreferencedcompetencies": "Aucune autre compétence n'est transversale pour cette compétence.", "noevidence": "Aucune preuve d'acquis", "noplanswerecreated": "Aucun plan de formation n'a été créé.", diff --git a/www/addons/competency/lang/he.json b/www/addons/competency/lang/he.json index 28515e411cc..355d32bf05d 100644 --- a/www/addons/competency/lang/he.json +++ b/www/addons/competency/lang/he.json @@ -25,7 +25,7 @@ "nocrossreferencedcompetencies": "אף מיומנות לא מקושרת למיומנות זו.", "noevidence": "טרם צורפה ראיה לבקיאות", "noplanswerecreated": "טרם נוצרו תוכניות־לימוד.", - "path": "נתיב:", + "path": "נתיב", "planstatusactive": "פעיל", "planstatuscomplete": "הושלם", "planstatusdraft": "טיוטה", diff --git a/www/addons/competency/lang/it.json b/www/addons/competency/lang/it.json index b48ee9ec14d..655363c15e8 100644 --- a/www/addons/competency/lang/it.json +++ b/www/addons/competency/lang/it.json @@ -22,7 +22,7 @@ "learningplans": "Piani di formazione", "myplans": "I miei piani di formazione", "noactivities": "Nessuna attività.", - "nocompetencies": "Questo quadro non ha competenze", + "nocompetencies": "Non sono presenti competenze", "nocrossreferencedcompetencies": "Non ci sono competenze con riferimenti incrociati a questa competenza", "noevidence": "Non sono presenti attestazioni.", "noplanswerecreated": "Non sono stati creati piani di formazione", diff --git a/www/addons/competency/lang/ja.json b/www/addons/competency/lang/ja.json index d4109719e36..63ffc8f2572 100644 --- a/www/addons/competency/lang/ja.json +++ b/www/addons/competency/lang/ja.json @@ -22,7 +22,7 @@ "learningplans": "学習プラン", "myplans": "マイ学習プラン", "noactivities": "活動なし", - "nocompetencies": "このフレームワークにコンピテンシーは作成されていません。", + "nocompetencies": "コンピテンシーなし", "nocrossreferencedcompetencies": "このコンピテンシーに相互参照されている他のコンピテンシーはありません。", "noevidence": "エビデンスなし", "noplanswerecreated": "学習プランは作成されませんでした。", diff --git a/www/addons/competency/lang/ko.json b/www/addons/competency/lang/ko.json new file mode 100644 index 00000000000..a8c01eef788 --- /dev/null +++ b/www/addons/competency/lang/ko.json @@ -0,0 +1,10 @@ +{ + "activities": "학습활동", + "duedate": "마감 일시", + "evidence": "증거", + "path": "경로", + "progress": "학생의 진도", + "rating": "등급", + "status": "상태", + "template": "질문지" +} \ No newline at end of file diff --git a/www/addons/competency/lang/lt.json b/www/addons/competency/lang/lt.json index 2fac9c0ec8e..68db76ab2c9 100644 --- a/www/addons/competency/lang/lt.json +++ b/www/addons/competency/lang/lt.json @@ -15,7 +15,7 @@ "learningplans": "Mokymosi planai", "myplans": "Mano mokymosi planai", "noactivities": "Nėra veiklų", - "nocompetencies": "Šioje sistemoje nebuvo sukurta kompetencijų.", + "nocompetencies": "Nėra kompetencijų", "nocrossreferencedcompetencies": "Jokios kitos kompetencijos nebuvo susietos kryžmine nuoroda su šia kompetencija.", "noevidence": "Nėra įrodymų", "noplanswerecreated": "Nebuvo sukurta mokymosi planų.", diff --git a/www/addons/competency/lang/nl.json b/www/addons/competency/lang/nl.json index 755c1596562..d7112fdd6f3 100644 --- a/www/addons/competency/lang/nl.json +++ b/www/addons/competency/lang/nl.json @@ -22,7 +22,7 @@ "learningplans": "Studieplannen", "myplans": "Mijn studieplannen", "noactivities": "Geen activiteiten", - "nocompetencies": "Er zijn nog geen competenties gemaakt in dit framework", + "nocompetencies": "Geen competenties", "nocrossreferencedcompetencies": "Er zijn geen andere competenties met een kruisverwijzing naar deze competentie.", "noevidence": "Geen bewijs", "noplanswerecreated": "Er zijn nog geen studieplannen gemaakt", diff --git a/www/addons/competency/lang/pt-br.json b/www/addons/competency/lang/pt-br.json index 232ddc151ec..5871a44d53e 100644 --- a/www/addons/competency/lang/pt-br.json +++ b/www/addons/competency/lang/pt-br.json @@ -22,7 +22,7 @@ "learningplans": "Planos de aprendizagem", "myplans": "Meus planos de aprendizagem", "noactivities": "Sem atividades", - "nocompetencies": "Nenhuma competência foi criada para esta estrutura.", + "nocompetencies": "Nenhuma competência", "nocrossreferencedcompetencies": "Nenhuma outra competência foi referenciada a esta competência.", "noevidence": "Nenhuma evidência", "noplanswerecreated": "Nenhum plano de aprendizagem foi criado.", diff --git a/www/addons/competency/lang/pt.json b/www/addons/competency/lang/pt.json index ef18f29e3fe..208fac40243 100644 --- a/www/addons/competency/lang/pt.json +++ b/www/addons/competency/lang/pt.json @@ -22,7 +22,7 @@ "learningplans": "Planos de aprendizagem", "myplans": "Os meus planos de aprendizagem", "noactivities": "Nenhuma atividade associada", - "nocompetencies": "Ainda não foram criadas competências neste quadro.", + "nocompetencies": "Sem competências", "nocrossreferencedcompetencies": "Nenhuma competência foi referenciada a esta competência.", "noevidence": "Não foi adicionado nenhum comprovativo", "noplanswerecreated": "Nenhum plano de aprendizagem foi criado.", diff --git a/www/addons/competency/lang/ro.json b/www/addons/competency/lang/ro.json index d41e0906fff..1c1c3bc4a24 100644 --- a/www/addons/competency/lang/ro.json +++ b/www/addons/competency/lang/ro.json @@ -3,6 +3,7 @@ "competencies": "Competențe", "duedate": "Termen de predare", "evidence": "Evidență", + "evidence_competencyrule": "Nu a fost îndeplinită regula competenței.", "evidence_coursecompleted": "Cursul '{{$a}}' a fost completat", "evidence_coursemodulecompleted": "Activitatea '{{$a}}' a fost completată", "learningplans": "Planuri de învățare", diff --git a/www/addons/competency/lang/ru.json b/www/addons/competency/lang/ru.json index 0764f8416b1..48be0eb6ba0 100644 --- a/www/addons/competency/lang/ru.json +++ b/www/addons/competency/lang/ru.json @@ -7,6 +7,7 @@ "coursecompetencyratingsarepushedtouserplans": "Рейтинги компетенций из этого курса сразу же обновляются в учебных планах.", "crossreferencedcompetencies": "Перекрестные компетенции", "duedate": "Последний срок сдачи", + "errornocompetenciesfound": "Компетенций не найдено", "evidence": "Доказательство", "evidence_competencyrule": "Выполнены требования правила компетенции.", "evidence_coursecompleted": "Курс «{{$a}}» завершен.", @@ -21,7 +22,7 @@ "learningplans": "Учебные планы", "myplans": "Мои учебные планы", "noactivities": "Нет элементов", - "nocompetencies": "Нет компетенций, созданных в этом фреймворке.", + "nocompetencies": "Нет компетенций", "nocrossreferencedcompetencies": "Нет других компетенций, перекрестно ссылающихся на эту компетенцию.", "noevidence": "Нет доказательств", "noplanswerecreated": "Учебные планы не были созданы.", diff --git a/www/addons/competency/lang/uk.json b/www/addons/competency/lang/uk.json index 8ba19bd44c3..2738f45a7d8 100644 --- a/www/addons/competency/lang/uk.json +++ b/www/addons/competency/lang/uk.json @@ -22,7 +22,7 @@ "learningplans": "Навчальний план", "myplans": "Мої навчальні плани", "noactivities": "Жодної діяльності", - "nocompetencies": "Жодної компетентності не створено у цьому репозиторії", + "nocompetencies": "Немає компетенції", "nocrossreferencedcompetencies": "Жодна інша компетентність не пов'язана з даною", "noevidence": "Жодного підтвердження", "noplanswerecreated": "Жодного навчального плану не було створено", diff --git a/www/addons/competency/services/handlers.js b/www/addons/competency/services/handlers.js index c1b971d6afb..f587fc46f30 100644 --- a/www/addons/competency/services/handlers.js +++ b/www/addons/competency/services/handlers.js @@ -228,6 +228,21 @@ angular.module('mm.addons.competency') }); }; + /** + * Prefetch the addon for a certain course. + * + * @param {Object} course Course to prefetch. + * @return {Promise} Promise resolved when the prefetch is finished. + */ + self.prefetch = function(course) { + // Invalidate data to be sure to get the latest info. + return $mmaCompetency.invalidateCourseCompetencies(course.id).catch(function() { + // Ignore errors. + }).then(function() { + return $mmaCompetency.getCourseCompetencies(course.id); + }); + }; + return self; }; diff --git a/www/addons/coursecompletion/lang/ca.json b/www/addons/coursecompletion/lang/ca.json index 4f799f25c95..c8c2a11d5e0 100644 --- a/www/addons/coursecompletion/lang/ca.json +++ b/www/addons/coursecompletion/lang/ca.json @@ -4,18 +4,18 @@ "completed": "Completat", "completiondate": "Data de compleció", "couldnotloadreport": "No es pot carregar l'informe de compleció del curs, torneu a intentar-ho més tard.", - "coursecompletion": "Compleció de curs", + "coursecompletion": "Compleció del curs", "criteria": "Criteris", "criteriagroup": "Grup de criteris", - "criteriarequiredall": "Cal que es compleixin tots els criteris que es mostren a continuació", - "criteriarequiredany": "Cal que es compleixi algun dels criteris que es mostren a continuació", - "inprogress": "En progrés", + "criteriarequiredall": "Calen tots els criteris del dessota", + "criteriarequiredany": "Cal qualsevol dels criteris del dessota", + "inprogress": "En curs", "manualselfcompletion": "Auto-compleció manual", "notyetstarted": "No s'ha començat encara", - "pending": "Pendent", - "required": "Requerit", + "pending": "Pendents", + "required": "Necessari", "requiredcriteria": "Criteri requerit", "requirement": "Requisit", - "status": "Estat de la insígnia", + "status": "Estat", "viewcoursereport": "Visualitza l'informe del curs" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/cs.json b/www/addons/coursecompletion/lang/cs.json index 19d9e13e8d3..d4c27830900 100644 --- a/www/addons/coursecompletion/lang/cs.json +++ b/www/addons/coursecompletion/lang/cs.json @@ -1,21 +1,21 @@ { - "complete": "Splněno", + "complete": "Absolvováno", "completecourse": "Absolvovaný kurz", - "completed": "Hotovo", + "completed": "Splněno", "completiondate": "Datum ukončení", - "couldnotloadreport": "Nelze načíst zprávu o absolvování kurzu, zkuste to prosím později.", - "coursecompletion": "Studenti musí absolvovat tento kurz", - "criteria": "Podmínky", + "couldnotloadreport": "Nelze načíst zprávu o absolvování kurzu. Zkuste to prosím později.", + "coursecompletion": "Absolvování kurzu", + "criteria": "Kritéria", "criteriagroup": "Skupina podmínek", - "criteriarequiredall": "Všechny podmínky musí být splněny", - "criteriarequiredany": "Jakákoli z podmínek musí být splněna", - "inprogress": "Probíhající", - "manualselfcompletion": "Označení absolvování kurzu samotným studentem", + "criteriarequiredall": "Jsou požadovány všechny podmínky", + "criteriarequiredany": "Je požadována libovolná podmínka", + "inprogress": "Probíhá", + "manualselfcompletion": "Ručně nastavené absolvování kurzu samotným studentem", "notyetstarted": "Zatím nezačalo", - "pending": "Probíhající", - "required": "Vyžadováno", - "requiredcriteria": "Vyžadované podmínky", + "pending": "Čeká", + "required": "Požadováno", + "requiredcriteria": "Požadovaná kriteria", "requirement": "Požadavek", - "status": "Stav", - "viewcoursereport": "Zobrazit přehled kurzu" + "status": "Status", + "viewcoursereport": "Zobrazit sestavu kurzu" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/da.json b/www/addons/coursecompletion/lang/da.json index 9f617cc8b75..9d2cdeb93a0 100644 --- a/www/addons/coursecompletion/lang/da.json +++ b/www/addons/coursecompletion/lang/da.json @@ -1,21 +1,21 @@ { - "complete": "Færdiggør", + "complete": "Fuldfør", "completecourse": "Fuldfør kursus", - "completed": "Gennemført", + "completed": "Fuldført", "completiondate": "Afslutningsdato", "couldnotloadreport": "Kunne ikke indlæse rapporten vedrørende kursusfuldførelse, prøv igen senere.", - "coursecompletion": "Kursusgennemførelse", - "criteria": "Kriterie", - "criteriagroup": "Kriteriegruppe", - "criteriarequiredall": "Alle kriterier herunder er påkrævet", - "criteriarequiredany": "Et af kriterierne herunder er påkrævet", - "inprogress": "Igangværende", - "manualselfcompletion": "Manuel selvregistrering af gennemførelse", - "notyetstarted": "Ikke begyndt endnu", - "pending": "Behandles", - "required": "Påkrævet", - "requiredcriteria": "Påkrævede kriterier", + "coursecompletion": "Kursusfuldførelse", + "criteria": "Kriterier", + "criteriagroup": "Gruppe af kriterier", + "criteriarequiredall": "Alle nedenstående kriterier er påkrævet", + "criteriarequiredany": "Hvilken som helst af nedenstående kriterier er påkrævet", + "inprogress": "I gang", + "manualselfcompletion": "Manuel markering af færdiggørelse", + "notyetstarted": "Endnu ikke startet", + "pending": "Afventer", + "required": "Krævet", + "requiredcriteria": "Krævet kriterie", "requirement": "Krav", - "status": "Badgestatus", - "viewcoursereport": "Vis kursusrapport" + "status": "Status", + "viewcoursereport": "Se kursusrapport" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/de-du.json b/www/addons/coursecompletion/lang/de-du.json index 13185935141..7b599a12882 100644 --- a/www/addons/coursecompletion/lang/de-du.json +++ b/www/addons/coursecompletion/lang/de-du.json @@ -1,5 +1,5 @@ { - "complete": "Vollständig", + "complete": "Abschließen", "completecourse": "Kurs abschließen", "completed": "Abgeschlossen", "completiondate": "Abschlussdatum", @@ -7,15 +7,15 @@ "coursecompletion": "Kursabschluss", "criteria": "Kriterien", "criteriagroup": "Kriteriengruppe", - "criteriarequiredall": "Alle nachfolgenden Kriterien sind notwendig", - "criteriarequiredany": "Eine der nachfolgenden Kriterien ist notwendig", - "inprogress": "Laufend", - "manualselfcompletion": "Manueller eigener Abschluss", - "notyetstarted": "Noch nicht begonnen", - "pending": "Wartend", + "criteriarequiredall": "Alle nachfolgenden Kriterien sind notwendig.", + "criteriarequiredany": "Ein nachfolgendes Kriterium ist notwendig.", + "inprogress": "In Arbeit", + "manualselfcompletion": "Manueller Selbstabschluss", + "notyetstarted": "Nicht begonnen", + "pending": "Nicht erledigt", "required": "Notwendig", - "requiredcriteria": "Notwendiges Kriterium", + "requiredcriteria": "Notwendige Kriterien", "requirement": "Anforderung", "status": "Status", - "viewcoursereport": "Kursbericht ansehen" + "viewcoursereport": "Kursbericht anzeigen" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/de.json b/www/addons/coursecompletion/lang/de.json index 3c855911d74..5634fde0958 100644 --- a/www/addons/coursecompletion/lang/de.json +++ b/www/addons/coursecompletion/lang/de.json @@ -1,5 +1,5 @@ { - "complete": "Vollständig", + "complete": "Abschließen", "completecourse": "Kurs abschließen", "completed": "Abgeschlossen", "completiondate": "Abschlussdatum", @@ -7,15 +7,15 @@ "coursecompletion": "Kursabschluss", "criteria": "Kriterien", "criteriagroup": "Kriteriengruppe", - "criteriarequiredall": "Alle nachfolgenden Kriterien sind notwendig", - "criteriarequiredany": "Eine der nachfolgenden Kriterien ist notwendig", - "inprogress": "Laufend", - "manualselfcompletion": "Manueller eigener Abschluss", - "notyetstarted": "Noch nicht begonnen", - "pending": "Wartend", + "criteriarequiredall": "Alle nachfolgenden Kriterien sind notwendig.", + "criteriarequiredany": "Ein nachfolgendes Kriterium ist notwendig.", + "inprogress": "In Arbeit", + "manualselfcompletion": "Manueller Selbstabschluss", + "notyetstarted": "Nicht begonnen", + "pending": "Nicht erledigt", "required": "Notwendig", - "requiredcriteria": "Notwendiges Kriterium", + "requiredcriteria": "Notwendige Kriterien", "requirement": "Anforderung", "status": "Status", - "viewcoursereport": "Kursbericht ansehen" + "viewcoursereport": "Kursbericht anzeigen" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/el.json b/www/addons/coursecompletion/lang/el.json index 6c49a5c34c7..a6fb10fd47b 100644 --- a/www/addons/coursecompletion/lang/el.json +++ b/www/addons/coursecompletion/lang/el.json @@ -1,21 +1,21 @@ { "complete": "Ολοκλήρωση", "completecourse": "Ολοκλήρωση μαθήματος", - "completed": "ολοκληρώθηκε", + "completed": "Ολοκληρωμένο", "completiondate": "Ημερομηνία ολοκλήρωσης", "couldnotloadreport": "Δεν ήταν δυνατή η φόρτωση της αναφοράς ολοκλήρωσης του μαθήματος, δοκιμάστε ξανά αργότερα.", "coursecompletion": "Ολοκλήρωση μαθήματος", - "criteria": "Kριτήρια", + "criteria": "Κριτήρια", "criteriagroup": "Ομάδα κριτηρίων", - "criteriarequiredall": "Όλα τα παρακάτω κριτήρια είναι απαραίτητα", - "criteriarequiredany": "Τα παρακάτω κριτήρια είναι απαραίτητα", + "criteriarequiredall": "Όλα τα παρακάτω κριτήρια είναι υποχρεωτικά", + "criteriarequiredany": "Οποιοδήποτε από τα παρακάτω κριτήρια είναι υποχρεωτικά", "inprogress": "Σε εξέλιξη", - "manualselfcompletion": "Χειροκίνητη αυτό-ολοκλήρωση", + "manualselfcompletion": "Μη αυτόματη ολοκλήρωση", "notyetstarted": "Δεν έχει ξεκινήσει ακόμα", - "pending": "Σε εκκρεμότητα", + "pending": "Εκκρεμής", "required": "Απαιτείται", "requiredcriteria": "Απαιτούμενα κριτήρια", "requirement": "Απαίτηση", - "status": "Επιτρέπεται η πρόσβαση στους επισκέπτες", - "viewcoursereport": "Προβολή αναφορά μαθήματος" + "status": "Κατάσταση", + "viewcoursereport": "Δείτε την αναφορά μαθήματος" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/es-mx.json b/www/addons/coursecompletion/lang/es-mx.json index 0fc4dccaf08..54e6ab3bf8f 100644 --- a/www/addons/coursecompletion/lang/es-mx.json +++ b/www/addons/coursecompletion/lang/es-mx.json @@ -1,20 +1,20 @@ { - "complete": "Completada", + "complete": "Completo", "completecourse": "Curso completo", "completed": "Completado", "completiondate": "Fecha de terminación", "couldnotloadreport": "No pudo cargarse el reporte de finalización del curso. Por favor inténtelo más tarde.", "coursecompletion": "Finalización del curso", - "criteria": "Criterios", - "criteriagroup": "Grupo de criterios", - "criteriarequiredall": "Son necesarios todos los criterios que aparecen más abajo", - "criteriarequiredany": "Es necesario cualquiera de los criterios que aparecen más abajo", - "inprogress": "En progreso", - "manualselfcompletion": "Auto-finalizar manualmente", - "notyetstarted": "Aún no ha comenzado", + "criteria": "Criterio", + "criteriagroup": "Grupo de criterio", + "criteriarequiredall": "Todos los criterios debajo son necesarios.", + "criteriarequiredany": "Cualquiera de los criterios debajo es necesario.", + "inprogress": "en progreso", + "manualselfcompletion": "Auto finalización manual", + "notyetstarted": "Todavía no iniciado", "pending": "Pendiente", "required": "Requerido", - "requiredcriteria": "Criterios necesarios", + "requiredcriteria": "Criterio requerido", "requirement": "Requisito", "status": "Estatus", "viewcoursereport": "Ver reporte del curso" diff --git a/www/addons/coursecompletion/lang/es.json b/www/addons/coursecompletion/lang/es.json index 13e3e9bba2c..89ef5e6ecd0 100644 --- a/www/addons/coursecompletion/lang/es.json +++ b/www/addons/coursecompletion/lang/es.json @@ -1,21 +1,21 @@ { "complete": "Completado", "completecourse": "Curso completado", - "completed": "completada", + "completed": "Finalizado", "completiondate": "Fecha de finalización", "couldnotloadreport": "No se puede cargar el informe de finalización del curso, por favor inténtalo de nuevo más tarde.", - "coursecompletion": "Los usuarios deben finalizar este curso.", + "coursecompletion": "Finalización del curso", "criteria": "Criterios", "criteriagroup": "Grupo de criterios", "criteriarequiredall": "Son necesarios todos los criterios que aparecen más abajo", "criteriarequiredany": "Es necesario cualquiera de los criterios que aparecen más abajo", - "inprogress": "En progreso", + "inprogress": "En curso", "manualselfcompletion": "Autocompletar manualmente", "notyetstarted": "Aún no comenzado", "pending": "Pendiente", "required": "Obligatorio", "requiredcriteria": "Criterios necesarios", "requirement": "Requisito", - "status": "Estado de la insignia", + "status": "Estado", "viewcoursereport": "Ver informe del curso" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/eu.json b/www/addons/coursecompletion/lang/eu.json index 295f4ed6d7c..95215742424 100644 --- a/www/addons/coursecompletion/lang/eu.json +++ b/www/addons/coursecompletion/lang/eu.json @@ -1,21 +1,21 @@ { - "complete": "Osatu", + "complete": "Osoa", "completecourse": "Ikastaroa osatu", - "completed": "Osatua", + "completed": "Osatuta", "completiondate": "Osaketa-data", - "couldnotloadreport": "Ezin izan da ikastaro-osaketaren txostena kargatu, mesedez saiatu beranduago.", - "coursecompletion": "Erabiltzaileek ikastaro hau osatu behar dute", + "couldnotloadreport": "Ezin izan da ikastaro-osaketaren txostena kargatu. Mesedez saiatu beranduago.", + "coursecompletion": "Ikastaro-osaketa", "criteria": "Irizpidea", "criteriagroup": "Irizpide-multzoa", - "criteriarequiredall": "Beheko irizpide guztiak dira beharrezko", - "criteriarequiredany": "Beheko hainbat irizpide dira beharrezko", - "inprogress": "Martxan", + "criteriarequiredall": "Beheko irizpide guztiak dira beharrezko.", + "criteriarequiredany": "Beheko hainbat irizpide dira beharrezko.", + "inprogress": "Ari da", "manualselfcompletion": "Norberak eskuz osatu", "notyetstarted": "Ez da hasi", - "pending": "Zain", - "required": "Ezinbestekoa", + "pending": "Egin gabe", + "required": "Beharrezkoa", "requiredcriteria": "Irizpidea behar da", "requirement": "Eskakizuna", - "status": "Dominen egoera", + "status": "Egoera", "viewcoursereport": "Ikastaroaren txostena ikusi" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/fa.json b/www/addons/coursecompletion/lang/fa.json index 451cd0c4224..a6d1853689b 100644 --- a/www/addons/coursecompletion/lang/fa.json +++ b/www/addons/coursecompletion/lang/fa.json @@ -12,6 +12,6 @@ "pending": "در حال بررسی", "required": "لازم است", "requiredcriteria": "ضوابط مورد نیاز", - "status": "وضعیت مدال", - "viewcoursereport": "مشاهده گزارش درس" + "status": "وضعیت", + "viewcoursereport": "مشاهدهٔ گزارش درس" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/fi.json b/www/addons/coursecompletion/lang/fi.json index 275ef6b304b..c435f6988ce 100644 --- a/www/addons/coursecompletion/lang/fi.json +++ b/www/addons/coursecompletion/lang/fi.json @@ -4,17 +4,17 @@ "completiondate": "Suorituspäivämäärä", "couldnotloadreport": "Kurssin suoritusraporttia ei pystytty lataamaan. Ole hyvä ja yritä myöhemmin uudelleen.", "coursecompletion": "Kurssin suoritus", - "criteria": "Kriteeri", + "criteria": "Kriteerit", "criteriagroup": "Kriteeriryhmä", - "criteriarequiredall": "Kaikki alla olevat kriteerit vaaditaan", + "criteriarequiredall": "Kaikki alla mainitut kriteerit vaaditaan.", "criteriarequiredany": "Jokin alla olevista kriteereistä vaaditaan", - "inprogress": "Käynnissä", + "inprogress": "Meneillään", "manualselfcompletion": "Opiskelijan itse hyväksymät suoritukset", - "notyetstarted": "Ei vielä aloitettu", + "notyetstarted": "Ei vielä alkanut", "pending": "Odottaa", "required": "Vaadittu", "requiredcriteria": "Vaaditut kriteerit", "requirement": "Vaatimus", - "status": "Osaamismerkin status", - "viewcoursereport": "Näytä kurssin raportti" + "status": "Status", + "viewcoursereport": "Näytä kurssiraportti" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/fr.json b/www/addons/coursecompletion/lang/fr.json index b42e74505a3..b8dc9bc84e4 100644 --- a/www/addons/coursecompletion/lang/fr.json +++ b/www/addons/coursecompletion/lang/fr.json @@ -4,11 +4,11 @@ "completed": "Terminé", "completiondate": "Date d'achèvement", "couldnotloadreport": "Impossible de charger le rapport d'achèvement de cours. Veuillez essayer plus tard.", - "coursecompletion": "Les participants doivent achever ce cours.", + "coursecompletion": "Achèvement du cours", "criteria": "Critères", "criteriagroup": "Groupe de critères", - "criteriarequiredall": "Tous les critères ci-dessous sont requis", - "criteriarequiredany": "Un des critères ci-dessous est requis", + "criteriarequiredall": "Tous les critères ci-dessous sont requis.", + "criteriarequiredany": "Un des critères ci-dessous est requis.", "inprogress": "En cours", "manualselfcompletion": "Auto-achèvement manuel", "notyetstarted": "Pas encore commencé", @@ -17,5 +17,5 @@ "requiredcriteria": "Critères requis", "requirement": "Condition", "status": "Statut", - "viewcoursereport": "Consulter le rapport du cours" + "viewcoursereport": "Afficher le rapport du cours" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/he.json b/www/addons/coursecompletion/lang/he.json index 021aaa2b398..dca12273f76 100644 --- a/www/addons/coursecompletion/lang/he.json +++ b/www/addons/coursecompletion/lang/he.json @@ -1,20 +1,20 @@ { - "complete": "הושלם", + "complete": "השלמה", "completecourse": "השלמת קורס", "completed": "הושלם", "completiondate": "תאריך השלמה", - "coursecompletion": "השלמת הקורס", - "criteria": "תנאי", - "criteriagroup": "קבוצת תנאים", - "criteriarequiredall": "כל התנאים המצויינים מטה נדרשים", - "criteriarequiredany": "לפחות אחד מהתנאים המצויינים מטה נדרשים", - "inprogress": "בלמידה", - "manualselfcompletion": "השלמה עצמאית ידנית", - "notyetstarted": "עדיין לא התחיל", - "pending": "בתהליך למידה", - "required": "דרוש", - "requiredcriteria": "תנאי נדרש", + "coursecompletion": "השלמת קורס", + "criteria": "מדד־הערכה", + "criteriagroup": "קבוצת מדדיי־הערכה", + "criteriarequiredall": "כל מדדיי־הערכה להלן נדרשים", + "criteriarequiredany": "אחד ממדדיי־הערכה להלן נדרש", + "inprogress": "בתהליך", + "manualselfcompletion": "הזנת השלמה עצמית", + "notyetstarted": "עדיין לא החל", + "pending": "בהמתנה", + "required": "נדרש", + "requiredcriteria": "מדד־הערכה נדרש", "requirement": "דרישה", - "status": "סטטוס ההישג", + "status": "מצב", "viewcoursereport": "צפיה בדוח הקורס" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/hr.json b/www/addons/coursecompletion/lang/hr.json index 18d1070125f..16b46751591 100644 --- a/www/addons/coursecompletion/lang/hr.json +++ b/www/addons/coursecompletion/lang/hr.json @@ -1,5 +1,5 @@ { - "complete": "Potpuno", + "complete": "Dovršeno", "completed": "Završeno", "completiondate": "Datum dovršetka", "coursecompletion": "Dovršenost e-kolegija", @@ -11,9 +11,9 @@ "manualselfcompletion": "Ručni dovršetak", "notyetstarted": "Nije još započelo", "pending": "Na čekanju", - "required": "Obvezatno", - "requiredcriteria": "Obvezatni kriterij", + "required": "Obvezno", + "requiredcriteria": "Obvezni kriterij", "requirement": "Uvjet", - "status": "Status", + "status": "Stanje", "viewcoursereport": "Prikaz izvješća e-kolegija" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/it.json b/www/addons/coursecompletion/lang/it.json index 85d2a1d7320..14720639bc3 100644 --- a/www/addons/coursecompletion/lang/it.json +++ b/www/addons/coursecompletion/lang/it.json @@ -1,21 +1,21 @@ { - "complete": "Completo", + "complete": "Completato", "completecourse": "Corso completato", - "completed": "Completata", + "completed": "Completato", "completiondate": "Data di completamento", - "couldnotloadreport": "Non è stato possibile caricare il report di completamento del corso, per favore riporva.", - "coursecompletion": "Completamento corso", + "couldnotloadreport": "Non è stato possibile caricare il report di completamento del corso, per favore riprova più tardi.", + "coursecompletion": "Completamento del corso", "criteria": "Criteri", "criteriagroup": "Gruppo di criteri", "criteriarequiredall": "E' richiesto il soddisfacimento di tutti i criteri elencati", "criteriarequiredany": "E' richiesto il soddisfacimento di almeno uno dei criteri elencati", - "inprogress": "In corso", + "inprogress": "In svolgimento", "manualselfcompletion": "Conferma personale di completamento", - "notyetstarted": "Non ancora iniziato", + "notyetstarted": "Non iniziato", "pending": "In attesa", - "required": "Obbligatorio", + "required": "Da soddisfare", "requiredcriteria": "Criteri da soddisfare", "requirement": "Requisito", - "status": "Stato badge", - "viewcoursereport": "Visualizza il report del corso" + "status": "Stato", + "viewcoursereport": "Visualizza report del corso" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/ja.json b/www/addons/coursecompletion/lang/ja.json index df8a2b8634d..344ea673aea 100644 --- a/www/addons/coursecompletion/lang/ja.json +++ b/www/addons/coursecompletion/lang/ja.json @@ -1,21 +1,21 @@ { - "complete": "詳細", + "complete": "完了", "completecourse": "コース完了", - "completed": "完了", + "completed": "完了しました", "completiondate": "完了した日", "couldnotloadreport": "コース完了の読み込みができませんでした。後でもう一度試してください。", - "coursecompletion": "ユーザはこのコースを完了する必要があります。", + "coursecompletion": "コース完了", "criteria": "クライテリア", "criteriagroup": "クライテリアグループ", - "criteriarequiredall": "下記のクライテリアすべてが必須である", - "criteriarequiredany": "下記いくつかのクライテリアが必須である", + "criteriarequiredall": "以下すべてのクライテリアが必要", + "criteriarequiredany": "以下のクライテリアいずれかが必要", "inprogress": "進行中", - "manualselfcompletion": "手動による自己完了", - "notyetstarted": "未開始", - "pending": "保留", - "required": "必須", - "requiredcriteria": "必須クライテリア", + "manualselfcompletion": "手動自己完了", + "notyetstarted": "まだ開始されていない", + "pending": "保留中", + "required": "必要な", + "requiredcriteria": "必要なクライテリア", "requirement": "要求", - "status": "ステータス", - "viewcoursereport": "コースレポートを表示する" + "status": "状態", + "viewcoursereport": "コースレポートを見る" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/ko.json b/www/addons/coursecompletion/lang/ko.json new file mode 100644 index 00000000000..fd340f5dbad --- /dev/null +++ b/www/addons/coursecompletion/lang/ko.json @@ -0,0 +1,21 @@ +{ + "complete": "완전한", + "completecourse": "강좌 완료", + "completed": "완료 됨", + "completiondate": "완료일", + "couldnotloadreport": "강좌 완료 보고서를 로드 할 수 없습니다. 나중에 다시 시도 해주십시오.", + "coursecompletion": "강좌 완료", + "criteria": "기준", + "criteriagroup": "기준 그룹", + "criteriarequiredall": "아래 모든 기준이 필요합니다.", + "criteriarequiredany": "아래 기준을 충족해야 합니다.", + "inprogress": "진행 중", + "manualselfcompletion": "수동 완료", + "notyetstarted": "시작 전", + "pending": "연기", + "required": "필수", + "requiredcriteria": "요구 기준", + "requirement": "요구사항", + "status": "상태", + "viewcoursereport": "강좌 보고서 보기" +} \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/lt.json b/www/addons/coursecompletion/lang/lt.json index e26747a5ead..c6813474cf2 100644 --- a/www/addons/coursecompletion/lang/lt.json +++ b/www/addons/coursecompletion/lang/lt.json @@ -1,21 +1,21 @@ { - "complete": "Užbaigti", + "complete": "Visas", "completecourse": "Visa kursų medžiaga", - "completed": "Baigtas", + "completed": "Užbaigta", "completiondate": "Užbaigimo data", "couldnotloadreport": "Nepavyko įkelti kursų baigimo ataskaitos, prašome pabandyti vėliau.", - "coursecompletion": "Kurso baigimas", + "coursecompletion": "Kursų užbaigimas", "criteria": "Kriterijai", "criteriagroup": "Kriterijų grupė", - "criteriarequiredall": "Visi žemiau pateikti kriterijai yra būtini", - "criteriarequiredany": "Bet kuris žemiau pateiktas kriterijus yra būtinas", - "inprogress": "Atliekama", - "manualselfcompletion": "Savas užbaigimas neautomatiniu būdu", - "notyetstarted": "Dar nepradėta", + "criteriarequiredall": "Visi žemiau esantys kriterijai yra privalomi", + "criteriarequiredany": "Kiekvienas kriterijus, esantis žemiau, yra privalomas", + "inprogress": "Nebaigta", + "manualselfcompletion": "Savarankiško mokymosi vadovas", + "notyetstarted": "Nepradėta", "pending": "Laukiama", - "required": "Būtina", - "requiredcriteria": "Būtini kriterijai", + "required": "Privaloma", + "requiredcriteria": "Privalomi kriterijai", "requirement": "Būtina sąlyga", - "status": "Pasiekimo būsena", + "status": "Būsena", "viewcoursereport": "Peržiūrėti kursų ataskaitą" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/mr.json b/www/addons/coursecompletion/lang/mr.json index a8e6331b60b..7670c17cb41 100644 --- a/www/addons/coursecompletion/lang/mr.json +++ b/www/addons/coursecompletion/lang/mr.json @@ -1,7 +1,7 @@ { "complete": "पूर्ण", "completecourse": "पूर्ण अभ्यासक्रम", - "completed": "पूर्ण झालेले", + "completed": "पूर्ण केले", "completiondate": "Completion date", "couldnotloadreport": "अभ्यासक्रम पूर्ण केल्याचे अहवाल लोड करणे शक्य नाही, कृपया नंतर पुन्हा प्रयत्न करा.", "coursecompletion": "अभ्यासक्रम पूर्ण", @@ -13,7 +13,7 @@ "manualselfcompletion": "स्वयं पूर्ण", "notyetstarted": "स्वतःच्या हाताने पूर्ण", "pending": "प्रलंबित", - "required": "गरजेचे आहे.", + "required": "आवश्यक", "requiredcriteria": "आवश्यक निकष", "requirement": "आवश्यकता", "status": "स्थिती", diff --git a/www/addons/coursecompletion/lang/nl.json b/www/addons/coursecompletion/lang/nl.json index 9b53d0342b2..03ce6e04e4c 100644 --- a/www/addons/coursecompletion/lang/nl.json +++ b/www/addons/coursecompletion/lang/nl.json @@ -1,18 +1,18 @@ { - "complete": "Volledig", + "complete": "Voltooi", "completecourse": "Voltooi cursus", "completed": "Voltooid", "completiondate": "Voltooiingsdatum", "couldnotloadreport": "Kon het voltooiingsrapport van de cursus niet laden. Probeer later opnieuw.", - "coursecompletion": "Leerlingen moeten deze cursus voltooien.", + "coursecompletion": "Cursus voltooiing", "criteria": "Criteria", "criteriagroup": "Criteria groep", - "criteriarequiredall": "Alle onderstaande criteria zijn vereist", - "criteriarequiredany": "Al onderstaande criteria zijn vereist", + "criteriarequiredall": "Alle onderstaande criteria zijn vereist.", + "criteriarequiredany": "Alle onderstaande criteria zijn vereist.", "inprogress": "Bezig", - "manualselfcompletion": "Manueel voltooien", - "notyetstarted": "Nog niet begonnen", - "pending": "In behandeling", + "manualselfcompletion": "Handmatige zelf-voltooiing", + "notyetstarted": "Nog niet gestart", + "pending": "Nog bezig", "required": "Vereist", "requiredcriteria": "Vereiste criteria", "requirement": "Vereiste", diff --git a/www/addons/coursecompletion/lang/pl.json b/www/addons/coursecompletion/lang/pl.json index 2efa1327897..a2dd43de393 100644 --- a/www/addons/coursecompletion/lang/pl.json +++ b/www/addons/coursecompletion/lang/pl.json @@ -1,5 +1,5 @@ { - "complete": "Pełna wersja", + "complete": "Zakończone", "completed": "Ukończony", "coursecompletion": "Ukończenie kursu", "criteria": "Kryteria", diff --git a/www/addons/coursecompletion/lang/pt-br.json b/www/addons/coursecompletion/lang/pt-br.json index afae717fe9b..da82565edc9 100644 --- a/www/addons/coursecompletion/lang/pt-br.json +++ b/www/addons/coursecompletion/lang/pt-br.json @@ -1,21 +1,21 @@ { "complete": "Concluído", "completecourse": "Curso concluído", - "completed": "Concluído", + "completed": "Completado", "completiondate": "Data de conclusão", "couldnotloadreport": "Não foi possível carregar o relatório de conclusão do curso, por favor tente novamente mais tarde.", - "coursecompletion": "Andamento do curso", + "coursecompletion": "Conclusão do curso", "criteria": "Critérios", "criteriagroup": "Grupo de critérios", "criteriarequiredall": "Todos os critérios abaixo são necessários", - "criteriarequiredany": "Qualquer um dos critérios abaixo são necessários", - "inprogress": "Em andamento", - "manualselfcompletion": "Conclusão manual por si mesmo", - "notyetstarted": "Não iniciado ainda", - "pending": "Pendentes", - "required": "Necessários", - "requiredcriteria": "Critérios exigidos", + "criteriarequiredany": "Quaisquer critérios abaixo são necessários", + "inprogress": "Em progresso", + "manualselfcompletion": "Auto conclusão manual", + "notyetstarted": "Ainda não começou", + "pending": "Pendente", + "required": "Necessário", + "requiredcriteria": "Critério necessário", "requirement": "Exigência", - "status": "Status", - "viewcoursereport": "Ver relatório do curso" + "status": "Condição", + "viewcoursereport": "Ver relatório de curso" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/pt.json b/www/addons/coursecompletion/lang/pt.json index ebe307886aa..436b7c09b82 100644 --- a/www/addons/coursecompletion/lang/pt.json +++ b/www/addons/coursecompletion/lang/pt.json @@ -1,5 +1,5 @@ { - "complete": "Respondida", + "complete": "Concluído", "completecourse": "Disciplina concluída", "completed": "Concluído", "completiondate": "Data de conclusão", @@ -7,14 +7,14 @@ "coursecompletion": "Conclusão da disciplina", "criteria": "Critérios", "criteriagroup": "Grupo de critérios", - "criteriarequiredall": "Todos os critérios abaixo são exigidos", - "criteriarequiredany": "Qualquer dos critérios abaixo é necessário", + "criteriarequiredall": "É exigido o cumprimento de todos os critérios abaixo.", + "criteriarequiredany": "É exigido o cumprimento de qualquer um dos critérios abaixo.", "inprogress": "Em progresso", "manualselfcompletion": "Conclusão manual pelo próprio", - "notyetstarted": "Ainda não iniciou", + "notyetstarted": "Não iniciou", "pending": "Pendente", - "required": "Resposta obrigatória", - "requiredcriteria": "Critério obrigatório", + "required": "Exigido", + "requiredcriteria": "Critério exigido", "requirement": "Requisito", "status": "Estado", "viewcoursereport": "Ver relatório da disciplina" diff --git a/www/addons/coursecompletion/lang/ro.json b/www/addons/coursecompletion/lang/ro.json index 7a195f67c33..46b9f21bb93 100644 --- a/www/addons/coursecompletion/lang/ro.json +++ b/www/addons/coursecompletion/lang/ro.json @@ -1,21 +1,21 @@ { - "complete": "Finalizează", + "complete": "Complet", "completecourse": "Curs complet", - "completed": "Finalizare", + "completed": "Complet", "completiondate": "Data limita până la completarea acțiunii", "couldnotloadreport": "Raportul cu privire la situația completării cursului nu se poate încărca, încercați mai târziu.", - "coursecompletion": "Absolvire curs", + "coursecompletion": "Completarea cursului", "criteria": "Criterii", - "criteriagroup": "Grup criterii", - "criteriarequiredall": "Toate criteriile de mai jos sunt necesare", - "criteriarequiredany": "Oricare dintre criteriile de mai jos sunt necesare", - "inprogress": "În curs", - "manualselfcompletion": "Auto-finalizare manuală", - "notyetstarted": "Nu a fost încă început", - "pending": "În așteptare", - "required": "Necesar", - "requiredcriteria": "Criteriu necesar", + "criteriagroup": "Criterii pentru grup", + "criteriarequiredall": "Indeplinirea următoarelor criterii este obligatorie", + "criteriarequiredany": "Oricare din urmatoarele criterii sunt obligatorii", + "inprogress": "În progres", + "manualselfcompletion": "Autocompletare", + "notyetstarted": "Înca nu a început", + "pending": "În asteptare", + "required": "Obligatoriu", + "requiredcriteria": "Criterii obligatorii", "requirement": "Cerințe", - "status": "Status", - "viewcoursereport": "Vezi raportul cursului" + "status": "Situație", + "viewcoursereport": "Vizualizați raportul despre curs" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/ru.json b/www/addons/coursecompletion/lang/ru.json index 7b7b2f2532c..b61ca6ef733 100644 --- a/www/addons/coursecompletion/lang/ru.json +++ b/www/addons/coursecompletion/lang/ru.json @@ -1,20 +1,21 @@ { - "complete": "Завершено", + "complete": "Завершить", "completecourse": "Завершить курс", - "completed": "Выполнено", + "completed": "Завершен", "completiondate": "Дата завершения", - "coursecompletion": "Окончание курса", + "couldnotloadreport": "Невозможно загрузить отчёт о завершении курса. Пожалуйста, попробуйте ещё раз позже.", + "coursecompletion": "Завершение курса", "criteria": "Критерии", - "criteriagroup": "Группа критериев", - "criteriarequiredall": "Требуются соответствие всем указанным ниже критериям", - "criteriarequiredany": "Требуется соответствие любому из указанных ниже критериев", - "inprogress": "Текущие", - "manualselfcompletion": "Пользователь может сам поставить отметку о выполнении", - "notyetstarted": "Еще не началось", - "pending": "Ожидается", - "required": "Необходимо заполнить", + "criteriagroup": "Критерии группы", + "criteriarequiredall": "Все приведенные ниже критерии являются обязательными.", + "criteriarequiredany": "Некоторые из нижеуказанных критериев обязательны.", + "inprogress": "В прогрессе", + "manualselfcompletion": "Ручное самостоятельное завершение", + "notyetstarted": "Еще не начался", + "pending": "На рассмотрении", + "required": "Необходимый", "requiredcriteria": "Необходимые критерии", "requirement": "Требование", - "status": "Статус значка", - "viewcoursereport": "Просмотреть отчет по курсу" + "status": "Статус", + "viewcoursereport": "Посмотреть отчет курса" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/sv.json b/www/addons/coursecompletion/lang/sv.json index df193278ade..1a9665c3d8e 100644 --- a/www/addons/coursecompletion/lang/sv.json +++ b/www/addons/coursecompletion/lang/sv.json @@ -1,21 +1,21 @@ { "complete": "Komplett", "completecourse": "", - "completed": "Slutfört", + "completed": "Fullföljt", "completiondate": "Datum för fullföljande", "couldnotloadreport": "Det gick inte att läsa in rapporten för fullföljande av kursen, vänligen försök igen senare .", - "coursecompletion": "Fullgörande av kurs", - "criteria": "Kriterier", - "criteriagroup": "Kriterier för grupp", - "criteriarequiredall": "Alla kriterier är obligatoriska", - "criteriarequiredany": "Alla kriterier nedan är obligatoriska", - "inprogress": "Pågår", - "manualselfcompletion": "Studenten markerar själv som fullföljd", - "notyetstarted": "Har ännu inte påbörjats", + "coursecompletion": "Fullföljande av kurs", + "criteria": "Villkor", + "criteriagroup": "Villkor grupp", + "criteriarequiredall": "Alla villkor nedan måste vara uppfyllda", + "criteriarequiredany": "Något villkor nedan måste vara uppfylld", + "inprogress": "Pågående", + "manualselfcompletion": "Manuell fullföljande av deltagare", + "notyetstarted": "Ännu inte börjat", "pending": "Avvaktar", "required": "Obligatorisk", - "requiredcriteria": "Obligatoriskt kriterium", + "requiredcriteria": "Obligatorisk villkor", "requirement": "Krav", - "status": "Status för märke", + "status": "Status", "viewcoursereport": "Visa kursrapport" } \ No newline at end of file diff --git a/www/addons/coursecompletion/lang/uk.json b/www/addons/coursecompletion/lang/uk.json index 8078ba36f3d..790fda5169e 100644 --- a/www/addons/coursecompletion/lang/uk.json +++ b/www/addons/coursecompletion/lang/uk.json @@ -1,21 +1,21 @@ { - "complete": "Завершено", + "complete": "Завершити", "completecourse": "Завершити курсу", - "completed": "Виконано", + "completed": "Завершено", "completiondate": "Дата завершення", "couldnotloadreport": "Не вдалося завантажити звіт про закінчення курсу, будь ласка, спробуйте ще раз пізніше.", - "coursecompletion": "Курс закінчено", - "criteria": "Критерій", + "coursecompletion": "Завершення курсу", + "criteria": "Критерія", "criteriagroup": "Група критеріїв", - "criteriarequiredall": "Потрібна відповідність всім вказаним критеріям", - "criteriarequiredany": "Потрібна відповідність будь-якому критерію", - "inprogress": "В процесі", - "manualselfcompletion": "Самореєстрація завершення", - "notyetstarted": "Ще не почато", - "pending": "Очікується", - "required": "Необхідні", - "requiredcriteria": "Необхідний критерій", + "criteriarequiredall": "Всі критерії нижче обов'язкові", + "criteriarequiredany": "Будь-яка критерія нижче обов'язкова", + "inprogress": "В процесі...", + "manualselfcompletion": "Самостійне завершення", + "notyetstarted": "Не розпочато", + "pending": "В очікуванні", + "required": "Необхідно", + "requiredcriteria": "Необхідна критерія", "requirement": "Вимога", - "status": "Статус відзнаки", + "status": "Статус", "viewcoursereport": "Переглянути звіт курсу" } \ No newline at end of file diff --git a/www/addons/coursecompletion/services/handlers.js b/www/addons/coursecompletion/services/handlers.js index 775cd9121aa..471e9fab6a6 100644 --- a/www/addons/coursecompletion/services/handlers.js +++ b/www/addons/coursecompletion/services/handlers.js @@ -260,6 +260,21 @@ angular.module('mm.addons.coursecompletion') }); }; + /** + * Prefetch the addon for a certain course. + * + * @param {Object} course Course to prefetch. + * @return {Promise} Promise resolved when the prefetch is finished. + */ + self.prefetch = function(course) { + // Invalidate data to be sure to get the latest info. + return $mmaCourseCompletion.invalidateCourseCompletion(course.id).catch(function() { + // Ignore errors. + }).then(function() { + return $mmaCourseCompletion.getCompletion(course.id); + }); + }; + return self; }; diff --git a/www/addons/files/lang/ca.json b/www/addons/files/lang/ca.json index 90887bf7b3f..035be4b1f33 100644 --- a/www/addons/files/lang/ca.json +++ b/www/addons/files/lang/ca.json @@ -2,12 +2,12 @@ "admindisableddownload": "Teniu en compte que l'administrador de Moodle ha desactivat la descàrrega d'arxius; podeu visualitzar els arxius, però no descarregar-los.", "clicktoupload": "Feu clic al botó del dessota per pujar arxius a l'àrea del vostres fitxers.", "couldnotloadfiles": "La llista d'arxius no s'ha pogut carregar.", - "emptyfilelist": "No hi ha fitxers per mostrar", + "emptyfilelist": "No hi ha fitxers per mostrar.", "erroruploadnotworking": "No es poden pujar fitxers al vostre lloc ara mateix.", "files": "Fitxers", "myprivatefilesdesc": "Els arxius que teniu disponibles a la vostra àrea privada en aquest lloc Moodle.", "privatefiles": "Fitxers privats", "sitefiles": "Fitxers del lloc", "sitefilesdesc": "Els altres arxius que es troben disponibles en aquest lloc Moodle.", - "uploadfiles": "Envia fitxers de retroacció" + "uploadfiles": "Puja fitxers" } \ No newline at end of file diff --git a/www/addons/files/lang/cs.json b/www/addons/files/lang/cs.json index becf830a35d..3e5d2932354 100644 --- a/www/addons/files/lang/cs.json +++ b/www/addons/files/lang/cs.json @@ -1,13 +1,13 @@ { - "admindisableddownload": "Upozorňujeme, že správce Moodle zakázal stahování souborů, soubory si můžete prohlížet, ale ne stáhnout.", + "admindisableddownload": "Upozorňujeme, že správce Moodle zakázal stahování souborů. Soubory si můžete prohlížet, ale ne stáhnout.", "clicktoupload": "Kliknutím na tlačítko níže nahrát soubory do vašich osobních souborů.", "couldnotloadfiles": "Seznam souborů, které nelze načíst .", - "emptyfilelist": "Žádný soubor k zobrazení", + "emptyfilelist": "Žádný soubor k zobrazení.", "erroruploadnotworking": "Bohužel v současné době není možné nahrávat na stránky vašeho Moodle.", "files": "Soubory", - "myprivatefilesdesc": "Soubory, které jsou dostupné v soukromé oblasti na těchto stránkách Moodle.", + "myprivatefilesdesc": "Soubory, které jsou dostupné pouze pro vás.", "privatefiles": "Osobní soubory", "sitefiles": "Soubory stránek", - "sitefilesdesc": "Další soubory, které jsou dostupné na těchto stránkách Moodle.", - "uploadfiles": "Poslat zpětnovazební soubory" + "sitefilesdesc": "Další soubory, které jsou dostupné na těchto stránkách.", + "uploadfiles": "Nahrát soubory" } \ No newline at end of file diff --git a/www/addons/files/lang/da.json b/www/addons/files/lang/da.json index 5f9d7d54b3b..1453d08f9f7 100644 --- a/www/addons/files/lang/da.json +++ b/www/addons/files/lang/da.json @@ -2,12 +2,12 @@ "admindisableddownload": "Bemærk venligst at din Moodleadministrator har deaktiveret download af filer. Du kan se filerne men ikke downloade dem.", "clicktoupload": "Klik på knappen nedenfor for at uploade filer til dine private filer.", "couldnotloadfiles": "Fillisten kunne ikke hentes", - "emptyfilelist": "Der er ingen filer at vise", + "emptyfilelist": "Der er ingen filer at vise.", "erroruploadnotworking": "Desværre er det p.t. ikke muligt at uploade filer til dit site.", "files": "Filer", "myprivatefilesdesc": "Filerne som er tilgængelige i dit private område på dette Moodlewebsted.", "privatefiles": "Private filer", "sitefiles": "Site filer", "sitefilesdesc": "De andre filer som er tilgængelige for dig på denne Moodlewebside.", - "uploadfiles": "Send feedbackfiler" + "uploadfiles": "Upload filer" } \ No newline at end of file diff --git a/www/addons/files/lang/de-du.json b/www/addons/files/lang/de-du.json index 4cc87c25207..de918e9ff50 100644 --- a/www/addons/files/lang/de-du.json +++ b/www/addons/files/lang/de-du.json @@ -2,12 +2,12 @@ "admindisableddownload": "Das Herunterladen von Dateien ist deaktiviert. Du kannst nur die Dateiliste sehen und nichts herunterladen.", "clicktoupload": "Tippe auf die Taste, um Dateien in den Bereich 'Meine Dateien' hochzuladen.", "couldnotloadfiles": "Die Liste der Dateien konnte nicht geladen werden.", - "emptyfilelist": "Es liegen keine Dateien vor", + "emptyfilelist": "Keine Dateien", "erroruploadnotworking": "Im Moment können keine Dateien zur Website hochgeladen werden.", "files": "Dateien", "myprivatefilesdesc": "Dateien, Auf die ausschließlich du zugreifen kannst.", "privatefiles": "Meine Dateien", "sitefiles": "Dateien der Website", "sitefilesdesc": "Weitere Dateien, die für dich auf dieser Website zugänglich sind.", - "uploadfiles": "Feedbackdateien senden" + "uploadfiles": "Dateien hochladen" } \ No newline at end of file diff --git a/www/addons/files/lang/de.json b/www/addons/files/lang/de.json index 91305f44eff..1f6e9fa90ee 100644 --- a/www/addons/files/lang/de.json +++ b/www/addons/files/lang/de.json @@ -2,12 +2,12 @@ "admindisableddownload": "Das Herunterladen von Dateien ist deaktiviert. Sie können nur die Dateiliste sehen und nichts herunterladen.", "clicktoupload": "Tippen Sie auf die Taste, um Dateien in den Bereich 'Meine Dateien' hochzuladen.", "couldnotloadfiles": "Die Liste der Dateien konnte nicht geladen werden.", - "emptyfilelist": "Es liegen keine Dateien vor", + "emptyfilelist": "Keine Dateien", "erroruploadnotworking": "Im Moment können keine Dateien zur Website hochgeladen werden.", "files": "Dateien", "myprivatefilesdesc": "Dateien, auf die ausschließlich Sie zugreifen können.", "privatefiles": "Meine Dateien", "sitefiles": "Dateien der Website", "sitefilesdesc": "Weitere Dateien, die für Sie auf dieser Website zugänglich sind.", - "uploadfiles": "Feedbackdateien senden" + "uploadfiles": "Dateien hochladen" } \ No newline at end of file diff --git a/www/addons/files/lang/el.json b/www/addons/files/lang/el.json index 105bb0c0877..8f435d24e4f 100644 --- a/www/addons/files/lang/el.json +++ b/www/addons/files/lang/el.json @@ -9,5 +9,5 @@ "privatefiles": "Προσωπικά αρχεία", "sitefiles": "Αρχεία του ιστοχώρου", "sitefilesdesc": "Άλλα αρχεία που είναι στη διάθεσή σας σε αυτό το site Moodle.", - "uploadfiles": "Αποστολή αρχείου ανατροφοδότησης" + "uploadfiles": "Μεταφορτώστε αρχεία" } \ No newline at end of file diff --git a/www/addons/files/lang/es-mx.json b/www/addons/files/lang/es-mx.json index 6a0a7e462c9..37175c738cf 100644 --- a/www/addons/files/lang/es-mx.json +++ b/www/addons/files/lang/es-mx.json @@ -2,12 +2,12 @@ "admindisableddownload": "El administrador del sitio ha deshabilitado las descargas de archivos; Usted puede ver los archivos pero no puede descargarlos.", "clicktoupload": "Haga click en el botón inferior para subir archivos a sus archivos privados.", "couldnotloadfiles": "La lista de archivos no pudo cargarse.", - "emptyfilelist": "No hay archivos que mostrar", + "emptyfilelist": "No hay archivos para mostrar.", "erroruploadnotworking": "Desafortunadamente ahorita no es posible subir archivos a su sitio.", "files": "Archivos", "myprivatefilesdesc": "Archivos a los que solamente Usted puede acceder.", "privatefiles": "Archivos privados", "sitefiles": "Archivos del sitio", "sitefilesdesc": "Otros archivos que están disponibles para Usted en este sitio.", - "uploadfiles": "Mandar archivos de retroalimentación" + "uploadfiles": "Subir archivos" } \ No newline at end of file diff --git a/www/addons/files/lang/es.json b/www/addons/files/lang/es.json index 19e67205370..d67044531b0 100644 --- a/www/addons/files/lang/es.json +++ b/www/addons/files/lang/es.json @@ -9,5 +9,5 @@ "privatefiles": "Ficheros privados", "sitefiles": "Archivos del sitio", "sitefilesdesc": "Los otros archivos que están disponibles para Usted en este sitio Moodle.", - "uploadfiles": "Mandar archivos de retroalimentación" + "uploadfiles": "Subir archivos" } \ No newline at end of file diff --git a/www/addons/files/lang/eu.json b/www/addons/files/lang/eu.json index 4648a027001..71db9771a7d 100644 --- a/www/addons/files/lang/eu.json +++ b/www/addons/files/lang/eu.json @@ -1,13 +1,13 @@ { - "admindisableddownload": "Mesedez ohartu zaitez zure Moodle administratzaileak fitxategien jaitsiera ezgaitu duela, fitxategiak arakatu ditzakezu baina ezin dituzu jaitsi.", + "admindisableddownload": "Zure Moodle kudeatzaileak fitxategien jaitsiera ezgaitu du. Fitxategiak araka ditzakezu baina ezin dituzu jaitsi.", "clicktoupload": "Klik egin beheko botoian fitxategiak zure gune pribatura igotzeko.", "couldnotloadfiles": "Ezin izan da fitxategien zerrenda kargatu.", - "emptyfilelist": "Ez dago erakusteko fitxategirik", + "emptyfilelist": "Ez dago fitxategirik erakusteko.", "erroruploadnotworking": "Zoritxarrez une honetan ezin dira fitxategiak zure gunera igo.", "files": "Fitxategiak", - "myprivatefilesdesc": "Moodle gune honetako zure gune pribatuan eskuragarri dauden fitxategiak.", + "myprivatefilesdesc": "Soilik zuk eskura ditzakezun fitxategiak.", "privatefiles": "Fitxategi pribatuak", "sitefiles": "Guneko fitxategiak", - "sitefilesdesc": "Zure Moodle gunean eskuragarri dauden beste fitxategiak.", - "uploadfiles": "bidali feedback-fitxategiak" + "sitefilesdesc": "Gune honetan eskuragarri dauden beste fitxategiak.", + "uploadfiles": "Igo fitxategiak" } \ No newline at end of file diff --git a/www/addons/files/lang/fi.json b/www/addons/files/lang/fi.json index 14c205854fd..7514c3992a3 100644 --- a/www/addons/files/lang/fi.json +++ b/www/addons/files/lang/fi.json @@ -2,11 +2,11 @@ "admindisableddownload": "Sivuston pääkäyttäjä on estänyt tiedostojen lataamisen. Voit ainoastaan selata tiedostoja, mutta et voi ladata niitä.", "clicktoupload": "Paina alapuolella olevaa painiketta ladataksesi tiedoston omiin yksityisiin tiedostoihisi.", "couldnotloadfiles": "Tiedostolistaa ei pystytty lataamaan.", - "emptyfilelist": "Ei näytettäviä tiedostoja", + "emptyfilelist": "Ei näytettäviä tiedostoja.", "erroruploadnotworking": "Valitettavasti tiedostojen lataaminen järjestelmään ei tällä hetkellä onnistu.", "files": "Tiedostot", "myprivatefilesdesc": "Tiedostot, jotka ovat vain sinulle käytettävissä.", "privatefiles": "Yksityiset tiedostot", "sitefiles": "Sivuston tiedostot", - "uploadfiles": "Lähetä palautetiedostot" + "uploadfiles": "Lähetä tiedostot" } \ No newline at end of file diff --git a/www/addons/files/lang/fr.json b/www/addons/files/lang/fr.json index d37cbd25a3c..672c0abfa2c 100644 --- a/www/addons/files/lang/fr.json +++ b/www/addons/files/lang/fr.json @@ -2,12 +2,12 @@ "admindisableddownload": "L'administrateur de votre Moodle a désactivé le téléchargement des fichiers. Vous pouvez les consulter, mais pas les télécharger.", "clicktoupload": "Cliquer sur le bouton ci-dessous pour déposer les fichiers dans vos fichiers personnels.", "couldnotloadfiles": "La liste des fichiers n'a pas pu être chargée.", - "emptyfilelist": "Il n'y a pas de fichier à afficher", + "emptyfilelist": "Aucun fichier à afficher.", "erroruploadnotworking": "Il n'est actuellement pas possible de déposer des fichiers sur votre site.", "files": "Fichiers", "myprivatefilesdesc": "Fichiers auxquels vous seul avez accès.", "privatefiles": "Fichiers personnels", "sitefiles": "Fichiers du site", "sitefilesdesc": "Autres fichiers auxquels vous avez accès sur cette plateforme.", - "uploadfiles": "Envoyer des fichiers de feedback" + "uploadfiles": "Déposer des fichiers" } \ No newline at end of file diff --git a/www/addons/files/lang/he.json b/www/addons/files/lang/he.json index 6f612548ac8..0ed31567503 100644 --- a/www/addons/files/lang/he.json +++ b/www/addons/files/lang/he.json @@ -2,7 +2,7 @@ "admindisableddownload": "יש לשים לב כי מנהל/ת אתר המוודל שלך, ביטל/ה את אפשרות להורדת הקבצים. באפשרותך לעיין בקבצים אך לא להורידם.", "clicktoupload": "להעלאת הקבצים לקבצים הפרטיים שלך, יש להקליק על הכפתור למטה.", "couldnotloadfiles": "לא ניתן לטעון את רשימת הקבצים.", - "emptyfilelist": "אין קבצים להציג", + "emptyfilelist": "אין קבצים להצגה.", "files": "קבצים", "myprivatefilesdesc": "הקבצים הזמינים לך באזור הפרטי באתר מוודל זה.", "privatefiles": "הקבצים שלי", diff --git a/www/addons/files/lang/hr.json b/www/addons/files/lang/hr.json index 01ff2272a5e..c92c9bd4e23 100644 --- a/www/addons/files/lang/hr.json +++ b/www/addons/files/lang/hr.json @@ -1,5 +1,5 @@ { - "emptyfilelist": "Nema datoteka za prikaz", + "emptyfilelist": "Nema datoteka za prikaz.", "files": "Datoteke", "privatefiles": "Osobne datoteke korisnika", "sitefiles": "Site files", diff --git a/www/addons/files/lang/it.json b/www/addons/files/lang/it.json index d9b1f96d205..c4fc06c5593 100644 --- a/www/addons/files/lang/it.json +++ b/www/addons/files/lang/it.json @@ -2,12 +2,12 @@ "admindisableddownload": "L'amministratore del sito Moodle ha disabilitato il download dei file. Puoi navigare tra i file ma non potrai scaricarli.", "clicktoupload": "Fai click sul pulsante sotto per caricare i file nei File personali", "couldnotloadfiles": "Non è stato possibile caricare l'elenco dei file.", - "emptyfilelist": "Non ci sono file da visualizzare", + "emptyfilelist": "Non ci sono file da visualizzare.", "erroruploadnotworking": "Al momento non è possibile caricare file sul sito.", "files": "File", - "myprivatefilesdesc": "I file memorizzati nell'omonima area di Moodle", + "myprivatefilesdesc": "I file memorizzati nei File personali", "privatefiles": "File personali", "sitefiles": "File del sito", - "sitefilesdesc": "Altri file del sito Moodle ai quali puoi accedere.", - "uploadfiles": "Invia file di commento" + "sitefilesdesc": "Altri file del sito ai quali puoi accedere.", + "uploadfiles": "Carica file" } \ No newline at end of file diff --git a/www/addons/files/lang/ja.json b/www/addons/files/lang/ja.json index 648ed7d331a..de63504d659 100644 --- a/www/addons/files/lang/ja.json +++ b/www/addons/files/lang/ja.json @@ -2,12 +2,12 @@ "admindisableddownload": "あなたのMoodle管理者に、ファイルのダウンロードを無効にするよう知らせてください。そうすれば、ファイルをデバイスにダウンロードせず閲覧のみにすることができます。", "clicktoupload": "ファイルをあなたのプライベートファイル領域にアップロードするには、下のボタンをクリックしてください。", "couldnotloadfiles": "以下のファイルが読み込みできませんでした。", - "emptyfilelist": "表示するファイルはありません。", + "emptyfilelist": "表示するファイルがありません。", "erroruploadnotworking": "残念ながら、現在、あなたのサイトにファイルをアップロードすることはできません。", "files": "ファイル", "myprivatefilesdesc": "ファイルはMoodleサイト上のあなたのプライベート領域にあります。", "privatefiles": "プライベートファイル", "sitefiles": "サイトファイル", "sitefilesdesc": "本Moodleサイトであなたが利用できる他のファイル", - "uploadfiles": "フィードバックファイルを送信する" + "uploadfiles": "アップロードファイル" } \ No newline at end of file diff --git a/www/addons/files/lang/ko.json b/www/addons/files/lang/ko.json new file mode 100644 index 00000000000..4481b687ca6 --- /dev/null +++ b/www/addons/files/lang/ko.json @@ -0,0 +1,10 @@ +{ + "admindisableddownload": "사이트 관리자가 파일 다운로드를 비활성화 했습니다. 파일을 탐색 할 수는 있지만 다운로드 할 수는 없습니다.", + "clicktoupload": "아래 버튼을 클릭하여 개인 파일에 파일을 업로드하십시오.", + "emptyfilelist": "표시 할 파일이 없습니다.", + "files": "파일", + "myprivatefilesdesc": "나만 접근할 수 있는 파일", + "sitefiles": "파일 창고", + "sitefilesdesc": "이 사이트에서 당신에게 제공되는 기타 파일들", + "uploadfiles": "파일 업로드" +} \ No newline at end of file diff --git a/www/addons/files/lang/lt.json b/www/addons/files/lang/lt.json index 1e5b2c5b2f2..82157441c00 100644 --- a/www/addons/files/lang/lt.json +++ b/www/addons/files/lang/lt.json @@ -2,12 +2,12 @@ "admindisableddownload": "Primename, kad Moodle administratorius panaikino galimybę parsisiųsti failus, failų atsisiųsti negalima, galite tik naršyti.", "clicktoupload": "Paspauskite mygtuką, esantį žemiau, kad galėtumėte atsisiųsti failus į privatų aplanką.", "couldnotloadfiles": "Negalima užkrauti failų sąrašo.", - "emptyfilelist": "Nėra rodytinų failų", + "emptyfilelist": "Nėra ką rodyti.", "erroruploadnotworking": "Deja, failo į pasirinktą svetainę įkelti negalima.", "files": "Failai", "myprivatefilesdesc": "Jūsų privatūs failai Moodle svetainėje.", "privatefiles": "Asmeniniai failai", "sitefiles": "Svetainės failai", "sitefilesdesc": "Kiti failai Moodle svetainėje", - "uploadfiles": "Siųsti grįžtamojo ryšio failus" + "uploadfiles": "Įkelti failus" } \ No newline at end of file diff --git a/www/addons/files/lang/nl.json b/www/addons/files/lang/nl.json index a6b05556b90..74f97522c0f 100644 --- a/www/addons/files/lang/nl.json +++ b/www/addons/files/lang/nl.json @@ -2,12 +2,12 @@ "admindisableddownload": "Je Moodle beheerder heeft het downloaden van bestanden uitgeschakeld. Je kunt door de bestandenlijst bladeren, maar ze niet downloaden.", "clicktoupload": "Klik op onderstaande knop om bestanden naar je privé-bestanden te uploaden.", "couldnotloadfiles": "De bestandenlijst kon niet geladen worden.", - "emptyfilelist": "Er zijn geen bestanden om te tonen", + "emptyfilelist": "Er zijn geen bestanden te tonen.", "erroruploadnotworking": "Jammer genoeg kun je op dit ogenblik geen bestanden uploaden naar de site.", "files": "Bestanden", "myprivatefilesdesc": "Bestanden die jij alleen kan zien.", "privatefiles": "Privébestanden", "sitefiles": "Sitebestanden", "sitefilesdesc": "Andere bestanden voor jou.", - "uploadfiles": "Stuur feedbackbestanden" + "uploadfiles": "Bestanden uploaden" } \ No newline at end of file diff --git a/www/addons/files/lang/pt-br.json b/www/addons/files/lang/pt-br.json index 2c3c45d9555..fa0429bebba 100644 --- a/www/addons/files/lang/pt-br.json +++ b/www/addons/files/lang/pt-br.json @@ -2,12 +2,12 @@ "admindisableddownload": "Por favor note que o administrador do Moodle desativou downloads de arquivos, você pode navegar através dos arquivos, mas não baixá-los.", "clicktoupload": "Clique no botão abaixo para enviar para seus arquivos privados.", "couldnotloadfiles": "A lista de arquivos não pode ser carregada.", - "emptyfilelist": "Não há arquivos para exibir", + "emptyfilelist": "Não há arquivos para mostrar.", "erroruploadnotworking": "Infelizmente é impossível enviar arquivos para o seu site.", "files": "Arquivos", "myprivatefilesdesc": "Os arquivos que estão disponíveis em sua área de arquivos privados nesse site Moodle.", "privatefiles": "Arquivos privados", "sitefiles": "Arquivos do site", "sitefilesdesc": "Os outros arquivos que estão disponíveis a você neste site Moodle.", - "uploadfiles": "Enviar arquivos de feedback" + "uploadfiles": "Enviar arquivos" } \ No newline at end of file diff --git a/www/addons/files/lang/pt.json b/www/addons/files/lang/pt.json index 90ed68c005a..b2ba2ee0a70 100644 --- a/www/addons/files/lang/pt.json +++ b/www/addons/files/lang/pt.json @@ -2,12 +2,12 @@ "admindisableddownload": "O administrador do Moodle desativou a opção de descarregar ficheiros. Poderá navegar nos ficheiros mas não conseguirá descarregá-los.", "clicktoupload": "Clique no botão abaixo para carregar ficheiros para os seus ficheiros privados.", "couldnotloadfiles": "Não foi possível carregar a lista de ficheiros", - "emptyfilelist": "Este repositório está vazio", + "emptyfilelist": "Não há ficheiros", "erroruploadnotworking": "Infelizmente não é possível carregar ficheiros para o seu site.", "files": "Ficheiros", "myprivatefilesdesc": "Ficheiros privados.", "privatefiles": "Ficheiros privados", "sitefiles": "Ficheiros do site", "sitefilesdesc": "Os outros ficheiros que estão disponíveis para si neste site.", - "uploadfiles": "Enviar ficheiros de feedback" + "uploadfiles": "Carregar ficheiros" } \ No newline at end of file diff --git a/www/addons/files/lang/ro.json b/www/addons/files/lang/ro.json index 269b6780a16..30500b91c47 100644 --- a/www/addons/files/lang/ro.json +++ b/www/addons/files/lang/ro.json @@ -2,7 +2,7 @@ "admindisableddownload": "Atenție! Administratorul platformei a dezactivat descărcarea de fișiere; puteți accesa fișierele dar nu le puteți descărca.", "clicktoupload": "Apăsați butonul de mai jos pentru a încarcă fișierele în contul dumneavoastră.", "couldnotloadfiles": "Lista fișierelor nu a putut fi încărcată.", - "emptyfilelist": "Nu există fișiere", + "emptyfilelist": "Nu sunt fișiere disponibile.", "files": "Fişiere", "myprivatefilesdesc": "Fișierele disponibile din zona personală, pe care o dețineți pe acest site.", "privatefiles": "Fișiere private", diff --git a/www/addons/files/lang/ru.json b/www/addons/files/lang/ru.json index 10418095e77..171e14ee461 100644 --- a/www/addons/files/lang/ru.json +++ b/www/addons/files/lang/ru.json @@ -1,12 +1,13 @@ { - "admindisableddownload": "Обратите внимание, что администратор Moodle отключил скачивание файлов. Вы можете просмотреть файлы, но не скачать их.", + "admindisableddownload": "Администратор Moodle отключил скачивание файлов. Вы можете просмотреть файлы, но не скачать их.", "clicktoupload": "Нажмите внизу кнопку для загрузки файлов в свои личные файлы.", "couldnotloadfiles": "Файлы из списка не могут быть загружены", "emptyfilelist": "Нет файлов для отображения", + "erroruploadnotworking": "К сожалению, в данный момент невозможно загрузить файлы на ваш сайт.", "files": "Файлы", - "myprivatefilesdesc": "Файлы, которые доступны Вам в личном кабинете на этом сайте Moodle.", + "myprivatefilesdesc": "Файлы, которые доступны только вам.", "privatefiles": "Личные файлы", "sitefiles": "Файлы сайта", - "sitefilesdesc": "Другие файлы, доступные на этом сайте Moodle", - "uploadfiles": "Отправить файлы с отзывами" + "sitefilesdesc": "Другие файлы, которые доступны вам на этом сайте.", + "uploadfiles": "Загрузка файлов" } \ No newline at end of file diff --git a/www/addons/files/lang/uk.json b/www/addons/files/lang/uk.json index 4043adc3905..083a9f56194 100644 --- a/www/addons/files/lang/uk.json +++ b/www/addons/files/lang/uk.json @@ -2,12 +2,12 @@ "admindisableddownload": "Зверніть увагу, що ваш адміністратор Moodle відключив завантаження файлів. Ви можете переглядати файли, але не завантажувати їх.", "clicktoupload": "Натисніть на кнопку нижче, щоб завантажити ваші особисті файли.", "couldnotloadfiles": "Список файлів не може бути завантажений.", - "emptyfilelist": "Немає файлів для показу", + "emptyfilelist": "Немає файлів для показу.", "erroruploadnotworking": "На жаль, в даний час не представляється можливим завантажувати файли на ваш сайт.", "files": "Файли", "myprivatefilesdesc": "Файли, які доступні у приватній області на цьому сайті Moodle.", "privatefiles": "Особисті файли", "sitefiles": "Файли сайту", "sitefilesdesc": "Інші файли, які доступні для вас на цьому сайті Moodle.", - "uploadfiles": "Надіслати файл-відгук(и)" + "uploadfiles": "Завантажити файли" } \ No newline at end of file diff --git a/www/addons/frontpage/controllers/frontpage.js b/www/addons/frontpage/controllers/frontpage.js index c6e82c8e4f8..63be3a9080a 100644 --- a/www/addons/frontpage/controllers/frontpage.js +++ b/www/addons/frontpage/controllers/frontpage.js @@ -22,7 +22,7 @@ angular.module('mm.addons.frontpage') * @name mmaFrontpageCtrl */ .controller('mmaFrontpageCtrl', function($mmCourse, $mmUtil, $scope, $stateParams, $mmSite, $q, $mmCoursePrefetchDelegate, - $mmCourseHelper) { + $mmCourseHelper, $mmAddonManager) { // Default values are Site Home and all sections. var courseId = $mmSite.getSiteHomeId(), @@ -34,6 +34,7 @@ angular.module('mm.addons.frontpage') // Convenience function to fetch section(s). function loadContent() { + var hasNewsItem = false; $scope.hasContent = false; var config = $mmSite.getStoredConfig() || {numsections: 1}; @@ -61,6 +62,10 @@ angular.module('mm.addons.frontpage') return; } + if (item == 'mma-frontpage-item-news') { + hasNewsItem = true; + } + $scope.hasContent = true; $scope.items.push(item); }); @@ -87,6 +92,29 @@ angular.module('mm.addons.frontpage') // Add log in Moodle. $mmCourse.logView(courseId); + + // Remove duplicated news forum. + + // Remove forum activity (news one only). This should be fast since the same calls are done by the + // frontpageitemnews directive. + if (hasNewsItem && $scope.block && $scope.block.modules) { + $mmaModForum = $mmAddonManager.get('$mmaModForum'); + if ($mmaModForum) { + return $mmaModForum.getCourseForums(courseId).then(function(forums) { + for (var x in forums) { + if (forums[x].type == 'news') { + angular.forEach($scope.block.modules, function(blockModule, key) { + if (blockModule.modname == 'forum' && blockModule.instance == forums[x].id) { + $scope.block.modules.splice(key, 1); + } + }); + break; + } + } + }); + } + } + }, function(error) { $mmUtil.showErrorModalDefault(error, 'mm.course.couldnotloadsectioncontent', true); }); diff --git a/www/addons/frontpage/lang/ko.json b/www/addons/frontpage/lang/ko.json new file mode 100644 index 00000000000..f3f58e1b591 --- /dev/null +++ b/www/addons/frontpage/lang/ko.json @@ -0,0 +1,4 @@ +{ + "sitehome": "사이트 홈", + "sitenews": "사이트 뉴스" +} \ No newline at end of file diff --git a/www/addons/grades/lang/ko.json b/www/addons/grades/lang/ko.json new file mode 100644 index 00000000000..a56fd2f31d4 --- /dev/null +++ b/www/addons/grades/lang/ko.json @@ -0,0 +1,4 @@ +{ + "nogradesreturned": "돌아온 성적이 없습니다.", + "viewgrades": "성적 보기" +} \ No newline at end of file diff --git a/www/addons/grades/services/handlers.js b/www/addons/grades/services/handlers.js index 1f1a676b3bc..8e1715a6cd1 100644 --- a/www/addons/grades/services/handlers.js +++ b/www/addons/grades/services/handlers.js @@ -128,6 +128,21 @@ angular.module('mm.addons.grades') }; }; + /** + * Prefetch the addon for a certain course. + * + * @param {Object} course Course to prefetch. + * @return {Promise} Promise resolved when the prefetch is finished. + */ + self.prefetch = function(course) { + // Invalidate data to be sure to get the latest info. + return $mmGrades.invalidateGradesTableData(course.id).catch(function() { + // Ignore errors. + }).then(function() { + return $mmGrades.getGradesTable(course.id); + }); + }; + return self; }; diff --git a/www/addons/messageoutput/airnotifier/lang/it.json b/www/addons/messageoutput/airnotifier/lang/it.json new file mode 100644 index 00000000000..0c65c6ef0cf --- /dev/null +++ b/www/addons/messageoutput/airnotifier/lang/it.json @@ -0,0 +1,3 @@ +{ + "processorsettingsdesc": "Configura dsipositivi" +} \ No newline at end of file diff --git a/www/addons/messageoutput/airnotifier/lang/ko.json b/www/addons/messageoutput/airnotifier/lang/ko.json new file mode 100644 index 00000000000..fd744496354 --- /dev/null +++ b/www/addons/messageoutput/airnotifier/lang/ko.json @@ -0,0 +1,3 @@ +{ + "processorsettingsdesc": "장치 구성" +} \ No newline at end of file diff --git a/www/addons/messageoutput/airnotifier/lang/ru.json b/www/addons/messageoutput/airnotifier/lang/ru.json new file mode 100644 index 00000000000..4bfd031bb84 --- /dev/null +++ b/www/addons/messageoutput/airnotifier/lang/ru.json @@ -0,0 +1,3 @@ +{ + "processorsettingsdesc": "Настроить устройства" +} \ No newline at end of file diff --git a/www/addons/messages/lang/ar.json b/www/addons/messages/lang/ar.json index a047f3dfa6a..a13101c396c 100644 --- a/www/addons/messages/lang/ar.json +++ b/www/addons/messages/lang/ar.json @@ -7,6 +7,7 @@ "errordeletemessage": "خطأ عند حذف الرسالة", "message": "رسالة", "messagenotsent": "لم يتم إرسال الرسالة، يرجي المحاولة لاحقا", + "messagepreferences": "مراجع الرسالة", "messages": "رسائل", "mustbeonlinetosendmessages": "لابد أن تكون متصل بالأنترنت لكي ترسل أي رسائل", "newmessage": "رسالة جديدة", diff --git a/www/addons/messages/lang/ca.json b/www/addons/messages/lang/ca.json index 0fde0577bf9..15b88908666 100644 --- a/www/addons/messages/lang/ca.json +++ b/www/addons/messages/lang/ca.json @@ -3,7 +3,7 @@ "blockcontact": "Bloca contacte", "blockcontactconfirm": "Ja no rebreu més missatges d'aquest contacte.", "blocknoncontacts": "Impedeix que m'enviïn missatges els usuaris que no siguin a la meva llista de contactes", - "contactlistempty": "La vostra llista de contactes és buida", + "contactlistempty": "La llista de contactes és buida", "contactname": "Nom del contacte", "contacts": "Contactes", "deletemessage": "Esborra el missatge", diff --git a/www/addons/messages/lang/cs.json b/www/addons/messages/lang/cs.json index f5b9255069c..8c063c3d56e 100644 --- a/www/addons/messages/lang/cs.json +++ b/www/addons/messages/lang/cs.json @@ -1,7 +1,7 @@ { "addcontact": "Přidat kontakt", "blockcontact": "Blokovat kontakt", - "blockcontactconfirm": "Přestanete dostávat zprávy od tohoto kontaktu.", + "blockcontactconfirm": "Od tohoto kontaktu již nebudete přijímat zprávy.", "blocknoncontacts": "Blokuj všechny nové zprávy od uživatelů, které nemám v seznamu kontaktů", "contactlistempty": "Seznam kontaktů je prázdný", "contactname": "Jméno kontaktu", @@ -14,14 +14,14 @@ "errorwhileretrievingmessages": "Chyba při načítání zpráv ze serveru.", "loadpreviousmessages": "Načtení předchozích zpráv", "message": "Zpráva", - "messagenotsent": "Zpráva nebyla odeslána, zkuste to prosím později.", + "messagenotsent": "Zpráva nebyla odeslána. Zkuste to prosím později.", "messagepreferences": "Nastavení zpráv", "messages": "Zprávy", "mustbeonlinetosendmessages": "Pro odesílání zpráv musíte být online", "newmessage": "Nová zpráva", "newmessages": "Nové zprávy", "nomessages": "Zatím žádné zprávy", - "nousersfound": "Nenalezeni žádní uživatelé", + "nousersfound": "Nebyl nalezen žádný uživatel", "removecontact": "Odebrat kontakt", "removecontactconfirm": "Kontakt bude odstraněn ze seznamu kontaktů.", "send": "odeslat", diff --git a/www/addons/messages/lang/de-du.json b/www/addons/messages/lang/de-du.json index 613dd9a3c85..8825d27f57d 100644 --- a/www/addons/messages/lang/de-du.json +++ b/www/addons/messages/lang/de-du.json @@ -19,7 +19,7 @@ "newmessage": "Neue Mitteilung", "newmessages": "Neue Mitteilungen", "nomessages": "Keine Mitteilungen", - "nousersfound": "Keine Nutzer/innen gefunden", + "nousersfound": "Keine Personen gefunden", "removecontact": "Kontakt entfernen", "removecontactconfirm": "Der Kontakt wird aus deiner Kontaktliste gelöscht.", "send": "Senden", diff --git a/www/addons/messages/lang/de.json b/www/addons/messages/lang/de.json index 532a3b1d24e..b97803d226b 100644 --- a/www/addons/messages/lang/de.json +++ b/www/addons/messages/lang/de.json @@ -21,7 +21,7 @@ "newmessage": "Neue Mitteilung", "newmessages": "Neue Mitteilungen", "nomessages": "Keine Mitteilungen", - "nousersfound": "Keine Nutzer/innen gefunden", + "nousersfound": "Keine Personen gefunden", "removecontact": "Kontakt entfernen", "removecontactconfirm": "Der Kontakt wird aus Ihrer Kontaktliste gelöscht.", "send": "Senden", diff --git a/www/addons/messages/lang/el.json b/www/addons/messages/lang/el.json index 792d124765c..993499cd912 100644 --- a/www/addons/messages/lang/el.json +++ b/www/addons/messages/lang/el.json @@ -19,7 +19,7 @@ "newmessage": "Νέο μήνυμα", "newmessages": "Νέα μηνύματα", "nomessages": "Δεν υπάρχουν ακόμα μηνύματα", - "nousersfound": "Δε βρέθηκαν χρήστες", + "nousersfound": "Δεν βρέθηκαν χρήστες", "removecontact": "Αφαίρεσε την επαφή", "removecontactconfirm": "Η επαφή θα καταργηθεί από τη λίστα επαφών σας.", "send": "Αποστολή", diff --git a/www/addons/messages/lang/es-mx.json b/www/addons/messages/lang/es-mx.json index db39dcf25d6..6bbe14e2e3f 100644 --- a/www/addons/messages/lang/es-mx.json +++ b/www/addons/messages/lang/es-mx.json @@ -21,7 +21,7 @@ "newmessage": "Nuevo mensaje", "newmessages": "Nuevos mensajes", "nomessages": "No hay mensajes", - "nousersfound": "No se encuentran usuarios", + "nousersfound": "No se encontraron usuarios", "removecontact": "Eliminar contacto", "removecontactconfirm": "El contacto será quitado de su lista de contactos.", "send": "enviar", diff --git a/www/addons/messages/lang/eu.json b/www/addons/messages/lang/eu.json index 58cbf5bd111..63496514ff5 100644 --- a/www/addons/messages/lang/eu.json +++ b/www/addons/messages/lang/eu.json @@ -1,7 +1,7 @@ { "addcontact": "Gehitu kontaktua", "blockcontact": "Blokeatu kontaktua", - "blockcontactconfirm": "Kontaktu honen mezuak jasotzeari utziko diozu", + "blockcontactconfirm": "Kontaktu honen mezuak jasotzeari utziko diozu.", "blocknoncontacts": "Ez utzi kontaktu ez direnei niri mezuak bidaltzen", "contactlistempty": "Kontaktu zerrenda hutsik dago", "contactname": "Kontaktuaren izena", @@ -9,15 +9,15 @@ "deletemessage": "Ezabatu mezua", "deletemessageconfirmation": "Ziur zaude mezu hau ezabatu nahi duzula? Soilik zure mezuen historiatik ezabatuko da, eta mezua bidali edo jaso duen erabiltzaileak ikusgai izaten jarraituko du.", "errordeletemessage": "Errorea mezua ezabatzean.", - "errorwhileretrievingcontacts": "Errorea kontaktuak zerbitzaritik jasotzean.", - "errorwhileretrievingdiscussions": "Errorea elkarrizketak zerbitzaritik jasotzean.", - "errorwhileretrievingmessages": "Errorea mezuak zerbitzaritik jasotzean.", + "errorwhileretrievingcontacts": "Errore bat gertatu da kontaktuak zerbitzaritik jasotzean.", + "errorwhileretrievingdiscussions": "Errore bat gertatu da elkarrizketak zerbitzaritik jasotzean.", + "errorwhileretrievingmessages": "Errore bat gertatu da mezuak zerbitzaritik jasotzean.", "loadpreviousmessages": "Kargatu aurreko mezuak", "message": "Mezuren gurputza", - "messagenotsent": "Mezua ez da bidali, mesedez saiatu beranduago.", + "messagenotsent": "Mezua ez da bidali. Mesedez, saiatu beranduago.", "messagepreferences": "Mezuen hobespenak", "messages": "Mezuak", - "mustbeonlinetosendmessages": "Online egon behar zara mezuak bidaltzeko.", + "mustbeonlinetosendmessages": "On-line egon behar duzu mezuak bidali ahal izateko.", "newmessage": "Mezu berria", "newmessages": "Mezu beriak", "nomessages": "Ez dago mezurik oraindik", diff --git a/www/addons/messages/lang/fr.json b/www/addons/messages/lang/fr.json index 35e434a9ab4..5832ef0624b 100644 --- a/www/addons/messages/lang/fr.json +++ b/www/addons/messages/lang/fr.json @@ -2,7 +2,7 @@ "addcontact": "Ajouter ce contact", "blockcontact": "Bloquer ce contact", "blockcontactconfirm": "Vous ne recevrez plus de messages de ce contact.", - "blocknoncontacts": "Empêcher les utilisateurs inconnus de m'envoyer des messages personnels", + "blocknoncontacts": "Empêcher les utilisateurs hors liste de contacts de m'envoyer des messages personnels", "contactlistempty": "La liste des contacts est vide", "contactname": "Nom du contact", "contacts": "Contacts", @@ -21,7 +21,7 @@ "newmessage": "Nouveau message", "newmessages": "Nouveaux messages", "nomessages": "Pas encore de messages", - "nousersfound": "Aucun utilisateur n'a été trouvé", + "nousersfound": "Aucun utilisateur trouvé", "removecontact": "Supprimer ce contact", "removecontactconfirm": "Le contact sera retiré de votre liste.", "send": "Envoyer", diff --git a/www/addons/messages/lang/he.json b/www/addons/messages/lang/he.json index fb473cf8205..832e1d5c663 100644 --- a/www/addons/messages/lang/he.json +++ b/www/addons/messages/lang/he.json @@ -17,7 +17,7 @@ "mustbeonlinetosendmessages": "עליך להיות מחובר/ת בכדי לשלוח מסר.", "newmessage": "הודעה חדשה", "nomessages": "אין הודעות עדיין", - "nousersfound": "לתשומת-לב", + "nousersfound": "לא נמצאו משתמשים", "removecontact": "הסרת איש הקשר", "send": "שליחה", "sendmessage": "שליחת הודעה", diff --git a/www/addons/messages/lang/it.json b/www/addons/messages/lang/it.json index f3ea6e8dcd3..769c8e834d5 100644 --- a/www/addons/messages/lang/it.json +++ b/www/addons/messages/lang/it.json @@ -1,8 +1,9 @@ { "addcontact": "Aggiungi contatto", "blockcontact": "Blocca contatto", + "blockcontactconfirm": "Non riceverai più messaggi da questo contatto.", "blocknoncontacts": "Evita messaggi da parte di utenti che non fanno parte dei miei contatti", - "contactlistempty": "La lista dei contatti è vuota", + "contactlistempty": "L'elenco dei contatti è vuoto", "contactname": "Nome del contatto", "contacts": "Contatti", "deletemessage": "Elimina messaggio", @@ -11,15 +12,18 @@ "errorwhileretrievingcontacts": "Si è verificato un errore durante la ricezione dei contatti dal server.", "errorwhileretrievingdiscussions": "Si è verificato un errore durante la ricezione delle discussioni dal server.", "errorwhileretrievingmessages": "Si è verificato un errore durante la ricezione dei messaggi dal server.", + "loadpreviousmessages": "Carica messaggi precedenti", "message": "Corpo del messaggio", "messagenotsent": "Il messaggio non è stato inviato, per favore riprova più tardi.", "messagepreferences": "Preferenze messaggi", "messages": "Messaggi", - "mustbeonlinetosendmessages": "Per inviare messaggi devi essere online", + "mustbeonlinetosendmessages": "Per inviare messaggi devi essere online.", "newmessage": "Nuovo messaggio", + "newmessages": "Nuovi messaggi", "nomessages": "Non ci sono ancora messaggi", - "nousersfound": "Non trovato alcun utente", + "nousersfound": "Non sono stati trovati utenti", "removecontact": "Cancella contatti", + "removecontactconfirm": "Il contatto sarà eliminato dalla lista dei contatti.", "send": "invia", "sendmessage": "Invia messaggio", "type_blocked": "Bloccato", @@ -27,5 +31,6 @@ "type_online": "Online", "type_search": "Risultati della ricerca", "type_strangers": "Altri", - "unblockcontact": "Sblocca contatto" + "unblockcontact": "Sblocca contatto", + "warningmessagenotsent": "Non è stato possibile inviare messaggi all'utente {{user}}. {{error}}" } \ No newline at end of file diff --git a/www/addons/messages/lang/ja.json b/www/addons/messages/lang/ja.json index b889b60b554..4d0a1bd350c 100644 --- a/www/addons/messages/lang/ja.json +++ b/www/addons/messages/lang/ja.json @@ -3,7 +3,7 @@ "blockcontact": "受信拒否", "blockcontactconfirm": "この連絡先からのメッセージ受信を停止します。", "blocknoncontacts": "不明なユーザをブロックする", - "contactlistempty": "コンタクトリストは空です。", + "contactlistempty": "連絡先リストが空", "contactname": "連絡先名称", "contacts": "コンタクト", "deletemessage": "メッセージを削除する", @@ -21,7 +21,7 @@ "newmessage": "新しいメッセージ", "newmessages": "新規メッセージ...", "nomessages": "メッセージはありません。", - "nousersfound": "ユーザは見つかりませんでした。", + "nousersfound": "ユーザが見つかりません", "removecontact": "コンタクトから削除する", "removecontactconfirm": "連絡先はあなたの連絡先リストから削除されます。", "send": "送信", diff --git a/www/addons/messages/lang/ko.json b/www/addons/messages/lang/ko.json new file mode 100644 index 00000000000..e9ec9065be4 --- /dev/null +++ b/www/addons/messages/lang/ko.json @@ -0,0 +1,32 @@ +{ + "addcontact": "연락 추가", + "blockcontact": "연락 차단", + "blockcontactconfirm": "이 연락처의 메시지는 더 이상 수신되지 않습니다.", + "blocknoncontacts": "연락처에 없는 사람들이 나에게 메세지 보내는 것 방지", + "contactlistempty": "연락처가 비어 있습니다.", + "contactname": "연락처 이름", + "contacts": "연락처", + "errordeletemessage": "메시지를 지우는 중 오류 발생", + "errorwhileretrievingcontacts": "서버에서 연락처를 검색하는 동안 오류 발생", + "errorwhileretrievingdiscussions": "서버에서 토론을 가져 오는 중에 오류 발생", + "errorwhileretrievingmessages": "서버에서 메시지를 검색하는 중 오류 발생", + "loadpreviousmessages": "이전 메시지 로드", + "message": "메세지 내용", + "messagenotsent": "메시지가 전송되지 않았습니다. 다시 시도해 주세요.", + "messages": "메시지", + "mustbeonlinetosendmessages": "메시지를 전송하기 위해서는 온라인 상태여야 합니다.", + "newmessages": "새로운 메시지", + "nomessages": "아직 메시지 없음", + "nousersfound": "사용자가 없습니다.", + "removecontact": "연락처 제거", + "removecontactconfirm": "연락처가 연락처 목록에서 제거됩니다.", + "send": "전송", + "sendmessage": "메세지 보내기", + "type_blocked": "차단된", + "type_offline": "오프라인", + "type_online": "온라인", + "type_search": "검색 결과", + "type_strangers": "기타", + "unblockcontact": "차단되지 않은 연락처", + "warningmessagenotsent": "{{user}} 사용자에게 메시지를 보낼 수 없습니다. {{오류}}" +} \ No newline at end of file diff --git a/www/addons/messages/lang/lt.json b/www/addons/messages/lang/lt.json index 79b78afbfb0..05ff92e7be3 100644 --- a/www/addons/messages/lang/lt.json +++ b/www/addons/messages/lang/lt.json @@ -2,7 +2,7 @@ "addcontact": "Įtraukti kontaktą", "blockcontact": "Blokuoti kontaktą", "blocknoncontacts": "Neleisti neįtrauktiems į kontaktų sąrašą asmenims siųsti man žinutes", - "contactlistempty": "Jūsų kontaktų sąrašas tuščias", + "contactlistempty": "Kontaktų sąrašas tuščias", "contactname": "Kontaktas", "contacts": "Kontaktai", "errordeletemessage": "Klaida trinant žinutes.", @@ -16,7 +16,7 @@ "mustbeonlinetosendmessages": "Norėdamas išsiųsti žinutę, turite prisijungti", "newmessage": "Nauja žinutė", "nomessages": "Nėra žinučių", - "nousersfound": "Nerasta naudotojų", + "nousersfound": "Vartotojas nerastas", "removecontact": "Pašalinti kontaktą", "send": "siųsti", "sendmessage": "Siųsti žinutę", diff --git a/www/addons/messages/lang/mr.json b/www/addons/messages/lang/mr.json index 4746a250790..039dd97cfd7 100644 --- a/www/addons/messages/lang/mr.json +++ b/www/addons/messages/lang/mr.json @@ -17,7 +17,7 @@ "mustbeonlinetosendmessages": "आपल्याला संदेश पाठविण्यासाठी ऑनलाइन असणे आवश्यक आहे", "newmessages": "नवीन संदेश", "nomessages": "प्रतीक्षा सुचीमध्ये संदेश नाहीत", - "nousersfound": "युजर सापडत नाहीत", + "nousersfound": "कोणतेही वापरकर्ते आढळले नाहीत", "removecontact": "संपर्क काढुन टाका", "removecontactconfirm": "आपल्या संपर्क यादीतून संपर्क काढला जाईल.", "sendmessage": "संदेश पाठवा", diff --git a/www/addons/messages/lang/pt-br.json b/www/addons/messages/lang/pt-br.json index 05e8e92274b..fdebbcdecb6 100644 --- a/www/addons/messages/lang/pt-br.json +++ b/www/addons/messages/lang/pt-br.json @@ -3,7 +3,7 @@ "blockcontact": "Bloquear contato", "blockcontactconfirm": "Você deixará de receber mensagens deste contato.", "blocknoncontacts": "Bloquear todas as mensagens de quem não estiver na minha lista de contatos", - "contactlistempty": "Lista de contatos vazia", + "contactlistempty": "A lista de contatos está vaiza", "contactname": "Nome do contato", "contacts": "Contatos", "deletemessage": "Excluir mensagem", diff --git a/www/addons/messages/lang/ro.json b/www/addons/messages/lang/ro.json index e926661d4f1..681f135e6da 100644 --- a/www/addons/messages/lang/ro.json +++ b/www/addons/messages/lang/ro.json @@ -15,9 +15,9 @@ "messagenotsent": "Mesajul nu a fost expediat, vă rugăm să încercați mai târziu.", "messages": "Mesaje", "mustbeonlinetosendmessages": "Trebuie să fiți online pentru a putea trimite mesaje", - "newmessage": "Mesaj nou!", + "newmessage": "Mesaj nou", "nomessages": "Nu există mesaje în aşteptare", - "nousersfound": "Nu s-au găsit utilizatori", + "nousersfound": "Nu au fost găsiți utilizatori", "removecontact": "Şterge prieten din listă", "send": "Trimis", "sendmessage": "Trimite mesaj", diff --git a/www/addons/messages/lang/ru.json b/www/addons/messages/lang/ru.json index adb99a6ab4d..5d4238cfd91 100644 --- a/www/addons/messages/lang/ru.json +++ b/www/addons/messages/lang/ru.json @@ -1,26 +1,29 @@ { "addcontact": "Добавить собеседника", "blockcontact": "Блокировать сообщения от этого человека", + "blockcontactconfirm": "Вы больше не будете получать сообщения от этого контакта.", "blocknoncontacts": "Не принимать сообщения от людей, которых нет в списке моих собеседников", - "contactlistempty": "Список собеседников пуст", + "contactlistempty": "Список контактов пуст", "contactname": "Имя контакта", "contacts": "Собеседники", "deletemessage": "Удалить сообщение", "deletemessageconfirmation": "Вы уверены, что хотите удалить данное сообщение? Сообщение будет удалено лишь из списка сообщений и будет доступно для просмотра отправителем или получателем.", - "errorwhileretrievingcontacts": "Ошибка при извлечении контактов с сервера", - "errorwhileretrievingdiscussions": "Ошибка при получении обсуждения с сервера.", - "errorwhileretrievingmessages": "Ошибка при получении сообщения с сервера", + "errordeletemessage": "Ошибка при удалении сообщения.", + "errorwhileretrievingcontacts": "Ошибка при извлечении контактов с сервера.", + "errorwhileretrievingdiscussions": "Ошибка при получении обсуждений с сервера.", + "errorwhileretrievingmessages": "Ошибка при получении сообщений с сервера.", "loadpreviousmessages": "Загрузить предыдущее сообщение", "message": "Текст сообщения", - "messagenotsent": "Сообщение не было отправлено. Повторите попытку позже.", + "messagenotsent": "Сообщение не было отправлено. Пожалуйста, повторите попытку позже.", "messagepreferences": "Настройки сообщений", "messages": "Сообщения", - "mustbeonlinetosendmessages": "Вы должны быть на сайте, чтобы отправлять сообщения", + "mustbeonlinetosendmessages": "Вы должны быть подключены к сети, чтобы отправлять сообщения.", "newmessage": "Новое сообщение", "newmessages": "Новые сообщения", "nomessages": "Нет ни одного сообщения", "nousersfound": "Пользователи не найдены", "removecontact": "Удалить собеседника из моего списка", + "removecontactconfirm": "Контакт будет удалён из вашего списка контактов.", "send": "Отправить", "sendmessage": "Отправить сообщение", "type_blocked": "Заблокировано", @@ -28,5 +31,6 @@ "type_online": "На сайте", "type_search": "Результаты поиска", "type_strangers": "Другие", - "unblockcontact": "Разблокировать сообщения от этого собеседника" + "unblockcontact": "Разблокировать сообщения от этого собеседника", + "warningmessagenotsent": "Не получилось отправить сообщение(я) пользователю {{user}}. {{error}}" } \ No newline at end of file diff --git a/www/addons/messages/lang/sv.json b/www/addons/messages/lang/sv.json index 46c8195fcc9..3d12a6403e1 100644 --- a/www/addons/messages/lang/sv.json +++ b/www/addons/messages/lang/sv.json @@ -18,7 +18,7 @@ "mustbeonlinetosendmessages": "Du måste vara online för att skicka meddelanden", "newmessage": "Nytt meddelande", "nomessages": "Inga meddelanden än", - "nousersfound": "Det gick inte att hitta några användare", + "nousersfound": "Inga användare hittades", "removecontact": "Ta bort kontakt", "send": "skicka", "sendmessage": "Skicka meddelande", diff --git a/www/addons/mod/assign/feedback/comments/lang/ko.json b/www/addons/mod/assign/feedback/comments/lang/ko.json new file mode 100644 index 00000000000..4edf1fede9f --- /dev/null +++ b/www/addons/mod/assign/feedback/comments/lang/ko.json @@ -0,0 +1,3 @@ +{ + "pluginname": "피드백 코멘트" +} \ No newline at end of file diff --git a/www/addons/mod/assign/feedback/editpdf/lang/ko.json b/www/addons/mod/assign/feedback/editpdf/lang/ko.json new file mode 100644 index 00000000000..a2dee549f10 --- /dev/null +++ b/www/addons/mod/assign/feedback/editpdf/lang/ko.json @@ -0,0 +1,3 @@ +{ + "pluginname": "PDF 주석추가" +} \ No newline at end of file diff --git a/www/addons/mod/assign/feedback/file/lang/el.json b/www/addons/mod/assign/feedback/file/lang/el.json index 87e1e04556a..f8f9520bf64 100644 --- a/www/addons/mod/assign/feedback/file/lang/el.json +++ b/www/addons/mod/assign/feedback/file/lang/el.json @@ -1,3 +1,3 @@ { - "pluginname": "Συζήτηση" + "pluginname": "Όνομα πρόσθετης λειτουργίας χώρου αποθήκευσης" } \ No newline at end of file diff --git a/www/addons/mod/assign/feedback/file/lang/ko.json b/www/addons/mod/assign/feedback/file/lang/ko.json new file mode 100644 index 00000000000..51bac8f4a74 --- /dev/null +++ b/www/addons/mod/assign/feedback/file/lang/ko.json @@ -0,0 +1,3 @@ +{ + "pluginname": "파일 피드백" +} \ No newline at end of file diff --git a/www/addons/mod/assign/lang/cs.json b/www/addons/mod/assign/lang/cs.json index 5a161371d89..0e7d8aff5c6 100644 --- a/www/addons/mod/assign/lang/cs.json +++ b/www/addons/mod/assign/lang/cs.json @@ -28,10 +28,10 @@ "duedatereached": "Termín pro odevzdání tohoto úkolu vypršel", "editingstatus": "Stav úprav", "editsubmission": "Upravit řešení úkolu", - "erroreditpluginsnotsupported": "V aplikaci nemůžete přidat nebo upravit řešení úkolu, protože některé doplňky nepodporují úpravy:", - "errorshowinginformation": "Nemůžeme zobrazit informace o řešení úkolu", + "erroreditpluginsnotsupported": "V aplikaci nemůžete přidat nebo upravit řešení úkolu, protože některé doplňky nepodporují úpravy.", + "errorshowinginformation": "Nelze zobrazit informace o řešení úkolu.", "extensionduedate": "Prodloužený termín odevzdání", - "feedbacknotsupported": "Tento komentář není aplikací podporován a nemůže obsahovat informace", + "feedbacknotsupported": "Tento komentář aplikace nepodporuje a nemusí obsahovat všechny informace.", "grade": "Známka", "graded": "Udělena známka", "gradedby": "Hodnoceno", @@ -55,7 +55,7 @@ "nomoresubmissionsaccepted": "Povoleny pouze pro účastníky, kterým byl prodloužen termín", "noonlinesubmissions": "Tento úkol nevyžaduje odpověď online", "nosubmission": "K tomuto úkolu nebylo nic odevzdáno", - "notallparticipantsareshown": "Nejsou zobrazeni účastníci bez odevzdaného řešení úkolu", + "notallparticipantsareshown": "Nejsou zobrazeni účastníci bez odevzdaného řešení úkolu.", "noteam": "Není členem žádné skupiny", "notgraded": "Nehodnoceno", "numberofdraftsubmissions": "Návrhy", @@ -70,7 +70,7 @@ "submission": "Odevzdané úkoly", "submissioneditable": "Student může upravit tento úkol", "submissionnoteditable": "Student nemůže upravit tento úkol", - "submissionnotsupported": "Tento formát řešení úkolu není aplikací podporován a nemůže obsahovat informace", + "submissionnotsupported": "Tento formát řešení úkolu aplikace nepodporuje a nemusí obsahovat všechny informace.", "submissionslocked": "V tomto úkolu nelze odevzdat práci", "submissionstatus": "Stav odevzdání úkolu", "submissionstatus_": "Neodesláno", diff --git a/www/addons/mod/assign/lang/da.json b/www/addons/mod/assign/lang/da.json index 109a2c1254b..63c6eff1859 100644 --- a/www/addons/mod/assign/lang/da.json +++ b/www/addons/mod/assign/lang/da.json @@ -83,7 +83,7 @@ "submissionteam": "Gruppe", "submitassignment": "Aflever", "submitassignment_help": "Når opgaven er afleveret kan du ikke længere foretage ændringer i den.", - "submittedearly": "Opgaven blev afleveret {{$a}} for tidligt", + "submittedearly": "Opgaven blev afleveret {{$a}} inden fristens udløb.", "submittedlate": "Opgaven blev afleveret {{$a}} for sent", "timemodified": "Seneste ændring", "timeremaining": "Resterende tid", diff --git a/www/addons/mod/assign/lang/el.json b/www/addons/mod/assign/lang/el.json index 275c3dfd231..094fe48986a 100644 --- a/www/addons/mod/assign/lang/el.json +++ b/www/addons/mod/assign/lang/el.json @@ -13,6 +13,7 @@ "cannoteditduetostatementsubmission": "Δεν μπορείτε να προσθέσετε ή να επεξεργαστείτε μια υποβολή στην εφαρμογή, γιατί δεν κατέστη δυνατό να ανακτηθεί η δήλωση υποβολής από το site.", "cannotgradefromapp": "Μερικές μέθοδοι ταξινόμησης δεν υποστηρίζονται ακόμα από την εφαρμογή και δεν μπορεί να τροποποιηθεί.", "cannotsubmitduetostatementsubmission": "Δεν μπορείτε να υποβάλετε για βαθμολόγηση στην εφαρμογή, γιατί δεν κατέστη δυνατό να ανακτηθεί η δήλωση υποβολής από το site.", + "confirmsubmission": "Σίγουρα θέλετε να υποβάλετε την εργασία σας προς βαθμολόγηση; Δε θα μπορείτε να κάνετε περαιτέρω αλλαγές.", "currentattempt": "Αυτή είναι η {{$a}} προσπάθεια.", "currentattemptof": "Αυτή είναι η {{$a.attemptnumber}} προσπάθεια ( {{$a.maxattempts}} προσπάθειες επιτρέπονται).", "currentgrade": "Τωρινός βαθμός στο βαθμολόγιο", @@ -60,6 +61,7 @@ "submissionstatusheading": "Κατάσταση Υποβολής", "submissionteam": "Ομάδα", "submitassignment": "Υποβολή εργασίας", + "submitassignment_help": "Από τη στιγμή που θα υποβληθεί η εργασία δεν θα μπορείτε να κάνετε οποιαδήποτε αλλαγή.", "submittedearly": "Η εργασία υποβλήθηκε νωρίτερα κατά {{$a}}", "submittedlate": "Η εργασία υποβλήθηκε {{$a}} αργότερα", "timemodified": "Τελευταία Τροποποίηση", diff --git a/www/addons/mod/assign/lang/en.json b/www/addons/mod/assign/lang/en.json index 16f95b9dd48..e044377550f 100644 --- a/www/addons/mod/assign/lang/en.json +++ b/www/addons/mod/assign/lang/en.json @@ -14,9 +14,9 @@ "attemptreopenmethod_manual": "Manually", "attemptreopenmethod_untilpass": "Automatically until pass", "attemptsettings": "Attempt settings", - "cannotgradefromapp": "Some grading methods are not yet supported by the app and cannot be modified.", - "cannoteditduetostatementsubmission": "You cannot add or edit a submission in the app because we couldn't retrieve the submission statement from the site.", - "cannotsubmitduetostatementsubmission": "You cannot submit for grading in the app because we couldn't retrieve the submission statement from the site.", + "cannotgradefromapp": "Certain grading methods are not yet supported by the app and cannot be modified.", + "cannoteditduetostatementsubmission": "You can't add or edit a submission in the app because the submission statement could not be retrieved from the site.", + "cannotsubmitduetostatementsubmission": "You can't make a submission in the app because the submission statement could not be retrieved from the site.", "confirmsubmission": "Are you sure you want to submit your work for grading? You will not be able to make any more changes.", "currentgrade": "Current grade in gradebook", "cutoffdate": "Cut-off date", @@ -28,10 +28,10 @@ "duedatereached": "The due date for this assignment has now passed", "editingstatus": "Editing status", "editsubmission": "Edit submission", - "erroreditpluginsnotsupported": "You cannot add or edit a submission in the app because some plugins aren't supported for editing:", - "errorshowinginformation": "We can't display the submission information", + "erroreditpluginsnotsupported": "You can't add or edit a submission in the app because certain plugins are not yet supported for editing.", + "errorshowinginformation": "Submission information cannot be displayed.", "extensionduedate": "Extension due date", - "feedbacknotsupported": "This feedback is not supported by the app and may not contain all the information", + "feedbacknotsupported": "This feedback is not supported by the app and may not contain all the information.", "grade": "Grade", "graded": "Graded", "gradedby": "Graded by", @@ -55,7 +55,7 @@ "nomoresubmissionsaccepted": "Only allowed for participants who have been granted an extension", "noonlinesubmissions": "This assignment does not require you to submit anything online", "nosubmission": "Nothing has been submitted for this assignment", - "notallparticipantsareshown": "Participants without submissions are not being shown", + "notallparticipantsareshown": "Participants who have not made a submission are not shown.", "noteam": "Not a member of any group", "notgraded": "Not graded", "numberofdraftsubmissions": "Drafts", @@ -69,7 +69,7 @@ "savechanges": "Save changes", "submissioneditable": "Student can edit this submission", "submissionnoteditable": "Student cannot edit this submission", - "submissionnotsupported": "This submission is not supported by the app and may not contain all the information", + "submissionnotsupported": "This submission is not supported by the app and may not contain all the information.", "submission": "Submission", "submissionslocked": "This assignment is not accepting submissions", "submissionstatus_draft": "Draft (not submitted)", @@ -90,10 +90,10 @@ "timeremaining": "Time remaining", "ungroupedusers": "The setting 'Require group to make submission' is enabled and some users are either not a member of any group, or are a member of more than one group, so are unable to make submissions.", "unlimitedattempts": "Unlimited", - "userwithid": "User with Id {{id}}", + "userwithid": "User with ID {{id}}", "userswhoneedtosubmit": "Users who need to submit: {{$a}}", "viewsubmission": "View submission", - "warningsubmissionmodified": "The user submission was modified in the site.", - "warningsubmissiongrademodified": "The submission grade was modified in the site.", + "warningsubmissionmodified": "The user submission was modified on the site.", + "warningsubmissiongrademodified": "The submission grade was modified on the site.", "wordlimit": "Word limit" } \ No newline at end of file diff --git a/www/addons/mod/assign/lang/eu.json b/www/addons/mod/assign/lang/eu.json index 1b62e71067f..ed6995a418e 100644 --- a/www/addons/mod/assign/lang/eu.json +++ b/www/addons/mod/assign/lang/eu.json @@ -14,9 +14,9 @@ "attemptreopenmethod_manual": "Eskuz", "attemptreopenmethod_untilpass": "Automatikoki gainditu arte", "attemptsettings": "Saiakeren ezarpenak", - "cannoteditduetostatementsubmission": "Ezin duzu app-an bidalketa gehitu edo editatu ezin izan dugulako berreskuratu guneko bidalketa-sententzia.", - "cannotgradefromapp": "Kalifikazio-metodo batzuk oraindik ez daude app-an onartuta eta ezin dira aldatu.", - "cannotsubmitduetostatementsubmission": "Ezin duzu app-an bidalketa ebaluatzeko bidali ezin izan dugulako berreskuratu guneko bidalketa-sententzia.", + "cannoteditduetostatementsubmission": "Ezin duzu bidalketa app-an gehitu edo editatu ezin izan dugulako guneko bidalketa-sententzia berreskuratu.", + "cannotgradefromapp": "Kalifikazio-metodo batzuk oraindik ez daude app-an onartuta eta ezin dira aldatu .", + "cannotsubmitduetostatementsubmission": "Ezin duzu app-an bidalketa bat egin ezin izan dugulako guneko bidalketa-sententzia berreskuratu.", "confirmsubmission": "Ziur al zaude zure lana bidali nahi duzula kalifikatzeko? Ezin izango duzu aldaketarik egin.", "currentattempt": "Hau da {{$a}} saiakera.", "currentattemptof": "Hau {{$a.attemptnumber}}. saiakera da ( {{$a.maxattempts}} saiakera onartzen dira ).", @@ -28,10 +28,10 @@ "duedatereached": "Zeregin hau bidaltzeko epea amaitu da", "editingstatus": "Editatzen egoera", "editsubmission": "Editatu bidalketa", - "erroreditpluginsnotsupported": "Ezin duzu app-an bidalketa gehitu edo editatu gehigarri batzuk ez dutelako editatatzea onartzen:", - "errorshowinginformation": "Ezin dugu bidalketaren informazioa erakutsi", + "erroreditpluginsnotsupported": "Ezin duzu bidalketa app-an gehitu edo editatu gehigarri batzuk ez dutelako editatatzea onartzen.", + "errorshowinginformation": "Ezin da bidalketaren informazioa erakutsi.", "extensionduedate": "Luzapenaren entregatze-data", - "feedbacknotsupported": "Feedback hau ez da onartzen app-an eta baliteke informazio guztia jasota ez egotea.", + "feedbacknotsupported": "Feedback hau ez da app-an onartzen eta baliteke informazio guztia jasota ez egotea.", "grade": "Nota", "graded": "Kalifikatua", "gradedby": "Nork kalifikatua", @@ -55,7 +55,7 @@ "nomoresubmissionsaccepted": "Soilik epearen luzapena jaso duten kideei baimenduta.", "noonlinesubmissions": "Zeregin honek ez du ezer on-line aurkezteko eskatzen", "nosubmission": "Ez dago bildalketarik zeregin honetan", - "notallparticipantsareshown": "Bidalketarik egin ez duten ikasleak ez dira erakusten", + "notallparticipantsareshown": "Bidalketarik egin ez duten ikasleak ez dira erakusten.", "noteam": "Ez zara inongo taldetako kide", "notgraded": "Kalifikatu gabea", "numberofdraftsubmissions": "Zirriborroak", @@ -70,7 +70,7 @@ "submission": "Bidalketa", "submissioneditable": "Ikasleak bere bidalketa edita dezake", "submissionnoteditable": "Ikasleak ezin du editatu bidalketa hau", - "submissionnotsupported": "Bidalketa hau ez da onartzen app-an eta baliteke informazio guztia jasota ez egotea.", + "submissionnotsupported": "Bidalketa hau ez da app-an onartzen eta baliteke informazio guztia jasota ez egotea.", "submissionslocked": "Zeregin honek ez du bidalketarik onartzen", "submissionstatus": "Bidalketaren egoera", "submissionstatus_": "Ez dago bidalketarik", diff --git a/www/addons/mod/assign/lang/it.json b/www/addons/mod/assign/lang/it.json index efc338d796b..c25d659a234 100644 --- a/www/addons/mod/assign/lang/it.json +++ b/www/addons/mod/assign/lang/it.json @@ -25,10 +25,12 @@ "editingstatus": "Possibilità di modifica", "editsubmission": "Modifica consegna", "extensionduedate": "Data scadenza proroga", + "feedbacknotsupported": "Questo feedback non è supportato dalla app e può non contenere tutte le informazioni.", "grade": "Punteggio", "graded": "Valutata", "gradedby": "Valutatore", "gradedon": "Data di valutazione", + "gradenotsynced": "Valutazione non sincronizzata", "gradeoutof": "Punteggio (su {{$a}})", "gradingstatus": "Stato valutazione", "groupsubmissionsettings": "Impostazioni consegna di gruppo", @@ -47,7 +49,7 @@ "nomoresubmissionsaccepted": "Consentito solamente ai partecipanti ai quali è stata concessa una proroga", "noonlinesubmissions": "Questo compito non richiede consegne online", "nosubmission": "Non sono presenti consegne da valutare", - "notallparticipantsareshown": "I partecipanti che non hanno consegnato non sono visualizzati", + "notallparticipantsareshown": "I partecipanti che non hanno consegnato non sono visualizzati.", "noteam": "Non appartieni a nessun gruppo", "notgraded": "Non valutata", "numberofdraftsubmissions": "Bozze", @@ -82,6 +84,8 @@ "ungroupedusers": "L'impostazione 'Consegna di gruppo obbligatoria' è abilitata ma alcuni utenti non fanno parte di gruppi o fanno parte di più gruppi e pertanto non potranno effettuare consegne.", "unlimitedattempts": "Illimitati", "userswhoneedtosubmit": "Utenti che non hanno consegnato: {{$a}}", - "userwithid": "Utente con id {{id}}", - "viewsubmission": "Visualizza consegne" + "userwithid": "Utente con ID {{id}}", + "viewsubmission": "Visualizza consegne", + "warningsubmissiongrademodified": "La valutazione dell'utente è stata modificata sul sito.", + "warningsubmissionmodified": "La consegna dell'utente è stata modificata sul sito." } \ No newline at end of file diff --git a/www/addons/mod/assign/lang/ko.json b/www/addons/mod/assign/lang/ko.json new file mode 100644 index 00000000000..fa33c430357 --- /dev/null +++ b/www/addons/mod/assign/lang/ko.json @@ -0,0 +1,76 @@ +{ + "addattempt": "또 다른 시도 추가", + "addnewattempt": "새 시도 추가", + "addnewattemptfromprevious": "이전 제출에 기반한 새 시도 추가", + "addsubmission": "제출 추가", + "allowsubmissionsanddescriptionfromdatesummary": "과제 세부사항과 제출 양식이 {{$a}} 부터 사용가능합니다.", + "allowsubmissionsfromdate": "제출 시작일:", + "allowsubmissionsfromdatesummary": "이 과제는 {{$a}}부터 제출이 가능합니다.", + "applytoteam": "모둠 전체에 성적과 피드백 적용", + "assignmentisdue": "과제 제출 마감 시한", + "attemptnumber": "시도 수", + "attemptreopenmethod": "시도 재개", + "attemptreopenmethod_manual": "수동으로", + "attemptreopenmethod_untilpass": "통과할때까지 자동으로", + "attemptsettings": "시도 설정", + "confirmsubmission": "채점을 위해 과제를 제출 하시겠습니까? 제출하면 이상 변경할 수 없습니다.", + "currentattempt": "시도 {{$a}}입니다.", + "currentattemptof": "시도 {{$a.attemptnumber}} ({{$a.maxattempts}} 시도가 허용됩니다.)", + "currentgrade": "성적부에서 현재 성적", + "cutoffdate": "최종 마감일", + "defaultteam": "기본 모둠", + "duedate": "마감 일시", + "duedateno": "무기한", + "duedatereached": "이 과제 제출 마감일이 지났습니다.", + "editingstatus": "상태 편집", + "editsubmission": "제출물 편집", + "extensionduedate": "제출일 연장", + "grade": "성적", + "graded": "채점됨", + "gradedby": "채점자:", + "gradedon": "채점일:", + "gradenotsynced": "성적이 동기화 안됨", + "gradeoutof": "{{$a}} 중 채점", + "gradingstatus": "채점 상태", + "groupsubmissionsettings": "모둠 제출 설정", + "hiddenuser": "참가자", + "latesubmissions": "늦은 제출", + "latesubmissionsaccepted": "연장 허가를 받은 학생들만 아직 과제를 제출할 수 있습니다", + "noattempt": "시도 없음", + "nomoresubmissionsaccepted": "더 이상 제출을 받지 않습니다", + "noonlinesubmissions": "이 과제는 온라인으로 제출하는 것을 요구하지 않습니다.", + "nosubmission": "이 과제에 대해 제출된 것이 없습니다.", + "notgraded": "채점되지 않음", + "numberofdraftsubmissions": "초안", + "numberofparticipants": "참가자", + "numberofsubmissionsneedgrading": "채점이 필요합니다.", + "numberofsubmittedassignments": "제출함", + "numberofteams": "모둠", + "numwords": "{{$a}} 단어", + "outof": "{{$a.total}}중 {{$a.current}}", + "overdue": "과제 제출 기한이 {{$a}} 지났습니다, ", + "savechanges": "변경사항 저장", + "submission": "제출", + "submissioneditable": "학생들은 이 제출을 편집할 수 있습니다.", + "submissionnoteditable": "학생들은 이 제출을 편집할 수 없습니다.", + "submissionslocked": "이 과제는 제출을 받지 않습니다.", + "submissionstatus": "제출 상태", + "submissionstatus_": "제출이 없습니다.", + "submissionstatus_draft": "초안(제출 되지 않았음)", + "submissionstatus_marked": "채점됨", + "submissionstatus_new": "새 제출", + "submissionstatus_reopened": "다시 오픈됨", + "submissionstatus_submitted": "채점을 위해 제출되었습니다.", + "submissionstatusheading": "제출 상태", + "submissionteam": "모둠", + "submitassignment": "과제 제출", + "submitassignment_help": "과제가 제출되면 더 이상 변경할 수 없습니다.", + "submittedearly": "과제가 {{$a}} 일찍 제출되었습니다.", + "submittedlate": "과제가 {{$a}} 늦게 제출되었습니다.", + "timemodified": "마지막 수정", + "timeremaining": "남은 시간", + "unlimitedattempts": "무제한", + "userswhoneedtosubmit": "제출이 필요한 사용자 : {{$a}}", + "userwithid": "ID가 {{id}} 인 사용자", + "viewsubmission": "제출 보기" +} \ No newline at end of file diff --git a/www/addons/mod/assign/lang/nl.json b/www/addons/mod/assign/lang/nl.json index 93306a816c3..b1840d5eed5 100644 --- a/www/addons/mod/assign/lang/nl.json +++ b/www/addons/mod/assign/lang/nl.json @@ -8,7 +8,7 @@ "allowsubmissionsfromdate": "Insturen toestaan vanaf", "allowsubmissionsfromdatesummary": "Deze opdracht zal inzendingen ontvangen vanaf {{$a}}", "applytoteam": "Cijfers en feedback aan de hele groep geven", - "assignmentisdue": "Opdracht tegen", + "assignmentisdue": "Opdracht moet worden ingeleverd", "attemptnumber": "Pogingnummer", "attemptreopenmethod": "Heropende pogingen", "attemptreopenmethod_manual": "Manueel", diff --git a/www/addons/mod/assign/lang/ru.json b/www/addons/mod/assign/lang/ru.json index d2e1917e97a..16cdb882d4a 100644 --- a/www/addons/mod/assign/lang/ru.json +++ b/www/addons/mod/assign/lang/ru.json @@ -1,4 +1,5 @@ { + "acceptsubmissionstatement": "Пожалуйста, примите заявление к предоставляемому ответу.", "addattempt": "Разрешить еще одну попытку", "addnewattempt": "Добавить новую попытку", "addnewattemptfromprevious": "Добавить новую попытку на основе предыдущего представления", @@ -13,6 +14,9 @@ "attemptreopenmethod_manual": "Вручную", "attemptreopenmethod_untilpass": "Автоматически (до проходной оценки)", "attemptsettings": "Настройки попытки", + "cannoteditduetostatementsubmission": "Вы не можете добавить или отредактировать ответ в приложении, потому что не удалось получить с сайта заявление к предоставляемому ответу.", + "cannotgradefromapp": "Определённые методы оценки ещё не поддерживаются приложением и не могут быть изменены.", + "cannotsubmitduetostatementsubmission": "Вы не можете ответить в приложении, потому что не удалось получить с сайта заявление к предоставляемому ответу.", "confirmsubmission": "Вы уверены, что хотите представить свою работу для оценивания? Вы больше не сможете изменить свой ответ.", "currentattempt": "Попытка {{$a}}.", "currentattemptof": "Номер этой попытки - {{$a.attemptnumber}}. (Разрешено попыток - {{$a.maxattempts}})", @@ -24,7 +28,10 @@ "duedatereached": "Срок сдачи этого задания уже истек", "editingstatus": "Изменение статуса", "editsubmission": "Редактировать ответ", + "erroreditpluginsnotsupported": "Вы не можете добавлять или изменять ответ в приложении, потому что определённые плагины пока не поддерживают редактирование.", + "errorshowinginformation": "Информация об ответе не может быть отображена.", "extensionduedate": "Срок продления", + "feedbacknotsupported": "Эта обратная связь не поддерживается приложением и может содержать не всю информацию.", "grade": "Оценка", "graded": "Оценено", "gradedby": "Оценено", @@ -48,6 +55,7 @@ "nomoresubmissionsaccepted": "Разрешено только для участников, которым было предоставлено продление срока.", "noonlinesubmissions": "Ответ на задание должен быть представлен вне сайта", "nosubmission": "Ничего не было представлено", + "notallparticipantsareshown": "Участники, которые не дали ответ, не показаны.", "noteam": "Не является членом какой-либо группы", "notgraded": "Не оценено", "numberofdraftsubmissions": "Черновик", @@ -62,6 +70,7 @@ "submission": "Ответ", "submissioneditable": "Студент может править свой ответ", "submissionnoteditable": "Студент не может исправлять этот ответ", + "submissionnotsupported": "Этот ответ не поддерживается приложением и может содержать не всю информацию.", "submissionslocked": "Ответы на это задание не принимаются", "submissionstatus": "Состояние ответа на задание", "submissionstatus_": "Нет ответа на задание", @@ -69,7 +78,7 @@ "submissionstatus_marked": "Оценено", "submissionstatus_new": "Ответ не представлен", "submissionstatus_reopened": "Возобновлено", - "submissionstatus_submitted": "Ответы для оценки", + "submissionstatus_submitted": "Отправлено для оценивания", "submissionstatusheading": "Состояние ответа", "submissionteam": "Группы", "submitassignment": "Отправить на проверку", @@ -82,5 +91,7 @@ "unlimitedattempts": "Неограничено", "userswhoneedtosubmit": "Пользователи, которые должны представить ответ: {{$a}}", "userwithid": "Пользователь с ID {{id}}", - "viewsubmission": "Просмотр ответов" + "viewsubmission": "Просмотр ответов", + "warningsubmissiongrademodified": "Оценка ответа была изменена на сайте.", + "warningsubmissionmodified": "Ответ пользователя был изменён на сайте." } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/comments/lang/ar.json b/www/addons/mod/assign/submission/comments/lang/ar.json index a3611bbf005..5e26c93b68a 100644 --- a/www/addons/mod/assign/submission/comments/lang/ar.json +++ b/www/addons/mod/assign/submission/comments/lang/ar.json @@ -1,3 +1,3 @@ { - "pluginname": "الاختيار" + "pluginname": "محادثة" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/comments/lang/ko.json b/www/addons/mod/assign/submission/comments/lang/ko.json new file mode 100644 index 00000000000..3e3ba79cf8b --- /dev/null +++ b/www/addons/mod/assign/submission/comments/lang/ko.json @@ -0,0 +1,3 @@ +{ + "pluginname": "제출 코멘트" +} \ No newline at end of file diff --git a/www/addons/mod/assign/submission/comments/lang/mr.json b/www/addons/mod/assign/submission/comments/lang/mr.json index c031183b2ca..86dcff053b0 100644 --- a/www/addons/mod/assign/submission/comments/lang/mr.json +++ b/www/addons/mod/assign/submission/comments/lang/mr.json @@ -1,3 +1,3 @@ { - "pluginname": "निवड" + "pluginname": "संभाषण" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/file/lang/ko.json b/www/addons/mod/assign/submission/file/lang/ko.json new file mode 100644 index 00000000000..b6efe121018 --- /dev/null +++ b/www/addons/mod/assign/submission/file/lang/ko.json @@ -0,0 +1,3 @@ +{ + "pluginname": "파일 제출" +} \ No newline at end of file diff --git a/www/addons/mod/assign/submission/file/lang/mr.json b/www/addons/mod/assign/submission/file/lang/mr.json index c031183b2ca..86dcff053b0 100644 --- a/www/addons/mod/assign/submission/file/lang/mr.json +++ b/www/addons/mod/assign/submission/file/lang/mr.json @@ -1,3 +1,3 @@ { - "pluginname": "निवड" + "pluginname": "संभाषण" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/ar.json b/www/addons/mod/assign/submission/onlinetext/lang/ar.json index a3611bbf005..5e26c93b68a 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/ar.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/ar.json @@ -1,3 +1,3 @@ { - "pluginname": "الاختيار" + "pluginname": "محادثة" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/bg.json b/www/addons/mod/assign/submission/onlinetext/lang/bg.json index 8a241b288f2..c81014ebe4d 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/bg.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/bg.json @@ -1,3 +1,3 @@ { - "pluginname": "Избор" + "pluginname": "Чат" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/ca.json b/www/addons/mod/assign/submission/onlinetext/lang/ca.json index a98012914f7..73899244b88 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/ca.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/ca.json @@ -1,3 +1,3 @@ { - "pluginname": "Xat" + "pluginname": "Nom del connector de repositori" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/da.json b/www/addons/mod/assign/submission/onlinetext/lang/da.json index 338d52fb9c4..06823ea17f5 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/da.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/da.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Navn på filarkiv-plugin" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/de-du.json b/www/addons/mod/assign/submission/onlinetext/lang/de-du.json index 338d52fb9c4..b681ebe0f7a 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/de-du.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/de-du.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Name des Plugins" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/de.json b/www/addons/mod/assign/submission/onlinetext/lang/de.json index 338d52fb9c4..b681ebe0f7a 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/de.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/de.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Name des Plugins" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/el.json b/www/addons/mod/assign/submission/onlinetext/lang/el.json index 87e1e04556a..f8f9520bf64 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/el.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/el.json @@ -1,3 +1,3 @@ { - "pluginname": "Συζήτηση" + "pluginname": "Όνομα πρόσθετης λειτουργίας χώρου αποθήκευσης" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/es-mx.json b/www/addons/mod/assign/submission/onlinetext/lang/es-mx.json index 338d52fb9c4..6652f4e394a 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/es-mx.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/es-mx.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Nombre del plugin del repositorio" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/es.json b/www/addons/mod/assign/submission/onlinetext/lang/es.json index 338d52fb9c4..7ce7d44b842 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/es.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/es.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Nombre de la extensión de repositorio" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/eu.json b/www/addons/mod/assign/submission/onlinetext/lang/eu.json index e772d494972..e1bda956c2d 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/eu.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/eu.json @@ -1,3 +1,3 @@ { - "pluginname": "Txat-gela" + "pluginname": "Biltegi-pluginaren izena" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/fa.json b/www/addons/mod/assign/submission/onlinetext/lang/fa.json index 8ff375bf645..bae6ca29c40 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/fa.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/fa.json @@ -1,3 +1,3 @@ { - "pluginname": "اتاق گفتگو" + "pluginname": "نام پلاگین انباره" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/fi.json b/www/addons/mod/assign/submission/onlinetext/lang/fi.json index 338d52fb9c4..f9abee8d060 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/fi.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/fi.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Tiedostopankkipluginin nimi" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/fr.json b/www/addons/mod/assign/submission/onlinetext/lang/fr.json index 338d52fb9c4..45d3658b7f6 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/fr.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/fr.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Nom du plugin de dépôt" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/he.json b/www/addons/mod/assign/submission/onlinetext/lang/he.json index b1ff77fc732..02f0f6ed5a6 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/he.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/he.json @@ -1,3 +1,3 @@ { - "pluginname": "רב־שיח" + "pluginname": "שם תוסף המאגר" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/hr.json b/www/addons/mod/assign/submission/onlinetext/lang/hr.json index 338d52fb9c4..3df5b84be3a 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/hr.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/hr.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Naziv dodatka (plugina) repozitorija" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/hu.json b/www/addons/mod/assign/submission/onlinetext/lang/hu.json index 87e42e0206d..54cc715e92a 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/hu.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/hu.json @@ -1,3 +1,3 @@ { - "pluginname": "Csevegés" + "pluginname": "Az adattár-segédprogram neve" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/it.json b/www/addons/mod/assign/submission/onlinetext/lang/it.json index 338d52fb9c4..c09cb258748 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/it.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/it.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Nome plugin repository" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/ja.json b/www/addons/mod/assign/submission/onlinetext/lang/ja.json index 529d483a81e..4f4b4618438 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/ja.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/ja.json @@ -1,3 +1,3 @@ { - "pluginname": "チャット" + "pluginname": "リポジトリプラグイン名" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/ko.json b/www/addons/mod/assign/submission/onlinetext/lang/ko.json new file mode 100644 index 00000000000..3b87d4c7c8a --- /dev/null +++ b/www/addons/mod/assign/submission/onlinetext/lang/ko.json @@ -0,0 +1,3 @@ +{ + "pluginname": "저장소 플러그인 명칭" +} \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/lt.json b/www/addons/mod/assign/submission/onlinetext/lang/lt.json index 486b4397544..6ff00c34d0d 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/lt.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/lt.json @@ -1,3 +1,3 @@ { - "pluginname": "Pokalbis" + "pluginname": "Saugyklos priedo pavadinimas" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/mr.json b/www/addons/mod/assign/submission/onlinetext/lang/mr.json index c031183b2ca..86dcff053b0 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/mr.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/mr.json @@ -1,3 +1,3 @@ { - "pluginname": "निवड" + "pluginname": "संभाषण" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/nl.json b/www/addons/mod/assign/submission/onlinetext/lang/nl.json index 338d52fb9c4..0262a2b68c0 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/nl.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/nl.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Opslagruimte plugin naam" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/no.json b/www/addons/mod/assign/submission/onlinetext/lang/no.json index 908a97f0645..0727c1aaacb 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/no.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/no.json @@ -1,3 +1,3 @@ { - "pluginname": "Nettprat" + "pluginname": "Filområdets modulnavn" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/pl.json b/www/addons/mod/assign/submission/onlinetext/lang/pl.json index 4550b31ee8f..81509b39f7e 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/pl.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/pl.json @@ -1,3 +1,3 @@ { - "pluginname": "Czat" + "pluginname": "Nazwa wtyczki repozytorium" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/pt-br.json b/www/addons/mod/assign/submission/onlinetext/lang/pt-br.json index 338d52fb9c4..a70b13d605f 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/pt-br.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/pt-br.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Nome do plugin de repositório" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/pt.json b/www/addons/mod/assign/submission/onlinetext/lang/pt.json index 338d52fb9c4..5bba250e0cb 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/pt.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/pt.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Nome do módulo de repositório" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/ro.json b/www/addons/mod/assign/submission/onlinetext/lang/ro.json index 338d52fb9c4..fae6b72235f 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/ro.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/ro.json @@ -1,3 +1,3 @@ { - "pluginname": "Chat" + "pluginname": "Numele plugin-ului depozitului" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/ru.json b/www/addons/mod/assign/submission/onlinetext/lang/ru.json index c81014ebe4d..dd5953f97f7 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/ru.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/ru.json @@ -1,3 +1,3 @@ { - "pluginname": "Чат" + "pluginname": "Имя плагина хранилища" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/sv.json b/www/addons/mod/assign/submission/onlinetext/lang/sv.json index 3f7f5b4be1d..317785c3a3e 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/sv.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/sv.json @@ -1,3 +1,3 @@ { - "pluginname": "Direktsamtal" + "pluginname": "Namn på plugin-program för arkiv" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/tr.json b/www/addons/mod/assign/submission/onlinetext/lang/tr.json index 4b1333b93f9..ed500d53d5e 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/tr.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/tr.json @@ -1,3 +1,3 @@ { - "pluginname": "Sohbet" + "pluginname": "Depo eklenti adı" } \ No newline at end of file diff --git a/www/addons/mod/assign/submission/onlinetext/lang/uk.json b/www/addons/mod/assign/submission/onlinetext/lang/uk.json index c81014ebe4d..204fec78cec 100644 --- a/www/addons/mod/assign/submission/onlinetext/lang/uk.json +++ b/www/addons/mod/assign/submission/onlinetext/lang/uk.json @@ -1,3 +1,3 @@ { - "pluginname": "Чат" + "pluginname": "Назва модуля сховища" } \ No newline at end of file diff --git a/www/addons/mod/chat/lang/eu.json b/www/addons/mod/chat/lang/eu.json index f01f99a7374..2fa11a16e64 100644 --- a/www/addons/mod/chat/lang/eu.json +++ b/www/addons/mod/chat/lang/eu.json @@ -6,12 +6,12 @@ "errorwhileconnecting": "Errorea txatera konektatzean.", "errorwhilegettingchatdata": "Errorea txataren datuak eskuratzean.", "errorwhilegettingchatusers": "Errorea txataren erabiltzaileak eskuratzean.", - "errorwhileretrievingmessages": "Errorea zerbitzaritik mezuak ekartzean.", + "errorwhileretrievingmessages": "Errore bat gertatu da zerbitzaritik mezuak ekartzean.", "errorwhilesendingmessage": "Errorea mezua bidaltzean.", "messagebeepsyou": "{{$a}}-(e)k dio: Aizu! Hemen nago!", "messageenter": "{{$a}} oraintxe sartu da gelan", "messageexit": "{{$a}} irten egin da gelatik", - "mustbeonlinetosendmessages": "On-line egon behar duzu mezuak bidaltzeko", + "mustbeonlinetosendmessages": "Online egon behar zara mezuak bidali ahal izateko.", "nomessages": "Ez dago mezurik oraindik", "send": "Bidali", "sessionstart": "Txat-saioa {{$a.date}}-(e)tan hasiko da, (hemendik {{$a.fromnow}}-(e)ra)", diff --git a/www/addons/mod/chat/lang/it.json b/www/addons/mod/chat/lang/it.json index e0543395d75..af86798df53 100644 --- a/www/addons/mod/chat/lang/it.json +++ b/www/addons/mod/chat/lang/it.json @@ -11,7 +11,7 @@ "messagebeepsyou": "{{$a}} ti ha richiamato!", "messageenter": "{{$a}} è entrato nella chat", "messageexit": "{{$a}} ha lasciato la chat", - "mustbeonlinetosendmessages": "Per inviare messaggi devi essere online", + "mustbeonlinetosendmessages": "Per inviare messaggi devi essere online.", "nomessages": "Non ci sono ancora messaggi", "send": "Invia", "sessionstart": "La prossima sessione di chat inizierà il {{$a}}, ({{$a.fromnow}} da adesso)", diff --git a/www/addons/mod/chat/lang/ko.json b/www/addons/mod/chat/lang/ko.json new file mode 100644 index 00000000000..18b5595fd84 --- /dev/null +++ b/www/addons/mod/chat/lang/ko.json @@ -0,0 +1,13 @@ +{ + "beep": "호출", + "currentusers": "현재 참여자", + "enterchat": "대화에 참여하려면 여기를 클릭!", + "entermessage": "메세지를 입력하세요.", + "messagebeepsyou": "{{$a}}가 나를 호출했음!", + "messageenter": "{{$a}} 대화방에 들어옴", + "messageexit": "{{$a}} 대화방을 나감", + "nomessages": "아직 메시지 없음", + "send": "전송", + "sessionstart": "대화방 세션이 {{$a}} 에 시작할 것입니다.", + "talk": "말하기" +} \ No newline at end of file diff --git a/www/addons/mod/chat/lang/ru.json b/www/addons/mod/chat/lang/ru.json index 9a36351090d..71e755070c7 100644 --- a/www/addons/mod/chat/lang/ru.json +++ b/www/addons/mod/chat/lang/ru.json @@ -6,12 +6,12 @@ "errorwhileconnecting": "Ошибка при подключении к чату", "errorwhilegettingchatdata": "Ошибка при получении данных из чата", "errorwhilegettingchatusers": "Ошибка при получении пользователей чата", - "errorwhileretrievingmessages": "Ошибка при получении сообщения от сервера", + "errorwhileretrievingmessages": "Ошибка при получении сообщения от сервера.", "errorwhilesendingmessage": "Ошибка при отправке сообщения", "messagebeepsyou": "{{$a}} отправил Вам сигнал!", "messageenter": "{{$a}} появился в чате", "messageexit": "{{$a}} ушел из чата", - "mustbeonlinetosendmessages": "Вы должны быть онлайн, чтобы отправлять сообщения", + "mustbeonlinetosendmessages": "Вы должны быть в сети, чтобы отправлять сообщения.", "nomessages": "Нет ни одного сообщения", "send": "Отправить", "sessionstart": "Следующий сеанс чата начнётся: {{$a.date}}, (через {{$a.fromnow}})", diff --git a/www/addons/mod/choice/lang/cs.json b/www/addons/mod/choice/lang/cs.json index f9a22aaf32e..d86ef9605da 100644 --- a/www/addons/mod/choice/lang/cs.json +++ b/www/addons/mod/choice/lang/cs.json @@ -13,7 +13,7 @@ "responses": "Odpovědi", "responsesresultgraphdescription": "{{number}}% uživatelů zvolilo možnost: {{text}}.", "responsesresultgraphheader": "Graf", - "resultsnotsynced": "Výsledky nezahrnují poslední řešení. Pro aktualizaci je synchronizujte, prosím.", + "resultsnotsynced": "Vaše poslední odpověď musí být synchronizována předtím, než je zahrnuta do výsledků.", "savemychoice": "Uložit mou volbu", "userchoosethisoption": "Uživatelé, kteří si vybrali tuto alternativu", "yourselection": "Vaše volba" diff --git a/www/addons/mod/choice/lang/eu.json b/www/addons/mod/choice/lang/eu.json index 62e0810b4c4..e87df327458 100644 --- a/www/addons/mod/choice/lang/eu.json +++ b/www/addons/mod/choice/lang/eu.json @@ -1,11 +1,11 @@ { - "cannotsubmit": "Barkatu, arazoa gertatu da zure aukera bidaltzean. Mesedez, saiatu berriz.", + "cannotsubmit": "Sentitzen dugu, arazoa gertatu da zure aukera bidaltzean. Mesedez, saiatu berriz.", "choiceoptions": "Kontsultaren aukerak", "errorgetchoice": "Errorea kontsultaren datuak eskuratzean.", - "expired": "Barkatu, jarduera hau {{$a}}(e)an itxi zen eta dagoeneko ez dago eskuragarri.", + "expired": "Sentitzen dugu, jarduera hau {{$a}}(e)an itxi zen eta dagoeneko ez dago eskuragarri.", "full": "(Beteta)", "noresultsviewable": "Emaitzak ezin dira orain ikusi", - "notopenyet": "Barkatu, baina jarduera hau ez dago erabiltzeko moduan {{$a}} arte.", + "notopenyet": "Sentitzen dugu, baina jarduera hau ez dago erabiltzeko moduan {{$a}} arte.", "numberofuser": "Erantzun-kopurua", "numberofuserinpercentage": "Erantzunen portzentajea", "previewonly": "Hau jarduera honetan eskuragarri dauden aukeren aurrebista besterik ez da. Ezingo duzu zure erantzuna bidali {{$a}}-(e)ra arte.", @@ -13,7 +13,7 @@ "responses": "Erantzunak", "responsesresultgraphdescription": "Erabiltzaileen %{{number}}-ak aukera hau aukeratu zuten: {{text}}.", "responsesresultgraphheader": "Erakutsi grafikoa", - "resultsnotsynced": "Emaitzek ez dute zure azken erantzunak barne hartzen. Mesedez, sinkronizatu datuak eguneratzeko.", + "resultsnotsynced": "Zure azken erantzuna sinkronizatu behar da emaitzetan kontuan hartu ahal izateko.", "savemychoice": "Gorde nire aukera", "userchoosethisoption": "Aukera hau hautatu duten erabiltzaileak", "yourselection": "Zure aukera" diff --git a/www/addons/mod/choice/lang/ko.json b/www/addons/mod/choice/lang/ko.json new file mode 100644 index 00000000000..8d65db06411 --- /dev/null +++ b/www/addons/mod/choice/lang/ko.json @@ -0,0 +1,15 @@ +{ + "choiceoptions": "설문 요건", + "expired": "죄송합니다. 이 활동은 {{$a}} 에 종료되어서 더 이상 사용할 수 없습니다.", + "full": "(마감됨)", + "noresultsviewable": "지금은 결과를 볼 수 없습니다.", + "notopenyet": "죄송합니다만, {{$a}} 까지는 이용할 수 없습니다.", + "numberofuser": "사용자", + "numberofuserinpercentage": "백분율로 환산한 사용자 수", + "removemychoice": "기존 응답 취소", + "responses": "응답", + "responsesresultgraphheader": "그래프 표시", + "savemychoice": "응답내용 저장", + "userchoosethisoption": "사용자가 이 옵션을 선택했습니다.", + "yourselection": "당신의 선택" +} \ No newline at end of file diff --git a/www/addons/mod/choice/lang/ru.json b/www/addons/mod/choice/lang/ru.json index 38f9cf75ee3..8ea5ef74531 100644 --- a/www/addons/mod/choice/lang/ru.json +++ b/www/addons/mod/choice/lang/ru.json @@ -13,6 +13,7 @@ "responses": "Ответы", "responsesresultgraphdescription": "{{number}}% пользователей выбрало вариант: {{text}}.", "responsesresultgraphheader": "Отображать график", + "resultsnotsynced": "Ваш последний ответ должен быть синхронизирован прежде, чем будет включён в результат.", "savemychoice": "Сохранить мой выбор", "userchoosethisoption": "Пользователи, которые выбрали этот вариант", "yourselection": "Ваш выбор" diff --git a/www/addons/mod/data/lang/el.json b/www/addons/mod/data/lang/el.json index 7c8c87026b4..62d7c3f22dc 100644 --- a/www/addons/mod/data/lang/el.json +++ b/www/addons/mod/data/lang/el.json @@ -1,6 +1,6 @@ { "addentries": "Προσθήκη καταχωρήσεων", - "advancedsearch": "Advanced search", + "advancedsearch": "Σύνθετη αναζήτηση", "alttext": "Εναλλακτικό κείμενο", "approve": "Έγκριση", "approved": "Εγκρίθηκε", @@ -18,6 +18,7 @@ "more": "Περισσότερα", "nomatch": "Δεν βρέθηκαν καταχωρήσεις που να ταιριάζουν!", "norecords": "Δεν υπάρχουν καταχωρήσεις στη βάση δεδομένων", + "notapproved": "Δεν έχει ακόμη εγκριθεί.", "notopenyet": "Συγνώμη, αυτή η δραστηριότητα δεν είναι διαθέσιμη μέχρι {{$a}}", "numrecords": "{{$a}} καταχωρήσεις", "other": "Άλλο", diff --git a/www/addons/mod/data/lang/es.json b/www/addons/mod/data/lang/es.json index 35556aeb1ab..1ee0d8ad52e 100644 --- a/www/addons/mod/data/lang/es.json +++ b/www/addons/mod/data/lang/es.json @@ -31,7 +31,7 @@ "resetsettings": "Restablecer filtros", "search": "Buscar", "selectedrequired": "Se requieren todos los seleccionados", - "single": "Ver uno por uno", + "single": "Ver individual", "timeadded": "Tiempo añadido", "timemodified": "Tiempo modificado", "usedate": "Incluir en la búsqueda" diff --git a/www/addons/mod/data/lang/eu.json b/www/addons/mod/data/lang/eu.json index 8c556926f50..07426db8db7 100644 --- a/www/addons/mod/data/lang/eu.json +++ b/www/addons/mod/data/lang/eu.json @@ -14,9 +14,9 @@ "entrieslefttoadd": "{{$a.entriesleft}} sarrera gehiago gehitu behar dituzu jarduera hau osatzeko.", "entrieslefttoaddtoview": "{{$a.entrieslefttoview}} sarrera gehiago gehitu behar dituzu beste partaideen sarrerak ikusi ahal izateko.", "errorapproving": "Errorea sarrera onartu edo baztertzean.", - "errordeleting": "Errorea sarrera ezabatzean.", + "errordeleting": "Errore bat gertatu da sarrera ezabatzean.", "errormustsupplyvalue": "Hemen balio bat eman behar duzu.", - "expired": "Barkatu, jarduera hau {{$a}} datan itxi zen eta dagoeneko ez dago eskuragarri", + "expired": "Sentitzen dugu, jarduera hau {{$a}} datan itxi zen eta dagoeneko ez dago eskuragarri", "fields": "Eremuak", "latlongboth": "Latitudea eta longitudea beharrekoak dira.", "menuchoose": "Aukeratu...", @@ -24,7 +24,7 @@ "nomatch": "Ez da sarrera egokirik aurkitu!", "norecords": "Datu-basean sarrerarik ez", "notapproved": "Sarrera ez da oraindik onartu", - "notopenyet": "Barkatu, jarduera hau ez dago eskuragarri {{$a}} arte", + "notopenyet": "Sentitzen dugu, jarduera hau ez dago eskuragarri {{$a}} arte", "numrecords": "{{$a}} sarrera(k)", "other": "Beste bat", "recordapproved": "Sarrera onartu da", diff --git a/www/addons/mod/data/lang/it.json b/www/addons/mod/data/lang/it.json index 6a0f74c96fe..3675021b65c 100644 --- a/www/addons/mod/data/lang/it.json +++ b/www/addons/mod/data/lang/it.json @@ -13,6 +13,8 @@ "emptyaddform": "Non hai riempito nessun campo!", "entrieslefttoadd": "Per poter visualizzare i record inseriti dagli altri partecipanti è necessario inserire altri {{$a.entriesleft}} record.", "entrieslefttoaddtoview": "Devi aggiungere {{$a.entrieslefttoview}} altri record prima di poter vedere i record degli altri partecipanti.", + "errorapproving": "Si è verificato un errore durante l'approvazione o disapprovazione del record.", + "errordeleting": "Si è verificato un errore durante l'eliminazione del record.", "errormustsupplyvalue": "Devi inserire un valore.", "expired": "Spiacente, l'attività non è più disponibile poiché è stata chiusa il {{$a}} ", "fields": "Campi", diff --git a/www/addons/mod/data/lang/ko.json b/www/addons/mod/data/lang/ko.json new file mode 100644 index 00000000000..4ef6ce31734 --- /dev/null +++ b/www/addons/mod/data/lang/ko.json @@ -0,0 +1,35 @@ +{ + "addentries": "내용 추가", + "advancedsearch": "고급 검색", + "alttext": "상응 문구", + "approve": "승인", + "approved": "승인됨", + "ascending": "오름차순", + "authorfirstname": "저자의 이름", + "authorlastname": "저자의 성", + "confirmdeleterecord": "이 게시물을 삭제하려고 하는 것이 확실합니까?", + "descending": "내림차순", + "disapprove": "승인 취소", + "emptyaddform": "어떤 항목도 기입하지 않았습니다!", + "entrieslefttoadd": "이 활동을 완료하려면 {{$a.entriesleft}} 개 이상의 항목을 입력해야만 합니다.", + "entrieslefttoaddtoview": "다른 참여자의 내용을 보기 전에 {{$a.entrieslefttoview}} 항목을 더 추가해야만 합니다.", + "expired": "죄송합니다만, 이 활동은 {{$a}}에 종료되었으므로 더 이상 이용할 수 없습니다.", + "fields": "항목들", + "menuchoose": "선택...", + "more": "더 이상", + "nomatch": "해당되는 게시물이 없음!", + "norecords": "데이터베이스에 입력된 내용 없음", + "notapproved": "아직 입력을 받을 수 없음", + "notopenyet": "죄송합니다만 이 활동은 {{$a}} 가 될 때까지 이용할 수 없습니다.", + "numrecords": "{{$a}} 게시물", + "other": "기타", + "recordapproved": "게시물이 허용됨", + "recorddeleted": "게시물이 삭제됨", + "resetsettings": "필터 초기화", + "search": "검색", + "selectedrequired": "모든 선택사항 필요", + "single": "한개 보기", + "timeadded": "추가된 시간", + "timemodified": "변경된 시간", + "usedate": "검색에 포함합니다." +} \ No newline at end of file diff --git a/www/addons/mod/data/lang/pt-br.json b/www/addons/mod/data/lang/pt-br.json index 8b7ee8bc412..1fb0a634014 100644 --- a/www/addons/mod/data/lang/pt-br.json +++ b/www/addons/mod/data/lang/pt-br.json @@ -13,6 +13,8 @@ "emptyaddform": "Você não completou nenhum campo!", "entrieslefttoadd": "Você precisa adicionar mais {{$a.entriesleft}} item(ns) para completar esta atividade", "entrieslefttoaddtoview": "Você precisa adicionar mais {{$a.entrieslefttoview}} item(ns) antes de poder ver os itens dos outros participantes.", + "errorapproving": "Erro ao aprovar ou desaprovar uma entrada.", + "errordeleting": "Erro ao apagar a entrada.", "errormustsupplyvalue": "Você precisa fornecer um valor aqui.", "expired": "Sinto muito, mas esta atividade foi fechada em {{$a}} e não está mais disponível", "fields": "Campos", diff --git a/www/addons/mod/data/lang/ru.json b/www/addons/mod/data/lang/ru.json index 29bcb4523ec..71495e2f4af 100644 --- a/www/addons/mod/data/lang/ru.json +++ b/www/addons/mod/data/lang/ru.json @@ -10,27 +10,29 @@ "confirmdeleterecord": "Вы уверены, что хотите удалить эту запись?", "descending": "По убыванию", "disapprove": "Отменить одобрение", - "emptyaddform": "Вы не заполнили ни одного поля", - "entrieslefttoadd": "Чтобы просматривать записи других участников Вы должны добавить еще записи - ({{$a.entriesleft}})", - "entrieslefttoaddtoview": "Вы должны еще добавить записи ({{$a.entrieslefttoview}}), прежде чем сможете просматривать записи других участников.", + "emptyaddform": "Вы не заполнили ни одного поля!", + "entrieslefttoadd": "Вы должны добавить ещё записи ({{$a.entriesleft}}), чтобы этот активный элемент считался завершённым", + "entrieslefttoaddtoview": "Вы должны добавить ещё {{$a.entriesleft}} запись(и, ей), чтобы иметь возможность видеть записи других участников", + "errorapproving": "Ошибка подтверждения или неподтверждения записи.", + "errordeleting": "Ошибка удаления записи.", "errormustsupplyvalue": "Вы должны здесь указать значение.", - "expired": "К сожалению, эта база данных закрыта {{$a}} и больше не доступна", + "expired": "К сожалению, этот элемент закрыт {{$a}} и более не доступен", "fields": "Поля", "latlongboth": "Необходимо задать и широту, и долготу.", "menuchoose": "Выбрать...", "more": "Просмотр записи", "nomatch": "Соответствующих записей не найдено!", "norecords": "Нет записей в базе данных", - "notapproved": "Запись пока не одобрена.", - "notopenyet": "Извините, этот элемент курса не доступен до {{$a}}", - "numrecords": "{{$a}} записей", + "notapproved": "Запись еще не утверждена.", + "notopenyet": "К сожалению, эта база данных не доступна до {{$a}}", + "numrecords": "записей: {{$a}}", "other": "Другое", "recordapproved": "Запись одобрена", "recorddeleted": "Запись удалена", "recorddisapproved": "Снято одобрение записи", "resetsettings": "Сбросить фильтры", "search": "Поиск", - "selectedrequired": "Требуются все выбранные", + "selectedrequired": "Все выбранные требуются", "single": "Просмотр по одной записи", "timeadded": "Время добавления", "timemodified": "Время изменения", diff --git a/www/addons/mod/feedback/lang/eu.json b/www/addons/mod/feedback/lang/eu.json index 8ed86e55c82..e85f24c6600 100644 --- a/www/addons/mod/feedback/lang/eu.json +++ b/www/addons/mod/feedback/lang/eu.json @@ -3,7 +3,7 @@ "anonymous": "Anonimoa", "anonymous_entries": "Sarrera anonimoak ({{$a}})", "average": "Batez bestekoa", - "captchaofflinewarning": "captcha-dun feedback-ak ezin dira lineaz kanpo osatu, ezta konfiguratuta ez badaude edo zerbitzaria eskuragarri ez badago ere.", + "captchaofflinewarning": "CAPTCHA-dun feedback-ak ezin dira lineaz kanpo osatu, ezta konfiguratuta ez badaude edo zerbitzaria eskuragarri ez badago ere.", "complete_the_form": "Erantzun galderei...", "completed_feedbacks": "Bidalitako erantzunak", "continue_the_form": "Jarraitu galderei erantzuten...", diff --git a/www/addons/mod/feedback/lang/it.json b/www/addons/mod/feedback/lang/it.json index d31469322d6..68a97fbfb31 100644 --- a/www/addons/mod/feedback/lang/it.json +++ b/www/addons/mod/feedback/lang/it.json @@ -7,6 +7,7 @@ "completed_feedbacks": "Risposte inviate", "continue_the_form": "Continua a rispondere alle domande", "feedback_is_not_open": "Il feedback non è aperto", + "feedback_submitted_offline": "Il feedback è stato salvato e sarà inviato più tardi.", "feedbackclose": "Chiusura", "feedbackopen": "Apertura", "mapcourses": "Associa feedback ai corsi", diff --git a/www/addons/mod/feedback/lang/ko.json b/www/addons/mod/feedback/lang/ko.json new file mode 100644 index 00000000000..f1a250030d6 --- /dev/null +++ b/www/addons/mod/feedback/lang/ko.json @@ -0,0 +1,32 @@ +{ + "analysis": "분석", + "anonymous": "익명", + "anonymous_entries": "익명 응답", + "average": "평균", + "complete_the_form": "질문에 답하세요", + "completed_feedbacks": "제출된 답", + "continue_the_form": "양식 계속", + "feedback_is_not_open": "피드백이 아직 시작되지 않았음", + "feedbackclose": "응답 허용", + "feedbackopen": "답안 입력 시작 시간", + "mapcourses": "피드백을 강좌에 연결", + "mode": "모드", + "next_page": "다음 페이지", + "non_anonymous": "기명, 응답내용 공개", + "non_anonymous_entries": "익명 기록 없음", + "non_respondents_students": "응답한 학생 없음", + "not_selected": "선택되지 않았음", + "not_started": "개시하지 않음", + "overview": "요약", + "page_after_submit": "완료 메세지", + "preview": "미리보기", + "previous_page": "이전 페이지", + "questions": "질문들", + "response_nr": "응답 수", + "responses": "응답들", + "save_entries": "응답 제출", + "show_entries": "응답 보기", + "show_nonrespondents": "응답 안한 사람 보기", + "started": "시작되었음", + "this_feedback_is_already_submitted": "당신은 이미 이 활동을 완료하였습니다." +} \ No newline at end of file diff --git a/www/addons/mod/feedback/lang/pt-br.json b/www/addons/mod/feedback/lang/pt-br.json index 1ff0be9779e..cb29083635f 100644 --- a/www/addons/mod/feedback/lang/pt-br.json +++ b/www/addons/mod/feedback/lang/pt-br.json @@ -3,10 +3,12 @@ "anonymous": "Anônimo", "anonymous_entries": "Entradas anônimas ({{$a}})", "average": "Média", + "captchaofflinewarning": "Inquérito com CAPTCHA não pode ser concluído em modo offline, ou se não estiver configurado, ou o servidor está em baixo.", "complete_the_form": "Responda as questões...", "completed_feedbacks": "Respostas submetidas", "continue_the_form": "Continuar respondendo as questões ...", "feedback_is_not_open": "A pesquisa não está aberta", + "feedback_submitted_offline": "O Inquérito foi gravado para ser enviado mais tarde.", "feedbackclose": "Permitir respostas até", "feedbackopen": "Permitir respostas de", "mapcourses": "Mapear pesquisa para os cursos", diff --git a/www/addons/mod/feedback/lang/pt.json b/www/addons/mod/feedback/lang/pt.json index a0c19c36b98..b98f45404e0 100644 --- a/www/addons/mod/feedback/lang/pt.json +++ b/www/addons/mod/feedback/lang/pt.json @@ -20,7 +20,7 @@ "not_selected": "Não respondido", "not_started": "Por iniciar", "numberoutofrange": "Valor fora do intervalo", - "overview": "Visão geral", + "overview": "Visão global", "page_after_submit": "Mensagem de conclusão", "preview": "Pré-visualização", "previous_page": "Página anterior", diff --git a/www/addons/mod/feedback/lang/ru.json b/www/addons/mod/feedback/lang/ru.json index 2e88ed7e5ea..f1ad25f2d67 100644 --- a/www/addons/mod/feedback/lang/ru.json +++ b/www/addons/mod/feedback/lang/ru.json @@ -3,10 +3,12 @@ "anonymous": "Анонимный", "anonymous_entries": "Анонимные записи ({{$a}})", "average": "Средний", + "captchaofflinewarning": "Обратная связь с CAPTCHA не может быть выполнена если вы не в сети, если не настроена или если сервер недоступен.", "complete_the_form": "Ответьте на вопросы ...", "completed_feedbacks": "Отправлено ответов", "continue_the_form": "Продолжить ответы на вопросы...", "feedback_is_not_open": "эта анкета обратной связи не открыта", + "feedback_submitted_offline": "Этот отзыв был сохранён, для отправки позже.", "feedbackclose": "Разрешить отвечать до", "feedbackopen": "Разрешить отвечать с", "mapcourses": "Сопоставление Обратной связи с курсами", diff --git a/www/addons/mod/feedback/templates/attempt.html b/www/addons/mod/feedback/templates/attempt.html index db0b33fa6dc..643876cf398 100644 --- a/www/addons/mod/feedback/templates/attempt.html +++ b/www/addons/mod/feedback/templates/attempt.html @@ -13,7 +13,7 @@

    {{ 'mma.mod_feedback.response_nr' |translate }}: {{attempt.number}} ({{ 'mma

    {{attempt.timemodified * 1000 | mmFormatDate:"dffulldate"}}

    -

    {{item.itemnumber}}. {{ item.name }}

    +

    {{item.itemnumber}}. {{ item.name }}

    {{ item.submittedValue }}

    diff --git a/www/addons/mod/feedback/templates/form.html b/www/addons/mod/feedback/templates/form.html index 61a43c861f9..1639577783b 100644 --- a/www/addons/mod/feedback/templates/form.html +++ b/www/addons/mod/feedback/templates/form.html @@ -12,7 +12,9 @@
    -

    {{item.itemnumber}}. {{ item.name }}

    +

    {{item.itemnumber}}. + {{ item.name }} +

    @@ -35,15 +37,20 @@ diff --git a/www/addons/mod/feedback/templates/index.html b/www/addons/mod/feedback/templates/index.html index 2f8ecc74b26..a66c4839139 100644 --- a/www/addons/mod/feedback/templates/index.html +++ b/www/addons/mod/feedback/templates/index.html @@ -96,8 +96,10 @@
    -

    {{item.number}}. {{ item.name }}

    -

    {{ item.label }}

    +

    {{item.number}}. + {{ item.name }} +

    +

    {{ item.label }}

    diff --git a/www/addons/mod/folder/lang/ca.json b/www/addons/mod/folder/lang/ca.json index 2208f493a4b..b2f87d440ac 100644 --- a/www/addons/mod/folder/lang/ca.json +++ b/www/addons/mod/folder/lang/ca.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "No hi ha fitxers per mostrar", + "emptyfilelist": "No hi ha fitxers per mostrar.", "errorwhilegettingfolder": "S'ha produït un error en recuperar les dades de la carpeta." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/cs.json b/www/addons/mod/folder/lang/cs.json index 04e2822f6a0..66b256adf4c 100644 --- a/www/addons/mod/folder/lang/cs.json +++ b/www/addons/mod/folder/lang/cs.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Žádný soubor k zobrazení", + "emptyfilelist": "Žádný soubor k zobrazení.", "errorwhilegettingfolder": "Chyba při načítání dat složky." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/da.json b/www/addons/mod/folder/lang/da.json index c53b3a994ed..2337bed4841 100644 --- a/www/addons/mod/folder/lang/da.json +++ b/www/addons/mod/folder/lang/da.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Der er ingen filer at vise", + "emptyfilelist": "Der er ingen filer at vise.", "errorwhilegettingfolder": "Fejl ved hentning af mappedata." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/de-du.json b/www/addons/mod/folder/lang/de-du.json index 00b4ea2a954..022d05baeea 100644 --- a/www/addons/mod/folder/lang/de-du.json +++ b/www/addons/mod/folder/lang/de-du.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Es liegen keine Dateien vor", + "emptyfilelist": "Keine Dateien", "errorwhilegettingfolder": "Fehler beim Laden der Verzeichnisdaten" } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/de.json b/www/addons/mod/folder/lang/de.json index 00b4ea2a954..022d05baeea 100644 --- a/www/addons/mod/folder/lang/de.json +++ b/www/addons/mod/folder/lang/de.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Es liegen keine Dateien vor", + "emptyfilelist": "Keine Dateien", "errorwhilegettingfolder": "Fehler beim Laden der Verzeichnisdaten" } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/es-mx.json b/www/addons/mod/folder/lang/es-mx.json index e2f470725df..5b9563d5c0d 100644 --- a/www/addons/mod/folder/lang/es-mx.json +++ b/www/addons/mod/folder/lang/es-mx.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "No hay archivos que mostrar", + "emptyfilelist": "No hay archivos para mostrar.", "errorwhilegettingfolder": "Error al obtener datos de carpeta." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/eu.json b/www/addons/mod/folder/lang/eu.json index 07dae0aef65..27a3ccc6636 100644 --- a/www/addons/mod/folder/lang/eu.json +++ b/www/addons/mod/folder/lang/eu.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Ez dago erakusteko fitxategirik", + "emptyfilelist": "Ez dago fitxategirik erakusteko.", "errorwhilegettingfolder": "Errorea karpetaren datuak eskuratzean." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/fi.json b/www/addons/mod/folder/lang/fi.json index a6933585df3..b0be3e20482 100644 --- a/www/addons/mod/folder/lang/fi.json +++ b/www/addons/mod/folder/lang/fi.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Ei näytettäviä tiedostoja", + "emptyfilelist": "Ei näytettäviä tiedostoja.", "errorwhilegettingfolder": "Virhe haettaessa kansion tietoja." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/fr.json b/www/addons/mod/folder/lang/fr.json index e16e5c1aeb4..86d36f87890 100644 --- a/www/addons/mod/folder/lang/fr.json +++ b/www/addons/mod/folder/lang/fr.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Il n'y a pas de fichier à afficher", + "emptyfilelist": "Aucun fichier à afficher.", "errorwhilegettingfolder": "Erreur lors de l'obtention des données du dossier." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/he.json b/www/addons/mod/folder/lang/he.json index 1c2ec27977b..55811600621 100644 --- a/www/addons/mod/folder/lang/he.json +++ b/www/addons/mod/folder/lang/he.json @@ -1,3 +1,3 @@ { - "emptyfilelist": "אין קבצים להציג" + "emptyfilelist": "אין קבצים להציג." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/hr.json b/www/addons/mod/folder/lang/hr.json index fed014c818c..f4105d74aed 100644 --- a/www/addons/mod/folder/lang/hr.json +++ b/www/addons/mod/folder/lang/hr.json @@ -1,3 +1,3 @@ { - "emptyfilelist": "Nema datoteka za prikaz" + "emptyfilelist": "Nema datoteka za prikaz." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/it.json b/www/addons/mod/folder/lang/it.json index b828249f904..93e13593395 100644 --- a/www/addons/mod/folder/lang/it.json +++ b/www/addons/mod/folder/lang/it.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Non ci sono file da visualizzare", + "emptyfilelist": "Non ci sono file da visualizzare.", "errorwhilegettingfolder": "Si è verificato un errore durante la ricezione dei dati della cartella." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/ja.json b/www/addons/mod/folder/lang/ja.json index 8634d70f046..61980e500fc 100644 --- a/www/addons/mod/folder/lang/ja.json +++ b/www/addons/mod/folder/lang/ja.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "表示するファイルはありません。", + "emptyfilelist": "表示するファイルがありません。", "errorwhilegettingfolder": "フォルダのデータを取得中にエラーが発生しました。" } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/ko.json b/www/addons/mod/folder/lang/ko.json new file mode 100644 index 00000000000..74cfe00538f --- /dev/null +++ b/www/addons/mod/folder/lang/ko.json @@ -0,0 +1,3 @@ +{ + "emptyfilelist": "보여줄 파일이 없습니다." +} \ No newline at end of file diff --git a/www/addons/mod/folder/lang/lt.json b/www/addons/mod/folder/lang/lt.json index a80a862764e..e174a7c5a50 100644 --- a/www/addons/mod/folder/lang/lt.json +++ b/www/addons/mod/folder/lang/lt.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Nėra rodytinų failų", + "emptyfilelist": "Nėra ką rodyti.", "errorwhilegettingfolder": "Klaida gaunant duomenis iš aplanko." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/nl.json b/www/addons/mod/folder/lang/nl.json index 7b544820480..92b48519e9d 100644 --- a/www/addons/mod/folder/lang/nl.json +++ b/www/addons/mod/folder/lang/nl.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Er zijn geen bestanden om te tonen", + "emptyfilelist": "Geen bestanden.", "errorwhilegettingfolder": "Fout bij het ophalen van de mapgegevens" } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/pt-br.json b/www/addons/mod/folder/lang/pt-br.json index 4e9c9589aa3..1588790327d 100644 --- a/www/addons/mod/folder/lang/pt-br.json +++ b/www/addons/mod/folder/lang/pt-br.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Não há arquivos para exibir", + "emptyfilelist": "Não há arquivos para mostrar", "errorwhilegettingfolder": "Erro ao obter dados da pasta." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/pt.json b/www/addons/mod/folder/lang/pt.json index 74865d321a4..d197c86f233 100644 --- a/www/addons/mod/folder/lang/pt.json +++ b/www/addons/mod/folder/lang/pt.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Este repositório está vazio", + "emptyfilelist": "Não há ficheiros para mostrar.", "errorwhilegettingfolder": "Erro ao obter os dados da pasta." } \ No newline at end of file diff --git a/www/addons/mod/folder/lang/ro.json b/www/addons/mod/folder/lang/ro.json index 0277b91b35f..a66c107ebcd 100644 --- a/www/addons/mod/folder/lang/ro.json +++ b/www/addons/mod/folder/lang/ro.json @@ -1,4 +1,4 @@ { - "emptyfilelist": "Nu există fișiere", + "emptyfilelist": "Nu sunt fișiere disponibile pentru vizualizare.", "errorwhilegettingfolder": "A apărut o eroare la obținerea dosarului cu datele cerute." } \ No newline at end of file diff --git a/www/addons/mod/forum/controllers/discussions.js b/www/addons/mod/forum/controllers/discussions.js index 0f908594032..aaf81353607 100644 --- a/www/addons/mod/forum/controllers/discussions.js +++ b/www/addons/mod/forum/controllers/discussions.js @@ -46,6 +46,7 @@ angular.module('mm.addons.mod_forum') $scope.component = mmaModForumComponent; $scope.componentId = module.id; $scope.trackPosts = false; + $scope.addDiscussionText = $translate.instant('mma.mod_forum.addanewdiscussion'); // Convenience function to get forum data and discussions. function fetchForumDataAndDiscussions(refresh, sync, showErrors) { @@ -65,6 +66,18 @@ angular.module('mm.addons.mod_forum') $scope.linkToLoad = $scope.isCreateEnabled && forum.cancreatediscussions ? 2 : 1; } + switch (forumdata.type) { + case 'news': + case 'blog': + $scope.addDiscussionText = $translate.instant('mma.mod_forum.addanewtopic'); + break; + case 'qanda': + $scope.addDiscussionText = $translate.instant('mma.mod_forum.addanewquestion'); + break; + default: + $scope.addDiscussionText = $translate.instant('mma.mod_forum.addanewdiscussion'); + } + if (sync) { // Try to synchronize the forum. return syncForum(showErrors).catch(function() { diff --git a/www/addons/mod/forum/lang/ar.json b/www/addons/mod/forum/lang/ar.json index ff95e890cbb..fdbe963f32d 100644 --- a/www/addons/mod/forum/lang/ar.json +++ b/www/addons/mod/forum/lang/ar.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "أضف موضوعا جديدا للنقاش", + "addanewquestion": "أضف سؤال جديد", + "addanewtopic": "أضف موضوع جديد", "cannotadddiscussion": "إضافة نقشات لهذا المنتدى يتطلب عضوية مجموعات", "cannotadddiscussionall": "ليس لديك الصلاحيات لإضافة نقاش لكل المشتركين.", "couldnotadd": "تعذر إرسال مقالة نتيجة خطأ غير معروف", diff --git a/www/addons/mod/forum/lang/bg.json b/www/addons/mod/forum/lang/bg.json index 14f634ffe01..50773acbced 100644 --- a/www/addons/mod/forum/lang/bg.json +++ b/www/addons/mod/forum/lang/bg.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Добавяне на нова тема за обсъждане", + "addanewquestion": "Добавяне на нов въпрос", + "addanewtopic": "Добавяне на нова тема", "cannotadddiscussion": "Добавяне на дискусии в този форум изисква членство в група.", "cannotadddiscussionall": "Нямате разрешение да добавяте нова тема за всички участници.", "cannotcreatediscussion": "Не може да се създаде нова дискусия", diff --git a/www/addons/mod/forum/lang/ca.json b/www/addons/mod/forum/lang/ca.json index 42bf0d4d3d0..4eb87a715ea 100644 --- a/www/addons/mod/forum/lang/ca.json +++ b/www/addons/mod/forum/lang/ca.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Afegeix un tema de debat nou", + "addanewquestion": "Afegeix una pregunta nova", + "addanewtopic": "Afegeix un tema nou", "cannotadddiscussion": "Afegir debats en aquest fòrum requereix pertànyer al grup.", "cannotadddiscussionall": "No teniu permís per a afegir un tema de debat nou per a tots els participants.", "cannotcreatediscussion": "No s'ha pogut obrir un debat nou", diff --git a/www/addons/mod/forum/lang/cs.json b/www/addons/mod/forum/lang/cs.json index b3f8e048f1d..747f351e91a 100644 --- a/www/addons/mod/forum/lang/cs.json +++ b/www/addons/mod/forum/lang/cs.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Přidat nové téma diskuse", + "addanewquestion": "Přidat novou otázku", + "addanewtopic": "Přidat nové téma", "cannotadddiscussion": "Abyste mohli přidávat diskuse do tohoto fóra, musíte být členy skupiny.", "cannotadddiscussionall": "Nemáte oprávnění vkládat téma diskuse pro všechny účastníky.", "cannotcreatediscussion": "Nelze vytvořit novou diskusi", @@ -14,7 +16,7 @@ "errorgetforum": "Chyba při načítání dat fóra.", "errorgetgroups": "Chyba při načítání nastavení skupiny.", "forumnodiscussionsyet": "V tomto diskusním fóru nejsou žádná témata", - "group": "Skupinové", + "group": "Skupina", "message": "Zpráva", "modeflatnewestfirst": "Zobrazit odpovědi za sebou (nejnovější nahoře)", "modeflatoldestfirst": "Zobrazit odpovědi za sebou (nejstarší nahoře)", diff --git a/www/addons/mod/forum/lang/da.json b/www/addons/mod/forum/lang/da.json index f34dd2b52ae..0266a6fd591 100644 --- a/www/addons/mod/forum/lang/da.json +++ b/www/addons/mod/forum/lang/da.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Tilføj en ny tråd", + "addanewquestion": "Tilføj et nyt spørgsmål", + "addanewtopic": "Tilføj nyt emne", "cannotadddiscussion": "For at oprette en ny tråd i dette forum skal man være medlem af en gruppe.", "cannotadddiscussionall": "Du har ikke tilladelse til at oprette en ny tråd for alle deltagere.", "cannotcreatediscussion": "Kunne ikke oprette en ny tråd.", diff --git a/www/addons/mod/forum/lang/de-du.json b/www/addons/mod/forum/lang/de-du.json index e5eb8db687a..753191094cd 100644 --- a/www/addons/mod/forum/lang/de-du.json +++ b/www/addons/mod/forum/lang/de-du.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Neues Thema hinzufügen", + "addanewquestion": "Neue Frage hinzufügen", + "addanewtopic": "Neues Thema hinzufügen", "cannotadddiscussion": "Nur Gruppenmitglieder dürfen Beiträge zum Forum hinzufügen.", "cannotadddiscussionall": "Du darfst kein neues Thema für alle Teilnehmer/innen hinzufügen.", "cannotcreatediscussion": "Das neue Thema wurde leider nicht gespeichert.", diff --git a/www/addons/mod/forum/lang/de.json b/www/addons/mod/forum/lang/de.json index fd139e3bbf9..1b7f49dd864 100644 --- a/www/addons/mod/forum/lang/de.json +++ b/www/addons/mod/forum/lang/de.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Neues Thema hinzufügen", + "addanewquestion": "Neue Frage hinzufügen", + "addanewtopic": "Neues Thema hinzufügen", "cannotadddiscussion": "Nur Gruppenmitglieder dürfen Beiträge zum Forum hinzufügen.", "cannotadddiscussionall": "Sie dürfen kein neues Thema für alle Teilnehmer/innen hinzufügen.", "cannotcreatediscussion": "Das neue Thema wurde leider nicht gespeichert.", diff --git a/www/addons/mod/forum/lang/el.json b/www/addons/mod/forum/lang/el.json index 78bee38ce77..45d2eed2980 100644 --- a/www/addons/mod/forum/lang/el.json +++ b/www/addons/mod/forum/lang/el.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Προσθήκη νέου θέματος συζήτησης", + "addanewquestion": "Προσθήκη μιας νέας ερώτησης", + "addanewtopic": "Προσθήκη νέου θέματος", "cannotadddiscussion": "Η προσθήκη συζητήσεων σε αυτή την ομάδα συζήτησης απαιτεί συμμετοχή σε ομάδα.", "cannotadddiscussionall": "Δεν έχετε δικαίωμα να προσθέσετε ένα νέο θέμα συζήτησης για όλους τους συμμετέχοντες.", "cannotcreatediscussion": "Δεν ήταν δυνατό να δημιουργηθεί η νέα συζήτηση", diff --git a/www/addons/mod/forum/lang/en.json b/www/addons/mod/forum/lang/en.json index 0b3ffb881b4..d3dd37e2da8 100644 --- a/www/addons/mod/forum/lang/en.json +++ b/www/addons/mod/forum/lang/en.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Add a new discussion topic", + "addanewquestion": "Add a new question", + "addanewtopic": "Add a new topic", "cannotadddiscussion": "Adding discussions to this forum requires group membership.", "cannotadddiscussionall": "You do not have permission to add a new discussion topic for all participants.", "cannotcreatediscussion": "Could not create new discussion", diff --git a/www/addons/mod/forum/lang/es-mx.json b/www/addons/mod/forum/lang/es-mx.json index 151fb11c76e..578d332e9cb 100644 --- a/www/addons/mod/forum/lang/es-mx.json +++ b/www/addons/mod/forum/lang/es-mx.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Añadir un nuevo tópico/tema de discusión aquí", + "addanewquestion": "Añadir una nueva pregunta", + "addanewtopic": "Añadir un nuevo tópico/tema", "cannotadddiscussion": "Para agregar discusiones a este foro se requiere pertenecer al grupo.", "cannotadddiscussionall": "No tiene permiso para añadir un nuevo tópico/tema de discusión para todos los participantes.", "cannotcreatediscussion": "No se pudo crear una discusión nueva", diff --git a/www/addons/mod/forum/lang/es.json b/www/addons/mod/forum/lang/es.json index 2389777bf37..d89ba83b82c 100644 --- a/www/addons/mod/forum/lang/es.json +++ b/www/addons/mod/forum/lang/es.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Añadir un nuevo tema de discusión", + "addanewquestion": "Añadir una nueva pregunta", + "addanewtopic": "Añadir un nuevo tema", "cannotadddiscussion": "Para añadir debates a este foro hay que ser miembro de un grupo.", "cannotadddiscussionall": "No tiene permiso para añadir un nuevo tema de discusión para todos los participantes.", "cannotcreatediscussion": "No se pudo crear un debate nuevo", diff --git a/www/addons/mod/forum/lang/eu.json b/www/addons/mod/forum/lang/eu.json index 7d41bf9eff3..b32ef2fbfe7 100644 --- a/www/addons/mod/forum/lang/eu.json +++ b/www/addons/mod/forum/lang/eu.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Mezua idatzi", + "addanewquestion": "Galdera gehitu", + "addanewtopic": "Gaia gehitu", "cannotadddiscussion": "Foro honetan eztabaidak gehitzeko talde bateko kide izan behar da", "cannotadddiscussionall": "Ez duzu baimenik partaide guztientzako eztabaida-gai berririk gehitzeko.", "cannotcreatediscussion": "Ezin da eztabaida sortu", diff --git a/www/addons/mod/forum/lang/fa.json b/www/addons/mod/forum/lang/fa.json index c2909c73988..9e39285cd14 100644 --- a/www/addons/mod/forum/lang/fa.json +++ b/www/addons/mod/forum/lang/fa.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "شروع یک مباحثهٔ جدید", + "addanewquestion": "طرح یک سؤال جدید", + "addanewtopic": "طرح مباحثهٔ جدید", "cannotadddiscussion": "طرح مباحثه در این تالار نیازمند عضویت در گروه است.", "cannotadddiscussionall": "شما مجوز شروع کردن یک مباحثهٔ جدید برای همهٔ اعضا را ندارید.", "cannotcreatediscussion": "ایجاد مباحثهٔ‌جدید ممکن نشد", diff --git a/www/addons/mod/forum/lang/fi.json b/www/addons/mod/forum/lang/fi.json index 4c5341ac3aa..69a6e1ddf80 100644 --- a/www/addons/mod/forum/lang/fi.json +++ b/www/addons/mod/forum/lang/fi.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Lisää uusi keskustelu", + "addanewquestion": "Lisää uusi kysymys", + "addanewtopic": "Lisää uusi aihe", "cannotadddiscussion": "Vain ryhmän jäsenet voivat lisätä viestejä tälle keskustelualueelle.", "cannotadddiscussionall": "Sinulla ei ole oikeuksia lisätä kaikille osallistujille näkyvää viestiä.", "cannotcreatediscussion": "Ei voitu luoda uutta keskustelua", diff --git a/www/addons/mod/forum/lang/fr.json b/www/addons/mod/forum/lang/fr.json index f25e62a41d2..5455fdcdd1d 100644 --- a/www/addons/mod/forum/lang/fr.json +++ b/www/addons/mod/forum/lang/fr.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Ajouter une discussion", + "addanewquestion": "Ajouter une nouvelle question", + "addanewtopic": "Ajouter un nouveau sujet", "cannotadddiscussion": "Pour créer une discussion dans ce forum, vous devez être membre d'un groupe.", "cannotadddiscussionall": "Vous n'avez pas les droits d'accès requis pour lancer une nouvelle discussion pour tous les participants.", "cannotcreatediscussion": "Impossible de créer une nouvelle discussion", diff --git a/www/addons/mod/forum/lang/he.json b/www/addons/mod/forum/lang/he.json index 3b4e2e70b17..ebe6a72ef1f 100644 --- a/www/addons/mod/forum/lang/he.json +++ b/www/addons/mod/forum/lang/he.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "הוספת נושא חדש לדיון", + "addanewquestion": "הוספת שאלה חדשה", + "addanewtopic": "הוספת נושא חדש", "cannotadddiscussion": "על מנת שתוכל להוסיף דיונים לפורום עלייך להיות חבר בקבוצה.", "cannotadddiscussionall": "אין לך הרשאה להוסיף נושא דיון חדש עבור כל המשתתפים.", "cannotcreatediscussion": "כשלון ביצירת דיון חדש.", diff --git a/www/addons/mod/forum/lang/hr.json b/www/addons/mod/forum/lang/hr.json index 6c0b3e0986f..963936bdea3 100644 --- a/www/addons/mod/forum/lang/hr.json +++ b/www/addons/mod/forum/lang/hr.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Dodaj novu raspravu", + "addanewquestion": "Dodajte novo pitanje", + "addanewtopic": "Dodajte novu temu", "cannotadddiscussion": "Za dodavanje rasprave u ovaj forum treba biti član grupe.", "cannotadddiscussionall": "Nemate ovlasti da biste dodali novu raspravu za sve sudionike. ", "cannotcreatediscussion": "Nije moguće otvoriti novu raspravu", diff --git a/www/addons/mod/forum/lang/hu.json b/www/addons/mod/forum/lang/hu.json index 4bde5a436c7..0a4bdd4b1cf 100644 --- a/www/addons/mod/forum/lang/hu.json +++ b/www/addons/mod/forum/lang/hu.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Új vitatéma hozzáadása", + "addanewquestion": "Új kérdés hozzáadása", + "addanewtopic": "Új téma hozzáadása", "cannotadddiscussion": "Ahhoz, hogy hozzáadhasson vitát, ezen a fórumon csoporttagságra van szükség.", "cannotadddiscussionall": "Ön nem adhat hozzá új vitatémát az összes résztvevő számára.", "cannotcreatediscussion": "Nem sikerült új vitát létrehozni.", diff --git a/www/addons/mod/forum/lang/it.json b/www/addons/mod/forum/lang/it.json index c54ee597c31..86afa7e1be0 100644 --- a/www/addons/mod/forum/lang/it.json +++ b/www/addons/mod/forum/lang/it.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Aggiungi un argomento di discussione", + "addanewquestion": "Aggiungi nuova domanda", + "addanewtopic": "Aggiungi nuovo argomento", "cannotadddiscussion": "Per aggiungere discussioni in questo forum è necessario appartenere ad un gruppo.", "cannotadddiscussionall": "Non hai il permesso per aggiungere un argomento di discussione per tutti i partecipanti.", "cannotcreatediscussion": "Non è stato possibile creare una nuova discussione", @@ -13,7 +15,7 @@ "erroremptysubject": "L'oggetto non può essere vuoto", "errorgetforum": "Si è verificato un errore durante la ricezione dei dati del forum.", "errorgetgroups": "Si è verificato un errore durante la ricezione delle impostazioni gruppo.", - "forumnodiscussionsyet": "In questo forum non sono presenti discussioni", + "forumnodiscussionsyet": "In questo forum non sono presenti discussioni.", "group": "Gruppo", "message": "Messaggio", "modeflatnewestfirst": "Visualizza le repliche in formato lineare, con le più recenti all'inizio", diff --git a/www/addons/mod/forum/lang/ja.json b/www/addons/mod/forum/lang/ja.json index c3c4562c07c..9ac0e9778bc 100644 --- a/www/addons/mod/forum/lang/ja.json +++ b/www/addons/mod/forum/lang/ja.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "新しいディスカッショントピックを追加する", + "addanewquestion": "新しい質問を追加する", + "addanewtopic": "新しいトピックを追加する", "cannotadddiscussion": "このフォーラムにディスカッションを追加するにはグループのメンバーである必要があります。", "cannotadddiscussionall": "あなたにはすべての参加者のための新しいディスカッショントピックを追加するパーミッションがありません。", "cannotcreatediscussion": "新しいディスカッションを作成できませんでした。", diff --git a/www/addons/mod/forum/lang/ko.json b/www/addons/mod/forum/lang/ko.json new file mode 100644 index 00000000000..d40cf0657a9 --- /dev/null +++ b/www/addons/mod/forum/lang/ko.json @@ -0,0 +1,24 @@ +{ + "addanewdiscussion": "새 토론 주제 추가", + "addanewquestion": "새 질문 추가", + "addanewtopic": "새로운 주제 추가", + "cannotadddiscussion": "포럼에 의견을 제시하려면 모둠의 구성원이어야 합니다.", + "cannotadddiscussionall": "공동의 토론 주제 추가 권한이 없습니다.", + "cannotcreatediscussion": "새 토론을 생성할 수 없음", + "couldnotadd": "알 수 없는 오류로 인해 게시할 수 없음", + "discussion": "제목", + "edit": "수정", + "erroremptymessage": "게시 메세지는 비어 있을 수 없습니다.", + "erroremptysubject": "제목이 없으면 안됩니다.", + "group": "모둠", + "message": "메세지", + "modeflatnewestfirst": "새 답글부터 내용 보기", + "modeflatoldestfirst": "옛 답글부터 내용 보기", + "modenested": "주제 중심으로 답글 보기", + "posttoforum": "포럼에 올리기", + "re": "회신:", + "reply": "답글", + "subject": "제목", + "unread": "읽지 않음", + "unreadpostsnumber": "{{$a}} 개의 읽지 않은 글" +} \ No newline at end of file diff --git a/www/addons/mod/forum/lang/lt.json b/www/addons/mod/forum/lang/lt.json index 93f37fba562..af6e6924e53 100644 --- a/www/addons/mod/forum/lang/lt.json +++ b/www/addons/mod/forum/lang/lt.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Įtraukti naują diskusijų temą", + "addanewquestion": "Įtraukti naują klausimą", + "addanewtopic": "Įtraukti naują temą", "cannotadddiscussion": "Norint įtraukti diskusijų į šį forumą, būtina grupės narystė.", "cannotadddiscussionall": "Neturite teisės įtraukti naujos diskusijų temos, skirtos visiems dalyviams.", "cannotcreatediscussion": "Nepavyko sukurti naujos diskusijos", diff --git a/www/addons/mod/forum/lang/mr.json b/www/addons/mod/forum/lang/mr.json index 839110753b2..161b44eec68 100644 --- a/www/addons/mod/forum/lang/mr.json +++ b/www/addons/mod/forum/lang/mr.json @@ -4,7 +4,7 @@ "errorgetforum": "फोरम डेटा मिळवताना त्रुटी", "errorgetgroups": "गट सेटिंग्ज प्राप्त करताना त्रुटी.", "forumnodiscussionsyet": "या फोरममध्ये अद्याप चर्चा झालेले कोणतेही मुद्दे नाहीत", - "group": "एकत्र", + "group": "गट", "message": "संदेश", "numdiscussions": "{{Numdiscussions}} चर्चा", "numreplies": "{{Numreplies}} प्रत्युत्तरे", diff --git a/www/addons/mod/forum/lang/nl.json b/www/addons/mod/forum/lang/nl.json index e391d007547..e54c6ae39ec 100644 --- a/www/addons/mod/forum/lang/nl.json +++ b/www/addons/mod/forum/lang/nl.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Voeg een nieuw discussieonderwerp toe", + "addanewquestion": "Voeg een nieuwe vraag toe", + "addanewtopic": "Voeg een nieuw onderwerp toe", "cannotadddiscussion": "Om discussies aan dit forum te kunnen toevoegen, moet je lid zijn van deze groep", "cannotadddiscussionall": "Je hebt het recht niet om een nieuw discussieonderwerp te starten voor alle deelnemers.", "cannotcreatediscussion": "Kon geen nieuwe discussie starten", diff --git a/www/addons/mod/forum/lang/no.json b/www/addons/mod/forum/lang/no.json index e0307317b39..e83c6c0aadf 100644 --- a/www/addons/mod/forum/lang/no.json +++ b/www/addons/mod/forum/lang/no.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Skriv i dette forumet", + "addanewquestion": "Legg til et nytt spørsmål", + "addanewtopic": "Skriv i dette forumet", "cannotadddiscussion": "Du må være medlem av en gruppe for å legge til ny diskusjon i dette forumet.", "cannotadddiscussionall": "Du har ikke tillatelse til å legge til et nytt diskusjonsemne for alle deltakerne.", "cannotcreatediscussion": "Kan ikke lage ny diskusjon", diff --git a/www/addons/mod/forum/lang/pl.json b/www/addons/mod/forum/lang/pl.json index 0f761c4b8ec..fd1cb6be1c3 100644 --- a/www/addons/mod/forum/lang/pl.json +++ b/www/addons/mod/forum/lang/pl.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Dodaj nowy temat dyskusji", + "addanewquestion": "Dodaj nowe pytanie", + "addanewtopic": "Dodaj nowy temat", "cannotadddiscussion": "Musisz być członkiem grupy aby dodać dyskusję do tego forum", "cannotadddiscussionall": "Nie masz uprawnień, aby dodać nową dyskusję dla wszystkich uczestników.", "cannotcreatediscussion": "Nie można utworzyć nowego wątku", diff --git a/www/addons/mod/forum/lang/pt-br.json b/www/addons/mod/forum/lang/pt-br.json index a4df46a5972..58c4537fac2 100644 --- a/www/addons/mod/forum/lang/pt-br.json +++ b/www/addons/mod/forum/lang/pt-br.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Acrescentar um novo tópico de discussão", + "addanewquestion": "Acrescentar uma nova questão", + "addanewtopic": "Acrescentar um novo tópico", "cannotadddiscussion": "Apenas os participantes inscritos nos grupos podem escrever mensagens neste fórum.", "cannotadddiscussionall": "Você não tem permissão para abrir um novo tópico de discussão para todos os participantes.", "cannotcreatediscussion": "Não foi possível criar uma nova discussão", diff --git a/www/addons/mod/forum/lang/pt.json b/www/addons/mod/forum/lang/pt.json index 5fb8a05a87c..73944d6ecc8 100644 --- a/www/addons/mod/forum/lang/pt.json +++ b/www/addons/mod/forum/lang/pt.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Criar um novo tópico", + "addanewquestion": "Criar uma nova pergunta", + "addanewtopic": "Criar um novo tópico", "cannotadddiscussion": "Criar novos tópicos neste fórum requer adesão a grupo.", "cannotadddiscussionall": "Não tem permissão para criar um novo tópico disponível para todos os participantes", "cannotcreatediscussion": "Não foi possível criar o novo tópico de discussão", diff --git a/www/addons/mod/forum/lang/ro.json b/www/addons/mod/forum/lang/ro.json index 2dd31a2be41..24f7ec04aaf 100644 --- a/www/addons/mod/forum/lang/ro.json +++ b/www/addons/mod/forum/lang/ro.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Adaugă o nouă intervenţie", + "addanewquestion": "Adaugă o întrebare", + "addanewtopic": "Adaugă temă", "cannotadddiscussion": "Pentru a putea discuta pe acest forum trebuie să fiţi membru al unui grup.", "cannotadddiscussionall": "Nu aveţi permisiunea de a adăuga o temă de discuţii pentru toţi participanţii.", "cannotcreatediscussion": "Nu se poate crea discuție nouă", diff --git a/www/addons/mod/forum/lang/ru.json b/www/addons/mod/forum/lang/ru.json index 46a510d03d2..4c43314d42b 100644 --- a/www/addons/mod/forum/lang/ru.json +++ b/www/addons/mod/forum/lang/ru.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Добавить тему для обсуждения", + "addanewquestion": "Добавить новый вопрос", + "addanewtopic": "Добавить новую тему", "cannotadddiscussion": "Нужно быть участником группы, чтобы добавлять обсуждения на этот форум.", "cannotadddiscussionall": "У вас нет привилегий для добавления новой темы обсуждения для всех участников.", "cannotcreatediscussion": "Невозможно создать новое обсуждение", @@ -13,7 +15,7 @@ "erroremptysubject": "Тема сообщения не может быть пустой", "errorgetforum": "Ошибка при получении данных форума", "errorgetgroups": "Ошибка получения параметров группы", - "forumnodiscussionsyet": "В этом форуме ещё нет тем для обсуждения", + "forumnodiscussionsyet": "В этом форуме ещё нет тем для обсуждения.", "group": "Группа", "message": "Сообщение", "modeflatnewestfirst": "Плоско, впереди новые", @@ -23,7 +25,8 @@ "numreplies": "Ответов - {{numreplies}}", "posttoforum": "Отправить в форум", "re": "Re:", - "refreshposts": "Обновить обсуждения", + "refreshdiscussions": "Обновить обсуждения", + "refreshposts": "Обновить объявления", "reply": "Ответить", "subject": "Тема", "unread": "Непрочтенные", diff --git a/www/addons/mod/forum/lang/sv.json b/www/addons/mod/forum/lang/sv.json index 2ada080fc3c..60a3a94553d 100644 --- a/www/addons/mod/forum/lang/sv.json +++ b/www/addons/mod/forum/lang/sv.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Lägg till ett nytt diskussionsämne", + "addanewquestion": "Lägg till en ny fråga", + "addanewtopic": "Lägg till ett nytt ämne", "cannotadddiscussion": "För att lägga till diskussionsämnen till det här forumet krävs det att man är medlem av en grupp.", "cannotadddiscussionall": "Du har inte tillstånd att lägga till ett nytt diskussionsämne för alla deltagare. ", "cannotcreatediscussion": "Det gick inte att skapa en ny diskussion", diff --git a/www/addons/mod/forum/lang/tr.json b/www/addons/mod/forum/lang/tr.json index 6106581a1a4..1a5d669b03f 100644 --- a/www/addons/mod/forum/lang/tr.json +++ b/www/addons/mod/forum/lang/tr.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Yeni tartışma konusu ekle", + "addanewquestion": "Yeni soru ekle", + "addanewtopic": "Yeni konu ekle", "cannotadddiscussion": "Bu foruma tartışma ekleme, grup üyeliği gerektirir.", "cannotadddiscussionall": "Tüm katılımcılar için yeni bir tartışma konusu ekleme izniniz yok.", "cannotcreatediscussion": "Yeni tartışma oluşturulamadı", diff --git a/www/addons/mod/forum/lang/uk.json b/www/addons/mod/forum/lang/uk.json index bf8cfd7742c..2fbaf4edc1d 100644 --- a/www/addons/mod/forum/lang/uk.json +++ b/www/addons/mod/forum/lang/uk.json @@ -1,5 +1,7 @@ { "addanewdiscussion": "Додати тему для обговорення", + "addanewquestion": "Додати нове питання", + "addanewtopic": "Додати нову тему", "cannotadddiscussion": "Додання тем обговорення на цей форум вимагає членства у групі.", "cannotadddiscussionall": "Ви не маєте права створювати нові теми дискусії для всіх учасників", "cannotcreatediscussion": "Не вдається створити нову дискусію", diff --git a/www/addons/mod/forum/templates/discussions.html b/www/addons/mod/forum/templates/discussions.html index 014fd1e4d3b..55335667ea6 100644 --- a/www/addons/mod/forum/templates/discussions.html +++ b/www/addons/mod/forum/templates/discussions.html @@ -25,7 +25,7 @@
    • @@ -86,7 +86,7 @@

      diff --git a/www/addons/mod/glossary/lang/ca.json b/www/addons/mod/glossary/lang/ca.json index c9d1567bd0f..191d2db0090 100644 --- a/www/addons/mod/glossary/lang/ca.json +++ b/www/addons/mod/glossary/lang/ca.json @@ -1,6 +1,6 @@ { "attachment": "Adjunt", - "browsemode": "Mode exploració", + "browsemode": "Navegueu per les entrades", "byalphabet": "Alfabèticament", "byauthor": "Agrupat per autor", "bycategory": "Agrupa per categoria", diff --git a/www/addons/mod/glossary/lang/cs.json b/www/addons/mod/glossary/lang/cs.json index 9b2ab4a6330..047a09f4bae 100644 --- a/www/addons/mod/glossary/lang/cs.json +++ b/www/addons/mod/glossary/lang/cs.json @@ -1,6 +1,6 @@ { "attachment": "Připojit odznak do zprávy", - "browsemode": "Režim náhledu", + "browsemode": "Prohlížení příspěvků", "byalphabet": "Abecedně", "byauthor": "Skupina podle autora", "bycategory": "Skupina podle kategorie", @@ -12,9 +12,9 @@ "categories": "Kategorie kurzů", "entriestobesynced": "Příspěvky, které mají být synchronizovány", "entrypendingapproval": "Tato položka čeká na schválení", - "errorloadingentries": "Při načítání položek došlo k chybě", - "errorloadingentry": "Při načítání položky došlo k chybě", - "errorloadingglossary": "Při načítání slovníku došlo k chybě", + "errorloadingentries": "Při načítání položek došlo k chybě.", + "errorloadingentry": "Při načítání položky došlo k chybě.", + "errorloadingglossary": "Při načítání slovníku došlo k chybě.", "noentriesfound": "Nebyly nalezeny žádné záznamy.", "searchquery": "Vyhledávací dotaz" } \ No newline at end of file diff --git a/www/addons/mod/glossary/lang/da.json b/www/addons/mod/glossary/lang/da.json index fc1bee6b778..36cde6686b8 100644 --- a/www/addons/mod/glossary/lang/da.json +++ b/www/addons/mod/glossary/lang/da.json @@ -1,6 +1,6 @@ { "attachment": "Tilføj badge til besked", - "browsemode": "Forhåndsvisning", + "browsemode": "Skim indlæg", "byalphabet": "Alfabetisk", "byauthor": "Grupper efter forfatter", "bycategory": "Gruppér efter kategori", diff --git a/www/addons/mod/glossary/lang/de-du.json b/www/addons/mod/glossary/lang/de-du.json index f2ec366d585..279ab4d6c3d 100644 --- a/www/addons/mod/glossary/lang/de-du.json +++ b/www/addons/mod/glossary/lang/de-du.json @@ -1,6 +1,6 @@ { "attachment": "Anhang", - "browsemode": "Vorschaumodus", + "browsemode": "Einträge durchblättern", "byalphabet": "Alphabetisch", "byauthor": "Nach Autor/in", "bycategory": "Nach Kategorie", diff --git a/www/addons/mod/glossary/lang/de.json b/www/addons/mod/glossary/lang/de.json index 2f4457f75da..80d3b66b421 100644 --- a/www/addons/mod/glossary/lang/de.json +++ b/www/addons/mod/glossary/lang/de.json @@ -1,6 +1,6 @@ { "attachment": "Auszeichnung an Mitteilung anhängen", - "browsemode": "Vorschaumodus", + "browsemode": "Einträge durchblättern", "byalphabet": "Alphabetisch", "byauthor": "Nach Autor/in", "bycategory": "Nach Kategorie", diff --git a/www/addons/mod/glossary/lang/el.json b/www/addons/mod/glossary/lang/el.json index b4970c99016..0bfce509423 100644 --- a/www/addons/mod/glossary/lang/el.json +++ b/www/addons/mod/glossary/lang/el.json @@ -1,6 +1,6 @@ { "attachment": "Συνημμένα", - "browsemode": "Φάση Προεπισκόπισης", + "browsemode": "Περιήγηση στις καταχωρήσεις", "byalphabet": "Αλφαβητικά", "byauthor": "Ομαδοποίηση ανά συγγραφέα", "bycategory": "Ομαδοποίηση ανά κατηγορία", diff --git a/www/addons/mod/glossary/lang/es-mx.json b/www/addons/mod/glossary/lang/es-mx.json index e661f36d342..158ea571325 100644 --- a/www/addons/mod/glossary/lang/es-mx.json +++ b/www/addons/mod/glossary/lang/es-mx.json @@ -1,6 +1,6 @@ { "attachment": "Adjunto", - "browsemode": "Modo de presentación preliminar", + "browsemode": "Ver entradas", "byalphabet": "Alfabéticamente", "byauthor": "Agrupar por autor", "bycategory": "Agrupar por categoría", diff --git a/www/addons/mod/glossary/lang/es.json b/www/addons/mod/glossary/lang/es.json index ed5f8c7d0de..4089c74aa49 100644 --- a/www/addons/mod/glossary/lang/es.json +++ b/www/addons/mod/glossary/lang/es.json @@ -1,6 +1,6 @@ { "attachment": "Adjunto", - "browsemode": "Modo de presentación preliminar", + "browsemode": "Navegar por las entradas", "byalphabet": "Alfabéticamente", "byauthor": "Agrupado por autor", "bycategory": "Agrupar por categoría", diff --git a/www/addons/mod/glossary/lang/eu.json b/www/addons/mod/glossary/lang/eu.json index 963a7f8ce8c..0eff7b44e07 100644 --- a/www/addons/mod/glossary/lang/eu.json +++ b/www/addons/mod/glossary/lang/eu.json @@ -1,6 +1,6 @@ { "attachment": "Erantsi domina mezuari", - "browsemode": "Aurrebista-modua", + "browsemode": "Aztertu sarrerak", "byalphabet": "Alfabetikoki", "byauthor": "Taldekatu egilearen arabera", "bycategory": "Taldekatu kategoriaren arabera", @@ -12,9 +12,9 @@ "categories": "Ikastaro-kategoriak", "entriestobesynced": "Sinkronizatu beharreko sarrerak", "entrypendingapproval": "Sarrera hau onarpenaren zain dago.", - "errorloadingentries": "Errorea gertatu da sarrerak kargatzean.", - "errorloadingentry": "Errorea gertatu da sarrera kargatzean.", - "errorloadingglossary": "Errorea gertatu da glosategia kargatzean.", + "errorloadingentries": "Errore bat gertatu da sarrerak kargatzean.", + "errorloadingentry": "Errore bat gertatu da sarrera kargatzean.", + "errorloadingglossary": "Errore bat gertatu da glosategia kargatzean.", "noentriesfound": "Ez da sarrerarik aurkitu", "searchquery": "Egin bilaketa" } \ No newline at end of file diff --git a/www/addons/mod/glossary/lang/fi.json b/www/addons/mod/glossary/lang/fi.json index 1da7bc23e3c..43c54f52eef 100644 --- a/www/addons/mod/glossary/lang/fi.json +++ b/www/addons/mod/glossary/lang/fi.json @@ -1,6 +1,6 @@ { "attachment": "Liitä viestiin osaamismerkki", - "browsemode": "Esikatselunäkymä", + "browsemode": "Selaa merkintöjä", "byalphabet": "Aakkosjärjestyksessä", "byauthor": "Ryhmittele kirjoittajan mukaisesti", "bycategory": "Ryhmittele kategorian mukaan", diff --git a/www/addons/mod/glossary/lang/fr.json b/www/addons/mod/glossary/lang/fr.json index 4d12ffcee4d..712afea4266 100644 --- a/www/addons/mod/glossary/lang/fr.json +++ b/www/addons/mod/glossary/lang/fr.json @@ -1,6 +1,6 @@ { "attachment": "Joindre le badge à un courriel", - "browsemode": "Mode prévisualisation", + "browsemode": "Parcourir les articles", "byalphabet": "Alphabétiquement", "byauthor": "Grouper par auteur", "bycategory": "Grouper par catégorie", diff --git a/www/addons/mod/glossary/lang/it.json b/www/addons/mod/glossary/lang/it.json index 581b16835e1..6a72c684160 100644 --- a/www/addons/mod/glossary/lang/it.json +++ b/www/addons/mod/glossary/lang/it.json @@ -1,10 +1,14 @@ { "attachment": "Allega badge al messaggio", "browsemode": "Modalità anteprima", + "byauthor": "Raggruppa per autore", + "bycategory": "Raggruppa per categoria", "byrecentlyupdated": "Aggiornati di recente", "bysearch": "Cerca", + "cannoteditentry": "Non è possibile modificare la voce", "casesensitive": "Utilizza regular expression", "categories": "Categorie di corso", + "entriestobesynced": "Voci da sincronizzare", "entrypendingapproval": "Questa voce è in attesa di approvazione.", "errorloadingentries": "Si è verificato un errore durante il caricamento delle voci.", "errorloadingentry": "Si è verificato un errore durante il caricamento della voce.", diff --git a/www/addons/mod/glossary/lang/ja.json b/www/addons/mod/glossary/lang/ja.json index 3d74c03237d..395ba50cc3b 100644 --- a/www/addons/mod/glossary/lang/ja.json +++ b/www/addons/mod/glossary/lang/ja.json @@ -1,6 +1,6 @@ { "attachment": "添付", - "browsemode": "プレビューモード", + "browsemode": "エントリをブラウズ", "byalphabet": "アルファベット順", "byauthor": "著者でグループ", "bycategory": "カテゴリでグループ", diff --git a/www/addons/mod/glossary/lang/ko.json b/www/addons/mod/glossary/lang/ko.json new file mode 100644 index 00000000000..ddffc2e5dc5 --- /dev/null +++ b/www/addons/mod/glossary/lang/ko.json @@ -0,0 +1,6 @@ +{ + "attachment": "첨부", + "browsemode": "미리보기 모드", + "casesensitive": "정규 표현 사용", + "categories": "강좌 범주" +} \ No newline at end of file diff --git a/www/addons/mod/glossary/lang/lt.json b/www/addons/mod/glossary/lang/lt.json index bdc656dd518..18f6cc6763e 100644 --- a/www/addons/mod/glossary/lang/lt.json +++ b/www/addons/mod/glossary/lang/lt.json @@ -1,6 +1,6 @@ { "attachment": "Prikabinti pasiekimą prie pranešimo", - "browsemode": "Peržiūros režimas", + "browsemode": "Peržiūrėti įrašus", "byalphabet": "Abėcėlės tvarka", "byauthor": "Pagal autorių", "bynewestfirst": "Naujausi", diff --git a/www/addons/mod/glossary/lang/mr.json b/www/addons/mod/glossary/lang/mr.json index c9eb093df04..45838cdcb27 100644 --- a/www/addons/mod/glossary/lang/mr.json +++ b/www/addons/mod/glossary/lang/mr.json @@ -1,5 +1,5 @@ { - "browsemode": "आयोग पद्धती", + "browsemode": "नोंदी ब्राउझ करा", "byalphabet": "वर्णानुक्रमाने", "byauthor": "लेखकानुसार गट", "bycategory": "श्रेणीनुसार गट", diff --git a/www/addons/mod/glossary/lang/nl.json b/www/addons/mod/glossary/lang/nl.json index 53c36a376e0..7c06a87db9a 100644 --- a/www/addons/mod/glossary/lang/nl.json +++ b/www/addons/mod/glossary/lang/nl.json @@ -1,6 +1,6 @@ { "attachment": "Badge als bijlage bij bericht", - "browsemode": "Probeermodus", + "browsemode": "Blader door items", "byalphabet": "Alfabetisch", "byauthor": "Groepeer per auteur", "bycategory": "Groepeer per categorie", diff --git a/www/addons/mod/glossary/lang/pt-br.json b/www/addons/mod/glossary/lang/pt-br.json index 32741499a8c..7eeca932a54 100644 --- a/www/addons/mod/glossary/lang/pt-br.json +++ b/www/addons/mod/glossary/lang/pt-br.json @@ -1,6 +1,6 @@ { "attachment": "Anexar emblema à mensagem", - "browsemode": "Prévia", + "browsemode": "Navegar nas entradas", "byalphabet": "Alfabeticamente", "byauthor": "Agrupar por autor", "bycategory": "Agrupar por categoria", diff --git a/www/addons/mod/glossary/lang/pt.json b/www/addons/mod/glossary/lang/pt.json index 3aa08aa38fe..103b86e99d0 100644 --- a/www/addons/mod/glossary/lang/pt.json +++ b/www/addons/mod/glossary/lang/pt.json @@ -1,6 +1,6 @@ { "attachment": "Anexo", - "browsemode": "Modo de pré-visualização", + "browsemode": "Ver entradas", "byalphabet": "Alfabeticamente", "byauthor": "Agrupar por autor", "bycategory": "Agrupar por categoria", diff --git a/www/addons/mod/glossary/lang/ro.json b/www/addons/mod/glossary/lang/ro.json index f5e76676789..1711d27b159 100644 --- a/www/addons/mod/glossary/lang/ro.json +++ b/www/addons/mod/glossary/lang/ro.json @@ -1,6 +1,6 @@ { "attachment": "Atașament", - "browsemode": "Mod Căutare", + "browsemode": "Căutați în datele introduse", "byalphabet": "Alfabetic", "byauthor": "Grupare după autor", "bynewestfirst": "Cele mai noi sunt dispuse primele", diff --git a/www/addons/mod/glossary/lang/ru.json b/www/addons/mod/glossary/lang/ru.json index 05189841b97..82c9094a0d7 100644 --- a/www/addons/mod/glossary/lang/ru.json +++ b/www/addons/mod/glossary/lang/ru.json @@ -1,10 +1,20 @@ { "attachment": "Вложение:", - "browsemode": "Режим предпросмотра", + "browsemode": "Смотреть записи", "byalphabet": "Алфавитно", "byauthor": "Группировать по автору", "bycategory": "Группировать по категориям", + "bynewestfirst": "Сначала новые", + "byrecentlyupdated": "Недавно обновлённые", "bysearch": "Поиск", + "cannoteditentry": "Невозможно редактировать запись", "casesensitive": "Использовать регулярные выражения", - "categories": "Категории курсов" + "categories": "Категории курсов", + "entriestobesynced": "Записи на синзронизацию", + "entrypendingapproval": "Эта запись ожидает подтверждения.", + "errorloadingentries": "При загрузке записей произошла ошибка.", + "errorloadingentry": "При загрузке записи произошла ошибка.", + "errorloadingglossary": "При загрузке глоссария произошла ошибка.", + "noentriesfound": "Записей не было найдено.", + "searchquery": "Запрос на поиск" } \ No newline at end of file diff --git a/www/addons/mod/glossary/lang/sv.json b/www/addons/mod/glossary/lang/sv.json index 0c0a203775f..f9dc8d60f6a 100644 --- a/www/addons/mod/glossary/lang/sv.json +++ b/www/addons/mod/glossary/lang/sv.json @@ -1,6 +1,6 @@ { "attachment": "Bifoga märke med meddelande", - "browsemode": "Läge för förhandsgranskning", + "browsemode": "Bläddrar bland poster", "byalphabet": "Alfabetiskt", "byauthor": "Sortera efter författare", "bynewestfirst": "Nyaste först", diff --git a/www/addons/mod/glossary/lang/uk.json b/www/addons/mod/glossary/lang/uk.json index d40f5a0e548..f3e1eeb10fc 100644 --- a/www/addons/mod/glossary/lang/uk.json +++ b/www/addons/mod/glossary/lang/uk.json @@ -1,6 +1,6 @@ { "attachment": "Долучення", - "browsemode": "Режим перегляду", + "browsemode": "Перегляд записів", "byalphabet": "По алфавіту", "byauthor": "Групувати за автором", "bycategory": "Групувати за категорією", diff --git a/www/addons/mod/label/lang/fi.json b/www/addons/mod/label/lang/fi.json index 1c440f1a0de..2e86e901328 100644 --- a/www/addons/mod/label/lang/fi.json +++ b/www/addons/mod/label/lang/fi.json @@ -1,3 +1,3 @@ { - "label": "Ohjeteksti" + "label": "Nimi" } \ No newline at end of file diff --git a/www/addons/mod/label/lang/he.json b/www/addons/mod/label/lang/he.json index 232aff3b2bf..7f0814d0381 100644 --- a/www/addons/mod/label/lang/he.json +++ b/www/addons/mod/label/lang/he.json @@ -1,3 +1,3 @@ { - "label": "תווית לשאלה מותנית (באנגלית)" + "label": "תווית" } \ No newline at end of file diff --git a/www/addons/mod/label/lang/ko.json b/www/addons/mod/label/lang/ko.json new file mode 100644 index 00000000000..3393a3acb8d --- /dev/null +++ b/www/addons/mod/label/lang/ko.json @@ -0,0 +1,3 @@ +{ + "label": "표지" +} \ No newline at end of file diff --git a/www/addons/mod/label/lang/lt.json b/www/addons/mod/label/lang/lt.json index 8aba433e8cd..f9a1ca059d8 100644 --- a/www/addons/mod/label/lang/lt.json +++ b/www/addons/mod/label/lang/lt.json @@ -1,3 +1,3 @@ { - "label": "Žyma" + "label": "Etiketė" } \ No newline at end of file diff --git a/www/addons/mod/label/lang/ru.json b/www/addons/mod/label/lang/ru.json index d174e316226..974254476a8 100644 --- a/www/addons/mod/label/lang/ru.json +++ b/www/addons/mod/label/lang/ru.json @@ -1,3 +1,3 @@ { - "label": "Отмечено" + "label": "Пояснение" } \ No newline at end of file diff --git a/www/addons/mod/label/lang/uk.json b/www/addons/mod/label/lang/uk.json index dc1348438f8..f1dd990cbfb 100644 --- a/www/addons/mod/label/lang/uk.json +++ b/www/addons/mod/label/lang/uk.json @@ -1,3 +1,3 @@ { - "label": "Напис" + "label": "Лейба" } \ No newline at end of file diff --git a/www/addons/mod/lesson/lang/cs.json b/www/addons/mod/lesson/lang/cs.json index ab57fee76d6..43380f9a9af 100644 --- a/www/addons/mod/lesson/lang/cs.json +++ b/www/addons/mod/lesson/lang/cs.json @@ -22,7 +22,7 @@ "emptypassword": "Heslo nemůže být prázdné", "enterpassword": "Zadejte prosím heslo:", "eolstudentoutoftimenoanswers": "Nezodpověděli jste žádnou otázku. Za tuto přednášku nezískáváte žádný bod.", - "errorprefetchrandombranch": "Tato přednáška obsahuje skok na náhodnou stránku, nelze ji v aplikaci zkoušet, dokud nebude spuštěna na webu.", + "errorprefetchrandombranch": "Tato přednáška obsahuje skok na náhodnou stránku. V aplikaci ji nelze zkoušet, dokud nebude spuštěna na webu.", "errorreviewretakenotlast": "Tento pokus již nelze prohlédnout, protože byl dokončen další pokus.", "finish": "Skončit", "finishretakeoffline": "Tento pokus byl dokončen offline.", diff --git a/www/addons/mod/lesson/lang/eu.json b/www/addons/mod/lesson/lang/eu.json index 4b9734b0cc3..3549859e395 100644 --- a/www/addons/mod/lesson/lang/eu.json +++ b/www/addons/mod/lesson/lang/eu.json @@ -8,7 +8,7 @@ "branchtable": "Edukia", "cannotfindattempt": "Errorea: ezin da saiakera aurkitu", "cannotfinduser": "Errorea: ezin dira erabiltzaileak aurkitu", - "clusterjump": "Cluster batean ikusi gabeko galdera", + "clusterjump": "Multzo batean ikusi gabeko galdera", "completed": "Osatuta", "congratulations": "Zorionak! Ikasgaiaren bukaerara iritsi zara", "continue": "Jarraitu", @@ -22,7 +22,7 @@ "emptypassword": "Pasahitza ezin da hutsik egon", "enterpassword": "Idatzi pasahitza, mesedez:", "eolstudentoutoftimenoanswers": "Ez duzu erantzunik eman. Ikasgai honetan 0 puntu lortu duzu.", - "errorprefetchrandombranch": "Ikasgai honek ausazko eduki-orri baterako jauzia dauka, eta ezin da app-an egin aurretik web-ean hasi ezean.", + "errorprefetchrandombranch": "Ikasgai honek ausazko eduki-orri baterako jauzia dauka. Ezin da app-an saiakerarik egin aurretik web nabigatzaileaan hasi ezean.", "errorreviewretakenotlast": "Saiakera hau ezin da berrikusi dagoeneko beste saiakera bat amaitu delako.", "finish": "Amaitu", "finishretakeoffline": "Saiakera hau lineaz kanpo bukatu zen.", diff --git a/www/addons/mod/lesson/lang/it.json b/www/addons/mod/lesson/lang/it.json index 3cd913414eb..74920e9151a 100644 --- a/www/addons/mod/lesson/lang/it.json +++ b/www/addons/mod/lesson/lang/it.json @@ -23,6 +23,7 @@ "enterpassword": "Inserisci la password:", "eolstudentoutoftimenoanswers": "Non hai risposto a nessuna domanda. Per questa lezione hai ottenuto 0 punti.", "finish": "Termina", + "finishretakeoffline": "Il tentativo è stato completato offline.", "firstwrong": "la tua risposta non è corretta. Desideri provare a rispondere di nuovo? (L'eventuale risposta corretta non sarà comunque tenuta in considerazione per il calcolo del punteggio finale).", "gotoendoflesson": "Vai alla fine della lezione", "grade": "Punteggio", @@ -56,6 +57,8 @@ "rawgrade": "Voto grezzo", "reports": "Risultati", "response": "Replica", + "retakelabelfull": "{retake}}: {{grade}} {{timestart}} ({{duration}})", + "retakelabelshort": "{{retake}}: {{grade}} {{timestart}}", "review": "Revisione", "reviewlesson": "Rivedi la lezione", "reviewquestionback": "Si, voglio provare ancora", @@ -70,6 +73,7 @@ "timeremaining": "Tempo rimanente", "timetaken": "Tempo impiegato", "unseenpageinbranch": "Domanda non vista in una pagina con contenuto", + "warningretakefinished": "Il tentativo è stato completato sul sito.", "welldone": "Ben fatto!", "youhaveseen": "Hai già visto più di una pagina di questa lezione.
      Vuoi iniziare dall'ultima pagina visitata?", "youranswer": "La tua risposta", diff --git a/www/addons/mod/lesson/lang/ko.json b/www/addons/mod/lesson/lang/ko.json new file mode 100644 index 00000000000..76991ec579a --- /dev/null +++ b/www/addons/mod/lesson/lang/ko.json @@ -0,0 +1,76 @@ +{ + "answer": "답안", + "attempt": "{{$a}} 번째 시도", + "attemptsremaining": "{{$a}} 번의 시도 남음", + "averagescore": "평균 점수", + "averagetime": "평균 시간", + "branchtable": "콘텐츠", + "cannotfindattempt": "오류: 시도를 찾을 수 없음", + "cannotfinduser": "오류: 사용자를 찾을 수 없음", + "clusterjump": "질문묶음에서 보지 않은 질문", + "completed": "이수", + "congratulations": "학습의 끝입니다 - 축하합니다", + "continue": "계속", + "continuetonextpage": "다음 페이지로 가기", + "defaultessayresponse": "선생님이 당신의 에세이를 평가할 것입니다.", + "detailedstats": "자세한 통계", + "didnotanswerquestion": "이 질문에 답하지 않았음", + "displayofgrade": "성적 표시 (학생만)", + "displayscorewithessays": "자동으로 채점되는 질문에 대해 {{$a.tempmaxgrade}} 점 중 {{$a.score}} 점을 얻었습니다.
      당신의{{$a.essayquestions}} 에세이 질문(들)은 추후에 채점될 것이며 최종 점수에 추가될 것입니다.
      에세이 질문(들)을 제외한 점수는 현재 {{$a.grade}} 점 중에서 {{$a.score}} 점을 받았습니다.", + "displayscorewithoutessays": "당신의 점수는 {{$a.score}} 점 입니다.({{$a.grade}} 점 만점)", + "emptypassword": "암호는 공백일 수 없습니다.", + "enterpassword": "비밀번호를 입력하세요 :", + "eolstudentoutoftimenoanswers": "당신은 답변을 전혀 하지 않았습니다.\n이번 학습에서 0점을 얻게 되었습니다.", + "finish": "종료", + "firstwrong": "답이 틀렸기 때문에 점수를 얻을 수 없습니다. 그냥 재미로 계속 해보겠습니까?(맞아도 점수 추가는 없습니다.)", + "gotoendoflesson": "완전학습의 끝으로 가기", + "grade": "성적", + "highscore": "고득점", + "hightime": "최장 시간", + "leftduringtimed": "당신은 규정된 학습시간에 자리를 비웠습니다.
      \n학습을 다시 시작하려면 계속 버튼을 눌러주세요.", + "leftduringtimednoretake": "당신은 규정된 학습시간에 자리를 비웠기 때문에
      재학습을 하거나 계속할 수 없습니다.", + "lessonmenu": "완전 학습 메뉴", + "lessonstats": "완전학습 통계", + "linkedmedia": "연결된 매체", + "loginfail": "로그인에 실패했습니다, 다시 시도하세요.", + "lowscore": "낮은 점수", + "lowtime": "최단 시간", + "maximumnumberofattemptsreached": "최대 허용 시도횟수에 도달하였습니다. 다음 페이지로 갑니다.", + "modattemptsnoteacher": "검토과정은 학생에게만 해당됨", + "noanswer": "답을 하지 않았습니다. 되돌아 가서 답을 입력하세요.", + "nolessonattempts": "이 학습에 대해 아무런 시도도 없었음.", + "notcompleted": "완료하지 않았음", + "numberofcorrectanswers": "정답 수: {{$a}}", + "numberofpagesviewed": "응답한 질문의 수: {{$a}}", + "numberofpagesviewednotice": "응답한 질문수 : {{$a.nquestions}} (최소한 {{$a.minquestions}} 개 답해야 합니다.)", + "ongoingcustom": "당신은 {{$a.currenthigh}} (최고)점 중 {{$a.score}} 점입니다.", + "ongoingnormal": "당신은 {{$a.viewed}} 개의 질문 중 {{$a.correct}} 질문에 정확한 답을 했습니다.", + "or": "또는", + "overview": "개요", + "preview": "미리보기", + "progressbarteacherwarning2": "본 학습을 편집할 수 있으므로 진척상황막대는 볼 수 없음", + "progresscompleted": "완전 학습의 {{$a}}를 완료하였습니다.", + "question": "질문", + "rawgrade": "원 성적", + "reports": "보고서", + "response": "반응", + "review": "검토", + "reviewlesson": "학습 검토하기", + "reviewquestionback": "예, 다시하겠습니다.", + "reviewquestioncontinue": "아니오, 다음 질문으로 넘어가겠습니다.", + "secondpluswrong": "정확하지 않습니다. 다시 하시겠습니까?", + "submit": "제출", + "teacherjumpwarning": "이 완전학습에서 {{$a.cluster}}나 {{$a.unseen}} 으로의 이동 과정이 사용되고 있습니다. 다음 페이지 이동이 대신 사용될 수 있습니다. 이들 이동을 점검하기 위해서는 학생으로 로그인하십시요.", + "teacherongoingwarning": "현재 점수는 학생들에게만 보여집니다. 현재 점수를 확인하기 위해서는 학생으로 로그인하십시오.", + "teachertimerwarning": "타이머는 학생들을 위해서만 작동됩니다. 학생으로 로그인 하여 타이머를 점검하세요.", + "thatsthecorrectanswer": "올바른 답 입니다.", + "thatsthewronganswer": "잘못된 답 입니다.", + "timeremaining": "남은 시간", + "timetaken": "시간이 걸렸음", + "unseenpageinbranch": "콘텐츠 페이지 내 보지 않은 질문", + "welldone": "잘했어요!", + "youhaveseen": "당신은 이미 이 학습을 시도한 적이 있습니다.
      도중에 끝마쳤던 부분부터 시작하길 원합니까?", + "youranswer": "당신의 대답", + "yourcurrentgradeisoutof": "현재 성적은 {{$a.total}} 중 {{$a.grade}} 입니다.", + "youshouldview": "당신은 적어도 {{$a}} 에 답해야만 합니다." +} \ No newline at end of file diff --git a/www/addons/mod/lesson/lang/pt-br.json b/www/addons/mod/lesson/lang/pt-br.json index 0cec7acb9c4..1772b4df4f6 100644 --- a/www/addons/mod/lesson/lang/pt-br.json +++ b/www/addons/mod/lesson/lang/pt-br.json @@ -17,13 +17,16 @@ "detailedstats": "Estatísticas detalhadas", "didnotanswerquestion": "Não respondeu esta questão.", "displayofgrade": "Visualização das notas (apenas para estudantes)", - "displayscorewithessays": "Você recebeu {{$a.score}} de um total de {{$a.tempmaxgrade}} nas questões avaliadas automaticamente.
      A(s) sua(s) {{$a.essayquestions}} questão(ões) dissertativa(s) será(ão) avaliada(s) depois.

      A sua nota parcial é {{$a.score}} de um total de {{$a.grade}}", + "displayscorewithessays": "

      Você recebeu {{$a.score}} de um total de {{$a.tempmaxgrade}} nas questões avaliadas automaticamente.

      \n

      A(s) sua(s) {{$a.essayquestions}} questão(ões) dissertativa(s) será(ão) avaliada(s) e somada(s) ao seu resultado final em uma data posterior. \n

      Sua nota atual, sem a(s) questão(ões) dissertativa(s), é {{$a.score}} de um total de {{$a.grade}}>/p>", "displayscorewithoutessays": "A sua pontuação é {{$a.score}} (de {{$a.grade}}).", "emptypassword": "Senha não pode ser vazia", "enterpassword": "Inserir a senha:", "eolstudentoutoftimenoanswers": "Você não respondeu nenhuma questão. A nota atribuída foi igual a 0 .", + "errorprefetchrandombranch": "Esta lição contém um salto para uma página de conteúdo aleatório. Não pode ser tentada na aplicação antes de ser iniciada no site.", + "errorreviewretakenotlast": "Já não é possível rever esta tentativa porque outra tentativa foi terminada.", "finish": "Finalizado", - "firstwrong": "Infelizmente esta resposta não é correta e portanto não aumentará a sua pontuação. Você gostaria de continuar tentando para conhecer a resposta certa (mas sem direito à revisão da pontuação)?", + "finishretakeoffline": "Esta tentativa foi concluída em modo offline.", + "firstwrong": "Você respondeu incorretamente. Você gostaria de tentar novamente a questão? (Se você responder a pergunta corretamente, sua pontuação final não será alterada.)", "gotoendoflesson": "Ir para o final da lição", "grade": "Avaliação", "highscore": "Pontuação alta", @@ -56,6 +59,9 @@ "rawgrade": "Nota não ponderada", "reports": "Relatórios", "response": "Retorno", + "retakefinishedinsync": "Uma tentativa offline foi sincronizada. Pretende rever a tentativa?", + "retakelabelfull": "{{retake}}: {{grade}} {{timestart}} ({{duration}})", + "retakelabelshort": "{{retake}}: {{grade}} {{timestart}}", "review": "Revisão", "reviewlesson": "Rever Lição", "reviewquestionback": "Sim, eu gostaria de tentar novamente", @@ -64,15 +70,16 @@ "submit": "Enviar", "teacherjumpwarning": "Um destino {{$a.cluster}} ou um destino {{$a.unseen}} está sendo usado nesta lição. O destino Próxima Página substituirá o anterior. Faça o login como estudante para testar estes destinos.", "teacherongoingwarning": "Para testar a pontuação corrente é necessário fazer o login como estudante.", - "teachertimerwarning": "Para testar o timer é necessário fazer o login como estudante.", + "teachertimerwarning": "O temporizador funciona somente para estudantes. Teste o temporizador acessando como estudante.", "thatsthecorrectanswer": "Esta é a resposta correta", "thatsthewronganswer": "Esta é a resposta errada", "timeremaining": "Tempo restante", "timetaken": "Tempo utilizado", - "unseenpageinbranch": "Questão não vista de uma seção", + "unseenpageinbranch": "Questão não visualizada dentro de uma página de conteúdo", + "warningretakefinished": "A tentativa foi terminada no site.", "welldone": "Muito bem!", "youhaveseen": "Você já visitou algumas páginas desta lição.
      Você quer iniciar a partir da última página visitada?", "youranswer": "A sua resposta", "yourcurrentgradeisoutof": "A sua nota atual é {{$a.grade}} sobre {{$a.total}}", - "youshouldview": "Você deve visitar pelo menos: {{$a}}" + "youshouldview": "Você deve responder pelo menos: {{$a}}" } \ No newline at end of file diff --git a/www/addons/mod/lesson/lang/pt.json b/www/addons/mod/lesson/lang/pt.json index 61440b19dc8..6f027fe4950 100644 --- a/www/addons/mod/lesson/lang/pt.json +++ b/www/addons/mod/lesson/lang/pt.json @@ -68,7 +68,7 @@ "reviewquestioncontinue": "Não, quero avançar para a pergunta seguinte", "secondpluswrong": "Resposta incorreta. Quer voltar a tentar?", "submit": "Submeter", - "teacherjumpwarning": "Nesta lição, há páginas que seguem para {{$a.cluster}} ou para {{$a.unseen}}. Esta sequência será ignorada e a lição seguirá para a página seguinte. Para testar a sequência das páginas entre como aluno.", + "teacherjumpwarning": "Nesta lição, há páginas que seguem para {{$a.cluster}} ou para {{$a.unseen}}. Esta sequência será ignorada e a lição seguirá para a página seguinte. Para testar a sequência das páginas, assuma o papel de aluno.", "teacherongoingwarning": "A exibição da pontuação no decorrer da lição só é visível para os alunos. Para ver a pontuação no decorrer da lição entre como aluno.", "teachertimerwarning": "O cronómetro só é visível para os alunos. Para testar esta funcionalidade, entre como aluno.", "thatsthecorrectanswer": "A sua resposta está correta.", diff --git a/www/addons/mod/lesson/lang/ru.json b/www/addons/mod/lesson/lang/ru.json index f8db842221a..e5759b732cf 100644 --- a/www/addons/mod/lesson/lang/ru.json +++ b/www/addons/mod/lesson/lang/ru.json @@ -22,7 +22,10 @@ "emptypassword": "Пароль не может быть пустым", "enterpassword": "Пожалуйста, введите пароль:", "eolstudentoutoftimenoanswers": "Вы не ответили ни на один вопрос. Вы получили 0 за эту лекцию.", + "errorprefetchrandombranch": "Эта лекция содержит переход на случайную страницу контента. Невозможно выполнить попытку в приложении до тех пор, пока она не будет запущена в веб-браузере.", + "errorreviewretakenotlast": "Эта попытка больше не может быть просмотрена, так как была сделана другая попытка.", "finish": "Завершить", + "finishretakeoffline": "Эта попытка была завершена вне сети.", "firstwrong": "Вы ответили неправильно. Хотите снова попробовать ответить на вопрос? (Даже в случае верного ответа его результат не будет засчитан в Вашей итоговой оценке.)", "gotoendoflesson": "Перейти к концу лекции", "grade": "Оценка", @@ -56,6 +59,9 @@ "rawgrade": "Предварительная оценка", "reports": "Отчеты", "response": "Отзыв", + "retakefinishedinsync": "Попытка, выполненная вне сети, была синхронизирована. Вы хотите её просмотреть?", + "retakelabelfull": "{{retake}}: {{grade}} {{timestart}} ({{duration}})", + "retakelabelshort": "{{retake}}: {{grade}} {{timestart}}", "review": "Пересмотр", "reviewlesson": "Пересмотр лекции", "reviewquestionback": "Да, мне хотелось бы попробовать еще раз", @@ -70,6 +76,7 @@ "timeremaining": "Оставшееся время", "timetaken": "Затраченное время", "unseenpageinbranch": "Страница непросмотренного вопроса из раздела", + "warningretakefinished": "Попытка была завершена на сайте.", "welldone": "Отлично!", "youhaveseen": "Вы уже работали с этой лекцией.
      Хотите продолжить с того места, на котором Вы остановились?", "youranswer": "Ваш ответ", diff --git a/www/addons/mod/lesson/services/handlers.js b/www/addons/mod/lesson/services/handlers.js index 61fb53e1c37..86325076b8d 100644 --- a/www/addons/mod/lesson/services/handlers.js +++ b/www/addons/mod/lesson/services/handlers.js @@ -96,9 +96,9 @@ angular.module('mm.addons.mod_lesson') downloadBtn.hidden = true; refreshBtn.hidden = true; - $mmaModLessonPrefetchHandler.getDownloadSize(module, courseId).then(function(size) { + $mmaModLessonPrefetchHandler.getDownloadSize(module, courseId, true).then(function(size) { $mmUtil.confirmDownloadSize(size).then(function() { - return $mmaModLessonPrefetchHandler.prefetch(module, courseId).catch(function(error) { + return $mmaModLessonPrefetchHandler.prefetch(module, courseId, true).catch(function(error) { if (!$scope.$$destroyed) { $mmUtil.showErrorModalDefault(error, 'mm.core.errordownloading', true); return $q.reject(); diff --git a/www/addons/mod/lesson/services/prefetch_handler.js b/www/addons/mod/lesson/services/prefetch_handler.js index 7b58cdf68aa..9e7ac57a48b 100644 --- a/www/addons/mod/lesson/services/prefetch_handler.js +++ b/www/addons/mod/lesson/services/prefetch_handler.js @@ -162,21 +162,20 @@ angular.module('mm.addons.mod_lesson') * @name $mmaModLessonPrefetchHandler#getDownloadSize * @param {Object} module Module to get the size. * @param {Number} courseId Course ID the module belongs to. - * @param {String} [siteId] Site ID. If not defined, current site. - * @return {Object} With the file size and a boolean to indicate if it is the total size or only partial. + * @param {Boolean} single True if we're downloading a single module, false if we're downloading a whole section. + * @return {Promise} Resolved With the file size and a boolean to indicate if it is the total size or only partial. */ - self.getDownloadSize = function(module, courseId, siteId) { - siteId = siteId || $mmSite.getId(); - + self.getDownloadSize = function(module, courseId, single) { var lesson, password, - result; + result, + siteId = $mmSite.getId(); return $mmaModLesson.getLesson(courseId, module.id, siteId).then(function(lessonData) { lesson = lessonData; // Get the lesson password if it's needed. - return self.gatherLessonPassword(lesson.id, false, true, true, siteId); + return self.gatherLessonPassword(lesson.id, false, true, single, siteId); }).then(function(data) { password = data.password; lesson = data.lesson || lesson; diff --git a/www/addons/mod/lti/controllers/index.js b/www/addons/mod/lti/controllers/index.js index 01bb43cfa8b..9b7a7c1fb08 100644 --- a/www/addons/mod/lti/controllers/index.js +++ b/www/addons/mod/lti/controllers/index.js @@ -31,7 +31,7 @@ angular.module('mm.addons.mod_lti') $scope.description = module.description; $scope.moduleUrl = module.url; $scope.courseid = courseid; - $scope.refreshIcon = 'spinner'; + $scope.refreshIcon = 'ion-refresh'; $scope.component = mmaModLtiComponent; $scope.componentId = module.id; @@ -44,7 +44,9 @@ angular.module('mm.addons.mod_lti') lti.launchdata = launchdata; $scope.title = lti.name || $scope.title; $scope.description = lti.intro || $scope.description; - $scope.isValidUrl = $mmUtil.isValidURL(launchdata.endpoint); + if (!$mmUtil.isValidURL(launchdata.endpoint)) { + return $q.reject($translate.instant('mma.mod_lti.errorinvalidlaunchurl')); + } }); }).catch(function(message) { if (!refresh) { @@ -71,34 +73,29 @@ angular.module('mm.addons.mod_lti') }); } - fetchLTI().finally(function() { - $scope.ltiLoaded = true; - $scope.refreshIcon = 'ion-refresh'; - }); - // Pull to refresh. $scope.doRefresh = function() { - if ($scope.ltiLoaded) { - $scope.refreshIcon = 'spinner'; - return refreshAllData().finally(function() { - $scope.refreshIcon = 'ion-refresh'; - $scope.$broadcast('scroll.refreshComplete'); - }); - } + $scope.refreshIcon = 'spinner'; + return refreshAllData().finally(function() { + $scope.refreshIcon = 'ion-refresh'; + $scope.$broadcast('scroll.refreshComplete'); + }); }; // Launch the LTI. $scope.launch = function() { - // "View" LTI. - $mmaModLti.logView(lti.id).then(function() { - $mmCourse.checkModuleCompletion(courseid, module.completionstatus); - }); - // Launch LTI. - $mmaModLti.launch(lti.launchdata.endpoint, lti.launchdata.parameters).catch(function(message) { - if (message) { - $mmUtil.showErrorModal(message); - } + fetchLTI().then(function() { + $mmaModLti.launch(lti.launchdata.endpoint, lti.launchdata.parameters).catch(function(message) { + if (message) { + $mmUtil.showErrorModal(message); + } + }); + }).finally(function() { + // "View" LTI. + $mmaModLti.logView(lti.id).then(function() { + $mmCourse.checkModuleCompletion(courseid, module.completionstatus); + }); }); }; diff --git a/www/addons/mod/lti/services/lti.js b/www/addons/mod/lti/services/lti.js index b9ca8c2bcf6..214a6de878f 100644 --- a/www/addons/mod/lti/services/lti.js +++ b/www/addons/mod/lti/services/lti.js @@ -133,7 +133,11 @@ angular.module('mm.addons.mod_lti') var params = { toolid: id }, + // Try to avoid using cache since the "nonce" parameter is set to a timestamp. preSets = { + getFromCache: 0, + saveToCache: 1, + emergencyCache: 1, cacheKey: getLtiLaunchDataCacheKey(id) }; diff --git a/www/addons/mod/lti/templates/index.html b/www/addons/mod/lti/templates/index.html index 4b915b65853..21913be140c 100644 --- a/www/addons/mod/lti/templates/index.html +++ b/www/addons/mod/lti/templates/index.html @@ -9,10 +9,7 @@ - - - {{ 'mma.mod_lti.launchactivity' | translate }} -

      {{ 'mma.mod_lti.errorinvalidlaunchurl' | translate }}
      - + + {{ 'mma.mod_lti.launchactivity' | translate }} \ No newline at end of file diff --git a/www/addons/mod/quiz/lang/el.json b/www/addons/mod/quiz/lang/el.json index 83aa8fb1b80..667b28be93e 100644 --- a/www/addons/mod/quiz/lang/el.json +++ b/www/addons/mod/quiz/lang/el.json @@ -48,6 +48,7 @@ "preview": "Προεπισκόπηση", "previewquiznow": "Προεπισκόπηση κουίζ", "question": "Ερώτηση", + "quizpassword": "Κωδικός πρόσβασης κουίζ", "reattemptquiz": "Επαναπροσπάθεια του κουίζ", "requirepasswordmessage": "Για να συμπληρώσετε αυτό το κουίζ πρέπει να γνωρίζετε το κωδικό του", "returnattempt": "Επιστροφή στην προσπάθεια", @@ -61,6 +62,7 @@ "stateabandoned": "Δεν έχει υποβληθεί", "statefinished": "Ολοκληρωμένο", "statefinisheddetails": "Υποβλήθηκε {{$a}}", + "stateinprogress": "Σε εξέλιξη", "stateoverduedetails": "Πρέπει να υποβληθεί μέχρι {{$a}}", "status": "Κατάσταση", "submitallandfinish": "Υποβολή όλων και τέλος", diff --git a/www/addons/mod/quiz/lang/eu.json b/www/addons/mod/quiz/lang/eu.json index a09d62d8049..5301b8e7432 100644 --- a/www/addons/mod/quiz/lang/eu.json +++ b/www/addons/mod/quiz/lang/eu.json @@ -15,17 +15,17 @@ "connectionerror": "Galdu egin da sarearen konexioa (Ez du berez gordeko)\n\nGorde idatziz azken minutuetan orri honetan egin dituzun erantzunak eta ondoren saiatu berriz konektatzen.\n\nKonexioa berriz ezartzen denean, zure erantzunak gordetzeko modua izango da eta mezu hau desagertu egingo da.", "continueattemptquiz": "Jarraitu azken saiakerarekin", "continuepreview": "Jarraitu aurreko aurrebistarekin", - "errorbehaviournotsupported": "Galdetegi hau ezin da app-an erantzun jokaera ez dagoelako app-an onartua:", + "errorbehaviournotsupported": "Galdetegi hau ezin da app-an erantzun galderen jokaera ez dagoelako app-an onartua:", "errordownloading": "Errorea behar diren datuak deskargatzean.", "errorgetattempt": "Errorea saiakeraren datuak eskuratzean.", "errorgetquestions": "Errorea galderak eskuratzean.", "errorgetquiz": "Errorea galdetegiaren datuak eskuratzean.", "errorparsequestions": "Errorea gertatu da galderak irakurtzean. Mesedez galdetegia nabigatzailean egiten saiatu.", - "errorquestionsnotsupported": "Galdetegi hau ezin da app-an erantzun app-an onartzen ez diren galdera motak dituelako:", + "errorquestionsnotsupported": "Galdetegi hau ezin da app-an erantzun app-an onartzen ez diren galdera-motak dituelako:", "errorrulesnotsupported": "Galdetegi hau ezin da app-an erantzun app-an onartzen ez diren sarbide-arauak dituelako:", "errorsaveattempt": "Errorea gertatu da saiakeraren datuak gordetzean.", - "errorsyncquiz": "Errorea gertatu da sinkronizatzean. Mesesdez saiatu berriz.", - "errorsyncquizblocked": "Galdetegi hau ezin da orain sinkronizatu beste eragiketa bat martxan dagoelako. Mesedez saiatu beranduago. Arazoa errepikatzen bada, mesedez app-a berrabiarazi.", + "errorsyncquiz": "Errore bat gertatu da sinkronizatzean. Mesesdez, saiatu berriz.", + "errorsyncquizblocked": "Galdetegi hau ezin da orain sinkronizatu beste eragiketa bat martxan dagoelako. Mesedez, saiatu beranduago. Arazoa errepikatzen bada, saiatu mesedez app-a berrabiarazten.", "feedback": "Feedbacka", "finishattemptdots": "Amaitu saiakera...", "finishnotsynced": "Bukatua baina sinkronizatu gabe.", @@ -73,7 +73,7 @@ "summaryofattempts": "Orain arteko zure saiakeren laburpena", "timeleft": "Geratzen den denbora", "timetaken": "Hartutako denbora", - "warningattemptfinished": "Lineaz kanpoko saiakera baztertu da gunean bukatu delako edo ez delako aurkitu", + "warningattemptfinished": "Lineaz kanpoko saiakera baztertu da gunean bukatu delako edo ez delako aurkitu.", "warningdatadiscarded": "Lineaz kanpoko galdera batzuk baztertu dira galderak online aldatu direlako", "warningdatadiscardedfromfinished": "Saiakera ez da bukatu lineaz kanpoko galdera batzuk baztertu direlako. Mesedez zure erantzunak berrikusi eta saiakera berriz bidali.", "yourfinalgradeis": "Galdetegi honetan zure azken nota {{$a}} da." diff --git a/www/addons/mod/quiz/lang/it.json b/www/addons/mod/quiz/lang/it.json index 95eff85b569..9281ea91e91 100644 --- a/www/addons/mod/quiz/lang/it.json +++ b/www/addons/mod/quiz/lang/it.json @@ -14,10 +14,13 @@ "continueattemptquiz": "Riprendi ultimo tentativo", "continuepreview": "Continua l'ultima anteprima", "errordownloading": "Si è verificato un errore durante lo scaricamento dei dati.", + "errorgetattempt": "Si è verificato un errore durante la ricezione dei dati del tentativo.", + "errorgetquestions": "Si è verificato un errore durante la ricezione delle domande.", + "errorgetquiz": "Si è verificato un errore durante la ricezione dei dati del quiz.", "errorparsequestions": "Si è verificato un errore durante la lettura delle domande. Per favore svolgi il quiz usando un browser.", "errorsaveattempt": "Si è verificato un errore durante il salvataggio del tentativo.", "errorsyncquiz": "Si è verificato un errore durante la sincronizzazione. Per favore riprova.", - "errorsyncquizblocked": "Il quiz non può essere sincronizzato a cusa di una elaborazione in corso.", + "errorsyncquizblocked": "Il quiz non può essere sincronizzato a causa di una elaborazione in corso. Per favore riprova più tardi. Se il problema persiste, prova a riavviare l'app.", "feedback": "Feedback", "finishattemptdots": "Completa il tentativo...", "finishnotsynced": "Completato ma non sincronizzato.", diff --git a/www/addons/mod/quiz/lang/ko.json b/www/addons/mod/quiz/lang/ko.json new file mode 100644 index 00000000000..59715590e26 --- /dev/null +++ b/www/addons/mod/quiz/lang/ko.json @@ -0,0 +1,56 @@ +{ + "attemptfirst": "첫번째 시도", + "attemptlast": "마지막 시도", + "attemptnumber": "시도", + "attemptquiznow": "퀴즈 풀기 시작", + "attemptstate": "상태", + "comment": "덧글", + "completedon": "완료됨", + "confirmclose": "당신은 이 시도를 끝내려고 합니다. 일단 시도를 종료하면 더 이상 답을 고칠 수 없습니다.", + "continueattemptquiz": "지난번 시도 계속", + "continuepreview": "미리보기 계속", + "feedback": "피드백", + "finishattemptdots": "시도 종료", + "grade": "성적", + "gradeaverage": "평균 점수", + "gradehighest": "최고 점수", + "grademethod": "채점 방법", + "gradesofar": "{{$a.method}}: {{$a.mygrade}} / {{$a.quizgrade}}.", + "marks": "점수", + "mustbesubmittedby": "이 시도는 {{$a}}가 제출해야 합니다.", + "noquestions": "아직 퀴즈가 추가되지 않음", + "noreviewattempt": "이 시도를 검토하도록 허용되지 않았습니다.", + "notyetgraded": "아직 채점되지 않음", + "outof": "최대 {{$a.maxgrade}} 중 {{$a.grade}}", + "outofpercent": "최대 {{$a.maxgrade}} 중 {{$a.grade}} ({{$a.percent}}%)", + "outofshort": "{{$a.grade}}/{{$a.maxgrade}}", + "overallfeedback": "전반적인 피드백", + "overdue": "기한초과", + "preview": "미리보기", + "previewquiznow": "지금 퀴즈 미리보기", + "question": "질문", + "quizpassword": "퀴즈 암호", + "reattemptquiz": "퀴즈에 재도전", + "requirepasswordmessage": "이 퀴즈를 풀려면 비밀번호를 알아야 함", + "returnattempt": "시도로 돌아가기", + "review": "재검토하기", + "reviewofattempt": "{{$a}} 차 시도 검토", + "reviewofpreview": "미리보기 검토", + "showall": "한 페이지에 모든 질문 보기", + "showeachpage": "한 페이지를 한꺼번에 보이기", + "startattempt": "시도 시작", + "startedon": "시작", + "stateabandoned": "제출되지 않았습니다.", + "statefinished": "종료됨", + "statefinisheddetails": "{{$a}}를 제출함", + "stateinprogress": "진행중", + "stateoverdue": "기한 만료", + "stateoverduedetails": "{{$a}}가 제출해야 합니다.", + "status": "현황", + "submitallandfinish": "모두 제출하고 끝냄", + "summaryofattempt": "시도 개요", + "summaryofattempts": "이전 시도들에 대한 요약", + "timeleft": "남은 시간", + "timetaken": "걸린 시간", + "yourfinalgradeis": "이번 퀴즈의 최종 점수는 {{$a}} 입니다." +} \ No newline at end of file diff --git a/www/addons/mod/quiz/lang/ru.json b/www/addons/mod/quiz/lang/ru.json index b50449fb955..365e5e61758 100644 --- a/www/addons/mod/quiz/lang/ru.json +++ b/www/addons/mod/quiz/lang/ru.json @@ -4,14 +4,28 @@ "attemptnumber": "Попытка", "attemptquiznow": "Начать тестирование", "attemptstate": "Состояние", + "cannotsubmitquizdueto": "Попытка прохождения теста не может быть отправлена по следующим причинам:", "comment": "Комментарий", "completedon": "Завершен", "confirmclose": "После отправки Вы больше не сможете изменить свои ответы на эту попытку.", - "confirmstart": "Время на тест ограничено и равно {{$a}} минут. Будет идти обратный отсчет времени с момента начала вашей попытки и вы должны завершить тест до окончания времени. Вы уверены, что хотите начать прямо сейчас?", + "confirmcontinueoffline": "Эта попытка не была синхронизирована с {{$a}}. Если вы продолжите попытку с другого устройства, то можете потерять данные.", + "confirmleavequizonerror": "При сохранении ответа возникла ошибка. Вы уверены, что хотите покинуть тест?", + "confirmstart": "Время на тест ограничено и равно {{$a}}. Будет идти обратный отсчет времени с момента начала вашей попытки, и вы должны завершить тест до окончания времени. Вы уверены, что хотите начать прямо сейчас?", "confirmstartheader": "Тест с ограничением по времени", "connectionerror": "Сетевое подключение потеряно. (Автосохранение не удалось).\n\nЗапишите все ответы, введенные на этой странице в последние несколько минут, затем попробуйте подключиться заново.\n\nПосле того, как соединение будет восстановлено, Ваши ответы должны быть сохранены и это сообщение исчезнет.", "continueattemptquiz": "Продолжить последнюю попытку", "continuepreview": "Продолжить последний просмотр", + "errorbehaviournotsupported": "Этот тест не может быть пройден в приложении, потому что поведение вопроса не поддерживается приложением.", + "errordownloading": "Ошибка при загрузке необходимых данных.", + "errorgetattempt": "Ошибка получения данных попытки.", + "errorgetquestions": "Ошибка получения вопросов.", + "errorgetquiz": "Ошибка получения данных теста.", + "errorparsequestions": "При чтении вопросов произошла ошибка. Попробуйте пройти этот тест в браузере.", + "errorquestionsnotsupported": "Данный тест не может быть пройден в приложении, потому что он содержит вопросы, не поддерживаемые приложением:", + "errorrulesnotsupported": "Данный тест не может быть пройден в приложении, потому что он имеет правила доступа, не поддерживаемые приложением:", + "errorsaveattempt": "При сохранении данных попытки возникла ошибка.", + "errorsyncquiz": "Во время синхронизации возникла ошибка. Пожалуйста, попробуйте снова.", + "errorsyncquizblocked": "Данный тест не может быть синхронизирован прямо сейчас, так как выполняется процесс. Пожалуйста, попробуйте ещё раз позже. Если проблема сохранится, попробуйте перезапустить приложение.", "feedback": "Отзыв", "finishattemptdots": "Закончить попытку...", "finishnotsynced": "Завершено, но не синхронизировано", @@ -20,11 +34,13 @@ "gradehighest": "Высшая оценка", "grademethod": "Метод оценивания", "gradesofar": "{{$a.method}}: {{$a.mygrade}} / {{$a.quizgrade}}.", + "hasdatatosync": "В этом тесте есть данные для синхронизации, сохранённые вне сети.", "marks": "Баллы", "mustbesubmittedby": "Эта попытка должна быть отправлена до {{$a}}.", "noquestions": "Пока не добавлено ни одного вопроса", "noreviewattempt": "Вам не разрешен просмотр этой попытки.", "notyetgraded": "Еще не оценено", + "opentoc": "Открыть всплывающее окно с навигацией", "outof": "{{$a.grade}} из {{$a.maxgrade}}", "outofpercent": "{{$a.grade}} из {{$a.maxgrade}} ({{$a.percent}}%)", "outofshort": "{{$a.grade}}/{{$a.maxgrade}}", @@ -57,5 +73,8 @@ "summaryofattempts": "Результаты ваших предыдущих попыток", "timeleft": "Оставшееся время", "timetaken": "Прошло времени", + "warningattemptfinished": "Попытка, совершённая вне сети, отменена, так как она была завершена на сайте или не найдена.", + "warningdatadiscarded": "Некоторые ответы, совершённые вне сети, были отменены, так как вопросы были изменены в сети.", + "warningdatadiscardedfromfinished": "Попытка не завершена, так как некоторые ответы, данные вне сети, были отменены. Пожалуйста, проверьте свои ответы и отправьте попытку заново.", "yourfinalgradeis": "Ваша итоговая оценка за этот тест: {{$a}}" } \ No newline at end of file diff --git a/www/addons/mod/quiz/services/prefetch_handler.js b/www/addons/mod/quiz/services/prefetch_handler.js index 1bad3d95e20..c7022ed4350 100644 --- a/www/addons/mod/quiz/services/prefetch_handler.js +++ b/www/addons/mod/quiz/services/prefetch_handler.js @@ -139,10 +139,10 @@ angular.module('mm.addons.mod_quiz') * @name $mmaModQuizPrefetchHandler#getDownloadSize * @param {Object} module Module to get the size. * @param {Number} courseId Course ID the module belongs to. - * @param {String} [siteId] Site ID. If not defined, current site. + * @param {Boolean} single True if we're downloading a single module, false if we're downloading a whole section. * @return {Object} With the file size and a boolean to indicate if it is the total size or only partial. */ - self.getDownloadSize = function(module, courseId, siteId) { + self.getDownloadSize = function(module, courseId, single) { return {size: -1, total: false}; }; diff --git a/www/addons/mod/scorm/lang/eu.json b/www/addons/mod/scorm/lang/eu.json index d6315ef6681..36782d30976 100644 --- a/www/addons/mod/scorm/lang/eu.json +++ b/www/addons/mod/scorm/lang/eu.json @@ -15,8 +15,8 @@ "errordownloadscorm": "Errorea SCORMa jaistean: \"{{name}}\".", "errorgetscorm": "Errorea SCORM datuak eskuratzean.", "errorinvalidversion": "Barkatu, aplikazioak SCORM 1.2 besterik ez du onartzen.", - "errornotdownloadable": "SCORM paketeen deskarga desgaituta dago zure Moodle gunean. Mesedez jarri harremanetan zure Moodle guneko kudeatzailearekin.", - "errornovalidsco": "SCORM honek ez du kargatzeko SCOrik ikusgai.", + "errornotdownloadable": "SCORM paketeen deskarga desgaituta dago.Mesedez jarri harremanetan zure guneko kudeatzailearekin.", + "errornovalidsco": "SCORM pakete honek ez du kargatzeko SCOrik ikusgai.", "errorpackagefile": "Barkatu, aplikazioak ZIP paketeak besterik ez du onartzen.", "errorsyncscorm": "Errorea gertatu da sinkronizatzean. Mesedez, saiatu berriz.", "exceededmaxattempts": "Gehienezko saiakera-kopurua egin duzu.", @@ -43,9 +43,9 @@ "organizations": "Erakundeak", "passed": "Gainditua", "reviewmode": "Berrikusketa-modua", - "scormstatusnotdownloaded": "SCORM hau ez dago aurretik jaitsita. Automatikoki jaitsiko da irekitzen duzunean.", - "scormstatusoutdated": "SCORM hau eguneratua izan da azkenekoz jaitsi zenuenetik. Automatikoki jaitsiko da irekitzen duzunean.", + "scormstatusnotdownloaded": "SCORM pakete hau ez dago aurretik jaitsita. Automatikoki jaitsiko da irekitzen duzunean.", + "scormstatusoutdated": "SCORM pakete hau eguneratua izan da azkenekoz jaitsi zenuenetik. Automatikoki jaitsiko da irekitzen duzunean.", "suspended": "Bere horretan utzia", - "warningofflinedatadeleted": "{{number}}. saiakeraren lineaz kanpoko datu batzuk ezabatu dira ezin izan direlako saiakera berri batean sortu.", - "warningsynconlineincomplete": "Saiakera batzuk ezin izan dira Moodle gunearekin sinkronizatu azken online saiakera ez delako bukatu. Mesedez, bukatu online saiakera aurretik." + "warningofflinedatadeleted": "{{number}}. saiakeraren lineaz kanpoko datu batzuk ezabatu dira ezin izan direlako saiakera berri gisa hartu.", + "warningsynconlineincomplete": "Saiakera batzuk ezin izan dira gunearekin sinkronizatu azken online saiakera ez delako oraindik bukatu. Mesedez, bukatu online saiakera aurretik." } \ No newline at end of file diff --git a/www/addons/mod/scorm/lang/it.json b/www/addons/mod/scorm/lang/it.json index 8556f3bf7ab..fa12390244f 100644 --- a/www/addons/mod/scorm/lang/it.json +++ b/www/addons/mod/scorm/lang/it.json @@ -15,7 +15,7 @@ "errordownloadscorm": "Si è verificato un errore durante lo scaricamento dello SCORM \"{{name}}\".", "errorgetscorm": "Si è verificato un errore durante la ricezione dei dati SCORM.", "errorinvalidversion": "Spiacente, l'applicazione supporta solamente SCORM 1.2.", - "errornotdownloadable": "Lo scaricamento di pacchetti SCORM è disabilitato a livello di sito Moodle. Per favore contatta l'amministratore del sito.", + "errornotdownloadable": "Lo scaricamento di pacchetti SCORM è disabilitato. Per favore contatta l'amministratore del sito.", "errornovalidsco": "Questo SCORM non ha SCO visibili da caricare.", "errorpackagefile": "Spiacente, l'applicazione supporta solamente pacchetti ZIP.", "errorsyncscorm": "Si è verificato un errore durante la sincronizzazione. Per favore riprova.", @@ -46,6 +46,6 @@ "scormstatusnotdownloaded": "Questo SCORM non è stato scaricato, lo sarà non appena lo aprirai.", "scormstatusoutdated": "Questo SCORM è stato modificato dall'ultimo scaricamento e sarà scaricato nuovamente non appena lo aprirai.", "suspended": "Sospeso", - "warningofflinedatadeleted": "Alcuni dati offline del tentativo {{number}} sono stati eliminati perché non è stato possibile inserirli in un nuovo tentativo.", + "warningofflinedatadeleted": "Alcuni dati offline del tentativo {{number}} sono stati eliminati perché non è stato possibile inserirli in un nuovo tentativo.", "warningsynconlineincomplete": "Alcuni tentativi non sono stati sincronizzati sul sito poiché è presente un tentativo svolto online che non è stato terminato. Per sincronizzare, devi prima terminare il tentativo online." } \ No newline at end of file diff --git a/www/addons/mod/scorm/lang/ko.json b/www/addons/mod/scorm/lang/ko.json new file mode 100644 index 00000000000..704d35d12f1 --- /dev/null +++ b/www/addons/mod/scorm/lang/ko.json @@ -0,0 +1,35 @@ +{ + "asset": "에셋", + "assetlaunched": "에셋 - 보았음", + "attempts": "시도들", + "averageattempt": "평균시도들", + "browse": "미리보기", + "browsed": "보았음", + "browsemode": "미리보기 모드", + "completed": "완료됨", + "contents": "목차", + "enter": "입력", + "exceededmaxattempts": "최대 시도 한계에 도달", + "failed": "실패함", + "firstattempt": "처음 시도", + "gradeaverage": "평균 성적", + "gradeforattempt": "시도 성적", + "gradehighest": "최고 성적", + "grademethod": "채점 방법", + "gradereported": "보고된 성적", + "gradescoes": "학습 객체", + "gradesum": "성적 합계", + "highestattempt": "최고 시도", + "incomplete": "미완성됨", + "lastattempt": "마지막 시도", + "mode": "모드", + "newattempt": "새로운 시도 시작하기", + "noattemptsallowed": "허용된 시도 수", + "noattemptsmade": "시도한 횟수", + "normal": "보통", + "notattempted": "시도하지 않았음", + "organizations": "조직들", + "passed": "통과됨", + "reviewmode": "재검토 모드", + "suspended": "보류됨" +} \ No newline at end of file diff --git a/www/addons/mod/scorm/lang/ru.json b/www/addons/mod/scorm/lang/ru.json index 2cc8016e9c1..5880e7cb773 100644 --- a/www/addons/mod/scorm/lang/ru.json +++ b/www/addons/mod/scorm/lang/ru.json @@ -9,9 +9,16 @@ "cannotcalculategrade": "Оценка не может быть посчитана", "completed": "Завершено", "contents": "Содержание", + "dataattemptshown": "Эти данные относятся к попытке номер {{number}}.", "enter": "Войти", + "errorcreateofflineattempt": "Во время создания новой попытки вне сети возникла ошибка. Пожалуйста, попробуйте снова.", + "errordownloadscorm": "Ошибка загрузки SCORM: «{{name}}».", + "errorgetscorm": "Ошибка получения данных SCORM.", "errorinvalidversion": "К сожалению, приложение поддерживает только SCORM 1.2.", + "errornotdownloadable": "Загрузка пакетов SCORM отключена. Пожалуйста, свяжитесь с администратором вашего сайта.", + "errornovalidsco": "Данный SCORM пакет не имеет видимого SCO для загрузки.", "errorpackagefile": "К сожалению, приложение поддерживает только ZIP-архивы.", + "errorsyncscorm": "Во время синхронизации произошла ошибка. Пожалуйста, повторите попытку.", "exceededmaxattempts": "Вы достигли максимального количества попыток.", "failed": "Неудачно", "firstattempt": "Первая попытка", @@ -31,8 +38,14 @@ "noattemptsmade": "Выполнено попыток", "normal": "Обычный", "notattempted": "Не приступал", + "offlineattemptnote": "В этой попытке содержатся данные, которые не были синхронизированы.", + "offlineattemptovermax": "Данная попытка не может быть отправлена, так как вы превысили максимальное число попыток.", "organizations": "Организаций", "passed": "Выполнено успешно", "reviewmode": "Режим просмотра", - "suspended": "Приостановлено" + "scormstatusnotdownloaded": "Данный пакет SCORM не загружен. Он загрузится автоматически, когда вы откроете его.", + "scormstatusoutdated": "Данный пакет SCORM был изменён с момента последней загрузки. Он будет автоматически загружен, когда вы откроете его.", + "suspended": "Приостановлено", + "warningofflinedatadeleted": "Некоторые данные, добавленные вне сети, из попытки {{number}} были отклонены, так как попытка не могла считаться новой.", + "warningsynconlineincomplete": "Некоторые попытки не могли быть синхронизированы с сайтом, так как последняя попытка в сети ещё не завершена. Пожалуйста, сначала завершите попытку в сети." } \ No newline at end of file diff --git a/www/addons/mod/survey/lang/ja.json b/www/addons/mod/survey/lang/ja.json index 6e207332222..35fbcedcc0d 100644 --- a/www/addons/mod/survey/lang/ja.json +++ b/www/addons/mod/survey/lang/ja.json @@ -4,6 +4,6 @@ "ifoundthat": "私は次のことを発見しました:", "ipreferthat": "私は次のことが好きです:", "responses": "回答", - "results": "受験結果", + "results": "結果", "surveycompletednograph": "あなたはこの調査を完了しました。" } \ No newline at end of file diff --git a/www/addons/mod/survey/lang/ko.json b/www/addons/mod/survey/lang/ko.json new file mode 100644 index 00000000000..def2a1b8754 --- /dev/null +++ b/www/addons/mod/survey/lang/ko.json @@ -0,0 +1,6 @@ +{ + "ifoundthat": "을 발견하다.", + "ipreferthat": "을 더 좋아하다.", + "responses": "응답", + "results": "결과" +} \ No newline at end of file diff --git a/www/addons/mod/survey/lang/mr.json b/www/addons/mod/survey/lang/mr.json index a06784de07e..0b2c1f99c4b 100644 --- a/www/addons/mod/survey/lang/mr.json +++ b/www/addons/mod/survey/lang/mr.json @@ -2,5 +2,5 @@ "cannotsubmitsurvey": "क्षमस्व, आपले सर्वेक्षण सबमिट करताना समस्या आली कृपया पुन्हा प्रयत्न करा.", "errorgetsurvey": "सर्वेक्षण डेटा मिळवताना त्रुटी.", "responses": "प्रतीसाद", - "results": "निकाल" + "results": "परिणाम" } \ No newline at end of file diff --git a/www/addons/mod/url/lang/cs.json b/www/addons/mod/url/lang/cs.json index 3ef7cafcaaf..10fa185ba07 100644 --- a/www/addons/mod/url/lang/cs.json +++ b/www/addons/mod/url/lang/cs.json @@ -1,4 +1,4 @@ { "accessurl": "Přístup k URL", - "pointingtourl": "URL zdroj odkazuje na" + "pointingtourl": "Adresa URL, na kterou zdroj odkazuje." } \ No newline at end of file diff --git a/www/addons/mod/url/lang/eu.json b/www/addons/mod/url/lang/eu.json index d816dd5d220..4baf09403a1 100644 --- a/www/addons/mod/url/lang/eu.json +++ b/www/addons/mod/url/lang/eu.json @@ -1,4 +1,4 @@ { "accessurl": "URLan sartu", - "pointingtourl": "URL baliabide hau gune honetara estekatzen du" + "pointingtourl": "Baliabideak estekatzen duen URLa" } \ No newline at end of file diff --git a/www/addons/mod/url/lang/it.json b/www/addons/mod/url/lang/it.json index a8e25b21ad4..bd3f84d2488 100644 --- a/www/addons/mod/url/lang/it.json +++ b/www/addons/mod/url/lang/it.json @@ -1,4 +1,4 @@ { "accessurl": "Accedi all'URL", - "pointingtourl": "URL dove punta la risorsa" + "pointingtourl": "URL dove punta la risorsa." } \ No newline at end of file diff --git a/www/addons/mod/url/lang/ru.json b/www/addons/mod/url/lang/ru.json index 10e91394b19..fb953ea2a0d 100644 --- a/www/addons/mod/url/lang/ru.json +++ b/www/addons/mod/url/lang/ru.json @@ -1,4 +1,4 @@ { "accessurl": "Открыть URL-адрес", - "pointingtourl": "Указание URL-адреса этого ресурса" + "pointingtourl": "URL, на который указывает ресурс." } \ No newline at end of file diff --git a/www/addons/mod/wiki/lang/ca.json b/www/addons/mod/wiki/lang/ca.json index fb0c7bfab1e..b827bb47066 100644 --- a/www/addons/mod/wiki/lang/ca.json +++ b/www/addons/mod/wiki/lang/ca.json @@ -10,7 +10,7 @@ "newpagetitle": "Títol de la pàgina nova", "nocontent": "No hi ha contingut per a aquesta pàgina", "notingroup": "No en grup", - "page": "Pàgina: {{$a}}", + "page": "Pàgina", "pageexists": "Aquesta pàgina ja existeix.", "pagename": "Nom de la pàgina", "subwiki": "Subwiki", diff --git a/www/addons/mod/wiki/lang/cs.json b/www/addons/mod/wiki/lang/cs.json index 052676bb598..89723ca1da7 100644 --- a/www/addons/mod/wiki/lang/cs.json +++ b/www/addons/mod/wiki/lang/cs.json @@ -10,7 +10,7 @@ "newpagetitle": "Nový název stránky", "nocontent": "Pro tuto stránku není obsah", "notingroup": "Není ve skupině", - "page": "Stránka: {{$a}}", + "page": "Stránka", "pageexists": "Tato stránka již existuje.", "pagename": "Název stránky", "subwiki": "Subwiki", diff --git a/www/addons/mod/wiki/lang/da.json b/www/addons/mod/wiki/lang/da.json index b34c6a82735..13ae0164119 100644 --- a/www/addons/mod/wiki/lang/da.json +++ b/www/addons/mod/wiki/lang/da.json @@ -8,7 +8,7 @@ "newpagetitle": "Ny sidetitel", "nocontent": "Der er intet indhold til denne side", "notingroup": "Ikke i gruppe", - "page": "Side: {{$a}}", + "page": "Side", "pageexists": "Denne side findes allerede.", "pagename": "Sidenavn", "subwiki": "Underwiki", diff --git a/www/addons/mod/wiki/lang/el.json b/www/addons/mod/wiki/lang/el.json index 3cfb1632678..801399e1135 100644 --- a/www/addons/mod/wiki/lang/el.json +++ b/www/addons/mod/wiki/lang/el.json @@ -3,7 +3,7 @@ "errornowikiavailable": "Αυτό το wiki δεν έχει ακόμα περιεχόμενο.", "gowikihome": "Go Wiki home", "notingroup": "Συγνώμη, αλλά θα πρέπει να είστε μέλος μιας ομάδας για να δείτε αυτήν τη δραστηριότητα", - "page": "Σελίδα: {{$a}}", + "page": "Σελίδα", "subwiki": "Subwiki", "titleshouldnotbeempty": "Ο τίτλος δεν πρέπει να είναι κενός", "viewpage": "Δείτε τη σελίδα", diff --git a/www/addons/mod/wiki/lang/es.json b/www/addons/mod/wiki/lang/es.json index 3bbe24f3157..b31f110029b 100644 --- a/www/addons/mod/wiki/lang/es.json +++ b/www/addons/mod/wiki/lang/es.json @@ -10,7 +10,7 @@ "newpagetitle": "Título nuevo de la página", "nocontent": "No hay contenido para esta página", "notingroup": "No está en un grupo", - "page": "Página: {{$a}}", + "page": "Página", "pageexists": "Esta página ya existe.", "pagename": "Nombre de la página", "subwiki": "Subwiki", diff --git a/www/addons/mod/wiki/lang/eu.json b/www/addons/mod/wiki/lang/eu.json index f6b07f7639d..4c61c8db39f 100644 --- a/www/addons/mod/wiki/lang/eu.json +++ b/www/addons/mod/wiki/lang/eu.json @@ -2,15 +2,15 @@ "cannoteditpage": "Ezin duzu orri hau editatu.", "createpage": "Sortu orria", "editingpage": "Orri hau editatzen: '{{$a}}'", - "errorloadingpage": "Errorea gertatu da orria kargatzean.", + "errorloadingpage": "Errore bat gertatu da orria kargatzean.", "errornowikiavailable": "Wiki honek oraindik ez du edukirik.", - "gowikihome": "Joan Wiki hasiera.", + "gowikihome": "Joan wikiaren lehen orrira", "map": "Mapa", "newpagehdr": "Orri berria", "newpagetitle": "Orri berriaren izenburua", "nocontent": "Ez dago edukirik orri honetarako", "notingroup": "Ez dago taldean", - "page": "Orria: {{$a}}", + "page": "Orria", "pageexists": "Orri hau badago dagoeneko.", "pagename": "Orriaren izena", "subwiki": "Azpiwikia", diff --git a/www/addons/mod/wiki/lang/hr.json b/www/addons/mod/wiki/lang/hr.json index d2b1d37c968..afbca16955c 100644 --- a/www/addons/mod/wiki/lang/hr.json +++ b/www/addons/mod/wiki/lang/hr.json @@ -7,7 +7,7 @@ "newpagetitle": "Naslov nove stranice", "nocontent": "Na ovoj stranici nema sadržaja", "notingroup": "Nije u grupi", - "page": "Stranica: {{$a}}", + "page": "Stranica", "pageexists": "Ova stranica već postoji. Preusmjeravam na postojeću.", "pagename": "Naziv stranice", "viewpage": "Prikaži stranicu", diff --git a/www/addons/mod/wiki/lang/it.json b/www/addons/mod/wiki/lang/it.json index 5acbfeed47e..b797e49ad10 100644 --- a/www/addons/mod/wiki/lang/it.json +++ b/www/addons/mod/wiki/lang/it.json @@ -4,7 +4,7 @@ "editingpage": "Modifica pagina '{{$a}}'", "errorloadingpage": "Si è verificato un errore durante il caricamento della pagina.", "errornowikiavailable": "Il wiki non ha contenuti.", - "gowikihome": "Home del wiki", + "gowikihome": "Vai alla prima pagina del wiki", "map": "Mappa", "newpagehdr": "Nuova pagina", "newpagetitle": "Titolo nuova pagina", @@ -16,5 +16,6 @@ "subwiki": "Subwiki", "titleshouldnotbeempty": "Il titolo non può essere vuoto", "viewpage": "Visualizza pagina", + "wikipage": "Pagina wiki", "wrongversionlock": "Un altro utente ha modificato questa pagina mentre la stavi modificando anche tu. Le tue modifiche son ora obsolete." } \ No newline at end of file diff --git a/www/addons/mod/wiki/lang/ja.json b/www/addons/mod/wiki/lang/ja.json index 40e0e0dcbc9..591ce09bb4c 100644 --- a/www/addons/mod/wiki/lang/ja.json +++ b/www/addons/mod/wiki/lang/ja.json @@ -10,7 +10,7 @@ "newpagetitle": "新しいページタイトル", "nocontent": "このページにはコンテンツがありません。", "notingroup": "グループ外", - "page": "ページ: {{$a}}", + "page": "ページ", "pageexists": "このページはすでに存在します。", "pagename": "ページ名", "subwiki": "サブwiki", diff --git a/www/addons/mod/wiki/lang/ko.json b/www/addons/mod/wiki/lang/ko.json new file mode 100644 index 00000000000..17ef542ed3d --- /dev/null +++ b/www/addons/mod/wiki/lang/ko.json @@ -0,0 +1,16 @@ +{ + "cannoteditpage": "이 페이지를 편집 할 수 없습니다.", + "createpage": "페이지 만들기", + "editingpage": "페이지 '{{$a}}' 편집 중", + "map": "맵", + "newpagehdr": "세 페이지", + "newpagetitle": "새 페이지 제목", + "nocontent": "이 페이지에 내용이 없습니다.", + "notingroup": "모둠에 없음", + "page": "페이지", + "pageexists": "이 페이지는 이미 존재합니다. 그곳으로 넘어갑니다.", + "pagename": "페이지 이름", + "viewpage": "페이지 보기", + "wikipage": "위키 페이지", + "wrongversionlock": "당신이 편집하는 동안 다른 사용자가 이 페이지를 편집하였으며 당신이 편집한 내용은 쓸모없게 되었습니다." +} \ No newline at end of file diff --git a/www/addons/mod/wiki/lang/lt.json b/www/addons/mod/wiki/lang/lt.json index 7523e9211c2..52f7834015f 100644 --- a/www/addons/mod/wiki/lang/lt.json +++ b/www/addons/mod/wiki/lang/lt.json @@ -10,7 +10,7 @@ "newpagetitle": "Naujo puslapio pavadinimas", "nocontent": "Nėra šio puslapio turinio", "notingroup": "Nėra grupėje", - "page": "Puslapis: {{$a}}", + "page": "Puslapis", "pageexists": "Šis puslapis jau yra.", "pagename": "Puslapio pavadinimas", "subwiki": "Subwiki", diff --git a/www/addons/mod/wiki/lang/mr.json b/www/addons/mod/wiki/lang/mr.json index 3ef41e524c0..f48bdf94a31 100644 --- a/www/addons/mod/wiki/lang/mr.json +++ b/www/addons/mod/wiki/lang/mr.json @@ -3,7 +3,7 @@ "errornowikiavailable": "या विकीकडे अद्याप कोणतीही सामग्री नाही.", "gowikihome": "विकीच्या होमला जा", "notingroup": "माफ करा, ही क्रिया बघण्यासाठी तुम्ही या ग्रुपचा भाग असणे गरजेचे आहे", - "page": "पान", + "page": "पृष्ठ", "subwiki": "उपविकि", "titleshouldnotbeempty": "शीर्षक रिक्त असू नये", "viewpage": "पृष्ठ पहा", diff --git a/www/addons/mod/wiki/lang/pt-br.json b/www/addons/mod/wiki/lang/pt-br.json index a1b02148a74..8a03287d5e2 100644 --- a/www/addons/mod/wiki/lang/pt-br.json +++ b/www/addons/mod/wiki/lang/pt-br.json @@ -10,7 +10,7 @@ "newpagetitle": "Novo título da página", "nocontent": "Não existe conteúdo para esta página", "notingroup": "Não existe no grupo", - "page": "Página: {{$a}}", + "page": "Página", "pageexists": "Esta página já existe.", "pagename": "Nome da página", "subwiki": "Subwiki", diff --git a/www/addons/mod/wiki/lang/ru.json b/www/addons/mod/wiki/lang/ru.json index efca795f742..ea1576da242 100644 --- a/www/addons/mod/wiki/lang/ru.json +++ b/www/addons/mod/wiki/lang/ru.json @@ -4,15 +4,18 @@ "editingpage": "Редактирование страницы «{{$a}}»", "errorloadingpage": "При загрузке страницы произошла ошибка.", "errornowikiavailable": "В этом модуле WIKI пока нет контента.", + "gowikihome": "Перейти на первую страницу wiki", "map": "Карта", "newpagehdr": "Новая страница", "newpagetitle": "Заголовок новой страницы", "nocontent": "Нет содержимого у этой страницы", "notingroup": "Не в группе", - "page": "Страница: {{$a}}", + "page": "Страница", "pageexists": "Такая страница уже существует.", "pagename": "Название страницы", + "subwiki": "Под-wiki", "titleshouldnotbeempty": "Заголовок не должен быть пустым", + "viewpage": "Просмотреть страницу", "wikipage": "Страница Wiki", "wrongversionlock": "Другой пользователь отредактировал страницу и Ваше содержимое устарело" } \ No newline at end of file diff --git a/www/addons/mod/wiki/lang/tr.json b/www/addons/mod/wiki/lang/tr.json index f1167632e26..8ddfdfd95b3 100644 --- a/www/addons/mod/wiki/lang/tr.json +++ b/www/addons/mod/wiki/lang/tr.json @@ -7,7 +7,7 @@ "newpagetitle": "Yeni sayfa başlığı", "nocontent": "Bu sayfa için içerik yok", "notingroup": "Grupta değil", - "page": "Sayfa: {{$a}}", + "page": "Sayfa", "pageexists": "Bu sayfa zaten var.", "pagename": "Sayfa adı", "wrongversionlock": "Başka bir kullanıcı sizin düzenlemeniz sırasında bu sayfayı düzenledi ve içeriğiniz geçersiz." diff --git a/www/addons/mod/wiki/lang/uk.json b/www/addons/mod/wiki/lang/uk.json index 7e2a88dd8db..cd89e56c9cc 100644 --- a/www/addons/mod/wiki/lang/uk.json +++ b/www/addons/mod/wiki/lang/uk.json @@ -10,7 +10,7 @@ "newpagetitle": "Заголовок нової сторінки", "nocontent": "Немає контенту для цієї сторінки", "notingroup": "Не в групі", - "page": "Сторінка: {{$a}}", + "page": "Сторінка", "pageexists": "Ця сторінка вже існує. Перенаправити до неї.", "pagename": "Назва сторінки", "subwiki": "Субвікі", diff --git a/www/addons/mod/wiki/services/prefetch_handler.js b/www/addons/mod/wiki/services/prefetch_handler.js index 65ad4e2d72b..8745f8ebace 100644 --- a/www/addons/mod/wiki/services/prefetch_handler.js +++ b/www/addons/mod/wiki/services/prefetch_handler.js @@ -52,12 +52,12 @@ angular.module('mm.addons.mod_wiki') * @name $mmaModWikiPrefetchHandler#getDownloadSize * @param {Object} module Module to get the size. * @param {Number} courseId Course ID the module belongs to. - * @param {String} [siteId] Site ID. If not defined, current site. + * @param {Boolean} single True if we're downloading a single module, false if we're downloading a whole section. * @return {Promise} With the file size and a boolean to indicate if it is the total size or only partial. */ - self.getDownloadSize = function(module, courseId, siteId) { - var promises = []; - siteId = siteId || $mmSite.getId(); + self.getDownloadSize = function(module, courseId, single) { + var promises = [], + siteId = $mmSite.getId(); promises.push(self.getFiles(module, courseId, siteId).then(function(files) { return $mmUtil.sumFileSizes(files); diff --git a/www/addons/mod/workshop/assessment/accumulative/lang/fi.json b/www/addons/mod/workshop/assessment/accumulative/lang/fi.json index 6207801ae97..593a8b413f5 100644 --- a/www/addons/mod/workshop/assessment/accumulative/lang/fi.json +++ b/www/addons/mod/workshop/assessment/accumulative/lang/fi.json @@ -1,4 +1,6 @@ { + "dimensioncommentfor": "Kommentti - {{$a}}", + "dimensiongradefor": "Arvosana - {{$a}}", "dimensionnumber": "Arviointikriteeri {{$a}}", "mustchoosegrade": "Valitse asteikko tälle arviointikriteerille" } \ No newline at end of file diff --git a/www/addons/mod/workshop/assessment/accumulative/lang/ko.json b/www/addons/mod/workshop/assessment/accumulative/lang/ko.json new file mode 100644 index 00000000000..90966e86296 --- /dev/null +++ b/www/addons/mod/workshop/assessment/accumulative/lang/ko.json @@ -0,0 +1,4 @@ +{ + "dimensionnumber": "관점 {{$a}}", + "mustchoosegrade": "이 관점에 대한 성적을 선택해야 합니다." +} \ No newline at end of file diff --git a/www/addons/mod/workshop/assessment/accumulative/lang/lt.json b/www/addons/mod/workshop/assessment/accumulative/lang/lt.json index ef43a853274..2b8c6f158f5 100644 --- a/www/addons/mod/workshop/assessment/accumulative/lang/lt.json +++ b/www/addons/mod/workshop/assessment/accumulative/lang/lt.json @@ -1,4 +1,6 @@ { + "dimensioncommentfor": "Komentaras {{$a}}", + "dimensiongradefor": "Įvertis {{$a}}", "dimensionnumber": "Aspektas {{$a}}", "mustchoosegrade": "Jūs turite pasirinkti vertinimą pasirinktam aspektui" } \ No newline at end of file diff --git a/www/addons/mod/workshop/assessment/accumulative/template.html b/www/addons/mod/workshop/assessment/accumulative/template.html index 848547b52e6..4bbc41b1419 100644 --- a/www/addons/mod/workshop/assessment/accumulative/template.html +++ b/www/addons/mod/workshop/assessment/accumulative/template.html @@ -1,4 +1,4 @@ -
      +

      {{ field.dimtitle }}

      {{field.description}} diff --git a/www/addons/mod/workshop/assessment/comments/lang/fi.json b/www/addons/mod/workshop/assessment/comments/lang/fi.json index 7488e1b0bf7..f699529ea6d 100644 --- a/www/addons/mod/workshop/assessment/comments/lang/fi.json +++ b/www/addons/mod/workshop/assessment/comments/lang/fi.json @@ -1,3 +1,4 @@ { + "dimensioncommentfor": "Kommentti - {{$a}}", "dimensionnumber": "Arviointikriteeri {{$a}}" } \ No newline at end of file diff --git a/www/addons/mod/workshop/assessment/comments/lang/ko.json b/www/addons/mod/workshop/assessment/comments/lang/ko.json new file mode 100644 index 00000000000..96d910a2c04 --- /dev/null +++ b/www/addons/mod/workshop/assessment/comments/lang/ko.json @@ -0,0 +1,3 @@ +{ + "dimensionnumber": "\t\n관점 {{$a}}" +} \ No newline at end of file diff --git a/www/addons/mod/workshop/assessment/comments/lang/lt.json b/www/addons/mod/workshop/assessment/comments/lang/lt.json index 3e8912609bd..b335ec29664 100644 --- a/www/addons/mod/workshop/assessment/comments/lang/lt.json +++ b/www/addons/mod/workshop/assessment/comments/lang/lt.json @@ -1,3 +1,4 @@ { + "dimensioncommentfor": "Komentaras {{$a}}", "dimensionnumber": "Aspektas {{$a}}" } \ No newline at end of file diff --git a/www/addons/mod/workshop/assessment/comments/template.html b/www/addons/mod/workshop/assessment/comments/template.html index 6ce4f75adc0..9f17bc69008 100644 --- a/www/addons/mod/workshop/assessment/comments/template.html +++ b/www/addons/mod/workshop/assessment/comments/template.html @@ -1,4 +1,4 @@ -
      +

      {{ field.dimtitle }}

      {{field.description}} diff --git a/www/addons/mod/workshop/assessment/numerrors/lang/fi.json b/www/addons/mod/workshop/assessment/numerrors/lang/fi.json index 80b6117f7cf..044942bf314 100644 --- a/www/addons/mod/workshop/assessment/numerrors/lang/fi.json +++ b/www/addons/mod/workshop/assessment/numerrors/lang/fi.json @@ -1,3 +1,5 @@ { + "dimensioncommentfor": "Kommentti - {{$a}}", + "dimensiongradefor": "Arvosana - {{$a}}", "dimensionnumber": "Väite {{$a}}" } \ No newline at end of file diff --git a/www/addons/mod/workshop/assessment/numerrors/lang/ko.json b/www/addons/mod/workshop/assessment/numerrors/lang/ko.json new file mode 100644 index 00000000000..1aff50a2575 --- /dev/null +++ b/www/addons/mod/workshop/assessment/numerrors/lang/ko.json @@ -0,0 +1,3 @@ +{ + "dimensionnumber": "주장 {{$a}} " +} \ No newline at end of file diff --git a/www/addons/mod/workshop/assessment/numerrors/lang/lt.json b/www/addons/mod/workshop/assessment/numerrors/lang/lt.json index 250ac2a7aca..32ea9f79d6a 100644 --- a/www/addons/mod/workshop/assessment/numerrors/lang/lt.json +++ b/www/addons/mod/workshop/assessment/numerrors/lang/lt.json @@ -1,3 +1,5 @@ { + "dimensioncommentfor": "Komentaras {{$a}}", + "dimensiongradefor": "Įvertis {{$a}}", "dimensionnumber": "Teiginys {{$a}}" } \ No newline at end of file diff --git a/www/addons/mod/workshop/assessment/numerrors/template.html b/www/addons/mod/workshop/assessment/numerrors/template.html index 8996abfe784..9ee7360da31 100644 --- a/www/addons/mod/workshop/assessment/numerrors/template.html +++ b/www/addons/mod/workshop/assessment/numerrors/template.html @@ -1,4 +1,4 @@ -
      +

      {{ field.dimtitle }}

      {{field.description}} diff --git a/www/addons/mod/workshop/assessment/rubric/lang/ko.json b/www/addons/mod/workshop/assessment/rubric/lang/ko.json new file mode 100644 index 00000000000..f318ff337c4 --- /dev/null +++ b/www/addons/mod/workshop/assessment/rubric/lang/ko.json @@ -0,0 +1,4 @@ +{ + "dimensionnumber": "기준 {{$a}}", + "mustchooseone": "이 항목중 하나를 골라야만 함" +} \ No newline at end of file diff --git a/www/addons/mod/workshop/assessment/rubric/template.html b/www/addons/mod/workshop/assessment/rubric/template.html index c62e1166342..a8db0c6ed74 100644 --- a/www/addons/mod/workshop/assessment/rubric/template.html +++ b/www/addons/mod/workshop/assessment/rubric/template.html @@ -1,4 +1,4 @@ -
      +

      {{ field.dimtitle }}

      {{field.description}} diff --git a/www/addons/mod/workshop/e2e/mod_workshop.spec.js b/www/addons/mod/workshop/e2e/mod_workshop.spec.js new file mode 100644 index 00000000000..dd6efe67718 --- /dev/null +++ b/www/addons/mod/workshop/e2e/mod_workshop.spec.js @@ -0,0 +1,35 @@ +// (C) Copyright 2015 Martin Dougiamas +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +describe('User can enter course workshop', function () { + + it('View course workshop', function (done) { + return MM.loginAsStudent().then(function () { + return MM.clickOnInSideMenu('Course overview'); + }).then(function () { + return MM.clickOn('Digital Literacy'); + }).then(function () { + return MM.clickOn('Group work and assessment'); + }).then(function () { + return MM.clickOn("Workshop: Transmediation"); + }).then(function () { + browser.sleep(5000); // Wait for css to render. + expect(MM.getNavBar().getText()).toContain("Workshop: Transmediation"); + expect(MM.getView().getText()).toContain('Submission phase'); + expect(MM.getView().getText()).toContain('Instructions for submission'); + }).then(function () { + done(); + }); + }); +}); \ No newline at end of file diff --git a/www/addons/mod/workshop/lang/cs.json b/www/addons/mod/workshop/lang/cs.json index efaa931ae86..d9f9d931420 100644 --- a/www/addons/mod/workshop/lang/cs.json +++ b/www/addons/mod/workshop/lang/cs.json @@ -6,6 +6,7 @@ "assessedsubmission": "Ohodnocená odevzdaná práce", "assessmentform": "Hodnotící formulář", "assessmentsettings": "Podrobnosti hodnocení", + "assessmentstrategynotsupported": "Strategie hodnocení {{$a}} není podporována", "assessmentweight": "Váha hodnocení", "assignedassessments": "Přidělené práce k hodnocení", "conclusion": "Závěr", @@ -34,6 +35,7 @@ "publishsubmission_help": "Zveřejněné práce jsou dostupné ostatním účastníkům poté, co je workshop uzavřen.", "reassess": "Přehodnotit", "receivedgrades": "Obdržené známky", + "selectphase": "Vyberte fázi", "submissionattachment": "Příloha", "submissioncontent": "Obsah práce", "submissiondeleteconfirm": "Jste si jisti, že chcete smazat následující odevzdané práce?", @@ -48,6 +50,8 @@ "switchphase40": "Přepnout do fáze evaluace", "switchphase50": "Uzavřít workshop", "userplancurrentphase": "Aktuální fáze", + "warningassessmentmodified": "Odevzdaný úkol byl na webu změněn.", + "warningsubmissionmodified": "Úkol byl na webu změněn.", "weightinfo": "Váha: {{$a}}", "yourassessment": "Vaše hodnocení", "yourassessmentfor": "Vaše hodnocení {{$a}}", diff --git a/www/addons/mod/workshop/lang/en.json b/www/addons/mod/workshop/lang/en.json index 789520d1bff..57243db4ab0 100644 --- a/www/addons/mod/workshop/lang/en.json +++ b/www/addons/mod/workshop/lang/en.json @@ -50,8 +50,8 @@ "switchphase40": "Switch to the evaluation phase", "switchphase50": "Close workshop", "userplancurrentphase": "Current phase", - "warningassessmentmodified": "The user submission was modified in the site.", - "warningsubmissionmodified": "The user assessment was modified in the site.", + "warningassessmentmodified": "The submission was modified on the site.", + "warningsubmissionmodified": "The assessment was modified on the site.", "weightinfo": "Weight: {{$a}}", "yourassessment": "Your assessment", "yourassessmentfor": "Your assessment for {{$a}}", diff --git a/www/addons/mod/workshop/lang/eu.json b/www/addons/mod/workshop/lang/eu.json index 120a3671ddb..3e8d3186b0e 100644 --- a/www/addons/mod/workshop/lang/eu.json +++ b/www/addons/mod/workshop/lang/eu.json @@ -6,6 +6,7 @@ "assessedsubmission": "Ebaluatutakoaren bidalketa", "assessmentform": "Ebaluaziorako formularioa", "assessmentsettings": "Ebaluazioaren ezarpenak", + "assessmentstrategynotsupported": "Ez da {{$a}} ebaluazio-estrategia onartzen", "assessmentweight": "Ebaluazioaren pisua", "assignedassessments": "Ebaluatzeko esleitutako bidalketak", "conclusion": "Ondorioak", @@ -34,6 +35,7 @@ "publishsubmission_help": "Publikatutako bidalketak besteentzat eskuragarri egongo dira tailerra ixten denean", "reassess": "Berriro ebaluatu", "receivedgrades": "Jasotako kalifikazioak", + "selectphase": "Aukeratu aldia", "submissionattachment": "Eranskina", "submissioncontent": "Bidalketaren edukia", "submissiondeleteconfirm": "Ziur zaude hurrengo bidalketa ezabatu nahi duzula?", @@ -48,6 +50,8 @@ "switchphase40": "Aldatu kalifikazioa ebaluatzeko aldira", "switchphase50": "Itxi tailerra", "userplancurrentphase": "Oraingo fasea", + "warningassessmentmodified": "Bidalketa gunean aldatu izan da.", + "warningsubmissionmodified": "Bidalketa gunean aldatu izan da.", "weightinfo": "Pisua: {{$a}}", "yourassessment": "Zure ebaluazioa", "yourassessmentfor": "{{$a}}-(r)ako zure ebaluazioa", diff --git a/www/addons/mod/workshop/lang/ko.json b/www/addons/mod/workshop/lang/ko.json new file mode 100644 index 00000000000..07f51f479b8 --- /dev/null +++ b/www/addons/mod/workshop/lang/ko.json @@ -0,0 +1,49 @@ +{ + "alreadygraded": "이미 채점되었습니다.", + "areainstructauthors": "제출 요령", + "areainstructreviewers": "평가 요령", + "assess": "평가", + "assessedsubmission": "평가된 제출물", + "assessmentform": "평가 양식", + "assessmentsettings": "평가 설정", + "assessmentstrategynotsupported": "평가 전략 {{$ a}}이(가) 지원되지 않습니다.", + "assessmentweight": "평가 가중치", + "assignedassessments": "평가해야할 제출물", + "conclusion": "결론", + "createsubmission": "제출", + "editsubmission": "제출 수정", + "feedbackauthor": "저자에 대한 피드백", + "feedbackby": "{{$a}}에 의한 피드백", + "feedbackreviewer": "평가자에 대한 피드백", + "givengrades": "부여된 성적", + "gradecalculated": "제출물 성적", + "gradeinfo": "성적 : {{$a.max}} 중 {{$a.received}} ", + "gradeover": "제출 성적 덮어쓰기", + "gradesreport": "상호평가 성적 보고서", + "gradinggrade": "평가 성적", + "gradinggradecalculated": "계산완료된 자기평가 성적", + "gradinggradeof": "자기평가 성적 ({{$a}}) ", + "gradinggradeover": "평가 성적 덮어쓰기", + "nogradeyet": "아직 성적 없음", + "notassessed": "아직 평가하지 않음", + "notoverridden": "덮어쓰여지지 않음", + "noyoursubmission": "아직 제출한 과제가 없음", + "overallfeedback": "전반적인 피드백", + "publishedsubmissions": "공개된 제출물", + "publishsubmission": "제출물 공개", + "publishsubmission_help": "공개된 제출물은 상호평가가 종료되면 다른 사람들에게 제공됩니다.", + "reassess": "재평가", + "receivedgrades": "부여받은 성적", + "selectphase": "단계 선택", + "submissionattachment": "첨부", + "submissioncontent": "제출 내역", + "submissiongrade": "제출 성적", + "submissiongradeof": "({{$a}} 의) 제출 성적", + "submissiontitle": "제목", + "warningassessmentmodified": "사이트에서 제출이 수정되었습니다.", + "warningsubmissionmodified": "평가가 사이트에서 수정되었습니다.", + "weightinfo": "가중치: {{$a}}", + "yourassessment": "당신의 평가", + "yourgrades": "성적", + "yoursubmission": "내 제출물" +} \ No newline at end of file diff --git a/www/addons/mod/workshop/lang/nl.json b/www/addons/mod/workshop/lang/nl.json index 757cc655b69..f0afcde408f 100644 --- a/www/addons/mod/workshop/lang/nl.json +++ b/www/addons/mod/workshop/lang/nl.json @@ -1,13 +1,13 @@ { "alreadygraded": "Al beoordeeld", "areainstructauthors": "Instructies voor insturen", - "areainstructreviewers": "Instructies voor evaluatie", - "assess": "Evalueer", - "assessedsubmission": "Geëvalueerde inzending", - "assessmentform": "Evaluatievorm", + "areainstructreviewers": "Instructies voor beoordeling", + "assess": "Beoordeel", + "assessedsubmission": "Beoordeelde inzending", + "assessmentform": "Beoordelingsformulier", "assessmentsettings": "Beoordelingsinstellingen", "assessmentstrategynotsupported": "Opdrachtstrategie {{$a}} wordt niet ondersteund", - "assessmentweight": "Weging evaluatie", + "assessmentweight": "Weging beoordeling", "assignedassessments": "Toegewezen inzendingen om te beoordelen", "conclusion": "Conclusie", "createsubmission": "Begin met het voorbereiden van je inzending", @@ -20,8 +20,8 @@ "gradecalculated": "Berekende cijfers voor de taak", "gradeinfo": "Cijfer: {{$a.received}} op {{$a.max}}", "gradeover": "Cijfer voor taak overschrijven", - "gradesreport": "Workshop cijfer rapport", - "gradinggrade": "Cijfer voor evaluatie", + "gradesreport": "Workshop cijferrapport", + "gradinggrade": "Cijfer voor beoordeling", "gradinggradecalculated": "Berekend cijfer voor beoordeling", "gradinggradeof": "Cijfer voor beoordeling (van {{$a}})", "gradinggradeover": "Overschrijf cijfer voor beoordeling", @@ -47,7 +47,7 @@ "switchphase10": "Schakel naar opstartfase", "switchphase20": "Schakel naar instuurfase", "switchphase30": "Schakel naar beoordelingsfase", - "switchphase40": "Schakel naar evaluatiefase", + "switchphase40": "Schakel naar beoordelingsfase", "switchphase50": "Sluit workshop", "userplancurrentphase": "Huidige fase", "warningassessmentmodified": "De inzending is gewijzigd op de site.", diff --git a/www/addons/mod/workshop/lang/pt-br.json b/www/addons/mod/workshop/lang/pt-br.json index d1edaf23663..822affb94cf 100644 --- a/www/addons/mod/workshop/lang/pt-br.json +++ b/www/addons/mod/workshop/lang/pt-br.json @@ -6,21 +6,22 @@ "assessedsubmission": "Envio avaliado", "assessmentform": "Formulário de avaliação", "assessmentsettings": "Configurações da avaliação", + "assessmentstrategynotsupported": "Estratégia de avaliação {{$a}} não suportada", "assessmentweight": "Peso da avaliação", - "assignedassessments": "Tarefas designadas para avaliar", + "assignedassessments": "Envios atribuídos para avaliação", "conclusion": "Conclusão", "createsubmission": "Começar a preparar seu envio", "deletesubmission": "Excluir envio", - "editsubmission": "Editar tarefa enviada", + "editsubmission": "Editar envio", "feedbackauthor": "Retorno para o autor", "feedbackby": "Comentários por {{$a}}", - "feedbackreviewer": "Retorno para o crítico", + "feedbackreviewer": "Retorno para o revisor", "givengrades": "Notas dadas", "gradecalculated": "Nota calculada para envio", "gradeinfo": "Nota: {{$a.received}} de {{$a.max}}", "gradeover": "Sobrescrever nota para envio", - "gradesreport": "Relatório de notas do workshop", - "gradinggrade": "Grade de Notas", + "gradesreport": "Relatório de notas do laboratório de avaliação", + "gradinggrade": "Nota para avaliação", "gradinggradecalculated": "Nota calculada para avaliação", "gradinggradeof": "Nota para avaliação (de{{$a}})", "gradinggradeover": "Sobrescrever nota para avaliação", @@ -28,29 +29,32 @@ "notassessed": "Nada avaliado ainda", "notoverridden": "Não sobrescrito", "noyoursubmission": "Você não enviou seu trabalho ainda", - "overallfeedback": "Feedback global", - "publishedsubmissions": "Documentos enviados publicados", - "publishsubmission": "Publicar documentos enviados", - "publishsubmission_help": "Envios publicados são disponíves a outros quando o workshop for fechado.", + "overallfeedback": "Feedback geral", + "publishedsubmissions": "Envios publicados", + "publishsubmission": "Publicar envios", + "publishsubmission_help": "Envios publicados ficam disponíveis aos outros quando o laboratório de avaliação for fechado.", "reassess": "Reavaliar", "receivedgrades": "Notas recebidas", + "selectphase": "Selecionar a fase", "submissionattachment": "Anexo", "submissioncontent": "Conteúdo enviado", - "submissiondeleteconfirm": "Você tem certeza de que deseja deletar o envio a seguir?", + "submissiondeleteconfirm": "Você tem certeza de que deseja excluir o envio a seguir?", "submissiongrade": "Nota para envio", "submissiongradeof": "Notar para envio (de{{$a}})", "submissionrequiredcontent": "Você precisa inserir algum texto ou adicionar um arquivo.", - "submissionsreport": "Relatório de envios do workshop", + "submissionsreport": "Relatório de envios do laboratório de avliação", "submissiontitle": "Título", "switchphase10": "Mudar para a fase de configuração", - "switchphase20": "Mudar para a fase de submissão", + "switchphase20": "Mudar para a fase de envio", "switchphase30": "Mudar para a fase de avaliação", - "switchphase40": "Mudar para a fase de apreciação", - "switchphase50": "Fechar Workshop", + "switchphase40": "Mudar para fase de avaliação de classificação", + "switchphase50": "Fechar o laboratório de avaliação", "userplancurrentphase": "Fase atual", + "warningassessmentmodified": "A submissão foi alterada no site.", + "warningsubmissionmodified": "O trabalho foi modificado no site.", "weightinfo": "Peso: {{$a}}", "yourassessment": "A sua avaliação", - "yourassessmentfor": "Avaliação para {{$a}}", + "yourassessmentfor": "Sua avaliação para {{$a}}", "yourgrades": "Suas notas", "yoursubmission": "Seu envio" } \ No newline at end of file diff --git a/www/addons/mod/workshop/lang/ru.json b/www/addons/mod/workshop/lang/ru.json index 6c0a7dceab6..b97d876dadf 100644 --- a/www/addons/mod/workshop/lang/ru.json +++ b/www/addons/mod/workshop/lang/ru.json @@ -6,6 +6,7 @@ "assessedsubmission": "Оцененная работа", "assessmentform": "Форма оценки", "assessmentsettings": "Параметры оценки", + "assessmentstrategynotsupported": "Стратегия оценки {{$a}} не поддерживается", "assessmentweight": "Вес оценки", "assignedassessments": "Работы, представленные для оценивания", "conclusion": "Заключение", @@ -34,6 +35,7 @@ "publishsubmission_help": "Опубликованные работы доступны другим после завершения семинара.", "reassess": "Переоценить", "receivedgrades": "Полученные оценки", + "selectphase": "Выберите фазу", "submissionattachment": "Приложение", "submissioncontent": "Содержимое работы", "submissiondeleteconfirm": "Вы уверены, что хотите удалить этот ответ?", @@ -48,6 +50,8 @@ "switchphase40": "Переключение к фазе оценивания", "switchphase50": "Семинар окончен", "userplancurrentphase": "Текущая фаза", + "warningassessmentmodified": "Отправка была изменена на сайте.", + "warningsubmissionmodified": "Оценка была изменена на сайте.", "weightinfo": "Вес: {{$a}}", "yourassessment": "Ваша оценка", "yourassessmentfor": "Ваша оценка для {{$a}}", diff --git a/www/addons/myoverview/controllers/index.js b/www/addons/myoverview/controllers/index.js index 3e4e9bac05d..b8f7076646a 100644 --- a/www/addons/myoverview/controllers/index.js +++ b/www/addons/myoverview/controllers/index.js @@ -21,7 +21,8 @@ angular.module('mm.addons.myoverview') * @ngdoc controller * @name mmaMyOverviewCtrl */ -.controller('mmaMyOverviewCtrl', function($scope, $mmaMyOverview, $mmUtil, $q, $mmCourses, $mmCoursesDelegate) { +.controller('mmaMyOverviewCtrl', function($scope, $mmaMyOverview, $mmUtil, $q, $mmCourses, $mmCoursesDelegate, $mmCourseHelper) { + var prefetchIconsInitialized = false; $scope.tabShown = 'courses'; $scope.timeline = { @@ -44,6 +45,11 @@ angular.module('mm.addons.myoverview') $scope.showFilter = false; $scope.searchEnabled = $mmCourses.isSearchCoursesAvailable() && !$mmCourses.isSearchCoursesDisabledInSite(); + $scope.prefetchCoursesData = { + inprogress: {}, + past: {}, + future: {} + }; function fetchMyOverviewTimeline(afterEventId, refresh) { return $mmaMyOverview.getActionEventsByTimesort(afterEventId).then(function(events) { @@ -104,6 +110,8 @@ angular.module('mm.addons.myoverview') $scope.courses.inprogress.push(course); } }); + + initPrefetchCoursesIcons(); }).catch(function(message) { $mmUtil.showErrorModalDefault(message, 'Error getting my overview data.'); return $q.reject(); @@ -137,6 +145,34 @@ angular.module('mm.addons.myoverview') }); } + // Initialize the prefetch icon for selected courses. + function initPrefetchCoursesIcons() { + if (prefetchIconsInitialized) { + // Already initialized. + return; + } + + prefetchIconsInitialized = true; + + Object.keys($scope.prefetchCoursesData).forEach(function(filter) { + if (!$scope.courses[filter] || $scope.courses[filter].length < 2) { + // Not enough courses. + $scope.prefetchCoursesData[filter].icon = ''; + return; + } + + $mmCourseHelper.determineCoursesStatus($scope.courses[filter]).then(function(status) { + var icon = $mmCourseHelper.getCourseStatusIconFromStatus(status); + if (icon == 'spinner') { + // It seems all courses are being downloaded, show a download button instead. + icon = 'ion-ios-cloud-download-outline'; + } + $scope.prefetchCoursesData[filter].icon = icon; + }); + + }); + } + $scope.switchFilter = function() { $scope.showFilter = !$scope.showFilter; if (!$scope.showFilter) { @@ -175,6 +211,7 @@ angular.module('mm.addons.myoverview') } break; case 'courses': + prefetchIconsInitialized = false; promise = fetchMyOverviewCourses(); break; } @@ -238,4 +275,26 @@ angular.module('mm.addons.myoverview') course.canLoadMore = courseEvents.canLoadMore; }); }; + + // Download all the shown courses. + $scope.downloadCourses = function() { + var selected = $scope.courses.selected, + selectedData = $scope.prefetchCoursesData[selected], + initialIcon = selectedData.icon; + + selectedData.icon = 'spinner'; + selectedData.badge = ''; + return $mmCourseHelper.confirmAndPrefetchCourses($scope.courses[selected]).then(function(downloaded) { + selectedData.icon = downloaded ? 'ion-android-refresh' : initialIcon; + }, function(error) { + if (!$scope.$$destroyed) { + $mmUtil.showErrorModalDefault(error, 'mm.course.errordownloadingcourse', true); + selectedData.icon = initialIcon; + } + }, function(progress) { + selectedData.badge = progress.count + ' / ' + progress.total; + }).finally(function() { + selectedData.badge = ''; + }); + }; }); diff --git a/www/addons/myoverview/lang/eu.json b/www/addons/myoverview/lang/eu.json index 86379879f96..2997cbb5737 100644 --- a/www/addons/myoverview/lang/eu.json +++ b/www/addons/myoverview/lang/eu.json @@ -11,7 +11,7 @@ "noevents": "Ez dago jardueren muga-egunik laster", "past": "Iraganean", "pluginname": "Ikuspegi orokorra", - "recentlyoverdue": "Orain dela gutxi iragotako muga-egunak", + "recentlyoverdue": "Orain dela gutxi igarota", "sortbycourses": "Ordenatu ikastaroen arabera", "sortbydates": "Ordenatu dataren arabera", "timeline": "Kronologia" diff --git a/www/addons/myoverview/lang/it.json b/www/addons/myoverview/lang/it.json index cca29fb3c13..294659afe51 100644 --- a/www/addons/myoverview/lang/it.json +++ b/www/addons/myoverview/lang/it.json @@ -8,7 +8,7 @@ "nocoursesfuture": "Non ci sono corsi di prossima attivazione", "nocoursesinprogress": "Non ci sono corsi in svolgimento", "nocoursespast": "Non ci sono corsi conclusi", - "noevents": "Non ci sono attività da svolgere", + "noevents": "Non ci sono attività con date di svolgimento e/o di scadenza programmate in questo periodo.", "past": "Conclusi", "pluginname": "Panoramica corsi", "recentlyoverdue": "Scadute di recente", diff --git a/www/addons/myoverview/lang/pt.json b/www/addons/myoverview/lang/pt.json index ae74a3d55d6..53502c35a57 100644 --- a/www/addons/myoverview/lang/pt.json +++ b/www/addons/myoverview/lang/pt.json @@ -10,7 +10,7 @@ "nocoursespast": "Nenhuma disciplina terminada", "noevents": "Nenhuma atividade programada", "past": "Passado", - "pluginname": "Visão geral", + "pluginname": "Visão global", "recentlyoverdue": "Terminadas recentemente", "sortbycourses": "Ordenar por disciplinas", "sortbydates": "Ordenar por datas", diff --git a/www/addons/myoverview/lang/ro.json b/www/addons/myoverview/lang/ro.json index 2f489f36433..153fc13410b 100644 --- a/www/addons/myoverview/lang/ro.json +++ b/www/addons/myoverview/lang/ro.json @@ -7,6 +7,7 @@ "nocourses": "Nu există cursuri", "nocoursesfuture": "Nu există cursuri viitoare", "nocoursesinprogress": "Nu există cursuri în desfășurare", + "nocoursespast": "Nu există cursuri anterioare", "past": "În trecut", "pluginname": "Numele plugin-ului depozitului", "sortbycourses": "Sortează după cursuri", diff --git a/www/addons/myoverview/lang/sv.json b/www/addons/myoverview/lang/sv.json index 004122c5c20..d8552232635 100644 --- a/www/addons/myoverview/lang/sv.json +++ b/www/addons/myoverview/lang/sv.json @@ -8,6 +8,7 @@ "nocoursesfuture": "Inga kommande kurser", "nocoursesinprogress": "Inga pågående kurser", "nocoursespast": "Inga tidigare kurser", + "noevents": "Inga deadlines för aktiviteter", "past": "Tidigare", "pluginname": "Kursöversikt", "sortbycourses": "Sortera efter kurser", diff --git a/www/addons/myoverview/templates/index.html b/www/addons/myoverview/templates/index.html index d9c440450a8..064c779db93 100644 --- a/www/addons/myoverview/templates/index.html +++ b/www/addons/myoverview/templates/index.html @@ -29,10 +29,7 @@
      -
      - -
      -
      +
      -
      - +
      + + + + + +
      diff --git a/www/addons/notes/lang/ca.json b/www/addons/notes/lang/ca.json index 9367384a78e..1c044e61b29 100644 --- a/www/addons/notes/lang/ca.json +++ b/www/addons/notes/lang/ca.json @@ -4,7 +4,7 @@ "eventnotecreated": "S'ha creat la nota", "nonotes": "Encara no hi ha notes d'aquest tipus", "note": "Anotació", - "notes": "El teu anàlisi privat i les teves notes", + "notes": "Anotacions", "personalnotes": "Anotacions personals", "publishstate": "Context", "sitenotes": "Anotacions del lloc", diff --git a/www/addons/notes/lang/cs.json b/www/addons/notes/lang/cs.json index 984816ff5e7..5c5cb003aa3 100644 --- a/www/addons/notes/lang/cs.json +++ b/www/addons/notes/lang/cs.json @@ -2,9 +2,9 @@ "addnewnote": "Přidat novou poznámku", "coursenotes": "Poznámky kurzu", "eventnotecreated": "Poznámka vytvořena", - "nonotes": "Doposud neexistují žádné poznámky tohoto typu", + "nonotes": "Doposud neexistují žádné poznámky tohoto typu.", "note": "Poznámka", - "notes": "Vaše soukromé postřehy a poznámky", + "notes": "Poznámky", "personalnotes": "Osobní poznámky", "publishstate": "Kontext", "sitenotes": "Poznámky stránek", diff --git a/www/addons/notes/lang/da.json b/www/addons/notes/lang/da.json index cf35362b164..3dadb18f0eb 100644 --- a/www/addons/notes/lang/da.json +++ b/www/addons/notes/lang/da.json @@ -4,7 +4,7 @@ "eventnotecreated": "Note oprettet", "nonotes": "Der er endnu ingen noter af denne type", "note": "Note", - "notes": "Dine private kommentarer og noter", + "notes": "Noter", "personalnotes": "Personlige noter", "publishstate": "Sammenhæng", "sitenotes": "Webstedsnoter", diff --git a/www/addons/notes/lang/de-du.json b/www/addons/notes/lang/de-du.json index 79119cf0125..df0b44168e3 100644 --- a/www/addons/notes/lang/de-du.json +++ b/www/addons/notes/lang/de-du.json @@ -4,7 +4,7 @@ "eventnotecreated": "Anmerkung angelegt", "nonotes": "Keine Anmerkungen", "note": "Anmerkung", - "notes": "Deine persönliche Analyse und Anmerkungen", + "notes": "Anmerkungen", "personalnotes": "Meine Anmerkungen", "publishstate": "Kontext", "sitenotes": "Anmerkungen zur Website", diff --git a/www/addons/notes/lang/de.json b/www/addons/notes/lang/de.json index af167048301..df0b44168e3 100644 --- a/www/addons/notes/lang/de.json +++ b/www/addons/notes/lang/de.json @@ -4,7 +4,7 @@ "eventnotecreated": "Anmerkung angelegt", "nonotes": "Keine Anmerkungen", "note": "Anmerkung", - "notes": "Ihre persönliche Analyse und Anmerkungen", + "notes": "Anmerkungen", "personalnotes": "Meine Anmerkungen", "publishstate": "Kontext", "sitenotes": "Anmerkungen zur Website", diff --git a/www/addons/notes/lang/el.json b/www/addons/notes/lang/el.json index 9bc5d02d49e..e796b19cabe 100644 --- a/www/addons/notes/lang/el.json +++ b/www/addons/notes/lang/el.json @@ -4,7 +4,7 @@ "eventnotecreated": "Το σημείωμα δημιουργήθηκε", "nonotes": "Δεν υπάρχουν σημειώσεις αυτού του τύπου ακόμα", "note": "Σημείωση", - "notes": "Οι προσωπικές σας αναλύσεις και σημειώσεις", + "notes": "Σημειώσεις", "personalnotes": "Προσωπικές σημειώσεις", "publishstate": "Γενικό πλαίσιο", "sitenotes": "Σημειώσεις της ιστοσελίδας", diff --git a/www/addons/notes/lang/es-mx.json b/www/addons/notes/lang/es-mx.json index 1e1105d5f39..c2d61de19e4 100644 --- a/www/addons/notes/lang/es-mx.json +++ b/www/addons/notes/lang/es-mx.json @@ -4,7 +4,7 @@ "eventnotecreated": "Nota creada", "nonotes": "Aun no hay notas de este tipo", "note": "Nota", - "notes": "Su análisis privado y sus notas", + "notes": "Notas", "personalnotes": "Notas personales", "publishstate": "Contexto", "sitenotes": "Notas del sitio", diff --git a/www/addons/notes/lang/eu.json b/www/addons/notes/lang/eu.json index 8656c9594fd..f8935fec248 100644 --- a/www/addons/notes/lang/eu.json +++ b/www/addons/notes/lang/eu.json @@ -4,7 +4,7 @@ "eventnotecreated": "Oharra gehituta", "nonotes": "Oraindik ez dago mota honetako oharrik.", "note": "Oharra", - "notes": "Zure analisi pribatua eta oharrak", + "notes": "Oharrak", "personalnotes": "Ohar pertsonalak", "publishstate": "Testuingurua", "sitenotes": "Guneko oharrak", diff --git a/www/addons/notes/lang/fi.json b/www/addons/notes/lang/fi.json index 96253411108..37c171d4080 100644 --- a/www/addons/notes/lang/fi.json +++ b/www/addons/notes/lang/fi.json @@ -4,7 +4,7 @@ "eventnotecreated": "Muistiinpano luotu", "nonotes": "Muistiinpanoja ei vielä ole", "note": "Muistiinpano", - "notes": "Oma henkilökohtainen analyysisi ja muistiinpanosi.", + "notes": "Muistiinpanot", "personalnotes": "Henkilökohtaiset muistiinpanot", "publishstate": "Konteksti", "sitenotes": "Sivustotasoiset muistiinpanot", diff --git a/www/addons/notes/lang/fr.json b/www/addons/notes/lang/fr.json index 37be152dc0a..d0607b110d6 100644 --- a/www/addons/notes/lang/fr.json +++ b/www/addons/notes/lang/fr.json @@ -4,7 +4,7 @@ "eventnotecreated": "Annotation créée", "nonotes": "Il n'y a pas encore d'annotation de ce type.", "note": "Annotation", - "notes": "Votre analyse et vos remarques personnelles", + "notes": "Annotations", "personalnotes": "Annotations personnelles", "publishstate": "Contexte", "sitenotes": "Annotations du site", diff --git a/www/addons/notes/lang/he.json b/www/addons/notes/lang/he.json index 2e3c5dd9644..416427b2dec 100644 --- a/www/addons/notes/lang/he.json +++ b/www/addons/notes/lang/he.json @@ -4,7 +4,7 @@ "eventnotecreated": "הערה נוצרה", "nonotes": "עדיין לא קיימות הערות מסוג זה", "note": "הערה", - "notes": "ההערות והניתוח הפרטיים שלך.", + "notes": "הערות", "personalnotes": "הערות אישיות", "publishstate": "תוכן", "sitenotes": "הערות אתר", diff --git a/www/addons/notes/lang/hr.json b/www/addons/notes/lang/hr.json index 15cf99fe8bb..e8232895c1e 100644 --- a/www/addons/notes/lang/hr.json +++ b/www/addons/notes/lang/hr.json @@ -3,7 +3,7 @@ "coursenotes": "Bilješke e-kolegija", "eventnotecreated": "Bilješka stvorena", "note": "Bilješka", - "notes": "Vaša osobna analiza i bilješke", + "notes": "Bilješke", "personalnotes": "Osobne bilješke", "publishstate": "Kontekst", "sitenotes": "Bilješke na razini sustava" diff --git a/www/addons/notes/lang/it.json b/www/addons/notes/lang/it.json index 90c300a1f85..cc093ba6985 100644 --- a/www/addons/notes/lang/it.json +++ b/www/addons/notes/lang/it.json @@ -4,9 +4,9 @@ "eventnotecreated": "Creata annotazione", "nonotes": "Non sono presenti annotazioni di questo tipo.", "note": "Annotazione", - "notes": "Le tue note e analisi", + "notes": "Annotazioni", "personalnotes": "Annotazioni personali", "publishstate": "Contesto", "sitenotes": "Annotazioni del sito", - "userwithid": "Utente con id {{id}}" + "userwithid": "Utente con iID {{id}}" } \ No newline at end of file diff --git a/www/addons/notes/lang/ja.json b/www/addons/notes/lang/ja.json index ae48a7ac252..6b3304c8067 100644 --- a/www/addons/notes/lang/ja.json +++ b/www/addons/notes/lang/ja.json @@ -4,7 +4,7 @@ "eventnotecreated": "作成したノート", "nonotes": "このタイプのノートはまだ存在しません", "note": "ノート", - "notes": "あなたの個人分析およびノート", + "notes": "ノート", "personalnotes": "パーソナルノート", "publishstate": "コンテキスト", "sitenotes": "サイトノート", diff --git a/www/addons/notes/lang/ko.json b/www/addons/notes/lang/ko.json new file mode 100644 index 00000000000..2bd0347b323 --- /dev/null +++ b/www/addons/notes/lang/ko.json @@ -0,0 +1,13 @@ +{ + "addnewnote": "새 메모 추가", + "coursenotes": "강좌 메모", + "eventnotecreated": "메모 작성", + "nonotes": "이 유형의 메모가 아직 없습니다.", + "note": "메모", + "notes": "메모들", + "personalnotes": "개인적인 메모", + "publishstate": "문맥", + "sitenotes": "사이트 메모", + "userwithid": "ID가 {{id}} 인 사용자", + "warningnotenotsent": "{{course}} 강좌에 메모를 추가 할 수 없습니다. {{오류}}" +} \ No newline at end of file diff --git a/www/addons/notes/lang/lt.json b/www/addons/notes/lang/lt.json index e9213ee0c0e..ac321d27d1b 100644 --- a/www/addons/notes/lang/lt.json +++ b/www/addons/notes/lang/lt.json @@ -4,7 +4,7 @@ "eventnotecreated": "Užrašas sukurtas", "nonotes": "Nėra jokių šios temos užrašų", "note": "Užrašas", - "notes": "Pastabos", + "notes": "Užrašai", "personalnotes": "Asmeniniai užrašai", "publishstate": "Teksto ištrauka", "sitenotes": "Svetainės užrašai", diff --git a/www/addons/notes/lang/nl.json b/www/addons/notes/lang/nl.json index 64e66285bed..49a0c0209c4 100644 --- a/www/addons/notes/lang/nl.json +++ b/www/addons/notes/lang/nl.json @@ -4,7 +4,7 @@ "eventnotecreated": "Notitie gemaakt", "nonotes": "Er zijn nog geen notities van dit type.", "note": "Notitie", - "notes": "Je persoonlijke analyse en aantekeningen", + "notes": "Notities", "personalnotes": "Persoonlijke notities", "publishstate": "Context", "sitenotes": "Site notities", diff --git a/www/addons/notes/lang/pt-br.json b/www/addons/notes/lang/pt-br.json index 5634bc70e89..ce6908d1d3e 100644 --- a/www/addons/notes/lang/pt-br.json +++ b/www/addons/notes/lang/pt-br.json @@ -4,7 +4,7 @@ "eventnotecreated": "Anotação criada", "nonotes": "Não há mais anotações desse típo", "note": "Anotação", - "notes": "Suas análises e anotações pessoais", + "notes": "Anotações", "personalnotes": "Anotações pessoais", "publishstate": "Contexto", "sitenotes": "Anotações do site", diff --git a/www/addons/notes/lang/pt.json b/www/addons/notes/lang/pt.json index ace13083c07..d5d1db734fc 100644 --- a/www/addons/notes/lang/pt.json +++ b/www/addons/notes/lang/pt.json @@ -4,7 +4,7 @@ "eventnotecreated": "Anotação criada", "nonotes": "Ainda não existem anotações deste tipo.", "note": "Anotação", - "notes": "Análise privada e anotações", + "notes": "Anotações", "personalnotes": "Anotações pessoais", "publishstate": "Contexto", "sitenotes": "Anotações do site", diff --git a/www/addons/notes/lang/ro.json b/www/addons/notes/lang/ro.json index 1115becc8d5..605a02f2299 100644 --- a/www/addons/notes/lang/ro.json +++ b/www/addons/notes/lang/ro.json @@ -4,7 +4,7 @@ "eventnotecreated": "A fost creată o notă", "nonotes": "Momentan nu există note de acest tip", "note": "Notă", - "notes": "Analiza şi notele tale particulare", + "notes": "Note", "personalnotes": "Note personale", "publishstate": "Context", "sitenotes": "Note de site", diff --git a/www/addons/notes/lang/ru.json b/www/addons/notes/lang/ru.json index 5b45804576d..fecbe087e5e 100644 --- a/www/addons/notes/lang/ru.json +++ b/www/addons/notes/lang/ru.json @@ -2,11 +2,12 @@ "addnewnote": "Добавить новую заметку", "coursenotes": "Заметки курса", "eventnotecreated": "Заметка создана", - "nonotes": "Тут нет заметок такого типа", + "nonotes": "Нет заметок такого типа.", "note": "Заметка", - "notes": "Ваши анализы и заметки", + "notes": "Заметки", "personalnotes": "Личные заметки", "publishstate": "Контекст", "sitenotes": "Заметки сайта", - "userwithid": "Пользователя с ID {{id}}" + "userwithid": "Пользователя с ID {{id}}", + "warningnotenotsent": "Не получилось добавить заметку(и) к курсу {{course}}. {{error}}" } \ No newline at end of file diff --git a/www/addons/notes/lang/sv.json b/www/addons/notes/lang/sv.json index 75049c59549..8fcd87edc6d 100644 --- a/www/addons/notes/lang/sv.json +++ b/www/addons/notes/lang/sv.json @@ -4,7 +4,7 @@ "eventnotecreated": "Anteckning skapade", "nonotes": "Det finns inga anteckningar av denna typ ännu", "note": "Anteckning", - "notes": "Din privata analys och anteckningar", + "notes": "Anteckningar", "personalnotes": "Personliga anteckningar", "publishstate": "Sammanhang", "sitenotes": "Webbplats anteckningar", diff --git a/www/addons/notes/lang/uk.json b/www/addons/notes/lang/uk.json index 9c2ba1ac6bb..8c815080c16 100644 --- a/www/addons/notes/lang/uk.json +++ b/www/addons/notes/lang/uk.json @@ -4,7 +4,7 @@ "eventnotecreated": "Записка створена", "nonotes": "Наразі немає записок такого типу", "note": "Записка", - "notes": "Ваш особистий аналіз і нотатки", + "notes": "Записки", "personalnotes": "Персональні записки", "publishstate": "Контекст", "sitenotes": "Записки сайту", diff --git a/www/addons/notes/services/handlers.js b/www/addons/notes/services/handlers.js index 9710cba8bfb..fc5725d8533 100644 --- a/www/addons/notes/services/handlers.js +++ b/www/addons/notes/services/handlers.js @@ -295,6 +295,27 @@ angular.module('mm.addons.notes') }); }; + /** + * Prefetch the addon for a certain course. + * + * @param {Object} course Course to prefetch. + * @return {Promise} Promise resolved when the prefetch is finished. + */ + self.prefetch = function(course) { + // Invalidate data to be sure to get the latest info. + return $mmaNotes.invalidateNotes(course.id).catch(function() { + // Ignore errors. + }).then(function() { + return $mmaNotes.getNotes(course.id, false, true); + }).then(function(notesTypes) { + var promises = []; + angular.forEach(notesTypes, function(notes) { + promises.push($mmaNotes.getNotesUserData(notes, course.id)); + }); + return $mmUtil.allPromises(promises); + }); + }; + return self; }; diff --git a/www/addons/notifications/lang/ar.json b/www/addons/notifications/lang/ar.json index cab5daac101..ecae02aab45 100644 --- a/www/addons/notifications/lang/ar.json +++ b/www/addons/notifications/lang/ar.json @@ -1,5 +1,6 @@ { "errorgetnotifications": "خطأ في الحصول على الإشعارات", - "notifications": "إشعارات", + "notificationpreferences": "تفضيلات الاشعار", + "notifications": "الإشعارات", "therearentnotificationsyet": "لا توجد إشعارات" } \ No newline at end of file diff --git a/www/addons/notifications/lang/ca.json b/www/addons/notifications/lang/ca.json index 077c0e53ffd..324cd60ecdb 100644 --- a/www/addons/notifications/lang/ca.json +++ b/www/addons/notifications/lang/ca.json @@ -1,6 +1,6 @@ { "errorgetnotifications": "S'ha produït un error carregant les notificacions", - "notificationpreferences": "Preferències de les notificacions", + "notificationpreferences": "Preferències de notificació", "notifications": "Notificacions", "playsound": "Reprodueix el so", "therearentnotificationsyet": "No hi ha notificacions" diff --git a/www/addons/notifications/lang/cs.json b/www/addons/notifications/lang/cs.json index 7e1d1531bb2..8547a6a16cd 100644 --- a/www/addons/notifications/lang/cs.json +++ b/www/addons/notifications/lang/cs.json @@ -1,7 +1,7 @@ { "errorgetnotifications": "Chyba při načítání oznámení.", "notificationpreferences": "Nastavení oznámení", - "notifications": "Informace", + "notifications": "Oznámení", "playsound": "Přehrát zvuk", - "therearentnotificationsyet": "Nejsou žádná sdělení" + "therearentnotificationsyet": "Nejsou žádná sdělení." } \ No newline at end of file diff --git a/www/addons/notifications/lang/da.json b/www/addons/notifications/lang/da.json index 5ae802c2f06..f84f447ca88 100644 --- a/www/addons/notifications/lang/da.json +++ b/www/addons/notifications/lang/da.json @@ -1,7 +1,7 @@ { "errorgetnotifications": "Fejl ved hentning af underretninger", "notificationpreferences": "Indstillinger for underretninger", - "notifications": "Beskeder", + "notifications": "Underretninger", "playsound": "Afspil lyd", "therearentnotificationsyet": "Der er ingen underretninger" } \ No newline at end of file diff --git a/www/addons/notifications/lang/es.json b/www/addons/notifications/lang/es.json index 1049b40c7a5..db11ade05af 100644 --- a/www/addons/notifications/lang/es.json +++ b/www/addons/notifications/lang/es.json @@ -1,7 +1,7 @@ { "errorgetnotifications": "Error al obtener notificaciones", - "notificationpreferences": "Preferencias de notificación", - "notifications": "Avisos", + "notificationpreferences": "Preferencias de notificaciones", + "notifications": "Notificaciones", "playsound": "Reproducir sonido", "therearentnotificationsyet": "No hay notificaciones" } \ No newline at end of file diff --git a/www/addons/notifications/lang/eu.json b/www/addons/notifications/lang/eu.json index 2363a8e19af..f5e19694a17 100644 --- a/www/addons/notifications/lang/eu.json +++ b/www/addons/notifications/lang/eu.json @@ -1,7 +1,7 @@ { - "errorgetnotifications": "Errorea jakinarazpenak jasotzean", - "notificationpreferences": "Jakinarazpenen hobespenak", + "errorgetnotifications": "Errore bat gertatu da jakinarazpenak jasotzean.", + "notificationpreferences": "Jakinarazpen hobespenak", "notifications": "Jakinarazpenak", "playsound": "Erreproduzitu soinua", - "therearentnotificationsyet": "Ez dago jakinarazpenik" + "therearentnotificationsyet": "Ez dago jakinarazpenik." } \ No newline at end of file diff --git a/www/addons/notifications/lang/fa.json b/www/addons/notifications/lang/fa.json index f641bf74805..dcfecb86fba 100644 --- a/www/addons/notifications/lang/fa.json +++ b/www/addons/notifications/lang/fa.json @@ -1,5 +1,5 @@ { "notificationpreferences": "ترجیحات اطلاعیه‌ها", - "notifications": "تذکرات", + "notifications": "هشدارها", "therearentnotificationsyet": "هیچ هشداری وجود ندارد" } \ No newline at end of file diff --git a/www/addons/notifications/lang/fi.json b/www/addons/notifications/lang/fi.json index be70ad071de..e9d2839b7a0 100644 --- a/www/addons/notifications/lang/fi.json +++ b/www/addons/notifications/lang/fi.json @@ -1,6 +1,6 @@ { "errorgetnotifications": "Virhe ladattaessa ilmoituksia", - "notificationpreferences": "Ilmoituksien asetukset", + "notificationpreferences": "Ilmoitusasetukset", "notifications": "Ilmoitukset", "playsound": "Soita äänimerkki", "therearentnotificationsyet": "Ei uusia ilmoituksia." diff --git a/www/addons/notifications/lang/he.json b/www/addons/notifications/lang/he.json index 39e5a6ed7a5..1c1591b94ed 100644 --- a/www/addons/notifications/lang/he.json +++ b/www/addons/notifications/lang/he.json @@ -1,6 +1,6 @@ { "errorgetnotifications": "שגיאה בטעינת התראות", "notificationpreferences": "העדפות הודעות", - "notifications": "עדכונים והודעות", + "notifications": "התראות", "therearentnotificationsyet": "אין התראות" } \ No newline at end of file diff --git a/www/addons/notifications/lang/hr.json b/www/addons/notifications/lang/hr.json index 758f784bc9a..f130577e1d1 100644 --- a/www/addons/notifications/lang/hr.json +++ b/www/addons/notifications/lang/hr.json @@ -1,5 +1,5 @@ { - "notificationpreferences": "Postavke za obavijesti", + "notificationpreferences": "Postavke obavijesti", "notifications": "Obavijesti", "therearentnotificationsyet": "Nema obavijesti" } \ No newline at end of file diff --git a/www/addons/notifications/lang/it.json b/www/addons/notifications/lang/it.json index 4faf5d3f1c6..117404abc3a 100644 --- a/www/addons/notifications/lang/it.json +++ b/www/addons/notifications/lang/it.json @@ -2,5 +2,6 @@ "errorgetnotifications": "Si è verificato un errore durante la ricezione delle notifiche.", "notificationpreferences": "Preferenze notifiche", "notifications": "Notifiche", - "therearentnotificationsyet": "Non ci sono notifiche" + "playsound": "Riproduci suono", + "therearentnotificationsyet": "Non ci sono notifiche." } \ No newline at end of file diff --git a/www/addons/notifications/lang/ja.json b/www/addons/notifications/lang/ja.json index 8c6ea812ddf..22daa00358e 100644 --- a/www/addons/notifications/lang/ja.json +++ b/www/addons/notifications/lang/ja.json @@ -1,6 +1,6 @@ { "errorgetnotifications": "通知の取得中にエラーが発生しました。", - "notificationpreferences": "通知プリファレンス", + "notificationpreferences": "通知の設定", "notifications": "通知", "playsound": "音を出力", "therearentnotificationsyet": "通知はありません" diff --git a/www/addons/notifications/lang/ko.json b/www/addons/notifications/lang/ko.json new file mode 100644 index 00000000000..d82816c3ee9 --- /dev/null +++ b/www/addons/notifications/lang/ko.json @@ -0,0 +1,7 @@ +{ + "errorgetnotifications": "알림을 가져 오는 중 오류가 발생했습니다.", + "notificationpreferences": "알림 환경 설정", + "notifications": "알림", + "playsound": "소리 재생", + "therearentnotificationsyet": "알림이 없습니다." +} \ No newline at end of file diff --git a/www/addons/notifications/lang/lt.json b/www/addons/notifications/lang/lt.json index 9487770171a..965ea666726 100644 --- a/www/addons/notifications/lang/lt.json +++ b/www/addons/notifications/lang/lt.json @@ -1,6 +1,6 @@ { "errorgetnotifications": "Klaida gaunant pranešimus", - "notificationpreferences": "Pranešimų nuostatos", + "notificationpreferences": "Pranešimų nustatymai", "notifications": "Pranešimai", "therearentnotificationsyet": "Nėra jokių pranešimų" } \ No newline at end of file diff --git a/www/addons/notifications/lang/mr.json b/www/addons/notifications/lang/mr.json index 136e773e767..526fbb0693e 100644 --- a/www/addons/notifications/lang/mr.json +++ b/www/addons/notifications/lang/mr.json @@ -1,7 +1,7 @@ { "errorgetnotifications": "सूचना मिळवताना त्रुटी", "notificationpreferences": "सूचना प्राधान्यक्रम", - "notifications": "अधिसुचना", + "notifications": "सूचना", "playsound": "ध्वनी प्ले करा", "therearentnotificationsyet": "कोणत्याही सूचना नाहीत" } \ No newline at end of file diff --git a/www/addons/notifications/lang/nl.json b/www/addons/notifications/lang/nl.json index fee989fa89d..794a0a899d5 100644 --- a/www/addons/notifications/lang/nl.json +++ b/www/addons/notifications/lang/nl.json @@ -1,6 +1,6 @@ { "errorgetnotifications": "Fout bij het ophalen van meldingen.", - "notificationpreferences": "Meldingen voorkeuren", + "notificationpreferences": "Notificatievoorkeuren", "notifications": "Meldingen", "playsound": "Speel geluid", "therearentnotificationsyet": "Er zijn geen meldingen." diff --git a/www/addons/notifications/lang/pt-br.json b/www/addons/notifications/lang/pt-br.json index 46bf5f98e68..6ca19fa1c59 100644 --- a/www/addons/notifications/lang/pt-br.json +++ b/www/addons/notifications/lang/pt-br.json @@ -1,6 +1,7 @@ { "errorgetnotifications": "Erro ao receber notificações", - "notificationpreferences": "Preferências de notificação", - "notifications": "Avisos", + "notificationpreferences": "Preferência de notificações", + "notifications": "Notificação", + "playsound": "Reproduzir som", "therearentnotificationsyet": "Não há notificações" } \ No newline at end of file diff --git a/www/addons/notifications/lang/ru.json b/www/addons/notifications/lang/ru.json index 3bb79943f46..588b3e7aa5e 100644 --- a/www/addons/notifications/lang/ru.json +++ b/www/addons/notifications/lang/ru.json @@ -1,7 +1,7 @@ { - "errorgetnotifications": "Ошибка получения уведомления", - "notificationpreferences": "Настройка уведомлений", + "errorgetnotifications": "Ошибка получения уведомлений.", + "notificationpreferences": "Предпочтения по уведомлениям", "notifications": "Уведомления", "playsound": "Проигрывать звук", - "therearentnotificationsyet": "Уведомлений нет" + "therearentnotificationsyet": "Уведомлений нет." } \ No newline at end of file diff --git a/www/addons/notifications/lang/sv.json b/www/addons/notifications/lang/sv.json index ce4f0ccc515..8029962c563 100644 --- a/www/addons/notifications/lang/sv.json +++ b/www/addons/notifications/lang/sv.json @@ -1,6 +1,6 @@ { "errorgetnotifications": "Fel att få meddelanden", "notificationpreferences": "Välj inställningar för notiser", - "notifications": "Administration", + "notifications": "Meddelanden", "therearentnotificationsyet": "Det finns inga meddelanden" } \ No newline at end of file diff --git a/www/addons/notifications/lang/uk.json b/www/addons/notifications/lang/uk.json index 791d1338ac3..c3d124173af 100644 --- a/www/addons/notifications/lang/uk.json +++ b/www/addons/notifications/lang/uk.json @@ -1,7 +1,7 @@ { "errorgetnotifications": "Помилка отримання сповіщень", "notificationpreferences": "Налаштування сповіщень", - "notifications": "Повідомлення", + "notifications": "Сповіщення", "playsound": "Грати звук", "therearentnotificationsyet": "Немає сповіщень" } \ No newline at end of file diff --git a/www/addons/participants/lang/ca.json b/www/addons/participants/lang/ca.json index 1c214eda823..3c6638a3af7 100644 --- a/www/addons/participants/lang/ca.json +++ b/www/addons/participants/lang/ca.json @@ -1,4 +1,4 @@ { - "noparticipants": "No s'han trobat participants.", + "noparticipants": "No s'han trobat participants per aquest curs", "participants": "Participants" } \ No newline at end of file diff --git a/www/addons/participants/lang/cs.json b/www/addons/participants/lang/cs.json index 311ee521366..3863f8d90c8 100644 --- a/www/addons/participants/lang/cs.json +++ b/www/addons/participants/lang/cs.json @@ -1,4 +1,4 @@ { - "noparticipants": "Pro tento kurz nenalezen žádný účastník", - "participants": "Přispěvatelé" + "noparticipants": "Pro tento kurz nenalezeni účastníci.", + "participants": "Účastníci" } \ No newline at end of file diff --git a/www/addons/participants/lang/da.json b/www/addons/participants/lang/da.json index 28829f714a6..69f209799f8 100644 --- a/www/addons/participants/lang/da.json +++ b/www/addons/participants/lang/da.json @@ -1,4 +1,4 @@ { - "noparticipants": "Ingen deltagere fundet.", + "noparticipants": "Ingen deltagere fundet på dette kursus", "participants": "Deltagere" } \ No newline at end of file diff --git a/www/addons/participants/lang/de-du.json b/www/addons/participants/lang/de-du.json index 343c2a2709e..0ccb03a8295 100644 --- a/www/addons/participants/lang/de-du.json +++ b/www/addons/participants/lang/de-du.json @@ -1,4 +1,4 @@ { "noparticipants": "Keine Teilnehmer/innen für diesen Kurs gefunden", - "participants": "Teilnehmer/innen" + "participants": "Personen" } \ No newline at end of file diff --git a/www/addons/participants/lang/de.json b/www/addons/participants/lang/de.json index 343c2a2709e..0ccb03a8295 100644 --- a/www/addons/participants/lang/de.json +++ b/www/addons/participants/lang/de.json @@ -1,4 +1,4 @@ { "noparticipants": "Keine Teilnehmer/innen für diesen Kurs gefunden", - "participants": "Teilnehmer/innen" + "participants": "Personen" } \ No newline at end of file diff --git a/www/addons/participants/lang/el.json b/www/addons/participants/lang/el.json index e1a786afbb1..846f209c0b0 100644 --- a/www/addons/participants/lang/el.json +++ b/www/addons/participants/lang/el.json @@ -1,4 +1,4 @@ { - "noparticipants": "Δε βρέθηκαν συμμετέχονες γι' αυτό το μάθημα", + "noparticipants": "Δεν βρέθηκαν συμμετέχοντες σε αυτό το μάθημα", "participants": "Συμμετέχοντες" } \ No newline at end of file diff --git a/www/addons/participants/lang/es-mx.json b/www/addons/participants/lang/es-mx.json index 5c6014bd522..c97de680297 100644 --- a/www/addons/participants/lang/es-mx.json +++ b/www/addons/participants/lang/es-mx.json @@ -1,4 +1,4 @@ { - "noparticipants": "No se encontraron participantes.", + "noparticipants": "No se encontraron participantes para este curso.", "participants": "Participantes" } \ No newline at end of file diff --git a/www/addons/participants/lang/es.json b/www/addons/participants/lang/es.json index 62113ad2ef9..c64b8bf86b4 100644 --- a/www/addons/participants/lang/es.json +++ b/www/addons/participants/lang/es.json @@ -1,4 +1,4 @@ { - "noparticipants": "No se encontraron participantes en este curso", + "noparticipants": "No se han encontrado participantes en este curso", "participants": "Participantes" } \ No newline at end of file diff --git a/www/addons/participants/lang/eu.json b/www/addons/participants/lang/eu.json index 0a84454d0c0..1cf88ad4123 100644 --- a/www/addons/participants/lang/eu.json +++ b/www/addons/participants/lang/eu.json @@ -1,4 +1,4 @@ { - "noparticipants": "Ez da partaiderik aurkitu ikastaro honetarako", + "noparticipants": "Ez da parte-hartzailerik aurkitu ikastaro honetan.", "participants": "Partaideak" } \ No newline at end of file diff --git a/www/addons/participants/lang/fi.json b/www/addons/participants/lang/fi.json index fcc700ef564..9f8abb88a2f 100644 --- a/www/addons/participants/lang/fi.json +++ b/www/addons/participants/lang/fi.json @@ -1,4 +1,4 @@ { - "noparticipants": "Tälle kurssille ei löytynyt osallistujia", + "noparticipants": "Tällä kurssilla ei ole yhtään osallistujaa.", "participants": "Osallistujat" } \ No newline at end of file diff --git a/www/addons/participants/lang/fr.json b/www/addons/participants/lang/fr.json index 0a75ac6f8c8..9aed5a94bbe 100644 --- a/www/addons/participants/lang/fr.json +++ b/www/addons/participants/lang/fr.json @@ -1,4 +1,4 @@ { - "noparticipants": "Aucun participant trouvé", + "noparticipants": "Aucun participant trouvé dans ce cours.", "participants": "Participants" } \ No newline at end of file diff --git a/www/addons/participants/lang/it.json b/www/addons/participants/lang/it.json index 21d39dce004..0d16202be57 100644 --- a/www/addons/participants/lang/it.json +++ b/www/addons/participants/lang/it.json @@ -1,4 +1,4 @@ { - "noparticipants": "Non sono stati trovati partecipanti.", - "participants": "Sono autorizzati ad inserire record" + "noparticipants": "In questo corso non sono stati trovati partecipanti", + "participants": "Partecipanti" } \ No newline at end of file diff --git a/www/addons/participants/lang/ja.json b/www/addons/participants/lang/ja.json index ff5fe88970c..3656df9f659 100644 --- a/www/addons/participants/lang/ja.json +++ b/www/addons/participants/lang/ja.json @@ -1,4 +1,4 @@ { - "noparticipants": "参加者は見つかりませんでした。", + "noparticipants": "このコースには参加者がいません。", "participants": "参加者" } \ No newline at end of file diff --git a/www/addons/participants/lang/ko.json b/www/addons/participants/lang/ko.json new file mode 100644 index 00000000000..9992a5c90ee --- /dev/null +++ b/www/addons/participants/lang/ko.json @@ -0,0 +1,4 @@ +{ + "noparticipants": "이 강좌에 참가자가 없습니다.", + "participants": "참가자" +} \ No newline at end of file diff --git a/www/addons/participants/lang/lt.json b/www/addons/participants/lang/lt.json index 2ced6e2c61f..b675a2848f1 100644 --- a/www/addons/participants/lang/lt.json +++ b/www/addons/participants/lang/lt.json @@ -1,4 +1,4 @@ { - "noparticipants": "Nerasta dalyvių.", + "noparticipants": "Dalyvaujančių šiuose kursuose nėra", "participants": "Dalyviai" } \ No newline at end of file diff --git a/www/addons/participants/lang/nl.json b/www/addons/participants/lang/nl.json index a7b39b547fc..7feedf9e5e3 100644 --- a/www/addons/participants/lang/nl.json +++ b/www/addons/participants/lang/nl.json @@ -1,4 +1,4 @@ { - "noparticipants": "Geen deelnemers gevonden", + "noparticipants": "Geen deelnemers gevonden in deze cursus.", "participants": "Deelnemers" } \ No newline at end of file diff --git a/www/addons/participants/lang/pt-br.json b/www/addons/participants/lang/pt-br.json index a107a2f8ee1..792fea1d8fd 100644 --- a/www/addons/participants/lang/pt-br.json +++ b/www/addons/participants/lang/pt-br.json @@ -1,4 +1,4 @@ { - "noparticipants": "Nenhum participante encontrado.", + "noparticipants": "Nenhum dos participantes encontrados para este curso", "participants": "Participantes" } \ No newline at end of file diff --git a/www/addons/participants/lang/pt.json b/www/addons/participants/lang/pt.json index 655df885588..e6a458d7e2f 100644 --- a/www/addons/participants/lang/pt.json +++ b/www/addons/participants/lang/pt.json @@ -1,4 +1,4 @@ { - "noparticipants": "Não foram encontrados participantes.", + "noparticipants": "Nenhum participante foi encontrado nesta disciplina.", "participants": "Participantes" } \ No newline at end of file diff --git a/www/addons/participants/lang/ro.json b/www/addons/participants/lang/ro.json index 0c2fa9e2bad..57abb945354 100644 --- a/www/addons/participants/lang/ro.json +++ b/www/addons/participants/lang/ro.json @@ -1,4 +1,4 @@ { - "noparticipants": "Nu există participanți la acest curs", - "participants": "Participanţi" + "noparticipants": "Nu au fost găsiți participanți la acest curs.", + "participants": "Participanți" } \ No newline at end of file diff --git a/www/addons/participants/lang/ru.json b/www/addons/participants/lang/ru.json index bcfa292346e..1472e7c65c9 100644 --- a/www/addons/participants/lang/ru.json +++ b/www/addons/participants/lang/ru.json @@ -1,4 +1,4 @@ { - "noparticipants": "Участники не найдены.", + "noparticipants": "Не найдено участников для данного курса.", "participants": "Участники" } \ No newline at end of file diff --git a/www/addons/participants/lang/sv.json b/www/addons/participants/lang/sv.json index 27833cf5412..ab7780c8f28 100644 --- a/www/addons/participants/lang/sv.json +++ b/www/addons/participants/lang/sv.json @@ -1,4 +1,4 @@ { - "noparticipants": "Inga deltagare hittades för denna kurs", + "noparticipants": "Inga deltagare hittades för kursen", "participants": "Deltagare" } \ No newline at end of file diff --git a/www/addons/participants/lang/tr.json b/www/addons/participants/lang/tr.json index 307ef1e120f..05e3c834e4a 100644 --- a/www/addons/participants/lang/tr.json +++ b/www/addons/participants/lang/tr.json @@ -1,4 +1,4 @@ { - "noparticipants": "Hiçbir katılımcı bulunamadı.", + "noparticipants": "Bu derste hiç katılımcı bulunamadı", "participants": "Katılımcılar" } \ No newline at end of file diff --git a/www/addons/participants/lang/uk.json b/www/addons/participants/lang/uk.json index 2899a99f372..2a8bcb3747e 100644 --- a/www/addons/participants/lang/uk.json +++ b/www/addons/participants/lang/uk.json @@ -1,4 +1,4 @@ { - "noparticipants": "Жодного учасника не знайдено", + "noparticipants": "Учасників не знайдено за цим курсом", "participants": "Учасники" } \ No newline at end of file diff --git a/www/addons/participants/services/handlers.js b/www/addons/participants/services/handlers.js index c1e91cf39f9..0bedb88cb0d 100644 --- a/www/addons/participants/services/handlers.js +++ b/www/addons/participants/services/handlers.js @@ -125,6 +125,21 @@ angular.module('mm.addons.participants') return $mmaParticipants.isPluginEnabledForCourse(courseId); }; + /** + * Prefetch the addon for a certain course. + * + * @param {Object} course Course to prefetch. + * @return {Promise} Promise resolved when the prefetch is finished. + */ + self.prefetch = function(course) { + // Invalidate data to be sure to get the latest info. + return $mmaParticipants.invalidateParticipantsList(course.id).catch(function() { + // Ignore errors. + }).then(function() { + return $mmaParticipants.getAllParticipants(course.id); + }); + }; + return self; }; diff --git a/www/addons/participants/services/participants.js b/www/addons/participants/services/participants.js index 20c531ea208..aa45b7b9bde 100644 --- a/www/addons/participants/services/participants.js +++ b/www/addons/participants/services/participants.js @@ -27,6 +27,34 @@ angular.module('mm.addons.participants') var self = {}; + /** + * Get all the participants for a certain course, performing 1 request per page until there are no more participants. + * + * @module mm.addons.participants + * @ngdoc method + * @name $mmaParticipants#getAllParticipants + * @param {Number} courseId ID of the course. + * @param {Number} [limitFrom] Position of the first participant to get. + * @param {Number} [limitNumber] Number of participants to get in each request. + * @param {String} [siteId] Site Id. If not defined, use current site. + * @return {Promise} Promise to be resolved when the participants are retrieved. + */ + self.getAllParticipants = function(courseId, limitFrom, limitNumber, siteId) { + siteId = siteId || $mmSite.getId(); + limitFrom = limitFrom || 0; + + return self.getParticipants(courseId, limitFrom, limitNumber, siteId).then(function(data) { + if (data.canLoadMore) { + // Load the next "page". + limitFrom = limitFrom + data.participants.length; + return self.getAllParticipants(courseId, limitFrom, limitNumber, siteId).then(function(nextParts) { + return data.participants.concat(nextParts); + }); + } + return data.participants; + }); + }; + /** * Get cache key for participant list WS calls. * @@ -43,7 +71,7 @@ angular.module('mm.addons.participants') * @module mm.addons.participants * @ngdoc method * @name $mmaParticipants#getParticipants - * @param {String} courseId ID of the course. + * @param {Number} courseId ID of the course. * @param {Number} limitFrom Position of the first participant to get. * @param {Number} limitNumber Number of participants to get. * @param {String} [siteId] Site Id. If not defined, use current site. diff --git a/www/addons/qtype/calculated/directive.js b/www/addons/qtype/calculated/directive.js index 41c87e43abc..398785719b4 100644 --- a/www/addons/qtype/calculated/directive.js +++ b/www/addons/qtype/calculated/directive.js @@ -27,9 +27,9 @@ angular.module('mm.addons.qtype_calculated') return { restrict: 'A', priority: 100, - templateUrl: 'addons/qtype/shortanswer/template.html', + templateUrl: 'addons/qtype/calculated/template.html', link: function(scope) { - $mmQuestionHelper.inputTextDirective(scope, $log); + $mmQuestionHelper.calculatedDirective(scope, $log); } }; }); diff --git a/www/addons/qtype/calculated/handlers.js b/www/addons/qtype/calculated/handlers.js index 39dff7bbbdd..0eb4f0887e6 100644 --- a/www/addons/qtype/calculated/handlers.js +++ b/www/addons/qtype/calculated/handlers.js @@ -21,7 +21,7 @@ angular.module('mm.addons.qtype_calculated') * @ngdoc service * @name $mmaQtypeCalculatedHandler */ -.factory('$mmaQtypeCalculatedHandler', function($mmaQtypeNumericalHandler) { +.factory('$mmaQtypeCalculatedHandler', function($mmaQtypeNumericalHandler, $mmUtil) { var self = {}; @@ -34,7 +34,15 @@ angular.module('mm.addons.qtype_calculated') */ self.isCompleteResponse = function(question, answers) { // This question type depends on numerical. - return $mmaQtypeNumericalHandler.isCompleteResponse(question, answers); + if (!self.isGradableResponse(question, answers) || !$mmaQtypeNumericalHandler.validateUnits(answers['answer'])) { + return false; + } + + if (self.requiresUnits(question)) { + return self.isValidValue(answers['unit']); + } + + return -1; }; /** @@ -56,7 +64,13 @@ angular.module('mm.addons.qtype_calculated') */ self.isGradableResponse = function(question, answers) { // This question type depends on numerical. - return $mmaQtypeNumericalHandler.isGradableResponse(question, answers); + var hasAnswer = self.isValidValue(answers['answer']); + if (self.requiresUnits(question)) { + // The question requires a unit. + return hasAnswer && self.isValidValue(answers['unit']); + } else { + return hasAnswer; + } }; /** @@ -69,7 +83,18 @@ angular.module('mm.addons.qtype_calculated') */ self.isSameResponse = function(question, prevAnswers, newAnswers) { // This question type depends on numerical. - return $mmaQtypeNumericalHandler.isSameResponse(question, prevAnswers, newAnswers); + return $mmUtil.sameAtKeyMissingIsBlank(prevAnswers, newAnswers, 'answer') && + $mmUtil.sameAtKeyMissingIsBlank(prevAnswers, newAnswers, 'unit'); + }; + + /** + * Check if a value is valid (not empty). + * + * @param {Mixed} value Value to check. + * @return {Boolean} Whether the value is valid. + */ + self.isValidValue = function(value) { + return value || value === '0' || value === 0; }; /** @@ -82,5 +107,42 @@ angular.module('mm.addons.qtype_calculated') return 'mma-qtype-calculated'; }; + /** + * Prepare the answers for a certain question. + * This function should only be implemented if the answers must be processed before being sent. + * + * @param {Object} question The question. + * @param {Object} answers The answers retrieved from the form. Prepared answers must be stored in this object. + * @param {Boolean} offline True if data should be saved in offline. + * @param {String} [siteId] Site ID. If not defined, current site. + * @return {Promise|Void} Promise resolved when data has been prepared. + */ + self.prepareAnswers = function(question, answers, offline, siteId) { + // If the units are sent using a select, remove a "string:" added by Angular to the values. + // First check if there really is a select in the question HTML. + var div = document.createElement('div'), + select; + + div.innerHTML = question.html; + select = div.querySelector('select[name*=unit]'); + if (select && typeof answers[select.name] == 'string') { + // Remove the "string:" from the beginning of the answer if it's there. + answers[select.name] = answers[select.name].replace(/^string:/, ''); + } + }; + + /** + * Check if a question requires units in a separate input. + * + * @param {Object} question The questions. + * @return {Boolean} Whether the question requires units. + */ + self.requiresUnits = function(question) { + var div = document.createElement('div'); + div.innerHTML = question.html; + + return div.querySelector('select[name*=unit]') || div.querySelector('input[type="radio"]'); + }; + return self; }); diff --git a/www/addons/qtype/calculated/scss/styles.scss b/www/addons/qtype/calculated/scss/styles.scss new file mode 100644 index 00000000000..dff2dee511c --- /dev/null +++ b/www/addons/qtype/calculated/scss/styles.scss @@ -0,0 +1,12 @@ +// Style match content a bit. +.mma-qtype-calculated-container .item-select { + select, + .mm-select-fix { + padding: 0 36px 0 0; + max-width: 100%; + display: flex; + justify-content:center; + align-content:center; + flex-direction:column; + } +} diff --git a/www/addons/qtype/calculated/template.html b/www/addons/qtype/calculated/template.html new file mode 100644 index 00000000000..9bfbc09f14d --- /dev/null +++ b/www/addons/qtype/calculated/template.html @@ -0,0 +1,31 @@ + + + + + + +
      +
      +

      {{ question.text }}

      +
      +
      +
      +
      + + + +
      +
      +
      +
      diff --git a/www/addons/qtype/calculatedsimple/directive.js b/www/addons/qtype/calculatedsimple/directive.js index f5a21952279..b74492adbb7 100644 --- a/www/addons/qtype/calculatedsimple/directive.js +++ b/www/addons/qtype/calculatedsimple/directive.js @@ -27,9 +27,20 @@ angular.module('mm.addons.qtype_calculatedsimple') return { restrict: 'A', priority: 100, - templateUrl: 'addons/qtype/shortanswer/template.html', + templateUrl: 'addons/qtype/calculated/template.html', link: function(scope) { - $mmQuestionHelper.inputTextDirective(scope, $log); + $mmQuestionHelper.calculatedDirective(scope, $log); + + scope.valueChanged = function() { + // The value has changed. Update selected label. + for (var i = 0; i < scope.select.options.length; i++) { + var option = scope.select.options[i]; + if (option.value == scope.select.selected) { + scope.select.selectedLabel = option.label; + break; + } + } + }; } }; }); diff --git a/www/addons/qtype/calculatedsimple/handlers.js b/www/addons/qtype/calculatedsimple/handlers.js index e8481e3821c..c0826d585fa 100644 --- a/www/addons/qtype/calculatedsimple/handlers.js +++ b/www/addons/qtype/calculatedsimple/handlers.js @@ -82,5 +82,20 @@ angular.module('mm.addons.qtype_calculatedsimple') return 'mma-qtype-calculated-simple'; }; + /** + * Prepare the answers for a certain question. + * This function should only be implemented if the answers must be processed before being sent. + * + * @param {Object} question The question. + * @param {Object} answers The answers retrieved from the form. Prepared answers must be stored in this object. + * @param {Boolean} offline True if data should be saved in offline. + * @param {String} [siteId] Site ID. If not defined, current site. + * @return {Promise|Void} Promise resolved when data has been prepared. + */ + self.prepareAnswers = function(question, answers, offline, siteId) { + // This question type depends on calculated. + return $mmaQtypeCalculatedHandler.prepareAnswers(question, answers, offline, siteId); + }; + return self; }); diff --git a/www/config.json b/www/config.json index d4675af7a34..5f48a1643e9 100644 --- a/www/config.json +++ b/www/config.json @@ -2,11 +2,11 @@ "app_id" : "com.moodle.moodlemobile", "appname": "Moodle Mobile", "desktopappname": "Moodle Desktop", - "versioncode" : "2021", - "versionname" : "3.4.0", + "versioncode" : "2022", + "versionname" : "3.4.1", "cache_expiration_time" : 300000, "default_lang" : "en", - "languages": {"ar": "عربي", "bg": "Български", "ca": "Català", "cs": "Čeština", "da": "Dansk", "de": "Deutsch", "de-du": "Deutsch - Du", "el": "Ελληνικά", "en": "English", "es": "Español", "es-mx": "Español - México", "eu": "Euskara", "fa": "فارسی", "fi": "Suomi", "fr" : "Français", "he" : "עברית", "hu": "magyar", "it": "Italiano", "ja": "日本語", "lt" : "Lietuvių", "mr": "मराठी", "nl": "Nederlands", "pl": "Polski", "pt-br": "Português - Brasil", "pt": "Português - Portugal", "ro": "Română", "ru": "Русский", "sr-cr": "Српски", "sr-lt": "Srpski", "sv": "Svenska", "tr" : "Türkçe", "uk" : "Українська", "zh-cn" : "简体中文", "zh-tw" : "正體中文"}, + "languages": {"ar": "عربي", "bg": "Български", "ca": "Català", "cs": "Čeština", "da": "Dansk", "de": "Deutsch", "de-du": "Deutsch - Du", "el": "Ελληνικά", "en": "English", "es": "Español", "es-mx": "Español - México", "eu": "Euskara", "fa": "فارسی", "fi": "Suomi", "fr" : "Français", "he" : "עברית", "hu": "magyar", "it": "Italiano", "ja": "日本語", "ko" : "한국어", "lt" : "Lietuvių", "mr": "मराठी", "nl": "Nederlands", "pl": "Polski", "pt-br": "Português - Brasil", "pt": "Português - Portugal", "ro": "Română", "ru": "Русский", "sr-cr": "Српски", "sr-lt": "Srpski", "sv": "Svenska", "tr" : "Türkçe", "uk" : "Українська", "zh-cn" : "简体中文", "zh-tw" : "正體中文"}, "wsservice" : "moodle_mobile_app", "wsextservice" : "local_mobile", "demo_sites": {"student": {"url": "https://school.demo.moodle.net", "username": "student", "password": "moodle"}, "teacher": {"url": "https://school.demo.moodle.net", "username": "teacher", "password": "moodle"}}, diff --git a/www/core/components/contentlinks/lang/it.json b/www/core/components/contentlinks/lang/it.json new file mode 100644 index 00000000000..9a61aaca18e --- /dev/null +++ b/www/core/components/contentlinks/lang/it.json @@ -0,0 +1,3 @@ +{ + "chooseaccount": "Seleziona account" +} \ No newline at end of file diff --git a/www/core/components/contentlinks/lang/ko.json b/www/core/components/contentlinks/lang/ko.json new file mode 100644 index 00000000000..8d87c9fef1f --- /dev/null +++ b/www/core/components/contentlinks/lang/ko.json @@ -0,0 +1,7 @@ +{ + "chooseaccount": "계정을 선택", + "chooseaccounttoopenlink": "링크를 열 계정을 선택하십시오.", + "confirmurlothersite": "이 링크는 다른 사이트에 속합니다. 열어 보시겠습니까?", + "errornoactions": "이 링크로 수행 할 작업을 찾을 수 없습니다.", + "errornosites": "이 링크를 처리 할 사이트를 찾을 수 없습니다." +} \ No newline at end of file diff --git a/www/core/components/contentlinks/lang/ru.json b/www/core/components/contentlinks/lang/ru.json index 8efa22ed39c..d8f1effbb77 100644 --- a/www/core/components/contentlinks/lang/ru.json +++ b/www/core/components/contentlinks/lang/ru.json @@ -1,3 +1,7 @@ { - "chooseaccount": "Выберите учетную запись" + "chooseaccount": "Выберите учетную запись", + "chooseaccounttoopenlink": "Выбрать учётную запись для перехода по ссылке.", + "confirmurlothersite": "Эта ссылка ведёт на другой сайт. Вы хотите перейти по ней?", + "errornoactions": "Не удалось найти действие для работы с этой ссылкой.", + "errornosites": "Не удалось найти сайт, на который ведёт ссылка." } \ No newline at end of file diff --git a/www/core/components/course/controllers/sections.js b/www/core/components/course/controllers/sections.js index 18e3a84efab..ae6eee6d3cc 100644 --- a/www/core/components/course/controllers/sections.js +++ b/www/core/components/course/controllers/sections.js @@ -23,7 +23,7 @@ angular.module('mm.core.course') */ .controller('mmCourseSectionsCtrl', function($mmCourse, $mmUtil, $scope, $stateParams, $translate, $mmCourseHelper, $mmEvents, $mmSite, $mmCoursePrefetchDelegate, $mmCourses, $q, $ionicHistory, $ionicPlatform, mmCoreCourseAllSectionsId, - mmCoreEventSectionStatusChanged, $state, $timeout, $mmCoursesDelegate, $controller) { + mmCoreEventSectionStatusChanged, $state, $timeout, $mmCoursesDelegate, $controller, mmCoreEventCourseStatusChanged) { var courseId = $stateParams.courseid, sectionId = parseInt($stateParams.sid, 10), sectionNumber = parseInt($stateParams.sectionnumber, 10), @@ -37,6 +37,7 @@ angular.module('mm.core.course') $scope.downloadSectionsIcon = getDownloadSectionIcon(); $scope.sectionHasContent = $mmCourseHelper.sectionHasContent; $scope.courseActions = []; + $scope.prefetchCourseIcon = 'spinner'; // Show spinner while calculating it. function loadSections(refresh) { var promise; @@ -76,7 +77,8 @@ angular.module('mm.core.course') // Fake event (already prevented) to avoid errors on app. var ev = document.createEvent("MouseEvent"); return newScope.action(ev, course); - } + }, + prefetch: button.prefetch }; newScope.$destroy(); @@ -145,6 +147,13 @@ angular.module('mm.core.course') }); } + // Determines the prefetch icon of a course. + function determineCoursePrefetchIcon() { + return $mmCourseHelper.getCourseStatusIcon(courseId).then(function(icon) { + $scope.prefetchCourseIcon = icon; + }); + } + // Prefetch a section. The second parameter indicates if the prefetch was started manually (true) // or it was automatically started because all modules are being downloaded (false). function prefetch(section, manual) { @@ -240,14 +249,51 @@ angular.module('mm.core.course') section.isCalculating = true; $mmCourseHelper.confirmDownloadSize(courseId, section, $scope.sections).then(function() { prefetch(section, true); + }, function(error) { + // User cancelled or there was an error calculating the size. + if (error) { + $mmUtil.showErrorModal(error); + } }).finally(function() { section.isCalculating = false; }); }; + // Prefetch the whole course, including the course options. + $scope.prefetchCourse = function() { + $mmCourseHelper.confirmAndPrefetchCourse($scope, course, $scope.sections, $scope.courseActions).then(function(downloaded) { + if (downloaded && $scope.downloadSectionsEnabled) { + // Recalculate the status. + calculateSectionStatus(false); + } + }); + }; + + // Load the sections. loadSections().finally(function() { autoloadSection(); $scope.sectionsLoaded = true; + + // Determine the course prefetch status. + determineCoursePrefetchIcon().then(function() { + if ($scope.prefetchCourseIcon == 'spinner') { + // Course is being downloaded. Get the download promise. + var promise = $mmCourseHelper.getCourseDownloadPromise(courseId); + if (promise) { + // There is a download promise. Show an error if it fails. + promise.catch(function(error) { + if (!$scope.$$destroyed) { + $mmUtil.showErrorModalDefault(error, 'mm.course.errordownloadingcourse', true); + } + }); + } else { + // No download, this probably means that the app was closed while downloading. Set previous status. + $mmCourse.setCoursePreviousStatus(courseId).then(function(status) { + $scope.prefetchCourseIcon = $mmCourseHelper.getCourseStatusIconFromStatus(status); + }); + } + } + }); }); // Listen for section status changes. @@ -279,7 +325,14 @@ angular.module('mm.core.course') } }); + var courseStatusObserver = $mmEvents.on(mmCoreEventCourseStatusChanged, function(data) { + if (data.siteId == $mmSite.getId() && data.courseId == courseId) { + $scope.prefetchCourseIcon = $mmCourseHelper.getCourseStatusIconFromStatus(data.status); + } + }); + $scope.$on('$destroy', function() { statusObserver && statusObserver.off && statusObserver.off(); + courseStatusObserver && courseStatusObserver.off && courseStatusObserver.off(); }); }); diff --git a/www/core/components/course/lang/cs.json b/www/core/components/course/lang/cs.json index 51719e5c52a..a04f784ca72 100644 --- a/www/core/components/course/lang/cs.json +++ b/www/core/components/course/lang/cs.json @@ -9,8 +9,10 @@ "confirmdownloadunknownsize": "Nebyli jsme schopni vypočítat velikost stahování. Jste si jisti, že stahování chcete?", "confirmpartialdownloadsize": "Chystáte se stáhnout alespoň {{size}}. Jste si jisti, že chcete pokračovat?", "contents": "Obsah", - "couldnotloadsectioncontent": "Nelze načíst obsah sekce, zkuste to prosím později.", - "couldnotloadsections": "Nelze načíst sekce, zkuste to prosím později.", + "couldnotloadsectioncontent": "Nelze načíst obsah sekce. Zkuste to prosím později.", + "couldnotloadsections": "Nelze načíst sekce. Zkuste to prosím později.", + "downloadcourse": "Stáhnout kurz", + "errordownloadingcourse": "Chyba stahování kurzu.", "errordownloadingsection": "Chyba při stahování sekce.", "errorgetmodule": "Chyba při načítání", "hiddenfromstudents": "Skryté před studenty", diff --git a/www/core/components/course/lang/en.json b/www/core/components/course/lang/en.json index 88811317e51..8c6cb9d35c1 100644 --- a/www/core/components/course/lang/en.json +++ b/www/core/components/course/lang/en.json @@ -11,6 +11,8 @@ "contents": "Contents", "couldnotloadsectioncontent": "Could not load the section content. Please try again later.", "couldnotloadsections": "Could not load the sections. Please try again later.", + "downloadcourse": "Download course", + "errordownloadingcourse": "Error downloading course.", "errordownloadingsection": "Error downloading section.", "errorgetmodule": "Error getting activity data.", "hiddenfromstudents": "Hidden from students", diff --git a/www/core/components/course/lang/es-mx.json b/www/core/components/course/lang/es-mx.json index 885dd178e53..0710e7435c8 100644 --- a/www/core/components/course/lang/es-mx.json +++ b/www/core/components/course/lang/es-mx.json @@ -8,9 +8,11 @@ "confirmdownload": "Usted está a punto de descargar {{size}}. ¿Está Usted seguro de querer continuar?", "confirmdownloadunknownsize": "No pudimos calcular el tamaño de la descarga. ¿Está Usted seguro de querer continuar?", "confirmpartialdownloadsize": "Usted está a punto de descargar al menos {{size}}. ¿Está Usted seguro de querer continuar?", - "contents": "Contenido", + "contents": "Contenidos", "couldnotloadsectioncontent": "No pudo cargarse el contenido de la sección. Por favor inténtelo nuevamente después.", "couldnotloadsections": "No pudieron cargarse las secciones. Por favor inténtelo nuevamente después.", + "downloadcourse": "Descargar curso", + "errordownloadingcourse": "Error al descargar curso.", "errordownloadingsection": "Error al descargar sección", "errorgetmodule": "Error al obtener datos de la actividad.", "hiddenfromstudents": "Oculto de estudiantes", diff --git a/www/core/components/course/lang/es.json b/www/core/components/course/lang/es.json index a6cf19ff44b..e2b507e20ce 100644 --- a/www/core/components/course/lang/es.json +++ b/www/core/components/course/lang/es.json @@ -8,7 +8,7 @@ "confirmdownload": "Está a punto de descargar {{size}}. ¿Está seguro de que desea continuar?", "confirmdownloadunknownsize": "No se puede calcular el tamaño de la descarga. ¿Está seguro que quiere descargarlo?", "confirmpartialdownloadsize": "Está a punto de descargar al menos {{size}}. ¿Está seguro de querer continuar?", - "contents": "Contenido", + "contents": "Contenidos", "couldnotloadsectioncontent": "No se ha podido cargar el contenido de la sección, por favor inténtelo más tarde.", "couldnotloadsections": "No se ha podido cargar las secciones, por favor inténtelo más tarde.", "errordownloadingsection": "Error durante la descarga de la sección.", diff --git a/www/core/components/course/lang/eu.json b/www/core/components/course/lang/eu.json index 662aa5daeaf..247e6d6e346 100644 --- a/www/core/components/course/lang/eu.json +++ b/www/core/components/course/lang/eu.json @@ -9,12 +9,12 @@ "confirmdownloadunknownsize": "Ezin izan dugu deskargaren tamaina kalkulatu. Ziur zaude jaitsi nahi duzula?", "confirmpartialdownloadsize": "Gutxienez {{size}} jaistera zoaz. Ziur zaude jarraitu nahi duzula?", "contents": "Edukiak", - "couldnotloadsectioncontent": "Ezin izan da ataleko edukia kargatu, saiatu beranduago mesedez.", - "couldnotloadsections": "Ezin izan dira atalak kargatu, saiatu beranduago mesedez.", + "couldnotloadsectioncontent": "Ezin izan da ataleko edukia kargatu. Saiatu beranduago mesedez.", + "couldnotloadsections": "Ezin izan dira atalak kargatu. Saiatu beranduago mesedez.", "errordownloadingsection": "Errorea atala jaistean.", - "errorgetmodule": "Errorea moduluaren datuak eskuratzean.", + "errorgetmodule": "Errore bat gertatu da jardueraren datuak eskuratzean.", "hiddenfromstudents": "Ezkutuan ikasleentzat", "nocontentavailable": "Ez dago edukirik eskuragarri momentu honetan.", "overriddennotice": "Jarduera honetako zure azken kalifikazioa eskuz egokitu da.", - "useactivityonbrowser": "Zure gailuko nabigatzailea erabilita erabili dezakezu." + "useactivityonbrowser": "Hala ere zure gailuko nabigatzailea erabilita erabil dezakezu." } \ No newline at end of file diff --git a/www/core/components/course/lang/fa.json b/www/core/components/course/lang/fa.json index 6ee0829b8e0..bd8c03a6797 100644 --- a/www/core/components/course/lang/fa.json +++ b/www/core/components/course/lang/fa.json @@ -4,7 +4,7 @@ "confirmdownload": "شما در آستانهٔ دریافت {{size}} هستید. آیا مطمئنید که می‌خواهید ادامه دهید؟", "confirmdownloadunknownsize": "ما نتوانستیم حجم دریافت را محاسبه کنیم. آیا مطمئنید که می‌خواهید ادامه دهید؟", "confirmpartialdownloadsize": "شما در آستانهٔ دریافت حداقل {{size}} هستید. آیا مطمئنید که می‌خواهید ادامه دهید؟", - "contents": "محتویات", + "contents": "محتواها", "couldnotloadsectioncontent": "محتوای قسمت نتوانست بارگیری شود. لطفا بعدا دوباره تلاش کنید.", "couldnotloadsections": "قسمت‌ها نتوانستند بارگیری شوند. لطفا بعدا دوباره تلاش کنید.", "hiddenfromstudents": "پنهان از شاگردان", diff --git a/www/core/components/course/lang/fr.json b/www/core/components/course/lang/fr.json index 03b85b828ad..09c58c6c4ce 100644 --- a/www/core/components/course/lang/fr.json +++ b/www/core/components/course/lang/fr.json @@ -11,6 +11,8 @@ "contents": "Contenus", "couldnotloadsectioncontent": "Impossible de charger le contenu de la section. Veuillez essayer plus tard.", "couldnotloadsections": "Impossible de charger les sections. Veuillez essayer plus tard.", + "downloadcourse": "Télécharger le cours", + "errordownloadingcourse": "Erreur lors du téléchargement du cours.", "errordownloadingsection": "Erreur lors du téléchargement de la section.", "errorgetmodule": "Erreur lors de l'obtention des données du module.", "hiddenfromstudents": "Caché pour les étudiants", diff --git a/www/core/components/course/lang/it.json b/www/core/components/course/lang/it.json index a0b173c815e..9bd73a1e6b5 100644 --- a/www/core/components/course/lang/it.json +++ b/www/core/components/course/lang/it.json @@ -1,11 +1,16 @@ { "allsections": "Tutte le sezioni", + "confirmdeletemodulefiles": "Sei sicuro di eliminare questi file?", "confirmdownload": "Stai per scaricare {{size}}. Vuoi continuare?", - "confirmdownloadunknownsize": "Non è stato possibile calcolare la dimensione del download. Vuoi scaricare lo stesso?", + "confirmdownloadunknownsize": "Non è stato possibile calcolare la dimensione del download. Vuoi continuare?", + "confirmpartialdownloadsize": "Stai per scaricare almeno/strong> {{size}}. Vuoi continuare?", "contents": "Contenuti", "couldnotloadsectioncontent": "Non è stato possibile caricare il contenuto della sezione, per favore riprova più tardi.", "couldnotloadsections": "Non è stato possibile caricare le sezioni, per favore riprova più tardi.", + "downloadcourse": "Scarica corso", + "errordownloadingcourse": "Si è verificato un errore durante lo scaricamento del corso.", "errordownloadingsection": "Si è verificato un errore durante lo scaricamento della sezione.", + "errorgetmodule": "Si è verificato un errore durante la ricezione dei dati dell'attività.", "hiddenfromstudents": "Nascosta agli studenti", "nocontentavailable": "Non sono presenti contenuti.", "overriddennotice": "La tua valutazione finale da questa attività è stata modificata manualmente." diff --git a/www/core/components/course/lang/ko.json b/www/core/components/course/lang/ko.json new file mode 100644 index 00000000000..a84df62f333 --- /dev/null +++ b/www/core/components/course/lang/ko.json @@ -0,0 +1,5 @@ +{ + "contents": "목차", + "hiddenfromstudents": "학생에게 비공개", + "overriddennotice": "이 활동에 대한 최종 성적처리가 수동으로 조정되었습니다." +} \ No newline at end of file diff --git a/www/core/components/course/lang/lt.json b/www/core/components/course/lang/lt.json index 08df4163944..61c97b13eaa 100644 --- a/www/core/components/course/lang/lt.json +++ b/www/core/components/course/lang/lt.json @@ -7,7 +7,7 @@ "confirmdownload": "Norite atsisiųsti {{size}}. Ar norite tęsti?", "confirmdownloadunknownsize": "Negalima apskaičiuoti failo, kurį norite atsisiųsti, dydžio. Ar tikrai norite atsisiųsti?", "confirmpartialdownloadsize": "Norite atsisiųsti mažiausiai {{size}}. Ar tikrai norite tęsti?", - "contents": "Turinys", + "contents": "Turiniai", "couldnotloadsectioncontent": "Negalima užkrauti pasirinkto turinio, prašome pamėginti vėliau.", "couldnotloadsections": "Negalima užkrauti pasirinkto turinio, prašome pamėginti vėliau.", "errordownloadingsection": "Klaida atsisiunčiant.", diff --git a/www/core/components/course/lang/mr.json b/www/core/components/course/lang/mr.json index 30998715470..16a2acef4af 100644 --- a/www/core/components/course/lang/mr.json +++ b/www/core/components/course/lang/mr.json @@ -8,7 +8,7 @@ "confirmdownload": "आपण {{size}} डाउनलोड करणार आहात आपल्याला खात्री आहे की आपण सुरू ठेवू इच्छिता?", "confirmdownloadunknownsize": "आम्ही डाउनलोडचे आकार गणना करण्यात अक्षम आहोत. आपण डाउनलोड करू इच्छिता याची आपल्याला खात्री आहे?", "confirmpartialdownloadsize": "आपण कमीत कमी {{size}} डाउनलोड करणार आहात आपल्याला खात्री आहे की आपण सुरू ठेवू इच्छिता?", - "contents": "घटक", + "contents": "सामग्री", "couldnotloadsectioncontent": "विभाग सामग्री लोड करणे शक्य नाही, कृपया नंतर पुन्हा प्रयत्न करा.", "couldnotloadsections": "विभाग लोड करणे शक्य झाले नाही, कृपया नंतर पुन्हा प्रयत्न करा.", "errordownloadingsection": "विभाग डाउनलोड करताना त्रुटी.", diff --git a/www/core/components/course/lang/pt-br.json b/www/core/components/course/lang/pt-br.json index 9f67cd64f5c..54f95ccca41 100644 --- a/www/core/components/course/lang/pt-br.json +++ b/www/core/components/course/lang/pt-br.json @@ -8,9 +8,11 @@ "confirmdownload": "Você está prestes a baixar {{size}}. Você tem certeza que quer continuar?", "confirmdownloadunknownsize": "Não fomos capazes de calcular o tamanho do download. Tem certeza de que deseja fazer o download?", "confirmpartialdownloadsize": "Você está prestes a baixar pelo menos {{size}}. Você tem certeza que quer continuar?", - "contents": "Conteúdo", + "contents": "Conteúdos", "couldnotloadsectioncontent": "Não foi possível carregar o conteúdo da seção, por favor tente mais tarde.", "couldnotloadsections": "Não foi possível carregar a seção, por favor tente mais tarde.", + "downloadcourse": "Descarregar disciplina", + "errordownloadingcourse": "Erro ao descarregar a disciplina", "errordownloadingsection": "Erro ao baixar seção.", "errorgetmodule": "Erro ao obter os dados do módulo.", "hiddenfromstudents": "Oculto para estudantes", diff --git a/www/core/components/course/lang/pt.json b/www/core/components/course/lang/pt.json index 28ace77dd97..db02cb7aa0f 100644 --- a/www/core/components/course/lang/pt.json +++ b/www/core/components/course/lang/pt.json @@ -11,6 +11,8 @@ "contents": "Conteúdos", "couldnotloadsectioncontent": "Não foi possível carregar o conteúdo da secção. Por favor tente novamente mais tarde.", "couldnotloadsections": "Não foi possível carregar as secções. Por favor tente novamente mais tarde.", + "downloadcourse": "Descarregar disciplina", + "errordownloadingcourse": "Erro ao descarregar a disciplina", "errordownloadingsection": "Erro ao descarregar a secção.", "errorgetmodule": "Erro ao obter os dados da atividade.", "hiddenfromstudents": "Oculto para os alunos", diff --git a/www/core/components/course/lang/ro.json b/www/core/components/course/lang/ro.json index c6e5f0a6c72..8b96d538dc0 100644 --- a/www/core/components/course/lang/ro.json +++ b/www/core/components/course/lang/ro.json @@ -2,7 +2,7 @@ "allsections": "Toate secțiunile", "confirmdownload": "Porniți o descărcare de {{size}}. Sunteți sigur ca doriți să continuați?", "confirmdownloadunknownsize": "Nu putem calcula dimensiunea fișierului pe care doriți să îl descărcați. Sunteți sigur că doriți să descărcați?", - "contents": "Conţinut", + "contents": "Conținut", "couldnotloadsectioncontent": "Nu se poate încărca conținutul acestei secțiuni, încercați mai târziu.", "couldnotloadsections": "Nu se pot încărca secțiunile, încercați mai târziu.", "errordownloadingsection": "A apărut o eroare la descărcarea secțiunii.", diff --git a/www/core/components/course/lang/ru.json b/www/core/components/course/lang/ru.json index 427c079c6aa..782770c5c20 100644 --- a/www/core/components/course/lang/ru.json +++ b/www/core/components/course/lang/ru.json @@ -1,9 +1,20 @@ { + "activitydisabled": "Ваша организация отключила данный активный элемент в мобильном приложении.", + "activitynotyetviewableremoteaddon": "Ваша организация установила плагин, который ещё не поддерживается.", + "activitynotyetviewablesiteupgradeneeded": "Установка Moodle вашей организации нуждается в обновлении.", "allsections": "Все разделы", + "askadmintosupport": "Свяжитесь с администратором сайта и скажите ему, что хотите использовать активный элемент в приложении Moodle Mobile.", + "confirmdeletemodulefiles": "Вы уверены, что хотите удалить эти файлы?", + "confirmdownload": "Вы собираетесь загрузить {{size}}. Вы уверены, что хотите продолжить?", + "confirmdownloadunknownsize": "Оценить размер загружаемых данных не удалось. Вы уверены, что хотите продолжить?", + "confirmpartialdownloadsize": "Вы собираетесь загрузить по меньшей мере {{size}}. Вы уверены, что хотите продолжить?", "contents": "Содержание", - "couldnotloadsectioncontent": "Не удалось загрузить содержимое раздела. Повторите попытку позже.", - "couldnotloadsections": "Не удалось загрузить разделы, повторите попытку позже", + "couldnotloadsectioncontent": "Не удалось загрузить содержимое раздела. Пожалуйста, повторите попытку позже.", + "couldnotloadsections": "Не удалось загрузить разделы. Пожалуйста, повторите попытку позже.", + "errordownloadingsection": "Ошибка загрузки раздела.", + "errorgetmodule": "Ошибка получения данных активного элемента.", "hiddenfromstudents": "Скрыто от студентов", "nocontentavailable": "Нет контента, доступного в данный момент", - "overriddennotice": "Ваша итоговая оценка за этот элемента курса была скорректирована вручную." + "overriddennotice": "Ваша итоговая оценка за этот элемента курса была скорректирована вручную.", + "useactivityonbrowser": "Вы по прежнему можете пользоваться этим, используя веб-браузер своего устройства." } \ No newline at end of file diff --git a/www/core/components/course/lang/tr.json b/www/core/components/course/lang/tr.json index 10a1542b3da..c26d6a3d866 100644 --- a/www/core/components/course/lang/tr.json +++ b/www/core/components/course/lang/tr.json @@ -1,6 +1,6 @@ { "allsections": "Tüm Bölümler", - "contents": "İçerik", + "contents": "İçerik(ler)", "hiddenfromstudents": "Öğrencilerden gizli", "overriddennotice": "Bu etkinlikteki final notunuz, elle ayarlandı." } \ No newline at end of file diff --git a/www/core/components/course/lang/uk.json b/www/core/components/course/lang/uk.json index 334d8336ce3..53f0055b2f4 100644 --- a/www/core/components/course/lang/uk.json +++ b/www/core/components/course/lang/uk.json @@ -8,7 +8,7 @@ "confirmdownload": "Ви збираєтеся завантажити {{size}}. Ви впевнені, що хочете продовжити?", "confirmdownloadunknownsize": "Ми не змогли розрахувати розмір файлу. Ви впевнені, що ви хочете завантажити?", "confirmpartialdownloadsize": "Ви збираєтеся завантажити принаймні {{size}}. Ви впевнені, що хочете продовжити?", - "contents": "Зміст", + "contents": "Контент", "couldnotloadsectioncontent": "Не вдалося завантажити вміст розділу, будь ласка, спробуйте ще раз пізніше.", "couldnotloadsections": "Не вдалося завантажити розділи, будь ласка, спробуйте ще раз пізніше.", "errordownloadingsection": "Помилка в завантаженні.", diff --git a/www/core/components/course/services/course.js b/www/core/components/course/services/course.js index a26ab1aa1be..1a06d0776dd 100644 --- a/www/core/components/course/services/course.js +++ b/www/core/components/course/services/course.js @@ -15,12 +15,22 @@ angular.module('mm.core.course') .constant('mmCoreCourseModulesStore', 'course_modules') // @deprecated since version 2.6. Please do not use. +.constant('mmCoreCourseStatusStore', 'course_status') -.config(function($mmSitesFactoryProvider, mmCoreCourseModulesStore) { +.config(function($mmSitesFactoryProvider, mmCoreCourseModulesStore, mmCoreCourseStatusStore) { var stores = [ { name: mmCoreCourseModulesStore, keyPath: 'id' + }, + { + name: mmCoreCourseStatusStore, + keyPath: 'id', + indexes: [ + { + name: 'status', + } + ] } ]; $mmSitesFactoryProvider.registerStores(stores); @@ -33,7 +43,8 @@ angular.module('mm.core.course') * @ngdoc service * @name $mmCourse */ -.factory('$mmCourse', function($mmSite, $translate, $q, $log, $mmEvents, $mmSitesManager, mmCoreEventCompletionModuleViewed) { +.factory('$mmCourse', function($mmSite, $translate, $q, $log, $mmEvents, $mmSitesManager, mmCoreEventCompletionModuleViewed, + mmCoreCourseStatusStore, mmCoreDownloading, mmCoreNotDownloaded, mmCoreEventCourseStatusChanged, $mmUtil) { $log = $log.getInstance('$mmCourse'); @@ -110,6 +121,32 @@ angular.module('mm.core.course') } }; + /** + * Clear all courses status in a site. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourse#clearAllCoursesStatus + * @param {String} siteId Site ID. + * @return {Promise} Promise resolved when all status are cleared. + */ + self.clearAllCoursesStatus = function(siteId) { + var promises = []; + $log.debug('Clear all course status for site ' + siteId); + return $mmSitesManager.getSite(siteId).then(function(site) { + var db = site.getDb(); + return db.getAll(mmCoreCourseStatusStore).then(function(entries) { + angular.forEach(entries, function(entry) { + promises.push(db.remove(mmCoreCourseStatusStore, entry.id).then(function() { + // Trigger course status changed, setting it as not downloaded. + self._triggerCourseStatusChanged(entry.id, mmCoreNotDownloaded, siteId); + })); + }); + return $q.all(promises); + }); + }); + }; + /** * Get completion status of all the activities in a course for a certain user. * @@ -156,6 +193,47 @@ angular.module('mm.core.course') return 'mmCourse:activitiescompletion:' + courseid + ':' + userid; } + /** + * Get the data stored for a course. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourse#getCourseStatusData + * @param {Number} courseId Course ID. + * @param {String} [siteId] Site ID. If not defined, current site. + * @return {Promise} Promise resolved with the data. + */ + self.getCourseStatusData = function(courseId, siteId) { + return $mmSitesManager.getSite(siteId).then(function(site) { + var db = site.getDb(); + + return db.get(mmCoreCourseStatusStore, courseId).then(function(entry) { + if (!entry) { + return $q.reject(); + } + return entry; + }); + }); + }; + + /** + * Get a course status. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourse#getCourseStatus + * @param {Number} courseId Course ID. + * @param {String} [siteId] Site ID. If not defined, current site. + * @return {Promise} Promise resolved with the status. + */ + self.getCourseStatus = function(courseId, siteId) { + return self.getCourseStatusData(courseId, siteId).then(function(entry) { + return entry.status || mmCoreNotDownloaded; + }).catch(function() { + return mmCoreNotDownloaded; + }); + }; + /** * Gets a module basic info by module ID. * @@ -630,6 +708,107 @@ angular.module('mm.core.course') }); }; + /** + * Change the course status, setting it to the previous status. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourse#setCoursePreviousStatus + * @param {Number} courseId Course ID. + * @param {String} [siteId] Site ID. If not defined, current site. + * @return {Promise} Promise resolved when the status is changed. Resolve param: new status. + */ + self.setCoursePreviousStatus = function(courseId, siteId) { + siteId = siteId || $mmSite.getId(); + + $log.debug('Set previous status for course ' + courseId + ' in site ' + siteId); + + return $mmSitesManager.getSite(siteId).then(function(site) { + var db = site.getDb(); + + // Get current stored data, we'll only update 'status' and 'updated' fields. + return db.get(mmCoreCourseStatusStore, courseId).then(function(entry) { + if (entry.status == mmCoreDownloading) { + // Going back from downloading to previous status, restore previous download time. + entry.downloadtime = entry.previousdownloadtime; + } + entry.status = entry.previous || mmCoreNotDownloaded; + entry.updated = Date.now(); + $log.debug('Set previous status \'' + entry.status + '\' for course ' + courseId); + + return db.insert(mmCoreCourseStatusStore, entry).then(function() { + // Success updating, trigger event. + self._triggerCourseStatusChanged(courseId, entry.status, siteId); + return entry.status; + }); + }); + }); + }; + + /** + * Store course status. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourse#setCourseStatus + * @param {Number} courseId Course ID. + * @param {String} status New course status. + * @param {String} [siteId] Site ID. If not defined, current site. + * @return {Promise} Promise resolved when the status is stored. + */ + self.setCourseStatus = function(courseId, status, siteId) { + siteId = siteId || $mmSite.getId(); + + $log.debug('Set status \'' + status + '\' for course ' + courseId + ' in site ' + siteId); + + return $mmSitesManager.getSite(siteId).then(function(site) { + var db = site.getDb(), + downloadTime, + previousDownloadTime; + + if (status == mmCoreDownloading) { + // Set download time if course is now downloading. + downloadTime = $mmUtil.timestamp(); + } + + // Search current status to set it as previous status. + return db.get(mmCoreCourseStatusStore, courseId).then(function(entry) { + if (typeof downloadTime == 'undefined') { + // Keep previous download time. + downloadTime = entry.downloadtime; + previousDownloadTime = entry.previousdownloadtime; + } else { + // downloadTime will be updated, store current time as previous. + previousDownloadTime = entry.downloadTime; + } + + return entry.status; + }).catch(function() { + return undefined; // No previous status. + }).then(function(previousStatus) { + var promise; + if (previousStatus === status) { + // The course already has this status, no need to change it. + promise = $q.when(); + } else { + promise = db.insert(mmCoreCourseStatusStore, { + id: courseId, + status: status, + previous: previousStatus, + updated: new Date().getTime(), + downloadtime: downloadTime, + previousdownloadtime: previousDownloadTime + }); + } + + return promise.then(function() { + // Success inserting, trigger event. + self._triggerCourseStatusChanged(courseId, status, siteId); + }); + }); + }); + }; + /** * Translate a module name to current language. * @@ -650,6 +829,26 @@ angular.module('mm.core.course') return translated !== langKey ? translated : moduleName; }; + /** + * Trigger mmCoreEventCourseStatusChanged with the right data. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourse#_triggerCourseStatusChanged + * @param {Number} courseId Course ID. + * @param {String} status New course status. + * @param {String} [siteId] Site ID. If not defined, current site. + * @return {Void} + * @protected + */ + self._triggerCourseStatusChanged = function(courseId, status, siteId) { + var data = { + siteId: siteId, + courseId: courseId, + status: status + }; + $mmEvents.trigger(mmCoreEventCourseStatusChanged, data); + }; return self; }); diff --git a/www/core/components/course/services/helper.js b/www/core/components/course/services/helper.js index 39d7c1ad953..707ad61d08d 100644 --- a/www/core/components/course/services/helper.js +++ b/www/core/components/course/services/helper.js @@ -24,10 +24,11 @@ angular.module('mm.core.course') .factory('$mmCourseHelper', function($q, $mmCoursePrefetchDelegate, $mmFilepool, $mmUtil, $mmCourse, $mmSite, $state, $mmText, mmCoreNotDownloaded, mmCoreOutdated, mmCoreDownloading, mmCoreCourseAllSectionsId, $mmSitesManager, $mmAddonManager, $controller, $mmCourseDelegate, $translate, $mmEvents, mmCoreEventPackageStatusChanged, mmCoreNotDownloadable, - mmCoreDownloaded) { + mmCoreDownloaded, $mmCoursesDelegate) { var self = {}, - calculateSectionStatus = false; + calculateSectionStatus = false, + courseDwnPromises = {}; /** @@ -174,16 +175,17 @@ angular.module('mm.core.course') * @module mm.core.course * @ngdoc method * @name $mmCourseHelper#confirmDownloadSize - * @param {Number} courseid Course ID the section belongs to. - * @param {Object} section Section. - * @param {Object[]} sections List of sections. Used when downloading all the sections. - * @return {Promise} Promise resolved if the user confirms or there's no need to confirm. + * @param {Number} courseid Course ID the section belongs to. + * @param {Object} [section] Section. If not provided, all sections. + * @param {Object[]} [sections] List of sections. Used when downloading all the sections. + * @param {Boolean} [alwaysConfirm] True to show a confirm even if the size isn't high, false otherwise. + * @return {Promise} Promise resolved if the user confirms or there's no need to confirm. */ - self.confirmDownloadSize = function(courseid, section, sections) { + self.confirmDownloadSize = function(courseid, section, sections, alwaysConfirm) { var sizePromise; // Calculate the size of the download. - if (section.id != mmCoreCourseAllSectionsId) { + if (section && section.id != mmCoreCourseAllSectionsId) { sizePromise = $mmCoursePrefetchDelegate.getDownloadSize(section.modules, courseid); } else { var promises = [], @@ -207,7 +209,7 @@ angular.module('mm.core.course') return sizePromise.then(function(size) { // Show confirm modal if needed. - return $mmUtil.confirmDownloadSize(size); + return $mmUtil.confirmDownloadSize(size, undefined, undefined, undefined, undefined, alwaysConfirm); }); }; @@ -693,9 +695,9 @@ angular.module('mm.core.course') scope.prefetchStatusIcon = 'spinner'; // Show spinner since this operation might take a while. // We need to call getDownloadSize, the package might have been updated. - return $mmCoursePrefetchDelegate.getModuleDownloadSize(module, courseId).then(function(size) { + return $mmCoursePrefetchDelegate.getModuleDownloadSize(module, courseId, true).then(function(size) { return $mmUtil.confirmDownloadSize(size).then(function() { - return $mmCoursePrefetchDelegate.prefetchModule(module, courseId).catch(function(error) { + return $mmCoursePrefetchDelegate.prefetchModule(module, courseId, true).catch(function(error) { return failPrefetch(!scope.$$destroyed, error); }); }, function() { @@ -761,6 +763,272 @@ angular.module('mm.core.course') }); }; + /** + * Get a course download promise (if any). + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourseHelper#getCourseDownloadPromise + * @param {Number} courseId Course ID. + * @param {String} [siteId] Site ID. If not defined, current site. + * @return {Promise} Download promise, undefined if not found: + */ + self.getCourseDownloadPromise = function(courseId, siteId) { + siteId = siteId || $mmSite.getId(); + return courseDwnPromises[siteId] && courseDwnPromises[siteId][courseId]; + }; + + /** + * Get a course status icon. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourseHelper#getCourseStatusIcon + * @param {Number} courseId Course ID. + * @param {String} [siteId] Site ID. If not defined, current site. + * @return {Promise} Promise resolved with the icon name. + */ + self.getCourseStatusIcon = function(courseId, siteId) { + return $mmCourse.getCourseStatus(courseId, siteId).then(function(status) { + return self.getCourseStatusIconFromStatus(status); + }); + }; + + /** + * Get a course status icon from status. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourseHelper#getCourseStatusIconFromStatus + * @param {String} status Course status. + * @return {String} Icon name. + */ + self.getCourseStatusIconFromStatus = function(status) { + if (status == mmCoreDownloaded) { + // Always show refresh icon, we cannot knew if there's anything new in course options. + return 'ion-android-refresh'; + } else if (status == mmCoreDownloading) { + return 'spinner'; + } else { + return 'ion-ios-cloud-download-outline'; + } + }; + + /** + * Prefetch all the activities in a course and also the course options. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourseHelper#prefetchCourse + * @param {Object} course The course to prefetch. + * @param {Object[]} sections List of course sections. + * @param {Object[]} courseOptions List of course options. Each option should have a "prefetch" function if it's downloadable. + * @param {String} [siteId] Site ID. If not defined, current site. + * @return {Promise} Promise resolved when the download finishes. + */ + self.prefetchCourse = function(course, sections, courseOptions, siteId) { + siteId = siteId || $mmSite.getId(); + + if (courseDwnPromises[siteId] && courseDwnPromises[siteId][course.id]) { + // There's already a download ongoing for this course, return the promise. + return courseDwnPromises[siteId][course.id]; + } else if (!courseDwnPromises[siteId]) { + courseDwnPromises[siteId] = {}; + } + + // First of all, mark the course as being downloaded. + courseDwnPromises[siteId][course.id] = $mmCourse.setCourseStatus(course.id, mmCoreDownloading, siteId).then(function() { + var promises = [], + allSectionsSection; + + // Prefetch all the sections. If the first section is "All sections", use it. Otherwise, use a fake "All sections". + allSectionsSection = sections[0].id == mmCoreCourseAllSectionsId ? sections[0] : {id: mmCoreCourseAllSectionsId}; + promises.push(self.prefetch(allSectionsSection, course.id, sections)); + + // Prefetch course options. + angular.forEach(courseOptions, function(option) { + if (option.prefetch) { + promises.push($q.when(option.prefetch(course))); + } + }); + + return $mmUtil.allPromises(promises); + }).then(function() { + // Download success, mark the course as downloaded. + return $mmCourse.setCourseStatus(course.id, mmCoreDownloaded, siteId); + }).catch(function(error) { + // Error, restore previous status. + return $mmCourse.setCoursePreviousStatus(course.id, siteId).then(function() { + return $q.reject(error); + }); + }).finally(function() { + delete courseDwnPromises[siteId][course.id]; + }); + + return courseDwnPromises[siteId][course.id]; + }; + + /** + * Show a confirm and prefetch a course. It will retrieve the sections and the course options if not provided. + * This function will set the icon to "spinner" when starting and it will also set it back to the initial icon if the + * user cancels. All the other updates of the icon should be made when mmCoreEventCourseStatusChanged is received. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourseHelper#confirmAndPrefetchCourse + * @param {Object} scope Scope to set the icon. + * @param {Object} course Course to prefetch. + * @param {Object[]} [sections] List of course sections. + * @param {Object[]} [courseOptions] List of options. Each option should have a "prefetch" function if it's downloadable. + * @return {Promise} Promise resolved with true when the download finishes, resolved with false if user + * doesn't confirm, rejected if an error occurs. + */ + self.confirmAndPrefetchCourse = function(scope, course, sections, courseOptions) { + var initialIcon = scope.prefetchCourseIcon, + promise, + siteId = $mmSite.getId(); + + scope.prefetchCourseIcon = 'spinner'; + + // Get the sections first if needed. + if (sections) { + promise = $q.when(sections); + } else { + promise = $mmCourse.getSections(course.id, false, true); + } + + return promise.then(function(sections) { + // Confirm the download. + return self.confirmDownloadSize(course.id, undefined, sections, true).then(function() { + // User confirmed, get the course actions if needed. + if (courseOptions) { + promise = $q.when(courseOptions); + } else { + promise = $mmCoursesDelegate.getNavHandlersToDisplay(course, false, false, true); + } + + return promise.then(function(handlers) { + // Now we have all the data, download the course. + return self.prefetchCourse(course, sections, handlers, siteId); + }).then(function() { + // Download successful. + return true; + }); + }, function(error) { + // User cancelled or there was an error calculating the size. + if (error) { + $mmUtil.showErrorModal(error); + } + scope.prefetchCourseIcon = initialIcon; + return false; + }); + }).catch(function(error) { + // Don't show error message if scope is destroyed. + if (!scope.$$destroyed) { + $mmUtil.showErrorModalDefault(error, 'mm.course.errordownloadingcourse', true); + } + + return $q.reject(error); + }); + }; + + /** + * Confirm and prefetches a list of courses. + * + * @module mm.core.course + * @ngdoc method + * @name $mmCourseHelper#confirmAndPrefetchCourses + * @param {Object[]} courses List of courses to download. + * @return {Promise} Promise resolved with true when downloaded, resolved with false if user cancels, rejected if error. + * It will send a "progress" everytime a course is downloaded or fails to download. + */ + self.confirmAndPrefetchCourses = function(courses) { + var siteId = $mmSite.getId(); + + // Confirm the download without checking size because it could take a while. + return $mmUtil.showConfirm($translate('mm.core.areyousure')).then(function() { + var deferred = $q.defer(), // Use a deferred to be able to notify the progress. + promises = [], + total = courses.length, + count = 0; + + // Notify the start of the download. + setTimeout(function() { + deferred.notify({ + count: count, + total: total + }); + }); + + angular.forEach(courses, function(course) { + var subPromises = [], + sections, + handlers, + success = true; + + // Get the sections and the handlers. + subPromises.push($mmCourse.getSections(course.id, false, true).then(function(courseSections) { + sections = courseSections; + })); + subPromises.push($mmCoursesDelegate.getNavHandlersToDisplay(course, false, false, true).then(function(cHandlers) { + handlers = cHandlers; + })); + + promises.push($q.all(subPromises).then(function() { + return self.prefetchCourse(course, sections, handlers, siteId); + }).catch(function(error) { + success = false; + return $q.reject(error); + }).finally(function() { + // Course downloaded or failed, notify the progress. + count++; + deferred.notify({ + count: count, + total: total, + course: course.id, + success: success + }); + })); + }); + + $mmUtil.allPromises(promises).then(function() { + deferred.resolve(true); + }, deferred.reject); + + return deferred.promise; + }, function() { + // User cancelled. + return false; + }); + }; + + /** + * Determine the status of a list of courses. + * + * @ngdoc method + * @name $mmCourseHelper#determineCoursesStatus + * @param {Object[]} courses Courses + * @return {Promise} Promise resolved with the status. + */ + self.determineCoursesStatus = function(courses) { + // Get the status of each course. + var promises = [], + siteId = $mmSite.getId(); + + angular.forEach(courses, function(course) { + promises.push($mmCourse.getCourseStatus(course.id, siteId)); + }); + + return $q.all(promises).then(function(statuses) { + // Now determine the status of the whole list. + var status = statuses[0]; + for (var i = 1; i < statuses.length; i++) { + status = $mmFilepool.determinePackagesStatus(status, statuses[i]); + } + return status; + }); + }; + return self; }) diff --git a/www/core/components/course/services/prefetchdelegate.js b/www/core/components/course/services/prefetchdelegate.js index 5a4c9d4afd6..258bc2ee366 100644 --- a/www/core/components/course/services/prefetchdelegate.js +++ b/www/core/components/course/services/prefetchdelegate.js @@ -59,7 +59,7 @@ angular.module('mm.core') * - (Optional) updatesNames (RegExp) RegExp of update names to check. If getCourseUpdates returns * an update whose names matches this, the module will be marked * as outdated. Ignored if hasUpdates function is defined. - * - getDownloadSize(module, courseid) (Object|Promise) Get the download size of a module. + * - getDownloadSize(module, courseid, single) (Object|Promise) Get the download size of a module. * The returning object should have size field with file size * in bytes and and total field which indicates if it's been * able to calculate the total size (true) or only partial size @@ -619,14 +619,15 @@ angular.module('mm.core') * @name $mmCoursePrefetchDelegate#prefetchModule * @param {Object} module Module to be prefetch. * @param {Number} courseid Course ID the module belongs to. + * @param {Boolean} single True if we're downloading a single module, false if we're downloading a whole section. * @return {Promise} Promise resolved when finished. */ - self.prefetchModule = function(module, courseid) { + self.prefetchModule = function(module, courseid, single) { var handler = enabledHandlers[module.modname]; // Check if the module has a prefetch handler. if (handler) { - return handler.prefetch(module, courseid); + return handler.prefetch(module, courseid, single); } return $q.when(); }; @@ -639,9 +640,10 @@ angular.module('mm.core') * @name $mmCoursePrefetchDelegate#getModuleDownloadSize * @param {Object} module Module to be get info from. * @param {Number} courseid Course ID the module belongs to. + * @param {Boolean} single True if we're downloading a single module, false if we're downloading a whole section. * @return {Promise} Promise with the size. */ - self.getModuleDownloadSize = function(module, courseid) { + self.getModuleDownloadSize = function(module, courseid, single) { var downloadSize, handler = enabledHandlers[module.modname]; @@ -649,7 +651,7 @@ angular.module('mm.core') if (handler) { return self.isModuleDownloadable(module, courseid).then(function(downloadable) { if (!downloadable) { - return; + return {size: 0, total: true}; } downloadSize = statusCache.getValue(handler.component, module.id, 'downloadSize'); @@ -657,15 +659,19 @@ angular.module('mm.core') return downloadSize; } - return $q.when(handler.getDownloadSize(module, courseid)).then(function(size) { + return $q.when(handler.getDownloadSize(module, courseid, single)).then(function(size) { return statusCache.setValue(handler.component, module.id, 'downloadSize', size); - }).catch(function() { - return statusCache.getValue(handler.component, module.id, 'downloadSize', true); + }).catch(function(error) { + var cachedSize = statusCache.getValue(handler.component, module.id, 'downloadSize', true); + if (cachedSize) { + return cachedSize; + } + return $q.reject(error); }); }); } - return $q.when(0); + return $q.when({size: 0, total: false}); }; /** diff --git a/www/core/components/course/templates/sections.html b/www/core/components/course/templates/sections.html index abb0829c921..4834d7aa702 100644 --- a/www/core/components/course/templates/sections.html +++ b/www/core/components/course/templates/sections.html @@ -3,6 +3,7 @@ + diff --git a/www/core/components/courses/controllers/list.js b/www/core/components/courses/controllers/list.js index a2cdb6b5c69..6fe0272e40e 100644 --- a/www/core/components/courses/controllers/list.js +++ b/www/core/components/courses/controllers/list.js @@ -22,13 +22,16 @@ angular.module('mm.core.courses') * @name mmCoursesListCtrl */ .controller('mmCoursesListCtrl', function($scope, $mmCourses, $mmCoursesDelegate, $mmUtil, $mmEvents, $mmSite, $q, - mmCoursesEventMyCoursesUpdated, mmCoreEventSiteUpdated) { + mmCoursesEventMyCoursesUpdated, mmCoreEventSiteUpdated, $mmCourseHelper) { var updateSiteObserver, - myCoursesObserver; + myCoursesObserver, + prefetchIconInitialized = false; $scope.searchEnabled = $mmCourses.isSearchCoursesAvailable() && !$mmCourses.isSearchCoursesDisabledInSite(); $scope.filter = {}; + $scope.prefetchCoursesData = {}; + $scope.showFilter = false; // Convenience function to fetch courses. function fetchCourses(refresh) { @@ -46,12 +49,39 @@ angular.module('mm.core.courses') course.admOptions = options.admOptions[course.id]; }); $scope.courses = courses; + + initPrefetchCoursesIcon(); }); }, function(error) { $mmUtil.showErrorModalDefault(error, 'mm.courses.errorloadcourses', true); }); } + // Initialize the prefetch icon for the list of courses. + function initPrefetchCoursesIcon() { + if (prefetchIconInitialized) { + // Already initialized. + return; + } + + prefetchIconInitialized = true; + + if (!$scope.courses || $scope.courses.length < 2) { + // Not enough courses. + $scope.prefetchCoursesData.icon = ''; + return; + } + + $mmCourseHelper.determineCoursesStatus($scope.courses).then(function(status) { + var icon = $mmCourseHelper.getCourseStatusIconFromStatus(status); + if (icon == 'spinner') { + // It seems all courses are being downloaded, show a download button instead. + icon = 'ion-ios-cloud-download-outline'; + } + $scope.prefetchCoursesData.icon = icon; + }); + } + fetchCourses().finally(function() { $scope.coursesLoaded = true; }); @@ -64,12 +94,38 @@ angular.module('mm.core.courses') $q.all(promises).finally(function() { + prefetchIconInitialized = false; fetchCourses(true).finally(function() { $scope.$broadcast('scroll.refreshComplete'); }); }); }; + $scope.switchFilter = function() { + $scope.filter.filterText = ''; + $scope.showFilter = !$scope.showFilter; + }; + + // Download all the courses. + $scope.downloadCourses = function() { + var initialIcon = $scope.prefetchCoursesData.icon; + + $scope.prefetchCoursesData.icon = 'spinner'; + $scope.prefetchCoursesData.badge = ''; + return $mmCourseHelper.confirmAndPrefetchCourses($scope.courses).then(function(downloaded) { + $scope.prefetchCoursesData.icon = downloaded ? 'ion-android-refresh' : initialIcon; + }, function(error) { + if (!$scope.$$destroyed) { + $mmUtil.showErrorModalDefault(error, 'mm.course.errordownloadingcourse', true); + $scope.prefetchCoursesData.icon = initialIcon; + } + }, function(progress) { + $scope.prefetchCoursesData.badge = progress.count + ' / ' + progress.total; + }).finally(function() { + $scope.prefetchCoursesData.badge = ''; + }); + }; + myCoursesObserver = $mmEvents.on(mmCoursesEventMyCoursesUpdated, function(siteid) { if (siteid == $mmSite.getId()) { fetchCourses(); diff --git a/www/core/components/courses/controllers/viewresult.js b/www/core/components/courses/controllers/viewresult.js index 168650ebc96..ac3d2705f99 100644 --- a/www/core/components/courses/controllers/viewresult.js +++ b/www/core/components/courses/controllers/viewresult.js @@ -23,7 +23,7 @@ angular.module('mm.core.courses') */ .controller('mmCoursesViewResultCtrl', function($scope, $stateParams, $mmCourses, $mmCoursesDelegate, $mmUtil, $translate, $q, $ionicModal, $mmEvents, $mmSite, mmCoursesSearchComponent, mmCoursesEnrolInvalidKey, mmCoursesEventMyCoursesUpdated, - $timeout, $mmFS, $rootScope, $mmApp, $ionicPlatform) { + $timeout, $mmFS, $rootScope, $mmApp, $ionicPlatform, $mmCourseHelper, $mmCourse, mmCoreEventCourseStatusChanged) { var course = angular.copy($stateParams.course || {}), // Copy the object to prevent modifying the one from the previous view. selfEnrolWSAvailable = $mmCourses.isSelfEnrolmentEnabled(), @@ -38,7 +38,8 @@ angular.module('mm.core.courses') inAppLoadListener, inAppFinishListener, inAppExitListener, - appResumeListener; + appResumeListener, + obsStatus; $scope.course = course; $scope.component = mmCoursesSearchComponent; @@ -163,7 +164,29 @@ angular.module('mm.core.courses') }); } - getCourse(); + getCourse().finally(function() { + // Determine course prefetch icon. + $scope.prefetchCourseIcon = 'spinner'; + $mmCourseHelper.getCourseStatusIcon(course.id).then(function(icon) { + $scope.prefetchCourseIcon = icon; + + if (icon == 'spinner') { + // Course is being downloaded. Get the download promise. + var promise = $mmCourseHelper.getCourseDownloadPromise(course.id); + if (promise) { + // There is a download promise. If it fails, show an error. + promise.catch(function(error) { + if (!scope.$$destroyed) { + $mmUtil.showErrorModalDefault(error, 'mm.course.errordownloadingcourse', true); + } + }); + } else { + // No download, this probably means that the app was closed while downloading. Set previous status. + $mmCourse.setCoursePreviousStatus(courseId); + } + } + }); + }); $scope.doRefresh = function() { refreshData().finally(function() { @@ -171,6 +194,17 @@ angular.module('mm.core.courses') }); }; + $scope.prefetchCourse = function() { + $mmCourseHelper.confirmAndPrefetchCourse($scope, course, undefined, course._handlers); + }; + + // Listen for status change in course. + obsStatus = $mmEvents.on(mmCoreEventCourseStatusChanged, function(data) { + if (data.siteId == $mmSite.getId() && data.courseId == course.id) { + $scope.prefetchCourseIcon = $mmCourseHelper.getCourseStatusIconFromStatus(data.status); + } + }); + if (selfEnrolWSAvailable && course.enrollmentmethods && course.enrollmentmethods.indexOf('self') > -1) { // Setup password modal for self-enrolment. $ionicModal.fromTemplateUrl('core/components/courses/templates/password-modal.html', { @@ -325,4 +359,8 @@ angular.module('mm.core.courses') } }; } + + $scope.$on('$destroy', function() { + obsStatus && obsStatus.off && obsStatus.off(); + }); }); diff --git a/www/core/components/courses/directives/courselistprogress.js b/www/core/components/courses/directives/courselistprogress.js index 9af7c5f70e5..b43192f6731 100644 --- a/www/core/components/courses/directives/courselistprogress.js +++ b/www/core/components/courses/directives/courselistprogress.js @@ -30,27 +30,8 @@ angular.module('mm.core.courses') * * */ -.directive('mmCourseListProgress', function($ionicActionSheet, $mmCoursesDelegate, $translate, $controller, $q) { - - /** - * Check if the actions button should be shown. - * - * @param {Object} scope Directive's scope. - * @param {Boolean} refresh Whether to refresh the list of handlers. - * @return {Promise} Promise resolved when done. - */ - function shouldShowActions(scope, refresh) { - scope.loaded = false; - - return $mmCoursesDelegate.getNavHandlersForCourse(scope.course, refresh, true).then(function(handlers) { - scope.showActions = !!handlers.length; - }).catch(function(error) { - scope.showActions = false; - return $q.reject(error); - }).finally(function() { - scope.loaded = true; - }); - } +.directive('mmCourseListProgress', function($ionicActionSheet, $mmCoursesDelegate, $translate, $controller, $q, $mmCourseHelper, + $mmUtil, $mmCourse, $mmEvents, $mmSite, mmCoreEventCourseStatusChanged) { return { restrict: 'E', @@ -62,17 +43,66 @@ angular.module('mm.core.courses') showSummary: "=?" }, link: function(scope) { - var buttons; + var buttons, + obsStatus, + downloadText = $translate.instant('mm.course.downloadcourse'), + downloadingText = $translate.instant('mm.core.downloading'), + downloadButton = { + isDownload: true, + className: 'mm-download-course', + priority: 1000 + }; - shouldShowActions(scope, false); + // Always show options, since the download course option will always be there. + scope.actionsLoaded = true; + + // Determine course prefetch icon. + $mmCourseHelper.getCourseStatusIcon(scope.course.id).then(function(icon) { + scope.prefetchCourseIcon = icon; + + if (icon == 'spinner') { + downloadButton.text = downloadingText; + + // Course is being downloaded. Get the download promise. + var promise = $mmCourseHelper.getCourseDownloadPromise(scope.course.id); + if (promise) { + // There is a download promise. If it fails, show an error. + promise.catch(function(error) { + if (!scope.$$destroyed) { + $mmUtil.showErrorModalDefault(error, 'mm.course.errordownloadingcourse', true); + } + }); + } else { + // No download, this probably means that the app was closed while downloading. Set previous status. + $mmCourse.setCoursePreviousStatus(scope.course.id); + } + } else { + downloadButton.text = '' + downloadText; + } + }); + + // Listen for status change in course. + obsStatus = $mmEvents.on(mmCoreEventCourseStatusChanged, function(data) { + if (data.siteId == $mmSite.getId() && data.courseId == scope.course.id) { + var icon = $mmCourseHelper.getCourseStatusIconFromStatus(data.status); + scope.prefetchCourseIcon = icon; + + if (icon == 'spinner') { + downloadButton.text = downloadingText; + } else { + downloadButton.text = '' + downloadText; + } + } + }); scope.showCourseActions = function($event) { $event.preventDefault(); $event.stopPropagation(); // Get the list of handlers to display. - scope.loaded = false; + scope.actionsLoaded = false; $mmCoursesDelegate.getNavHandlersToDisplay(scope.course, false, false, true).then(function(handlers) { + buttons = handlers.map(function(handler) { var newScope = scope.$new(); $controller(handler.controller, {$scope: newScope}); @@ -88,22 +118,31 @@ angular.module('mm.core.courses') newScope.$destroy(); return buttonInfo; - }).sort(function(a, b) { + }); + + // Add the download button. + buttons.unshift(downloadButton); + + // Sort the buttons. + buttons = buttons.sort(function(a, b) { return b.priority - a.priority; }); - }).finally(function() { + }).then(function() { // We have the list of buttons to show, show the action sheet. - scope.loaded = true; - $ionicActionSheet.show({ titleText: scope.course.fullname, buttons: buttons, cancelText: $translate.instant('mm.core.cancel'), buttonClicked: function(index) { - if (angular.isFunction(buttons[index].action)) { + if (buttons[index].isDownload) { + // Download button. + $mmCourseHelper.confirmAndPrefetchCourse(scope, scope.course); + return true; + } else if (angular.isFunction(buttons[index].action)) { // Execute the action and close the action sheet. return buttons[index].action($event, scope.course); } + // Never close the action sheet. It will automatically be closed if success. return false; }, @@ -112,8 +151,16 @@ angular.module('mm.core.courses') return true; } }); + }).catch(function(error) { + $mmUtil.showErrorModalDefault(error, 'Error loading options'); + }).finally(function() { + scope.actionsLoaded = true; }); }; + + scope.$on('$destroy', function() { + obsStatus && obsStatus.off && obsStatus.off(); + }); } }; }); diff --git a/www/core/components/courses/lang/bg.json b/www/core/components/courses/lang/bg.json index 704b295e74a..e05228fa388 100644 --- a/www/core/components/courses/lang/bg.json +++ b/www/core/components/courses/lang/bg.json @@ -10,6 +10,7 @@ "nocourses": "Няма информация за курса, която да бъде показана.", "nocoursesyet": "Няма курсове в тази категория", "nosearchresults": "Няма открити резултати за Вашето търсене", + "notenroled": "Вие не сте записани в този курс", "password": "Ключ за записване", "search": "Търсене", "searchcourses": "Търсене на курсове" diff --git a/www/core/components/courses/lang/ca.json b/www/core/components/courses/lang/ca.json index 6cc07396fb1..d7580396450 100644 --- a/www/core/components/courses/lang/ca.json +++ b/www/core/components/courses/lang/ca.json @@ -13,12 +13,12 @@ "filtermycourses": "Filtrar els meus cursos", "frontpage": "Pàgina principal", "mycourses": "Els meus cursos", - "nocourses": "No hi ha informació de cursos per mostrar.", + "nocourses": "No hi ha informació del curs per mostrar.", "nocoursesyet": "No hi ha cursos en aquesta categoria", "nosearchresults": "La cerca no ha obtingut resultats", "notenroled": "No us heu inscrit en aquest curs", "notenrollable": "No podeu autoinscriure-us en aquest curs.", - "password": "Contrasenya", + "password": "Clau d'inscripció", "paymentrequired": "Aquest curs requereix pagament.", "paypalaccepted": "S'accepten pagaments via PayPal", "search": "Cerca...", diff --git a/www/core/components/courses/lang/cs.json b/www/core/components/courses/lang/cs.json index 4f1701f9748..e33a2eaa12f 100644 --- a/www/core/components/courses/lang/cs.json +++ b/www/core/components/courses/lang/cs.json @@ -5,7 +5,8 @@ "categories": "Kategorie kurzů", "confirmselfenrol": "Jste si jisti, že chcete zapsat se do tohoto kurzu?", "courses": "Kurzy", - "enrolme": "Zapsat se do kurzu", + "downloadcourses": "Stáhnout kurzy", + "enrolme": "Zapsat se", "errorloadcategories": "Při načítání kategorií došlo k chybě.", "errorloadcourses": "Při načítání kurzů došlo k chybě.", "errorsearching": "Při vyhledávání došlo k chybě.", @@ -13,12 +14,12 @@ "filtermycourses": "Filtrovat mé kurzy", "frontpage": "Titulní stránka", "mycourses": "Moje kurzy", - "nocourses": "Žádné dostupné informace o kurzech", + "nocourses": "O kurzu nejsou žádné informace.", "nocoursesyet": "Žádný kurz v této kategorii", "nosearchresults": "Vaše vyhledávání nepřineslo žádný výsledek", "notenroled": "Nejste zapsáni v tomto kurzu", "notenrollable": "Do tohoto kurzu se nemůžete sami zapsat.", - "password": "Heslo", + "password": "Klíč zápisu", "paymentrequired": "Tento kurz je placený", "paypalaccepted": "Platby přes PayPal přijímány", "search": "Hledat", diff --git a/www/core/components/courses/lang/da.json b/www/core/components/courses/lang/da.json index 7f0aaebd805..df1cd4f79d6 100644 --- a/www/core/components/courses/lang/da.json +++ b/www/core/components/courses/lang/da.json @@ -3,7 +3,7 @@ "availablecourses": "Tilgængelige kurser", "categories": "Kursuskategorier", "confirmselfenrol": "Er du sikker på at du ønsker at tilmelde dig dette kursus?", - "courses": "Alle kurser", + "courses": "Kurser", "enrolme": "Tilmeld mig", "errorloadcourses": "En fejl opstod ved indlæsning af kurset.", "errorsearching": "En fejl opstod under søgning.", @@ -11,12 +11,12 @@ "filtermycourses": "Filtrer mit kursus", "frontpage": "Forside", "mycourses": "Mine kurser", - "nocourses": "Du er ikke tilmeldt nogen kurser.", + "nocourses": "Der er ingen kursusoplysninger at vise.", "nocoursesyet": "Der er ingen kurser i denne kategori", "nosearchresults": "Der var ingen beskeder der opfyldte søgekriteriet", "notenroled": "Du er ikke tilmeldt dette kursus", "notenrollable": "Du kan ikke selv tilmelde dig dette kursus.", - "password": "Adgangskode", + "password": "Tilmeldingsnøgle", "paymentrequired": "Dette kursus kræver betaling for tilmelding.", "paypalaccepted": "PayPal-betalinger er velkomne", "search": "Søg...", diff --git a/www/core/components/courses/lang/de-du.json b/www/core/components/courses/lang/de-du.json index 13bd07bd7e3..c07bfcad050 100644 --- a/www/core/components/courses/lang/de-du.json +++ b/www/core/components/courses/lang/de-du.json @@ -5,7 +5,7 @@ "categories": "Kursbereiche", "confirmselfenrol": "Möchtest du dich selbst in diesen Kurs einschreiben?", "courses": "Kurse", - "enrolme": "Einschreiben", + "enrolme": "Selbst einschreiben", "errorloadcategories": "Fehler beim Laden von Kursbereichen", "errorloadcourses": "Fehler beim Laden von Kursen", "errorsearching": "Fehler beim Suchen", @@ -13,12 +13,12 @@ "filtermycourses": "Meine Kurse filtern", "frontpage": "Startseite", "mycourses": "Meine Kurse", - "nocourses": "Keine Kurse", + "nocourses": "Keine Kursinformation", "nocoursesyet": "Keine Kurse in diesem Kursbereich", "nosearchresults": "Keine Ergebnisse", "notenroled": "Sie sind nicht in diesen Kurs eingeschrieben", "notenrollable": "Du kannst dich nicht selbst in diesen Kurs einschreiben.", - "password": "Öffentliches Kennwort", + "password": "Einschreibeschlüssel", "paymentrequired": "Dieser Kurs ist gebührenpflichtig. Bitte bezahle die Teilnahmegebühr, um im Kurs eingeschrieben zu werden.", "paypalaccepted": "PayPal-Zahlungen möglich", "search": "Suchen", diff --git a/www/core/components/courses/lang/de.json b/www/core/components/courses/lang/de.json index 3f93d4db338..3874cbced93 100644 --- a/www/core/components/courses/lang/de.json +++ b/www/core/components/courses/lang/de.json @@ -5,7 +5,7 @@ "categories": "Kursbereiche", "confirmselfenrol": "Möchten Sie sich selbst in diesen Kurs einschreiben?", "courses": "Kurse", - "enrolme": "Einschreiben", + "enrolme": "Selbst einschreiben", "errorloadcategories": "Fehler beim Laden von Kursbereichen", "errorloadcourses": "Fehler beim Laden von Kursen", "errorsearching": "Fehler beim Suchen", @@ -13,12 +13,12 @@ "filtermycourses": "Meine Kurse filtern", "frontpage": "Startseite", "mycourses": "Meine Kurse", - "nocourses": "Keine Kurse", + "nocourses": "Keine Kursinformation", "nocoursesyet": "Keine Kurse in diesem Kursbereich", "nosearchresults": "Keine Suchergebnisse", "notenroled": "Sie sind nicht in diesen Kurs eingeschrieben", "notenrollable": "Sie können sich nicht selbst in diesen Kurs einschreiben.", - "password": "Öffentliches Kennwort", + "password": "Einschreibeschlüssel", "paymentrequired": "Dieser Kurs ist entgeltpflichtig. Bitte bezahlen Sie das Teilnahmeentgelt, um in den Kurs eingeschrieben zu werden.", "paypalaccepted": "PayPal-Zahlungen möglich", "search": "Suchen", diff --git a/www/core/components/courses/lang/el.json b/www/core/components/courses/lang/el.json index 9b9181e2536..35810e8acd1 100644 --- a/www/core/components/courses/lang/el.json +++ b/www/core/components/courses/lang/el.json @@ -13,12 +13,12 @@ "filtermycourses": "Φιλτράρισμα των μαθημάτων μου", "frontpage": "Αρχική σελίδα", "mycourses": "Τα μαθήματά μου", - "nocourses": "Δεν υπάρχει πληροφορία του μαθήματος για προβολή.", + "nocourses": "Δεν υπάρχουν πληροφορίες για αυτό το μάθημα.", "nocoursesyet": "Δεν υπάρχουν μαθήματα σε αυτήν την κατηγορία", "nosearchresults": "Δε βρέθηκαν αποτελέσματα για την αναζήτησή σας", "notenroled": "Δεν είσαι εγγεγραμμένος σε αυτό το μάθημα", "notenrollable": "Δεν μπορείτε να αυτο-εγγραφείτε σε αυτό το μάθημα.", - "password": "Κωδικός πρόσβασης", + "password": "Κλειδί εγγραφής", "paymentrequired": "Αυτό το μάθημα απαιτεί πληρωμή για την είσοδο.", "paypalaccepted": "Αποδεκτές οι πληρωμές μέσω PayPal", "search": "Αναζήτηση", diff --git a/www/core/components/courses/lang/en.json b/www/core/components/courses/lang/en.json index 83ac75364b1..f04f3836df8 100644 --- a/www/core/components/courses/lang/en.json +++ b/www/core/components/courses/lang/en.json @@ -5,6 +5,7 @@ "categories": "Course categories", "confirmselfenrol": "Are you sure you want to enrol yourself in this course?", "courses": "Courses", + "downloadcourses": "Download courses", "enrolme": "Enrol me", "errorloadcategories": "An error occurred while loading categories.", "errorloadcourses": "An error occurred while loading courses.", diff --git a/www/core/components/courses/lang/es-mx.json b/www/core/components/courses/lang/es-mx.json index 1363fb2ccc9..3b7a22e46d1 100644 --- a/www/core/components/courses/lang/es-mx.json +++ b/www/core/components/courses/lang/es-mx.json @@ -5,6 +5,7 @@ "categories": "Categorías", "confirmselfenrol": "¿Está Usted seguro de querer inscribirse a Usted mismo en este curso?", "courses": "Cursos", + "downloadcourses": "Descargar cursos", "enrolme": "Inscribirme", "errorloadcategories": "Ocurrió un error al cargar categorías.", "errorloadcourses": "Ocurrió un error al cargar los cursos.", @@ -13,12 +14,12 @@ "filtermycourses": "<<

      {{course.fullname}}

      - - + + + + +

      diff --git a/www/core/components/courses/templates/list.html b/www/core/components/courses/templates/list.html index b8e736c1828..ba9e42dd1f8 100644 --- a/www/core/components/courses/templates/list.html +++ b/www/core/components/courses/templates/list.html @@ -1,13 +1,17 @@ + + + + -

      +
      diff --git a/www/core/components/courses/templates/viewresult.html b/www/core/components/courses/templates/viewresult.html index a0b088f008d..198460ed55c 100644 --- a/www/core/components/courses/templates/viewresult.html +++ b/www/core/components/courses/templates/viewresult.html @@ -8,14 +8,14 @@

      {{course.fullname}}

      -

      {{course.categoryname}}

      +

      {{course.categoryname}}

      {{course.startdate * 1000 | mmFormatDate:"dfdaymonthyear"}} - {{course.enddate * 1000 | mmFormatDate:"dfdaymonthyear"}}

      {{course.fullname}}

      -

      {{course.categoryname}}

      +

      {{course.categoryname}}

      {{course.startdate * 1000 | mmFormatDate:"dfdaymonthyear"}} - {{course.enddate * 1000 | mmFormatDate:"dfdaymonthyear"}}

      @@ -40,6 +40,11 @@

      {{course.fullname}}

      {{ 'mm.courses.notenrollable' | translate }}

      + + + +

      {{ 'mm.course.downloadcourse' | translate }}

      +

      {{ 'mm.course.contents' | translate }}

      diff --git a/www/core/components/fileuploader/lang/ca.json b/www/core/components/fileuploader/lang/ca.json index 1866c2f477f..85c1bca0d51 100644 --- a/www/core/components/fileuploader/lang/ca.json +++ b/www/core/components/fileuploader/lang/ca.json @@ -1,6 +1,6 @@ { "addfiletext": "Afegeix un fitxer", - "audio": "Fitxer d'àudio ({{$a.EXT}})", + "audio": "Àudio", "camera": "Càmera", "confirmuploadfile": "Ara pujareu {{size}}. Confirmeu que voleu continuar?", "confirmuploadunknownsize": "No s'ha pogut calcular la mida del fitxer per pujar. Confirmeu que voleu continuar?", @@ -10,19 +10,19 @@ "errorgettingimagealbum": "S'ha produït un error descarregant la imatge de l'àlbum.", "errormustbeonlinetoupload": "Heu d'estar connectat per pujar arxius.", "errornoapp": "No teniu instal·lada una app per realitzar aquesta acció.", - "errorreadingfile": "S'ha produït un error en llegir el fitxer \"{{$a}}\"", + "errorreadingfile": "S'ha produït un error llegint el fitxer.", "errorwhileuploading": "S'ha produït un error penjant el fitxer.", - "file": "Fitxer", + "file": "Arxiu", "filesofthesetypes": "Es poden afegir a la tramesa fitxers d'aquests tipus:", "fileuploaded": "S'ha penjat el fitxer", "invalidfiletype": "El tipus de fitxer {{$a}} no pot ser acceptat", - "maxbytesfile": "El fitxer {{$a.file}} és massa gran. La mida màxima que podeu pujar és de {{$a.size}}.", + "maxbytesfile": "El fitxer {{$a.file}} és massa gran. La mida màxima de càrrega és {{$a.size}}.", "more": "Més", "photoalbums": "Àlbums de fotos", "readingfile": "S'està llegint un fitxer", "selectafile": "Selecciona un fitxer", "uploadafile": "Penja un fitxer", - "uploading": "S'està carregant...", + "uploading": "S'està penjant", "uploadingperc": "S'està pujant: {{$a}}%", - "video": "Fitxer de vídeo ({{$a.EXT}})" + "video": "Vídeo" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/cs.json b/www/core/components/fileuploader/lang/cs.json index c8b45562da0..24f48b902c3 100644 --- a/www/core/components/fileuploader/lang/cs.json +++ b/www/core/components/fileuploader/lang/cs.json @@ -1,6 +1,6 @@ { "addfiletext": "Přidat soubor", - "audio": "Zvukový soubor ({{$a.EXT}})", + "audio": "Audio", "camera": "Fotoaparát", "confirmuploadfile": "Chystáte nahrát {{$a}}. Jste si jisti, že chcete pokračovat?", "confirmuploadunknownsize": "Nebyli jsme schopni vypočítat velikost nahrávaného souboru. Jste si jisti, že chcete pokračovat?", @@ -10,19 +10,19 @@ "errorgettingimagealbum": "Chyba při načítání snímku z alba.", "errormustbeonlinetoupload": "Při nahrávání souboru musíte být online.", "errornoapp": "Pro provedení této akce nemáte nainstalovanou aplikaci .", - "errorreadingfile": "Chyba při čtení souboru \"{{$a}}\"", + "errorreadingfile": "Chyba při čtení souboru.", "errorwhileuploading": "Při pokusu o nahrání souboru došlo k chybě .", - "file": "Odevzdat soubor(y)", - "filesofthesetypes": "K řešení úkolu mohou být přidány soubory těchto typů:", + "file": "Soubor", + "filesofthesetypes": "Povolené typy souborů:", "fileuploaded": "Soubor nahrán", "invalidfiletype": "Typ souboru {{$a}} nemůže být přijat", - "maxbytesfile": "Soubor {{$a.file}} je příliš velký. Maximální velikost, kterou můžete nahrát, je {{$a.size}}.", + "maxbytesfile": "Soubor {{$a.file}} je příliš veliký. Maximální velikost nahrávaného souboru je {{$a.size}}.", "more": "Podrobněji", "photoalbums": "Fotoalba", "readingfile": "Čtení souboru", "selectafile": "Vyberte soubor", - "uploadafile": "Vložit soubor", - "uploading": "Nahrávání ...", + "uploadafile": "Nahrát soubor", + "uploading": "Nahrávání", "uploadingperc": "Nahrávání: {{$a}}%", - "video": "Videosoubor ({{$a.EXT}})" + "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/da.json b/www/core/components/fileuploader/lang/da.json index 91343d3ea5e..eb0a335eba6 100644 --- a/www/core/components/fileuploader/lang/da.json +++ b/www/core/components/fileuploader/lang/da.json @@ -1,6 +1,6 @@ { "addfiletext": "Tilføj fil", - "audio": "Lydfil ({{$a.EXT}})", + "audio": "Audio", "camera": "Kamera", "confirmuploadfile": "Du er ved at oploade {{size}}. Er du sikker på at du vil fortsætte?", "confirmuploadunknownsize": "Vi kan ikke beregne hvor stor denne upload er. Er du sikker på at du vil fortsætte?", @@ -10,19 +10,19 @@ "errorgettingimagealbum": "Fejl ved indhentning af billede fra album", "errormustbeonlinetoupload": "Du skal være online for at uploade filer.", "errornoapp": "Du har ikke installeret en app som kan udføre denne handling.", - "errorreadingfile": "Fejl under læsning af filen \"{{$a}}\"", + "errorreadingfile": "Fejl ved læsning af fil.", "errorwhileuploading": "En fejl opstod under upload af filen.", - "file": "Filafleveringer", + "file": "Fil", "filesofthesetypes": "Disse filtyper kan vedhæftes opgaveafleveringen:", "fileuploaded": "Filen er uploadet.", "invalidfiletype": "Filtypen {{$a}} accepteres ikke.", - "maxbytesfile": "Filen {{$a.file}} er for stor. Maksimal upload-størrelse er {{$a.size}}.", + "maxbytesfile": "Filen {{$a.file}} er for stor. Den må ikke fylde mere end {{$a.size}}.", "more": "Flere", "photoalbums": "Fotoalbum", "readingfile": "Læser fil", "selectafile": "Vælg en fil", "uploadafile": "Upload en fil", - "uploading": "Uploader...", + "uploading": "Uploader", "uploadingperc": "Uploader: {{$a}}%", - "video": "Videofil ({{$a.EXT}})" + "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/de-du.json b/www/core/components/fileuploader/lang/de-du.json index 0e76bcaaf35..b7b55002b34 100644 --- a/www/core/components/fileuploader/lang/de-du.json +++ b/www/core/components/fileuploader/lang/de-du.json @@ -1,6 +1,6 @@ { "addfiletext": "Datei hinzufügen", - "audio": "Audiodatei ({{$a.EXT}})", + "audio": "Audio", "camera": "Kamera", "confirmuploadfile": "Möchtest du wirklich {{size}} hochladen?", "confirmuploadunknownsize": "Die Datenmenge kann nicht berechnet werden. Möchtest du wirklich hochladen?", @@ -10,7 +10,7 @@ "errorgettingimagealbum": "Fehler beim Laden aus dem Fotoalbum", "errormustbeonlinetoupload": "Dateien können nur online hochgeladen werden.", "errornoapp": "Keine App zum Ausführen dieser Aktion gefunden", - "errorreadingfile": "Fehler beim Lesen der Datei \"{{$a}}\"", + "errorreadingfile": "Fehler beim Lesen der Datei", "errorwhileuploading": "Fehler beim Hochladen der Datei", "file": "Datei", "filesofthesetypes": "Folgende Dateitypen können als Abgabe hinzugefügt werden:", @@ -22,7 +22,7 @@ "readingfile": "Datei lesen", "selectafile": "Wähle eine Datei.", "uploadafile": "Datei hochladen", - "uploading": "Wird hochgeladen...", + "uploading": "Hochladen", "uploadingperc": "Hochladen: {{$a}}%", - "video": "Video Datei ({{$a.EXT}})" + "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/de.json b/www/core/components/fileuploader/lang/de.json index 3e26e7dfa6c..06fa29e9de1 100644 --- a/www/core/components/fileuploader/lang/de.json +++ b/www/core/components/fileuploader/lang/de.json @@ -1,6 +1,6 @@ { "addfiletext": "Datei hinzufügen", - "audio": "Audiodatei ({{$a.EXT}})", + "audio": "Audio", "camera": "Kamera", "confirmuploadfile": "Möchten Sie wirklich {{size}} hochladen?", "confirmuploadunknownsize": "Die Datenmenge kann nicht berechnet werden. Möchten Sie wirklich hochladen?", @@ -10,7 +10,7 @@ "errorgettingimagealbum": "Fehler beim Laden aus dem Fotoalbum", "errormustbeonlinetoupload": "Dateien können nur online hochgeladen werden.", "errornoapp": "Keine App zum Ausführen dieser Aktion gefunden", - "errorreadingfile": "Fehler beim Lesen der Datei \"{{$a}}\"", + "errorreadingfile": "Fehler beim Lesen der Datei", "errorwhileuploading": "Fehler beim Hochladen der Datei", "file": "Datei", "filesofthesetypes": "Folgende Dateitypen können als Abgabe hinzugefügt werden:", @@ -22,7 +22,7 @@ "readingfile": "Datei lesen", "selectafile": "Wählen Sie eine Datei.", "uploadafile": "Datei hochladen", - "uploading": "Wird hochgeladen...", + "uploading": "Hochladen", "uploadingperc": "Hochladen: {{$a}}%", - "video": "Video Datei ({{$a.EXT}})" + "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/el.json b/www/core/components/fileuploader/lang/el.json index 1706cf823e1..4cfcd8c01bc 100644 --- a/www/core/components/fileuploader/lang/el.json +++ b/www/core/components/fileuploader/lang/el.json @@ -10,17 +10,17 @@ "errorgettingimagealbum": "Σφάλμα κατά τη λήψη εικόνας από το αλμπουμ.", "errormustbeonlinetoupload": "Πρέπει να είστε συνδεδεμένοι για να ανεβάσετε αρχεία.", "errornoapp": "Δεν έχετε εγκατεστημένη εφαρμογή για να εκτελέσετε αυτή την ενέργεια.", - "errorreadingfile": "Σφάλμα στην ανάγνωση του αρχείου \"{{$a}}\"", + "errorreadingfile": "Σφάλμα ανάγνωσης αρχείου.", "errorwhileuploading": "Παρουσιάστηκε σφάλμα κατά το ανέβασμα του αρχείου.", - "file": "Υποβολές αρχείων", + "file": "Αρχείο", "fileuploaded": "Το αρχείο ανέβηκε επιτυχώς.", "maxbytesfile": "Το αρχείο {{$a.file}} είναι πολύ μεγάλο. Το μέγιστο μέγεθος που μπορείτε να ανεβάσετε είναι {{$a.size}}.", "more": "Περισσότερα", "photoalbums": "Άλμπουμ φωτογραφιών", "readingfile": "Ανάγνωση αρχείου", "selectafile": "Επιλογή αρχείου", - "uploadafile": "Φόρτωση ενός αρχείου", - "uploading": "Ανέβασμα...", + "uploadafile": "Ανεβάστε ένα αρχείο", + "uploading": "Ανέβασμα", "uploadingperc": "Ανέβασμα: {{$a}}%", "video": "Βίντεο" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/es-mx.json b/www/core/components/fileuploader/lang/es-mx.json index f4fbd5e2430..c1707669965 100644 --- a/www/core/components/fileuploader/lang/es-mx.json +++ b/www/core/components/fileuploader/lang/es-mx.json @@ -1,6 +1,6 @@ { "addfiletext": "Añadir archivo", - "audio": "Archivo de audio ({{$a.EXT}})", + "audio": "Audio", "camera": "Cámara", "confirmuploadfile": "Usted está a punto de subir {{size}}. ¿Está Usted seguro de querer continuar?", "confirmuploadunknownsize": "No se pudo calcular el tamaño de la subida. ¿Está Usted seguro de querer continuar?", @@ -10,19 +10,19 @@ "errorgettingimagealbum": "Error al obtener imagen del album.", "errormustbeonlinetoupload": "Usted tiene que estar en-línea para subir archivos.", "errornoapp": "Usted no tiene una App instalada para realizar esta acción.", - "errorreadingfile": "Error al leer el archivo \"{{$a}}\"", + "errorreadingfile": "Error al leer archivo.", "errorwhileuploading": "Ocurrió un error durante la subida del archivo.", "file": "Archivo", - "filesofthesetypes": "Los archivos de estos tipos pueden ser añadidos al envío:", + "filesofthesetypes": "Tipos de archivos aceptados:", "fileuploaded": "El archivo fue subido exitosamente.", "invalidfiletype": "El tipo de archivo {{$a}} no se acepta.", - "maxbytesfile": "El archivo {{$a.file}} es demasiado grande. El tamaño máximo que Usted puede subir es de {{$a.size}}.", + "maxbytesfile": "El archivo {{$a.file}} es demasido grande. El tamaño máximo que Usted puede subir es {{$a.size}}.", "more": "Más", "photoalbums": "Foto álbumes", "readingfile": "Leyendo archivo", "selectafile": "Seleccionar un archivo", "uploadafile": "Subir un archivo", - "uploading": "Subiendo...", + "uploading": "Subiendo", "uploadingperc": "Subiendo: {{$a}}%", - "video": "Archivo de video ({{$a.EXT}})" + "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/es.json b/www/core/components/fileuploader/lang/es.json index c71aa78b61b..3b902d43002 100644 --- a/www/core/components/fileuploader/lang/es.json +++ b/www/core/components/fileuploader/lang/es.json @@ -1,6 +1,6 @@ { - "addfiletext": "Añadir fichero", - "audio": "Archivo de audio ({{$a.EXT}})", + "addfiletext": "añadir archivo", + "audio": "Audio", "camera": "Cámara", "confirmuploadfile": "Usted va a subir {{size}}. ¿Desea continuar?", "confirmuploadunknownsize": "No pudimos calcular el tamaño de la subida. ¿Está seguro de querer continuar?", @@ -12,7 +12,7 @@ "errornoapp": "Usted no tiene una app instalada para realizar esta acción.", "errorreadingfile": "Error al leer el archivo \"{{$a}}\"", "errorwhileuploading": "Ocurrió un error al subir un archivo.", - "file": "Archivos enviados", + "file": "Archivo", "fileuploaded": "Archivo subido", "invalidfiletype": "El tipo de archivo {{$a}} no se acepta.", "maxbytesfile": "El archivo {{$a.file}} es demasido grande. El tamaño máximo que puede subir es {{$a.size}}.", @@ -21,7 +21,7 @@ "readingfile": "Leyendo archivo", "selectafile": "Seleccionar un archivo", "uploadafile": "Subir un archivo", - "uploading": "Subiendo...", + "uploading": "Subiendo", "uploadingperc": "Subiendo: {{$a}}%", - "video": "Fichero de video ({{$a.EXT}})" + "video": "Vídeo" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/eu.json b/www/core/components/fileuploader/lang/eu.json index ad4c695d630..8d948af64d0 100644 --- a/www/core/components/fileuploader/lang/eu.json +++ b/www/core/components/fileuploader/lang/eu.json @@ -1,6 +1,6 @@ { "addfiletext": "Gehitu fitxategia", - "audio": "Audio-fitxategia ({{$a.EXT}})", + "audio": "Audioa", "camera": "Kamera", "confirmuploadfile": "{{size}} igotzear zaude. Ziur al zaude aurrera egin nahi duzula?", "confirmuploadunknownsize": "Ezin izan dugu igotzera zoazenaren tamaina kalkulatu. Ziur zaude jarraitu nahi duzula?", @@ -10,9 +10,9 @@ "errorgettingimagealbum": "Errorea irudia bildumatik jasotzean.", "errormustbeonlinetoupload": "Online egon behar zara fitxategiak igotzeko.", "errornoapp": "Ez daukazu ekintza hau burutzeko app-ik instalatuta.", - "errorreadingfile": "Errorea \"{{$a}}\" fitxategia irakurtzean", + "errorreadingfile": "Errorea fitxategia irakurtzean.", "errorwhileuploading": "Errorea gertatu da fitxategia igotzean.", - "file": "Fitxategi-bidalketak", + "file": "Fitxategia", "filesofthesetypes": "Mota hauetako fitxategiak gehitu daitezke bidalketa honetara:", "fileuploaded": "Fitxategia ondo igo da.", "invalidfiletype": "{{$a}} fitxategi-mota ezin da onartu.", @@ -21,8 +21,8 @@ "photoalbums": "Argazki-bildumak", "readingfile": "Fitxategia irakurtzen", "selectafile": "Aukeratu fitxategi bat", - "uploadafile": "Fitxategia igo", - "uploading": "Igotzen...", + "uploadafile": "Igo fitxategia", + "uploading": "Igotzen", "uploadingperc": "Igotzen: %{{$a}}", - "video": "Bideo fitxategia ({{$a.EXT}})" + "video": "Bideoa" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/fa.json b/www/core/components/fileuploader/lang/fa.json index 2f666624f33..7c3d3051ede 100644 --- a/www/core/components/fileuploader/lang/fa.json +++ b/www/core/components/fileuploader/lang/fa.json @@ -13,5 +13,5 @@ "more": "نمایش جزئیات", "uploadafile": "قرار دادن یک فایل در سایت", "uploading": "درحال بارگذاری", - "video": "فایل ویدیویی ({{$a.EXT}})" + "video": "ویدئو" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/fi.json b/www/core/components/fileuploader/lang/fi.json index f73ef7ac7c4..d1862faad05 100644 --- a/www/core/components/fileuploader/lang/fi.json +++ b/www/core/components/fileuploader/lang/fi.json @@ -1,6 +1,6 @@ { "addfiletext": "Lisää tiedosto", - "audio": "Äänitiedosto ({{$a.EXT}})", + "audio": "Ääni", "camera": "Kamera", "confirmuploadfile": "Olet lataamassa {{size}}. Oletko varma, että haluat jatkaa?", "confirmuploadunknownsize": "Lataamaasi tiedoston kokoa ei pystytty määrittelemään. Oletko varma, että haluat jatkaa?", @@ -10,7 +10,7 @@ "errorgettingimagealbum": "Tapahtui virhe kun kuvaa yritettiin hakea albumista.", "errormustbeonlinetoupload": "Sinun täytyy olla verkossa, jotta voit lähettää tiedostoja.", "errornoapp": "Sinulla ei ole asennettuna sovellusta, joka osaisi käsitellä tämän toiminnon.", - "errorreadingfile": "Tiedoston lukemisessa tapahtui virhe: {{$a}}", + "errorreadingfile": "Tiedostoa luettaessa tapahtui virhe.", "errorwhileuploading": "Tiedostonlähetyksessä tapahtui virhe.", "file": "Tiedosto", "filesofthesetypes": "Nämä tiedostomuodot voidaan lisätä palautukseen:", @@ -21,8 +21,8 @@ "photoalbums": "Valokuva-albumit", "readingfile": "Luetaan tiedostoa", "selectafile": "Valitse tiedosto", - "uploadafile": "Hae tiedosto", - "uploading": "Ladataan...", + "uploadafile": "Lataa tiedosto", + "uploading": "Lähetetään", "uploadingperc": "Lähetetään: {{$a}}%", "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/fr.json b/www/core/components/fileuploader/lang/fr.json index 9d42b6d6b55..be5537ed737 100644 --- a/www/core/components/fileuploader/lang/fr.json +++ b/www/core/components/fileuploader/lang/fr.json @@ -1,6 +1,6 @@ { - "addfiletext": "Ajouter un fichier", - "audio": "Fichier audio ({{$a.EXT}})", + "addfiletext": "Ajouter le fichier", + "audio": "Audio", "camera": "Caméra", "confirmuploadfile": "Vous allez déposer {{size}}. Voulez-vous vraiment continuer ?", "confirmuploadunknownsize": "Impossible de calculer la taille du fichier à dépasser. Voulez-vous malgré tout continuer ?", @@ -10,19 +10,19 @@ "errorgettingimagealbum": "Erreur lors de la récupération de l'image de l'album.", "errormustbeonlinetoupload": "Vous devez être en ligne pour déposer des fichiers.", "errornoapp": "Vous n'avez pas d'app installée pour effectuer cette action.", - "errorreadingfile": "Erreur lors de la lecture du fichier « {{$a}} »", + "errorreadingfile": "Erreur de lecture du fichier.", "errorwhileuploading": "Une erreur est survenue lors du dépôt du fichier.", "file": "Fichier", - "filesofthesetypes": "Des fichiers de ces types peuvent être ajoutés au devoir :", + "filesofthesetypes": "Types de fichier acceptés :", "fileuploaded": "Le fichier a été déposé.", "invalidfiletype": "Le type de fichier {{$a}} ne peut pas être accepté.", - "maxbytesfile": "La taille du fichier {{$a.file}} est trop grande. La taille maximale d'un fichier à déposer est de {{$a.size}}.", + "maxbytesfile": "Le fichier {{$a.file}} est trop gros. La taille maximale permise est de {{$a.size}}.", "more": "Plus", "photoalbums": "Albums photos", "readingfile": "Lecture du fichier", "selectafile": "Choisir un fichier", "uploadafile": "Déposer un fichier", - "uploading": "En cours de dépôt...", + "uploading": "Envoi", "uploadingperc": "Dépôt en cours : {{$a}} %", - "video": "Fichier vidéo ({{$a.EXT}})" + "video": "Vidéo" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/he.json b/www/core/components/fileuploader/lang/he.json index 059be6b4b48..9c8fd9f9acc 100644 --- a/www/core/components/fileuploader/lang/he.json +++ b/www/core/components/fileuploader/lang/he.json @@ -1,6 +1,6 @@ { "addfiletext": "הוספת קובץ", - "audio": "קובץ שמע ({{$a.EXT}})", + "audio": "קול", "camera": "מצלמה", "confirmuploadfile": "את/ה עומד/ת להעלות קובץ בגודל {{size}}. האם את/ה רוצא/ה להמשיך?", "errorcapturingaudio": "שגיאה בלכידת הקול.", @@ -9,16 +9,16 @@ "errorgettingimagealbum": "שגיאה בטעינת תמונה מאלבום.", "errormustbeonlinetoupload": "עליך להיות מחובר/ת בכדי להעלות קבצים.", "errornoapp": "לא נמצא יישומון זמין לביצוע פעולה הזו.", - "errorreadingfile": "שגיאה בקריאת קובץ \"{{$a}}\"", + "errorreadingfile": "שגיאה בקריאת קובץ.", "errorwhileuploading": "התרחשה שגיאה בזמן הניסיון להעלות את הקובץ.", - "file": "קבצי הגשה", + "file": "קובץ", "filesofthesetypes": "קבצים מסוג זה ניתנים להעלאה בהגשה זו:", "fileuploaded": "הקובץ הועלה בהצלחה.", "invalidfiletype": "{{$a}} סוגי קבצים אשר אינם יכולים להתקבל", "more": "עוד", "photoalbums": "אלבומי תמונות", "readingfile": "קורא קובץ", - "uploadafile": "העלאת קובץ", - "uploading": "מעלה את הקובץ...", + "uploadafile": "העלה קובץ", + "uploading": "מעלה קבצים", "video": "וידאו" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/hr.json b/www/core/components/fileuploader/lang/hr.json index a860c1286f0..3e3bea53a6e 100644 --- a/www/core/components/fileuploader/lang/hr.json +++ b/www/core/components/fileuploader/lang/hr.json @@ -1,9 +1,9 @@ { "addfiletext": "Dodaj datoteku", - "audio": "Zvučna datoteka ({{$a.EXT}})", + "audio": "Zvuk", "camera": "Kamera", "errorreadingfile": "Pogreška pri čitanju datoteke \"{{$a}}\"", - "file": "Postavljanje datoteke", + "file": "Datoteka", "filesofthesetypes": "Za ovu zadaću ovo su dopuštene vrste datoteka:", "invalidfiletype": "{{$a}}: vrsta datoteke nije prihvaćena.", "more": "Više", diff --git a/www/core/components/fileuploader/lang/it.json b/www/core/components/fileuploader/lang/it.json index 35afe7a7313..0fd0e197742 100644 --- a/www/core/components/fileuploader/lang/it.json +++ b/www/core/components/fileuploader/lang/it.json @@ -1,27 +1,28 @@ { "addfiletext": "Aggiungi file", - "audio": "File audio ({{$a.EXT}})", + "audio": "Audio", "camera": "Camera", "confirmuploadfile": "Stai per caricare {{size}}. Sei sicuro di continuare?", - "confirmuploadunknownsize": "Non è stato possibile calcolare la dimensione del caricamento. Sei sicuro di continuare?", + "confirmuploadunknownsize": "Non è stato possibile calcolare la dimensione del caricamento. Vuoi continuare?", "errorcapturingaudio": "Si è verificato un errore durante la registrazione dell'audio", "errorcapturingimage": "Si è verificato un errore durante l'acquisizione dell'immagine.", "errorcapturingvideo": "Si è verificato un errore durante l'acquisizione del video", "errorgettingimagealbum": "Si è verificato un errore durante la ricezione dell'immagine dall'album.", "errormustbeonlinetoupload": "Devi essere online per caricare file.", "errornoapp": "Non hai un'app per svolgere questa azione.", - "errorreadingfile": "Si è verificato un errore leggendo il file \"{{$a}}\"", + "errorreadingfile": "Si è verificato un errore durante la lettura del file.", "errorwhileuploading": "Si è verificato un errore durante il caricamento del file.", - "file": "Consegna file", - "filesofthesetypes": "Tipi di file accettati per la consegna:", + "file": "File", + "filesofthesetypes": "Tipi di file accettati:", "fileuploaded": "File caricato correttamente", "invalidfiletype": "Non è possibile accettare il tipo di file {{$a}}", - "maxbytesfile": "Il file {{$a.file}} è troppo grande. La dimensione massima che è possibile caricare è pari a {{$a.size}}.", + "maxbytesfile": "Il file {{$a.file}} è troppo grande. La dimensione massima consentita è {{$a.size}}.", "more": "Dettagli", "photoalbums": "Album fotografico", "readingfile": "Letture file in corso", - "uploadafile": "Carica un file sul server", - "uploading": "Caricamento in corso...", + "selectafile": "Seleziona un file", + "uploadafile": "Carica un file", + "uploading": "Caricamento in corso", "uploadingperc": "Caricamento: {{$a}}%", - "video": "File video ({{$a.EXT}})" + "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/ja.json b/www/core/components/fileuploader/lang/ja.json index c85435860ad..982e0c2f3a1 100644 --- a/www/core/components/fileuploader/lang/ja.json +++ b/www/core/components/fileuploader/lang/ja.json @@ -1,11 +1,11 @@ { - "addfiletext": "ファイルを追加する", + "addfiletext": "ファイル追加", "audio": "オーディオファイル ({{$a.EXT}})", "confirmuploadfile": "{{$a}}をアップロードしようとしています。続けますか?", "errorcapturingaudio": "音声キャプチャーのエラー", "errorcapturingvideo": "ビデオキャプチャーのエラー", - "errorreadingfile": "ファイル「 {{$a}} 」の読み取り中にエラーが発生しました。", - "file": "ファイル提出", + "errorreadingfile": "ファイル\"{{$a}}\"の読み取りエラー", + "file": "ファイル", "filesofthesetypes": "これらのタイプのファイルは提出に追加することができます:", "fileuploaded": "アップロードしたファイル", "invalidfiletype": "{{$a}} ファイルタイプを受け付けることはできません。", @@ -13,6 +13,6 @@ "more": "詳細", "readingfile": "ファイル読み取り", "uploadafile": "ファイルをアップロードする", - "uploading": "アップロード中 ...", - "video": "ビデオファイル ({{$a.EXT}})" + "uploading": "アップロード中", + "video": "ビデオ" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/ko.json b/www/core/components/fileuploader/lang/ko.json new file mode 100644 index 00000000000..0d7ccc2fe56 --- /dev/null +++ b/www/core/components/fileuploader/lang/ko.json @@ -0,0 +1,9 @@ +{ + "audio": "오디오 파일 ({{$a.EXT}})", + "errorreadingfile": "\"{{$a}}\" 파일 읽기 오류", + "file": "파일", + "invalidfiletype": "{{$a}} 파일 형식은 쓸 수 없음", + "more": "더 이상", + "uploadafile": "파일 올리기", + "uploading": "올리는 중..." +} \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/lt.json b/www/core/components/fileuploader/lang/lt.json index da0a68d3713..91821aa1a09 100644 --- a/www/core/components/fileuploader/lang/lt.json +++ b/www/core/components/fileuploader/lang/lt.json @@ -1,6 +1,6 @@ { "addfiletext": "Pridėti failą", - "audio": "Garso failas ({{$a.EXT}})", + "audio": "Garsas", "camera": "Fotoaparatas", "confirmuploadfile": "Ketinate įkelti {{size}}. Ar norite tęsti?", "confirmuploadunknownsize": "Negalima apskaičiuoti failo, kurį norite įkelti, dydžio. Ar tikrai norite tęsti?", @@ -10,9 +10,9 @@ "errorgettingimagealbum": "Klaida gaunant paveiksliuką iš albumo.", "errormustbeonlinetoupload": "Norint įkelti failą reikia prisijungti.", "errornoapp": "Jūs neturite programėlės šiam veiksmui atlikti.", - "errorreadingfile": "Įvyko klaida skaitant failą {{$a}}", + "errorreadingfile": "Klaida nuskaitant failą.", "errorwhileuploading": "Klaida įkeliant failą.", - "file": "Failų pateikimai", + "file": "Failas", "filesofthesetypes": "Pateikimui gali būti įtraukti šių failų tipai:", "fileuploaded": "Failas sėkmingai įkeltas.", "invalidfiletype": "Failo tipas {{$a}} nepriimtinas.", @@ -21,8 +21,8 @@ "photoalbums": "Nuotraukų albumai", "readingfile": "Skaitomas failas", "selectafile": "Pasirinkite failą", - "uploadafile": "Įkelti failą", - "uploading": "Įkeliama...", + "uploadafile": "Įkelkite failą", + "uploading": "Įkeliama", "uploadingperc": "Įkeliama: {{$a}}%", - "video": "Vaizdo įrašo failas ({{$a.EXT}})" + "video": "Vaizdinė medžiaga" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/mr.json b/www/core/components/fileuploader/lang/mr.json index 5d1ea699ed6..a3b7932bf92 100644 --- a/www/core/components/fileuploader/lang/mr.json +++ b/www/core/components/fileuploader/lang/mr.json @@ -19,7 +19,7 @@ "photoalbums": "फोटो अल्बम", "readingfile": "फाईल वाचत आहे", "selectafile": "एक फाईल निवडा", - "uploadafile": "फाईल अपलोड करा", + "uploadafile": "फाइल अपलोड करा", "uploading": "अपलोड करत आहे", "uploadingperc": "अपलोडहोत आहे : {{$a}}%", "video": "व्हिडिओ" diff --git a/www/core/components/fileuploader/lang/nl.json b/www/core/components/fileuploader/lang/nl.json index 31eb8a0c33c..48392aeceb0 100644 --- a/www/core/components/fileuploader/lang/nl.json +++ b/www/core/components/fileuploader/lang/nl.json @@ -1,6 +1,6 @@ { - "addfiletext": "Bestand toevoegen", - "audio": "Audiobestand ({{$a.EXT}})", + "addfiletext": "Voeg bestand toe", + "audio": "Audio", "camera": "Camera", "confirmuploadfile": "Je gaat {{size}} uploaden. Weet je zeker dat je wil verder gaan?", "confirmuploadunknownsize": "We konden de grootte van de upload niet berekenen. Weet je zeker dat je wil verder gaan?", @@ -10,19 +10,19 @@ "errorgettingimagealbum": "Fout bij het ophalen van een foto uit het album.", "errormustbeonlinetoupload": "Je moet online zijn om bestanden te kunnen uploaden.", "errornoapp": "Je hebt geen app geïnstalleerd om dit te kunnen doen.", - "errorreadingfile": "Fout bij het lezen van bestand \"{{$a}}\"", + "errorreadingfile": "Fout bij het lezen van het bestand.", "errorwhileuploading": "Er is een fout opgetreden tijdens het uploaden van het bestand.", "file": "Bestand", "filesofthesetypes": "Bestanden van volgende types mogen ingestuurd worden.", "fileuploaded": "Het uploaden van het bestand is gelukt.", "invalidfiletype": "{{$a}} bestandstype wordt niet aanvaard", - "maxbytesfile": "Het bestand {{$a.file}} is te groot. De maximale grootte die je kunt uploaden is {{$a.size}}.", + "maxbytesfile": "Het bestand {{$a.file}} is te groot. De maximale uploadgrootte is {{$a.size}}.", "more": "Meer", "photoalbums": "Foto-albums", "readingfile": "Bestand lezen", "selectafile": "Selecteer een bestand", - "uploadafile": "Upload een bestand", - "uploading": "Uploaden...", + "uploadafile": "Bestand uploaden", + "uploading": "Aan het uploaden", "uploadingperc": "Uploaden: {{$a}}%", - "video": "Videobestand ({{$a.EXT}})" + "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/pt-br.json b/www/core/components/fileuploader/lang/pt-br.json index d4b38a06e34..8e6cd27675d 100644 --- a/www/core/components/fileuploader/lang/pt-br.json +++ b/www/core/components/fileuploader/lang/pt-br.json @@ -1,6 +1,6 @@ { "addfiletext": "Adicionar arquivo", - "audio": "Arquivo de áudio ({{$a.EXT}})", + "audio": "Áudio", "camera": "Câmera", "confirmuploadfile": "Você está prestes a enviar {{size}}. Você tem certeza que quer continuar?", "confirmuploadunknownsize": "Não conseguimos calcular o tamanho do que será enviado. Você tem certeza que quer continuar?", @@ -10,19 +10,19 @@ "errorgettingimagealbum": "Erro ao pegar imagem a partir do álbum.", "errormustbeonlinetoupload": "Você precisa estar online para enviar arquivos.", "errornoapp": "Você não tem um aplicativo instalado para fazer essa ação.", - "errorreadingfile": "Erro na leitura do arquivo \"{{$a}}\"", + "errorreadingfile": "Erro ao ler arquivo.", "errorwhileuploading": "Houve um erro durante o envio do arquivo.", - "file": "Envio de arquivos", - "filesofthesetypes": "Arquivos destes tipos podem ser adicionados ao envio:", + "file": "Arquivo", + "filesofthesetypes": "Tipos de ficheiros permitidos:", "fileuploaded": "Arquivo enviado", "invalidfiletype": "{{$a}} não é um tipo de arquivo aceito.", - "maxbytesfile": "O arquivo {{$a.file}} é muito grande. Apenas pode carregar arquivos com um tamanho máximo de {{$a.size}}.", + "maxbytesfile": "O arquivo {{$a.file}} é muito grande. O tamanho máximo que você pode enviar é {{$a.size}}.", "more": "Mais", "photoalbums": "Álbuns de fotos", "readingfile": "Lendo arquivos", "selectafile": "Selecione um arquivo", - "uploadafile": "Enviar um arquivo", - "uploading": "Enviando...", + "uploadafile": "Enviando um arquivo", + "uploading": "Enviando", "uploadingperc": "Enviando: {{$a}}%", - "video": "Arquivo de vídeo ({{$a.EXT}})" + "video": "Vídeo" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/pt.json b/www/core/components/fileuploader/lang/pt.json index 62213f911cd..ab113cc2964 100644 --- a/www/core/components/fileuploader/lang/pt.json +++ b/www/core/components/fileuploader/lang/pt.json @@ -1,6 +1,6 @@ { "addfiletext": "Adicionar ficheiro", - "audio": "Ficheiro Audio ({{$a.EXT}})", + "audio": "Áudio", "camera": "Câmera", "confirmuploadfile": "Está prestes a carregar {{size}}. Tem a certeza que quer continuar?", "confirmuploadunknownsize": "Não foi possível calcular o tamanho do carregamento. Tem a certeza que pretende continuar?", @@ -10,19 +10,19 @@ "errorgettingimagealbum": "Erro ao obter imagem do álbum", "errormustbeonlinetoupload": "Necessita de estar online para enviar ficheiros", "errornoapp": "Não possui a aplicação móvel necessária para executar esta ação.", - "errorreadingfile": "Erro na leitura do ficheiro \"{{$a}}\"", + "errorreadingfile": "Erro ao ler o ficheiro", "errorwhileuploading": "Ocorreu um erro durante o carregamento do ficheiro.", "file": "Ficheiro", - "filesofthesetypes": "Podem ser adicionados à submissão os seguintes tipos de ficheiros:", + "filesofthesetypes": "Tipos de ficheiros permitidos:", "fileuploaded": "Ficheiro carregado com sucesso", "invalidfiletype": "O tipo de ficheiro \"{{$a}}\" não é permitido.", - "maxbytesfile": "O ficheiro {{$a.file}} é muito grande. Apenas pode carregar ficheiros com um tamanho máximo de {{$a.size}}.", + "maxbytesfile": "O ficheiro {{$a.file}} é muito grande. O tamanho máximo que pode carregar é de {{$a.size}}.", "more": "Mais", "photoalbums": "Álbuns de fotos", "readingfile": "A ler ficheiro", "selectafile": "Selecione um ficheiro", - "uploadafile": "Carregar ficheiro", - "uploading": "A enviar...", + "uploadafile": "Carregar um ficheiro", + "uploading": "A carregar", "uploadingperc": "A carrregar: {{$a}}%", - "video": "Ficheiro de vídeo ({{$a.EXT}})" + "video": "Vídeo" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/ro.json b/www/core/components/fileuploader/lang/ro.json index 1780c6ea20d..0cbb86d4920 100644 --- a/www/core/components/fileuploader/lang/ro.json +++ b/www/core/components/fileuploader/lang/ro.json @@ -1,6 +1,6 @@ { "addfiletext": "Adăugați fișier", - "audio": "Fișier audio ({{$a.EXT}})", + "audio": "Audio", "camera": "Camera WEB", "confirmuploadfile": "Sunteți pe cale să încărcați {{dimensiune}}. Sunteți sigur ca doriți să continuați?", "errorcapturingaudio": "Eroare la înregistrarea audio.", @@ -9,16 +9,16 @@ "errorgettingimagealbum": "Eroare la obținerea imaginii din album.", "errormustbeonlinetoupload": "Pentru a putea încărca fișiere trebuie să fiți conectat la o rețea de date.", "errornoapp": "Nu aveți instalată o aplicație dedicată realizării acestei operațiuni.", - "errorreadingfile": "Eroare la citirea fişierului {{$a}}", + "errorreadingfile": "Eroare la citirea fișierului.", "errorwhileuploading": "A apărut o eroare în timpul încărcării fișierului.", - "file": "Fişier", + "file": "Fișier", "fileuploaded": "Fișierul a fost încărcat cu succes.", "invalidfiletype": "{{$a}} tipul de fișier nu poate fi acceptat.", "maxbytesfile": "Fișierul {{$a.file}} este prea mare. Dimensiunea maximă pe care o puteți încărca este {{$a.size}}.", "more": "Detalii suplimentare", "photoalbums": "Albume foto", "readingfile": "Se citește fișierul", - "uploadafile": "Incarcă un fişier", - "uploading": "Se încarcă ...", - "video": "Fișier video ({{$a.EXT}})" + "uploadafile": "Încărcați un fișier", + "uploading": "Se încarcă", + "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/ru.json b/www/core/components/fileuploader/lang/ru.json index 93d2f567a9f..78f0ed52571 100644 --- a/www/core/components/fileuploader/lang/ru.json +++ b/www/core/components/fileuploader/lang/ru.json @@ -1,25 +1,28 @@ { "addfiletext": "Добавить файл", - "audio": "Аудио-файл ({{$a.EXT}})", + "audio": "Аудио", "camera": "Камера", "confirmuploadfile": "Вы собираетесь загрузить {{size}}. Вы уверены, что хотите продолжить?", + "confirmuploadunknownsize": "Оценить размер загружаемых на сервер данных не удалось. Вы уверены, что хотите продолжить?", "errorcapturingaudio": "Ошибка захвата звука", "errorcapturingimage": "Ошибка захвата изображения", "errorcapturingvideo": "Ошибка захвата видео", "errorgettingimagealbum": "Ошибка получения изображения из альбома", "errormustbeonlinetoupload": "Вы должны быть на сайте, чтобы загружать файлы.", "errornoapp": "У Вас не установлено приложение для выполнения этого действия.", - "errorreadingfile": "Ошибка чтения файла «{{$a}}»", + "errorreadingfile": "Ошибка при чтении файла", "errorwhileuploading": "Произошла ошибка во время загрузки файла", - "file": "Ответ в виде файла", + "file": "Файл", "filesofthesetypes": "Файлы этих типов могут быть добавлены к ответу:", "fileuploaded": "Файл загружен", "invalidfiletype": "Использование файлов типа «{{$a}}» не разрешено.", - "maxbytesfile": "Файл «{{$a.file}}» слишком большой. Максимальный размер файла, который Вы можете загрузить: {{$a.size}}.", + "maxbytesfile": "Файл {{$a.file}} слишком большой. Максимальный размер, который вы можете загрузить на сервер {{$a.size}}.", "more": "Просмотр записи", "photoalbums": "Фотоальбомы", "readingfile": "Чтение файла", - "uploadafile": "Загрузить файл", - "uploading": "Идет загрузка файла на сервер...", - "video": "Видео файл ({{$a.EXT}})" + "selectafile": "Выбрать файл", + "uploadafile": "Загрузка файла", + "uploading": "Загрузка", + "uploadingperc": "Загрузка на сервер {{$a}}%", + "video": "Видео" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/sv.json b/www/core/components/fileuploader/lang/sv.json index e68f8578694..095b2ae3082 100644 --- a/www/core/components/fileuploader/lang/sv.json +++ b/www/core/components/fileuploader/lang/sv.json @@ -1,5 +1,5 @@ { - "audio": "Ljudfil ({{$a.EXT}})", + "audio": "Audio", "camera": "Kamera", "confirmuploadfile": "Du är på väg att ladda upp {{size}}. Är du säker på att du vill fortsätta?", "errorcapturingaudio": "Fel med att spela in ljud", @@ -8,9 +8,9 @@ "errorgettingimagealbum": "Fel att få bild från album.", "errormustbeonlinetoupload": "Du måste vara online för att ladda upp filer.", "errornoapp": "Du behöver att ha en app installerat för att utföra den här åtgärden.", - "errorreadingfile": "Fel i samband med läsningen av filen \"{{$a}}\"", + "errorreadingfile": "Fel vid läsning av fil.", "errorwhileuploading": "Ett fel uppstod under filöverföringen.", - "file": "Filinlämningar", + "file": "Fil", "filesofthesetypes": "Dessa filtyper kan bifogas i inlämningsuppgiften", "fileuploaded": "Fil laddades upp", "invalidfiletype": "filtypen {{$a}} kan inte accepteras", @@ -18,6 +18,6 @@ "photoalbums": "Fotoalbum", "readingfile": "Läsa fil", "uploadafile": "Ladda upp en fil", - "uploading": "Laddar upp...", + "uploading": "Laddar upp", "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/tr.json b/www/core/components/fileuploader/lang/tr.json index 9014b1fd3fe..9e2749a1452 100644 --- a/www/core/components/fileuploader/lang/tr.json +++ b/www/core/components/fileuploader/lang/tr.json @@ -10,6 +10,6 @@ "maxbytesfile": "{{$a.file}} dosyasının boyutu çok büyük. En fazla {{$a.size}} MB büyüklüğünde dosya yükleyebilirsiniz.", "more": "Dahası", "uploadafile": "Bir dosya yükle", - "uploading": "Yükleniyor...", - "video": "Video dosyası ({{$a.EXT}})" + "uploading": "Yükleniyor", + "video": "Video" } \ No newline at end of file diff --git a/www/core/components/fileuploader/lang/uk.json b/www/core/components/fileuploader/lang/uk.json index 7467787e5c4..186653aacd4 100644 --- a/www/core/components/fileuploader/lang/uk.json +++ b/www/core/components/fileuploader/lang/uk.json @@ -1,6 +1,6 @@ { "addfiletext": "Додати файл", - "audio": "Аудіо файл ({{$a.EXT}})", + "audio": "Аудіо", "camera": "Камера", "confirmuploadfile": "Ви збираєтеся завантажити {{size}}. Ви впевнені, що хочете продовжити?", "confirmuploadunknownsize": "Ми не змогли розрахувати розмір завантаження. Ви впевнені, що хочете продовжити?", @@ -10,18 +10,18 @@ "errorgettingimagealbum": "Помилка отримання зображення з альбома.", "errormustbeonlinetoupload": "Ви повинні бути в мережі для завантаження файлів.", "errornoapp": "У вас немає програми, встановленої для виконання цієї дії.", - "errorreadingfile": "Помилка при читанні файлу \"{{$a}}\"", + "errorreadingfile": "Помилка читання файлу.", "errorwhileuploading": "Помилка при завантаженні файлу.", - "file": "Завантаження файлу", + "file": "Файл", "fileuploaded": "Файл був успішно завантажений.", "invalidfiletype": "{{$a}} тип файлу не може бути прийнятим", - "maxbytesfile": "Файл {{$a.file}} занадто великий. Максимальний розмір, який ви можете завантажити - {{$a.size}}.", + "maxbytesfile": "Файл {{$a.file}} завеликий. Максимум {{$a.size}}.", "more": "Детальний перегляд...", "photoalbums": "Фото альбом.", "readingfile": "Читання файлу", "selectafile": "Виберіть файл", "uploadafile": "Завантажити файл", - "uploading": "Завантаження...", + "uploading": "Завантаження", "uploadingperc": "Завантаження: {{$a}}%", "video": "Відео" } \ No newline at end of file diff --git a/www/core/components/grades/lang/ko.json b/www/core/components/grades/lang/ko.json new file mode 100644 index 00000000000..5ee564ef25e --- /dev/null +++ b/www/core/components/grades/lang/ko.json @@ -0,0 +1,14 @@ +{ + "average": "평균", + "badgrade": "제공된 성적이 잘못 되었음", + "feedback": "피드백", + "grade": "성적", + "grades": "성적", + "itemname": "항목 이름", + "lettergrade": "문자 성적", + "nooutcome": "학습성과 없음", + "percentage": "백분율", + "range": "범위", + "rank": "등위", + "weight": "가중치" +} \ No newline at end of file diff --git a/www/core/components/grades/services/grades.js b/www/core/components/grades/services/grades.js index cc4e50c8a8e..09eeaa5603b 100644 --- a/www/core/components/grades/services/grades.js +++ b/www/core/components/grades/services/grades.js @@ -78,12 +78,13 @@ angular.module('mm.core.grades') * @ngdoc method * @name $mmGrades#invalidateGradesTableData * @param {Number} courseId Course ID. - * @param {Number} userId User ID. + * @param {Number} [userId] User ID (empty for current user in the site). * @param {Number} [siteId] Site id (empty for current site). * @return {Promise} Promise resolved when the data is invalidated. */ self.invalidateGradesTableData = function(courseId, userId, siteId) { return $mmSitesManager.getSite(siteId).then(function(site) { + userId = userId || site.getUserId(); return site.invalidateWsCacheForKey(getGradesTableCacheKey(courseId, userId)); }); }; diff --git a/www/core/components/login/lang/cs.json b/www/core/components/login/lang/cs.json index ee2174cf14f..151d5b2fd51 100644 --- a/www/core/components/login/lang/cs.json +++ b/www/core/components/login/lang/cs.json @@ -4,14 +4,14 @@ "cancel": "Přerušit", "checksiteversion": "Zkontrolujte, zda web používá Moodle 2.4 nebo novější.", "confirmdeletesite": "Jste si jisti, že chcete smazat web {{sitename}}?", - "connect": "Spojit", + "connect": "Připojit!", "connecttomoodle": "Připojit k Moodle", "contactyouradministrator": "Pro další pomoc se obraťte na správce webu.", "contactyouradministratorissue": "Požádejte správce, prosím, aby zkontroloval následující problém: {{$a}}", "createaccount": "Vytvořit můj nový účet", "createuserandpass": "Vytvořit nové uživatelské jméno a heslo pro přihlášení", "credentialsdescription": "Pro přihlášení uveďte své uživatelské jméno a heslo.", - "emailconfirmsent": "

      Na vaši adresu {{$a}} byl odeslán e-mail s jednoduchými pokyny k dokončení vaší registrace.

      Narazíte-li na nějaké obtíže, spojte se se správcem těchto stránek.

      ", + "emailconfirmsent": "

      E-mail by měl být zaslán na Vaši adresu na {{$a}}

      Obsahuje jednoduché instrukce pro dokončení registrace.

      Pokud budou potíže pokračovat, obraťte se na správce webu.

      ", "emailnotmatch": "E-maily se neshodují", "enterthewordsabove": "Vložte výše uvedená slova", "erroraccesscontrolalloworigin": "Cross-Origin volání - váš pokus o provedení byl odmítnut. Zkontrolujte prosím https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", @@ -26,15 +26,15 @@ "invalidaccount": "Zkontrolujte si prosím své přihlašovací údaje nebo se obraťte na správce webu, aby zkontroloval nastavení.", "invaliddate": "Neplatné datum", "invalidemail": "Neplatná e-mailová adresa", - "invalidmoodleversion": "Neplatná verze Moodle. Minimální potřebná verze je:", + "invalidmoodleversion": "Neplatná verze Moodle. Minimální potřebná verze je 2.4.", "invalidsite": "Adresa URL stránky je chybná", "invalidtime": "Neplatný čas", "invalidurl": "Neplatná URL", "invalidvaluemax": "Maximální hodnota je {{$a}}", "invalidvaluemin": "Minimální hodnota je {{$a}}", - "localmobileunexpectedresponse": "Kontrola rozšířených vlastností Moodle Mobile vrátil neočekávanou odezvu, budete ověřen pomocí standardních služeb mobilu .", + "localmobileunexpectedresponse": "Kontrola rozšířených vlastností Moodle Mobile vrátil neočekávanou odezvu. Budete ověřen pomocí standardních služeb mobilu .", "loggedoutssodescription": "Musíte se znovu autentizovat. Musíte se přihlásit na stránky v okně prohlížeče.", - "login": "Přihlásit se", + "login": "Přihlášení", "loginbutton": "Přihlásit se", "logininsiterequired": "Váš Moodlu vás nutí k přihlášení pomocí prohlížeče. Nová instance prohlížeče otevře přesměrování na vaše stránky Moodle.", "loginsteps": "K plnému přístupu na tyto stránky, musíte nejprve vytvořit účet.", @@ -59,16 +59,18 @@ "profileinvaliddata": "Neplatná hodnota", "recaptchachallengeimage": "Změnit obrázek reCAPTCHA", "reconnect": "Znovu připojit", - "reconnectdescription": "Váš token autentizace je neplatný nebo vypršel, budete se muset znovu připojit k serveru.", - "reconnectssodescription": "Váš token autentizace je neplatný nebo vypršel, budete se muset znovu připojit k serveru. Musíte se přihlásit na stránky v okně prohlížeče.", + "reconnectdescription": "Váš token autentizace je neplatný nebo vypršel. Musíte se znovu připojit k serveru.", + "reconnectssodescription": "Váš token autentizace je neplatný nebo vypršel. Musíte se znovu připojit k serveru. Musíte se přihlásit na stránky v okně prohlížeče.", + "searchby": "Hledat pomocí:", "security_question": "Bezpečnostní otázka", "selectacountry": "Vyberte zemi", + "selectsite": "Vyberte prosím vaše stránky:", "signupplugindisabled": "{{$a}} není povoleno.", "siteaddress": "Adresa stránky", "siteinmaintenance": "Váš web je v režimu údržby", "sitepolicynotagreederror": "Zásady bezpečnosti nebyly odsouhlaseny.", "siteurl": "URL adresa stránky", - "siteurlrequired": "Je požadováno URL webu, tj. http://www.yourmoodlesite.abc nebo https://www.yourmoodlesite.efg ", + "siteurlrequired": "Je požadováno URL webu, tj. https://www.yourmoodlesite.org", "startsignup": "Začněte nyní vytvořením nového účtu!", "stillcantconnect": "Stále se nemůže připojit?", "supplyinfo": "Více informací", diff --git a/www/core/components/login/lang/da.json b/www/core/components/login/lang/da.json index 10b8609ab00..3ef9a0dd464 100644 --- a/www/core/components/login/lang/da.json +++ b/www/core/components/login/lang/da.json @@ -3,7 +3,7 @@ "authenticating": "Godkender", "cancel": "Annuller", "confirmdeletesite": "Er du sikker på at du ønsker at slette websiden {{sitename}}?", - "connect": "Forbind", + "connect": "Tilslut!", "connecttomoodle": "Tilslut til Moodle", "contactyouradministrator": "Kontakt administrator for yderligere hjælp", "contactyouradministratorissue": "Bed administrator om at tjekke følgende: {{$a}}", diff --git a/www/core/components/login/lang/de-du.json b/www/core/components/login/lang/de-du.json index c32d0aabcb2..e3535314198 100644 --- a/www/core/components/login/lang/de-du.json +++ b/www/core/components/login/lang/de-du.json @@ -11,7 +11,7 @@ "createaccount": "Mein neues Konto anlegen", "createuserandpass": "Wähle deinen Anmeldenamen und dein Kennwort", "credentialsdescription": "Gib den Anmeldenamen und das Kennwort ein. ", - "emailconfirmsent": "

      Um sicherzugehen, dass sich niemand unberechtigt über die von dir angegebene E-Mail anmeldet, wird eine automatische Benachrichtigung an diese Adresse {{$a}} gesendet. Je nach Netzlast trifft sie sofort oder auch etwas später bei dir ein.

      \n

      Die Benachrichtigung enthält eine Anleitung, wie du deine Registrierung bestätigst.\nDanach bist du auf dieser Moodle-Seite registriert und kannst sofort loslegen.

      \n

      Bei Problemen wende dich bitte an die Administrator/innen der Website.

      ", + "emailconfirmsent": "

      In Kürze wird eine E-Mail an {{$a}} gesendet.

      Du findest eine einfache Anleitung, wie du die Registrierung abschließt. Bei Schwierigkeiten frage den Administrator der Website.

      ", "emailnotmatch": "Die E-Mail-Adressen stimmen nicht überein.", "enterthewordsabove": "Geben Sie die gezeigten Wörter ein", "erroraccesscontrolalloworigin": "Der Cross-Origin Aufruf wurde zurückgewiesen. Weitere Informationen: https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", diff --git a/www/core/components/login/lang/de.json b/www/core/components/login/lang/de.json index c44934f9c61..674235be60d 100644 --- a/www/core/components/login/lang/de.json +++ b/www/core/components/login/lang/de.json @@ -11,7 +11,7 @@ "createaccount": "Mein neues Konto anlegen", "createuserandpass": "Wählen Sie Ihre Anmeldedaten.", "credentialsdescription": "Geben Sie den Anmeldenamen und das Kennwort ein. ", - "emailconfirmsent": "

      Um sicherzugehen, dass sich niemand unberechtigt über die von Ihnen angegebene E-Mail anmeldet, wird eine automatische Benachrichtigung an diese Adresse {{$a}} gesendet. Je nach Netzlast trifft sie sofort oder auch etwas später bei Ihnen ein.

      \n

      Die Benachrichtigung enthält eine Anleitung, wie Sie Ihre Registrierung bestätigen.\nDanach sind Sie auf dieser Moodle-Seite registriert und können sofort loslegen.

      \n

      Bei Problemen wenden Sie sich bitte an die Administrator/innen der Website.

      ", + "emailconfirmsent": "

      In Kürze wird eine E-Mail an {{$a}} gesendet.

      Sie finden eine einfache Anleitung, wie Sie die Registrierung abschließen. Bei Schwierigkeiten wenden Sie sich an den Administrator der Website.

      ", "emailnotmatch": "Die E-Mail-Adressen stimmen nicht überein.", "enterthewordsabove": "Geben Sie die gezeigten Wörter ein", "erroraccesscontrolalloworigin": "Der Cross-Origin Aufruf wurde zurückgewiesen. Weitere Informationen: https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", diff --git a/www/core/components/login/lang/el.json b/www/core/components/login/lang/el.json index 028fc407dd6..6d9bf4bb760 100644 --- a/www/core/components/login/lang/el.json +++ b/www/core/components/login/lang/el.json @@ -11,7 +11,7 @@ "createaccount": "Δημιουργία του λογαριασμού μου", "createuserandpass": "Δημιουργία ενός νέου ονόματος χρήστη και κωδικού πρόσβασης για είσοδο στον δικτυακό τόπο", "credentialsdescription": "Δώστε το όνομα χρήστη και τον κωδικό πρόσβασής σας για να συνδεθείτε.", - "emailconfirmsent": "

      Ένα μήνυμα ηλεκτρονικού ταχυδρομείου θα πρέπει να έχει σταλεί στη διεύθυνσή σας, {{$a}}

      \n

      Περιέχει απλές οδηγίες για την ολοκλήρωση της εγγραφής σας.

      \n

      Αν συνεχίζετε να αντιμετωπίζετε δυσκολίες, επικοινωνήστε με το διαχειριστή του δικτυακού τόπου.

      ", + "emailconfirmsent": "

      Ένα email έχει σταλεί στη διεύθυνση σας {{$a}}

      Περιέχει εύκολες οδηγίες για να ολοκληρώσετε την εγγραφή σας.

      Εάν συνεχίσετε να έχετε δυσκολίες επικοινωνήστε με το διαχειριστή του site.

      ", "emailnotmatch": "Οι διευθύνσεις email δεν ταιριάζουν", "enterthewordsabove": "Enter the words above", "erroraccesscontrolalloworigin": "Η κλήση πολλαπλών προελεύσεων (Cross-Origin call) που προσπαθείτε να εκτελέσετε έχει απορριφθεί. Παρακαλώ ελέγξτε https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", diff --git a/www/core/components/login/lang/es-mx.json b/www/core/components/login/lang/es-mx.json index 34e4a31530b..70c0d1a461a 100644 --- a/www/core/components/login/lang/es-mx.json +++ b/www/core/components/login/lang/es-mx.json @@ -4,14 +4,14 @@ "cancel": "Cancelar", "checksiteversion": "Revisar que su sitio usa Moodle 2.4 o más reciente.", "confirmdeletesite": "¿Está Usted seguro de querer eliminar el sitio {{sitename}}?", - "connect": "Conectar", + "connect": "¡Conectar!", "connecttomoodle": "Conectar a Moodle", "contactyouradministrator": "Contacte a su administrador del sitio para más ayuda.", "contactyouradministratorissue": "Por favor, pídale al administrador que revise el siguiente problema: {{$a}}", "createaccount": "Crear mi cuenta nueva", "createuserandpass": "Elegir su nombre_de_usuario y contraseña", "credentialsdescription": "Por favor proporcione su nombre_de_usuario y contraseña para ingresar.", - "emailconfirmsent": "

      Hemos enviado un correo electrónico a {{$a}}

      \n

      En él encontrará instrucciones sencillas para concluir el proceso.

      \n

      Si tuviera alguna dificultad, contacte con el Administrador del Sistema.

      ", + "emailconfirmsent": "

      Debería de haberse enviado un Email a su dirección en {{$a}}

      El Email contiene instrucciones sencillas para completar su registro.

      Si continúa teniendo dificultades, contacte al administrador del sitio.

      ", "emailnotmatch": "No coinciden los Emails", "enterthewordsabove": "Escriba las palabras de arriba", "erroraccesscontrolalloworigin": "La llamada de Orígen Cruzado (''Cross-Origin'') que Usted está tratando de realizar ha sido rechazada. Por favor revise https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", diff --git a/www/core/components/login/lang/es.json b/www/core/components/login/lang/es.json index 968187a30ee..677b5409762 100644 --- a/www/core/components/login/lang/es.json +++ b/www/core/components/login/lang/es.json @@ -11,7 +11,7 @@ "createaccount": "Crear cuenta", "createuserandpass": "Crear un nuevo usuario y contraseña para acceder al sistema", "credentialsdescription": "Introduzca su nombre se usuario y contraseña para entrar", - "emailconfirmsent": "

      Hemos enviado un correo electrónico a {{$a}}

      \n

      En él encontrará instrucciones sencillas para concluir el proceso.

      \n

      Si tuviera alguna dificultad, contacte con el Administrador del Sistema.

      ", + "emailconfirmsent": "

      Se ha enviado un email a su dirección {{$a}}

      Contiene instrucciones para completar el proceso de registro.

      Si continúa teniendo algún problema, contacte con el administrador de su sitio.

      ", "emailnotmatch": "Las direcciones de correo no coinciden.", "enterthewordsabove": "Escriba las palabras de arriba", "erroraccesscontrolalloworigin": "La llamada Cross-Origin que está intentando ha sido rechazada. Por favor visite https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", @@ -37,7 +37,7 @@ "login": "Acceder", "loginbutton": "Acceder", "logininsiterequired": "Para autentificarse en el sitio se ha de abrir una ventana de navegador.", - "loginsteps": "Hola. Para acceder al sistema tómese un minuto para\ncrear una cuenta.\nCada curso puede disponer de una \"clave de acceso\"\nque sólo tendrá que usar la primera vez.\nEstos son los pasos:\n
        \n
      1. Rellene el Formulario de Registro con sus datos.
      2. \n
      3. El sistema le enviará un correo para verificar que su dirección sea correcta.
      4. \n
      5. Lea el correo y confirme su matrícula.
      6. \n
      7. Su registro será confirmado y usted podrá acceder al curso.
      8. \n
      9. Seleccione el curso en el que desea participar.
      10. \n
      11. Si algún curso en particular le solicita una \"contraseña de acceso\"\nutilice la que le facilitaron cuando se matriculó.\nAsí quedará matriculado.
      12. \n
      13. A partir de ese momento no necesitará utilizar más que su nombre de usuario y contraseña\nen el formulario de la página\npara entrar a cualquier curso en el que esté matriculado.
      14. \n
      ", + "loginsteps": "Para tener acceso completo a este sitio, primero necesita crear una cuenta.", "missingemail": "Falta la dirección de correo", "missingfirstname": "Falta el nombre dado", "missinglastname": "Falta el apellido(s)", diff --git a/www/core/components/login/lang/eu.json b/www/core/components/login/lang/eu.json index 7ffeab85266..eb23512bd61 100644 --- a/www/core/components/login/lang/eu.json +++ b/www/core/components/login/lang/eu.json @@ -4,35 +4,35 @@ "cancel": "Utzi", "checksiteversion": "Egiaztatu zure Moodle guneak 2.4 bertsioa edo aurreragokoa erabiltzen duela.", "confirmdeletesite": "Ziur zaude {{sitename}} gunea ezabatu nahi duzula?", - "connect": "Konektatu", + "connect": "Konektatu!", "connecttomoodle": "Moodle-ra konektatu", "contactyouradministrator": "Zure guneko kudeatzailearekin harremanetan jarri laguntza gehiagorako.", - "contactyouradministratorissue": "Mesedez, eskatu zure kudeatzaileari hurrengo arazoa ikuskatu dezala: {{$a}}", + "contactyouradministratorissue": "Mesedez, eskatu zure guneko kudeatzaileari hurrengo arazoa ikuskatu dezala: {{$a}}", "createaccount": "Nire kontu berria sortu", "createuserandpass": "Aukeratu zure erabiltzaile-izena eta pasahitza", "credentialsdescription": "Mesedez saioa hasteko zure sartu erabiltzaile eta pasahitza.", - "emailconfirmsent": "

      E-posta mezu bat bidali dugu zure hurrengo helbide honetara: {{$a}}

      \n

      Izena ematen amaitzeko argibide erraz batzuk ditu.

      \n

      Arazorik baduzu, jarri harremanetan kudeatzailearekin.

      ", + "emailconfirmsent": "

      Zure {{$a}} helbidera mezu bat bidali da.

      Zure erregistroa amaitzeko argibide erraz batzuk ditu.

      Arazorik baduzu, jarri harremanetan kudeatzailearekin.

      ", "emailnotmatch": "E-posta helbideak ez datoz bat", "enterthewordsabove": "Idatzi goiko hitzak", - "erroraccesscontrolalloworigin": "Saiatzen ari zaren Cross-Origin deia ez da onartu. Ikusi mesedez https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", + "erroraccesscontrolalloworigin": "Saiatzen ari zaren cross-origin deia ez da onartu. Ikusi mesedez https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", "errordeletesite": "Errorea gertatu da gunea ezabatzean. Mesedez saiatu beranduago.", - "errorupdatesite": "Errorea gertatu da guneko token-a eguneratzean.", + "errorupdatesite": "Errore bat gertatu da guneko token-a eguneratzean.", "firsttime": "Hau al da zure lehen aldia hemen?", "forgotten": "Zure erabiltzaile-izena edo pasahitza ahaztu dituzu?", "getanothercaptcha": "Beste CAPTCHA bat lortu", "help": "Laguntza", - "helpmelogin": "

      Milaka Moodle gune dago munduan zehar. App hau soilik Mobile sarbidea gaituta duten guneetan sartzeko gai da.

      Zure Moodle gunera konektatzeko gai ez bazara konektatu nahi zaren Moodle guneko administratzailearekin harremanetan jarri behar zara eta hurrengo esteka irakurtzeko esan: http://docs.moodle.org/en/Mobile_app

      .

      App honen demo gunea probatzeko idatzi teacher edo student Gunearen helbidea eremuan eta Gehitu botoia sakatu.

      ", + "helpmelogin": "

      Milaka Moodle gune dago munduan zehar. App hau soilik Mobile sarbidea gaituta duten Moodle guneetan sartzeko gai da.

      Zure Moodle gunera konektatzeko gai ez bazara konektatu nahi zaren Moodle guneko administratzailearekin harremanetan jarri behar zara eta hurrengo esteka irakurtzeko esan: http://docs.moodle.org/en/Mobile_app

      .

      App honen demo gunea probatzeko idatzi teacher edo student Gunearen helbidea eremuan eta Gehitu botoia sakatu.

      ", "instructions": "Argibideak", "invalidaccount": "Zure erabiltzaile eta pasahitza egiaztatu itzazu edo zure guneko administratzaileari guneko ezarpenak egiaztatzeko eskatu.", "invaliddate": "Data baliogabea", "invalidemail": "E-posta helbide baliogabea", - "invalidmoodleversion": "Moodle bertsio baliogabea. Gutxieneko bertsioa hurrengoa da:", + "invalidmoodleversion": "Moodle bertsio baliogabea. Gutxieneko bertsioa 2.4 da.", "invalidsite": "Guneko URLa ez da zuzena", "invalidtime": "Ordu baliogabea", "invalidurl": "URL baliogabea", "invalidvaluemax": "Gehieneko balioa {{$a}} da.", "invalidvaluemin": "Gutxieneko balioa {{$a}} da.", - "localmobileunexpectedresponse": "Moodle Mobile-ko Funtzio Aurreratuen kontrolak ezusteko erantzuna eman du, Mobile zerbitzu estandarra erabilita autentifikatuko zaitugu.", + "localmobileunexpectedresponse": "Moodle Mobile-ko Funtzio Aurreratuen kontrolak ezusteko erantzuna eman du. Mobile zerbitzu estandarra erabilita autentifikatuko zaitugu.", "loggedoutssodescription": "Berriz autentifikatu behar duzua. Gunean nabigatzaile leiho baten bitartez hasi behar duzu saioa.", "login": "Sartu", "loginbutton": "Hasi saioa", @@ -41,7 +41,7 @@ "missingemail": "E-posta helbidea falta da", "missingfirstname": "Izena falta da", "missinglastname": "Deitura falta da", - "mobileservicesnotenabled": "Mobile zerbitzuak gaitu gabe daude zure gunean. Mesedez zure Moodle gunearen administratzailearen harremanetan jarri zaitez mobile sarbidea gaitu behar dela uste baduzu.", + "mobileservicesnotenabled": "Mobile bidezko sarbidea gaitu gabe dago zure gunean. Mesedez, jar zaitez harremanetan guneko kudeatzailearekin, mobile sarbidea gaitu behar dela uste baduzu.", "newaccount": "Kontu berria", "newsitedescription": "Sartu mesedez zure Moodle guneko URLa. Kontuan hartu app honekin funtzionatzeko gunea aurretik konfiguraturik egon behar dela.", "notloggedin": "Autentifikaturik egon behar duzu.", @@ -59,16 +59,18 @@ "profileinvaliddata": "Balore baliogabea", "recaptchachallengeimage": "reCAPTCHA erronkaren irudia", "reconnect": "Berriz konektatu", - "reconnectdescription": "Zure token-a orain ez da baliozkoa edo iraungitu da, gunera berriz konektatu beharko zara.", - "reconnectssodescription": "Zure token-a orain ez da baliozkoa edo iraungitu da, gunera berriz konektatu beharko zara. Gunean web-nabigatzaile baten bidez sartu behar zara.", + "reconnectdescription": "Zure autentikazio-token-a ez da baliozkoa edo iraungitu da. Gunera berriz konektatu beharko zara.", + "reconnectssodescription": "Zure autentikazio-token-a ez da baliozkoa edo iraungitu da. Gunera berriz konektatu beharko duzu. Gunean web-nabigatzaile baten bidez sartu behar duzu.", + "searchby": "Bilatu honen arabera:", "security_question": "Segurtasun-galdera", "selectacountry": "Herrialde bat aukeratu", + "selectsite": "Aukeratu mesedez zure gunea:", "signupplugindisabled": "{{$a}} ez dago gaituta.", "siteaddress": "Gunearen helbidea", "siteinmaintenance": "Zure gunea mantenu-moduan dago", "sitepolicynotagreederror": "Ez da guneko politika onartu.", "siteurl": "Gunearen URLa", - "siteurlrequired": "Gunearen URLa behar da http://www.zuremoodlegunea.abc edo https://www.zuremoodlegunea.efg adibidez", + "siteurlrequired": "Gunearen URLa behar da, http://www.zuremoodlegunea.eus adibidez", "startsignup": "Kontu berri bat sortu", "stillcantconnect": "Oraindik ezin zara konektatu?", "supplyinfo": "Xehetasun gehiago", @@ -77,5 +79,5 @@ "usernamerequired": "Erabiltzailea behar da", "usernotaddederror": "Erabiltzailea ez da gehitu - errorea", "visitchangepassword": "Gunera joan nahi duzu pasahitza aldatzeko?", - "webservicesnotenabled": "Web zerbitzuak gaitu gabe daude zure gunean. Mesedez zure Moodle gunearen administratzailearen harremanetan jarri zaitez mobile sarbidea gaitu behar dela uste baduzu." + "webservicesnotenabled": "Web zerbitzuak gaitu gabe daude zure gunean. Mesedez zure guneko administratzailearekin harremanetan jarri zaitez mobile sarbidea gaitu behar dela uste baduzu." } \ No newline at end of file diff --git a/www/core/components/login/lang/fi.json b/www/core/components/login/lang/fi.json index 9ae7ce0a07e..a733501acd0 100644 --- a/www/core/components/login/lang/fi.json +++ b/www/core/components/login/lang/fi.json @@ -4,14 +4,14 @@ "cancel": "Peruuta", "checksiteversion": "Tarkista, että Moodlen versio on 2.4 tai uudempi.", "confirmdeletesite": "Oletko varma, että haluat poistaa sivuston {{sitename}}?", - "connect": "Yhdistä", + "connect": "Yhdistä!", "connecttomoodle": "Yhdistä Moodleen", "contactyouradministrator": "Ota yhteyttä järjestelmän pääkäyttäjään saadaksesi lisää apua.", "contactyouradministratorissue": "Ole hyvä ja pyydä järjestelmän pääkäyttäjää tarkistamaan seuraava ongelma: {{$a}}", "createaccount": "Luo uusi käyttäjätunnus.", "createuserandpass": "Valitse käyttäjätunnus ja salasana", "credentialsdescription": "Ole hyvä ja kirjoita käyttäjänimesi ja salasanasi, jotta voit kirjautua sisään.", - "emailconfirmsent": "

      Vahvistusviesti on lähetetty osoitteeseesi {{$a}}

      \n

      Se sisältää ohjeet, kuinka voit vahvistaa käyttäjätunnuksesi.

      \n

      Jos vahvistuksessa on ongelmia, ota yhteyttä ylläpitäjään.

      ", + "emailconfirmsent": "

      Sähköpostiviesti lähettiin osoitteeseen {{$a}}

      Se sisältää ohjeet rekisteröinnin loppuunviemisestä.

      Jos et onnistu rekisteröitymään ohjeista huolimatta, ole hyvä ja ota yhteyttä järjestelmän pääkäyttäjään.

      ", "emailnotmatch": "Sähköpostiosoitteet eivät täsmää", "enterthewordsabove": "Kirjoita ylläolevat sanat", "errordeletesite": "Sivustoa poistettaessa tapahtui virhe. Ole hyvä ja yritä uudelleen.", diff --git a/www/core/components/login/lang/fr.json b/www/core/components/login/lang/fr.json index 8f759319e33..fc6a088aa75 100644 --- a/www/core/components/login/lang/fr.json +++ b/www/core/components/login/lang/fr.json @@ -4,14 +4,14 @@ "cancel": "Annuler", "checksiteversion": "Veuillez vérifier que votre site utilise Moodle 2.4 ou une version ultérieure.", "confirmdeletesite": "Voulez-vous vraiment supprimer la plateforme {{sitename}} ?", - "connect": "Connecter", + "connect": "Connecter !", "connecttomoodle": "Connexion à Moodle", "contactyouradministrator": "Veuillez contacter l'administrateur de la plateforme pour plus d'aide.", "contactyouradministratorissue": "Veuillez demander à l'administrateur de la plateforme de vérifier l'élément suivant : {{$a}}", "createaccount": "Créer mon compte", "createuserandpass": "Créer un compte", "credentialsdescription": "Veuillez fournir votre nom d'utilisateur et votre mot de passe pour vous connecter.", - "emailconfirmsent": "

      Un message vous a été envoyé à l'adresse de courriel {{$a}}.

      Il contient les instructions pour terminer votre enregistrement.

      Si vous rencontrez des difficultés, veuillez contacter l'administrateur du site.

      ", + "emailconfirmsent": "

      Un message vous a été envoyé par courriel à l'adresse {{$a}}

      Il contient des instructions vous permettant de terminer votre enregistrement.

      En cas de difficulté, veuillez contacter l'administrateur de la plateforme.

      ", "emailnotmatch": "Les adresses de courriel ne correspondent pas", "enterthewordsabove": "Tapez les mots ci-dessus", "erroraccesscontrolalloworigin": "La tentative d'appel « Cross-Origin » que vous avez effectuée a été rejetée. Veuillez consulter https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", @@ -61,8 +61,10 @@ "reconnect": "Reconnecter", "reconnectdescription": "Votre jeton d'authentification est non valide ou échu. Veuillez vous reconnecter à la plateforme.", "reconnectssodescription": "Votre jeton d'authentification est non valide ou échu. Veuillez vous reconnecter à la plateforme, en vous connectant dans un navigateur.", + "searchby": "Rechercher par :", "security_question": "Question de sécurité", "selectacountry": "Choisir un pays", + "selectsite": "Veuillez sélectionner votre site :", "signupplugindisabled": "{{$a}} n'est pas activée.", "siteaddress": "Adresse de la plateforme", "siteinmaintenance": "Votre site est en mode de maintenance", diff --git a/www/core/components/login/lang/he.json b/www/core/components/login/lang/he.json index c257c39d575..7c4540a16d8 100644 --- a/www/core/components/login/lang/he.json +++ b/www/core/components/login/lang/he.json @@ -2,7 +2,7 @@ "authenticating": "מאמת נתונים", "cancel": "ביטול", "confirmdeletesite": "האם את/ה בטוח/ה שברצונך למחוק את האתר {{sitename}}?", - "connect": "חיבור", + "connect": "התחברות!", "connecttomoodle": "התחברות למוודל", "createaccount": "יצירת חשבון חדש", "createuserandpass": "הזנת שם־משתמש וסיסמה", diff --git a/www/core/components/login/lang/hr.json b/www/core/components/login/lang/hr.json index 2b1287d9a5b..12485d591a8 100644 --- a/www/core/components/login/lang/hr.json +++ b/www/core/components/login/lang/hr.json @@ -1,6 +1,6 @@ { "cancel": "Odustani", - "connect": "Poveži", + "connect": "Prijavi se!", "connecttomoodle": "Prijavi se na Moodle", "createaccount": "Stvori moj novi korisnički račun", "createuserandpass": "Stvori novo korisničko ime i lozinku s kojom se mogu prijaviti sustavu", diff --git a/www/core/components/login/lang/it.json b/www/core/components/login/lang/it.json index da61d08405c..3076208c7a1 100644 --- a/www/core/components/login/lang/it.json +++ b/www/core/components/login/lang/it.json @@ -1,15 +1,17 @@ { + "auth_email": "Account via email", "authenticating": "Autenticazione in corso", "cancel": "Annulla", + "checksiteversion": "Verifica che il sito utilizzi Moodle 2.4 o versioni successive.", "confirmdeletesite": "Sei sicuro di eliminare il sito {{sitename}}?", - "connect": "Connetti", + "connect": "Collegati!", "connecttomoodle": "Collegati a Moodle", "createaccount": "Crea il mio nuovo account", "createuserandpass": "Scegli username e password", "credentialsdescription": "Per favore inserisci username e password per l'autenticazione", "emailconfirmsent": "

      Una email è stata inviata al tuo indirizzo {{$a}}

      \n

      Contiene semplici istruzioni per completare la tua registrazione.

      \n

      Se hai qualche difficoltà contatta l'amministratore del sito.

      ", "enterthewordsabove": "Inserisci le parole sovrastanti", - "erroraccesscontrolalloworigin": "La chiamata Cross-Origin che stai effettuando è stata rifiutata. Per ulteriori informazioni: https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", + "erroraccesscontrolalloworigin": "La chiamata cross-origin che stai effettuando è stata rifiutata. Per ulteriori informazioni: https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", "errordeletesite": "Si è verificato un errore durante l'eliminazione di questo sito. Per favore riprova.", "errorupdatesite": "Si è verificato un errore durante l'aggiornamento del token del sito.", "firsttime": "È la prima volta che accedi qui?", @@ -19,13 +21,17 @@ "helpmelogin": "

      Esistono diverse migliaia di siti Moodle al mondo. Queta app può collegarsi solamente in quei siti dove è stato configurato l'accesso Mobile app.

      Se non riesci a collegarti al sito Moodle desiderato devi contattare l'amministratore di quel sito e chiedergli di documentarsi su http://docs.moodle.org/en/Mobile_app

      Per provare l'applicazione su un sito Moodle demo inserire teacher oppure student nel campo Username e fare click sul pulsante Aggiungi.

      ", "instructions": "Istruzioni", "invalidaccount": "Verificare le proprie credenziali o chiedere all'amministratore del sito di controllare la configurazione del sito.", + "invaliddate": "Data non valida", "invalidemail": "Indirizzo email non valido", - "invalidmoodleversion": "Versione di Moodle non valida. La versione minima richiesta:", + "invalidmoodleversion": "Versione di Moodle non valida. La versione minima richiesta è la 2.4:", "invalidsite": "L'URL del sito non è valida", + "invalidtime": "Orario non valido", "invalidurl": "L'URL non è valido", + "invalidvaluemax": "Il valore massimo è {{$a}}", + "invalidvaluemin": "Il valore minimo è {{$a}}", "localmobileunexpectedresponse": "Il controllo delle Moodle Mobile Additional Feature ha restituito una risposta inattesa, sarai autenticato tramite i servizi Mobile standard.", "login": "Login", - "loginbutton": "Login!", + "loginbutton": "Login", "logininsiterequired": "Devi autenticarti usando una finestra browser", "loginsteps": "Per accedere al sito devi creare un account.", "missingemail": "Non hai inserito l'email", @@ -44,13 +50,17 @@ "policyagreement": "Condizioni di utilizzo del sito", "policyagreementclick": "Leggi le condizioni di utilizzo del sito", "potentialidps": "Autenticati su:", + "profileinvaliddata": "Valore non valido", "reconnect": "Riconnetti", "reconnectdescription": "Il token di autenticazione non è valido oppure è scaduto. Devi ricollegarti al sito.", "reconnectssodescription": "Il token di autenticazione non è valido oppure è scaduto. Devi ricollegarti al sito autenticandoti tramite il browser.", "security_question": "Domanda di sicurezza", "selectacountry": "Seleziona il tuo stato", + "selectsite": "Seleziona il sito:", + "signupplugindisabled": "{{$a}} non è abilitato.", "siteaddress": "Indirizzo del sito", "siteinmaintenance": "Il sito è in modalità manutenzione", + "sitepolicynotagreederror": "Politiche del sito non accettate.", "siteurl": "URL del sito", "siteurlrequired": "L'URL del sito è obbligatoria. Esempio:http://www.yourmoodlesite.abc or https://www.yourmoodlesite.efg", "startsignup": "Crea un account", diff --git a/www/core/components/login/lang/ko.json b/www/core/components/login/lang/ko.json new file mode 100644 index 00000000000..55602ea0072 --- /dev/null +++ b/www/core/components/login/lang/ko.json @@ -0,0 +1,35 @@ +{ + "cancel": "취소", + "connect": "연결", + "createaccount": "새 계정 만들기", + "createuserandpass": "아이디와 비밀번호 생성", + "emailconfirmsent": "

      당신의 이메일 주소인 {{$a}}로 메일이 갔습니다.

      \n

      등록을 마치기 위한 간단한 안내문이 포함되어 있습니다.

      ", + "enterthewordsabove": "위의 단어를 입력하시오", + "firsttime": "이곳에 처음 오셨나요?", + "forgotten": "사용자 아이디나 비밀번호를 잊으셨습니까?", + "getanothercaptcha": "다른 CAPTCHA 얻기", + "help": "도움", + "instructions": "안내문", + "invalidemail": "쓸 수 없는 이메일 주소", + "invalidurl": "잘못된 웹주소", + "login": "로그인", + "loginsteps": "이 사이트를 자유롭게 접근하기 위해서는, 계정을 생성해 주십시요.", + "missingemail": "빠짐: 이메일 주소", + "missingfirstname": "빠짐: 성", + "missinglastname": "빠짐: 이름", + "newaccount": "새 계정", + "password": "비밀번호", + "passwordforgotten": "비밀번호 잊어버림", + "passwordforgotteninstructions2": "비밀번호를 재설정하기 위해서는 아래에 사용자 아이디나 이메일 주소를 입력하세요. 데이터베이스에서 확인이 되면 추후 과정을 안내할 이메일을 확인된 이메일 주소로 발송할 것입니다.", + "policyaccept": "약관을 이해하였으며 이에 동의합니다.", + "policyagree": "이 사이트를 계속 이용하시려면 약관에 동의하셔야 합니다. 동의하십니까?", + "policyagreement": "사이트 정책 동의", + "policyagreementclick": "사이트 정책 동의로의 링크", + "potentialidps": "이전에 로그아웃한 곳과 다른 곳에서 접속을 자주하십니까?
      다음 중 접속하는 곳의 위치를 선택하세요: ", + "selectacountry": "국가 선택", + "startsignup": "새 계정 만들기", + "supplyinfo": "추가 정보", + "username": "사용자 아이디", + "usernameoremail": "사용자 아이디나 이메일 주소를 입력", + "usernotaddederror": "사용자 추가되지 않음 - 오류" +} \ No newline at end of file diff --git a/www/core/components/login/lang/lt.json b/www/core/components/login/lang/lt.json index 88da4699816..b48904776be 100644 --- a/www/core/components/login/lang/lt.json +++ b/www/core/components/login/lang/lt.json @@ -4,14 +4,14 @@ "cancel": "Atšaukti", "checksiteversion": "Patikrintkite, ar svetainė naudoja Moodle 2.4. arba vėlesnę versiją.", "confirmdeletesite": "Ar tikrai norite ištrinti svetainę {{sitename}}?", - "connect": "Prijungti", + "connect": "Prisijungta!", "connecttomoodle": "Prisijungti prie Moodle", "contactyouradministrator": "Susisiekite su svetainės administratoriumi, jei reikalinga pagalba.", "contactyouradministratorissue": "Dėl šių klausimų prašome susisiekti su administratoriumi: {{$a}}", "createaccount": "Kurti naują mano paskyrą", "createuserandpass": "Pasirinkite savo naudotojo vardą ir slaptažodį", "credentialsdescription": "Prisijungti naudojant vartotojo vardą ir slaptažodį.", - "emailconfirmsent": "

      El. laiškas išsiųstas jūsų adresu {{$a}}

      .

      Jame pateikti paprasti nurodymai, kaip užbaigti registraciją.

      Jei iškils kokių sunkumų, kreipkitės į svetainės administratorių.

      ", + "emailconfirmsent": "

      Informacija išsiųsta Jūsų nurodytu adresu {{$a}}

      Tai padės sėkmingai užbaigti registraciją.

      Jeigu nepavyksta, susisiekite su svetainės administratoriumi.

      ", "emailnotmatch": "El. paštas nesutampa", "enterthewordsabove": "Įvesti aukščiau rodomus žodžius", "erroraccesscontrolalloworigin": "Kryžminis veiksmas buvo atmestas. Patikrinkite: https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", diff --git a/www/core/components/login/lang/nl.json b/www/core/components/login/lang/nl.json index 58ecafd8352..e7a6095f334 100644 --- a/www/core/components/login/lang/nl.json +++ b/www/core/components/login/lang/nl.json @@ -4,14 +4,14 @@ "cancel": "Annuleer", "checksiteversion": "Controleer of je site minstens Moodle 2.4 of nieuwe gebruikt.", "confirmdeletesite": "Weet je zeker dat je de site {{sitename}} wil verwijderen?", - "connect": "Verbind", + "connect": "Verbinden!", "connecttomoodle": "Verbinden met Moodle", "contactyouradministrator": "Neem contact op met je site-beheerder voor meer hulp.", "contactyouradministratorissue": "Vraag aan je site-beheerder om volgend probleem te onderzoeken: {{$a}}", "createaccount": "Maak mijn nieuwe account aan", "createuserandpass": "Kies een gebruikersnaam en wachtwoord", "credentialsdescription": "Geef je gebruikersnaam en wachtwoord op om je aan te melden", - "emailconfirmsent": "

      Als het goed is, is er een e-mail verzonden naar {{$a}}

      \n

      Daarin staan eenvoudige instructies voor het voltooien van de registratie.

      \n

      Indien je moeilijkheden blijft ondervinden, neem dan contact op met je sitebeheerder.

      ", + "emailconfirmsent": "

      Er zou een e-mail gestuurd moeten zijn naar jouw adres {{$a}}

      Het bericht bevat eenvoudige instructies om je registratie te voltooien.

      Als je problemen blijft ondervinden, neem dan contact op met de sitebeheerder.

      ", "emailnotmatch": "E-mailadressen komen niet overeen", "enterthewordsabove": "Vul hier bovenstaande woorden in", "erroraccesscontrolalloworigin": "De Cross-Origin call die je probeerde uit te voeren, werd geweigerd. Controleer https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", diff --git a/www/core/components/login/lang/no.json b/www/core/components/login/lang/no.json index f0b0511726c..d3f4fce74de 100644 --- a/www/core/components/login/lang/no.json +++ b/www/core/components/login/lang/no.json @@ -26,7 +26,7 @@ "policyagree": "Du må godta avtalen for å bruke dette nettstedet. Godtar du den?", "policyagreement": "Avtale for bruk av portalen", "policyagreementclick": "Klikk her for å lese bruksavtalen", - "potentialidps": "Velg fra følgende liste for å logge inn fra ditt vanlige sted:", + "potentialidps": "Klikk på knappen for å logge inn:", "security_question": "Sikkerhetsspørmål", "selectacountry": "Velg et land", "startsignup": "Registrer deg", diff --git a/www/core/components/login/lang/pt-br.json b/www/core/components/login/lang/pt-br.json index 51f71050441..b4fd6c29e8a 100644 --- a/www/core/components/login/lang/pt-br.json +++ b/www/core/components/login/lang/pt-br.json @@ -4,14 +4,14 @@ "cancel": "Cancelar", "checksiteversion": "Verifique se seu site usa Moodle 2.4 ou superior.", "confirmdeletesite": "Você tem certeza que quer excluir o site {{sitename}}?", - "connect": "Conectar", + "connect": "Conectar!", "connecttomoodle": "Conectar ao moodle", "contactyouradministrator": "Contate o administrador do site para ter mais ajuda.", "contactyouradministratorissue": "Por favor, pergunte ao administrador para verificar o seguinte problema: {{$a}}", "createaccount": "Cadastrar este novo usuário", "createuserandpass": "Escolha seu usuário e senha", "credentialsdescription": "Por favor, informe seu nome de usuário e senha para efetuar o login", - "emailconfirmsent": "

      Uma mensagem foi enviada para o seu endereço {{$a}}

      Esta mensagem contém instruções para completar a sua inscrição.

      Se você encontrar dificuldades contate o administrador.

      ", + "emailconfirmsent": "

      Um e-mail irá ser enviado para o seu endereço em {{$a}}

      Ele irá conter instruções fáceis para completar seu registro.

      Se você continua a ter dificuldades, contate o administrador do site.

      ", "emailnotmatch": "Os e-mail não coincidem", "enterthewordsabove": "Digite as palavras acima", "erroraccesscontrolalloworigin": "A chamada de Cross-Origin que você está tentando executar foi rejeitada. Por favor, verifique https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", @@ -42,7 +42,7 @@ "missingfirstname": "Está faltando o primeiro nome", "missinglastname": "Está faltando o sobrenome", "mobileservicesnotenabled": "Os serviços móveis não estão habilitados no seu Moodle. Por favor contate a administradora do seu Moodle se achar que o acesso móvel deveria estar habilitado", - "newaccount": "Cadastramento de novo usuário", + "newaccount": "Nova conta", "newsitedescription": "Por favor, digite a URL do seu site Moodle. Note que, pode ser que ele não esteja configurado para trabalhar com este app.", "notloggedin": "Você precisa estar logado.", "password": "Senha", @@ -61,8 +61,10 @@ "reconnect": "Reconectar", "reconnectdescription": "Seu token de autenticação é inválido ou expirou, você tem que reconectar com o site.", "reconnectssodescription": "Seu token de autenticação é inválido ou expirou, você tem que reconectar com o site. Você precisa efetuar login no site em uma janela do navegador.", + "searchby": "Procurar por:", "security_question": "Pergunta de segurança", "selectacountry": "Selecione um país", + "selectsite": "Selecione o seu site:", "signupplugindisabled": "{{$a}} não está habilitado.", "siteaddress": "Endereço do site", "siteinmaintenance": "O site está em modo de manutenção", diff --git a/www/core/components/login/lang/pt.json b/www/core/components/login/lang/pt.json index 63eac5e32b4..dd9183399d6 100644 --- a/www/core/components/login/lang/pt.json +++ b/www/core/components/login/lang/pt.json @@ -4,14 +4,14 @@ "cancel": "Cancelar", "checksiteversion": "Verifique se seu site usa o Moodle 2.4 ou posterior.", "confirmdeletesite": "Tem a certeza que pretende remover o site {{sitename}}?", - "connect": "Ligar", + "connect": "Ligar!", "connecttomoodle": "Ligação ao Moodle", "contactyouradministrator": "Contacte o administrador do site para obter mais ajuda.", "contactyouradministratorissue": "Por favor, solicite ao administrador que verifique o seguinte problema: {{$a}}", "createaccount": "Criar a minha conta", "createuserandpass": "Escolha um nome de utilizador e senha", "credentialsdescription": "Por favor, digite o nome de utilizador e senha para entrar", - "emailconfirmsent": "

      Acaba de ser enviada uma mensagem para o seu endereço {{$a}}, com instruções fáceis para completar a sua inscrição.

      Se tiver alguma dificuldade em completar o registo, contacte o administrador do site.

      ", + "emailconfirmsent": "

      Um e-mail deve ter sido enviado para o seu endereço {{$a}}

      . Contém instruções fáceis para concluir o seu registo. Se continuar a ter dificuldades, entre em contacto com o administrador do site.

      ", "emailnotmatch": "Os e-mails não coincidem", "enterthewordsabove": "Insira as palavras indicadas acima", "erroraccesscontrolalloworigin": "A acção de Cross-Origin que tentou executar foi rejeitada. Por favor, consulte mais informações em https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", @@ -53,7 +53,7 @@ "policyagree": "Deverá aceitar este regulamento para poder proceder a utilizar este site. Aceita o regulamento?", "policyagreement": "Regulamento de utilização", "policyagreementclick": "Carregue aqui para ler o regulamento de utilização", - "potentialidps": "Autenticar-se usando a sua conta em:", + "potentialidps": "Autenticar usando a sua conta em:", "problemconnectingerror": "Existem alguns problemas na ligação a", "problemconnectingerrorcontinue": "Verifique se introduziu correctamente o endereço e tente novamente.", "profileinvaliddata": "Valor inválido", diff --git a/www/core/components/login/lang/ro.json b/www/core/components/login/lang/ro.json index 89df7badaa7..a4f365b2206 100644 --- a/www/core/components/login/lang/ro.json +++ b/www/core/components/login/lang/ro.json @@ -2,7 +2,7 @@ "authenticating": "Autentificare", "cancel": "Anulează", "confirmdeletesite": "Sunteți sigur că doriți sa ștergeți siteul {{sitename}}?", - "connect": "Conectează", + "connect": "Conectare!", "connecttomoodle": "Conectare la Moodle", "createaccount": "Creează noul meu cont", "createuserandpass": "Alege un nume de utilizator şi o parolă", diff --git a/www/core/components/login/lang/ru.json b/www/core/components/login/lang/ru.json index b71667d8a3e..6be9fe5e183 100644 --- a/www/core/components/login/lang/ru.json +++ b/www/core/components/login/lang/ru.json @@ -1,36 +1,47 @@ { + "auth_email": "Самостоятельная регистрация при помощи электронной почты", "authenticating": "Аутентификация", "cancel": "Отмена", + "checksiteversion": "Убедитесь, что ваш сайт использует Moodle 2.4 или более позднюю версию.", "confirmdeletesite": "Вы уверены, что хотите удалить сайт {{sitename}}?", - "connect": "Подключить", + "connect": "Подключено!", "connecttomoodle": "Подключение к Moodle", + "contactyouradministrator": "Свяжитесь с администратором вашего сайта для дальнейшей помощи.", + "contactyouradministratorissue": "Пожалуйста, попросите администратора вашего сайта проверить следующую проблему: {{$a}}", "createaccount": "Сохранить", "createuserandpass": "Выберите имя пользователя и пароль", - "credentialsdescription": "Пожалуйста, укажите Ваш логин и пароль для входа", - "emailconfirmsent": "На указанный Вами адрес электронной почты ({{$a}}) было отправлено письмо с простыми инструкциями для завершения регистрации.\n Если у вас появятся проблемы с регистрацией, свяжитесь с администратором сайта.", + "credentialsdescription": "Пожалуйста, укажите Ваш логин и пароль для входа.", + "emailconfirmsent": "

      Электронное письмо должно было быть отправлено вам на{{$a}}

      Оно содержит простые инструкции по завершению вашей регистрации

      Если вы продолжаете испытывать трудности , свяжитесь с администратором сайта

      ", + "emailnotmatch": "Адреса электронной почты не совпадают", "enterthewordsabove": "Напишите слова, которые Вы видите выше", - "erroraccesscontrolalloworigin": "Запрос «Cross-Origin» отклонён. Пожалуйста, проверьте https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", + "erroraccesscontrolalloworigin": "Запрос «Cross-Origin», который вы пытаетесь выполнить, отклонён. Пожалуйста, проверьте https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", "errordeletesite": "При удалении этой страницы произошла ошибка. Пожалуйста, попробуйте еще раз.", "errorupdatesite": "При обновлении ключа сайта произошла ошибка.", "firsttime": "Вы в первый раз на нашем сайте?", "forgotten": "Забыли логин или пароль?", "getanothercaptcha": "Получить другой CAPTCHA (тест для различения людей и компьютеров)", "help": "Справка", - "helpmelogin": "

      Во всем мире есть тысячи сайтов Moodle. Это приложение может подключаться только к тем сайтам Moodle, на которых разрешен доступ конкретному виду мобильного приложения.

      Если Вы не можете подключиться к сайту Moodle, то необходимо связаться с администратором сайта, к которому Вы хотите подключиться, и попросить его прочитать http://docs.moodle.org/en/Mobile_app

      Чтобы проверить приложение на демо-сайте Moodle, выберите учитель или студент,введите URL-адрес сайта в соответствующее поле и нажмите кнопку «Добавить».

      ", + "helpmelogin": "

      Во всем мире есть тысячи сайтов Moodle. Это приложение может подключаться только к тем сайтам Moodle, на которых явно разрешен доступ мобильному приложению.

      Если Вы не можете подключиться к вашему сайту Moodle, то необходимо связаться с администратором вашего сайта и попросить его прочитать http://docs.moodle.org/en/Mobile_app

      Чтобы проверить приложение на демонстрационном сайте Moodle, введите teacher или student в поле Адрес сайта и нажмите Кнопку подключения.

      ", "instructions": "Инструкции", "invalidaccount": "Пожалуйста, проверьте свои регистрационные данные или обратитесь к администратору сайта, чтобы он проверил настройки сайта.", + "invaliddate": "Некорректная дата", "invalidemail": "Некорректный формат адреса электронной почты", "invalidmoodleversion": "Неверная версия Moodle. Минимальная требуемая версия - 2.4.", "invalidsite": "URL-адрес сайта недействителен.", + "invalidtime": "Некорректное время", "invalidurl": "Некорректный URL", + "invalidvaluemax": "Максимальное значение: {{$a}}", + "invalidvaluemin": "Минимальное значение: {{$a}}", + "localmobileunexpectedresponse": "Проверка Moodle Mobile Additional Features вернула неожиданный ответ. Вы будете аутентифицированы, используя стандартные мобильные сервисы.", + "loggedoutssodescription": "Вам необходимо аутентифицироваться заново. Вам нужно войти на сайт под своей учётной записью в окне браузера.", "login": "Вход", - "loginbutton": "Вход!", + "loginbutton": "Войти", "logininsiterequired": "Вы должны войти на сайт в окне браузера.", "loginsteps": "Для полноценного доступа к этому сайту Вам необходимо сначала создать учетную запись.", "missingemail": "Заполните поле", "missingfirstname": "Заполните поле", "missinglastname": "Заполните поле", - "mobileservicesnotenabled": "Мобильные службы отключены на сайте. Пожалуйста, обратитесь к администратору сайта Moodle, если считаете что мобильный доступ должен быть включен.", + "mobileservicesnotenabled": "Мобильный доступ отключен на вашем сайте. Пожалуйста, обратитесь к администратору вашего сайта, если вы считаете что мобильный доступ должен быть включен.", "newaccount": "Новая учетная запись", "newsitedescription": "Пожалуйста, введите URL-адрес своего сайта Moodle. Учтите, что он может быть не настроен для работы с этим приложением.", "notloggedin": "Вы должны быть идентифицированы.", @@ -43,20 +54,30 @@ "policyagreement": "Пользовательское соглашение", "policyagreementclick": "Ссылка на пользовательское соглашение", "potentialidps": "Войти с использованием учетной записи:", + "problemconnectingerror": "У нас проблемы с подключением к", + "problemconnectingerrorcontinue": "Ещё раз проверьте, что вы ввели адрес правильно, и попробуйте снова.", + "profileinvaliddata": "Некорректное значение", + "recaptchachallengeimage": "картинка испытания reCAPTCHA", "reconnect": "Переподключение", "reconnectdescription": "Ваш ключ аутентификации недействителен или срок его действия истек. Вам придется заново подключиться к сайту.", "reconnectssodescription": "Ваш ключ аутентификации недействителен или срок его действия истек. Вам придется заново зайти на сайт в окне браузера.", + "searchby": "Искать по:", "security_question": "Секретный вопрос", "selectacountry": "Выберите страну", + "selectsite": "Пожалуйста, выберите ваш сайт:", + "signupplugindisabled": "{{$a}} не включено.", "siteaddress": "Адрес сайта", "siteinmaintenance": "Ваш сайт находится в режиме обслуживания", + "sitepolicynotagreederror": "Политика сайта не принята.", "siteurl": "URL-адрес сайта", - "siteurlrequired": "Требуется URL-адрес сайта, напр. http://www.yourmoodlesite.abc или https://www.yourmoodlesite.efg", + "siteurlrequired": "Требуется URL-адрес сайта, напр. http://www.yourmoodlesite.org", "startsignup": "Создать учетную запись", + "stillcantconnect": "Всё ещё не можете подключиться?", "supplyinfo": "Заполните информацию о себе", "username": "Логин", "usernameoremail": "Введите логин или адрес электронной почты", "usernamerequired": "Требуется логин", "usernotaddederror": "Пользователь не добавлен - ошибка", - "webservicesnotenabled": "Сетевые службы не включены на сайте. Пожалуйста, обратитесь к администратору сайта Moodle, если Вы считаете, что мобильный доступ должен быть включен." + "visitchangepassword": "Вы хотите посетить сайт, чтобы сменить пароль?", + "webservicesnotenabled": "Сетевые службы не включены на сайте. Пожалуйста, обратитесь к администратору вашего сайта, если вы считаете, что они должны быть включены." } \ No newline at end of file diff --git a/www/core/components/login/lang/sv.json b/www/core/components/login/lang/sv.json index 7c9441ed69f..acc32c5b042 100644 --- a/www/core/components/login/lang/sv.json +++ b/www/core/components/login/lang/sv.json @@ -2,7 +2,7 @@ "authenticating": "Autentisera", "cancel": "Avbryt", "confirmdeletesite": "Är du säker på att du vill ta bort webbsidan {{sitename}}?", - "connect": "Anslut", + "connect": "Anslut!", "connecttomoodle": "Anslut till Moodle", "createaccount": "Skapa mitt nya konto", "createuserandpass": "Skapa ett nytt användarnamn och lösenord för att logga in med.", diff --git a/www/core/components/login/lang/uk.json b/www/core/components/login/lang/uk.json index 1cf7ee28a74..2b307f2b7ca 100644 --- a/www/core/components/login/lang/uk.json +++ b/www/core/components/login/lang/uk.json @@ -4,14 +4,14 @@ "cancel": "Скасувати", "checksiteversion": "Переконайтеся, що ваш сайт використовує Moodle 2.4 або більш пізньої версії.", "confirmdeletesite": "Видалити сайт {{sitename}}?", - "connect": "З’єднання", + "connect": "З'єднано!", "connecttomoodle": "Підключитись до Moodle", "contactyouradministrator": "Зверніться до адміністратора сайту для подальшої допомоги.", "contactyouradministratorissue": "Будь ласка, зверніться до адміністратора, щоб перевірити наступне питання: {{$a}}", "createaccount": "Створити запис", "createuserandpass": "Створити користувача для входу в систему", "credentialsdescription": "Будь ласка, введіть Ваше ім'я користувача та пароль, щоб увійти в систему.", - "emailconfirmsent": "На зазначену Вами адресу електронної пошти ({{$a}}) було відправлено листа з інструкціями із завершення реєстрації. Якщо у Вас з'являться проблеми з реєстрацією, зв'яжіться з адміністратором сайту.", + "emailconfirmsent": "

      Лист повинен бути відправлений на Вашу електронну адресу в {{$a}}

      Він містить прості інструкції для завершення реєстрації.

      Якщо ви продовжуєте зазнавати труднощів, зверніться до адміністратора сайту.

      ", "emailnotmatch": "Email не співпадають", "enterthewordsabove": "Введіть символи, які бачите вище", "erroraccesscontrolalloworigin": "Cross-Origin дзвінок був відхилений. Будь ласка, перевірте https://docs.moodle.org/dev/Moodle_Mobile_development_using_Chrome_or_Chromium", diff --git a/www/core/components/question/lang/ca.json b/www/core/components/question/lang/ca.json index e1a03ea46a2..e31c6bbe967 100644 --- a/www/core/components/question/lang/ca.json +++ b/www/core/components/question/lang/ca.json @@ -17,5 +17,5 @@ "questionmessage": "Pregunta {{$a}}: {{$b}}", "questionno": "Pregunta {{$a}}", "requiresgrading": "Cal puntuar", - "unknown": "Desconegut" + "unknown": "No es pot determinar l'estat" } \ No newline at end of file diff --git a/www/core/components/question/lang/cs.json b/www/core/components/question/lang/cs.json index 9ea18cca89c..bbc66f32d73 100644 --- a/www/core/components/question/lang/cs.json +++ b/www/core/components/question/lang/cs.json @@ -17,5 +17,5 @@ "questionmessage": "Úloha {{$a}}: {{$b}}", "questionno": "Úloha {{$a}}", "requiresgrading": "Vyžaduje hodnocení", - "unknown": "Neznámý" + "unknown": "Stav nelze určit" } \ No newline at end of file diff --git a/www/core/components/question/lang/da.json b/www/core/components/question/lang/da.json index 79f4c5e3532..814efe57ff1 100644 --- a/www/core/components/question/lang/da.json +++ b/www/core/components/question/lang/da.json @@ -16,5 +16,5 @@ "questionmessage": "Spørgsmål {{$a}}: {{$b}}", "questionno": "Spørgsmål {{$a}}", "requiresgrading": "Kræver bedømmelse", - "unknown": "Ukendt" + "unknown": "Kan ikke bestemme status" } \ No newline at end of file diff --git a/www/core/components/question/lang/de-du.json b/www/core/components/question/lang/de-du.json index 2ed28aab7df..f1b850bbd90 100644 --- a/www/core/components/question/lang/de-du.json +++ b/www/core/components/question/lang/de-du.json @@ -17,5 +17,5 @@ "questionmessage": "Frage {{$a}}: {{$b}}", "questionno": "Frage {{$a}}", "requiresgrading": "Bewertung notwendig", - "unknown": "Unbekannt" + "unknown": "Der Status kann nicht bestimmt werden." } \ No newline at end of file diff --git a/www/core/components/question/lang/de.json b/www/core/components/question/lang/de.json index d9fdecb1c77..8e1a1ff2bc6 100644 --- a/www/core/components/question/lang/de.json +++ b/www/core/components/question/lang/de.json @@ -17,5 +17,5 @@ "questionmessage": "Frage {{$a}}: {{$b}}", "questionno": "Frage {{$a}}", "requiresgrading": "Bewertung notwendig", - "unknown": "Unbekannt" + "unknown": "Der Status kann nicht bestimmt werden." } \ No newline at end of file diff --git a/www/core/components/question/lang/el.json b/www/core/components/question/lang/el.json index 1742851bebf..283d84af335 100644 --- a/www/core/components/question/lang/el.json +++ b/www/core/components/question/lang/el.json @@ -15,5 +15,5 @@ "partiallycorrect": "Μερικώς σωστή", "questionmessage": "Ερώτηση {{$a}}: {{$b}}", "questionno": "Ερώτηση {{$a}}", - "unknown": "Άγνωστο" + "unknown": "Δεν είναι δυνατός ο προσδιορισμός της κατάστασης" } \ No newline at end of file diff --git a/www/core/components/question/lang/es-mx.json b/www/core/components/question/lang/es-mx.json index b22d4a1edc0..c9008738aea 100644 --- a/www/core/components/question/lang/es-mx.json +++ b/www/core/components/question/lang/es-mx.json @@ -17,5 +17,5 @@ "questionmessage": "Pregunta {{$a}}: {{$b}}", "questionno": "Pregunta {{$a}}", "requiresgrading": "Requiere re-calificar", - "unknown": "Desconocido" + "unknown": "No se puede determinar el estatus" } \ No newline at end of file diff --git a/www/core/components/question/lang/es.json b/www/core/components/question/lang/es.json index 0449551dad0..d42f0b106e2 100644 --- a/www/core/components/question/lang/es.json +++ b/www/core/components/question/lang/es.json @@ -17,5 +17,5 @@ "questionmessage": "Pregunta {{$a}}: {{$b}}", "questionno": "Pregunta {{$a}}", "requiresgrading": "Requiere calificación", - "unknown": "Desconocido" + "unknown": "No se puede determinar el estado." } \ No newline at end of file diff --git a/www/core/components/question/lang/eu.json b/www/core/components/question/lang/eu.json index c34ee004508..d47acec2068 100644 --- a/www/core/components/question/lang/eu.json +++ b/www/core/components/question/lang/eu.json @@ -17,5 +17,5 @@ "questionmessage": "{{$a}} galdera: {{$b}}", "questionno": "{{$a}} galdera", "requiresgrading": "Kalifikazioa behar du", - "unknown": "Ezezaguna" + "unknown": "Ezin da egoera zehaztu" } \ No newline at end of file diff --git a/www/core/components/question/lang/fi.json b/www/core/components/question/lang/fi.json index 28a18792039..3797eba9dc6 100644 --- a/www/core/components/question/lang/fi.json +++ b/www/core/components/question/lang/fi.json @@ -17,5 +17,5 @@ "questionmessage": "Kysymys {{$a}}: {{$b}}", "questionno": "Kysymys {{$a}}", "requiresgrading": "Vaatii arvioinnin", - "unknown": "Tuntematon" + "unknown": "Statusta ei pysty määrittelemään" } \ No newline at end of file diff --git a/www/core/components/question/lang/fr.json b/www/core/components/question/lang/fr.json index 5ae8c00f527..53fa708cca6 100644 --- a/www/core/components/question/lang/fr.json +++ b/www/core/components/question/lang/fr.json @@ -17,5 +17,5 @@ "questionmessage": "Question {{$a}} : {{$b}}", "questionno": "Question {{$a}}", "requiresgrading": "Nécessite évaluation", - "unknown": "Inconnu" + "unknown": "Impossible de déterminer l'état" } \ No newline at end of file diff --git a/www/core/components/question/lang/it.json b/www/core/components/question/lang/it.json index 528a77907a4..364ddbf3b09 100644 --- a/www/core/components/question/lang/it.json +++ b/www/core/components/question/lang/it.json @@ -13,5 +13,5 @@ "questionmessage": "Domanda {{$a}}: {{$b}}", "questionno": "Domanda {{$a}}", "requiresgrading": "Richiede valutazione", - "unknown": "Sconosciuto" + "unknown": "Non è possibile determinare lo stato" } \ No newline at end of file diff --git a/www/core/components/question/lang/ja.json b/www/core/components/question/lang/ja.json index ecce8b3b1e0..41e894858e9 100644 --- a/www/core/components/question/lang/ja.json +++ b/www/core/components/question/lang/ja.json @@ -1,6 +1,6 @@ { "answer": "回答", - "answersaved": "解答保存", + "answersaved": "解答保存済み", "complete": "詳細", "correct": "正解", "feedback": "フィードバック", diff --git a/www/core/components/question/lang/ko.json b/www/core/components/question/lang/ko.json new file mode 100644 index 00000000000..a7a7d3a3cb8 --- /dev/null +++ b/www/core/components/question/lang/ko.json @@ -0,0 +1,16 @@ +{ + "answer": "대답", + "answersaved": "답이 저장되었습니다.", + "complete": "완료", + "correct": "맞음", + "feedback": "피드백", + "incorrect": "부정확", + "information": "정보", + "invalidanswer": "불완전한 답", + "notanswered": "아직 응답하지 않았습니다", + "notyetanswered": "미 응답", + "partiallycorrect": "부분 맞음", + "questionno": "질문 {{$a}}", + "requiresgrading": "채점 필요", + "unknown": "알수없음" +} \ No newline at end of file diff --git a/www/core/components/question/lang/lt.json b/www/core/components/question/lang/lt.json index 0bb22bfebaf..4e598e09955 100644 --- a/www/core/components/question/lang/lt.json +++ b/www/core/components/question/lang/lt.json @@ -17,5 +17,5 @@ "questionmessage": "Klausimas {{$a}}: {{$b}}", "questionno": "Klausimas {{$a}}", "requiresgrading": "Reikia vertinimo", - "unknown": "Nežinoma" + "unknown": "Negalima nustatyti statuso" } \ No newline at end of file diff --git a/www/core/components/question/lang/mr.json b/www/core/components/question/lang/mr.json index 89252ddc2f0..c61ac1fdd5a 100644 --- a/www/core/components/question/lang/mr.json +++ b/www/core/components/question/lang/mr.json @@ -11,5 +11,5 @@ "notanswered": "आत्ताप्रर्यत उत्तर नाही", "partiallycorrect": "अंशतः बरोबर", "questionmessage": "प्रश्न {{$a}}: {{$b}}", - "unknown": "अनोळखी" + "unknown": "स्थिती निर्धारित करू शकत नाही" } \ No newline at end of file diff --git a/www/core/components/question/lang/nl.json b/www/core/components/question/lang/nl.json index 098aa4c11ae..18382e872c6 100644 --- a/www/core/components/question/lang/nl.json +++ b/www/core/components/question/lang/nl.json @@ -17,5 +17,5 @@ "questionmessage": "Vraag {{$a}}: {{$b}}", "questionno": "Vraag {{$a}}", "requiresgrading": "Beoordelen vereist", - "unknown": "Onbekend" + "unknown": "Kan status niet bepalen" } \ No newline at end of file diff --git a/www/core/components/question/lang/pl.json b/www/core/components/question/lang/pl.json index 6e060784dd2..ee07f2b30c4 100644 --- a/www/core/components/question/lang/pl.json +++ b/www/core/components/question/lang/pl.json @@ -1,7 +1,7 @@ { "answer": "Odpowiedz", "answersaved": "Odpowiedź zapisana", - "complete": "Pełna wersja", + "complete": "Zakończone", "correct": "Poprawnie", "feedback": "Informacja zwrotna", "incorrect": "Niepoprawnie", diff --git a/www/core/components/question/lang/pt-br.json b/www/core/components/question/lang/pt-br.json index 281e4738904..4f7986546d1 100644 --- a/www/core/components/question/lang/pt-br.json +++ b/www/core/components/question/lang/pt-br.json @@ -17,5 +17,5 @@ "questionmessage": "Questão {{$a}}: {{$b}}", "questionno": "Questão {{$a}}", "requiresgrading": "Requer avaliação", - "unknown": "Desconhecido" + "unknown": "Não pôde determinar o estado" } \ No newline at end of file diff --git a/www/core/components/question/lang/pt.json b/www/core/components/question/lang/pt.json index 3b03d04306b..abe2dc4c3bd 100644 --- a/www/core/components/question/lang/pt.json +++ b/www/core/components/question/lang/pt.json @@ -17,5 +17,5 @@ "questionmessage": "Pergunta {{$a}}: {{$b}}", "questionno": "Pergunta {{$a}}", "requiresgrading": "Requer avaliação", - "unknown": "Desconhecido(a)" + "unknown": "Não é possível determinar o estado" } \ No newline at end of file diff --git a/www/core/components/question/lang/ru.json b/www/core/components/question/lang/ru.json index 68d3259d734..526190033e0 100644 --- a/www/core/components/question/lang/ru.json +++ b/www/core/components/question/lang/ru.json @@ -3,14 +3,19 @@ "answersaved": "Ответ сохранен", "complete": "Завершено", "correct": "Верно", + "errorattachmentsnotsupported": "Приложение пока не поддерживает прикрепление файлов к ответом.", + "errorinlinefilesnotsupported": "Приложение пока не поддерживает редактирование inline-файлов.", + "errorquestionnotsupported": "Данный тип вопросов пока не поддерживается приложением: {{$a}}.", "feedback": "Отзыв", + "howtodraganddrop": "Нажмите, чтобы выбрать, затем нажмите, чтобы сбросить.", "incorrect": "Неверно", "information": "Информация", "invalidanswer": "Неполный ответ", "notanswered": "Еще не ответили", "notyetanswered": "Пока нет ответа", "partiallycorrect": "Частично верно", + "questionmessage": "Вопрос {{$a}}: {{$b}}", "questionno": "Вопрос {{$a}}", "requiresgrading": "Требуется оценивание", - "unknown": "неизвестно" + "unknown": "Нельзя определить статус" } \ No newline at end of file diff --git a/www/core/components/question/lang/uk.json b/www/core/components/question/lang/uk.json index bb6c5913eed..a4c6af3fe0f 100644 --- a/www/core/components/question/lang/uk.json +++ b/www/core/components/question/lang/uk.json @@ -17,5 +17,5 @@ "questionmessage": "Питання {{$a}}: {{$b}}", "questionno": "Питання {{$a}}", "requiresgrading": "Потрібно оцінити", - "unknown": "Невідоме" + "unknown": "Неможливо визначити статус" } \ No newline at end of file diff --git a/www/core/components/question/services/helper.js b/www/core/components/question/services/helper.js index 9c6798d1a0e..0da9e1b4f31 100644 --- a/www/core/components/question/services/helper.js +++ b/www/core/components/question/services/helper.js @@ -51,6 +51,122 @@ angular.module('mm.core.question') }); } + /** + * Generic link function for question directives with an input of type "text" and, optionally, a select for the units. + * + * @module mm.core.question + * @ngdoc method + * @name $mmQuestionHelper#calculatedDirective + * @param {Object} scope Directive's scope. + * @param {Object} log $log instance to log messages. + * @return {Void} + */ + self.calculatedDirective = function(scope, log) { + // Treat the input text first. + var questionEl = self.inputTextDirective(scope, log); + if (questionEl) { + questionEl = questionEl[0] || questionEl; // Convert from jqLite to plain JS if needed. + + // Check if the question has a select for units. + var selectModel = {}, + select = questionEl.querySelector('select[name*=unit]'), + options = select && select.querySelectorAll('option'), + input; + + if (select && options && options.length) { + + selectModel.id = select.id; + selectModel.name = select.name; + selectModel.disabled = select.disabled; + selectModel.options = []; + + // Treat each option. + angular.forEach(options, function(option) { + if (typeof option.value == 'undefined') { + log.warn('Aborting because couldn\'t find option value.', question.name); + return self.showDirectiveError(scope); + } + var opt = { + value: option.value, + label: option.innerHTML + }; + + if (option.selected) { + selectModel.selected = opt.value; + selectModel.selectedLabel = opt.label; + } + + selectModel.options.push(opt); + }); + + if (!selectModel.selected) { + // No selected option, select the first one. + selectModel.selected = selectModel.options[0].value; + selectModel.selectedLabel = selectModel.options[0].label; + } + + // Get the accessibility label. + accessibilityLabel = questionEl.querySelector('label[for="' + select.id + '"]'); + selectModel.accessibilityLabel = accessibilityLabel.innerHTML; + + scope.select = selectModel; + + // Check which one should be displayed first: the select or the input. + input = questionEl.querySelector('input[type="text"][name*=answer]'); + scope.selectFirst = questionEl.innerHTML.indexOf(input.outerHTML) > questionEl.innerHTML.indexOf(select.outerHTML); + + return; + } + + // Check if the question has radio buttons for units. + options = questionEl.querySelectorAll('input[type="radio"]'); + if (!options || !options.length) { + return; + } + + scope.options = []; + + angular.forEach(options, function(element) { + + var option = { + id: element.id, + name: element.name, + value: element.value, + checked: element.checked, + disabled: element.disabled + }, + label; + + // Get the label with the question text. + label = questionEl.querySelector('label[for="' + option.id + '"]'); + if (label) { + option.text = label.innerText; + + // Check that we were able to successfully extract options required data. + if (typeof option.name != 'undefined' && typeof option.value != 'undefined' && + typeof option.text != 'undefined') { + + if (element.checked) { + // If the option is checked and it's a single choice we use the model to select the one. + scope.unit = option.value; + } + + scope.options.push(option); + return; + } + } + + // Something went wrong when extracting the questions data. Abort. + log.warn('Aborting because of an error parsing options.', question.name, option.name); + return self.showDirectiveError(scope); + }); + + // Check which one should be displayed first: the options or the input. + input = questionEl.querySelector('input[type="text"][name*=answer]'); + scope.optionsFirst = questionEl.innerHTML.indexOf(input.outerHTML) > questionEl.innerHTML.indexOf(options[0].outerHTML); + } + }; + /** * Convenience function to initialize a question directive. * Performs some common checks and extracts the question's text. @@ -554,7 +670,7 @@ angular.module('mm.core.question') * @name $mmQuestionHelper#inputTextDirective * @param {Object} scope Directive's scope. * @param {Object} log $log instance to log messages. - * @return {Void} + * @return {Oject} The question element. */ self.inputTextDirective = function(scope, log) { var questionEl = self.directiveInit(scope, log); @@ -582,6 +698,8 @@ angular.module('mm.core.question') scope.input.isCorrect = 1; } } + + return questionEl; }; /** diff --git a/www/core/components/question/services/question.js b/www/core/components/question/services/question.js index fd216f5f9ec..6ed971d4993 100644 --- a/www/core/components/question/services/question.js +++ b/www/core/components/question/services/question.js @@ -413,7 +413,7 @@ angular.module('mm.core.question') * @return {Object} State. */ self.getState = function(name) { - return states[name]; + return states[name || 'unknown']; }; /** diff --git a/www/core/components/settings/controllers/space-usage.js b/www/core/components/settings/controllers/space-usage.js index fbb1fa336e3..09b1a83a000 100644 --- a/www/core/components/settings/controllers/space-usage.js +++ b/www/core/components/settings/controllers/space-usage.js @@ -23,7 +23,7 @@ angular.module('mm.core.settings') * @todo When "mock site" is implemented we should have functions to calculate the site usage and delete its files. */ .controller('mmSettingsSpaceUsageCtrl', function($log, $scope, $mmSitesManager, $mmFS, $q, $mmUtil, $translate, $mmSite, - $mmText, $mmFilepool) { + $mmText, $mmFilepool, $mmCourse) { $log = $log.getInstance('mmSettingsSpaceUsageCtrl'); $scope.currentSiteId = $mmSite.getId(); @@ -110,6 +110,7 @@ angular.module('mm.core.settings') return $mmSitesManager.getSite(siteid); }).then(function(site) { return site.deleteFolder().then(function() { + $mmCourse.clearAllCoursesStatus(siteid); $mmFilepool.clearAllPackagesStatus(siteid); $mmFilepool.clearFilepool(siteid); updateSiteUsage(siteData, 0); diff --git a/www/core/components/settings/lang/ar.json b/www/core/components/settings/lang/ar.json index 4800179c47b..51566b77c3a 100644 --- a/www/core/components/settings/lang/ar.json +++ b/www/core/components/settings/lang/ar.json @@ -17,6 +17,7 @@ "localnotifavailable": "إشعارات محلية موجودة", "loggedin": "متواجد", "loggedoff": "غير موجود", + "processorsettings": "اعدادات المعالج", "settings": "الإعدادات", "sites": "المواقع", "spaceusage": "المساحة المستخدمة", diff --git a/www/core/components/settings/lang/cs.json b/www/core/components/settings/lang/cs.json index 50a61c70148..adc1288a97e 100644 --- a/www/core/components/settings/lang/cs.json +++ b/www/core/components/settings/lang/cs.json @@ -1,7 +1,7 @@ { "about": "O aplikaci", "appready": "Aplikace je připravena", - "cacheexpirationtime": "Vypršení platnosti vyrovnávací paměti (milisekundy)", + "cacheexpirationtime": "Doba vypršení platnosti vyrovnávací paměti (milisekundy)", "cannotsyncoffline": "Nelze synchronizovat offline.", "cannotsyncwithoutwifi": "Nelze synchronizovat, protože aktuální nastavení umožňují pouze k synchronizaci při připojení k Wi-Fi. Prosím, připojte se k síti Wi-Fi.", "configuringnotifications": "Konfigurujete \"{{$a}}\" oznámení.", @@ -23,11 +23,11 @@ "enabledebugging": "Povolit ladící informace", "enabledownloadsection": "Povolit stahování sekcí", "enabledownloadsectiondescription": "Zákazem této možnosti zrychlíte načítání sekcí kurzu.", - "enablerichtexteditor": "Povolit rich text editor", - "enablerichtexteditordescription": "Pokud je povoleno, bude rich text editor zobrazen v místech, která umožňují jeho používání.", + "enablerichtexteditor": "Povolit textový editor", + "enablerichtexteditordescription": "Pokud je povoleno, bude při zadávání obsahu k dispozici textový editor.", "enablesyncwifi": "Umožnit synchronizaci pouze na Wi-Fi", "errordeletesitefiles": "Chyba při odstraňování souborů stránek.", - "errorsyncsite": "Chyba synchronizace dat stránek, zkontrolujte své připojení k internetu a zkuste to znovu.", + "errorsyncsite": "Chyba synchronizace dat stránek. Zkontrolujte své připojení k internetu a zkuste to znovu.", "estimatedfreespace": "Odhadované volné místo", "filesystemroot": "Kořen souborového systému", "general": "Obecná nastavení", diff --git a/www/core/components/settings/lang/eu.json b/www/core/components/settings/lang/eu.json index d9f320cc1ba..2e81b712f3a 100644 --- a/www/core/components/settings/lang/eu.json +++ b/www/core/components/settings/lang/eu.json @@ -1,40 +1,40 @@ { "about": "Honi buruz", "appready": "App-a prest", - "cacheexpirationtime": "Cache-aren iraungitze denbora (milisegundotan)", + "cacheexpirationtime": "Cache-aren iraungitze-denbora (milisegundotan)", "cannotsyncoffline": "Ezin da lineaz-kanpo sinkronizatu.", "cannotsyncwithoutwifi": "Ezin da sinkronizatu oraingo ezarpenek sinkronizazio Wi-Fi bidez konektaturik egonda soilik baimentzen dutelako. Mesedez konektatu Wi-Fi sare batera.", "configuringnotifications": "'{{$a}}' jakinarazpen konfiguratzen ari zara.", - "cordovadevicemodel": "Cordova Device eredua", - "cordovadeviceosversion": "Cordova Device SE bertsioa", - "cordovadeviceplatform": "Cordova Device plataforma", - "cordovadeviceuuid": "Cordova Device uuid", + "cordovadevicemodel": "Cordova device eredua", + "cordovadeviceosversion": "Cordova device SE bertsioa", + "cordovadeviceplatform": "Cordova device plataforma", + "cordovadeviceuuid": "Cordova device uuid", "cordovaversion": "Cordova bertsioa", "credits": "Kredituak", "currentlanguage": "Oraingo hizkuntza", "deletesitefiles": "Ziur zaude '{{sitename}}' gunetik jaitsitako fitxategiak ezabatu nahi dituzula?", "deletesitefilestitle": "Ezabatu guneko fitxategiak", - "deviceinfo": "Gailuaren informazio", + "deviceinfo": "Gailuaren informazioa", "deviceos": "Gailuaren SEa", - "devicewebworkers": "Device Web Workers onartuak", + "devicewebworkers": "Device web workers onartuak", "disableall": "Desgaitu jakinarazpenak", "disabled": "Mezularitza desgaituta dago gune honetan", "displayformat": "Erakusteko modua", "enabledebugging": "Gaitu arazketa", "enabledownloadsection": "Gaitu gaien deskarga", "enabledownloadsectiondescription": "Desgaitu aukera hau ikastaroaren gaiak kargatzeko abiadura azkartzeko.", - "enablerichtexteditor": "Gaitu testu-aberastuko editorea", - "enablerichtexteditordescription": "Gaituz gero, testu-aberastuko editorea erakutsiko da baimentzen duten lekuetan.", + "enablerichtexteditor": "Gaitu testu-editorea", + "enablerichtexteditordescription": "Gaituz gero, testu-editorea erakutsiko da edukia sartu ahal den lekuetan.", "enablesyncwifi": "Baimendu sinkronizazioa Wi-Fi bidezko konexioa dagoenean soilik", "errordeletesitefiles": "Errorea fitxategiak ezabatzean.", - "errorsyncsite": "Errorea guneko datuak sinkronizatzean, mesedez egiaztatu zure interneterako konexioa eta saiatu berriz.", + "errorsyncsite": "Errorea guneko datuak sinkronizatzean. Mesedez, egiaztatu zure interneterako konexioa eta saiatu berriz.", "estimatedfreespace": "Estimatutako leku librea", "filesystemroot": "Fitxategi-sistemaren jatorria", "general": "Orokorra", "language": "Hizkuntza", "license": "Lizentzia", "localnotifavailable": "Jakinarazpen lokalak eskuragarri", - "locationhref": "Webview URLa", + "locationhref": "Web view URLa", "loggedin": "On-line", "loggedoff": "Lineaz kanpo", "navigatorlanguage": "Nabigatzailearen hizkuntza", diff --git a/www/core/components/settings/lang/he.json b/www/core/components/settings/lang/he.json index c8810b2770a..8c94d57aab5 100644 --- a/www/core/components/settings/lang/he.json +++ b/www/core/components/settings/lang/he.json @@ -16,7 +16,7 @@ "estimatedfreespace": "אומדן מקום פנוי", "general": "כללי", "language": "שפת ממשק", - "license": "רישיון:", + "license": "רישיון", "localnotifavailable": "התראות מקומיות זמינות", "loggedin": "מקוון", "loggedoff": "לא מקוון", diff --git a/www/core/components/settings/lang/it.json b/www/core/components/settings/lang/it.json index 9af3d726bc1..d5786fa4cf0 100644 --- a/www/core/components/settings/lang/it.json +++ b/www/core/components/settings/lang/it.json @@ -5,7 +5,7 @@ "cordovadevicemodel": "Modello del dispositivo Cordova", "cordovadeviceosversion": "Versione SO del dispositivo Cordova", "cordovadeviceplatform": "Piattaforma del dispositivo Cordova", - "cordovadeviceuuid": "Uuid del dispositivo Cordova", + "cordovadeviceuuid": "UUID del dispositivo Cordova", "cordovaversion": "Versione Cordova", "credits": "Riconoscimenti", "currentlanguage": "Lingua in uso", @@ -19,6 +19,7 @@ "displayformat": "Formato di visualizzazione", "enabledebugging": "Abilita debugging", "enabledownloadsection": "Abilita scaricamento sezioni", + "enablerichtexteditor": "Abilita editor di testo", "enablesyncwifi": "Sincronizza solo tramite Wi-Fi", "errordeletesitefiles": "Si è verificato un errore durante l'eliminazione dei file del sito.", "errorsyncsite": "Si è verificato un errore durante la sincronizzazione dei dati dal sito. Per favore verifica la connessione internet e riprova.", @@ -34,6 +35,7 @@ "navigatorlanguage": "Navigator language", "navigatoruseragent": "Navigator userAgent", "networkstatus": "Stato della connessione internet", + "privacypolicy": "Privacy policy", "processorsettings": "Impostazioni gestore", "reportinbackground": "Invia errori automaticamente", "settings": "Impostazioni", diff --git a/www/core/components/settings/lang/ko.json b/www/core/components/settings/lang/ko.json new file mode 100644 index 00000000000..af692a37e85 --- /dev/null +++ b/www/core/components/settings/lang/ko.json @@ -0,0 +1,13 @@ +{ + "currentlanguage": "현재의 언어", + "disableall": "일시적으로 통지 비활성화", + "disabled": "비활성", + "general": "기본", + "language": "언어", + "license": "사용허가", + "loggedin": "온라인", + "loggedoff": "온라인 아님", + "settings": "설정", + "sites": "사이트", + "total": "전체" +} \ No newline at end of file diff --git a/www/core/components/settings/lang/ro.json b/www/core/components/settings/lang/ro.json index 7d901f92dba..f243ecadace 100644 --- a/www/core/components/settings/lang/ro.json +++ b/www/core/components/settings/lang/ro.json @@ -35,6 +35,7 @@ "navigatorlanguage": "Limbă pentru navigator", "navigatoruseragent": "Navigator userAgent", "networkstatus": "Starea conexiunii la Internet", + "processorsettings": "Setările procesorului", "reportinbackground": "Erorile se raportează automat", "settings": "Setări", "sites": "Site-uri", diff --git a/www/core/components/settings/lang/ru.json b/www/core/components/settings/lang/ru.json index 32fa9ddf8c4..917f61f67c4 100644 --- a/www/core/components/settings/lang/ru.json +++ b/www/core/components/settings/lang/ru.json @@ -1,34 +1,59 @@ { "about": "О приложении", + "appready": "Приложение готово", "cacheexpirationtime": "Срок действия кэша (миллисекунд)", + "cannotsyncoffline": "Невозможно синхронизировать пока не в сети.", + "cannotsyncwithoutwifi": "Невозможно синхронизироваться, потому что настоящие настройки разрешают синхронизироваться только когда есть подключение к Wi-Fi. Пожалуйста, подключитесь к сети Wi-Fi.", "configuringnotifications": "Вы настраиваете уведомления «{{$a}}».", + "cordovadevicemodel": "Модель устройства Cordova", + "cordovadeviceosversion": "Версия ОС устройства Cordova", + "cordovadeviceplatform": "Платформа устройства Cordova", + "cordovadeviceuuid": "UUID устройства Cordova", + "cordovaversion": "Версия Cordova", "credits": "Разработчики", "currentlanguage": "Выбранный язык", "deletesitefiles": "Вы уверены, что хотите удалить файлы, скачанные с сайта «{{sitename}}»?", "deletesitefilestitle": "Удалить файлы сайта", + "deviceinfo": "Информация об устройстве", + "deviceos": "ОС устройства", + "devicewebworkers": "Поддерживаемые web workers устройства", "disableall": "Отключить уведомления", "disabled": "Выключить", + "displayformat": "Формат отображения", "enabledebugging": "Включить отладку", "enabledownloadsection": "Показать материалы, доступные для скачивания", + "enabledownloadsectiondescription": "Отключите эту опцию для ускорения загрузки раздела курса.", "enablerichtexteditor": "Включить текстовый редактор", - "enablerichtexteditordescription": "При включении функции текстовый редактор будет отображаться в допустимых местах.", + "enablerichtexteditordescription": "При включении функции текстовый редактор будет доступен во время ввода содержимого.", "enablesyncwifi": "Разрешить синхронизацию только по Wi-Fi", "errordeletesitefiles": "Ошибка при удалении файлов сайта", "errorsyncsite": "Ошибка синхронизации данных сайта. Проверьте интернет-соединение и повторите попытку.", "estimatedfreespace": "Ориентировочное свободное место", + "filesystemroot": "Корень файловой системы", "general": "Основные", "language": "Язык", "license": "Лицензия:", + "localnotifavailable": "Локальные уведомления доступны", + "locationhref": "URL компонента Web view", "loggedin": "На сайте", "loggedoff": "Вне сайта", + "navigatorlanguage": "Язык навигатора", + "navigatoruseragent": "userAgent навигатора", + "networkstatus": "Статус подключения к интернету", + "privacypolicy": "Политика конфиденциальности", "processorsettings": "Настройки способа доставки сообщений", "reportinbackground": "Автоматически оповещать об ошибках", "settings": "Настройки", "sites": "Сайты", "spaceusage": "Используемое пространство", + "storagetype": "Тип хранилища", "synchronization": "Синхронизация", + "synchronizenow": "Синхронизировать сейчас", "synchronizing": "Синхронизация", "syncsettings": "Настройки синхронизации", "syncsitesuccess": "Данные синхронизации сайта и все кэши недействительны.", - "total": "Итог" + "total": "Итог", + "versioncode": "Код версии", + "versionname": "Версия", + "wificonnection": "Подключение Wi-Fi" } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/ca.json b/www/core/components/sharedfiles/lang/ca.json index af0c921ccaf..56cb9344708 100644 --- a/www/core/components/sharedfiles/lang/ca.json +++ b/www/core/components/sharedfiles/lang/ca.json @@ -4,7 +4,7 @@ "errorreceivefilenosites": "No hi ha llocs desats. Afegiu un lloc per poder compartir fitxers amb l'aplicació.", "nosharedfiles": "No hi ha fitxers compartits desats en aquest lloc.", "nosharedfilestoupload": "No hi ha fitxers per pujar. Si voleu pujar un fitxer des d'un altra aplicació, busqueu-lo i feu clic al botó «Obre a».", - "rename": "Canvia el nom", + "rename": "Reanomena", "replace": "Reemplaça", "sharedfiles": "Fitxers compartits", "successstorefile": "S'ha desat el fitxer amb èxit. Podeu seleccionar-lo i pujar-lo als vostres fitxers privats o adjuntar-lo a alguna activitat." diff --git a/www/core/components/sharedfiles/lang/cs.json b/www/core/components/sharedfiles/lang/cs.json index 9a19d1f00b1..b6aee213eea 100644 --- a/www/core/components/sharedfiles/lang/cs.json +++ b/www/core/components/sharedfiles/lang/cs.json @@ -5,7 +5,7 @@ "nosharedfiles": "Na tomto webu nejsou uložené žádné sdílené soubory.", "nosharedfilestoupload": "Nemáte žádné nahrané soubory. Pokud chcete nahrát soubor z jiné aplikace, vyhledejte tento soubor a klikněte na tlačítko \"Otevřít v\".", "rename": "Přejmenovat", - "replace": "Přepsat", + "replace": "Nahradit", "sharedfiles": "Sdílené soubory", - "successstorefile": "Soubor byl úspěšně uložen. Nyní můžete vybrat tento soubor a nahrát do vašich soukromých souborů nebo připojit ji do některých činností." + "successstorefile": "Soubor byl úspěšně uložen. Vyberte soubor, který chcete nahrát do vašich soukromých souborů nebo připojit ji do některých činností." } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/de-du.json b/www/core/components/sharedfiles/lang/de-du.json index 805c3ab0df5..676d8abb42d 100644 --- a/www/core/components/sharedfiles/lang/de-du.json +++ b/www/core/components/sharedfiles/lang/de-du.json @@ -5,7 +5,7 @@ "nosharedfiles": "Keine geteilten Dateien auf dieser Website", "nosharedfilestoupload": "Du hast hier noch keine Datei zum Hochladen. Wenn du eine Datei aus einer anderen App hochladen möchtest, suche diese Datei und tippe auf die Taste 'Öffnen in'.", "rename": "Umbenennen", - "replace": "Ersetze", + "replace": "Ersetzen", "sharedfiles": "Geteilte Dateien", "successstorefile": "Die Datei wurde gespeichert. Du kannst die Datei in den Bereich 'Meine Dateien' hochladen oder bei Aktivitäten verwenden." } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/de.json b/www/core/components/sharedfiles/lang/de.json index 080a8c40675..7b756fa2cd7 100644 --- a/www/core/components/sharedfiles/lang/de.json +++ b/www/core/components/sharedfiles/lang/de.json @@ -5,7 +5,7 @@ "nosharedfiles": "Keine geteilten Dateien auf dieser Website", "nosharedfilestoupload": "Sie haben hier noch keine Datei zum Hochladen. Wenn Sie eine Datei aus einer anderen App hochladen möchten, suchen Sie diese Datei und tippen Sie auf die Taste 'Öffnen in'.", "rename": "Umbenennen", - "replace": "Ersetze", + "replace": "Ersetzen", "sharedfiles": "Geteilte Dateien", "successstorefile": "Die Datei wurde gespeichert. Sie können die Datei in den Bereich 'Meine Dateien' hochladen oder bei Aktivitäten verwenden." } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/es-mx.json b/www/core/components/sharedfiles/lang/es-mx.json index fb7d0207356..555162bdf2e 100644 --- a/www/core/components/sharedfiles/lang/es-mx.json +++ b/www/core/components/sharedfiles/lang/es-mx.json @@ -5,7 +5,7 @@ "nosharedfiles": "No hay archivos compartidos almacenados en este sitio.", "nosharedfilestoupload": "Usted no tiene archivos para subir aquí. Si Usted desea subir un archivo desde otra App, localice ese archivo y haga click en el botón para 'Abrir en'.", "rename": "Renombrar", - "replace": "Reemplazar", + "replace": "Remplazar", "sharedfiles": "Archivos compartidos", "successstorefile": "Archivo almacenado exitosamente. Seleccione el archivo a subir a sus archivos privados o para usar en una actividad." } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/eu.json b/www/core/components/sharedfiles/lang/eu.json index a56363d095e..b47185ca190 100644 --- a/www/core/components/sharedfiles/lang/eu.json +++ b/www/core/components/sharedfiles/lang/eu.json @@ -2,10 +2,10 @@ "chooseaccountstorefile": "Aukeratu kontua fitxategiak bertan gordetzeko.", "chooseactionrepeatedfile": "Dagoeneko fitxategi bat dago izen horrekin. Existitzen den fitxategi hori ordezkatu edo \"{{$a}}\" gisa berrizendatu nahi duzu ?", "errorreceivefilenosites": "Ez dago gunerik gordeta. Mesedez gehitu gune bat app-aren bitartez fitxategi bat partekatu aurretik.", - "nosharedfiles": "Ez dago artekatutako fitxategirik gune honetan.", + "nosharedfiles": "Ez dago partekatutako fitxategirik gune honetan.", "nosharedfilestoupload": "Ez duzu igotzeko fitxategirik hemen. Beste app baten bitartez fitxategia igo nahi baduzu, fitxategia aurkitu eta ondoren 'Ireki honekin' botoia sakatu.", "rename": "Berrizendatu", - "replace": "Ordezkatu", + "replace": "Ordeztu", "sharedfiles": "Partekatutako fitxategiak", - "successstorefile": "Fitxategia ondo gorde da. Orain fitxategi hau aukeratu dezakezu zure gune pribatura igo edo jarduera bati eransteko." + "successstorefile": "Fitxategia ondo gorde da. Orain fitxategi hau aukeratu dezakezu zure gune pribatura igo edo jarduera batean erabiltzeko." } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/fi.json b/www/core/components/sharedfiles/lang/fi.json index 7f53de1de9c..a26bdc92b06 100644 --- a/www/core/components/sharedfiles/lang/fi.json +++ b/www/core/components/sharedfiles/lang/fi.json @@ -4,7 +4,7 @@ "errorreceivefilenosites": "Yhtään sivustoa ei ole lisätty. Ole hyvä ja lisää sivusto ennen kuin jaat tiedostoja sovelluksella.", "nosharedfiles": "Tällä sivustolla ei ole yhtään jaettuja tiedostoja.", "nosharedfilestoupload": "Sinulla ei ole yhtään tiedostoa lähetettäväksi. Jos haluat lähettää tiedoston toisesta sovelluksesta, niin valitse tiedosto ja paina \"avaa sovelluksessa\"-painiketta ja valitse Moodle Mobile app.", - "rename": "Nimeä uudelleen", + "rename": "Uudelleennimeä", "replace": "Korvaa", "sharedfiles": "Jaetut tiedosto", "successstorefile": "Tiedosto tallennettiin onnistuneesti. Nyt voit valita tämän tiedoston lähettääksesi sen yksityisiin tiedostoihisi tai liittääksesi sen johonkin aktiviteettiin." diff --git a/www/core/components/sharedfiles/lang/hr.json b/www/core/components/sharedfiles/lang/hr.json index ef26809f0d5..d688c037b6c 100644 --- a/www/core/components/sharedfiles/lang/hr.json +++ b/www/core/components/sharedfiles/lang/hr.json @@ -1,5 +1,5 @@ { "rename": "Preimenuj", - "replace": "Zamijenite", + "replace": "Zamijeni", "sharedfiles": "Dijeljene datoteke" } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/it.json b/www/core/components/sharedfiles/lang/it.json index 875611dd996..b20c6ab9f7e 100644 --- a/www/core/components/sharedfiles/lang/it.json +++ b/www/core/components/sharedfiles/lang/it.json @@ -1,5 +1,5 @@ { - "rename": "Rinomina", + "rename": "Rinomna", "replace": "Sostituisci", "sharedfiles": "File condivisi" } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/ko.json b/www/core/components/sharedfiles/lang/ko.json new file mode 100644 index 00000000000..0bceb10f7ee --- /dev/null +++ b/www/core/components/sharedfiles/lang/ko.json @@ -0,0 +1,4 @@ +{ + "rename": "새이름으로", + "replace": "대체" +} \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/lt.json b/www/core/components/sharedfiles/lang/lt.json index 2e51ae1b0ed..ef379410c73 100644 --- a/www/core/components/sharedfiles/lang/lt.json +++ b/www/core/components/sharedfiles/lang/lt.json @@ -4,8 +4,8 @@ "errorreceivefilenosites": "Svetainės nėra saugomos. Prieš dalintis failu, pridėkite svetainės nuorodą.", "nosharedfiles": "Šioje svetainėje nepatalpinti bendro naudojimo failai.", "nosharedfilestoupload": "Nėra įkeltų failų. Jeigu norite juos įkelti iš kitos programėlės, pažymėkite ir paspauskite mygtuką „Atidaryti“.", - "rename": "Pervardyti", - "replace": "Keisti", + "rename": "Pervadinti", + "replace": "Pakeisti", "sharedfiles": "Bendro naudojimo failai", "successstorefile": "Failas sėkmingai patalpintas. Galite jį perkelti į savo asmeninį aplanką arba įkelti tam tikrosiose veiklose." } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/mr.json b/www/core/components/sharedfiles/lang/mr.json index 54c82d0f349..669675992d6 100644 --- a/www/core/components/sharedfiles/lang/mr.json +++ b/www/core/components/sharedfiles/lang/mr.json @@ -4,7 +4,7 @@ "errorreceivefilenosites": "संचयित केलेल्या कोणत्याही साइट नाहीत कृपया अॅपसह फाइल सामायिक करण्यापूर्वी साइट जोडा", "nosharedfiles": "या साइटवर संचयित केलेल्या कोणत्याही सामायिक केलेल्या फायली नाहीत.", "nosharedfilestoupload": "येथे अपलोड करण्यासाठी आपल्याकडे एकही फाइल नाही. आपण दुसर्या अॅपमधून फाइल अपलोड करू इच्छित असाल तर ती फाइल शोधा आणि 'इन-इन' बटणावर क्लिक करा.", - "rename": "पून्हा नाव द्या", + "rename": "पुनर्नामित करा", "replace": "पुनर्स्थित करा", "sharedfiles": "सामायिक केलेल्या फायली", "successstorefile": "फाइल यशस्वीरित्या संग्रहित केली. आता आपण ही फाईल आपल्या खाजगी फाइल्सवर अपलोड करण्यासाठी किंवा काही क्रियाकलापांमध्ये संलग्न करण्यासाठी ती निवडू शकता." diff --git a/www/core/components/sharedfiles/lang/pt.json b/www/core/components/sharedfiles/lang/pt.json index a181fc1b944..ccb7b68c710 100644 --- a/www/core/components/sharedfiles/lang/pt.json +++ b/www/core/components/sharedfiles/lang/pt.json @@ -4,7 +4,7 @@ "errorreceivefilenosites": "Não existem sites armazenados. Adicione um site antes de partilhar um ficheiro com a aplicação.", "nosharedfiles": "Não existem quaisquer ficheiros partilhados armazenados neste site.", "nosharedfilestoupload": "Não existem ficheiros para fazer o carregamento. Se pretender carregar um ficheiro de outra aplicação, localize o ficheiro e clique no botão 'Abrir em'.", - "rename": "Renomear", + "rename": "Mudar nome", "replace": "Substituir", "sharedfiles": "Ficheiros partilhados", "successstorefile": "Ficheiro armazenado com sucesso. Selecione este ficheiro para enviá-lo para os seus ficheiros privados ou usá-lo em atividades." diff --git a/www/core/components/sharedfiles/lang/ru.json b/www/core/components/sharedfiles/lang/ru.json index 3c6455c50c7..cf8b8797df4 100644 --- a/www/core/components/sharedfiles/lang/ru.json +++ b/www/core/components/sharedfiles/lang/ru.json @@ -1,4 +1,11 @@ { + "chooseaccountstorefile": "Выберите учётную запись для хранения файла.", + "chooseactionrepeatedfile": "Файл с таким именем уже существует. Вы хотите заменить существующий файл или переименовать этот файл в «{{$a}}»?", + "errorreceivefilenosites": "Нет сохранённых сайтов. Добавьте сайт чтобы делиться файлом при помощи приложения.", + "nosharedfiles": "На этом сайте нет открытых для доступа файлов.", + "nosharedfilestoupload": "У Вас нет файлов для загрузки на сервер. Если Вы хотите загрузить на сервер файл из другого приложения, найдите файл и нажмите кнопку «Открыть в».", "rename": "Переименовать", - "replace": "Заменить" + "replace": "Переместить", + "sharedfiles": "Файлы в открытом доступе", + "successstorefile": "Файл успешно сохранён. Выберите файл для загрузки на сервер в свои личные файлы или для использования в активном элементе." } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/tr.json b/www/core/components/sharedfiles/lang/tr.json index 76c25af6f7c..94ea98f2214 100644 --- a/www/core/components/sharedfiles/lang/tr.json +++ b/www/core/components/sharedfiles/lang/tr.json @@ -1,5 +1,5 @@ { - "rename": "Ad değiştir", + "rename": "Yeniden adlandır", "replace": "Değiştir", "sharedfiles": "Paylaşılan dosyalar" } \ No newline at end of file diff --git a/www/core/components/sharedfiles/lang/uk.json b/www/core/components/sharedfiles/lang/uk.json index f16da3ef448..6a2a6c61255 100644 --- a/www/core/components/sharedfiles/lang/uk.json +++ b/www/core/components/sharedfiles/lang/uk.json @@ -5,7 +5,7 @@ "nosharedfiles": "Немає загальних файлів, що зберігаються на цьому сайті.", "nosharedfilestoupload": "У вас немає файлів для завантаження. Якщо ви хочете завантажити файл з іншої програми, знайдіть цей файл і натисніть кнопку «Відкрити\".", "rename": "Перейменувати", - "replace": "Замінити", + "replace": "Перемістити", "sharedfiles": "Розшарити файли", "successstorefile": "Файл успішно збережений. Тепер ви можете вибрати цей файл, щоб завантажити його на ваші особисті файли або прикріпити його в деяких видах діяльності." } \ No newline at end of file diff --git a/www/core/components/sidemenu/lang/ca.json b/www/core/components/sidemenu/lang/ca.json index d2e61d92b7b..321730fec1f 100644 --- a/www/core/components/sidemenu/lang/ca.json +++ b/www/core/components/sidemenu/lang/ca.json @@ -2,7 +2,7 @@ "appsettings": "Paràmetres de l'aplicació", "changesite": "Canvia de lloc", "help": "Ajuda", - "logout": "Surt", + "logout": "Desconnecta", "mycourses": "Els meus cursos", "togglemenu": "Canvia menú", "website": "Lloc web" diff --git a/www/core/components/sidemenu/lang/cs.json b/www/core/components/sidemenu/lang/cs.json index 68c7fe8de79..7de80a2bb9b 100644 --- a/www/core/components/sidemenu/lang/cs.json +++ b/www/core/components/sidemenu/lang/cs.json @@ -1,8 +1,8 @@ { "appsettings": "Nastavení aplikace", "changesite": "Změnit stránky", - "help": "Pomoc", - "logout": "Odhlásit se", + "help": "Nápověda", + "logout": "Odhlásit", "mycourses": "Moje kurzy", "togglemenu": "Přepnout nabídku", "website": "Webová stránka" diff --git a/www/core/components/sidemenu/lang/el.json b/www/core/components/sidemenu/lang/el.json index 114771adbff..2e0168f9e01 100644 --- a/www/core/components/sidemenu/lang/el.json +++ b/www/core/components/sidemenu/lang/el.json @@ -2,7 +2,7 @@ "appsettings": "Ρυθμίσεις εφαρμογής", "changesite": "Αλλαγή ιστότοπου", "help": "Βοήθεια", - "logout": "Έξοδος", + "logout": "Αποσύνδεση", "mycourses": "Τα μαθήματά μου", "togglemenu": "Αλλαγή μενού", "website": "Ιστότοπος" diff --git a/www/core/components/sidemenu/lang/es-mx.json b/www/core/components/sidemenu/lang/es-mx.json index fb36a0997ba..e2079172694 100644 --- a/www/core/components/sidemenu/lang/es-mx.json +++ b/www/core/components/sidemenu/lang/es-mx.json @@ -2,7 +2,7 @@ "appsettings": "Configuraciones del App", "changesite": "Cambiar sitio", "help": "Ayuda", - "logout": "Salir", + "logout": "Salir del sitio", "mycourses": "Mis cursos", "togglemenu": "Alternar menú", "website": "Página web" diff --git a/www/core/components/sidemenu/lang/eu.json b/www/core/components/sidemenu/lang/eu.json index c5757719d6e..d6c4be2b4ea 100644 --- a/www/core/components/sidemenu/lang/eu.json +++ b/www/core/components/sidemenu/lang/eu.json @@ -2,7 +2,7 @@ "appsettings": "App-aren ezarpenak", "changesite": "Aldatu gunea", "help": "Laguntza", - "logout": "Saioa amaitu", + "logout": "Irten", "mycourses": "Nire ikastaroak", "togglemenu": "Aldatu menua", "website": "Webgunea" diff --git a/www/core/components/sidemenu/lang/fa.json b/www/core/components/sidemenu/lang/fa.json index 34bdcc7018f..7d4184a0d64 100644 --- a/www/core/components/sidemenu/lang/fa.json +++ b/www/core/components/sidemenu/lang/fa.json @@ -1,8 +1,8 @@ { "appsettings": "تنظیمات برنامه", "changesite": "خروج", - "help": "راهنمایی", - "logout": "خروج از سایت", + "help": "راهنما", + "logout": "خروج", "mycourses": "درس‌های من", "website": "پایگاه اینترنتی" } \ No newline at end of file diff --git a/www/core/components/sidemenu/lang/he.json b/www/core/components/sidemenu/lang/he.json index df2620a0194..defec49d009 100644 --- a/www/core/components/sidemenu/lang/he.json +++ b/www/core/components/sidemenu/lang/he.json @@ -2,7 +2,7 @@ "appsettings": "הגדרות יישומון", "changesite": "התנתק", "help": "עזרה", - "logout": "התנתקות", + "logout": "התנתק", "mycourses": "הקורסים שלי", "togglemenu": "החלפת מצב תפריט", "website": "אתר אינטרנט" diff --git a/www/core/components/sidemenu/lang/it.json b/www/core/components/sidemenu/lang/it.json index 9e368b1ef6f..b86c1c18949 100644 --- a/www/core/components/sidemenu/lang/it.json +++ b/www/core/components/sidemenu/lang/it.json @@ -2,7 +2,7 @@ "appsettings": "Impostazioni app", "changesite": "Cambia sito", "help": "Aiuto", - "logout": "Esci", + "logout": "Logout", "mycourses": "I miei corsi", "togglemenu": "Attiva/disattiva menu", "website": "Sito web" diff --git a/www/core/components/sidemenu/lang/ko.json b/www/core/components/sidemenu/lang/ko.json new file mode 100644 index 00000000000..3c615ac942c --- /dev/null +++ b/www/core/components/sidemenu/lang/ko.json @@ -0,0 +1,5 @@ +{ + "help": "도움", + "logout": "로그아웃", + "mycourses": "내 강좌" +} \ No newline at end of file diff --git a/www/core/components/sidemenu/lang/lt.json b/www/core/components/sidemenu/lang/lt.json index 4f3f66ea9f3..0f0cb015df4 100644 --- a/www/core/components/sidemenu/lang/lt.json +++ b/www/core/components/sidemenu/lang/lt.json @@ -1,9 +1,9 @@ { "appsettings": "Programėlės nustatymai", "changesite": "Pakeisti svetainę", - "help": "Žinynas", - "logout": "Atsijungti", - "mycourses": "Mano kursai", + "help": "Pagalba", + "logout": "Pakeisti svetainę", + "mycourses": "Mano mokymo programos", "togglemenu": "Perjungti", "website": "Interneto svetainė" } \ No newline at end of file diff --git a/www/core/components/sidemenu/lang/mr.json b/www/core/components/sidemenu/lang/mr.json index 9f0dbf261ce..091098f633d 100644 --- a/www/core/components/sidemenu/lang/mr.json +++ b/www/core/components/sidemenu/lang/mr.json @@ -2,8 +2,8 @@ "appsettings": "अॅप सेटिंग्ज", "changesite": "साइट बदला", "help": "मदत", - "logout": "लॉग-आउट", - "mycourses": "माझे कोर्सेस", + "logout": "बाहेर पडा", + "mycourses": "माझे अभ्यासक्रम", "togglemenu": "मेनू बदला", "website": "वेबसाइट" } \ No newline at end of file diff --git a/www/core/components/sidemenu/lang/nl.json b/www/core/components/sidemenu/lang/nl.json index 7caa7f9041a..d06e70ec6d8 100644 --- a/www/core/components/sidemenu/lang/nl.json +++ b/www/core/components/sidemenu/lang/nl.json @@ -2,7 +2,7 @@ "appsettings": "App instellingen", "changesite": "Naar andere site", "help": "Help", - "logout": "Uitloggen", + "logout": "Afmelden", "mycourses": "Mijn cursussen", "togglemenu": "Menu schakelen", "website": "Website" diff --git a/www/core/components/sidemenu/lang/pt.json b/www/core/components/sidemenu/lang/pt.json index 479ba8e4f48..f972c409f74 100644 --- a/www/core/components/sidemenu/lang/pt.json +++ b/www/core/components/sidemenu/lang/pt.json @@ -2,7 +2,7 @@ "appsettings": "Configurações da aplicação", "changesite": "Mudar de site", "help": "Ajuda", - "logout": "Sair", + "logout": "Terminar sessão", "mycourses": "As minhas disciplinas", "togglemenu": "Alternar menu", "website": "Site" diff --git a/www/core/components/sidemenu/lang/ro.json b/www/core/components/sidemenu/lang/ro.json index 1c5f17d9e01..ea5d1d106e0 100644 --- a/www/core/components/sidemenu/lang/ro.json +++ b/www/core/components/sidemenu/lang/ro.json @@ -2,7 +2,7 @@ "appsettings": "Setările aplicației", "changesite": "Schimbați siteul", "help": "Ajutor", - "logout": "Ieşire", + "logout": "Schimbați siteul", "mycourses": "Cursurile mele", "togglemenu": "Meniul pentru comutare", "website": "Website" diff --git a/www/core/components/sidemenu/lang/ru.json b/www/core/components/sidemenu/lang/ru.json index 541a10d3285..6965e316d2d 100644 --- a/www/core/components/sidemenu/lang/ru.json +++ b/www/core/components/sidemenu/lang/ru.json @@ -1,8 +1,9 @@ { "appsettings": "Настройки приложения", - "changesite": "Выход", - "help": "Справка", - "logout": "Выход", + "changesite": "Сменить сайт", + "help": "Помощь", + "logout": "Выйти", "mycourses": "Мои курсы", + "togglemenu": "Переключить меню", "website": "Сайт" } \ No newline at end of file diff --git a/www/core/components/sidemenu/lang/tr.json b/www/core/components/sidemenu/lang/tr.json index ace500a4db3..57800da7afa 100644 --- a/www/core/components/sidemenu/lang/tr.json +++ b/www/core/components/sidemenu/lang/tr.json @@ -1,7 +1,7 @@ { "changesite": "Çıkış", "help": "Yardım", - "logout": "Çıkış yap", + "logout": "Çıkış", "mycourses": "Derslerim", "website": "Websitesi" } \ No newline at end of file diff --git a/www/core/components/sidemenu/lang/uk.json b/www/core/components/sidemenu/lang/uk.json index 21328fec9b5..2442161b325 100644 --- a/www/core/components/sidemenu/lang/uk.json +++ b/www/core/components/sidemenu/lang/uk.json @@ -2,7 +2,7 @@ "appsettings": "Налаштування додатку", "changesite": "Змінити сайт", "help": "Допомога", - "logout": "Вихід", + "logout": "Вийти", "mycourses": "Мої курси", "togglemenu": "Перемикання меню", "website": "Веб-сайт" diff --git a/www/core/components/user/lang/cs.json b/www/core/components/user/lang/cs.json index a6f990b5aba..864b51d0010 100644 --- a/www/core/components/user/lang/cs.json +++ b/www/core/components/user/lang/cs.json @@ -11,7 +11,7 @@ "emailagain": "E-mail (znovu)", "firstname": "Křestní jméno", "interests": "Zájmy", - "invaliduser": "Neplatný uživatel", + "invaliduser": "Neplatný uživatel.", "lastname": "Příjmení", "manager": "Manažer", "newpicture": "Nový obrázek", diff --git a/www/core/components/user/lang/da.json b/www/core/components/user/lang/da.json index 907d22761b1..8c8d0025f47 100644 --- a/www/core/components/user/lang/da.json +++ b/www/core/components/user/lang/da.json @@ -11,7 +11,7 @@ "emailagain": "E-mail (igen)", "firstname": "Fornavn", "interests": "Interesser", - "invaliduser": "Ugyldig bruger", + "invaliduser": "Ugyldig bruger.", "lastname": "Efternavn", "manager": "Manager", "newpicture": "Nyt billede", diff --git a/www/core/components/user/lang/de-du.json b/www/core/components/user/lang/de-du.json index 426119b3458..be0c5129bac 100644 --- a/www/core/components/user/lang/de-du.json +++ b/www/core/components/user/lang/de-du.json @@ -11,7 +11,7 @@ "emailagain": "E-Mail-Adresse (wiederholen)", "firstname": "Vorname", "interests": "Persönliche Interessen", - "invaliduser": "Ungültige Nutzer/in", + "invaliduser": "Nutzer/in ungültig", "lastname": "Nachname", "manager": "Manager/in", "newpicture": "Neues Foto", diff --git a/www/core/components/user/lang/de.json b/www/core/components/user/lang/de.json index 740e942be55..df9365a4086 100644 --- a/www/core/components/user/lang/de.json +++ b/www/core/components/user/lang/de.json @@ -11,7 +11,7 @@ "emailagain": "E-Mail-Adresse (wiederholen)", "firstname": "Vorname", "interests": "Persönliche Interessen", - "invaliduser": "Ungültige Nutzer/in", + "invaliduser": "Nutzer/in ungültig", "lastname": "Nachname", "manager": "Manager/in", "newpicture": "Neues Foto", diff --git a/www/core/components/user/lang/el.json b/www/core/components/user/lang/el.json index 2e66b93a534..8744d621afd 100644 --- a/www/core/components/user/lang/el.json +++ b/www/core/components/user/lang/el.json @@ -19,7 +19,7 @@ "phone2": "Κινητό τηλέφωνο", "roles": "Ρόλοι", "sendemail": "Email", - "student": "Φοιτητής", + "student": "Μαθητής", "teacher": "Διδάσκων χωρίς δικαιώματα αλλαγής", "viewprofile": "Επισκόπηση του προφίλ", "webpage": "Ιστοσελίδα" diff --git a/www/core/components/user/lang/es-mx.json b/www/core/components/user/lang/es-mx.json index 5a299d64eba..b3395df0711 100644 --- a/www/core/components/user/lang/es-mx.json +++ b/www/core/components/user/lang/es-mx.json @@ -11,7 +11,7 @@ "emailagain": "Correo (de nuevo)", "firstname": "Nombre", "interests": "Intereses", - "invaliduser": "Usuario no válido", + "invaliduser": "Usuario inválido.", "lastname": "Apellido(s)", "manager": "Mánager", "newpicture": "Imagen nueva", diff --git a/www/core/components/user/lang/eu.json b/www/core/components/user/lang/eu.json index e19aa7863bf..01b8fc25ec6 100644 --- a/www/core/components/user/lang/eu.json +++ b/www/core/components/user/lang/eu.json @@ -11,7 +11,7 @@ "emailagain": "E-posta (berriro)", "firstname": "Izena", "interests": "Interesguneak", - "invaliduser": "Erabiltzaile baliogabea", + "invaliduser": "Erabiltzailea ez da zuzena.", "lastname": "Deitura", "manager": "Kudeatzailea", "newpicture": "Irudi berria", diff --git a/www/core/components/user/lang/fa.json b/www/core/components/user/lang/fa.json index b156d092804..c1b57de96c4 100644 --- a/www/core/components/user/lang/fa.json +++ b/www/core/components/user/lang/fa.json @@ -1,7 +1,7 @@ { "address": "آدرس", "city": "شهر/شهرک", - "contact": "تماس", + "contact": "مخاطب", "country": "کشور", "description": "توضیح تکلیف", "details": "جزئیات", diff --git a/www/core/components/user/lang/fi.json b/www/core/components/user/lang/fi.json index 66f6786ab08..c4688ff9945 100644 --- a/www/core/components/user/lang/fi.json +++ b/www/core/components/user/lang/fi.json @@ -1,7 +1,7 @@ { "address": "Osoite", "city": "Paikkakunta", - "contact": "Yhteystieto", + "contact": "Yhteystiedot", "country": "Maa", "description": "Kuvaus", "details": "Käyttäjätiedot", @@ -11,7 +11,7 @@ "emailagain": "Sähköposti (varmistus)", "firstname": "Etunimi", "interests": "Kiinnostukset", - "invaliduser": "Virheellinen käyttäjä", + "invaliduser": "Virheellinen käyttäjä.", "lastname": "Sukunimi", "manager": "Hallinoija", "newpicture": "Uusi kuva", diff --git a/www/core/components/user/lang/fr.json b/www/core/components/user/lang/fr.json index 2391c86e714..1ed191df289 100644 --- a/www/core/components/user/lang/fr.json +++ b/www/core/components/user/lang/fr.json @@ -11,7 +11,7 @@ "emailagain": "Courriel (confirmation)", "firstname": "Prénom", "interests": "Centres d'intérêt", - "invaliduser": "Utilisateur non valide", + "invaliduser": "Utilisateur non valide.", "lastname": "Nom", "manager": "Gestionnaire", "newpicture": "Nouvelle image", @@ -19,7 +19,7 @@ "phone2": "Téléphone mobile", "roles": "Rôles", "sendemail": "Courriel", - "student": "Participants", + "student": "Étudiant", "teacher": "Enseignant non-éditeur", "viewprofile": "Consulter le profil", "webpage": "Page Web" diff --git a/www/core/components/user/lang/he.json b/www/core/components/user/lang/he.json index cfd73b8aa8f..8c3c7ed4ae4 100644 --- a/www/core/components/user/lang/he.json +++ b/www/core/components/user/lang/he.json @@ -1,7 +1,7 @@ { "address": "כתובת", "city": "ישוב", - "contact": "ליצירת קשר", + "contact": "צור קשר", "country": "ארץ", "description": "תיאור", "details": "פרטים", @@ -11,7 +11,7 @@ "emailagain": "דואר אלקטרוני (שוב)", "firstname": "שם פרטי", "interests": "תחומי עניין", - "invaliduser": "משתמש שגוי", + "invaliduser": "משתמש לא תקף.", "lastname": "שם משפחה", "manager": "מנהל", "newpicture": "תמונה חדשה", diff --git a/www/core/components/user/lang/hr.json b/www/core/components/user/lang/hr.json index 5c86b11673e..eed8cc24c07 100644 --- a/www/core/components/user/lang/hr.json +++ b/www/core/components/user/lang/hr.json @@ -10,7 +10,7 @@ "emailagain": "E-pošta (ponovno)", "firstname": "Ime", "interests": "Interesi", - "invaliduser": "Neispravan korisnik", + "invaliduser": "Neispravan korisnik.", "lastname": "Prezime", "manager": "Menadžer", "newpicture": "Nova slika", diff --git a/www/core/components/user/lang/it.json b/www/core/components/user/lang/it.json index e5ac1a11ae9..206fa800347 100644 --- a/www/core/components/user/lang/it.json +++ b/www/core/components/user/lang/it.json @@ -11,13 +11,14 @@ "emailagain": "Indirizzo email (ripeti)", "firstname": "Nome", "interests": "Interessi", - "invaliduser": "Utente non valido", + "invaliduser": "Utente non valido.", "lastname": "Cognome", "manager": "Manager", "newpicture": "Nuova immagine", "phone1": "Telefono", "phone2": "Cellulare", "roles": "Ruoli", + "sendemail": "Email", "student": "Studente", "teacher": "Docente non editor", "viewprofile": "Visualizza", diff --git a/www/core/components/user/lang/ja.json b/www/core/components/user/lang/ja.json index 848efaba470..1d661257fae 100644 --- a/www/core/components/user/lang/ja.json +++ b/www/core/components/user/lang/ja.json @@ -1,7 +1,7 @@ { "address": "住所", "city": "都道府県", - "contact": "連絡先", + "contact": "コンタクト", "country": "国", "description": "説明", "details": "詳細", diff --git a/www/core/components/user/lang/ko.json b/www/core/components/user/lang/ko.json new file mode 100644 index 00000000000..8f74c8d3f22 --- /dev/null +++ b/www/core/components/user/lang/ko.json @@ -0,0 +1,20 @@ +{ + "address": "주소", + "city": "도시", + "contact": "연락처", + "country": "국가", + "description": "설명", + "email": "이메일 주소", + "emailagain": "이메일 (다시)", + "firstname": "성", + "interests": "관심분야", + "invaliduser": "잘못된 사용자", + "lastname": "이름", + "newpicture": "새 사진", + "phone1": "전화", + "phone2": "휴대 전화", + "roles": "역할", + "student": "학생", + "viewprofile": "개인정보 보기", + "webpage": "웹 페이지" +} \ No newline at end of file diff --git a/www/core/components/user/lang/lt.json b/www/core/components/user/lang/lt.json index e42242ef453..45d867d2243 100644 --- a/www/core/components/user/lang/lt.json +++ b/www/core/components/user/lang/lt.json @@ -1,7 +1,7 @@ { "address": "Adresas", "city": "Miestas / miestelis", - "contact": "Kontaktas", + "contact": "Kontaktai", "country": "Šalis", "description": "Aprašas", "details": "Detalės", @@ -11,7 +11,7 @@ "emailagain": "El. paštas (dar kartą)", "firstname": "Vardas", "interests": "Pomėgiai", - "invaliduser": "Klaidingas naudotojas", + "invaliduser": "Netinkamas vartotojas.", "lastname": "Pavardė", "manager": "Valdytojas", "newpicture": "Naujas paveikslėlis", diff --git a/www/core/components/user/lang/nl.json b/www/core/components/user/lang/nl.json index 046d955bfba..9e9b2898795 100644 --- a/www/core/components/user/lang/nl.json +++ b/www/core/components/user/lang/nl.json @@ -11,7 +11,7 @@ "emailagain": "E-mail (nogmaals)", "firstname": "Voornaam", "interests": "Interesses", - "invaliduser": "Ongeldige gebruiker", + "invaliduser": "Ongeldige gebuiker", "lastname": "Achternaam", "manager": "Manager", "newpicture": "Nieuwe foto", diff --git a/www/core/components/user/lang/pl.json b/www/core/components/user/lang/pl.json index 36dbf206198..f8759ab71b2 100644 --- a/www/core/components/user/lang/pl.json +++ b/www/core/components/user/lang/pl.json @@ -1,7 +1,7 @@ { "address": "Adres", "city": "Miasto", - "contact": "Połącz", + "contact": "Kontakt", "country": "Kraj", "description": "Wstęp", "details": "Szczegóły ścieżki", diff --git a/www/core/components/user/lang/pt-br.json b/www/core/components/user/lang/pt-br.json index d65c2b3eccb..5333df70209 100644 --- a/www/core/components/user/lang/pt-br.json +++ b/www/core/components/user/lang/pt-br.json @@ -11,7 +11,7 @@ "emailagain": "Confirmar endereço de e-mail", "firstname": "Nome", "interests": "Interesses", - "invaliduser": "Usuário inválido", + "invaliduser": "Usuário inválido.", "lastname": "Sobrenome", "manager": "Gerente", "newpicture": "Nova imagem", diff --git a/www/core/components/user/lang/ro.json b/www/core/components/user/lang/ro.json index e1c0f7bd929..5e7dcf168ec 100644 --- a/www/core/components/user/lang/ro.json +++ b/www/core/components/user/lang/ro.json @@ -11,14 +11,14 @@ "emailagain": "Email (reintroduceţi)", "firstname": "Prenume", "interests": "Interese", - "invaliduser": "Utilizator incorect", + "invaliduser": "Utilizator necunoscut.", "lastname": "Nume", "manager": "Manager", "newpicture": "Imagine nouă", "phone1": "Telefon", "phone2": "Mobil", "roles": "Roluri", - "student": "Cursant", + "student": "Student", "teacher": "Profesor asistent", "viewprofile": "Vezi profilul", "webpage": "Pagină Web" diff --git a/www/core/components/user/lang/ru.json b/www/core/components/user/lang/ru.json index a6c0773bcfa..52f3063394d 100644 --- a/www/core/components/user/lang/ru.json +++ b/www/core/components/user/lang/ru.json @@ -11,13 +11,14 @@ "emailagain": "Адрес электронной почты (еще раз)", "firstname": "Имя", "interests": "Интересы", - "invaliduser": "Некорректный пользователь", + "invaliduser": "Неправильный пользователь", "lastname": "Фамилия", "manager": "Управляющий", "newpicture": "Новое изображение", "phone1": "Телефон", "phone2": "Мобильный телефон", "roles": "Роли", + "sendemail": "Электронная почта", "student": "Студент", "teacher": "Учитель без права редактирования (ассистент)", "viewprofile": "Просмотр профиля", diff --git a/www/core/components/user/lang/sv.json b/www/core/components/user/lang/sv.json index 239dbb9c6af..ffbb8e5f6d9 100644 --- a/www/core/components/user/lang/sv.json +++ b/www/core/components/user/lang/sv.json @@ -11,14 +11,14 @@ "emailagain": "E-post (igen)", "firstname": "Förnamn", "interests": "Intressen", - "invaliduser": "Ogiltig användare", + "invaliduser": "Ogiltig användare.", "lastname": "Efternamn", "manager": "Manager", "newpicture": "Ny bild", "phone1": "Telefon", "phone2": "Mobiltelefon", "roles": "Roller", - "student": "Student/elev/deltagare/lärande", + "student": "Student", "teacher": "Icke editerande lärare", "viewprofile": "Visa profil", "webpage": "Webbsida" diff --git a/www/core/components/user/lang/tr.json b/www/core/components/user/lang/tr.json index b4220cb1697..8f97f30864f 100644 --- a/www/core/components/user/lang/tr.json +++ b/www/core/components/user/lang/tr.json @@ -1,7 +1,7 @@ { "address": "Adres", "city": "Şehir", - "contact": "İletişim", + "contact": "Kişi", "country": "Ülke", "description": "Tanıtım metni", "details": "Detaylar", @@ -10,7 +10,7 @@ "emailagain": "E-posta (tekrar)", "firstname": "Adı", "interests": "İlgi alanları", - "invaliduser": "Geçersiz kullanıcı", + "invaliduser": "Geçersiz kullanıcı.", "lastname": "Soyadı", "manager": "Yönetici", "newpicture": "Yeni resim", diff --git a/www/core/components/user/lang/uk.json b/www/core/components/user/lang/uk.json index 0e672d1bb8f..178340d0536 100644 --- a/www/core/components/user/lang/uk.json +++ b/www/core/components/user/lang/uk.json @@ -11,7 +11,7 @@ "emailagain": "Електронна пошта (повторно)", "firstname": "Ім'я", "interests": "Інтереси", - "invaliduser": "Неправильний користувач", + "invaliduser": "Невірний користувач.", "lastname": "Прізвище", "manager": "Менеджер", "newpicture": "Новий малюнок", diff --git a/www/core/directives/contextmenu.js b/www/core/directives/contextmenu.js index 4ae6abfbadd..a9a7cbdc002 100644 --- a/www/core/directives/contextmenu.js +++ b/www/core/directives/contextmenu.js @@ -189,6 +189,8 @@ angular.module('mm.core') * @param {Boolean} [closeOnClick=true] If close the popover when clicked. Only works if action or href is provided. * @param {Boolean} [closeWhenDone=false] Close popover when action is done. Only if action is supplied and closeOnClick=false. * @param {Number} [priority] Used to sort items. The highest priority, the highest position. + * @param {String} [badge] A badge to show in the item. + * @param {String} [badgeClass] A class to set in the badge. */ .directive('mmContextMenuItem', function($mmUtil, $timeout, $ionicPlatform) { @@ -245,7 +247,9 @@ angular.module('mm.core') closeOnClick: '=?', closeWhenDone: '=?', priority: '=?', - ngShow: '=?' + ngShow: '=?', + badge: '=?', + badgeClass: '=?' }, link: function(scope, element, attrs, CtxtMenuCtrl) { // Initialize values. Change the name of some of them to prevent being reconverted to string. diff --git a/www/core/directives/formattext.js b/www/core/directives/formattext.js index b74e2960da4..0317913204a 100644 --- a/www/core/directives/formattext.js +++ b/www/core/directives/formattext.js @@ -45,7 +45,7 @@ angular.module('mm.core') * -shorten: If shorten is present, max-height="100" will be applied. * -expand-on-click: This attribute will be discarded. The text will be expanded if shortened and fullview-on-click not true. */ -.directive('mmFormatText', function($interpolate, $mmText, $compile, $translate, $mmUtil, $mmSitesManager, $mmFS) { +.directive('mmFormatText', function($interpolate, $mmText, $compile, $translate, $mmUtil, $mmSitesManager, $mmFS, $window) { var extractVariableRegex = new RegExp('{{([^|]+)(|.*)?}}', 'i'), tagsToIgnore = ['AUDIO', 'VIDEO', 'BUTTON', 'INPUT', 'SELECT', 'TEXTAREA', 'A']; @@ -412,18 +412,37 @@ angular.module('mm.core') if (el.src && canTreatVimeo) { // Check if it's a Vimeo video. If it is, use the wsplayer script instead to make restricted videos work. - var matches = el.src.match(/https?:\/\/player\.vimeo\.com\/video\/([^\/]*)/); + var matches = el.src.match(/https?:\/\/player\.vimeo\.com\/video\/([0-9]+)/); if (matches && matches[1]) { var newUrl = $mmFS.concatenatePaths(site.getURL(), '/media/player/vimeo/wsplayer.php?video=') + matches[1] + '&token=' + site.getToken(); + + // Width and height are mandatory, we need to calcualte one. if (el.width) { - newUrl = newUrl + '&width=' + el.width; + width = el.width; + } else { + width = getElementWidth(el); + if (!width) { + width = $window.innerWidth; + } } + if (el.height) { - newUrl = newUrl + '&height=' + el.height; + height = el.height; + } else { + height = getElementHeight(angular.element(el)); + if (!height) { + height = width; + } } - el.src = newUrl; + el.src = newUrl + '&width=' + width + '&height=' + height; + if (!el.width) { + el.width = width; + } + if (!el.height) { + el.height = height; + } } } } diff --git a/www/core/lang/ar.json b/www/core/lang/ar.json index cb57534031d..d8d862f83e1 100644 --- a/www/core/lang/ar.json +++ b/www/core/lang/ar.json @@ -48,6 +48,7 @@ "labelsep": ":", "lastmodified": "آخر تعديل", "lastsync": "آخر تزامن", + "list": "معاينة القائمة", "listsep": "،", "loading": "يتم التحميل", "lostconnection": "فقدنا الاتصال تحتاج إلى إعادة الاتصال. المميز الخاص بك هو الآن غير صالح", @@ -100,6 +101,7 @@ "pictureof": "صورة {{$a}}", "previous": "السابق", "pulltorefresh": "اسحب للأسفل ليتم التحديث", + "quotausage": "حتى الآن قد استخدمت {{$a.used}} من ال {{$a.total}} المسموحه", "refresh": "تحديث", "required": "مفروض", "restore": "إسترجاع", diff --git a/www/core/lang/bg.json b/www/core/lang/bg.json index 607dba221a7..30620be13e0 100644 --- a/www/core/lang/bg.json +++ b/www/core/lang/bg.json @@ -45,6 +45,8 @@ "info": "Информация", "labelsep": ":", "lastmodified": "Последно модифициране", + "layoutgrid": "Мрежа", + "list": "Показване списък", "listsep": ";", "loading": "Зареждане", "lostconnection": "Изгубихме връзка и трябва да се свържете отново. Вашият ключ сега е невалиден.", diff --git a/www/core/lang/ca.json b/www/core/lang/ca.json index 7f16bb87a98..1f3fc3d0a3d 100644 --- a/www/core/lang/ca.json +++ b/www/core/lang/ca.json @@ -40,7 +40,7 @@ "days": "dies", "decsep": ",", "delete": "Suprimeix", - "deleting": "S'està suprimint", + "deleting": "S'està eliminant", "description": "Descripció", "dfdaymonthyear": "DD-MM-YYYY", "dfdayweekmonth": "ddd, D MMM", @@ -84,13 +84,15 @@ "hour": "hora", "hours": "hores", "humanreadablesize": "{{size}} {{unit}}", - "image": "Imatge ({{$a.MIMETYPE2}})", + "image": "Imatge", "imageviewer": "Visor d'imatges", - "info": "Info", + "info": "Informació", "ios": "iOS", "labelsep": ":", "lastmodified": "Darrera modificació", "lastsync": "Darrera sincronització.", + "layoutgrid": "Graella", + "list": "Visualitza llista", "listsep": ";", "loading": "S'està carregant", "loadmore": "Carrega'n més", @@ -134,7 +136,7 @@ "nocomments": "Sense comentaris", "nograde": "Sense qualificació", "none": "Cap", - "nopasswordchangeforced": "No podeu continuar sense canviar la contrasenya, però no està disponible cap pàgina on pugueu canviar-la. Contacteu amb l'administració del vostre Moodle.", + "nopasswordchangeforced": "No podeu continuar sense canviar la contrasenya.", "nopermissions": "Actualment no teniu permisos per a fer això ({{$a}})", "noresults": "Sense resultats", "notapplicable": "n/a", @@ -162,7 +164,7 @@ "retry": "Reintenta", "save": "Desa", "search": "Cerca...", - "searching": "Cerca a", + "searching": "S'està cercant", "searchresults": "Resultats de la cerca", "sec": "segon", "secs": "segons", @@ -202,6 +204,7 @@ "upgraderunning": "El lloc s'està actualitzant. Proveu-ho més tard.", "userdeleted": "S'ha suprimit aquest compte d'usuari", "userdetails": "Més dades de l'usuari", + "usernotfullysetup": "La configuració de l'usuari no s'ha completat", "users": "Usuaris", "view": "Visualització", "viewprofile": "Mostra el perfil", diff --git a/www/core/lang/cs.json b/www/core/lang/cs.json index 0e192c8fe0c..cb3d3f4d57c 100644 --- a/www/core/lang/cs.json +++ b/www/core/lang/cs.json @@ -49,6 +49,7 @@ "decsep": ",", "defaultvalue": "Výchozí ({{$a}})", "delete": "Odstranit", + "deletedoffline": "Odstraněno offline", "deleting": "Odstraňování", "description": "Úvodní text", "dfdaymonthyear": "MM-DD-YYYY", @@ -93,18 +94,20 @@ "hour": "hodina", "hours": "hodin", "humanreadablesize": "{{size}} {{unit}}", - "image": "Obrázek ({{$a.MIMETYPE2}})", + "image": "Obrázek", "imageviewer": "Prohlížeč obrázků", - "info": "Info", + "info": "Informace", "ios": "iOS", "labelsep": ": ", "lastdownloaded": "Poslední stažení", "lastmodified": "Naposledy změněno", "lastsync": "Poslední synchronizace", + "layoutgrid": "Mřížka", + "list": "Prohlédnout seznam", "listsep": ";", "loading": "Nahrávání", "loadmore": "Načíst další", - "lostconnection": "Ztratili jsme spojení, potřebujete se znovu připojit. Váš token je nyní neplatný", + "lostconnection": "Váš token je neplatný nebo vypršel. Budete se muset znovu připojit k webu.", "maxsizeandattachments": "Maximální velikost nových souborů: {{$a.size}}, maximální přílohy: {{$a.attachments}}", "min": "min.", "mins": "min.", @@ -144,7 +147,7 @@ "nocomments": "Bez komentářů", "nograde": "Bez známky", "none": "Žádný", - "nopasswordchangeforced": "Nemůžete pokračovat dál bez změny hesla, ale stránka pro jeho změnu není k dispozici. Kontaktujte správce Vašeho eLearningu Moodle.", + "nopasswordchangeforced": "Nelze pokračovat beze změny hesla.", "nopermissions": "Je mi líto, ale momentálně nemáte oprávnění vykonat tuto operaci ({{$a}})", "noresults": "Žádné výsledky", "notapplicable": "n/a", @@ -173,18 +176,18 @@ "retry": "Opakovat", "save": "Uložit", "search": "Hledat", - "searching": "Hledat v", + "searching": "Hledání", "searchresults": "Výsledky hledání", "sec": "sek.", "secs": "sekund", "seemoredetail": "Více podrobností...", "send": "odeslat", - "sending": "Odesílání", + "sending": "Odeslání", "serverconnection": "Chyba spojení se serverem", "show": "Zobrazit", "showmore": "Zobrazit více...", "site": "Stránky", - "sitemaintenance": "Na webu probíhá údržba a aktuálně není k dispozici", + "sitemaintenance": "Na webu probíhá údržba a aktuálně není k dispozici.", "sizeb": "bytů", "sizegb": "GB", "sizekb": "KB", @@ -204,7 +207,7 @@ "tryagain": "Zkuste znovu", "twoparagraphs": "{{p1}}

      {{p2}}", "uhoh": "Upozornění!", - "unexpectederror": "Neočekávaná chyba. Zavřete a znovu otevřete aplikaci a zkuste to znovu, prosím", + "unexpectederror": "Neočekávaná chyba. Zavřete a znovu otevřete aplikaci a zkuste to znovu, prosím.", "unicodenotsupported": "Některá emojis nejsou na tomto webu podporována. Takové znaky budou při odeslání zprávy odstraněny.", "unicodenotsupportedcleanerror": "Při čištění Unicode znaků byl nalezen prázdný text.", "unknown": "Neznámý", diff --git a/www/core/lang/da.json b/www/core/lang/da.json index cae175a5f28..2d3f3c102cb 100644 --- a/www/core/lang/da.json +++ b/www/core/lang/da.json @@ -22,10 +22,14 @@ "commentscount": "Kommentarer ({{$a}})", "completion-alt-auto-fail": "Gennemført: {{$a}} (opnåede ikke beståelseskarakter)", "completion-alt-auto-n": "Ikke gennemført: {{$a}}", + "completion-alt-auto-n-override": "Ikke fuldført: {{$a.modname}} (set by {{$a.overrideuser}})", "completion-alt-auto-pass": "Gennemført: {{$a}} (opnåede beståelseskarakter)", "completion-alt-auto-y": "Gennemført: {{$a}}", + "completion-alt-auto-y-override": "Fuldført: {{$a.modname}} (set by {{$a.overrideuser}})", "completion-alt-manual-n": "Ikke gennemført: {{$a}}. Vælg for at markere som gennemført.", + "completion-alt-manual-n-override": "Ikke fuldført: {{$a.modname}} (set by {{$a.overrideuser}}). Vælg til markering som fuldført.", "completion-alt-manual-y": "Gennemført: {{$a}}. Vælg for at markere som ikke gennemført.", + "completion-alt-manual-y-override": "Fuldført: {{$a.modname}} (set by {{$a.overrideuser}}). Vælg til markering som ikke fuldført.", "confirmcanceledit": "Er du sikker på at du vil forlade denne side? Alle ændringer vil gå tabt.", "confirmdeletefile": "Er du sikker på at du vil slette denne fil?", "confirmloss": "Er du sikker? Alle ændringer vil gå tabt.", @@ -76,14 +80,15 @@ "hour": "time", "hours": "timer", "humanreadablesize": "{{size}} {{unit}}", - "image": "Billede ({{$a.MIMETYPE2}})", + "image": "Billede", "imageviewer": "Billedfremviser", - "info": "Info", + "info": "Information", "ios": "iOS", "labelsep": ":", "lastdownloaded": "Sidst downloadet", "lastmodified": "Senest ændret", "lastsync": "Sidst synkroniseret", + "list": "Vis liste", "listsep": ";", "loading": "Indlæser", "loadmore": "Indlæs mere", @@ -127,7 +132,7 @@ "nocomments": "Ingen kommentarer", "nograde": "Ingen karakter", "none": "Ingen", - "nopasswordchangeforced": "Du kan ikke fortsætte uden at ændre din adgangskode, men der er ingen tilgængelig side at ændre den på. Kontakt din Moodleadministrator.", + "nopasswordchangeforced": "Du kan ikke fortsætte uden at ændre din adgangskode.", "nopermissions": "Beklager, men dette ({{$a}}) har du ikke tilladelse til.", "noresults": "Ingen resultater", "notapplicable": "n/a", @@ -147,6 +152,7 @@ "pictureof": "Billede af {{$a}}", "previous": "Forrige", "pulltorefresh": "Træk for at opdatere", + "quotausage": "Du har nu brugt {{$a.used}} af din grænse på {{$a.total}}.", "redirectingtosite": "Du bliver videresendt til siden", "refresh": "Genindlæs", "required": "Krævet", @@ -155,7 +161,7 @@ "retry": "Prøv igen", "save": "Gem", "search": "Søg...", - "searching": "Søg i", + "searching": "Søger", "searchresults": "Søgeresultater", "sec": "sekunder", "secs": "sekunder", diff --git a/www/core/lang/de-du.json b/www/core/lang/de-du.json index df24b40d0cb..a8b620dbc46 100644 --- a/www/core/lang/de-du.json +++ b/www/core/lang/de-du.json @@ -49,7 +49,7 @@ "decsep": ",", "delete": "Löschen", "deletedoffline": "Offline gelöscht", - "deleting": "Lösche", + "deleting": "Löschen ...", "description": "Beschreibung", "dfdaymonthyear": "DD.MM.YYYY", "dfdayweekmonth": "ddd, D. MMM", @@ -93,14 +93,16 @@ "hour": "Stunde", "hours": "Stunden", "humanreadablesize": "{{size}} {{unit}}", - "image": "Bilddatei ({{$a.MIMETYPE2}})", + "image": "Bild", "imageviewer": "Bildanzeige", - "info": "Information", + "info": "Info", "ios": "iOS", "labelsep": ":", "lastdownloaded": "Zuletzt heruntergeladen", "lastmodified": "Zuletzt geändert", "lastsync": "Zuletzt synchronisiert", + "layoutgrid": "Horizontal", + "list": "Listenansicht", "listsep": ";", "loading": "Wird geladen", "loadmore": "Mehr laden", @@ -131,7 +133,7 @@ "nocomments": "Noch keine Kommentare", "nograde": "Keine Bewertung", "none": "Keine", - "nopasswordchangeforced": "Ohne die Änderung des Kennworts können Sie nicht weitermachen. Falls die Seite zur Änderung des Kennworts nicht verfügbar ist, wenden Sie sich an den Administrator der Website.", + "nopasswordchangeforced": "Du kannst nicht weitermachen, ohne das Kennwort zu ändern.", "nopermissions": "Entschuldigung, aber du besitzt derzeit keine Rechte, dies zu tun ({{$a}}).", "noresults": "Keine Ergebnisse", "notapplicable": "n/a", @@ -160,13 +162,13 @@ "retry": "Neu versuchen", "save": "Sichern", "search": "Suchen", - "searching": "Suche in ...", + "searching": "Suchen", "searchresults": "Suchergebnisse", "sec": "Sekunde", "secs": "Sekunden", "seemoredetail": "Klicke hier, um weitere Details sichtbar zu machen", "send": "Senden", - "sending": "wird gesendet", + "sending": "Senden", "serverconnection": "Fehler beim Verbinden zum Server", "show": "Anzeigen", "showmore": "Mehr anzeigen ...", diff --git a/www/core/lang/de.json b/www/core/lang/de.json index f28a2d6794f..71dfb4541c2 100644 --- a/www/core/lang/de.json +++ b/www/core/lang/de.json @@ -50,7 +50,7 @@ "defaultvalue": "Standard ({{$a}})", "delete": "Löschen", "deletedoffline": "Offline gelöscht", - "deleting": "Lösche", + "deleting": "Löschen ...", "description": "Beschreibung", "dfdaymonthyear": "DD.MM.YYYY", "dfdayweekmonth": "ddd, D. MMM", @@ -94,14 +94,16 @@ "hour": "Stunde", "hours": "Stunden", "humanreadablesize": "{{size}} {{unit}}", - "image": "Bilddatei ({{$a.MIMETYPE2}})", + "image": "Bild", "imageviewer": "Bildanzeige", - "info": "Information", + "info": "Info", "ios": "iOS", "labelsep": ": ", "lastdownloaded": "Zuletzt heruntergeladen", "lastmodified": "Zuletzt geändert", "lastsync": "Zuletzt synchronisiert", + "layoutgrid": "Horizontal", + "list": "Listenansicht", "listsep": ";", "loading": "Wird geladen", "loadmore": "Mehr laden", @@ -145,7 +147,7 @@ "nocomments": "Noch keine Kommentare", "nograde": "Keine Bewertung", "none": "Keine", - "nopasswordchangeforced": "Ohne die Änderung des Kennworts können Sie nicht weitermachen. Falls die Seite zur Änderung des Kennworts nicht verfügbar ist, wenden Sie sich an den Administrator der Website.", + "nopasswordchangeforced": "Sie können nicht weitermachen, ohne das Kennwort zu ändern.", "nopermissions": "Sie besitzen derzeit keine Rechte, dies zu tun ({{$a}}).", "noresults": "Keine Ergebnisse", "notapplicable": "n/a", @@ -174,13 +176,13 @@ "retry": "Neu versuchen", "save": "Speichern", "search": "Suchen", - "searching": "Suche in ...", + "searching": "Suchen", "searchresults": "Suchergebnisse", "sec": "Sekunde", "secs": "Sekunden", "seemoredetail": "Hier klicken, um weitere Details sichtbar zu machen", "send": "Senden", - "sending": "wird gesendet", + "sending": "Senden", "serverconnection": "Fehler beim Verbinden zum Server", "show": "Anzeigen", "showmore": "Mehr anzeigen ...", diff --git a/www/core/lang/el.json b/www/core/lang/el.json index 23e7532a8cb..cd7e675c22d 100644 --- a/www/core/lang/el.json +++ b/www/core/lang/el.json @@ -40,7 +40,7 @@ "days": "ημέρες", "decsep": ",", "delete": "Διαγραφή", - "deleting": "Διαγραφή", + "deleting": "Γίνεται διαγραφή", "description": "Κείμενο εισαγωγής", "dfdaymonthyear": "MM-DD-YYYY", "dfdayweekmonth": "ddd, D MMM", @@ -90,6 +90,8 @@ "ios": "iOS", "lastmodified": "Τελευταία τροποποίηση", "lastsync": "Τελευταίος συγχρονισμός", + "layoutgrid": "Πλέγμα", + "list": "Προβολή λίστας", "listsep": ";", "loading": "Φορτώνει", "loadmore": "Φόρτωση περισσότερων", @@ -133,7 +135,7 @@ "nocomments": "Χωρίς Σχόλια", "nograde": "Δεν υπάρχει βαθμός", "none": "Κανένας", - "nopasswordchangeforced": "You cannot proceed without changing your password, however there is no available page for changing it. Please contact your Moodle Administrator.", + "nopasswordchangeforced": "Δεν μπορείτε να προχωρήσετε χωρίς να αλλάξετε τον κωδικό πρόσβασής σας.", "nopermissions": "Συγνώμη, αλλά επί του τρεχόντως δεν έχετε το δικαίωμα να το κάνετε αυτό ({{$a}})", "noresults": "Κανένα αποτέλεσμα", "notapplicable": "n/a", @@ -161,13 +163,13 @@ "retry": "Προσπαθήστε ξανά", "save": "Αποθήκευση", "search": "Αναζήτηση", - "searching": "Αναζήτηση σε", + "searching": "Αναζήτηση", "searchresults": "Αποτελέσματα αναζήτησης", "sec": "δευτερόλεπτο", "secs": "δευτερόλεπτα", "seemoredetail": "Κάντε κλικ εδώ για να δείτε περισσότερες λεπτομέρειες", "send": "Αποστολή", - "sending": "Αποστέλλεται", + "sending": "Αποστολή", "show": "Προβολή", "showmore": "Περισσότερα...", "site": "ιστοχώρος", diff --git a/www/core/lang/en.json b/www/core/lang/en.json index 1133484ca80..a04acb91ed1 100644 --- a/www/core/lang/en.json +++ b/www/core/lang/en.json @@ -103,6 +103,8 @@ "lastdownloaded": "Last downloaded", "lastmodified": "Last modified", "lastsync": "Last synchronisation", + "layoutgrid": "Grid", + "list": "List", "listsep": ",", "loading": "Loading", "loadmore": "Load more", diff --git a/www/core/lang/es-mx.json b/www/core/lang/es-mx.json index 13018be014e..02944b4d54b 100644 --- a/www/core/lang/es-mx.json +++ b/www/core/lang/es-mx.json @@ -94,7 +94,7 @@ "hour": "hora", "hours": "horas", "humanreadablesize": "{{size}} {{unit}}", - "image": "Imagen ({{$a.MIMETYPE2}})", + "image": "Imagen", "imageviewer": "Visor de imágenes", "info": "Información", "ios": "iOS", @@ -102,6 +102,8 @@ "lastdownloaded": "Última descarga", "lastmodified": "Última modicficación", "lastsync": "Última sincronización", + "layoutgrid": "Rejilla", + "list": "Ver lista", "listsep": ";", "loading": "Cargando", "loadmore": "Cargar más", @@ -145,7 +147,7 @@ "nocomments": "No hay comentarios", "nograde": "No hay calificación", "none": "Ninguno/a", - "nopasswordchangeforced": "No puede seguir sin cambiar su contraseña, sin embargo no existe ninguna página disponible para cambiarla. Por favor contacte a su administrador de Moodle.", + "nopasswordchangeforced": "Usted no puede proceder sin cambiar su contraseña.", "nopermissions": "Lo sentimos, pero por el momento no tiene permiso para hacer eso ({{$a}})", "noresults": "Sin resultados", "notapplicable": "no disp.", @@ -174,7 +176,7 @@ "retry": "Reintentar", "save": "Guardar", "search": "Buscar", - "searching": "Buscando en ...", + "searching": "Buscando", "searchresults": "Resultados de la búsqueda", "sec": "segundos", "secs": "segundos", diff --git a/www/core/lang/es.json b/www/core/lang/es.json index 0507ea70998..691578bbbab 100644 --- a/www/core/lang/es.json +++ b/www/core/lang/es.json @@ -40,7 +40,7 @@ "days": "días", "decsep": ",", "delete": "Eliminar", - "deleting": "Eliminando", + "deleting": "Borrando", "description": "Descripción", "dfdaymonthyear": "MM-DD-YYYY", "dfdayweekmonth": "ddd, D MMM", @@ -84,13 +84,15 @@ "hour": "hora", "hours": "horas", "humanreadablesize": "{{size}} {{unit}}", - "image": "Imagen ({{$a.MIMETYPE2}})", + "image": "Imagen", "imageviewer": "Visor de imágenes", - "info": "Info", + "info": "Información", "ios": "iOs", "labelsep": ":", "lastmodified": "Última modificación", "lastsync": "Última sincronización", + "layoutgrid": "Rejilla", + "list": "Ver lista", "listsep": ";", "loading": "Cargando", "loadmore": "Cargar más", @@ -134,7 +136,7 @@ "nocomments": "No hay comentarios", "nograde": "No hay calificación", "none": "Ninguna", - "nopasswordchangeforced": "No puede seguir sin cambiar su contraseña, sin embargo no existe ninguna página disponible para cambiarla. Por favor contacte a su administrador de Moodle.", + "nopasswordchangeforced": "No puede continuar sin cambiar su contraseña.", "nopermissions": "Lo sentimos, pero por el momento no tiene permiso para hacer eso ({{$a}})", "noresults": "Sin resultados", "notapplicable": "n/a", @@ -154,6 +156,7 @@ "pictureof": "Imagen de {{$a}}", "previous": "Anterior", "pulltorefresh": "Tirar para recargar", + "quotausage": "Actualmente has utilizado {{$a.used}} de tu {{$a.total}} límite.", "redirectingtosite": "Será redirigido al sitio.", "refresh": "Recargar", "required": "Obligatorio", @@ -162,7 +165,7 @@ "retry": "Reintentar", "save": "Guardar", "search": "Buscar", - "searching": "Buscar en", + "searching": "Buscando", "searchresults": "Resultados de la búsqueda", "sec": "segundos", "secs": "segundos", diff --git a/www/core/lang/eu.json b/www/core/lang/eu.json index 7df53ad62a3..90cca8a4bd4 100644 --- a/www/core/lang/eu.json +++ b/www/core/lang/eu.json @@ -6,7 +6,7 @@ "back": "Atzera", "cancel": "Utzi", "cannotconnect": "Ezin izan da konektatu: URLa ondo idatzi duzula eta zure Moodle-ak 2.4 edo goragoko bertsioa erabiltzen duela egiaztatu ezazu.", - "cannotdownloadfiles": "Fitxategiak jaistea ezgaituta dago zure Mobile zerbitzuan. Mesedez zure gune kudeatzailean harremanetan jarri zaitez.", + "cannotdownloadfiles": "Fitxategiak jaistea ezgaituta dago. Mesedez, jar zaitez harremanetan zure guneko kudeatzailearekin.", "captureaudio": "Grabatu audioa", "capturedimage": "Argazkia atera da.", "captureimage": "Atera argazkia", @@ -42,12 +42,13 @@ "course": "Ikastaroa", "coursedetails": "Ikastaro-xehetasunak", "currentdevice": "Oraingo gailua", - "datastoredoffline": "Gailu honetan gordetako informazioa ezin izan da bidali. Beranduago automatikoki bidaliko da.", + "datastoredoffline": "Informazioa gailuan gorde da ezin izan delako bidali. Beranduago automatikoki bidaliko da.", "date": "Data", "day": "egun(a)", "days": "egun", "decsep": ",", "delete": "Ezabatu", + "deletedoffline": "Lineaz kanpo ezabatu da", "deleting": "Ezabatzen", "description": "Deskribapena", "dfdaymonthyear": "YYYY-MM-DD", @@ -67,10 +68,10 @@ "errorchangecompletion": "Errorea gertatu da osaketa-egoera aldatzean. Mesedez saiatu berriz.", "errordeletefile": "Errorea fitxategia ezabatzean. Mesedez, saiatu berriz.", "errordownloading": "Errorea fitxategia jaistean.", - "errordownloadingsomefiles": "Errorea moduluaren fitxategiak jaistean. Fitxategi batzuk falta daitezke.", + "errordownloadingsomefiles": "Errore bat gertatu da moduluaren fitxategiak jaistean. Fitxategi batzuk falta daitezke.", "errorfileexistssamename": "Dagoeneko badago izen hori duen fitxategi bat.", - "errorinvalidform": "Formularioak balio ez duten datuak dauzka. Mesedez egiaztatu derrigorrezko eremuak bete dituzula eta datuak egokiak direla.", - "errorinvalidresponse": "Erantzun baliogabea jaso da. Mesedez, jar zaitez harremanetan zure Moodle-ko kudeatzailearekin errorea iraunkorra bada.", + "errorinvalidform": "Formularioak baliozkoak ez diren datuak dauzka. Mesedez egiaztatu derrigorrezko eremuak bete dituzula eta datuak egokiak direla.", + "errorinvalidresponse": "Erantzun baliogabea jaso da. Errorea iraunkorra bada mesedez jar zaitez harremanetan zure guneko kudeatzailearekin .", "errorloadingcontent": "Errorea edukia kargatzean.", "erroropenfilenoapp": "Errorea fitxategia irekitzean: ez da aurkitu fitxategi mota hau irekitzeko app-rik.", "erroropenfilenoextension": "Errorea fitxategia irekitzean: fitxategiak ez dauka luzapenik.", @@ -92,18 +93,20 @@ "hour": "ordu", "hours": "ordu(ak)", "humanreadablesize": "{{size}} {{unit}}", - "image": "Irudia ({{$a.MIMETYPE2}})", + "image": "Irudia", "imageviewer": "Irudi ikuskatzailea", - "info": "Info", + "info": "Informazioa", "ios": "iOS", "labelsep": " :", "lastdownloaded": "Azkenik jaitsita", "lastmodified": "Azken aldaketa", "lastsync": "Azken sinkronizazioa", + "layoutgrid": "Laukia", + "list": "Ikusi zerrenda", "listsep": ";", "loading": "Kargatzen", "loadmore": "Kargatu gehiago", - "lostconnection": "Zure token-a orain ez da baliozkoa edo iraungitu da, gunera berriz konektatu beharko zara.", + "lostconnection": "Zure autentikazio-token-a ez da baliozkoa edo iraungitu da. Gunera berriz konektatu beharko duzu.", "maxsizeandattachments": "Gehienezko tamaina fitxategi berrietarako: {{$a.size}}, gehienezko eranskin-kopurua: {{$a.attachments}}", "min": "minutu", "mins": "minutu", @@ -143,7 +146,7 @@ "nocomments": "Iruzkinik ez", "nograde": "Kalifikaziorik ez", "none": "Bat ere ez", - "nopasswordchangeforced": "Ezin duzu aurrera egin pasahitza aldatu gabe, baina ez dago aldatzeko inongo orririk. Mesedez, jarri harremanetan zure Moodle Kudeatzailearekin.", + "nopasswordchangeforced": "Ezin duzu jarraitu zure pasahitza aldatu gabe.", "nopermissions": "Sentitzen dugu, baina oraingoz ez duzu hori egiteko baimenik ({{$a}})", "noresults": "Emaitzarik ez", "notapplicable": "ezin da aplikatu", @@ -153,7 +156,7 @@ "numwords": "{{$a}} hitz", "offline": "Ez du on-line bidalketarik eskatzen", "online": "On-line", - "openfullimage": "Klik egin hemen irudia jatorrizko tamainan ikusteko", + "openfullimage": "Klik egin hemen irudia jatorrizko tamainan ikusteko.", "openinbrowser": "Ireki nabigatzailean", "othergroups": "Beste taldeak", "pagea": "{{$a}} orria", @@ -167,12 +170,12 @@ "redirectingtosite": "Gunera berbideratua izango zara.", "refresh": "Freskatu", "required": "Beharrezkoa", - "requireduserdatamissing": "Erabiltzaile honek beharrezkoak diren profileko datuak bete gabe ditu. Mesedez, bete itzazu datu hauek zure Moodle gunean eta saiatu berriz.
      {{$a}}", + "requireduserdatamissing": "Erabiltzaile honek beharrezkoak diren profileko datuak bete gabe ditu. Mesedez, bete itzazu datu hauek zure gunean eta saiatu berriz.
      {{$a}}", "restore": "Berreskuratu", "retry": "Berriz saiatu", "save": "Gorde", "search": "Bilatu...", - "searching": "Bilatu hemen", + "searching": "Bilatzen", "searchresults": "Bilaketaren emaitzak", "sec": "seg", "secs": "segundu", @@ -203,7 +206,7 @@ "tryagain": "Saiatu berriz", "twoparagraphs": "{{p1}}

      {{p2}}", "uhoh": "Oh oh!", - "unexpectederror": "Ezusteko errorea. Mesedez ireki eta berriz ireki app-a eta berriz saiatu", + "unexpectederror": "Ezusteko errore bat gertatu da. Mesedez app-a itxi eta berriz ireki ondoren berriz saiatu zaitez.", "unicodenotsupported": "Emoji batzuk ez dira gune honetan onartzen. Mezua karaktere horiek kenduta bidaliko da.", "unicodenotsupportedcleanerror": "Testu hutsa aurkitu da Unicode karaktereak ezabatzean.", "unknown": "Ezezaguna", @@ -212,6 +215,7 @@ "upgraderunning": "Gunea eguneratzen ari da; mesedez, saitu beranduago.", "userdeleted": "Erabiltzaile-kontu hau ezabatu da", "userdetails": "Erabiltzaileen xehetasunak", + "usernotfullysetup": "Erabiltzailea ez dago guztiz prest", "users": "Erabiltzaileak", "view": "Ikusi", "viewprofile": "Profila ikusi", diff --git a/www/core/lang/fa.json b/www/core/lang/fa.json index 9e4139ecd2e..36c81f26e92 100644 --- a/www/core/lang/fa.json +++ b/www/core/lang/fa.json @@ -52,6 +52,8 @@ "info": "توضیحات", "labelsep": ": ", "lastmodified": "آخرین تغییر", + "layoutgrid": "جدول", + "list": "مشاهدهٔ لیست", "listsep": ",", "loading": "در حال بارگیری", "lostconnection": "اطلاعات توکن شناسایی شما معتبر نیست یا منقضی شده است. باید دوباره به سایت متصل شوید.", diff --git a/www/core/lang/fi.json b/www/core/lang/fi.json index 7cdcb68d1bc..35bfe440f9e 100644 --- a/www/core/lang/fi.json +++ b/www/core/lang/fi.json @@ -80,12 +80,14 @@ "hide": "Piilota", "hour": "tunti", "hours": "tuntia", - "image": "Kuva ({{$a.MIMETYPE2}})", + "image": "Kuva", "info": "Taustatieto", "labelsep": ":", "lastdownloaded": "Viimeksi ladattu", "lastmodified": "Viimeksi muokattu", "lastsync": "Viimeinen synkroinointi", + "layoutgrid": "Ruudukko", + "list": "Näytä listana", "listsep": ";", "loading": "Lataa...", "loadmore": "Lataa lisää", @@ -116,7 +118,7 @@ "nocomments": "Ei kommentteja", "nograde": "Ei arvosanaa", "none": "Ei yhtään", - "nopasswordchangeforced": "Sinun täytyy muuttaa salasanaasi jatkaaksesi. Salasanan muuttamiseen ei kuitenkaan ole sivua, joten ota yhteyttä Moodlen ylläpitäjään.", + "nopasswordchangeforced": "Et voi jatkaa ennen kuin vaihdat salasanasi.", "nopermissions": "Sinulla ei ole oikeutta tehdä kyseistä operaatiota ({{$a}})", "noresults": "Ei tuloksia", "notice": "Ilmoitus", @@ -142,7 +144,7 @@ "retry": "Yritä uudelleen", "save": "Tallenna", "search": "Etsi", - "searching": "Haetaan  ", + "searching": "Hakee", "searchresults": "Haun tulokset", "sec": "sekunti", "secs": "sekuntia", diff --git a/www/core/lang/fr.json b/www/core/lang/fr.json index e24b7e5ee8a..336b563ee2b 100644 --- a/www/core/lang/fr.json +++ b/www/core/lang/fr.json @@ -50,7 +50,7 @@ "defaultvalue": "Défaut ({{$a}})", "delete": "Supprimer", "deletedoffline": "Supprimé en local", - "deleting": "En cours de suppression", + "deleting": "Suppression", "description": "Description", "dfdaymonthyear": "DD-MM-YYYY", "dfdayweekmonth": "ddd, D MMM", @@ -94,7 +94,7 @@ "hour": "heure", "hours": "heures", "humanreadablesize": "{{size}} {{unit}}", - "image": "Image ({{$a.MIMETYPE2}})", + "image": "Image", "imageviewer": "Lecteur d'images", "info": "Info", "ios": "iOS", @@ -102,6 +102,8 @@ "lastdownloaded": "Dernier téléchargement", "lastmodified": "Dernière modification", "lastsync": "Dernière synchronisation", + "layoutgrid": "Grille", + "list": "Affichage liste", "listsep": ";", "loading": "Chargement", "loadmore": "Charger plus", @@ -145,7 +147,7 @@ "nocomments": "Aucun commentaire", "nograde": "Pas de note", "none": "Aucun", - "nopasswordchangeforced": "Vous ne pouvez pas continuer sans modifier votre mot de passe. Cependant, il n'y a aucun moyen disponible de le modifier. Veuillez contacter l'administrateur de votre Moodle.", + "nopasswordchangeforced": "Vous ne pouvez pas continuer sans changer votre mot de passe.", "nopermissions": "Désolé, vous n'avez actuellement pas les droits d'accès requis pour effectuer ceci ({{$a}})", "noresults": "Pas de résultat", "notapplicable": "n/a", @@ -174,7 +176,7 @@ "retry": "Essayer à nouveau", "save": "Enregistrer", "search": "Rechercher", - "searching": "Recherche dans...", + "searching": "Recherche", "searchresults": "Résultats de la recherche", "sec": "s", "secs": "s", diff --git a/www/core/lang/he.json b/www/core/lang/he.json index fcaacd70c96..8ce79af493c 100644 --- a/www/core/lang/he.json +++ b/www/core/lang/he.json @@ -52,11 +52,13 @@ "hide": "הסתרה", "hour": "שעה", "hours": "שעות", - "image": "תמונת ({{$a.MIMETYPE2}})", + "image": "תמונה", "imageviewer": "מציג תמונות", "info": "מידע", "labelsep": ":", "lastmodified": "עדכון אחרון", + "layoutgrid": "סריג", + "list": "רשימת פריטים", "listsep": ",", "loading": "טעינה", "lostconnection": "לקוד הזיהוי המאובטח שלך פג התוקף, ולכן החיבור נותק. עליך להתחבר שוב.", @@ -90,7 +92,7 @@ "mod_wiki": "ויקי (תוצר משותף)", "mod_workshop": "הערכת־עמיתים", "moduleintro": "הנחיה לפעילות", - "name": "שם:", + "name": "שם", "networkerrormsg": "הרשת לא מופעלת או לא עובדת.", "never": "אף פעם לא", "next": "הבא", @@ -115,6 +117,7 @@ "pictureof": "תמונה של {{$a}}", "previous": "קודם", "pulltorefresh": "משיכה לרענון", + "quotausage": "השתמשת כרגע ב {{$a.used}} מהמגבלה שלך בסך {{$a.total}}.", "refresh": "רענון", "required": "דרוש", "requireduserdatamissing": "למשתמש זה חסרים שדות נדרשים בפרופיל המשתמש. יש להשלים מידע זה באתר המוודל שלך ולנסות שוב.
      {{$a}}", @@ -127,7 +130,7 @@ "secs": "שניות", "seemoredetail": "הקליקו כאן כדי לראות פרטים נוספים", "send": "שליחה", - "sending": "שולחים", + "sending": "שולח", "serverconnection": "שגיאה בהתחברות לשרת", "show": "הצגה", "site": "מערכת", diff --git a/www/core/lang/hr.json b/www/core/lang/hr.json index 08d35e4d000..0721786b591 100644 --- a/www/core/lang/hr.json +++ b/www/core/lang/hr.json @@ -55,11 +55,13 @@ "hour": "sat", "hours": "sat(a)", "humanreadablesize": "{{size}} {{unit}}", - "image": "Slika ({{$a.MIMETYPE2}})", - "info": "Informacija", + "image": "Slika", + "info": "Info", "ios": "iOS", "labelsep": ":", "lastmodified": "Zadnji puta izmijenjeno", + "layoutgrid": "Mreža", + "list": "Prikaži popis", "listsep": ";", "loading": "Učitavanje...", "maxsizeandattachments": "Najveća dopuštena veličina za nove datoteke: {{$a.size}}, najveći broj privitaka: {{$a.attachments}}", @@ -109,7 +111,7 @@ "restore": "Vraćanje iz kopije", "save": "Pohrani", "search": "Pretraži", - "searching": "Traži u", + "searching": "Pretraga", "searchresults": "Rezultati pretraživanja", "sec": "sek", "secs": "s", diff --git a/www/core/lang/hu.json b/www/core/lang/hu.json index 21ece419326..c2ab2fc5e51 100644 --- a/www/core/lang/hu.json +++ b/www/core/lang/hu.json @@ -54,6 +54,8 @@ "info": "Információ", "labelsep": ":", "lastmodified": "Utolsó módosítás dátuma:", + "layoutgrid": "Rács", + "list": "Felsorolás megtekintése", "listsep": ";", "loading": "Betöltés", "lostconnection": "A kapcsolat megszakadt, kacsolódjon újból. Jele érvénytelen.", diff --git a/www/core/lang/it.json b/www/core/lang/it.json index ea1f0c9930a..52245441e0f 100644 --- a/www/core/lang/it.json +++ b/www/core/lang/it.json @@ -1,11 +1,16 @@ { + "accounts": "Account", "allparticipants": "Tutti i partecipanti", "android": "Android", "areyousure": "Sei sicuro?", "back": "Indietro", "cancel": "Annulla", "cannotconnect": "Impossibile connettersi: verificare che l'URL sia corretto e che il sito usi Moodle 2.4 o versioni successive.", - "cannotdownloadfiles": "Nel servizio Mobile Lo scaricamento di file è disabilitato. Per favore contatta l'amministratore del sito.", + "cannotdownloadfiles": "Lo scaricamento di file è disabilitato. Per favore contatta l'amministratore del sito.", + "captureaudio": "Registra audio", + "capturedimage": "Foto scattata.", + "captureimage": "Scatta foto", + "capturevideo": "Registra video", "category": "Categoria", "choose": "Seleziona", "choosedots": "Scegli...", @@ -28,20 +33,24 @@ "completion-alt-manual-y-override": "Completato: {{$a.modname}} (impostato da {{$a.overrideuser}}). Selezionare per contrassegnare come non completato.", "confirmcanceledit": "Sei sicuro di abbandonare questa pagina? Tutte le modifiche saranno perdute.", "confirmdeletefile": "Sei sicuro di voler eliminare questo file?", + "confirmloss": "Sei sicuro? Le modifiche andranno perdute.", "confirmopeninbrowser": "Desideri aprirlo nel browser?", "content": "Contenuto", "continue": "Continua", "course": "Corso", "coursedetails": "Dettagli corso", + "currentdevice": "Dispositivo attuale", "date": "Data", "day": "giorno", "days": "giorni", "decsep": ",", "defaultvalue": "Default ({{$a}})", "delete": "Elimina", - "deleting": "Eliminazione", + "deleting": "Eliminazione in corso", "description": "Commento", + "dfdaymonthyear": "DD-MM-YYYY", "dfdayweekmonth": "ddd, D MMM", + "dffulldate": "dddd, D MMMM YYYY h[:]mm A", "dflastweekdate": "ddd", "dfmediumdate": "LLL", "dftimedate": "h[:]mm A", @@ -53,14 +62,17 @@ "errorchangecompletion": "Si è verificato un errore durante la modifica dello stato di completamento. Per favore riprova.", "errordeletefile": "Si è verificato un errore durante l'eliminazione del file. Per favore riprova.", "errordownloading": "Si è verificato un errore durante lo scaricamento del file.", - "errordownloadingsomefiles": "Si è verificato un errore durante lo scaricamento dei file del modulo. Possono mancare alcuni file.", + "errordownloadingsomefiles": "Si è verificato un errore durante lo scaricamento dei file. E' possibile che manchino alcuni file.", "errorfileexistssamename": "Un file con lo stesso nome è già presente.", "errorinvalidresponse": "E' stata ricevuta una risposta non valida. Se l'errore persiste, contatta l'amministratore del sito.", + "errorloadingcontent": "Si è verificato un errore durante il caricamento del contenuto.", "erroropenfilenoapp": "Si è verificato un errore durante l'apertura del file: non sono disponibili app per aprire questo tipo di file.", - "erroropenfilenoextension": "Si è verificato un errore durante l'apertura del file: il file non ha estensione.", + "erroropenfilenoextension": "Si è verificato un errore durante l'apertura del file: il file non ha un'estensione.", "erroropenpopup": "L'attività tenta di aprirsi in una finestra popup. Le popup non sono supportate nella app.", - "errorrenamefile": "Si è verificato un errore durante la modifca del nome del file. Per favore riprova.", + "errorrenamefile": "Si è verificato un errore durante la modifica del nome del file. Per favore riprova.", + "errorsync": "Si è verificato un errore durante la sincronizzazione. Per favore riprova.", "filename": "Nome del file", + "filenameexist": "Un file con lo stesso non è già presente: {{$a}}", "folder": "Cartella", "forcepasswordchangenotice": "È necessario cambiare la password per proseguire.", "fulllistofcourses": "Tutti i corsi", @@ -72,16 +84,18 @@ "hour": "ora", "hours": "ore", "humanreadablesize": "{{size}} {{unit}}", - "image": "Immagine ({{$a.MIMETYPE2}})", + "image": "Immagine", "imageviewer": "Visualizzatore di immagini", - "info": "Informazione", + "info": "Informazioni", "ios": "iOS", "labelsep": ": ", "lastmodified": "Ultima modifica", "lastsync": "Ultima sincronizzazione", + "layoutgrid": "Griglia", + "list": "Elenco", "listsep": ";", "loading": "Caricamento in corso", - "lostconnection": "La connessione è stata perduta. Il tuo token non è più valido.", + "lostconnection": "Il token di autenticazione non è valido o è scaduto. Devi autenticarti nuovamente.", "maxsizeandattachments": "Dimensione massima per i file nuovi: {{$a.size}}, numero massimo di allegati: {{$a.attachments}}", "min": "min.", "mins": "min.", @@ -126,6 +140,7 @@ "noresults": "Nessun risultato", "notapplicable": "n/d", "notice": "Nota", + "notsent": "Non inviato", "now": "adesso", "numwords": "{{$a}} parole", "offline": "Questo compito non richiede consegne online", @@ -143,18 +158,18 @@ "quotausage": "Hai utilizzato {{$a.used}} su un massimo di {{$a.total}}", "refresh": "Aggiorna", "required": "La risposta è obbligatoria", - "requireduserdatamissing": "Nel profilo di questo utente mancano alcuni dati. Per favore compila i dati mancanti in Moodle e riprova.
      {{$a}}", + "requireduserdatamissing": "Nel profilo di questo utente mancano alcuni dati. Per favore compila i dati mancanti e riprova.
      {{$a}}", "restore": "Ripristino", "retry": "Riprova", "save": "Salva", "search": "Cerca", - "searching": "Cerca in", + "searching": "Ricerca in corso", "searchresults": "Risultati della ricerca", "sec": "secondo", "secs": "secondi", "seemoredetail": "Clicca qui per ulteriori dettagli", "send": "invia", - "sending": "Invio in corso", + "sending": "Invio in c orso", "serverconnection": "Si è verificato un errore durante la connessione al server", "show": "Visualizza", "site": "Sito", @@ -166,14 +181,15 @@ "sortby": "Ordina per", "start": "Apertura", "submit": "Invia", - "success": "Operazione eseguita con successo", + "success": "Operazione eseguita correttamente", "tablet": "Tablet", "teachers": "Docenti", "time": "Data/Ora", "timesup": "Tempo scaduto!", "today": "Oggi", + "tryagain": "Riprova", "twoparagraphs": "{{p1}}

      {{p2}}", - "unexpectederror": "Si è verificato un errore inatteso. Riprova chiudendo e riaprendo l'applicazione", + "unexpectederror": "Si è verificato un errore inatteso. Riprova chiudendo e riaprendo l'applicazione.", "unknown": "Sconosciuto", "unlimited": "Nessun limite", "unzipping": "Decompressione in corso", diff --git a/www/core/lang/ja.json b/www/core/lang/ja.json index 08a2d11878e..522e29f4c84 100644 --- a/www/core/lang/ja.json +++ b/www/core/lang/ja.json @@ -45,7 +45,7 @@ "decsep": ".", "defaultvalue": "デフォルト ({{$a}})", "delete": "削除", - "deleting": "削除", + "deleting": "消去中", "description": "説明", "dfdaymonthyear": "YYYY/MM/DD", "dfdayweekmonth": "MMM月D日(ddd)", @@ -89,13 +89,15 @@ "hour": "時間", "hours": "時間", "humanreadablesize": "{{size}} {{unit}}", - "image": "イメージ ({{$a.MIMETYPE2}})", + "image": "画像", "imageviewer": "画像ビューア", - "info": "インフォメーション", + "info": "情報", "ios": "iOS", "labelsep": ":", "lastmodified": "最終更新日時", "lastsync": "最後の同期", + "layoutgrid": "グリッド", + "list": "一覧表示", "listsep": ",", "loading": "読み込み", "loadmore": "続きを読み込む", @@ -126,9 +128,9 @@ "nocomments": "コメントなし", "nograde": "評点なし", "none": "なし", - "nopasswordchangeforced": "あなたはパスワードを変更せずに次へ進むことはできません。しかし、パスワードを変更するため利用できるページがありません。あなたのMoodle管理者にご連絡ください。", + "nopasswordchangeforced": "パスワードを変更するまで続きを実行できません。", "nopermissions": "申し訳ございません、現在、あなたは 「 {{$a}} 」を実行するためのパーミッションがありません。", - "noresults": "該当データがありません。", + "noresults": "該当データはありません。", "notapplicable": "なし", "notice": "警告", "notsent": "未送信", @@ -155,7 +157,7 @@ "retry": "再実行", "save": "保存", "search": "検索 ...", - "searching": "検索:", + "searching": "検索中", "searchresults": "検索結果", "sec": "秒", "secs": "秒", @@ -189,7 +191,7 @@ "unexpectederror": "不明なエラー。アプリを閉じて再起動してみてください。", "unicodenotsupported": "本サイトでは一部の絵文字がサポートされていません。それらは送信されたメッセージから削除されます。", "unicodenotsupportedcleanerror": "Unicode文字をクリアする際に空のテキストがありました。", - "unknown": "不明", + "unknown": "不明な", "unlimited": "無制限", "unzipping": "未展開の", "upgraderunning": "サイトはアップグレード中です。後ほどお試しください。", diff --git a/www/core/lang/ko.json b/www/core/lang/ko.json new file mode 100644 index 00000000000..0ebce63b730 --- /dev/null +++ b/www/core/lang/ko.json @@ -0,0 +1,193 @@ +{ + "accounts": "계정", + "allparticipants": "모든 참가자", + "android": "안드로이드", + "areyousure": "계속하시겠습니까?", + "back": "뒤로", + "cancel": "취소", + "cannotconnect": "연결할 수 없음: URL을 정확히 입력했는지 그리고 사이트가 Moodle 2.4 이상을 사용하고 있는지 확인하십시오.", + "cannotdownloadfiles": "파일 다운로드가 비활성화되었습니다. 사이트 관리자에게 문의하십시오.", + "captureaudio": "오디오 녹음", + "capturedimage": "사진을 찍었습니다.", + "captureimage": "사진 촬영", + "capturevideo": "비디오 녹화", + "category": "범주", + "choose": "선택", + "choosedots": "선택...", + "clearsearch": "명확한 검색", + "clicktohideshow": "펴거나 접으려면 클릭", + "clicktoseefull": "전체 내용을 보려면 클릭하십시오.", + "close": "닫기", + "comments": "덧글", + "commentscount": "댓글 ({{$a}})", + "commentsnotworking": "댓글을 검색 할 수 없습니다.", + "completion-alt-auto-fail": "이수함(통과 성적을 획득하지 못함)", + "completion-alt-auto-n": "미이수", + "completion-alt-auto-pass": "이수함(통과 성적 획득)", + "completion-alt-auto-y": "이수함", + "completion-alt-manual-n": "완료하지 않음; 완료된것으로 표시하려면 선택하에요.", + "completion-alt-manual-y": "완료함; 완료되지 않은것으로 표시하려면 선택하에요.", + "confirmcanceledit": "이 페이지에서 나가시겠습니까? 모든 변경 사항이 손실됩니다.", + "confirmdeletefile": "이 파일을 정말 지우겠습니까?", + "confirmloss": "확실합니까? 모든 변경 사항이 손실됩니다.", + "confirmopeninbrowser": "웹 브라우저에서 여시겠습니까?", + "content": "내용", + "contenteditingsynced": "수정중인 콘텐츠가 동기화되었습니다.", + "continue": "계속", + "copiedtoclipboard": "클립 보드에 복사 된 텍스트", + "course": "강좌", + "coursedetails": "강좌 세부내용", + "currentdevice": "현재 장치", + "datastoredoffline": "데이터를 전송할 수 없기 때문에 장치에 데이터가 저장되었습니다. 나중에 자동으로 전송됩니다.", + "date": "날짜", + "day": "일", + "days": "일", + "decsep": ".", + "delete": "삭제", + "deletedoffline": "오프라인에서 삭제됨", + "deleting": "삭제 중", + "description": "설명", + "dfdaymonthyear": "MM-DD-YYYY", + "dfdayweekmonth": "ddd, D MMM", + "dffulldate": "dddd, D MMMM YYYY h[:]mm A", + "dflastweekdate": "ddd", + "dfmediumdate": "LLL", + "dftimedate": "h[:]mm A", + "discard": "포기", + "dismiss": "버리다", + "done": "완료", + "download": "내려받기", + "downloading": "다운로드 중", + "edit": "고치기", + "emptysplit": "왼쪽 패널이 비어 있거나 로드 중인 경우이 페이지는 공백으로 표시됩니다.", + "error": "오류", + "errorchangecompletion": "완료 상태를 변경하는 중에 오류가 발생했습니다. 다시 시도하십시오.", + "errordeletefile": "파일을 삭제하는 중 오류가 발생했습니다. 다시 시도하십시오.", + "errordownloading": "파일 다운로드 중 오류가 발생했습니다.", + "errordownloadingsomefiles": "파일을 다운로드하는 중 오류가 발생했습니다. 일부 파일이 누락되었을 수 있습니다.", + "errorfileexistssamename": "이 이름의 파일이 이미 있습니다.", + "errorinvalidform": "양식에 잘못된 데이터가 있습니다. 모든 필수 입력란이 채워져 있고 데이터가 유효한지 확인하십시오.", + "errorinvalidresponse": "잘못된 응답이 수신 되었습니다. 오류가 계속되면 사이트 관리자에게 문의하십시오.", + "errorloadingcontent": "내용을 로드하는 중 오류가 발생했습니다.", + "erroropenfilenoapp": "파일 열기 중 오류: 이 유형의 파일을 여는 앱이 없습니다.", + "erroropenfilenoextension": "파일을 여는 중 오류가 발생했습니다. 파일에 확장명이 없습니다.", + "erroropenpopup": "이 활동은 팝업을 열려고 합니다. 앱에서는 지원되지 않습니다.", + "errorrenamefile": "파일의 이름을 바꾸는 중 오류가 발생했습니다. 다시 시도하십시오.", + "errorsync": "동기화 중 오류가 발생했습니다. 다시 시도하십시오.", + "errorsyncblocked": "이 {{$ a}}은(는) 진행 중인 프로세스로 인해 지금 동기화 할 수 없습니다. 나중에 다시 시도 해주십시오. 문제가 지속되면 앱을 다시 시작하십시오.", + "filename": "파일명", + "filenameexist": "파일 이름이 이미 존재합니다: {{$ a}}", + "folder": "폴더", + "forcepasswordchangenotice": "계속하려면 비밀번호를 바꿔야만 함", + "fulllistofcourses": "강좌목록", + "fullnameandsitename": "{{fullname}} ({{sitename}})", + "groupsseparate": "분리된 모둠", + "groupsvisible": "열린 모둠", + "hasdatatosync": "이 {{$ a}}에 동기화 할 오프라인 데이터가 있습니다.", + "help": "도움", + "hide": "감추기", + "hour": "시", + "hours": "시간", + "humanreadablesize": "{{size}} {{unit}}", + "image": "이미지", + "imageviewer": "이미지 뷰어", + "info": "정보", + "ios": "iOS", + "labelsep": " :", + "lastdownloaded": "마지막으로 다운로드 한 파일", + "lastmodified": "마지막 수정됨", + "lastsync": "마지막 동기화", + "layoutgrid": "그리드", + "list": "목록", + "listsep": ",", + "loading": "불러오는 중...", + "loadmore": "더 많은 로드", + "lostconnection": "인증 토큰이 유효하지 않거나 만료되었습니다. 사이트에 다시 연결해야 합니다.", + "maxsizeandattachments": "파일의 최대 크기: {{$a.size}}, 최대 첨부 파일 갯수: {{$a.attachments}}", + "min": "분", + "mins": "분", + "mod_assign": "과제", + "mod_chat": "대화방", + "mod_choice": "간편설문", + "mod_data": "데이터베이스", + "mod_feedback": "피드백(설문)", + "mod_forum": "포럼", + "mod_lesson": "완전학습", + "mod_lti": "LTI", + "mod_quiz": "퀴즈", + "mod_scorm": "스콤 패키지", + "mod_survey": "조사", + "mod_wiki": "위키", + "mod_workshop": "상호평가", + "moduleintro": "모듈 소개", + "mygroups": "내 그룹", + "name": "이름", + "networkerrormsg": "사이트에 연결하는 중에 문제가 발생했습니다. 연결을 확인하고 다시 시도하십시오.", + "never": "접속안함", + "next": "다음", + "no": "아니오", + "nocomments": "덧글 없음", + "nograde": "성적 없음", + "none": "없음", + "nopasswordchangeforced": "암호를 변경하지 않고 계속 진행할 수 없습니다.", + "nopermissions": "죄송합니다만 그 ({{$a}})를 할만한 권한이 없습니다.", + "noresults": "결과 없음", + "notapplicable": "n/a", + "notice": "알림", + "notsent": "전송되지 않음", + "now": "지금", + "numwords": "{{$a}} 단어", + "offline": "온라인 제출이 필요하지 않습니다.", + "online": "온라인", + "openfullimage": "전체 크기 이미지를 보려면 여기를 클릭하십시오.", + "openinbrowser": "브라우저에서 열기", + "othergroups": "다른 그룹", + "pagea": "페이지 {{$a}}", + "paymentinstant": "신속하게 등록금 지불 및 등록을 마치려면 아래의 버튼을 사용하시오!", + "percentagenumber": "{{$a}}%", + "phone": "전화", + "pictureof": "{{$a}} 사진", + "previous": "이전으로", + "pulltorefresh": "당겨서 새로 고침", + "redirectingtosite": "사이트로 리디렉션됩니다.", + "refresh": "새로고침", + "required": "필수사항", + "requireduserdatamissing": "이 사용자에게는 필요한 프로필 데이터가 없습니다. 사이트에 데이터를 입력하고 다시 시도하십시오.
      {{$ a}}", + "restore": "복구", + "retry": "다시 시도", + "save": "저장", + "search": "검색", + "searching": "다음에서 검색", + "searchresults": "검색 결과", + "sec": "초", + "secs": "초", + "seemoredetail": "더 많은 정보를 보기 원하시면 이곳을 클릭하시오.", + "send": "전송", + "sending": "보내는 중", + "serverconnection": "서버 접속 오류", + "show": "보기", + "site": "사이트", + "sizeb": "바이트", + "sizegb": "GB", + "sizekb": "KB", + "sizemb": "MB", + "sortby": "정렬", + "start": "시작", + "submit": "제출", + "success": "성공", + "teachers": "선생님", + "time": "시", + "timesup": "시간이 다 되었습니다!", + "today": "오늘", + "unknown": "알수없음", + "unlimited": "제한없음", + "upgraderunning": "사이트가 판올림 중이므로, 나중에 다시 시도하기 바랍니다.", + "userdeleted": "이 사용자 계정은 삭제되었습니다.", + "userdetails": "사용자 세부사항", + "users": "사용자", + "view": "보기", + "viewprofile": "개인정보 보기", + "year": "년", + "years": "년", + "yes": "예" +} \ No newline at end of file diff --git a/www/core/lang/lt.json b/www/core/lang/lt.json index 1100dc480cc..0f8dcd41c03 100644 --- a/www/core/lang/lt.json +++ b/www/core/lang/lt.json @@ -42,7 +42,7 @@ "days": "dienos", "decsep": ".", "delete": "Naikinti", - "deleting": "Naikinama", + "deleting": "Trinama", "description": "Aprašas", "dfdaymonthyear": "MM-DD-MMMM", "dfdayweekmonth": "ddd, D MMM", @@ -83,13 +83,15 @@ "hour": "valanda", "hours": "valandos", "humanreadablesize": "{{dydis}} {{vienetai}}", - "image": "Paveiksliukas ({{$a.MIMETYPE2}})", + "image": "Paveiksliukas", "imageviewer": "Paveiksliukų peržiūra", "info": "Informacija", "ios": "iOS", "labelsep": ":", "lastmodified": "Paskutinį kartą modifikuota", "lastsync": "Paskutinis sinchronizavimas", + "layoutgrid": "Tinklelis", + "list": "Peržiūrėti sąrašą", "listsep": ";", "loading": "Kraunasi", "lostconnection": "Jūsų atpažinimo kodas neteisingas arba negalioja, turėsite vėl prisijungti prie svetainės.", @@ -132,7 +134,7 @@ "nocomments": "Jokių komentarų", "nograde": "Nėra įverčio", "none": "Nei vienas", - "nopasswordchangeforced": "Negalite tęsti nepakeitę slaptažodžio, tačiau nėra slaptažodžio keitimo puslapio. Susisiekite su „Moodle“ administratoriumi.", + "nopasswordchangeforced": "Nepakeitus slaptažodžio, negalima tęsti.", "nopermissions": "Atsiprašome, tačiau šiuo metu jūs neturite teisės atlikti šio veiksmo", "noresults": "Nėra rezultatų", "notapplicable": "netaikoma", @@ -152,6 +154,7 @@ "pictureof": "{{$a}} paveikslėlis", "previous": "Ankstesnis", "pulltorefresh": "Atnaujinti", + "quotausage": "Dabar išnaudojama {{$a.used}} Jūsų turimo {{$a.total}} limito.", "redirectingtosite": "Būsite nukreiptas į svetainę.", "refresh": "Atnaujinti", "required": "Būtina", @@ -160,7 +163,7 @@ "retry": "Bandykite dar kartą", "save": "Įrašyti", "search": "Paieška", - "searching": "Ieškoti", + "searching": "Ieškoma", "searchresults": "Ieškos rezultatai", "sec": "sek.", "secs": "sek.", @@ -192,7 +195,7 @@ "twoparagraphs": "{{p1}}

      {{p2}}", "uhoh": "Uh oh!", "unexpectederror": "Klaida. Uždarykite programėlę ir bandykite atidaryti dar kartą", - "unknown": "Nežinoma", + "unknown": "Nežinomas", "unlimited": "Neribota", "unzipping": "Išskleidžiama", "upgraderunning": "Naujinama svetainės versija, bandykite vėliau.", diff --git a/www/core/lang/mr.json b/www/core/lang/mr.json index b345edf044a..6c6d86be04a 100644 --- a/www/core/lang/mr.json +++ b/www/core/lang/mr.json @@ -31,7 +31,7 @@ "days": "दिवस", "decsep": ".", "delete": "मिटवणे", - "deleting": "काढून टाकत आहे...", + "deleting": "हटवत आहे", "description": "प्रस्तावना", "dfdaymonthyear": "MM-DD-YYYY", "dfdayweekmonth": "ddd, D MMM", @@ -74,11 +74,12 @@ "humanreadablesize": "{{size}} {{unit}}", "image": "प्रतिमा", "imageviewer": "प्रतिमा दर्शक", - "info": "माहीती", + "info": "माहिती", "ios": "iOS", "lastdownloaded": "अंतिम डाउनलोड केलेले", "lastmodified": "शेवटचा बदललेले", "lastsync": "अंतिम संकालन", + "list": "यादी पहा", "listsep": ",", "loadmore": "अजून लोड करा", "lostconnection": "आपले प्रमाणीकरण टोकन अवैध आहे किंवा कालबाह्य झाले आहे, आपल्याला साइटशी पुन्हा कनेक्ट करणे आवश्यक आहे.", @@ -98,7 +99,7 @@ "no": "नाही", "nograde": "श्रेणी दिलेली नाहि", "none": "काहीही नाही", - "nopasswordchangeforced": "पासवर्ड बदलल्याशिवाय तुम्ही पुढे जाऊच शकत नाही.जर त्यासाठी पान उपलब्ध नसेल तर मुडल व्यवस्थापकाशी संपर्क साधा.", + "nopasswordchangeforced": "आपण आपला पासवर्ड न बदलता पुढे जाऊ शकत नाही.", "noresults": "निकाल नाही.", "notapplicable": "n/a", "notice": "पूर्वसुचना", @@ -122,7 +123,7 @@ "retry": "पुन्हा प्रयत्न करा", "save": "जतन करा", "search": "शोध", - "searching": "यात शोधत आहे..", + "searching": "शोधत आहे", "searchresults": "निकाल शोधा.", "sec": "सेकंद", "secs": "सेकन्दस", @@ -152,7 +153,7 @@ "unexpectederror": "अनपेक्षित त्रुटी कृपया पुन्हा प्रयत्न करण्यासाठी अनुप्रयोग बंद करा आणि पुन्हा उघडा", "unicodenotsupported": "या साइटवर काही इमोजी समर्थित नाहीत. जेव्हा संदेश पाठविला जातो तेव्हा असे अक्षरे काढून टाकले जातील.", "unicodenotsupportedcleanerror": "युनिकोड वर्ण साफ करताना रिक्त मजकूर सापडला.", - "unknown": "अनोळखी", + "unknown": "अज्ञात", "unlimited": "अमर्याद", "unzipping": "अनझिप चालू आहे", "userdeleted": "ह्या युजरचे खाते काढून टाकण्यात आले आहे.", diff --git a/www/core/lang/nl.json b/www/core/lang/nl.json index 68934f72eac..9fb77663e6b 100644 --- a/www/core/lang/nl.json +++ b/www/core/lang/nl.json @@ -23,10 +23,14 @@ "commentsnotworking": "Opmerkingen konden niet opgehaald worden", "completion-alt-auto-fail": "Voltooid: {{$a}} (bereikte het cijfer voor geslaagd niet)", "completion-alt-auto-n": "Niet voltooid: {{$a}}", + "completion-alt-auto-n-override": "Niet voltooid: {{$a.modname}} (ingesteld door {{$a.overrideuser}})", "completion-alt-auto-pass": "Voltooid: {{$a}} (slaagcijfer bereikt)", "completion-alt-auto-y": "Voltooid: {{$a}}", + "completion-alt-auto-y-override": "Voltooid: {{$a.modname}} (ingesteld door {{$a.overrideuser}})", "completion-alt-manual-n": "Niet voltooid: {{$a}}. Selecteer om te markeren als voltooid", + "completion-alt-manual-n-override": "Niet voltooid: {{$a.modname}} (ingesteld door {{$a.overrideuser}}). Selecteer om als voltooid te markeren.", "completion-alt-manual-y": "voltooid: {{$a}}. Selecteer om als niet voltooid te markeren.", + "completion-alt-manual-y-override": "Voltooid: {{$a.modname}} (ingesteld door {{$a.overrideuser}}). Selecteer om als niet voltooid te markeren.", "confirmcanceledit": "Weet je zeker dat je deze pagina wil verlaten? Alle wijzigingen zullen verloren gaan.", "confirmdeletefile": "Wil je dit bestand echt verwijderen?", "confirmloss": "Ben je zeker? Alle wijzigingen zullen verloren gaan.", @@ -46,7 +50,7 @@ "defaultvalue": "Standaard ({{$a}})", "delete": "Verwijder", "deletedoffline": "Offline verwijderd", - "deleting": "Verwijderen", + "deleting": "Verwijderen.", "description": "Inleidende tekst", "dfdaymonthyear": "MM-DD-JJJJ", "dfdayweekmonth": "ddd, D, MMM", @@ -90,7 +94,7 @@ "hour": "uur", "hours": "uren", "humanreadablesize": "{{size}} {{unit}}", - "image": "Afbeelding ({{$a.MIMETYPE2}})", + "image": "Afbeelding", "imageviewer": "Afbeeldingsviewer", "info": "Info", "ios": "iOS", @@ -98,6 +102,8 @@ "lastdownloaded": "Laatste download", "lastmodified": "Laatst gewijzigd", "lastsync": "Laatste synchronisatie", + "layoutgrid": "Tabel", + "list": "Lijstweergave", "listsep": ";", "loading": "Aan het laden", "loadmore": "Meer laden", @@ -141,7 +147,7 @@ "nocomments": "Geen commentaren", "nograde": "Nog geen cijfer", "none": "Geen", - "nopasswordchangeforced": "Je kunt niet verdergaan zonder je wachtwoord te wijzigen, hoewel er geen pagina voorzien is om dat te doen. Neem contact op met je Moodlebeheerder", + "nopasswordchangeforced": "Je kunt niet verdergaan zonder je wachtwoord te veranderen.", "nopermissions": "Sorry, maar je hebt nu niet het recht om dat te doen ({{$a}}).", "noresults": "Geen resultaat", "notapplicable": "n/a", @@ -170,13 +176,13 @@ "retry": "Probeer opnieuw", "save": "Bewaar", "search": "Zoeken...", - "searching": "Zoeken in ...", + "searching": "Zoeken", "searchresults": "Zoekresultaten", "sec": "seconde", "secs": "seconden", "seemoredetail": "Klik hier om meer details te zien", "send": "Stuur", - "sending": "Versturen", + "sending": "Sturen", "serverconnection": "Fout bij het verbinden met de server", "show": "Toon", "showmore": "Toon meer...", diff --git a/www/core/lang/no.json b/www/core/lang/no.json index a4e7e733410..82619699236 100644 --- a/www/core/lang/no.json +++ b/www/core/lang/no.json @@ -23,7 +23,9 @@ "completion-alt-auto-y": "Fullført: {{$a}}", "completion-alt-auto-y-override": "Fullført: {{$a.modname}} (satt av {{$a.overrideuser}})", "completion-alt-manual-n": "Ikke fullført: {{$a}} Velg for å merke som fullført", + "completion-alt-manual-n-override": "Ikke fullført: {{$a.modname}} (set by {{$a.overrideuser}}). Velg for å markere som fullført.", "completion-alt-manual-y": "Fullført: {{$a}} Velg for å merke som ikke fullført.", + "completion-alt-manual-y-override": "Fullført: {{$a.modname}} (set by {{$a.overrideuser}}). Velg for å markere som ikke fullført.", "confirmcanceledit": "Er du sikker på at du vil forlate siden? Du vil miste alle endringer.", "confirmdeletefile": "Er du sikker på at du vil slette denne fila?", "confirmloss": "Er du sikker? Du vil miste alle endringer.", @@ -57,6 +59,8 @@ "info": "Informasjon", "labelsep": ":", "lastmodified": "Sist modifisert", + "layoutgrid": "Rutenett", + "list": "Vis liste", "listsep": ";", "loading": "Laster", "maxsizeandattachments": "Maks størrelse for nye filer: {{$a.size}}, maks antall vedlegg: {{$a.attachments}}", diff --git a/www/core/lang/pl.json b/www/core/lang/pl.json index c0e7dddcb63..d8b3aaac688 100644 --- a/www/core/lang/pl.json +++ b/www/core/lang/pl.json @@ -48,6 +48,8 @@ "info": "Informacja", "labelsep": ": ", "lastmodified": "Ostatnia modyfikacja:", + "layoutgrid": "siatka", + "list": "Podgląd listy", "listsep": ";", "loading": "Ładowanie", "lostconnection": "Straciliśmy połączenie i musisz się połączyć ponowne. Twój token jest teraz nieważny", @@ -88,7 +90,8 @@ "paymentinstant": "Użyj poniższego przycisku, aby zapłacić i zapisać się na kurs w ciągu kilku minut!", "phone": "Telefon", "pictureof": "Obraz {{$a}}", - "previous": "Poprzedni", + "previous": "Wstecz", + "quotausage": "Aktualnie wykorzystano {{$a.used}} z limitu {{$a.total}}.", "refresh": "Odśwież", "required": "Wymagane", "restore": "Odtwórz", @@ -103,7 +106,7 @@ "sending": "Wysyłanie", "serverconnection": "Błąd podczas łączenia się z serwerem", "show": "Pokaż", - "site": "Serwis", + "site": "Strona", "sizeb": "bajtów", "sizegb": "GB", "sizekb": "KB", diff --git a/www/core/lang/pt-br.json b/www/core/lang/pt-br.json index 9d93b6703dc..7f38452fd52 100644 --- a/www/core/lang/pt-br.json +++ b/www/core/lang/pt-br.json @@ -7,6 +7,10 @@ "cancel": "Cancelar", "cannotconnect": "Não é possível conectar-se: Verifique se digitou a URL corretamente e se seu site usa o Moodle 2.4 ou posterior.", "cannotdownloadfiles": "Download de arquivos está desabilitado no seu serviço Mobile. Por favor, contate o administrador do site.", + "captureaudio": "Gravar áudio", + "capturedimage": "Fotografia tirada.", + "captureimage": "Tirar fotografia", + "capturevideo": "Gravar vídeo", "category": "Categoria", "choose": "Escolher", "choosedots": "Escolher...", @@ -19,10 +23,14 @@ "commentsnotworking": "Os comentários não podem ser recuperados", "completion-alt-auto-fail": "Concluído: {{$a}} (não obteve nota para aprovação)", "completion-alt-auto-n": "Não concluído(s): {{$a}}", + "completion-alt-auto-n-override": "Não concluído: {{$a.modname}} (por {{$a.overrideuser}})", "completion-alt-auto-pass": "Concluído: {{$a}} (foi atingida a nota de aprovação)", "completion-alt-auto-y": "Concluído: {{$a}}", + "completion-alt-auto-y-override": "Concluído: {{$a.modname}} (por {{$a.overrideuser}})", "completion-alt-manual-n": "Não concluído(s): {{$a}}. Selecione para marcar como concluído.", + "completion-alt-manual-n-override": "Não concluído: {{$a.modname}} (por {{$a.overrideuser}}). Selecione para marcar como concluído.", "completion-alt-manual-y": "Concluído(s): {{$a}}. Selecione para marcar como não concluído.", + "completion-alt-manual-y-override": "Concluído: {{$a.modname}} (por {{$a.overrideuser}}). Selecione para marcar não concluído.", "confirmcanceledit": "Você tem certeza que quer sair dessa página? Todas as mudanças serão perdidas.", "confirmdeletefile": "Você tem certeza que quer excluir este arquivo?", "confirmloss": "Você tem certeza? Todas as alterações serão perdidas.", @@ -40,10 +48,12 @@ "days": "dias", "decsep": ",", "delete": "Cancelar", + "deletedoffline": "Apagada em modo offline", "deleting": "Excluindo", "description": "Texto do link", "dfdaymonthyear": "MM-DD-YYYY", "dfdayweekmonth": "ddd, D MMM", + "dffulldate": "dddd, D MMMM YYYY h[:]mm A", "dflastweekdate": "ddd", "dfmediumdate": "LLL", "dftimedate": "h[:]mm A", @@ -53,6 +63,7 @@ "download": "Download", "downloading": "Baixando", "edit": "Editar", + "emptysplit": "Esta página aparecerá em branco se o painel esquerdo estiver vazio ou enquanto estiver a ser carregado.", "error": "Erro", "errorchangecompletion": "Ocorreu um erro ao alterar o status de conclusão. Por favor, tente novamente.", "errordeletefile": "Erro ao excluir o arquivo. Por favor tente novamente.", @@ -82,15 +93,19 @@ "hour": "hora", "hours": "horas", "humanreadablesize": "{{size}} {{unit}}", - "image": "Imagem ({{$a.MIMETYPE2}})", + "image": "Imagem", "imageviewer": "Visualizador de imagens", - "info": "Informação", + "info": "Informações", "ios": "iOS", "labelsep": ": ", + "lastdownloaded": "Descarregada última vez em", "lastmodified": "Última modificação", "lastsync": "Última sincronização", + "layoutgrid": "Grade", + "list": "Ver lista", "listsep": ";", "loading": "Carregando", + "loadmore": "Ver mais", "lostconnection": "Perdemos conexão. Você precisa se reconectar. Seu token agora está inválido.", "maxsizeandattachments": "Tamanho máximo para novos arquivos: {{$a.size}}, máximo de anexos: {{$a.attachments}}", "min": "minuto", @@ -131,7 +146,7 @@ "nocomments": "Nenhum comentário", "nograde": "Nenhuma nota", "none": "Nenhum", - "nopasswordchangeforced": "Você não pode continuar sem mudar sua senha. Mas infelizmente não existe uma página para esse propósito.\nPor favor contate o Administrador Moodle.", + "nopasswordchangeforced": "Você não pode proceder sem mudar sua senha.", "nopermissions": "Você não tem permissão para {{$a}}", "noresults": "Sem resultados", "notapplicable": "n/a", @@ -151,6 +166,7 @@ "pictureof": "Imagem de {{$a}}", "previous": "Anterior", "pulltorefresh": "Puxe para atualizar", + "quotausage": "Você está usando {{$a.used}} do seu limite de {{$a.total}}.", "redirectingtosite": "Você será redirecionado para o site.", "refresh": "Atualizar", "required": "Necessários", @@ -159,7 +175,7 @@ "retry": "Tentar novamente", "save": "Gravar", "search": "Buscar", - "searching": "Buscar em", + "searching": "Procurando", "searchresults": "Resultados da busca", "sec": "segundo", "secs": "segundos", diff --git a/www/core/lang/pt.json b/www/core/lang/pt.json index c47e0ae01e0..a700c3b0372 100644 --- a/www/core/lang/pt.json +++ b/www/core/lang/pt.json @@ -23,10 +23,14 @@ "commentsnotworking": "Não foi possível recuperar os comentários", "completion-alt-auto-fail": "Concluída: {{$a}} (não atingiu nota de aprovação)", "completion-alt-auto-n": "Não concluída: {{$a}}", + "completion-alt-auto-n-override": "Não concluída: {{$a.modname}} (marcada por {{$a.overrideuser}})", "completion-alt-auto-pass": "Concluída: {{$a}} (atingiu nota de aprovação)", "completion-alt-auto-y": "Concluída: {{$a}}", + "completion-alt-auto-y-override": "Concluída: {{$a.modname}} (marcada por {{$a.overrideuser}})", "completion-alt-manual-n": "Não concluída: {{$a}}. Selecione para assinalar como concluída", + "completion-alt-manual-n-override": "Não concluído: {{$a- modname}} (definido por {{$a.overrideuser}}). Selecione para marcar como concluído.", "completion-alt-manual-y": "Concluída: {{$a}}. Selecione para dar como não concluída", + "completion-alt-manual-y-override": "Concluído: {{$a- modname}} (definido por {{$a.overrideuser}}). Selecione para marcar como não concluído.", "confirmcanceledit": "Tem a certeza de que pretende sair desta página? Todas as alterações serão perdidas.", "confirmdeletefile": "Tem a certeza de que pretende apagar este ficheiro?", "confirmloss": "Tem a certeza absoluta? Todas as alterações serão perdidas.", @@ -89,14 +93,16 @@ "hour": "hora", "hours": "horas", "humanreadablesize": "{{size}} {{unit}}", - "image": "Imagem ({{$a.MIMETYPE2}})", + "image": "Imagem", "imageviewer": "Visualizador de imagens", - "info": "Informação de sistema", + "info": "Informações", "ios": "iOS", "labelsep": ": ", "lastdownloaded": "Descarregada última vez em", "lastmodified": "Modificado pela última vez:", "lastsync": "Última sincronização", + "layoutgrid": "Grelha", + "list": "Ver lista", "listsep": ";", "loading": "A carregar", "loadmore": "Ver mais", @@ -140,7 +146,7 @@ "nocomments": "Sem comentários", "nograde": "Nenhuma nota", "none": "Nenhum", - "nopasswordchangeforced": "Não consegue prosseguir sem modificar a senha, entretanto não existe nenhuma página disponível para a mudar. Por favor contate o Administrador do site Moodle.", + "nopasswordchangeforced": "Não pode prosseguir sem alterar sua senha.", "nopermissions": "Atualmente, não tem permissões para realizar a operação {{$a}}", "noresults": "Sem resultados", "notapplicable": "n/a", @@ -150,7 +156,7 @@ "numwords": "{{$a}} palavra(s)", "offline": "Inativo", "online": "Inativo", - "openfullimage": "Clique aqui para exibir a imagem em tamanho real", + "openfullimage": "Clique aqui para mostrar a imagem em tamanho real", "openinbrowser": "Abrir no navegador", "othergroups": "Outros grupos", "pagea": "Página {{$a}}", @@ -160,6 +166,7 @@ "pictureof": "Fotografia de {{$a}}", "previous": "Anterior", "pulltorefresh": "Puxe para atualizar", + "quotausage": "Está atualmente a usar {{$a.used}} do máximo de {{$a.total}}.", "redirectingtosite": "Irá ser redirecionado para o site.", "refresh": "Atualizar", "required": "Resposta obrigatória", @@ -168,7 +175,7 @@ "retry": "Tentar novamente", "save": "Gravar", "search": "Procurar", - "searching": "A procurar em...", + "searching": "A procurar", "searchresults": "Procurar resultados", "sec": "segundo", "secs": "segundos", @@ -202,7 +209,7 @@ "unexpectederror": "Erro inesperado. Por favor, feche e abra a aplicação e tente de novo.", "unicodenotsupported": "Alguns emojis não são suportados neste site. Estes caracteres serão removidos quando a mensagem for enviada.", "unicodenotsupportedcleanerror": "Foi encontrado texto vazio ao limpar caracteres Unicode.", - "unknown": "Desconhecido(a)", + "unknown": "Desconhecido", "unlimited": "Ilimitado(a)", "unzipping": "A descomprimir", "upgraderunning": "O site está em processo de atualização, por favor, tente novamente mais tarde.", diff --git a/www/core/lang/ro.json b/www/core/lang/ro.json index 8337b363def..fc16444530c 100644 --- a/www/core/lang/ro.json +++ b/www/core/lang/ro.json @@ -32,7 +32,7 @@ "days": "zile", "decsep": ",", "delete": "Şterge", - "deleting": "În curs de ştergere", + "deleting": "Se șterge", "description": "Text introductiv", "dfdayweekmonth": "zzz, Z LLL", "dflastweekdate": "zzz", @@ -61,13 +61,15 @@ "hour": "oră", "hours": "ore", "humanreadablesize": "{{mărime}} {{unitate}}", - "image": "Imagine ({{$a.MIMETYPE2}})", + "image": "Imagine", "imageviewer": "Vizualizator pentru imagini", - "info": "Informaţii", + "info": "Info", "ios": "iOS", "labelsep": ":", "lastmodified": "Modificat ultima dată", "lastsync": "Ultima sincronizare", + "layoutgrid": "Grilă", + "list": "Afişează listă", "listsep": ";", "loading": "Se încarcă", "lostconnection": "Tokenul pentru autentificare este invalid sau a expirat; trebuie să va reconectați!", @@ -133,7 +135,7 @@ "restore": "Restaurează", "save": "Salvare", "search": "Caută", - "searching": "Căutare în", + "searching": "Căutare", "searchresults": "Rezultate căutare", "sec": "sec", "secs": "secs", diff --git a/www/core/lang/ru.json b/www/core/lang/ru.json index 02823e562a2..439fa026a83 100644 --- a/www/core/lang/ru.json +++ b/www/core/lang/ru.json @@ -1,62 +1,108 @@ { + "accounts": "Учётные записи", "allparticipants": "Все участники", "android": "Android", "areyousure": "Вы уверены?", "back": "Назад", "cancel": "Отмена", - "cannotconnect": "Не удается подключиться: убедитесь, что Вы ввели правильный URL-адрес и что сайт использует Moodle 2.4 или более поздней версии.", - "cannotdownloadfiles": "Скачивание файла отключено для мобильных служб. Пожалуйста, свяжитесь с администратором сайта.", + "cannotconnect": "Не удается подключиться: Убедитесь, что вы правильно ввели URL-адрес и что ваш сайт использует Moodle 2.4 или более поздней версии.", + "cannotdownloadfiles": "Загрузка файлов отключена. Пожалуйста, свяжитесь с администратором вашего сайта.", + "captureaudio": "Записать аудио", + "capturedimage": "Сделанное изображение", + "captureimage": "Сделать изображение", + "capturevideo": "Записать видео", "category": "Категория", "choose": "Выбрать", "choosedots": "Выберите...", "clearsearch": "Очистить поиск", "clicktohideshow": "Нажмите, чтобы раскрыть или скрыть", + "clicktoseefull": "Нажать, чтобы посмотреть полное содержимое.", "close": "Закрыть", "comments": "Ваши комментарии", "commentscount": "Комментарии ({{$a}})", + "commentsnotworking": "Комментарии не могут быть найдены", "completion-alt-auto-fail": "Выполнено: {{$a}} (оценка ниже проходного балла)", "completion-alt-auto-n": "Не выполнено: {{$a}}", "completion-alt-auto-pass": "Выполнено: {{$a}} (оценка выше проходного балла)", "completion-alt-auto-y": "Выполнено: {{$a}}", "completion-alt-manual-n": "Не выполнено: {{$a}}. Выберите, чтобы отметить элемент как выполненный", "completion-alt-manual-y": "Выполнено: {{$a}}. Выберите, чтобы отметить элемент курса как невыполненный", + "confirmcanceledit": "Вы уверены, что хотите покинуть эту страницу? Все изменения будут потеряны.", "confirmdeletefile": "Вы уверены, что хотите удалить это файл?", "confirmloss": "Вы уверены? Все изменения будут удалены.", + "confirmopeninbrowser": "Вы хотите открыть это в веб-браузере?", "content": "Содержимое", + "contenteditingsynced": "Содержимое, которое вы редактируете, было синхронизировано.", "continue": "Продолжить", + "copiedtoclipboard": "Текст скопирован в буфер обмена.", "course": "Курс", "coursedetails": "Информация о курсе", + "currentdevice": "Данное устройство", + "datastoredoffline": "Данные сохранены на устройстве, потому что не могут быть отправлены. Они будут автоматически отправлены позже.", "date": "Дата", "day": "день", "days": "дн.", "decsep": ",", "defaultvalue": "Значение по умолчанию ({{$a}})", "delete": "Удалить", + "deletedoffline": "Удалено вне сети", "deleting": "Удаление", "description": "Вступление", + "dfdaymonthyear": "MM-DD-YYYY", + "dfdayweekmonth": "ddd, D MMM", + "dffulldate": "dddd, D MMMM YYYY h[:]mm A", + "dflastweekdate": "ddd", + "dfmediumdate": "LLL", + "dftimedate": "h[:]mm A", + "discard": "Сбросить", + "dismiss": "Распустить", "done": "Завершено", "download": "Скачать", "downloading": "Загрузка", "edit": "Редактировать", + "emptysplit": "Эта страница отобразится незаполненной, если левая панель пуста или загружается.", "error": "Ошибка", + "errorchangecompletion": "Во время изменения статуса завершения возникла ошибка. Пожалуйста, попробуйте снова.", + "errordeletefile": "Ошибка при удалении файла. Пожалуйста, попробуйте снова.", "errordownloading": "Ошибка загрузки файла", + "errordownloadingsomefiles": "Ошибка загрузки файлов. Некоторые файлы могут отсутствовать.", + "errorfileexistssamename": "Файл с таким именем уже существует.", + "errorinvalidform": "Форма содержит неверные данные. Пожалуйста, проверьте, что все требуемые поля заполнены и что данные верны.", + "errorinvalidresponse": "Получен некорректный ответ. Пожалуйста, свяжитесь с администратором вашего сайта, если при последующих попытках ошибка не пропадёт.", + "errorloadingcontent": "Ошибка загрузки содержимого.", + "erroropenfilenoapp": "Ошибка открытия файла: не найдено приложение для открытия данного типа файла.", + "erroropenfilenoextension": "Ошибка открытия файла: файл не имеет расширения.", + "erroropenpopup": "Это действие пытается открыть всплывающее окно. Это не поддерживается в приложении.", + "errorrenamefile": "Ошибка переименовывания файла. Пожалуйста, попытайтесь снова.", + "errorsync": "При синхронизации возникла ошибка. Пожалуйста, попробуйте снова.", + "errorsyncblocked": "В данный момент это {{$a}} не может быть синхронизировано по причине выполняющегося процесса. Пожалуйста, попытайтесь ещё раз позже. Если при последующих попытках ошибка не пропадёт, попробуйте перезапустить приложение.", "filename": "Имя файла", + "filenameexist": "Имя файла уже существует: {{$a}}", "folder": "Папка", "forcepasswordchangenotice": "Вы должны изменить свой пароль.", "fulllistofcourses": "Все курсы", + "fullnameandsitename": "{{fullname}} ({{sitename}})", "groupsseparate": "Изолированные группы", "groupsvisible": "Видимые группы", + "hasdatatosync": "Это {{$a}} имеет данные, добавленные вне сети, для синхронизации.", "help": "Справка", "hide": "Скрыть", "hour": "ч.", "hours": "час.", "humanreadablesize": "{{size}} {{unit}}", - "image": "Изображение ({{$a.MIMETYPE2}})", + "image": "Изображение", + "imageviewer": "Средство отображения изображений", "info": "Информация", + "ios": "iOS", "labelsep": ":", + "lastdownloaded": "Последнее загруженное", "lastmodified": "Последние изменения:", + "lastsync": "Последняя синхронизация", + "layoutgrid": "Сетка", + "list": "Просмотр списком", "listsep": ";", "loading": "Загрузка", + "loadmore": "Загрузить больше", "lostconnection": "Ваш ключ аутентификации недействителен или просрочен. Вам придется повторно подключиться к сайту.", "maxsizeandattachments": "Максимальный размер новых файлов: {{$a.size}}, максимальное количество прикрепленных файлов: {{$a.attachments}}", "min": "мин.", @@ -88,36 +134,44 @@ "mod_wiki": "Вики", "mod_workshop": "Семинар", "moduleintro": "Описание", + "mygroups": "Мои группы", "name": "Название:", - "networkerrormsg": "Сеть не работает или работа в ней не разрешена.", + "networkerrormsg": "С подключением к сайту была проблема. Пожалуйста, проверьте ваше соединение и попытайтесь снова.", "never": "Никогда", "next": "Далее", "no": "Нет", "nocomments": "Нет комментариев", "nograde": "Без оценки", "none": "Пусто", - "nopasswordchangeforced": "Вы не можете продолжать работу без смены пароля, однако страница для его изменения не доступна. Пожалуйста, свяжитесь с администратором сайта.", + "nopasswordchangeforced": "Вы не можете продолжить, не поменяв свой пароль.", "nopermissions": "Извините, но у Вас нет прав сделать это ({{$a}})", "noresults": "Нет результатов", "notapplicable": "н/д", "notice": "Уведомление", + "notsent": "Не отправлено", "now": "сейчас", "numwords": "всего слов - {{$a}}", "offline": "Ответ вне сайта", "online": "На сайте", + "openfullimage": "Нажмите здесь, чтобы отобразить полноразмерное изображение", "openinbrowser": "Открыть в браузере", + "othergroups": "Другие группы", "pagea": "Страница {{$a}}", "paymentinstant": "Используйте кнопку, чтобы произвести оплату и зарегистрироваться в течение нескольких минут!", + "percentagenumber": "{{$a}}%", "phone": "Телефон", "pictureof": "Изображение пользователя {{$a}}", "previous": "Назад", "pulltorefresh": "Потяните, чтобы обновить", + "redirectingtosite": "Вы будете перенаправлены на сайт.", "refresh": "Обновить", "required": "Необходимо заполнить", + "requireduserdatamissing": "У этого пользователя не хватает необходимых данных профиля. Пожалуйста, введите данные на вашем сайте и попытайтесь снова.
      {{$a}}", "restore": "Восстановить", + "retry": "Попробовать снова", "save": "Сохранить", "search": "Найти", - "searching": "Искать в", + "searching": "Поиск", "searchresults": "Результаты поиска", "sec": "сек.", "secs": "сек.", @@ -128,22 +182,32 @@ "show": "Показать", "showmore": "Показать больше...", "site": "Сайт", + "sitemaintenance": "Сайт на техническом обслуживании и в данный момент не доступен.", "sizeb": "байт", "sizegb": "Гбайт", "sizekb": "Кбайт", "sizemb": "Мбайт", "sizetb": "Тб", + "sorry": "Извините...", "sortby": "Сортировать по", "start": "Начало", "submit": "Отправить", "success": "Успешно", + "tablet": "Планшет", "teachers": "Преподаватели", + "thereisdatatosync": "Есть {{$a}} для синхронизации, созданные вне сети.", "time": "Время", "timesup": "Время закончилось!", "today": "Сегодня", - "unexpectederror": "Неизвестная ошибка. Пожалуйста, закройте и снова еще раз откройте приложение", - "unknown": "неизвестно", + "tryagain": "Попытаться снова", + "twoparagraphs": "{{p1}}

      {{p2}}", + "uhoh": "Ой, ой!", + "unexpectederror": "Неизвестная ошибка. Пожалуйста, закройте, затем ещё раз откройте приложение и попробуйте снова.", + "unicodenotsupported": "Некоторые смайлики не поддерживаются на этом сайте. Такие символы будут удалены при отправке сообщения.", + "unicodenotsupportedcleanerror": "Был обнаружен пустой текст при очистке символов Unicode.", + "unknown": "Неизвестно", "unlimited": "Неограничено", + "unzipping": "Распаковка", "upgraderunning": "Сайт обновляется, повторите попытку позже.", "userdeleted": "Учетная запись пользователя была удалена", "userdetails": "Подробная информация о пользователе", @@ -151,7 +215,11 @@ "users": "Пользователи", "view": "Просмотр", "viewprofile": "Просмотр профиля", + "warningofflinedatadeleted": "Данные, добавленные вне сети, из {{component}} «{{name}}» были удалены. {{error}}", "whoops": "Ой!", + "whyisthishappening": "Почему так происходит?", + "windowsphone": "Windows Phone", + "wsfunctionnotavailable": "Функция веб-службы не доступна.", "year": "г.", "years": "г.", "yes": "Да" diff --git a/www/core/lang/sv.json b/www/core/lang/sv.json index c1c118b5c3a..9e1650a7532 100644 --- a/www/core/lang/sv.json +++ b/www/core/lang/sv.json @@ -32,7 +32,7 @@ "days": "dagar", "decsep": ",", "delete": "Ta bort", - "deleting": "Tar bort", + "deleting": "ta bort", "description": "Introduktion", "dfdayweekmonth": "ddd, D MMM", "dflastweekdate": "ddd", @@ -61,13 +61,14 @@ "hour": "timme", "hours": "timmar", "humanreadablesize": "{{size}} {{unit}}", - "image": "Bild ({{$a.MIMETYPE2}})", + "image": "Bild", "imageviewer": "Bildvisare", - "info": "Information", + "info": "Info", "ios": "IOS", "labelsep": ":", "lastmodified": "Senast modifierad", "lastsync": "Senaste synkronisering", + "list": "Visa lista", "listsep": ";", "loading": "Laddar....", "lostconnection": "Vi förlorade anslutningen. Du måste ansluta igen. Din token är nu ogiltigt.", @@ -135,7 +136,7 @@ "restore": "Återställ", "save": "Spara", "search": "Sök...", - "searching": "Sök i ", + "searching": "Söker", "searchresults": "Sökresultat", "sec": "Sekund", "secs": "Sekunder", diff --git a/www/core/lang/tr.json b/www/core/lang/tr.json index aecc3bf7883..ce482b4945b 100644 --- a/www/core/lang/tr.json +++ b/www/core/lang/tr.json @@ -49,12 +49,14 @@ "hide": "Gizle", "hour": "saat", "hours": "saat", - "image": "Görüntü ({{$a.MIMETYPE2}})", + "image": "Resim", "info": "Bilgi", "ios": "İOS", "labelsep": ":", "lastmodified": "Son değiştirme", "lastsync": "Son senkronizasyon", + "layoutgrid": "Izgara", + "list": "Liste görünümü", "listsep": ";", "loading": "Yükleniyor", "lostconnection": "Bağlantınızı kaybettik, yeniden bağlanmanız gerekiyor. Verileriniz artık geçerli değil.", @@ -116,7 +118,7 @@ "restore": "Geri yükle", "save": "Kaydet", "search": "Arama...", - "searching": "Aranan", + "searching": "Aranıyor", "searchresults": "Arama sonuçları", "sec": "sn", "secs": "sn", diff --git a/www/core/lang/uk.json b/www/core/lang/uk.json index 7a77b715316..007814b1131 100644 --- a/www/core/lang/uk.json +++ b/www/core/lang/uk.json @@ -84,13 +84,15 @@ "hour": "година", "hours": "години", "humanreadablesize": "{{size}} {{unit}}", - "image": "Зображення ({{$a.MIMETYPE2}})", + "image": "Зображення", "imageviewer": "Переглядач зображень", - "info": "Інформація", + "info": "Інфо", "ios": "iOS", "labelsep": ":", "lastmodified": "Остання зміна", "lastsync": "Остання синхронізація", + "layoutgrid": "Сітка", + "list": "Перегляд списку", "listsep": ";", "loading": "Завантаження...", "loadmore": "Завантажити більше", @@ -121,7 +123,7 @@ "nocomments": "Немає коментарів", "nograde": "Без оцінки", "none": "Не вибрано", - "nopasswordchangeforced": "Ви не можете перейти не змінивши ваш пароль, але не вказано ніякої сторінки для цього процесу. Будь ласка, зверніться до вашого Адміністратора.", + "nopasswordchangeforced": "Ви не можете продовжити без зміни пароля.", "nopermissions": "Вибачте, але ваші поточні права не дозволяють вам цього робити ({{$a}})", "noresults": "Без результатів", "notapplicable": "n/a", @@ -141,6 +143,7 @@ "pictureof": "Фото {{$a}}", "previous": "Назад", "pulltorefresh": "Потягніть щоб оновити", + "quotausage": "Ви в даний час використовували {$ a-> used}} вашого ліміту {$ a-> total}}.", "redirectingtosite": "Ви будете перенаправлені на сайт.", "refresh": "Оновити", "required": "Необхідні", @@ -149,13 +152,13 @@ "retry": "Повторити", "save": "Зберегти", "search": "Знайти", - "searching": "Шукати в", + "searching": "Пошук", "searchresults": "Результати пошуку", "sec": "сек", "secs": "сек", "seemoredetail": "Деталі...", "send": "Відіслати", - "sending": "Відсилання", + "sending": "Відправка", "serverconnection": "Помилка з’єднання з сервером", "show": "Показати", "showmore": "Показати більше", @@ -183,7 +186,7 @@ "unexpectederror": "Неочікувана помилка. Будь ласка, закрийте і знову відкрийте додаток, щоб спробувати ще раз", "unicodenotsupported": "Деякі Emoji не підтримуються на цьому сайті. Такі символи будуть видалені, коли повідомлення буде відправлено.", "unicodenotsupportedcleanerror": "Порожній текст був знайдений при чищенні Unicode символів.", - "unknown": "Невідоме", + "unknown": "Невідомо", "unlimited": "Не обмежено", "unzipping": "Розпакування", "upgraderunning": "Сайт оновлюється, повторіть спробу пізніше.", diff --git a/www/core/lib/events.js b/www/core/lib/events.js index 38a8c590d69..09b55755605 100644 --- a/www/core/lib/events.js +++ b/www/core/lib/events.js @@ -31,6 +31,7 @@ angular.module('mm.core') .constant('mmCoreEventCompletionModuleViewed', 'completion_module_viewed') .constant('mmCoreEventUserDeleted', 'user_deleted') .constant('mmCoreEventPackageStatusChanged', 'filepool_package_status_changed') +.constant('mmCoreEventCourseStatusChanged', 'course_status_changed') .constant('mmCoreEventSectionStatusChanged', 'section_status_changed') .constant('mmCoreEventRemoteAddonsLoaded', 'remote_addons_loaded') .constant('mmCoreEventOnline', 'online') // Deprecated on version 3.1.3. diff --git a/www/core/lib/lang.js b/www/core/lib/lang.js index 3b6cc32c942..1d70a719773 100644 --- a/www/core/lib/lang.js +++ b/www/core/lib/lang.js @@ -258,27 +258,47 @@ angular.module('mm.core') $translateProvider.preferredLanguage(lang); }) -.config(function($provide) { +.config(function($provide, $translateProvider) { // Decorate $translate to use custom strings if needed. $provide.decorator('$translate', ['$delegate', '$q', '$injector', function($delegate, $q, $injector) { var $mmLang; // Inject it using $injector to prevent circular dependencies. + var translationsTable = $translateProvider.translations(); // Redefine $translate default function. var newTranslate = function(translationId, interpolateParams, interpolationId, defaultTranslationText, forceLanguage) { + + var originalString = null; var value = getCustomString(translationId, forceLanguage); if (value !== false) { - return $q.when(value); + language = forceLanguage || $delegate.preferredLanguage(); + originalString = translationsTable[language][translationId]; // May be undefined for new strings. + translationsTable[language][translationId] = value; } - return $delegate(translationId, interpolateParams, interpolationId, defaultTranslationText, forceLanguage); + return $delegate(translationId, interpolateParams, interpolationId, defaultTranslationText, forceLanguage) + .finally(function() { + if (originalString) { + // Recover original translation. + translationsTable[language][translationId] = originalString; + } + }); }; // Redefine $translate.instant. newTranslate.instant = function(translationId, interpolateParams, interpolationId, forceLanguage, sanitizeStrategy) { + + var originalString = null; var value = getCustomString(translationId, forceLanguage); if (value !== false) { - return value; + language = forceLanguage || $delegate.preferredLanguage(); + originalString = translationsTable[language][translationId]; // May be undefined for new strings. + translationsTable[language][translationId] = value; + } + translation = $delegate.instant(translationId, interpolateParams, interpolationId, forceLanguage, sanitizeStrategy); + if (originalString) { + // Recover original translation. + translationsTable[language][translationId] = originalString; } - return $delegate.instant(translationId, interpolateParams, interpolationId, forceLanguage, sanitizeStrategy); + return translation; }; // Copy the rest of functions and properties. diff --git a/www/core/lib/util.js b/www/core/lib/util.js index 02b4cfa04d3..6f7cfb720a3 100644 --- a/www/core/lib/util.js +++ b/www/core/lib/util.js @@ -1416,9 +1416,10 @@ angular.module('mm.core') * Default: 'mm.course.confirmdownloadunknownsize'. * @param {Number} [wifiThreshold] Threshold to show confirm in WiFi connection. Default: mmCoreWifiDownloadThreshold. * @param {Number} [limitedThreshold] Threshold to show confirm in limited connection. Default: mmCoreDownloadThreshold. + * @param {Boolean} [alwaysConfirm] True to show a confirm even if the size isn't high, false otherwise. * @return {Promise} Promise resolved when the user confirms or if no confirm needed. */ - self.confirmDownloadSize = function(sizeCalc, message, unknownsizemessage, wifiThreshold, limitedThreshold) { + self.confirmDownloadSize = function(sizeCalc, message, unknownsizemessage, wifiThreshold, limitedThreshold, alwaysConfirm) { wifiThreshold = typeof wifiThreshold == 'undefined' ? mmCoreWifiDownloadThreshold : wifiThreshold; limitedThreshold = typeof limitedThreshold == 'undefined' ? mmCoreDownloadThreshold : limitedThreshold; @@ -1439,6 +1440,8 @@ angular.module('mm.core') message = message || 'mm.course.confirmdownload'; var readableSize = $mmText.bytesToSize(sizeCalc.size, 2); return self.showConfirm($translate(message, {size: readableSize})); + } else if (alwaysConfirm) { + return self.showConfirm($translate('mm.core.areyousure')); } return $q.when(); }; diff --git a/www/core/templates/contextmenu.html b/www/core/templates/contextmenu.html index 6f709052bc7..25e816338a7 100644 --- a/www/core/templates/contextmenu.html +++ b/www/core/templates/contextmenu.html @@ -11,6 +11,7 @@ + {{item.badge}}
      diff --git a/www/core/templates/contextmenuicon.html b/www/core/templates/contextmenuicon.html index 9f0cf5fde5f..86e96262cb2 100644 --- a/www/core/templates/contextmenuicon.html +++ b/www/core/templates/contextmenuicon.html @@ -1,2 +1,2 @@ - +
      \ No newline at end of file diff --git a/www/errorreport.js b/www/errorreport.js index 611d50d482e..68aa753e9c9 100644 --- a/www/errorreport.js +++ b/www/errorreport.js @@ -16,7 +16,7 @@ // Using JS confirm function we are sure that the user get notified in a Mobile device. // This script should be added at the begining of the index.html and it should only use native javascript functions. -var appVersion = '3.4.0 (2021)', +var appVersion = '3.4.1 (2022)', reportInBackgroundName = 'mmCoreReportInBackground', errors = [], ignoredFiles = ['www/index.html#/site/mod_page', 'www/index.html#/site/mod_resource', 'www/index.html#/site/mm_course-section'],