diff options
336 files changed, 2538 insertions, 820 deletions
diff --git a/.gitignore b/.gitignore index 07e4c1c74b3..8e0794a7999 100644 --- a/.gitignore +++ b/.gitignore @@ -136,3 +136,7 @@ Vagrantfile /config/config-autotest-backup.php /config/autoconfig.php clover.xml + +# Tests - dependencies +tests/acceptance/composer.lock +tests/acceptance/vendor/ diff --git a/apps/comments/lib/Activity/Provider.php b/apps/comments/lib/Activity/Provider.php index a691d7dd644..41ab8ea8b8e 100644 --- a/apps/comments/lib/Activity/Provider.php +++ b/apps/comments/lib/Activity/Provider.php @@ -174,6 +174,12 @@ class Provider implements IProvider { } // Fix subjects from 12.0.3 and older + // + // Do NOT Remove unless necessary + // Removing this will break parsing of activities that were created on + // Nextcloud 12, so we should keep this as long as it's acceptable. + // Otherwise if people upgrade over multiple releases in a short period, + // they will get the dead entries in their stream. return [ 'actor' => $subjectParameters[0], 'fileId' => (int) $event->getObjectId(), diff --git a/apps/dav/l10n/bg.js b/apps/dav/l10n/bg.js index 3f55af78124..85bbca23def 100644 --- a/apps/dav/l10n/bg.js +++ b/apps/dav/l10n/bg.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Календар", "Todos" : "Задачи", + "Personal" : "Личен", "{actor} created calendar {calendar}" : "{actor} направи календар {calendar}", "You created calendar {calendar}" : "Направихте календар {calendar}", "{actor} deleted calendar {calendar}" : "{actor} изтри календар {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Календарно <strong>събитие</strong> беше променено", "A calendar <strong>todo</strong> was modified" : "Календарна <strong>задача</strong> беше променена", "Contact birthdays" : "Рождени дни на контакти", - "Personal" : "Личен", "Contacts" : "Контакти", "Technical details" : "Технически детайли", "Remote Address: %s" : "Отдалечен адрес: %s", diff --git a/apps/dav/l10n/bg.json b/apps/dav/l10n/bg.json index 03238418d18..cac7c6af183 100644 --- a/apps/dav/l10n/bg.json +++ b/apps/dav/l10n/bg.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Календар", "Todos" : "Задачи", + "Personal" : "Личен", "{actor} created calendar {calendar}" : "{actor} направи календар {calendar}", "You created calendar {calendar}" : "Направихте календар {calendar}", "{actor} deleted calendar {calendar}" : "{actor} изтри календар {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Календарно <strong>събитие</strong> беше променено", "A calendar <strong>todo</strong> was modified" : "Календарна <strong>задача</strong> беше променена", "Contact birthdays" : "Рождени дни на контакти", - "Personal" : "Личен", "Contacts" : "Контакти", "Technical details" : "Технически детайли", "Remote Address: %s" : "Отдалечен адрес: %s", diff --git a/apps/dav/l10n/ca.js b/apps/dav/l10n/ca.js index 1b176c5d506..d59b3d88fdd 100644 --- a/apps/dav/l10n/ca.js +++ b/apps/dav/l10n/ca.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Calendari", "Todos" : "Tots", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}", "You created calendar {calendar}" : "Vosté ha creat el calentari {calendar}", "{actor} deleted calendar {calendar}" : "{actor} ha esborrat el calendari {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "S'ha modificat un <strong> esdeveniment </strong> del calendari", "A calendar <strong>todo</strong> was modified" : "<strong>Tot</strong> un calendari va ser modificat", "Contact birthdays" : "Aniversaris dels contactes", - "Personal" : "Personal", "Contacts" : "Contactes", "Technical details" : "Detalls tècnics", "Remote Address: %s" : "Adreça remota: %s", diff --git a/apps/dav/l10n/ca.json b/apps/dav/l10n/ca.json index 7c30c4050a0..04fec606daf 100644 --- a/apps/dav/l10n/ca.json +++ b/apps/dav/l10n/ca.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Calendari", "Todos" : "Tots", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}", "You created calendar {calendar}" : "Vosté ha creat el calentari {calendar}", "{actor} deleted calendar {calendar}" : "{actor} ha esborrat el calendari {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "S'ha modificat un <strong> esdeveniment </strong> del calendari", "A calendar <strong>todo</strong> was modified" : "<strong>Tot</strong> un calendari va ser modificat", "Contact birthdays" : "Aniversaris dels contactes", - "Personal" : "Personal", "Contacts" : "Contactes", "Technical details" : "Detalls tècnics", "Remote Address: %s" : "Adreça remota: %s", diff --git a/apps/dav/l10n/cs.js b/apps/dav/l10n/cs.js index acd0b85b03f..5c1b1a2b0f2 100644 --- a/apps/dav/l10n/cs.js +++ b/apps/dav/l10n/cs.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalendář", "Todos" : "Úkoly", + "Personal" : "Osobní", "{actor} created calendar {calendar}" : "{actor} vytvořil(a) kalendář {calendar}", "You created calendar {calendar}" : "Vytvořil(a", "{actor} deleted calendar {calendar}" : "{actor} smazal(a) kalendář {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "<strong>Událost</strong> v kalendáři byla změněna", "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn", "Contact birthdays" : "Narozeniny kontaktů", - "Personal" : "Osobní", "Contacts" : "Kontakty", "Technical details" : "Technické detaily", "Remote Address: %s" : "Vzdálená adresa: %s", diff --git a/apps/dav/l10n/cs.json b/apps/dav/l10n/cs.json index c1a25b3401e..0b21caa829b 100644 --- a/apps/dav/l10n/cs.json +++ b/apps/dav/l10n/cs.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalendář", "Todos" : "Úkoly", + "Personal" : "Osobní", "{actor} created calendar {calendar}" : "{actor} vytvořil(a) kalendář {calendar}", "You created calendar {calendar}" : "Vytvořil(a", "{actor} deleted calendar {calendar}" : "{actor} smazal(a) kalendář {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "<strong>Událost</strong> v kalendáři byla změněna", "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn", "Contact birthdays" : "Narozeniny kontaktů", - "Personal" : "Osobní", "Contacts" : "Kontakty", "Technical details" : "Technické detaily", "Remote Address: %s" : "Vzdálená adresa: %s", diff --git a/apps/dav/l10n/da.js b/apps/dav/l10n/da.js index dd7328cb581..b26fcb51510 100644 --- a/apps/dav/l10n/da.js +++ b/apps/dav/l10n/da.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalender", "Todos" : "Opgaver", + "Personal" : "Personligt", "{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}", "You created calendar {calendar}" : "Du oprettede kalenderen {calendar}", "{actor} deleted calendar {calendar}" : "{actor} sletede kalenderen {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret", "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret", "Contact birthdays" : "Kontakt fødselsdag", - "Personal" : "Personligt", "Contacts" : "Kontakter", "Technical details" : "Tekniske detaljer", "Remote Address: %s" : "Fjernadresse: %s", diff --git a/apps/dav/l10n/da.json b/apps/dav/l10n/da.json index 3bbe78a520c..be5aa72d05b 100644 --- a/apps/dav/l10n/da.json +++ b/apps/dav/l10n/da.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalender", "Todos" : "Opgaver", + "Personal" : "Personligt", "{actor} created calendar {calendar}" : "{actor} oprettede kalenderen {calendar}", "You created calendar {calendar}" : "Du oprettede kalenderen {calendar}", "{actor} deleted calendar {calendar}" : "{actor} sletede kalenderen {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret", "A calendar <strong>todo</strong> was modified" : "En kalender <strong>opgave</strong> blev ændret", "Contact birthdays" : "Kontakt fødselsdag", - "Personal" : "Personligt", "Contacts" : "Kontakter", "Technical details" : "Tekniske detaljer", "Remote Address: %s" : "Fjernadresse: %s", diff --git a/apps/dav/l10n/de.js b/apps/dav/l10n/de.js index 1a2f3b4b1bb..30f3ae53e02 100644 --- a/apps/dav/l10n/de.js +++ b/apps/dav/l10n/de.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalender", "Todos" : "Aufgaben", + "Personal" : "Persönlich", "{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt", "You created calendar {calendar}" : "Du hast den Kalender {calendar} erstellt", "{actor} deleted calendar {calendar}" : "{actor} hat den Kalender {calendar} gelöscht", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Ereignis</strong> wurde bearbeitet", "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet", "Contact birthdays" : "Geburtstage von Kontakten", - "Personal" : "Persönlich", "Contacts" : "Kontakte", "Technical details" : "Technische Details", "Remote Address: %s" : "Entfernte Adresse: %s", diff --git a/apps/dav/l10n/de.json b/apps/dav/l10n/de.json index 64a6a7d48c6..401cab208d3 100644 --- a/apps/dav/l10n/de.json +++ b/apps/dav/l10n/de.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalender", "Todos" : "Aufgaben", + "Personal" : "Persönlich", "{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt", "You created calendar {calendar}" : "Du hast den Kalender {calendar} erstellt", "{actor} deleted calendar {calendar}" : "{actor} hat den Kalender {calendar} gelöscht", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Ereignis</strong> wurde bearbeitet", "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet", "Contact birthdays" : "Geburtstage von Kontakten", - "Personal" : "Persönlich", "Contacts" : "Kontakte", "Technical details" : "Technische Details", "Remote Address: %s" : "Entfernte Adresse: %s", diff --git a/apps/dav/l10n/de_DE.js b/apps/dav/l10n/de_DE.js index 8e8e29a2964..43b218dacc5 100644 --- a/apps/dav/l10n/de_DE.js +++ b/apps/dav/l10n/de_DE.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalender", "Todos" : "Aufgaben", + "Personal" : "Persönlich", "{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt", "You created calendar {calendar}" : "Sie haben den Kalender {calendar} erstellt", "{actor} deleted calendar {calendar}" : "{actor} hat den Kalender {calendar} gelöscht", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Ereignis</strong> wurde bearbeitet", "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet", "Contact birthdays" : "Geburtstage von Kontakten", - "Personal" : "Persönlich", "Contacts" : "Kontakte", "Technical details" : "Technische Details", "Remote Address: %s" : "Entfernte Adresse: %s", diff --git a/apps/dav/l10n/de_DE.json b/apps/dav/l10n/de_DE.json index 7c777e101ac..9de0db6d70b 100644 --- a/apps/dav/l10n/de_DE.json +++ b/apps/dav/l10n/de_DE.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalender", "Todos" : "Aufgaben", + "Personal" : "Persönlich", "{actor} created calendar {calendar}" : "{actor} hat den Kalender {calendar} erstellt", "You created calendar {calendar}" : "Sie haben den Kalender {calendar} erstellt", "{actor} deleted calendar {calendar}" : "{actor} hat den Kalender {calendar} gelöscht", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Ein Kalender-<strong>Ereignis</strong> wurde bearbeitet", "A calendar <strong>todo</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet", "Contact birthdays" : "Geburtstage von Kontakten", - "Personal" : "Persönlich", "Contacts" : "Kontakte", "Technical details" : "Technische Details", "Remote Address: %s" : "Entfernte Adresse: %s", diff --git a/apps/dav/l10n/el.js b/apps/dav/l10n/el.js index 8565fc2ce39..f64c83d2aaf 100644 --- a/apps/dav/l10n/el.js +++ b/apps/dav/l10n/el.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Ημερολόγιο", "Todos" : "Εργασίες προς εκτέλεση", + "Personal" : "Προσωπικά", "{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}", "You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}", "{actor} deleted calendar {calendar}" : "{actor} διέγραψε το ημερολόγιο {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου", "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε", "Contact birthdays" : "Γενέθλια επαφών", - "Personal" : "Προσωπικά", "Contacts" : "Επαφές", "Technical details" : "Τεχνικές λεπτομέρειες", "Remote Address: %s" : "Απομακρυσμένη Διεύθυνση: %s", diff --git a/apps/dav/l10n/el.json b/apps/dav/l10n/el.json index c0a3f5369dc..9f7a1ab9268 100644 --- a/apps/dav/l10n/el.json +++ b/apps/dav/l10n/el.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Ημερολόγιο", "Todos" : "Εργασίες προς εκτέλεση", + "Personal" : "Προσωπικά", "{actor} created calendar {calendar}" : "{actor} δημιουργήθηκε το ημερολόγιο {calendar}", "You created calendar {calendar}" : "Δημιουργήσατε ημερολόγιο {ημερολόγιο}", "{actor} deleted calendar {calendar}" : "{actor} διέγραψε το ημερολόγιο {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου", "A calendar <strong>todo</strong> was modified" : "Ενός ημερολογίου η <strong>εκκρεμότητα</strong> τροποποιήθηκε", "Contact birthdays" : "Γενέθλια επαφών", - "Personal" : "Προσωπικά", "Contacts" : "Επαφές", "Technical details" : "Τεχνικές λεπτομέρειες", "Remote Address: %s" : "Απομακρυσμένη Διεύθυνση: %s", diff --git a/apps/dav/l10n/en_GB.js b/apps/dav/l10n/en_GB.js index 6dd47179e37..463fe47ea69 100644 --- a/apps/dav/l10n/en_GB.js +++ b/apps/dav/l10n/en_GB.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Calendar", "Todos" : "Todos", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} created calendar {calendar}", "You created calendar {calendar}" : "You created calendar {calendar}", "{actor} deleted calendar {calendar}" : "{actor} deleted calendar {calendar}", @@ -40,10 +41,12 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "A calendar <strong>event</strong> was modified", "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified", "Contact birthdays" : "Contact birthdays", - "Personal" : "Personal", "Contacts" : "Contacts", "Technical details" : "Technical details", "Remote Address: %s" : "Remote Address: %s", - "Request ID: %s" : "Request ID: %s" + "Request ID: %s" : "Request ID: %s", + "CalDAV server" : "CalDAV server", + "Send invitations to attendees" : "Send invitations to attendees", + "Please make sure to properly set up the email settings above." : "Please make sure to properly set up the email settings above." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/dav/l10n/en_GB.json b/apps/dav/l10n/en_GB.json index fb240965003..b5319c01a49 100644 --- a/apps/dav/l10n/en_GB.json +++ b/apps/dav/l10n/en_GB.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Calendar", "Todos" : "Todos", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} created calendar {calendar}", "You created calendar {calendar}" : "You created calendar {calendar}", "{actor} deleted calendar {calendar}" : "{actor} deleted calendar {calendar}", @@ -38,10 +39,12 @@ "A calendar <strong>event</strong> was modified" : "A calendar <strong>event</strong> was modified", "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified", "Contact birthdays" : "Contact birthdays", - "Personal" : "Personal", "Contacts" : "Contacts", "Technical details" : "Technical details", "Remote Address: %s" : "Remote Address: %s", - "Request ID: %s" : "Request ID: %s" + "Request ID: %s" : "Request ID: %s", + "CalDAV server" : "CalDAV server", + "Send invitations to attendees" : "Send invitations to attendees", + "Please make sure to properly set up the email settings above." : "Please make sure to properly set up the email settings above." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/dav/l10n/es.js b/apps/dav/l10n/es.js index b518dfd0dfe..2a01abafcfb 100644 --- a/apps/dav/l10n/es.js +++ b/apps/dav/l10n/es.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Calendario", "Todos" : "Todos", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}", "You created calendar {calendar}" : "Usted creó el calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} eliminó el calendario {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.", "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada", "Contact birthdays" : "Cumpleaños del contacto", - "Personal" : "Personal", "Contacts" : "Contactos", "Technical details" : "Detalles técnicos", "Remote Address: %s" : "Dirección remota: %s", diff --git a/apps/dav/l10n/es.json b/apps/dav/l10n/es.json index 0503e24f25b..20e33731a34 100644 --- a/apps/dav/l10n/es.json +++ b/apps/dav/l10n/es.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Calendario", "Todos" : "Todos", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}", "You created calendar {calendar}" : "Usted creó el calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} eliminó el calendario {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.", "A calendar <strong>todo</strong> was modified" : "Una <strong>lista de tareas</strong> fue modificada", "Contact birthdays" : "Cumpleaños del contacto", - "Personal" : "Personal", "Contacts" : "Contactos", "Technical details" : "Detalles técnicos", "Remote Address: %s" : "Dirección remota: %s", diff --git a/apps/dav/l10n/es_AR.js b/apps/dav/l10n/es_AR.js index d8753d65d34..7fac0070c8a 100644 --- a/apps/dav/l10n/es_AR.js +++ b/apps/dav/l10n/es_AR.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Calendario", "Todos" : "Pendientes", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}", "You created calendar {calendar}" : "Usted creó el calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado", "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado", "Contact birthdays" : "Cumpleaños del contacto", - "Personal" : "Personal", "Contacts" : "Contactos", "Technical details" : "Detalles técnicos", "Remote Address: %s" : "Dirección remota: %s", diff --git a/apps/dav/l10n/es_AR.json b/apps/dav/l10n/es_AR.json index 1eb8d35975c..542d1536fc7 100644 --- a/apps/dav/l10n/es_AR.json +++ b/apps/dav/l10n/es_AR.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Calendario", "Todos" : "Pendientes", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}", "You created calendar {calendar}" : "Usted creó el calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado", "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado", "Contact birthdays" : "Cumpleaños del contacto", - "Personal" : "Personal", "Contacts" : "Contactos", "Technical details" : "Detalles técnicos", "Remote Address: %s" : "Dirección remota: %s", diff --git a/apps/dav/l10n/es_CO.js b/apps/dav/l10n/es_CO.js index 44fac362a38..50f6886dbce 100644 --- a/apps/dav/l10n/es_CO.js +++ b/apps/dav/l10n/es_CO.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Calendario", "Todos" : "Pendientes", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}", "You created calendar {calendar}" : "Creaste el calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado", "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado", "Contact birthdays" : "Cumpleaños del contacto", - "Personal" : "Personal", "Contacts" : "Contactos", "Technical details" : "Detalles técnicos", "Remote Address: %s" : "Dirección remota: %s", diff --git a/apps/dav/l10n/es_CO.json b/apps/dav/l10n/es_CO.json index 5a7b92dca53..c151ef343fc 100644 --- a/apps/dav/l10n/es_CO.json +++ b/apps/dav/l10n/es_CO.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Calendario", "Todos" : "Pendientes", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}", "You created calendar {calendar}" : "Creaste el calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado", "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado", "Contact birthdays" : "Cumpleaños del contacto", - "Personal" : "Personal", "Contacts" : "Contactos", "Technical details" : "Detalles técnicos", "Remote Address: %s" : "Dirección remota: %s", diff --git a/apps/dav/l10n/es_MX.js b/apps/dav/l10n/es_MX.js index 44fac362a38..50f6886dbce 100644 --- a/apps/dav/l10n/es_MX.js +++ b/apps/dav/l10n/es_MX.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Calendario", "Todos" : "Pendientes", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}", "You created calendar {calendar}" : "Creaste el calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado", "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado", "Contact birthdays" : "Cumpleaños del contacto", - "Personal" : "Personal", "Contacts" : "Contactos", "Technical details" : "Detalles técnicos", "Remote Address: %s" : "Dirección remota: %s", diff --git a/apps/dav/l10n/es_MX.json b/apps/dav/l10n/es_MX.json index 5a7b92dca53..c151ef343fc 100644 --- a/apps/dav/l10n/es_MX.json +++ b/apps/dav/l10n/es_MX.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Calendario", "Todos" : "Pendientes", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} creó el calendario {calendar}", "You created calendar {calendar}" : "Creaste el calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} borró el calendario {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> de un calendario fue modificado", "A calendar <strong>todo</strong> was modified" : "Un <strong>pendiente</strong> de un calendario fue modificado", "Contact birthdays" : "Cumpleaños del contacto", - "Personal" : "Personal", "Contacts" : "Contactos", "Technical details" : "Detalles técnicos", "Remote Address: %s" : "Dirección remota: %s", diff --git a/apps/dav/l10n/fi.js b/apps/dav/l10n/fi.js index 47a3df1aa50..51e42b5d72e 100644 --- a/apps/dav/l10n/fi.js +++ b/apps/dav/l10n/fi.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalenteri", "Todos" : "Tehtävät", + "Personal" : "Henkilökohtainen", "{actor} created calendar {calendar}" : "{actor} loi kalenterin {calendar}", "You created calendar {calendar}" : "Loit kalenterin {calendar}", "{actor} deleted calendar {calendar}" : "{actor} poisti kalenterin {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu", "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> on muokattu", "Contact birthdays" : "Yhteystietojen syntymäpäivät", - "Personal" : "Henkilökohtainen", "Contacts" : "Yhteystiedot", "Technical details" : "Tekniset yksityiskohdat", "Remote Address: %s" : "Etäosoite: %s", diff --git a/apps/dav/l10n/fi.json b/apps/dav/l10n/fi.json index 53c7aa72903..6b3726a242e 100644 --- a/apps/dav/l10n/fi.json +++ b/apps/dav/l10n/fi.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalenteri", "Todos" : "Tehtävät", + "Personal" : "Henkilökohtainen", "{actor} created calendar {calendar}" : "{actor} loi kalenterin {calendar}", "You created calendar {calendar}" : "Loit kalenterin {calendar}", "{actor} deleted calendar {calendar}" : "{actor} poisti kalenterin {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu", "A calendar <strong>todo</strong> was modified" : "Kalenterin <strong>tehtävää</strong> on muokattu", "Contact birthdays" : "Yhteystietojen syntymäpäivät", - "Personal" : "Henkilökohtainen", "Contacts" : "Yhteystiedot", "Technical details" : "Tekniset yksityiskohdat", "Remote Address: %s" : "Etäosoite: %s", diff --git a/apps/dav/l10n/fr.js b/apps/dav/l10n/fr.js index 5ee864e24de..92ab671cd16 100644 --- a/apps/dav/l10n/fr.js +++ b/apps/dav/l10n/fr.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Agenda", "Todos" : "Tâches", + "Personal" : "Personnel", "{actor} created calendar {calendar}" : "{actor} a créé l'agenda {calendar}", "You created calendar {calendar}" : "Vous avez créé l'agenda {calendar}", "{actor} deleted calendar {calendar}" : "{actor} a supprimé l'agenda {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Un <strong>événement</strong> de l'agenda a été modifié", "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée", "Contact birthdays" : "Anniversaires des contacts", - "Personal" : "Personnel", "Contacts" : "Contacts", "Technical details" : "Détails techniques", "Remote Address: %s" : "Adresse distante : %s", diff --git a/apps/dav/l10n/fr.json b/apps/dav/l10n/fr.json index 31b57ed80b7..65eba3c9eae 100644 --- a/apps/dav/l10n/fr.json +++ b/apps/dav/l10n/fr.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Agenda", "Todos" : "Tâches", + "Personal" : "Personnel", "{actor} created calendar {calendar}" : "{actor} a créé l'agenda {calendar}", "You created calendar {calendar}" : "Vous avez créé l'agenda {calendar}", "{actor} deleted calendar {calendar}" : "{actor} a supprimé l'agenda {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Un <strong>événement</strong> de l'agenda a été modifié", "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée", "Contact birthdays" : "Anniversaires des contacts", - "Personal" : "Personnel", "Contacts" : "Contacts", "Technical details" : "Détails techniques", "Remote Address: %s" : "Adresse distante : %s", diff --git a/apps/dav/l10n/hu.js b/apps/dav/l10n/hu.js index 580acd8de08..e1d8a950d02 100644 --- a/apps/dav/l10n/hu.js +++ b/apps/dav/l10n/hu.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Naptár", "Todos" : "Teendők", + "Personal" : "Személyes", "{actor} created calendar {calendar}" : "{actor} létrehozta a naptárt: {calendar}", "You created calendar {calendar}" : "Létrehoztad a naptárt: {calendar}", "{actor} deleted calendar {calendar}" : "{actor} törölte a naptárt: {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Egy naptár <strong>esemény</strong> megváltozott", "A calendar <strong>todo</strong> was modified" : "Egy naptár <strong>teendő</strong> megváltozott", "Contact birthdays" : "Születésnapok", - "Personal" : "Személyes", "Contacts" : "Névjegyek", "Technical details" : "Technikai adatok", "Remote Address: %s" : "Távoli cím: %s", diff --git a/apps/dav/l10n/hu.json b/apps/dav/l10n/hu.json index b5ffec493ef..f1fd00091dd 100644 --- a/apps/dav/l10n/hu.json +++ b/apps/dav/l10n/hu.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Naptár", "Todos" : "Teendők", + "Personal" : "Személyes", "{actor} created calendar {calendar}" : "{actor} létrehozta a naptárt: {calendar}", "You created calendar {calendar}" : "Létrehoztad a naptárt: {calendar}", "{actor} deleted calendar {calendar}" : "{actor} törölte a naptárt: {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Egy naptár <strong>esemény</strong> megváltozott", "A calendar <strong>todo</strong> was modified" : "Egy naptár <strong>teendő</strong> megváltozott", "Contact birthdays" : "Születésnapok", - "Personal" : "Személyes", "Contacts" : "Névjegyek", "Technical details" : "Technikai adatok", "Remote Address: %s" : "Távoli cím: %s", diff --git a/apps/dav/l10n/is.js b/apps/dav/l10n/is.js index 79b4275068a..f333a74f7a6 100644 --- a/apps/dav/l10n/is.js +++ b/apps/dav/l10n/is.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Dagatal", "Todos" : "Verkþættir", + "Personal" : "Einka", "{actor} created calendar {calendar}" : "{actor} bjó til dagatalið {calendar}", "You created calendar {calendar}" : "Þú bjóst til dagatalið {calendar}", "{actor} deleted calendar {calendar}" : "{actor} eyddi dagatalinu {calendar}", @@ -40,10 +41,12 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "<strong>Atburði</strong> dagatals var breytt", "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> dagatals var breytt", "Contact birthdays" : "Afmælisdagar tengiliðar", - "Personal" : "Einka", "Contacts" : "Tengiliðir", "Technical details" : "Tæknilegar upplýsingar", "Remote Address: %s" : "Fjartengt vistfang: %s", - "Request ID: %s" : "Beiðni um auðkenni: %s" + "Request ID: %s" : "Beiðni um auðkenni: %s", + "CalDAV server" : "CalDAV-þjónn", + "Send invitations to attendees" : "Senda boð til þátttakenda", + "Please make sure to properly set up the email settings above." : "Gakktu úr skugga um að tölvupóststillingarnar hér fyrir ofan séu réttar." }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/dav/l10n/is.json b/apps/dav/l10n/is.json index aba5a88917f..13763d56f63 100644 --- a/apps/dav/l10n/is.json +++ b/apps/dav/l10n/is.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Dagatal", "Todos" : "Verkþættir", + "Personal" : "Einka", "{actor} created calendar {calendar}" : "{actor} bjó til dagatalið {calendar}", "You created calendar {calendar}" : "Þú bjóst til dagatalið {calendar}", "{actor} deleted calendar {calendar}" : "{actor} eyddi dagatalinu {calendar}", @@ -38,10 +39,12 @@ "A calendar <strong>event</strong> was modified" : "<strong>Atburði</strong> dagatals var breytt", "A calendar <strong>todo</strong> was modified" : "<strong>Verkefnalista</strong> dagatals var breytt", "Contact birthdays" : "Afmælisdagar tengiliðar", - "Personal" : "Einka", "Contacts" : "Tengiliðir", "Technical details" : "Tæknilegar upplýsingar", "Remote Address: %s" : "Fjartengt vistfang: %s", - "Request ID: %s" : "Beiðni um auðkenni: %s" + "Request ID: %s" : "Beiðni um auðkenni: %s", + "CalDAV server" : "CalDAV-þjónn", + "Send invitations to attendees" : "Senda boð til þátttakenda", + "Please make sure to properly set up the email settings above." : "Gakktu úr skugga um að tölvupóststillingarnar hér fyrir ofan séu réttar." },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/apps/dav/l10n/it.js b/apps/dav/l10n/it.js index 4994257fa77..ae8ea0a1f50 100644 --- a/apps/dav/l10n/it.js +++ b/apps/dav/l10n/it.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Calendario", "Todos" : "Cose da fare", + "Personal" : "Personale", "{actor} created calendar {calendar}" : "{actor} ha creato il calendario {calendar}", "You created calendar {calendar}" : "Hai creato il calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} ha eliminato il calendario {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario è stato modificato", "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata", "Contact birthdays" : "Date di nascita dei contatti", - "Personal" : "Personale", "Contacts" : "Contatti", "Technical details" : "Dettagli tecnici", "Remote Address: %s" : "Indirizzo remoto: %s", diff --git a/apps/dav/l10n/it.json b/apps/dav/l10n/it.json index 74afb2d0827..600ace4f2e4 100644 --- a/apps/dav/l10n/it.json +++ b/apps/dav/l10n/it.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Calendario", "Todos" : "Cose da fare", + "Personal" : "Personale", "{actor} created calendar {calendar}" : "{actor} ha creato il calendario {calendar}", "You created calendar {calendar}" : "Hai creato il calendario {calendar}", "{actor} deleted calendar {calendar}" : "{actor} ha eliminato il calendario {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario è stato modificato", "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata", "Contact birthdays" : "Date di nascita dei contatti", - "Personal" : "Personale", "Contacts" : "Contatti", "Technical details" : "Dettagli tecnici", "Remote Address: %s" : "Indirizzo remoto: %s", diff --git a/apps/dav/l10n/ko.js b/apps/dav/l10n/ko.js index af429509986..81a01556fbf 100644 --- a/apps/dav/l10n/ko.js +++ b/apps/dav/l10n/ko.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "달력", "Todos" : "할 일", + "Personal" : "개인", "{actor} created calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 생성함", "You created calendar {calendar}" : "달력 {calendar}을(를) 생성함", "{actor} deleted calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 삭제함", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "달력 <strong>행사</strong>가 수정됨", "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨", "Contact birthdays" : "연락처에 등록된 생일", - "Personal" : "개인", "Contacts" : "연락처", "Technical details" : "기술 정보", "Remote Address: %s" : "원격 주소: %s", diff --git a/apps/dav/l10n/ko.json b/apps/dav/l10n/ko.json index 7731c7140ae..e397a73b4b3 100644 --- a/apps/dav/l10n/ko.json +++ b/apps/dav/l10n/ko.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "달력", "Todos" : "할 일", + "Personal" : "개인", "{actor} created calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 생성함", "You created calendar {calendar}" : "달력 {calendar}을(를) 생성함", "{actor} deleted calendar {calendar}" : "{actor} 님이 달력 {calendar}을(를) 삭제함", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "달력 <strong>행사</strong>가 수정됨", "A calendar <strong>todo</strong> was modified" : "달력의 <strong>할 일</strong>이 수정됨", "Contact birthdays" : "연락처에 등록된 생일", - "Personal" : "개인", "Contacts" : "연락처", "Technical details" : "기술 정보", "Remote Address: %s" : "원격 주소: %s", diff --git a/apps/dav/l10n/lt_LT.js b/apps/dav/l10n/lt_LT.js index 7fc97309154..ec20bcf7bc8 100644 --- a/apps/dav/l10n/lt_LT.js +++ b/apps/dav/l10n/lt_LT.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalendorius", "Todos" : "Užduotys", + "Personal" : "Asmeniniai", "{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}", "You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}", "{actor} deleted calendar {calendar}" : "{actor} ištrynė kalendorių {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo pakeistas", "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo pakeista", "Contact birthdays" : "Kontaktų gimtadieniai", - "Personal" : "Asmeniniai", "Contacts" : "Kontaktai", "Technical details" : "Techninė informacija", "Remote Address: %s" : "Nuotolinis adresas: %s", diff --git a/apps/dav/l10n/lt_LT.json b/apps/dav/l10n/lt_LT.json index e328eef4362..c0a8e43c7b8 100644 --- a/apps/dav/l10n/lt_LT.json +++ b/apps/dav/l10n/lt_LT.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalendorius", "Todos" : "Užduotys", + "Personal" : "Asmeniniai", "{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}", "You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}", "{actor} deleted calendar {calendar}" : "{actor} ištrynė kalendorių {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo pakeistas", "A calendar <strong>todo</strong> was modified" : "Kalendoriaus <strong>užduotis</strong> buvo pakeista", "Contact birthdays" : "Kontaktų gimtadieniai", - "Personal" : "Asmeniniai", "Contacts" : "Kontaktai", "Technical details" : "Techninė informacija", "Remote Address: %s" : "Nuotolinis adresas: %s", diff --git a/apps/dav/l10n/nb.js b/apps/dav/l10n/nb.js index e1985b743b1..4a207c3cd57 100644 --- a/apps/dav/l10n/nb.js +++ b/apps/dav/l10n/nb.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalender", "Todos" : "Gjøremål", + "Personal" : "Personlig", "{actor} created calendar {calendar}" : "{actor} opprettet kalenderen {calendar}", "You created calendar {calendar}" : "Du opprettet kalenderen {calendar}", "{actor} deleted calendar {calendar}" : "{actor} slettet kalenderen {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret", "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret", "Contact birthdays" : "Kontakters fødelsdag", - "Personal" : "Personlig", "Contacts" : "Kontakter", "Technical details" : "Tekniske detaljer", "Remote Address: %s" : "Ekstern adresse: %s", diff --git a/apps/dav/l10n/nb.json b/apps/dav/l10n/nb.json index cce442b7655..80ddcab2b58 100644 --- a/apps/dav/l10n/nb.json +++ b/apps/dav/l10n/nb.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalender", "Todos" : "Gjøremål", + "Personal" : "Personlig", "{actor} created calendar {calendar}" : "{actor} opprettet kalenderen {calendar}", "You created calendar {calendar}" : "Du opprettet kalenderen {calendar}", "{actor} deleted calendar {calendar}" : "{actor} slettet kalenderen {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "En kalender <strong>hendelse</strong> ble endret", "A calendar <strong>todo</strong> was modified" : "En kalende <strong>gjøremål</strong> ble endret", "Contact birthdays" : "Kontakters fødelsdag", - "Personal" : "Personlig", "Contacts" : "Kontakter", "Technical details" : "Tekniske detaljer", "Remote Address: %s" : "Ekstern adresse: %s", diff --git a/apps/dav/l10n/nl.js b/apps/dav/l10n/nl.js index 45de930e196..094e621c926 100644 --- a/apps/dav/l10n/nl.js +++ b/apps/dav/l10n/nl.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalender", "Todos" : "Te doen", + "Personal" : "Persoonlijk", "{actor} created calendar {calendar}" : "{actor} creëerde agenda {calendar}", "You created calendar {calendar}" : "Jij creëerde agenda {calendar}", "{actor} deleted calendar {calendar}" : "{actor} verwijderde agenda {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Een agenda <strong>gebeurtenis</strong> is aangepast", "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> was aangepast", "Contact birthdays" : "Verjaardagen", - "Personal" : "Persoonlijk", "Contacts" : "Contactpersonen", "Technical details" : "Technische details", "Remote Address: %s" : "Extern adres: %s", diff --git a/apps/dav/l10n/nl.json b/apps/dav/l10n/nl.json index 4935eefff7d..f38a938cd2d 100644 --- a/apps/dav/l10n/nl.json +++ b/apps/dav/l10n/nl.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalender", "Todos" : "Te doen", + "Personal" : "Persoonlijk", "{actor} created calendar {calendar}" : "{actor} creëerde agenda {calendar}", "You created calendar {calendar}" : "Jij creëerde agenda {calendar}", "{actor} deleted calendar {calendar}" : "{actor} verwijderde agenda {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Een agenda <strong>gebeurtenis</strong> is aangepast", "A calendar <strong>todo</strong> was modified" : "Een agenda <strong>Te doen</strong> was aangepast", "Contact birthdays" : "Verjaardagen", - "Personal" : "Persoonlijk", "Contacts" : "Contactpersonen", "Technical details" : "Technische details", "Remote Address: %s" : "Extern adres: %s", diff --git a/apps/dav/l10n/pl.js b/apps/dav/l10n/pl.js index 806a23498c3..e371260fb5f 100644 --- a/apps/dav/l10n/pl.js +++ b/apps/dav/l10n/pl.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalendarz", "Todos" : "Zadania", + "Personal" : "Osobiste", "{actor} created calendar {calendar}" : "{actor} utworzył/-a kalendarz {calendar}", "You created calendar {calendar}" : "Utworzyłeś/-aś kalendarz {calendar}", "{actor} deleted calendar {calendar}" : "{actor} usunął/-ęła kalendarz {calendar} .", @@ -40,12 +41,12 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "<strong>Zdarzenie</strong> kalendarza zostało zmodyfikowane", "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony", "Contact birthdays" : "Urodziny kontaktu", - "Personal" : "Osobiste", "Contacts" : "Kontakty", "Technical details" : "Szczegóły techniczne", "Remote Address: %s" : "Adres zdalny: %s", "Request ID: %s" : "ID żądania: %s", "CalDAV server" : "Serwer CalDAV", - "Send invitations to attendees" : "Wyślij uczestnikom zaproszenia" + "Send invitations to attendees" : "Wyślij uczestnikom zaproszenia", + "Please make sure to properly set up the email settings above." : "Upewnij się, że dobrze skonfigurowano powyżej ustawienia poczty e-mail." }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/apps/dav/l10n/pl.json b/apps/dav/l10n/pl.json index 618dfd48a6a..9d707baedd2 100644 --- a/apps/dav/l10n/pl.json +++ b/apps/dav/l10n/pl.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalendarz", "Todos" : "Zadania", + "Personal" : "Osobiste", "{actor} created calendar {calendar}" : "{actor} utworzył/-a kalendarz {calendar}", "You created calendar {calendar}" : "Utworzyłeś/-aś kalendarz {calendar}", "{actor} deleted calendar {calendar}" : "{actor} usunął/-ęła kalendarz {calendar} .", @@ -38,12 +39,12 @@ "A calendar <strong>event</strong> was modified" : "<strong>Zdarzenie</strong> kalendarza zostało zmodyfikowane", "A calendar <strong>todo</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony", "Contact birthdays" : "Urodziny kontaktu", - "Personal" : "Osobiste", "Contacts" : "Kontakty", "Technical details" : "Szczegóły techniczne", "Remote Address: %s" : "Adres zdalny: %s", "Request ID: %s" : "ID żądania: %s", "CalDAV server" : "Serwer CalDAV", - "Send invitations to attendees" : "Wyślij uczestnikom zaproszenia" + "Send invitations to attendees" : "Wyślij uczestnikom zaproszenia", + "Please make sure to properly set up the email settings above." : "Upewnij się, że dobrze skonfigurowano powyżej ustawienia poczty e-mail." },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" }
\ No newline at end of file diff --git a/apps/dav/l10n/pt_BR.js b/apps/dav/l10n/pt_BR.js index 20983e70721..6d2745c12d5 100644 --- a/apps/dav/l10n/pt_BR.js +++ b/apps/dav/l10n/pt_BR.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Calendário", "Todos" : "Tarefas", + "Personal" : "Pessoal", "{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}", "You created calendar {calendar}" : "Você criou o calendário {calendar}", "{actor} deleted calendar {calendar}" : "{actor} excluiu o calendário {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Um <strong>evento</strong> do calendário foi modificado", "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada", "Contact birthdays" : "Aniversário dos contatos", - "Personal" : "Pessoal", "Contacts" : "Contatos", "Technical details" : "Detalhes técnicos", "Remote Address: %s" : "Endereço remoto: %s", diff --git a/apps/dav/l10n/pt_BR.json b/apps/dav/l10n/pt_BR.json index ff064fee47c..c3d954c7df3 100644 --- a/apps/dav/l10n/pt_BR.json +++ b/apps/dav/l10n/pt_BR.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Calendário", "Todos" : "Tarefas", + "Personal" : "Pessoal", "{actor} created calendar {calendar}" : "{actor} criou o calendário {calendar}", "You created calendar {calendar}" : "Você criou o calendário {calendar}", "{actor} deleted calendar {calendar}" : "{actor} excluiu o calendário {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Um <strong>evento</strong> do calendário foi modificado", "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada", "Contact birthdays" : "Aniversário dos contatos", - "Personal" : "Pessoal", "Contacts" : "Contatos", "Technical details" : "Detalhes técnicos", "Remote Address: %s" : "Endereço remoto: %s", diff --git a/apps/dav/l10n/ro.js b/apps/dav/l10n/ro.js index 9f3f2fbf72f..4c506608244 100644 --- a/apps/dav/l10n/ro.js +++ b/apps/dav/l10n/ro.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Calendar", "Todos" : "De făcut", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} a creat calendarul {calendar}", "You created calendar {calendar}" : "Ai creat calendarul {calendar}", "{actor} deleted calendar {calendar}" : "{actor} a șters calendarul {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Un <strong>eveniment</strong> din calendar a fost modificat", "A calendar <strong>todo</strong> was modified" : "O <strong>listă</strong> din calendar a fost modificată", "Contact birthdays" : "Zile de naștere ale persoanelor de contact", - "Personal" : "Personal", "Contacts" : "Persoane de contact", "Technical details" : "Detalii tehnice", "Remote Address: %s" : "Adresă la distanță: %s", diff --git a/apps/dav/l10n/ro.json b/apps/dav/l10n/ro.json index f93f03bd4dd..f98340b4c29 100644 --- a/apps/dav/l10n/ro.json +++ b/apps/dav/l10n/ro.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Calendar", "Todos" : "De făcut", + "Personal" : "Personal", "{actor} created calendar {calendar}" : "{actor} a creat calendarul {calendar}", "You created calendar {calendar}" : "Ai creat calendarul {calendar}", "{actor} deleted calendar {calendar}" : "{actor} a șters calendarul {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Un <strong>eveniment</strong> din calendar a fost modificat", "A calendar <strong>todo</strong> was modified" : "O <strong>listă</strong> din calendar a fost modificată", "Contact birthdays" : "Zile de naștere ale persoanelor de contact", - "Personal" : "Personal", "Contacts" : "Persoane de contact", "Technical details" : "Detalii tehnice", "Remote Address: %s" : "Adresă la distanță: %s", diff --git a/apps/dav/l10n/ru.js b/apps/dav/l10n/ru.js index e6749e7fb1b..fb515a5c4f6 100644 --- a/apps/dav/l10n/ru.js +++ b/apps/dav/l10n/ru.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Календарь", "Todos" : "Задачи", + "Personal" : "Личное", "{actor} created calendar {calendar}" : "{actor} создал календарь {calendar}", "You created calendar {calendar}" : "Вы создали календарь {calendar}", "{actor} deleted calendar {calendar}" : "{actor} удалил календарь {calendar}", @@ -40,10 +41,12 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "<strong>Событие</strong> календаря была изменена", "A calendar <strong>todo</strong> was modified" : "<strong>Задача</strong> календаря была изменена", "Contact birthdays" : "Дни рождения контакта", - "Personal" : "Личное", "Contacts" : "Контакты", "Technical details" : "Технические подробности", "Remote Address: %s" : "Удаленный адрес: %s", - "Request ID: %s" : "ID запроса: %s" + "Request ID: %s" : "ID запроса: %s", + "CalDAV server" : "CalDAV сервер", + "Send invitations to attendees" : "Отправить приглашения", + "Please make sure to properly set up the email settings above." : "Пожалуйста проверьте правильность настройки почты выше." }, "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/apps/dav/l10n/ru.json b/apps/dav/l10n/ru.json index 538be85207e..dbd0a712276 100644 --- a/apps/dav/l10n/ru.json +++ b/apps/dav/l10n/ru.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Календарь", "Todos" : "Задачи", + "Personal" : "Личное", "{actor} created calendar {calendar}" : "{actor} создал календарь {calendar}", "You created calendar {calendar}" : "Вы создали календарь {calendar}", "{actor} deleted calendar {calendar}" : "{actor} удалил календарь {calendar}", @@ -38,10 +39,12 @@ "A calendar <strong>event</strong> was modified" : "<strong>Событие</strong> календаря была изменена", "A calendar <strong>todo</strong> was modified" : "<strong>Задача</strong> календаря была изменена", "Contact birthdays" : "Дни рождения контакта", - "Personal" : "Личное", "Contacts" : "Контакты", "Technical details" : "Технические подробности", "Remote Address: %s" : "Удаленный адрес: %s", - "Request ID: %s" : "ID запроса: %s" + "Request ID: %s" : "ID запроса: %s", + "CalDAV server" : "CalDAV сервер", + "Send invitations to attendees" : "Отправить приглашения", + "Please make sure to properly set up the email settings above." : "Пожалуйста проверьте правильность настройки почты выше." },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" }
\ No newline at end of file diff --git a/apps/dav/l10n/sk.js b/apps/dav/l10n/sk.js index 2e1fc5d3699..1eeee8b6e6c 100644 --- a/apps/dav/l10n/sk.js +++ b/apps/dav/l10n/sk.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalendár", "Todos" : "Úlohy", + "Personal" : "Osobné", "{actor} created calendar {calendar}" : "[actor] vytvoril kalendár [calendar]", "You created calendar {calendar}" : "Vytvorili ste kalendár [calendar]", "{actor} deleted calendar {calendar}" : "[actor] zmazal kalendár [calendar]", @@ -40,10 +41,12 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "<strong>Udalosť</strong> v kalendári bola upravená", "A calendar <strong>todo</strong> was modified" : "<>", "Contact birthdays" : "Narodeniny kontaktu", - "Personal" : "Osobné", "Contacts" : "Kontakty", "Technical details" : "Technické podrobnosti", "Remote Address: %s" : "Vzdialená adresa: %s", - "Request ID: %s" : "ID požiadavky: %s" + "Request ID: %s" : "ID požiadavky: %s", + "CalDAV server" : "Server CalDAV", + "Send invitations to attendees" : "Odoslanie pozvánok účastníkom", + "Please make sure to properly set up the email settings above." : "Uistite sa, že máte správne nastavené vyššie uvedené nastavenia e-mailu." }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/dav/l10n/sk.json b/apps/dav/l10n/sk.json index cac08a2ca42..d21f92e6f07 100644 --- a/apps/dav/l10n/sk.json +++ b/apps/dav/l10n/sk.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalendár", "Todos" : "Úlohy", + "Personal" : "Osobné", "{actor} created calendar {calendar}" : "[actor] vytvoril kalendár [calendar]", "You created calendar {calendar}" : "Vytvorili ste kalendár [calendar]", "{actor} deleted calendar {calendar}" : "[actor] zmazal kalendár [calendar]", @@ -38,10 +39,12 @@ "A calendar <strong>event</strong> was modified" : "<strong>Udalosť</strong> v kalendári bola upravená", "A calendar <strong>todo</strong> was modified" : "<>", "Contact birthdays" : "Narodeniny kontaktu", - "Personal" : "Osobné", "Contacts" : "Kontakty", "Technical details" : "Technické podrobnosti", "Remote Address: %s" : "Vzdialená adresa: %s", - "Request ID: %s" : "ID požiadavky: %s" + "Request ID: %s" : "ID požiadavky: %s", + "CalDAV server" : "Server CalDAV", + "Send invitations to attendees" : "Odoslanie pozvánok účastníkom", + "Please make sure to properly set up the email settings above." : "Uistite sa, že máte správne nastavené vyššie uvedené nastavenia e-mailu." },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/dav/l10n/sq.js b/apps/dav/l10n/sq.js index 2ced2eddcbf..ecb7f350e09 100644 --- a/apps/dav/l10n/sq.js +++ b/apps/dav/l10n/sq.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalendar", "Todos" : "Për tu bërë", + "Personal" : "Personale", "{actor} created calendar {calendar}" : "{aktori} krijoi kalendarin {kalendarin}", "You created calendar {calendar}" : "Ju krijuat kalendarin {calendar}", "{actor} deleted calendar {calendar}" : "{actor} fshiu kalendarin {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Një <strong>event</strong> në kalendar u modifikua", "A calendar <strong>todo</strong> was modified" : "Një kalendar <strong>todo<strong> u modifikua", "Contact birthdays" : "Ditëlindjet e kontakteve", - "Personal" : "Personale", "Contacts" : "Kontaktet", "Technical details" : "Detaje teknike", "Remote Address: %s" : "Adresa remote: %s", diff --git a/apps/dav/l10n/sq.json b/apps/dav/l10n/sq.json index dea2472fa16..981ace9d18a 100644 --- a/apps/dav/l10n/sq.json +++ b/apps/dav/l10n/sq.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalendar", "Todos" : "Për tu bërë", + "Personal" : "Personale", "{actor} created calendar {calendar}" : "{aktori} krijoi kalendarin {kalendarin}", "You created calendar {calendar}" : "Ju krijuat kalendarin {calendar}", "{actor} deleted calendar {calendar}" : "{actor} fshiu kalendarin {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "Një <strong>event</strong> në kalendar u modifikua", "A calendar <strong>todo</strong> was modified" : "Një kalendar <strong>todo<strong> u modifikua", "Contact birthdays" : "Ditëlindjet e kontakteve", - "Personal" : "Personale", "Contacts" : "Kontaktet", "Technical details" : "Detaje teknike", "Remote Address: %s" : "Adresa remote: %s", diff --git a/apps/dav/l10n/sr.js b/apps/dav/l10n/sr.js index c1900d3d592..90cb6003b8c 100644 --- a/apps/dav/l10n/sr.js +++ b/apps/dav/l10n/sr.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Календар", "Todos" : "Подсетници", + "Personal" : "Лично", "{actor} created calendar {calendar}" : "{actor} је направио календар {calendar}", "You created calendar {calendar}" : "Креирали сте календар {calendar}", "{actor} deleted calendar {calendar}" : "{actor} је обрисао календар {calendar}", @@ -40,12 +41,12 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "<strong>Догађај</strong> из календара је измењен", "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен", "Contact birthdays" : "Рођендани контаката", - "Personal" : "Лично", "Contacts" : "Контакти", "Technical details" : "Технички детаљи", "Remote Address: %s" : "Удаљена адреса: %s", "Request ID: %s" : "ИД захтева: %s", "CalDAV server" : "CalDAV сервер", - "Send invitations to attendees" : "Пошаљи позивницу учесницима" + "Send invitations to attendees" : "Пошаљи позивницу учесницима", + "Please make sure to properly set up the email settings above." : "Пазите да правилно подесите поставке е-поште изнад." }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/apps/dav/l10n/sr.json b/apps/dav/l10n/sr.json index 8d51293dc59..45b02431c7e 100644 --- a/apps/dav/l10n/sr.json +++ b/apps/dav/l10n/sr.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Календар", "Todos" : "Подсетници", + "Personal" : "Лично", "{actor} created calendar {calendar}" : "{actor} је направио календар {calendar}", "You created calendar {calendar}" : "Креирали сте календар {calendar}", "{actor} deleted calendar {calendar}" : "{actor} је обрисао календар {calendar}", @@ -38,12 +39,12 @@ "A calendar <strong>event</strong> was modified" : "<strong>Догађај</strong> из календара је измењен", "A calendar <strong>todo</strong> was modified" : "<strong>Подсетник</strong> из календара је измењен", "Contact birthdays" : "Рођендани контаката", - "Personal" : "Лично", "Contacts" : "Контакти", "Technical details" : "Технички детаљи", "Remote Address: %s" : "Удаљена адреса: %s", "Request ID: %s" : "ИД захтева: %s", "CalDAV server" : "CalDAV сервер", - "Send invitations to attendees" : "Пошаљи позивницу учесницима" + "Send invitations to attendees" : "Пошаљи позивницу учесницима", + "Please make sure to properly set up the email settings above." : "Пазите да правилно подесите поставке е-поште изнад." },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }
\ No newline at end of file diff --git a/apps/dav/l10n/sv.js b/apps/dav/l10n/sv.js index 25cd0d797c8..aa8765c7dc9 100644 --- a/apps/dav/l10n/sv.js +++ b/apps/dav/l10n/sv.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Kalender", "Todos" : "Uppgifter", + "Personal" : "Privat", "{actor} created calendar {calendar}" : "{actor} skapade kalender {calendar}", "You created calendar {calendar}" : "Du skapade kalender {calendar}", "{actor} deleted calendar {calendar}" : "{actor} raderade kalender {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "En kalender-<strong>händelse</strong> modifierades", "A calendar <strong>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades", "Contact birthdays" : "Födelsedagar", - "Personal" : "Privat", "Contacts" : "Kontakter", "Technical details" : "Tekniska detaljer", "Remote Address: %s" : "Extern adress: %s", diff --git a/apps/dav/l10n/sv.json b/apps/dav/l10n/sv.json index ba76ca55329..0c06957dcfd 100644 --- a/apps/dav/l10n/sv.json +++ b/apps/dav/l10n/sv.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Kalender", "Todos" : "Uppgifter", + "Personal" : "Privat", "{actor} created calendar {calendar}" : "{actor} skapade kalender {calendar}", "You created calendar {calendar}" : "Du skapade kalender {calendar}", "{actor} deleted calendar {calendar}" : "{actor} raderade kalender {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "En kalender-<strong>händelse</strong> modifierades", "A calendar <strong>todo</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades", "Contact birthdays" : "Födelsedagar", - "Personal" : "Privat", "Contacts" : "Kontakter", "Technical details" : "Tekniska detaljer", "Remote Address: %s" : "Extern adress: %s", diff --git a/apps/dav/l10n/tr.js b/apps/dav/l10n/tr.js index dcad06e1b97..b14d1bd4d24 100644 --- a/apps/dav/l10n/tr.js +++ b/apps/dav/l10n/tr.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "Takvim", "Todos" : "Yapılacak İşler", + "Personal" : "Kişisel", "{actor} created calendar {calendar}" : "{actor}, {calendar} takvimini ekledi", "You created calendar {calendar}" : "{calendar} takvimini eklediniz", "{actor} deleted calendar {calendar}" : "{actor}, {calendar} takvimini sildi", @@ -40,12 +41,12 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "Bir takvim <strong>etkinliği</strong> düzenlendi", "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi", "Contact birthdays" : "Kişi doğum günleri", - "Personal" : "Kişisel", "Contacts" : "Kişiler", "Technical details" : "Teknik ayrıntılar", "Remote Address: %s" : "Uzak Adres: %s", "Request ID: %s" : "İstek Kodu: %s", "CalDAV server" : "CalDAV sunucusu", - "Send invitations to attendees" : "Katılımcılara çağrıları gönder" + "Send invitations to attendees" : "Katılımcılara çağrıları gönder", + "Please make sure to properly set up the email settings above." : "Lütfen yukarıdaki e-posta ayarlarını doğru olarak yaptığınızdan emin olun." }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/dav/l10n/tr.json b/apps/dav/l10n/tr.json index b9133ea2647..23cbfbaac35 100644 --- a/apps/dav/l10n/tr.json +++ b/apps/dav/l10n/tr.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "Takvim", "Todos" : "Yapılacak İşler", + "Personal" : "Kişisel", "{actor} created calendar {calendar}" : "{actor}, {calendar} takvimini ekledi", "You created calendar {calendar}" : "{calendar} takvimini eklediniz", "{actor} deleted calendar {calendar}" : "{actor}, {calendar} takvimini sildi", @@ -38,12 +39,12 @@ "A calendar <strong>event</strong> was modified" : "Bir takvim <strong>etkinliği</strong> düzenlendi", "A calendar <strong>todo</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi", "Contact birthdays" : "Kişi doğum günleri", - "Personal" : "Kişisel", "Contacts" : "Kişiler", "Technical details" : "Teknik ayrıntılar", "Remote Address: %s" : "Uzak Adres: %s", "Request ID: %s" : "İstek Kodu: %s", "CalDAV server" : "CalDAV sunucusu", - "Send invitations to attendees" : "Katılımcılara çağrıları gönder" + "Send invitations to attendees" : "Katılımcılara çağrıları gönder", + "Please make sure to properly set up the email settings above." : "Lütfen yukarıdaki e-posta ayarlarını doğru olarak yaptığınızdan emin olun." },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/dav/l10n/zh_CN.js b/apps/dav/l10n/zh_CN.js index 049c0e2b542..e0ee9015402 100644 --- a/apps/dav/l10n/zh_CN.js +++ b/apps/dav/l10n/zh_CN.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Calendar" : "日历", "Todos" : "待办事项", + "Personal" : "个人", "{actor} created calendar {calendar}" : "{actor} 创建了日历 {calendar}", "You created calendar {calendar}" : "您创建的日历 {calendar}", "{actor} deleted calendar {calendar}" : "{actor} 删除了日历 {calendar}", @@ -40,7 +41,6 @@ OC.L10N.register( "A calendar <strong>event</strong> was modified" : "日历中<strong>事件</strong>已经修改", "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改", "Contact birthdays" : "联系人生日", - "Personal" : "个人", "Contacts" : "联系人", "Technical details" : "技术细节", "Remote Address: %s" : "远程地址: %s", diff --git a/apps/dav/l10n/zh_CN.json b/apps/dav/l10n/zh_CN.json index 7e215d624d2..30419409556 100644 --- a/apps/dav/l10n/zh_CN.json +++ b/apps/dav/l10n/zh_CN.json @@ -1,6 +1,7 @@ { "translations": { "Calendar" : "日历", "Todos" : "待办事项", + "Personal" : "个人", "{actor} created calendar {calendar}" : "{actor} 创建了日历 {calendar}", "You created calendar {calendar}" : "您创建的日历 {calendar}", "{actor} deleted calendar {calendar}" : "{actor} 删除了日历 {calendar}", @@ -38,7 +39,6 @@ "A calendar <strong>event</strong> was modified" : "日历中<strong>事件</strong>已经修改", "A calendar <strong>todo</strong> was modified" : "列表中<strong>待办事项</strong>已经修改", "Contact birthdays" : "联系人生日", - "Personal" : "个人", "Contacts" : "联系人", "Technical details" : "技术细节", "Remote Address: %s" : "远程地址: %s", diff --git a/apps/dav/lib/CalDAV/Activity/Backend.php b/apps/dav/lib/CalDAV/Activity/Backend.php index f8cc82407fd..c1a68c1682c 100644 --- a/apps/dav/lib/CalDAV/Activity/Backend.php +++ b/apps/dav/lib/CalDAV/Activity/Backend.php @@ -135,8 +135,12 @@ class Backend { ->setSubject( $user === $currentUser ? $action . '_self' : $action, [ - $currentUser, - $calendarData['{DAV:}displayname'], + 'actor' => $currentUser, + 'calendar' => [ + 'id' => (int) $calendarData['id'], + 'uri' => $calendarData['uri'], + 'name' => $calendarData['{DAV:}displayname'], + ], ] ); $this->activityManager->publish($event); @@ -187,8 +191,13 @@ class Backend { if ($owner !== $principal[2]) { $parameters = [ - $principal[2], - $calendarData['{DAV:}displayname'], + 'actor' => $event->getAuthor(), + 'calendar' => [ + 'id' => (int) $calendarData['id'], + 'uri' => $calendarData['uri'], + 'name' => $calendarData['{DAV:}displayname'], + ], + 'user' => $principal[2], ]; if ($owner === $event->getAuthor()) { @@ -201,7 +210,6 @@ class Backend { $this->activityManager->publish($event); $subject = Calendar::SUBJECT_UNSHARE_USER . '_by'; - $parameters[] = $event->getAuthor(); } $event->setAffectedUser($owner) @@ -212,8 +220,13 @@ class Backend { $this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_UNSHARE_USER); $parameters = [ - $principal[2], - $calendarData['{DAV:}displayname'], + 'actor' => $event->getAuthor(), + 'calendar' => [ + 'id' => (int) $calendarData['id'], + 'uri' => $calendarData['uri'], + 'name' => $calendarData['{DAV:}displayname'], + ], + 'group' => $principal[2], ]; if ($owner === $event->getAuthor()) { @@ -224,7 +237,6 @@ class Backend { $this->activityManager->publish($event); $subject = Calendar::SUBJECT_UNSHARE_GROUP . '_by'; - $parameters[] = $event->getAuthor(); } $event->setAffectedUser($owner) @@ -250,8 +262,13 @@ class Backend { if ($owner !== $principal[2]) { $parameters = [ - $principal[2], - $calendarData['{DAV:}displayname'], + 'actor' => $event->getAuthor(), + 'calendar' => [ + 'id' => (int) $calendarData['id'], + 'uri' => $calendarData['uri'], + 'name' => $calendarData['{DAV:}displayname'], + ], + 'user' => $principal[2], ]; if ($owner === $event->getAuthor()) { @@ -262,7 +279,6 @@ class Backend { $this->activityManager->publish($event); $subject = Calendar::SUBJECT_SHARE_USER . '_by'; - $parameters[] = $event->getAuthor(); } $event->setAffectedUser($owner) @@ -273,8 +289,13 @@ class Backend { $this->triggerActivityGroup($principal[2], $event, $calendarData, Calendar::SUBJECT_SHARE_USER); $parameters = [ - $principal[2], - $calendarData['{DAV:}displayname'], + 'actor' => $event->getAuthor(), + 'calendar' => [ + 'id' => (int) $calendarData['id'], + 'uri' => $calendarData['uri'], + 'name' => $calendarData['{DAV:}displayname'], + ], + 'group' => $principal[2], ]; if ($owner === $event->getAuthor()) { @@ -285,7 +306,6 @@ class Backend { $this->activityManager->publish($event); $subject = Calendar::SUBJECT_SHARE_GROUP . '_by'; - $parameters[] = $event->getAuthor(); } $event->setAffectedUser($owner) @@ -347,8 +367,12 @@ class Backend { ->setSubject( $user === $event->getAuthor() && $subjectSelf ? $subjectSelf : $subject, [ - $event->getAuthor(), - $properties['{DAV:}displayname'], + 'actor' => $event->getAuthor(), + 'calendar' => [ + 'id' => (int) $properties['id'], + 'uri' => $properties['uri'], + 'name' => $properties['{DAV:}displayname'], + ], ] ); @@ -401,9 +425,13 @@ class Backend { ->setSubject( $user === $currentUser ? $action . '_self' : $action, [ - $currentUser, - $calendarData['{DAV:}displayname'], - [ + 'actor' => $event->getAuthor(), + 'calendar' => [ + 'id' => (int) $calendarData['id'], + 'uri' => $calendarData['uri'], + 'name' => $calendarData['{DAV:}displayname'], + ], + 'object' => [ 'id' => $object['id'], 'name' => $object['name'], ], diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Base.php b/apps/dav/lib/CalDAV/Activity/Provider/Base.php index 72fdd681b8a..983d05310ac 100644 --- a/apps/dav/lib/CalDAV/Activity/Provider/Base.php +++ b/apps/dav/lib/CalDAV/Activity/Provider/Base.php @@ -21,8 +21,10 @@ namespace OCA\DAV\CalDAV\Activity\Provider; +use OCA\DAV\CalDAV\CalDavBackend; use OCP\Activity\IEvent; use OCP\Activity\IProvider; +use OCP\IL10N; use OCP\IUser; use OCP\IUserManager; @@ -64,7 +66,7 @@ abstract class Base implements IProvider { protected function generateObjectParameter($eventData) { if (!is_array($eventData) || !isset($eventData['id']) || !isset($eventData['name'])) { throw new \InvalidArgumentException(); - }; + } return [ 'type' => 'calendar-event', @@ -74,11 +76,33 @@ abstract class Base implements IProvider { } /** + * @param array $data + * @param IL10N $l + * @return array + */ + protected function generateCalendarParameter($data, IL10N $l) { + if ($data['uri'] === CalDavBackend::PERSONAL_CALENDAR_URI && + $data['name'] === CalDavBackend::PERSONAL_CALENDAR_NAME) { + return [ + 'type' => 'calendar', + 'id' => $data['id'], + 'name' => $l->t('Personal'), + ]; + } + + return [ + 'type' => 'calendar', + 'id' => $data['id'], + 'name' => $data['name'], + ]; + } + + /** * @param int $id * @param string $name * @return array */ - protected function generateCalendarParameter($id, $name) { + protected function generateLegacyCalendarParameter($id, $name) { return [ 'type' => 'calendar', 'id' => $id, diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php b/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php index 36d425ecf63..fb4a0ff45a8 100644 --- a/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php +++ b/apps/dav/lib/CalDAV/Activity/Provider/Calendar.php @@ -156,6 +156,56 @@ class Calendar extends Base { $subject = $event->getSubject(); $parameters = $event->getSubjectParameters(); + // Nextcloud 13+ + if (isset($parameters['calendar'])) { + switch ($subject) { + case self::SUBJECT_ADD: + case self::SUBJECT_ADD . '_self': + case self::SUBJECT_DELETE: + case self::SUBJECT_DELETE . '_self': + case self::SUBJECT_UPDATE: + case self::SUBJECT_UPDATE . '_self': + case self::SUBJECT_SHARE_USER: + case self::SUBJECT_UNSHARE_USER: + case self::SUBJECT_UNSHARE_USER . '_self': + return [ + 'actor' => $this->generateUserParameter($parameters['actor']), + 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l), + ]; + case self::SUBJECT_SHARE_USER . '_you': + case self::SUBJECT_UNSHARE_USER . '_you': + return [ + 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l), + 'user' => $this->generateUserParameter($parameters['user']), + ]; + case self::SUBJECT_SHARE_USER . '_by': + case self::SUBJECT_UNSHARE_USER . '_by': + return [ + 'actor' => $this->generateUserParameter($parameters['actor']), + 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l), + 'user' => $this->generateUserParameter($parameters['user']), + ]; + case self::SUBJECT_SHARE_GROUP . '_you': + case self::SUBJECT_UNSHARE_GROUP . '_you': + return [ + 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l), + 'group' => $this->generateGroupParameter($parameters['group']), + ]; + case self::SUBJECT_SHARE_GROUP . '_by': + case self::SUBJECT_UNSHARE_GROUP . '_by': + return [ + 'actor' => $this->generateUserParameter($parameters['actor']), + 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l), + 'group' => $this->generateGroupParameter($parameters['group']), + ]; + } + } + + // Legacy - Do NOT Remove unless necessary + // Removing this will break parsing of activities that were created on + // Nextcloud 12, so we should keep this as long as it's acceptable. + // Otherwise if people upgrade over multiple releases in a short period, + // they will get the dead entries in their stream. switch ($subject) { case self::SUBJECT_ADD: case self::SUBJECT_ADD . '_self': @@ -168,32 +218,32 @@ class Calendar extends Base { case self::SUBJECT_UNSHARE_USER . '_self': return [ 'actor' => $this->generateUserParameter($parameters[0]), - 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]), + 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]), ]; case self::SUBJECT_SHARE_USER . '_you': case self::SUBJECT_UNSHARE_USER . '_you': return [ 'user' => $this->generateUserParameter($parameters[0]), - 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]), + 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]), ]; case self::SUBJECT_SHARE_USER . '_by': case self::SUBJECT_UNSHARE_USER . '_by': return [ 'user' => $this->generateUserParameter($parameters[0]), - 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]), + 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]), 'actor' => $this->generateUserParameter($parameters[2]), ]; case self::SUBJECT_SHARE_GROUP . '_you': case self::SUBJECT_UNSHARE_GROUP . '_you': return [ 'group' => $this->generateGroupParameter($parameters[0]), - 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]), + 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]), ]; case self::SUBJECT_SHARE_GROUP . '_by': case self::SUBJECT_UNSHARE_GROUP . '_by': return [ 'group' => $this->generateGroupParameter($parameters[0]), - 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]), + 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]), 'actor' => $this->generateUserParameter($parameters[2]), ]; } diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Event.php b/apps/dav/lib/CalDAV/Activity/Provider/Event.php index 2c2e3d01c28..7b515d78b14 100644 --- a/apps/dav/lib/CalDAV/Activity/Provider/Event.php +++ b/apps/dav/lib/CalDAV/Activity/Provider/Event.php @@ -118,20 +118,46 @@ class Event extends Base { $subject = $event->getSubject(); $parameters = $event->getSubjectParameters(); + // Nextcloud 13+ + if (isset($parameters['calendar'])) { + switch ($subject) { + case self::SUBJECT_OBJECT_ADD . '_event': + case self::SUBJECT_OBJECT_DELETE . '_event': + case self::SUBJECT_OBJECT_UPDATE . '_event': + return [ + 'actor' => $this->generateUserParameter($parameters['actor']), + 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l), + 'event' => $this->generateObjectParameter($parameters['object']), + ]; + case self::SUBJECT_OBJECT_ADD . '_event_self': + case self::SUBJECT_OBJECT_DELETE . '_event_self': + case self::SUBJECT_OBJECT_UPDATE . '_event_self': + return [ + 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l), + 'event' => $this->generateObjectParameter($parameters['object']), + ]; + } + } + + // Legacy - Do NOT Remove unless necessary + // Removing this will break parsing of activities that were created on + // Nextcloud 12, so we should keep this as long as it's acceptable. + // Otherwise if people upgrade over multiple releases in a short period, + // they will get the dead entries in their stream. switch ($subject) { case self::SUBJECT_OBJECT_ADD . '_event': case self::SUBJECT_OBJECT_DELETE . '_event': case self::SUBJECT_OBJECT_UPDATE . '_event': return [ 'actor' => $this->generateUserParameter($parameters[0]), - 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]), + 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]), 'event' => $this->generateObjectParameter($parameters[2]), ]; case self::SUBJECT_OBJECT_ADD . '_event_self': case self::SUBJECT_OBJECT_DELETE . '_event_self': case self::SUBJECT_OBJECT_UPDATE . '_event_self': return [ - 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]), + 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]), 'event' => $this->generateObjectParameter($parameters[2]), ]; } diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Todo.php b/apps/dav/lib/CalDAV/Activity/Provider/Todo.php index a665caa0e6a..20d7afef028 100644 --- a/apps/dav/lib/CalDAV/Activity/Provider/Todo.php +++ b/apps/dav/lib/CalDAV/Activity/Provider/Todo.php @@ -87,6 +87,36 @@ class Todo extends Event { $subject = $event->getSubject(); $parameters = $event->getSubjectParameters(); + // Nextcloud 13+ + if (isset($parameters['calendar'])) { + switch ($subject) { + case self::SUBJECT_OBJECT_ADD . '_todo': + case self::SUBJECT_OBJECT_DELETE . '_todo': + case self::SUBJECT_OBJECT_UPDATE . '_todo': + case self::SUBJECT_OBJECT_UPDATE . '_todo_completed': + case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action': + return [ + 'actor' => $this->generateUserParameter($parameters['actor']), + 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l), + 'todo' => $this->generateObjectParameter($parameters['object']), + ]; + case self::SUBJECT_OBJECT_ADD . '_todo_self': + case self::SUBJECT_OBJECT_DELETE . '_todo_self': + case self::SUBJECT_OBJECT_UPDATE . '_todo_self': + case self::SUBJECT_OBJECT_UPDATE . '_todo_completed_self': + case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action_self': + return [ + 'calendar' => $this->generateCalendarParameter($parameters['calendar'], $this->l), + 'todo' => $this->generateObjectParameter($parameters['object']), + ]; + } + } + + // Legacy - Do NOT Remove unless necessary + // Removing this will break parsing of activities that were created on + // Nextcloud 12, so we should keep this as long as it's acceptable. + // Otherwise if people upgrade over multiple releases in a short period, + // they will get the dead entries in their stream. switch ($subject) { case self::SUBJECT_OBJECT_ADD . '_todo': case self::SUBJECT_OBJECT_DELETE . '_todo': @@ -95,7 +125,7 @@ class Todo extends Event { case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action': return [ 'actor' => $this->generateUserParameter($parameters[0]), - 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]), + 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]), 'todo' => $this->generateObjectParameter($parameters[2]), ]; case self::SUBJECT_OBJECT_ADD . '_todo_self': @@ -104,7 +134,7 @@ class Todo extends Event { case self::SUBJECT_OBJECT_UPDATE . '_todo_completed_self': case self::SUBJECT_OBJECT_UPDATE . '_todo_needs_action_self': return [ - 'calendar' => $this->generateCalendarParameter((int)$event->getObjectId(), $parameters[1]), + 'calendar' => $this->generateLegacyCalendarParameter((int)$event->getObjectId(), $parameters[1]), 'todo' => $this->generateObjectParameter($parameters[2]), ]; } diff --git a/apps/dav/lib/CalDAV/CalendarObject.php b/apps/dav/lib/CalDAV/CalendarObject.php index 86aa2c98e8d..c268b7410cd 100644 --- a/apps/dav/lib/CalDAV/CalendarObject.php +++ b/apps/dav/lib/CalDAV/CalendarObject.php @@ -37,10 +37,24 @@ class CalendarObject extends \Sabre\CalDAV\CalendarObject { */ function get() { $data = parent::get(); - if ($this->isShared() && $this->objectData['classification'] === CalDavBackend::CLASSIFICATION_CONFIDENTIAL) { - return $this->createConfidentialObject($data); + + if (!$this->isShared()) { + return $data; + } + + $vObject = Reader::read($data); + + // remove VAlarms if calendar is shared read-only + if (!$this->canWrite()) { + $this->removeVAlarms($vObject); + } + + // shows as busy if event is declared confidential + if ($this->objectData['classification'] === CalDavBackend::CLASSIFICATION_CONFIDENTIAL) { + $this->createConfidentialObject($vObject); } - return $data; + + return $vObject->serialize(); } protected function isShared() { @@ -52,13 +66,10 @@ class CalendarObject extends \Sabre\CalDAV\CalendarObject { } /** - * @param string $calData - * @return string + * @param Component\VCalendar $vObject + * @return void */ - private static function createConfidentialObject($calData) { - - $vObject = Reader::read($calData); - + private static function createConfidentialObject(Component\VCalendar $vObject) { /** @var Component $vElement */ $vElement = null; if(isset($vObject->VEVENT)) { @@ -92,8 +103,27 @@ class CalendarObject extends \Sabre\CalDAV\CalendarObject { } } } - - return $vObject->serialize(); } + /** + * @param Component\VCalendar $vObject + * @return void + */ + private function removeVAlarms(Component\VCalendar $vObject) { + $subcomponents = $vObject->getComponents(); + + foreach($subcomponents as $subcomponent) { + unset($subcomponent->VALARM); + } + } + + /** + * @return bool + */ + private function canWrite() { + if (isset($this->calendarInfo['{http://owncloud.org/ns}read-only'])) { + return !$this->calendarInfo['{http://owncloud.org/ns}read-only']; + } + return true; + } } diff --git a/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php b/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php index d8d15e8f1f7..dd48d8172d3 100644 --- a/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php +++ b/apps/dav/tests/unit/CalDAV/Activity/BackendTest.php @@ -108,11 +108,13 @@ class BackendTest extends TestCase { [Calendar::SUBJECT_ADD, [ 'principaluri' => 'principal/user/admin', 'id' => 42, + 'uri' => 'this-uri', '{DAV:}displayname' => 'Name of calendar', ], [], [], '', 'admin', null, ['admin']], [Calendar::SUBJECT_ADD, [ 'principaluri' => 'principal/user/admin', 'id' => 42, + 'uri' => 'this-uri', '{DAV:}displayname' => 'Name of calendar', ], [], [], 'test2', 'test2', null, ['admin']], @@ -122,17 +124,20 @@ class BackendTest extends TestCase { [Calendar::SUBJECT_UPDATE, [ 'principaluri' => 'principal/user/admin', 'id' => 42, + 'uri' => 'this-uri', '{DAV:}displayname' => 'Name of calendar', ], ['shares'], [], '', 'admin', null, ['admin']], // Visible change [Calendar::SUBJECT_UPDATE, [ 'principaluri' => 'principal/user/admin', 'id' => 42, + 'uri' => 'this-uri', '{DAV:}displayname' => 'Name of calendar', ], ['shares'], ['{DAV:}displayname' => 'Name'], '', 'admin', ['user1'], ['user1', 'admin']], [Calendar::SUBJECT_UPDATE, [ 'principaluri' => 'principal/user/admin', 'id' => 42, + 'uri' => 'this-uri', '{DAV:}displayname' => 'Name of calendar', ], ['shares'], ['{DAV:}displayname' => 'Name'], 'test2', 'test2', ['user1'], ['user1', 'admin']], @@ -141,16 +146,19 @@ class BackendTest extends TestCase { [Calendar::SUBJECT_DELETE, [ 'principaluri' => 'principal/user/admin', 'id' => 42, + 'uri' => 'this-uri', '{DAV:}displayname' => 'Name of calendar', ], ['shares'], [], '', 'admin', [], ['admin']], [Calendar::SUBJECT_DELETE, [ 'principaluri' => 'principal/user/admin', 'id' => 42, + 'uri' => 'this-uri', '{DAV:}displayname' => 'Name of calendar', ], ['shares'], [], '', 'admin', ['user1'], ['user1', 'admin']], [Calendar::SUBJECT_DELETE, [ 'principaluri' => 'principal/user/admin', 'id' => 42, + 'uri' => 'this-uri', '{DAV:}displayname' => 'Name of calendar', ], ['shares'], [], 'test2', 'test2', ['user1'], ['user1', 'admin']], ]; diff --git a/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php b/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php index 85eb439f100..adffaf27ded 100644 --- a/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php +++ b/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php @@ -24,6 +24,7 @@ namespace OCA\DAV\Tests\unit\CalDAV\Activity\Provider; use OCA\DAV\CalDAV\Activity\Provider\Base; use OCP\Activity\IEvent; use OCP\Activity\IProvider; +use OCP\IL10N; use OCP\IUser; use OCP\IUserManager; use Test\TestCase; @@ -113,22 +114,51 @@ class BaseTest extends TestCase { public function dataGenerateCalendarParameter() { return [ + [['id' => 23, 'uri' => 'foo', 'name' => 'bar'], 'bar'], + [['id' => 42, 'uri' => 'foo', 'name' => 'Personal'], 'Personal'], + [['id' => 42, 'uri' => 'personal', 'name' => 'bar'], 'bar'], + [['id' => 42, 'uri' => 'personal', 'name' => 'Personal'], 't(Personal)'], + ]; + } + + /** + * @dataProvider dataGenerateCalendarParameter + * @param array $data + * @param string $name + */ + public function testGenerateCalendarParameter(array $data, $name) { + $l = $this->createMock(IL10N::class); + $l->expects($this->any()) + ->method('t') + ->willReturnCallback(function($string, $args) { + return 't(' . vsprintf($string, $args) . ')'; + }); + + $this->assertEquals([ + 'type' => 'calendar', + 'id' => $data['id'], + 'name' => $name, + ], $this->invokePrivate($this->provider, 'generateCalendarParameter', [$data, $l])); + } + + public function dataGenerateLegacyCalendarParameter() { + return [ [23, 'c1'], [42, 'c2'], ]; } /** - * @dataProvider dataGenerateCalendarParameter + * @dataProvider dataGenerateLegacyCalendarParameter * @param int $id * @param string $name */ - public function testGenerateCalendarParameter($id, $name) { + public function testGenerateLegacyCalendarParameter($id, $name) { $this->assertEquals([ 'type' => 'calendar', 'id' => $id, 'name' => $name, - ], $this->invokePrivate($this->provider, 'generateCalendarParameter', [$id, $name])); + ], $this->invokePrivate($this->provider, 'generateLegacyCalendarParameter', [$id, $name])); } public function dataGenerateGroupParameter() { diff --git a/apps/dav/tests/unit/CalDAV/CalendarTest.php b/apps/dav/tests/unit/CalDAV/CalendarTest.php index 9ad773dd747..3fb29fd0c6b 100644 --- a/apps/dav/tests/unit/CalDAV/CalendarTest.php +++ b/apps/dav/tests/unit/CalDAV/CalendarTest.php @@ -381,4 +381,184 @@ EOD; [2, true] ]; } + + public function testRemoveVAlarms() { + $publicObjectData = <<<EOD +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//Nextcloud calendar v1.5.6 +CALSCALE:GREGORIAN +BEGIN:VEVENT +CREATED:20171022T125130 +DTSTAMP:20171022T125130 +LAST-MODIFIED:20171022T125130 +UID:PPL24TH8UGOWE94XET87ER +SUMMARY:Foo bar blub +CLASS:PUBLIC +STATUS:CONFIRMED +DTSTART;VALUE=DATE:20171024 +DTEND;VALUE=DATE:20171025 +BEGIN:VALARM +ACTION:AUDIO +TRIGGER:-PT15M +END:VALARM +END:VEVENT +END:VCALENDAR + +EOD; + + $confidentialObjectData = <<<EOD +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//Nextcloud calendar v1.5.6 +CALSCALE:GREGORIAN +BEGIN:VEVENT +CREATED:20171022T125130 +DTSTAMP:20171022T125130 +LAST-MODIFIED:20171022T125130 +UID:PPL24TH8UGOWE94XET87ER +SUMMARY:Foo bar blub +CLASS:CONFIDENTIAL +STATUS:CONFIRMED +DTSTART;VALUE=DATE:20171024 +DTEND;VALUE=DATE:20171025 +BEGIN:VALARM +ACTION:AUDIO +TRIGGER:-PT15M +END:VALARM +END:VEVENT +END:VCALENDAR + +EOD; + + $publicObjectDataWithoutVAlarm = <<<EOD +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//Nextcloud calendar v1.5.6 +CALSCALE:GREGORIAN +BEGIN:VEVENT +CREATED:20171022T125130 +DTSTAMP:20171022T125130 +LAST-MODIFIED:20171022T125130 +UID:PPL24TH8UGOWE94XET87ER +SUMMARY:Foo bar blub +CLASS:PUBLIC +STATUS:CONFIRMED +DTSTART;VALUE=DATE:20171024 +DTEND;VALUE=DATE:20171025 +END:VEVENT +END:VCALENDAR + +EOD; + + $confidentialObjectCleaned = <<<EOD +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//Nextcloud calendar v1.5.6 +CALSCALE:GREGORIAN +BEGIN:VEVENT +CREATED:20171022T125130 +UID:PPL24TH8UGOWE94XET87ER +SUMMARY:Busy +CLASS:CONFIDENTIAL +DTSTART;VALUE=DATE:20171024 +DTEND;VALUE=DATE:20171025 +END:VEVENT +END:VCALENDAR + +EOD; + + + + $publicObject = ['uri' => 'event-0', + 'classification' => CalDavBackend::CLASSIFICATION_PUBLIC, + 'calendardata' => $publicObjectData]; + + $confidentialObject = ['uri' => 'event-1', + 'classification' => CalDavBackend::CLASSIFICATION_CONFIDENTIAL, + 'calendardata' => $confidentialObjectData]; + + /** @var \PHPUnit_Framework_MockObject_MockObject | CalDavBackend $backend */ + $backend = $this->createMock(CalDavBackend::class); + $backend->expects($this->any()) + ->method('getCalendarObjects') + ->willReturn([$publicObject, $confidentialObject]); + + $backend->expects($this->any()) + ->method('getMultipleCalendarObjects') + ->with(666, ['event-0', 'event-1']) + ->willReturn([$publicObject, $confidentialObject]); + + $backend->expects($this->any()) + ->method('getCalendarObject') + ->will($this->returnCallback(function($cId, $uri) use($publicObject, $confidentialObject) { + switch($uri) { + case 'event-0': + return $publicObject; + + case 'event-1': + return $confidentialObject; + + default: + throw new \Exception('unexpected uri'); + } + })); + + $backend->expects($this->any()) + ->method('applyShareAcl') + ->willReturnArgument(1); + + $calendarInfoOwner = [ + '{http://owncloud.org/ns}owner-principal' => 'user1', + 'principaluri' => 'user1', + 'id' => 666, + 'uri' => 'cal', + ]; + $calendarInfoSharedRW = [ + '{http://owncloud.org/ns}owner-principal' => 'user1', + 'principaluri' => 'user2', + 'id' => 666, + 'uri' => 'cal', + ]; + $calendarInfoSharedRO = [ + '{http://owncloud.org/ns}owner-principal' => 'user1', + '{http://owncloud.org/ns}read-only' => true, + 'principaluri' => 'user2', + 'id' => 666, + 'uri' => 'cal', + ]; + + $ownerCalendar = new Calendar($backend, $calendarInfoOwner, $this->l10n); + $rwCalendar = new Calendar($backend, $calendarInfoSharedRW, $this->l10n); + $roCalendar = new Calendar($backend, $calendarInfoSharedRO, $this->l10n); + + $this->assertEquals(count($ownerCalendar->getChildren()), 2); + $this->assertEquals(count($rwCalendar->getChildren()), 2); + $this->assertEquals(count($roCalendar->getChildren()), 2); + + // calendar data shall not be altered for the owner + $this->assertEquals($ownerCalendar->getChild('event-0')->get(), $publicObjectData); + $this->assertEquals($ownerCalendar->getChild('event-1')->get(), $confidentialObjectData); + + // valarms shall not be removed for read-write shares + $this->assertEquals( + $this->fixLinebreak($rwCalendar->getChild('event-0')->get()), + $this->fixLinebreak($publicObjectData)); + $this->assertEquals( + $this->fixLinebreak($rwCalendar->getChild('event-1')->get()), + $this->fixLinebreak($confidentialObjectCleaned)); + + // valarms shall be removed for read-only shares + $this->assertEquals( + $this->fixLinebreak($roCalendar->getChild('event-0')->get()), + $this->fixLinebreak($publicObjectDataWithoutVAlarm)); + $this->assertEquals( + $this->fixLinebreak($roCalendar->getChild('event-1')->get()), + $this->fixLinebreak($confidentialObjectCleaned)); + + } + + private function fixLinebreak($str) { + return preg_replace('~(*BSR_ANYCRLF)\R~', "\r\n", $str); + } } diff --git a/apps/dav/tests/unit/CardDAV/ConverterTest.php b/apps/dav/tests/unit/CardDAV/ConverterTest.php index e4b78485114..9ab0631e93a 100644 --- a/apps/dav/tests/unit/CardDAV/ConverterTest.php +++ b/apps/dav/tests/unit/CardDAV/ConverterTest.php @@ -46,8 +46,8 @@ class ConverterTest extends TestCase { public function setUp() { parent::setUp(); - $this->databaseConnection = $this->getMockBuilder('OCP\IDBConnection')->getMock(); - $this->eventDispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher') + $this->databaseConnection = $this->getMockBuilder(IDBConnection::class)->getMock(); + $this->eventDispatcher = $this->getMockBuilder(EventDispatcher::class) ->disableOriginalConstructor()->getMock(); $this->accountManager = $this->getMockBuilder(AccountManager::class) ->disableOriginalConstructor()->getMock(); diff --git a/apps/dav/tests/unit/CardDAV/Sharing/PluginTest.php b/apps/dav/tests/unit/CardDAV/Sharing/PluginTest.php index 8536deb8e6e..4d4070511bb 100644 --- a/apps/dav/tests/unit/CardDAV/Sharing/PluginTest.php +++ b/apps/dav/tests/unit/CardDAV/Sharing/PluginTest.php @@ -47,7 +47,7 @@ class PluginTest extends TestCase { parent::setUp(); /** @var Auth | \PHPUnit_Framework_MockObject_MockObject $authBackend */ - $authBackend = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Auth')->disableOriginalConstructor()->getMock(); + $authBackend = $this->getMockBuilder(Auth::class)->disableOriginalConstructor()->getMock(); $authBackend->method('isDavAuthenticated')->willReturn(true); /** @var IRequest $request */ @@ -57,7 +57,7 @@ class PluginTest extends TestCase { $root = new SimpleCollection('root'); $this->server = new \Sabre\DAV\Server($root); /** @var SimpleCollection $node */ - $this->book = $this->getMockBuilder('OCA\DAV\DAV\Sharing\IShareable')->disableOriginalConstructor()->getMock(); + $this->book = $this->getMockBuilder(IShareable::class)->disableOriginalConstructor()->getMock(); $this->book->method('getName')->willReturn('addressbook1.vcf'); $root->addChild($this->book); $this->plugin->initialize($this->server); diff --git a/apps/dav/tests/unit/Comments/CommentsNodeTest.php b/apps/dav/tests/unit/Comments/CommentsNodeTest.php index 57a15a6dc76..a0ff029efa7 100644 --- a/apps/dav/tests/unit/Comments/CommentsNodeTest.php +++ b/apps/dav/tests/unit/Comments/CommentsNodeTest.php @@ -33,6 +33,7 @@ use OCP\ILogger; use OCP\IUser; use OCP\IUserManager; use OCP\IUserSession; +use Sabre\DAV\PropPatch; class CommentsNodeTest extends \Test\TestCase { @@ -361,7 +362,7 @@ class CommentsNodeTest extends \Test\TestCase { } public function testPropPatch() { - $propPatch = $this->getMockBuilder('Sabre\DAV\PropPatch') + $propPatch = $this->getMockBuilder(PropPatch::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/dav/tests/unit/Connector/PublicAuthTest.php b/apps/dav/tests/unit/Connector/PublicAuthTest.php index 90401e03853..dbb39bac6d2 100644 --- a/apps/dav/tests/unit/Connector/PublicAuthTest.php +++ b/apps/dav/tests/unit/Connector/PublicAuthTest.php @@ -28,6 +28,7 @@ use OCP\IRequest; use OCP\ISession; use OCP\Share\Exceptions\ShareNotFound; use OCP\Share\IManager; +use OCP\Share\IShare; /** * Class PublicAuthTest @@ -94,7 +95,7 @@ class PublicAuthTest extends \Test\TestCase { } public function testShareNoPassword() { - $share = $this->getMockBuilder('OCP\Share\IShare') + $share = $this->getMockBuilder(IShare::class) ->disableOriginalConstructor() ->getMock(); $share->method('getPassword')->willReturn(null); @@ -109,7 +110,7 @@ class PublicAuthTest extends \Test\TestCase { } public function testSharePasswordFancyShareType() { - $share = $this->getMockBuilder('OCP\Share\IShare') + $share = $this->getMockBuilder(IShare::class) ->disableOriginalConstructor() ->getMock(); $share->method('getPassword')->willReturn('password'); @@ -126,7 +127,7 @@ class PublicAuthTest extends \Test\TestCase { public function testSharePasswordRemote() { - $share = $this->getMockBuilder('OCP\Share\IShare') + $share = $this->getMockBuilder(IShare::class) ->disableOriginalConstructor() ->getMock(); $share->method('getPassword')->willReturn('password'); @@ -142,7 +143,7 @@ class PublicAuthTest extends \Test\TestCase { } public function testSharePasswordLinkValidPassword() { - $share = $this->getMockBuilder('OCP\Share\IShare') + $share = $this->getMockBuilder(IShare::class) ->disableOriginalConstructor() ->getMock(); $share->method('getPassword')->willReturn('password'); @@ -164,7 +165,7 @@ class PublicAuthTest extends \Test\TestCase { } public function testSharePasswordMailValidPassword() { - $share = $this->getMockBuilder('OCP\Share\IShare') + $share = $this->getMockBuilder(IShare::class) ->disableOriginalConstructor() ->getMock(); $share->method('getPassword')->willReturn('password'); @@ -186,7 +187,7 @@ class PublicAuthTest extends \Test\TestCase { } public function testSharePasswordLinkValidSession() { - $share = $this->getMockBuilder('OCP\Share\IShare') + $share = $this->getMockBuilder(IShare::class) ->disableOriginalConstructor() ->getMock(); $share->method('getPassword')->willReturn('password'); @@ -212,7 +213,7 @@ class PublicAuthTest extends \Test\TestCase { } public function testSharePasswordLinkInvalidSession() { - $share = $this->getMockBuilder('OCP\Share\IShare') + $share = $this->getMockBuilder(IShare::class) ->disableOriginalConstructor() ->getMock(); $share->method('getPassword')->willReturn('password'); @@ -239,7 +240,7 @@ class PublicAuthTest extends \Test\TestCase { public function testSharePasswordMailInvalidSession() { - $share = $this->getMockBuilder('OCP\Share\IShare') + $share = $this->getMockBuilder(IShare::class) ->disableOriginalConstructor() ->getMock(); $share->method('getPassword')->willReturn('password'); diff --git a/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php index c02bd5046d8..c31a3af980b 100644 --- a/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/CommentsPropertiesPluginTest.php @@ -29,6 +29,7 @@ use OCA\DAV\Connector\Sabre\File; use OCP\Comments\ICommentsManager; use OCP\IUser; use OCP\IUserSession; +use Sabre\DAV\PropFind; class CommentsPropertiesPluginTest extends \Test\TestCase { @@ -77,7 +78,7 @@ class CommentsPropertiesPluginTest extends \Test\TestCase { * @param $expectedSuccessful */ public function testHandleGetProperties($node, $expectedSuccessful) { - $propFind = $this->getMockBuilder('\Sabre\DAV\PropFind') + $propFind = $this->getMockBuilder(PropFind::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/dav/tests/unit/Connector/Sabre/CopyEtagHeaderPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/CopyEtagHeaderPluginTest.php index 773d5d7f98b..f44a4abf634 100644 --- a/apps/dav/tests/unit/Connector/Sabre/CopyEtagHeaderPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/CopyEtagHeaderPluginTest.php @@ -24,7 +24,9 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre; use OCA\DAV\Connector\Sabre\CopyEtagHeaderPlugin; +use OCA\DAV\Connector\Sabre\File; use Sabre\DAV\Server; +use Sabre\DAV\Tree; use Test\TestCase; /** @@ -68,13 +70,13 @@ class CopyEtagHeaderPluginTest extends TestCase { } public function testAfterMove() { - $node = $this->getMockBuilder('OCA\DAV\Connector\Sabre\File') + $node = $this->getMockBuilder(File::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->once()) ->method('getETag') ->willReturn('123456'); - $tree = $this->getMockBuilder('Sabre\DAV\Tree') + $tree = $this->getMockBuilder(Tree::class) ->disableOriginalConstructor() ->getMock(); $tree->expects($this->once()) diff --git a/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php b/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php index 4f51c25741b..c96915244f7 100644 --- a/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/CustomPropertiesBackendTest.php @@ -31,8 +31,9 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre; * See the COPYING-README file. */ +use OCA\DAV\Connector\Sabre\Directory; +use OCA\DAV\Connector\Sabre\File; use OCP\IUser; -use Sabre\DAV\File; use Sabre\DAV\Tree; /** @@ -179,7 +180,7 @@ class CustomPropertiesBackendTest extends \Test\TestCase { * Test setting/getting properties */ public function testSetGetPropertiesForFile() { - $node = $this->createTestNode('\OCA\DAV\Connector\Sabre\File'); + $node = $this->createTestNode(File::class); $this->tree->expects($this->any()) ->method('getNodeForPath') ->with('/dummypath') @@ -211,7 +212,7 @@ class CustomPropertiesBackendTest extends \Test\TestCase { * Test getting properties from directory */ public function testGetPropertiesForDirectory() { - $rootNode = $this->createTestNode('\OCA\DAV\Connector\Sabre\Directory'); + $rootNode = $this->createTestNode(Directory::class); $nodeSub = $this->getMockBuilder(File::class) ->disableOriginalConstructor() @@ -295,7 +296,7 @@ class CustomPropertiesBackendTest extends \Test\TestCase { * Test delete property */ public function testDeleteProperty() { - $node = $this->createTestNode('\OCA\DAV\Connector\Sabre\File'); + $node = $this->createTestNode(File::class); $this->tree->expects($this->any()) ->method('getNodeForPath') ->with('/dummypath') diff --git a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php index f27f67b0aae..d5da0dce0d1 100644 --- a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php @@ -26,6 +26,7 @@ namespace OCA\DAV\Tests\Unit\Connector\Sabre; +use OC\Files\Storage\Wrapper\Quota; use OCP\Files\ForbiddenException; use OC\Files\FileInfo; use OCA\DAV\Connector\Sabre\Directory; @@ -179,10 +180,10 @@ class DirectoryTest extends \Test\TestCase { } public function testGetChildren() { - $info1 = $this->getMockBuilder('OC\Files\FileInfo') + $info1 = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor() ->getMock(); - $info2 = $this->getMockBuilder('OC\Files\FileInfo') + $info2 = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor() ->getMock(); $info1->expects($this->any()) @@ -269,7 +270,7 @@ class DirectoryTest extends \Test\TestCase { } public function testGetQuotaInfoUnlimited() { - $storage = $this->getMockBuilder('\OC\Files\Storage\Wrapper\Quota') + $storage = $this->getMockBuilder(Quota::class) ->disableOriginalConstructor() ->getMock(); @@ -300,7 +301,7 @@ class DirectoryTest extends \Test\TestCase { } public function testGetQuotaInfoSpecific() { - $storage = $this->getMockBuilder('\OC\Files\Storage\Wrapper\Quota') + $storage = $this->getMockBuilder(Quota::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/dav/tests/unit/Connector/Sabre/DummyGetResponsePluginTest.php b/apps/dav/tests/unit/Connector/Sabre/DummyGetResponsePluginTest.php index f16c374a0e1..fa6f849f12f 100644 --- a/apps/dav/tests/unit/Connector/Sabre/DummyGetResponsePluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/DummyGetResponsePluginTest.php @@ -27,6 +27,8 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre; use OCA\DAV\Connector\Sabre\DummyGetResponsePlugin; use Sabre\DAV\Server; +use Sabre\HTTP\RequestInterface; +use Sabre\HTTP\ResponseInterface; use Test\TestCase; /** @@ -60,11 +62,11 @@ class DummyGetResponsePluginTest extends TestCase { public function testHttpGet() { /** @var \Sabre\HTTP\RequestInterface $request */ - $request = $this->getMockBuilder('\Sabre\HTTP\RequestInterface') + $request = $this->getMockBuilder(RequestInterface::class) ->disableOriginalConstructor() ->getMock(); /** @var \Sabre\HTTP\ResponseInterface $response */ - $response = $server = $this->getMockBuilder('\Sabre\HTTP\ResponseInterface') + $response = $server = $this->getMockBuilder(ResponseInterface::class) ->disableOriginalConstructor() ->getMock(); $response diff --git a/apps/dav/tests/unit/Connector/Sabre/FakeLockerPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FakeLockerPluginTest.php index 1fd2b05c23d..e42bb1704f0 100644 --- a/apps/dav/tests/unit/Connector/Sabre/FakeLockerPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/FakeLockerPluginTest.php @@ -26,8 +26,11 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre; use OCA\DAV\Connector\Sabre\FakeLockerPlugin; use Sabre\DAV\INode; +use Sabre\DAV\PropFind; use Sabre\DAV\Server; +use Sabre\HTTP\RequestInterface; use Sabre\HTTP\Response; +use Sabre\HTTP\ResponseInterface; use Test\TestCase; /** @@ -85,7 +88,7 @@ class FakeLockerPluginTest extends TestCase { } public function testPropFind() { - $propFind = $this->getMockBuilder('\Sabre\DAV\PropFind') + $propFind = $this->getMockBuilder(PropFind::class) ->disableOriginalConstructor() ->getMock(); $node = $this->getMockBuilder(INode::class) @@ -145,7 +148,7 @@ class FakeLockerPluginTest extends TestCase { * @param array $expected */ public function testValidateTokens(array $input, array $expected) { - $request = $this->getMockBuilder('\Sabre\HTTP\RequestInterface') + $request = $this->getMockBuilder(RequestInterface::class) ->disableOriginalConstructor() ->getMock(); $this->fakeLockerPlugin->validateTokens($request, $input); @@ -153,7 +156,7 @@ class FakeLockerPluginTest extends TestCase { } public function testFakeLockProvider() { - $request = $this->getMockBuilder('\Sabre\HTTP\RequestInterface') + $request = $this->getMockBuilder(RequestInterface::class) ->disableOriginalConstructor() ->getMock(); $response = new Response(); @@ -173,10 +176,10 @@ class FakeLockerPluginTest extends TestCase { } public function testFakeUnlockProvider() { - $request = $this->getMockBuilder('\Sabre\HTTP\RequestInterface') + $request = $this->getMockBuilder(RequestInterface::class) ->disableOriginalConstructor() ->getMock(); - $response = $this->getMockBuilder('\Sabre\HTTP\ResponseInterface') + $response = $this->getMockBuilder(ResponseInterface::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/dav/tests/unit/Connector/Sabre/FileTest.php b/apps/dav/tests/unit/Connector/Sabre/FileTest.php index 3a2075941ae..bf9daebdc5b 100644 --- a/apps/dav/tests/unit/Connector/Sabre/FileTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/FileTest.php @@ -882,7 +882,7 @@ class FileTest extends \Test\TestCase { $wasLockedPre = false; $wasLockedPost = false; - $eventHandler = $this->getMockBuilder('\stdclass') + $eventHandler = $this->getMockBuilder(\stdclass::class) ->setMethods(['writeCallback', 'postWriteCallback']) ->getMock(); diff --git a/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php index a33ece3c4b3..e3cf1ff4453 100644 --- a/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php @@ -25,8 +25,10 @@ */ namespace OCA\DAV\Tests\unit\Connector\Sabre; +use OC\User\User; use OCA\DAV\Connector\Sabre\File; use OCA\DAV\Connector\Sabre\FilesPlugin; +use OCA\DAV\Connector\Sabre\Node; use OCP\Files\StorageNotAvailableException; use OCP\IConfig; use OCP\IPreview; @@ -188,7 +190,7 @@ class FilesPluginTest extends TestCase { 0 ); - $user = $this->getMockBuilder('\OC\User\User') + $user = $this->getMockBuilder(User::class) ->disableOriginalConstructor()->getMock(); $user ->expects($this->once()) @@ -457,14 +459,14 @@ class FilesPluginTest extends TestCase { * @expectedExceptionMessage FolderA/test.txt cannot be deleted */ public function testMoveSrcNotDeletable() { - $fileInfoFolderATestTXT = $this->getMockBuilder('\OCP\Files\FileInfo') + $fileInfoFolderATestTXT = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor() ->getMock(); $fileInfoFolderATestTXT->expects($this->once()) ->method('isDeletable') ->willReturn(false); - $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node') + $node = $this->getMockBuilder(Node::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->once()) @@ -478,14 +480,14 @@ class FilesPluginTest extends TestCase { } public function testMoveSrcDeletable() { - $fileInfoFolderATestTXT = $this->getMockBuilder('\OCP\Files\FileInfo') + $fileInfoFolderATestTXT = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor() ->getMock(); $fileInfoFolderATestTXT->expects($this->once()) ->method('isDeletable') ->willReturn(true); - $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node') + $node = $this->getMockBuilder(Node::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->once()) @@ -503,7 +505,7 @@ class FilesPluginTest extends TestCase { * @expectedExceptionMessage FolderA/test.txt does not exist */ public function testMoveSrcNotExist() { - $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node') + $node = $this->getMockBuilder(Node::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->once()) diff --git a/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php index 374557c6b67..c46e4b14805 100644 --- a/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php @@ -33,6 +33,7 @@ use OCP\IRequest; use OCP\ITagManager; use OCP\IUser; use OCP\IUserSession; +use OCP\SystemTag\ISystemTag; use OCP\SystemTag\ISystemTagObjectMapper; use OC\Files\View; use OCP\Files\Folder; @@ -550,7 +551,7 @@ class FilesReportPluginTest extends \Test\TestCase { ->method('isAdmin') ->will($this->returnValue(true)); - $tag1 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag') + $tag1 = $this->getMockBuilder(ISystemTag::class) ->disableOriginalConstructor() ->getMock(); $tag1->expects($this->any()) @@ -560,7 +561,7 @@ class FilesReportPluginTest extends \Test\TestCase { ->method('isUserVisible') ->will($this->returnValue(true)); - $tag2 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag') + $tag2 = $this->getMockBuilder(ISystemTag::class) ->disableOriginalConstructor() ->getMock(); $tag2->expects($this->any()) @@ -599,7 +600,7 @@ class FilesReportPluginTest extends \Test\TestCase { ->method('isAdmin') ->will($this->returnValue(false)); - $tag1 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag') + $tag1 = $this->getMockBuilder(ISystemTag::class) ->disableOriginalConstructor() ->getMock(); $tag1->expects($this->any()) @@ -609,7 +610,7 @@ class FilesReportPluginTest extends \Test\TestCase { ->method('isUserVisible') ->will($this->returnValue(true)); - $tag2 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag') + $tag2 = $this->getMockBuilder(ISystemTag::class) ->disableOriginalConstructor() ->getMock(); $tag2->expects($this->any()) @@ -637,7 +638,7 @@ class FilesReportPluginTest extends \Test\TestCase { ->method('isAdmin') ->will($this->returnValue(false)); - $tag1 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag') + $tag1 = $this->getMockBuilder(ISystemTag::class) ->disableOriginalConstructor() ->getMock(); $tag1->expects($this->any()) @@ -647,7 +648,7 @@ class FilesReportPluginTest extends \Test\TestCase { ->method('isUserVisible') ->will($this->returnValue(true)); - $tag2 = $this->getMockBuilder('\OCP\SystemTag\ISystemTag') + $tag2 = $this->getMockBuilder(ISystemTag::class) ->disableOriginalConstructor() ->getMock(); $tag2->expects($this->any()) diff --git a/apps/dav/tests/unit/Connector/Sabre/NodeTest.php b/apps/dav/tests/unit/Connector/Sabre/NodeTest.php index e7ab94ac926..fe6cbd97829 100644 --- a/apps/dav/tests/unit/Connector/Sabre/NodeTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/NodeTest.php @@ -25,8 +25,12 @@ */ namespace OCA\DAV\Tests\unit\Connector\Sabre; +use OC\Files\FileInfo; use OC\Files\View; +use OCP\Files\Mount\IMountPoint; use OCP\Files\Storage; +use OCP\Share\IManager; +use OCP\Share\IShare; /** * Class NodeTest @@ -53,7 +57,7 @@ class NodeTest extends \Test\TestCase { * @dataProvider davPermissionsProvider */ public function testDavPermissions($permissions, $type, $shared, $mounted, $expected) { - $info = $this->getMockBuilder('\OC\Files\FileInfo') + $info = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor() ->setMethods(array('getPermissions', 'isShared', 'isMounted', 'getType')) ->getMock(); @@ -126,12 +130,12 @@ class NodeTest extends \Test\TestCase { ->getMock(); $storage->method('getPermissions')->willReturn($permissions); - $mountpoint = $this->getMockBuilder('\OCP\Files\Mount\IMountPoint') + $mountpoint = $this->getMockBuilder(IMountPoint::class) ->disableOriginalConstructor() ->getMock(); $mountpoint->method('getMountPoint')->willReturn('myPath'); - $shareManager = $this->getMockBuilder('OCP\Share\IManager')->disableOriginalConstructor()->getMock(); - $share = $this->getMockBuilder('OCP\Share\IShare')->disableOriginalConstructor()->getMock(); + $shareManager = $this->getMockBuilder(IManager::class)->disableOriginalConstructor()->getMock(); + $share = $this->getMockBuilder(IShare::class)->disableOriginalConstructor()->getMock(); if ($user === null) { $shareManager->expects($this->never())->method('getShareByToken'); @@ -142,7 +146,7 @@ class NodeTest extends \Test\TestCase { $share->expects($this->once())->method('getPermissions')->willReturn($permissions); } - $info = $this->getMockBuilder('\OC\Files\FileInfo') + $info = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor() ->setMethods(['getStorage', 'getType', 'getMountPoint']) ->getMock(); diff --git a/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php b/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php index c9c55adc9e8..d1b37541dc3 100644 --- a/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/ObjectTreeTest.php @@ -31,6 +31,7 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre; use OC\Files\FileInfo; use OC\Files\Filesystem; +use OC\Files\Mount\Manager; use OC\Files\Storage\Temporary; use OC\Files\View; use OCA\DAV\Connector\Sabre\Directory; @@ -159,13 +160,13 @@ class ObjectTreeTest extends \Test\TestCase { $rootNode = $this->getMockBuilder(Directory::class) ->disableOriginalConstructor() ->getMock(); - $mountManager = $this->getMockBuilder('\OC\Files\Mount\Manager') + $mountManager = $this->getMockBuilder(Manager::class) ->disableOriginalConstructor() ->getMock(); $view = $this->getMockBuilder(View::class) ->disableOriginalConstructor() ->getMock(); - $fileInfo = $this->getMockBuilder('\OCP\Files\FileInfo') + $fileInfo = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor() ->getMock(); $fileInfo->expects($this->once()) @@ -287,7 +288,7 @@ class ObjectTreeTest extends \Test\TestCase { $rootNode = $this->getMockBuilder(Directory::class) ->disableOriginalConstructor() ->getMock(); - $mountManager = $this->getMockBuilder('\OC\Files\Mount\Manager') + $mountManager = $this->getMockBuilder(Manager::class) ->getMock(); $tree = new \OCA\DAV\Connector\Sabre\ObjectTree(); @@ -314,7 +315,7 @@ class ObjectTreeTest extends \Test\TestCase { $rootNode = $this->getMockBuilder(Directory::class) ->disableOriginalConstructor() ->getMock(); - $mountManager = $this->getMockBuilder('\OC\Files\Mount\Manager') + $mountManager = $this->getMockBuilder(Manager::class) ->getMock(); $tree = new \OCA\DAV\Connector\Sabre\ObjectTree(); diff --git a/apps/dav/tests/unit/Connector/Sabre/QuotaPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/QuotaPluginTest.php index d29080539e6..927178996c9 100644 --- a/apps/dav/tests/unit/Connector/Sabre/QuotaPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/QuotaPluginTest.php @@ -176,7 +176,7 @@ class QuotaPluginTest extends TestCase { public function testCheckQuotaChunkedOk($quota, $chunkTotalSize, $headers) { $this->init($quota, 'sub/test.txt'); - $mockChunking = $this->getMockBuilder('\OC_FileChunking') + $mockChunking = $this->getMockBuilder(\OC_FileChunking::class) ->disableOriginalConstructor() ->getMock(); $mockChunking->expects($this->once()) @@ -212,7 +212,7 @@ class QuotaPluginTest extends TestCase { public function testCheckQuotaChunkedFail($quota, $chunkTotalSize, $headers) { $this->init($quota, 'sub/test.txt'); - $mockChunking = $this->getMockBuilder('\OC_FileChunking') + $mockChunking = $this->getMockBuilder(\OC_FileChunking::class) ->disableOriginalConstructor() ->getMock(); $mockChunking->expects($this->once()) diff --git a/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php index 7c735ca2334..57be6e5a9e2 100644 --- a/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php @@ -25,10 +25,12 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre; use OCA\DAV\Connector\Sabre\Directory; use OCA\DAV\Connector\Sabre\File; +use OCA\DAV\Connector\Sabre\Node; use OCP\Files\Folder; use OCP\IUser; use OCP\IUserSession; use OCP\Share\IManager; +use OCP\Share\IShare; use Sabre\DAV\Tree; class SharesPluginTest extends \Test\TestCase { @@ -99,7 +101,7 @@ class SharesPluginTest extends \Test\TestCase { * @dataProvider sharesGetPropertiesDataProvider */ public function testGetProperties($shareTypes) { - $sabreNode = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node') + $sabreNode = $this->getMockBuilder(Node::class) ->disableOriginalConstructor() ->getMock(); $sabreNode->expects($this->any()) @@ -214,7 +216,7 @@ class SharesPluginTest extends \Test\TestCase { ->will($this->returnValue($node)); $dummyShares = array_map(function($type) { - $share = $this->getMockBuilder('\OCP\Share\IShare')->getMock(); + $share = $this->getMockBuilder(IShare::class)->getMock(); $share->expects($this->any()) ->method('getShareType') ->will($this->returnValue($type)); diff --git a/apps/dav/tests/unit/Connector/Sabre/TagsPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/TagsPluginTest.php index 48d02cad690..af156310887 100644 --- a/apps/dav/tests/unit/Connector/Sabre/TagsPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/TagsPluginTest.php @@ -26,6 +26,9 @@ namespace OCA\DAV\Tests\unit\Connector\Sabre; use OCA\DAV\Connector\Sabre\Directory; use OCA\DAV\Connector\Sabre\File; +use OCA\DAV\Connector\Sabre\Node; +use OCP\ITagManager; +use OCP\ITags; use Sabre\DAV\Tree; /** @@ -71,10 +74,10 @@ class TagsPluginTest extends \Test\TestCase { $this->tree = $this->getMockBuilder(Tree::class) ->disableOriginalConstructor() ->getMock(); - $this->tagger = $this->getMockBuilder('\OCP\ITags') + $this->tagger = $this->getMockBuilder(ITags::class) ->disableOriginalConstructor() ->getMock(); - $this->tagManager = $this->getMockBuilder('\OCP\ITagManager') + $this->tagManager = $this->getMockBuilder(ITagManager::class) ->disableOriginalConstructor() ->getMock(); $this->tagManager->expects($this->any()) @@ -89,7 +92,7 @@ class TagsPluginTest extends \Test\TestCase { * @dataProvider tagsGetPropertiesDataProvider */ public function testGetProperties($tags, $requestedProperties, $expectedProperties) { - $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node') + $node = $this->getMockBuilder(Node::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->any()) @@ -264,7 +267,7 @@ class TagsPluginTest extends \Test\TestCase { public function testUpdateTags() { // this test will replace the existing tags "tagremove" with "tag1" and "tag2" // and keep "tagkeep" - $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node') + $node = $this->getMockBuilder(Node::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->any()) @@ -315,7 +318,7 @@ class TagsPluginTest extends \Test\TestCase { } public function testUpdateTagsFromScratch() { - $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node') + $node = $this->getMockBuilder(Node::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->any()) @@ -363,7 +366,7 @@ class TagsPluginTest extends \Test\TestCase { public function testUpdateFav() { // this test will replace the existing tags "tagremove" with "tag1" and "tag2" // and keep "tagkeep" - $node = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Node') + $node = $this->getMockBuilder(Node::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->any()) diff --git a/apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php b/apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php index cdeaceefedf..32f19e9ddb9 100644 --- a/apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php +++ b/apps/dav/tests/unit/DAV/BrowserErrorPagePluginTest.php @@ -26,6 +26,7 @@ namespace OCA\DAV\Tests\unit\DAV; use OCA\DAV\Files\BrowserErrorPagePlugin; use PHPUnit_Framework_MockObject_MockObject; use Sabre\DAV\Exception\NotFound; +use Sabre\HTTP\Response; class BrowserErrorPagePluginTest extends \Test\TestCase { @@ -36,13 +37,13 @@ class BrowserErrorPagePluginTest extends \Test\TestCase { */ public function test($expectedCode, $exception) { /** @var BrowserErrorPagePlugin | PHPUnit_Framework_MockObject_MockObject $plugin */ - $plugin = $this->getMockBuilder('OCA\DAV\Files\BrowserErrorPagePlugin')->setMethods(['sendResponse', 'generateBody'])->getMock(); + $plugin = $this->getMockBuilder(BrowserErrorPagePlugin::class)->setMethods(['sendResponse', 'generateBody'])->getMock(); $plugin->expects($this->once())->method('generateBody')->willReturn(':boom:'); $plugin->expects($this->once())->method('sendResponse'); /** @var \Sabre\DAV\Server | PHPUnit_Framework_MockObject_MockObject $server */ $server = $this->getMockBuilder('Sabre\DAV\Server')->disableOriginalConstructor()->getMock(); $server->expects($this->once())->method('on'); - $httpResponse = $this->getMockBuilder('Sabre\HTTP\Response')->disableOriginalConstructor()->getMock(); + $httpResponse = $this->getMockBuilder(Response::class)->disableOriginalConstructor()->getMock(); $httpResponse->expects($this->once())->method('addHeaders'); $httpResponse->expects($this->once())->method('setStatus')->with($expectedCode); $httpResponse->expects($this->once())->method('setBody')->with(':boom:'); diff --git a/apps/dav/tests/unit/DAV/HookManagerTest.php b/apps/dav/tests/unit/DAV/HookManagerTest.php index a78ffea5af4..3296d550a6b 100644 --- a/apps/dav/tests/unit/DAV/HookManagerTest.php +++ b/apps/dav/tests/unit/DAV/HookManagerTest.php @@ -42,7 +42,7 @@ class HookManagerTest extends TestCase { public function setUp() { parent::setUp(); - $this->eventDispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcher')->disableOriginalConstructor()->getMock(); + $this->eventDispatcher = $this->getMockBuilder(EventDispatcher::class)->disableOriginalConstructor()->getMock(); $this->l10n = $this->createMock(IL10N::class); $this->l10n ->expects($this->any()) diff --git a/apps/dav/tests/unit/DAV/Sharing/PluginTest.php b/apps/dav/tests/unit/DAV/Sharing/PluginTest.php index 1a9015c6cbb..d6291467e47 100644 --- a/apps/dav/tests/unit/DAV/Sharing/PluginTest.php +++ b/apps/dav/tests/unit/DAV/Sharing/PluginTest.php @@ -47,7 +47,7 @@ class PluginTest extends TestCase { parent::setUp(); /** @var Auth | \PHPUnit_Framework_MockObject_MockObject $authBackend */ - $authBackend = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Auth')->disableOriginalConstructor()->getMock(); + $authBackend = $this->getMockBuilder(Auth::class)->disableOriginalConstructor()->getMock(); $authBackend->method('isDavAuthenticated')->willReturn(true); /** @var IRequest $request */ @@ -57,7 +57,7 @@ class PluginTest extends TestCase { $root = new SimpleCollection('root'); $this->server = new \Sabre\DAV\Server($root); /** @var SimpleCollection $node */ - $this->book = $this->getMockBuilder('OCA\DAV\DAV\Sharing\IShareable')-> + $this->book = $this->getMockBuilder(IShareable::class)-> disableOriginalConstructor()-> getMock(); $this->book->method('getName')->willReturn('addressbook1.vcf'); diff --git a/apps/dav/tests/unit/SystemTag/SystemTagMappingNodeTest.php b/apps/dav/tests/unit/SystemTag/SystemTagMappingNodeTest.php index ac4e9016434..f67160af8d0 100644 --- a/apps/dav/tests/unit/SystemTag/SystemTagMappingNodeTest.php +++ b/apps/dav/tests/unit/SystemTag/SystemTagMappingNodeTest.php @@ -26,6 +26,8 @@ namespace OCA\DAV\Tests\unit\SystemTag; use OC\SystemTag\SystemTag; use OCP\IUser; +use OCP\SystemTag\ISystemTagManager; +use OCP\SystemTag\ISystemTagObjectMapper; use OCP\SystemTag\TagNotFoundException; use OCP\SystemTag\ISystemTag; @@ -49,9 +51,9 @@ class SystemTagMappingNodeTest extends \Test\TestCase { protected function setUp() { parent::setUp(); - $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager') + $this->tagManager = $this->getMockBuilder(ISystemTagManager::class) ->getMock(); - $this->tagMapper = $this->getMockBuilder('\OCP\SystemTag\ISystemTagObjectMapper') + $this->tagMapper = $this->getMockBuilder(ISystemTagObjectMapper::class) ->getMock(); $this->user = $this->getMockBuilder(IUser::class) ->getMock(); diff --git a/apps/dav/tests/unit/SystemTag/SystemTagNodeTest.php b/apps/dav/tests/unit/SystemTag/SystemTagNodeTest.php index e50c3d30758..dd6892fe6ea 100644 --- a/apps/dav/tests/unit/SystemTag/SystemTagNodeTest.php +++ b/apps/dav/tests/unit/SystemTag/SystemTagNodeTest.php @@ -27,6 +27,7 @@ namespace OCA\DAV\Tests\unit\SystemTag; use OC\SystemTag\SystemTag; use OCP\IUser; +use OCP\SystemTag\ISystemTagManager; use OCP\SystemTag\TagNotFoundException; use OCP\SystemTag\TagAlreadyExistsException; use OCP\SystemTag\ISystemTag; @@ -47,7 +48,7 @@ class SystemTagNodeTest extends \Test\TestCase { protected function setUp() { parent::setUp(); - $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager') + $this->tagManager = $this->getMockBuilder(ISystemTagManager::class) ->getMock(); $this->user = $this->getMockBuilder(IUser::class) ->getMock(); diff --git a/apps/dav/tests/unit/SystemTag/SystemTagPluginTest.php b/apps/dav/tests/unit/SystemTag/SystemTagPluginTest.php index f1c18cf45a3..b231577845c 100644 --- a/apps/dav/tests/unit/SystemTag/SystemTagPluginTest.php +++ b/apps/dav/tests/unit/SystemTag/SystemTagPluginTest.php @@ -27,8 +27,12 @@ namespace OCA\DAV\Tests\unit\SystemTag; use OC\SystemTag\SystemTag; +use OCA\DAV\SystemTag\SystemTagNode; +use OCA\DAV\SystemTag\SystemTagsByIdCollection; +use OCA\DAV\SystemTag\SystemTagsObjectMappingCollection; use OCP\IGroupManager; use OCP\IUserSession; +use OCP\SystemTag\ISystemTagManager; use OCP\SystemTag\TagAlreadyExistsException; use OCP\IUser; use OCP\SystemTag\ISystemTag; @@ -88,7 +92,7 @@ class SystemTagPluginTest extends \Test\TestCase { $this->server = new \Sabre\DAV\Server($this->tree); - $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager') + $this->tagManager = $this->getMockBuilder(ISystemTagManager::class) ->getMock(); $this->groupManager = $this->getMockBuilder(IGroupManager::class) ->getMock(); @@ -192,7 +196,7 @@ class SystemTagPluginTest extends \Test\TestCase { ->with('admin') ->willReturn(true); - $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagNode') + $node = $this->getMockBuilder(SystemTagNode::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->any()) @@ -247,7 +251,7 @@ class SystemTagPluginTest extends \Test\TestCase { ->with('admin') ->willReturn(false); - $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagNode') + $node = $this->getMockBuilder(SystemTagNode::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->any()) @@ -282,7 +286,7 @@ class SystemTagPluginTest extends \Test\TestCase { ->with('admin') ->willReturn(true); - $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagNode') + $node = $this->getMockBuilder(SystemTagNode::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->any()) @@ -340,7 +344,7 @@ class SystemTagPluginTest extends \Test\TestCase { ->with('admin') ->willReturn(false); - $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagNode') + $node = $this->getMockBuilder(SystemTagNode::class) ->disableOriginalConstructor() ->getMock(); $node->expects($this->any()) @@ -403,7 +407,7 @@ class SystemTagPluginTest extends \Test\TestCase { } $requestData = json_encode($requestData); - $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagsByIdCollection') + $node = $this->getMockBuilder(SystemTagsByIdCollection::class) ->disableOriginalConstructor() ->getMock(); $this->tagManager->expects($this->never()) @@ -448,7 +452,7 @@ class SystemTagPluginTest extends \Test\TestCase { 'userAssignable' => true, ]); - $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagsByIdCollection') + $node = $this->getMockBuilder(SystemTagsByIdCollection::class) ->disableOriginalConstructor() ->getMock(); $this->tagManager->expects($this->once()) @@ -525,7 +529,7 @@ class SystemTagPluginTest extends \Test\TestCase { } $requestData = json_encode($requestData); - $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagsByIdCollection') + $node = $this->getMockBuilder(SystemTagsByIdCollection::class) ->disableOriginalConstructor() ->getMock(); $this->tagManager->expects($this->once()) @@ -604,7 +608,7 @@ class SystemTagPluginTest extends \Test\TestCase { 'userAssignable' => false, ]); - $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagsObjectMappingCollection') + $node = $this->getMockBuilder(SystemTagsObjectMappingCollection::class) ->disableOriginalConstructor() ->getMock(); @@ -657,7 +661,7 @@ class SystemTagPluginTest extends \Test\TestCase { * @expectedException \Sabre\DAV\Exception\NotFound */ public function testCreateTagToUnknownNode() { - $node = $this->getMockBuilder('\OCA\DAV\SystemTag\SystemTagsObjectMappingCollection') + $node = $this->getMockBuilder(SystemTagsObjectMappingCollection::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/dav/tests/unit/SystemTag/SystemTagsByIdCollectionTest.php b/apps/dav/tests/unit/SystemTag/SystemTagsByIdCollectionTest.php index 53f54e19f0a..ec52de0536a 100644 --- a/apps/dav/tests/unit/SystemTag/SystemTagsByIdCollectionTest.php +++ b/apps/dav/tests/unit/SystemTag/SystemTagsByIdCollectionTest.php @@ -29,6 +29,7 @@ use OC\SystemTag\SystemTag; use OCP\IGroupManager; use OCP\IUser; use OCP\IUserSession; +use OCP\SystemTag\ISystemTagManager; use OCP\SystemTag\TagNotFoundException; class SystemTagsByIdCollectionTest extends \Test\TestCase { @@ -46,7 +47,7 @@ class SystemTagsByIdCollectionTest extends \Test\TestCase { protected function setUp() { parent::setUp(); - $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager') + $this->tagManager = $this->getMockBuilder(ISystemTagManager::class) ->getMock(); } diff --git a/apps/dav/tests/unit/SystemTag/SystemTagsObjectMappingCollectionTest.php b/apps/dav/tests/unit/SystemTag/SystemTagsObjectMappingCollectionTest.php index 61f94c9e60b..f99e4df1f69 100644 --- a/apps/dav/tests/unit/SystemTag/SystemTagsObjectMappingCollectionTest.php +++ b/apps/dav/tests/unit/SystemTag/SystemTagsObjectMappingCollectionTest.php @@ -27,6 +27,8 @@ namespace OCA\DAV\Tests\unit\SystemTag; use OC\SystemTag\SystemTag; use OCP\IUser; +use OCP\SystemTag\ISystemTagManager; +use OCP\SystemTag\ISystemTagObjectMapper; use OCP\SystemTag\TagNotFoundException; class SystemTagsObjectMappingCollectionTest extends \Test\TestCase { @@ -49,9 +51,9 @@ class SystemTagsObjectMappingCollectionTest extends \Test\TestCase { protected function setUp() { parent::setUp(); - $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager') + $this->tagManager = $this->getMockBuilder(ISystemTagManager::class) ->getMock(); - $this->tagMapper = $this->getMockBuilder('\OCP\SystemTag\ISystemTagObjectMapper') + $this->tagMapper = $this->getMockBuilder(ISystemTagObjectMapper::class) ->getMock(); $this->user = $this->getMockBuilder(IUser::class) diff --git a/apps/dav/tests/unit/SystemTag/SystemTagsObjectTypeCollectionTest.php b/apps/dav/tests/unit/SystemTag/SystemTagsObjectTypeCollectionTest.php index e3de7db1584..0dc7ace2b89 100644 --- a/apps/dav/tests/unit/SystemTag/SystemTagsObjectTypeCollectionTest.php +++ b/apps/dav/tests/unit/SystemTag/SystemTagsObjectTypeCollectionTest.php @@ -28,6 +28,8 @@ use OCP\Files\Folder; use OCP\IGroupManager; use OCP\IUser; use OCP\IUserSession; +use OCP\SystemTag\ISystemTagManager; +use OCP\SystemTag\ISystemTagObjectMapper; class SystemTagsObjectTypeCollectionTest extends \Test\TestCase { @@ -54,9 +56,9 @@ class SystemTagsObjectTypeCollectionTest extends \Test\TestCase { protected function setUp() { parent::setUp(); - $this->tagManager = $this->getMockBuilder('\OCP\SystemTag\ISystemTagManager') + $this->tagManager = $this->getMockBuilder(ISystemTagManager::class) ->getMock(); - $this->tagMapper = $this->getMockBuilder('\OCP\SystemTag\ISystemTagObjectMapper') + $this->tagMapper = $this->getMockBuilder(ISystemTagObjectMapper::class) ->getMock(); $user = $this->getMockBuilder(IUser::class) diff --git a/apps/dav/tests/unit/Upload/AssemblyStreamTest.php b/apps/dav/tests/unit/Upload/AssemblyStreamTest.php index 69ee52299e9..0396f80c9f4 100644 --- a/apps/dav/tests/unit/Upload/AssemblyStreamTest.php +++ b/apps/dav/tests/unit/Upload/AssemblyStreamTest.php @@ -23,6 +23,8 @@ */ namespace OCA\DAV\Tests\unit\Upload; +use Sabre\DAV\File; + class AssemblyStreamTest extends \Test\TestCase { /** @@ -120,7 +122,7 @@ class AssemblyStreamTest extends \Test\TestCase { } private function buildNode($name, $data) { - $node = $this->getMockBuilder('\Sabre\DAV\File') + $node = $this->getMockBuilder(File::class) ->setMethods(['getName', 'get', 'getSize']) ->getMockForAbstractClass(); diff --git a/apps/dav/tests/unit/Upload/FutureFileTest.php b/apps/dav/tests/unit/Upload/FutureFileTest.php index d94f14ab097..10669912530 100644 --- a/apps/dav/tests/unit/Upload/FutureFileTest.php +++ b/apps/dav/tests/unit/Upload/FutureFileTest.php @@ -23,6 +23,8 @@ */ namespace OCA\DAV\Tests\unit\Upload; +use OCA\DAV\Connector\Sabre\Directory; + class FutureFileTest extends \Test\TestCase { public function testGetContentType() { @@ -57,7 +59,7 @@ class FutureFileTest extends \Test\TestCase { } public function testDelete() { - $d = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Directory') + $d = $this->getMockBuilder(Directory::class) ->disableOriginalConstructor() ->setMethods(['delete']) ->getMock(); @@ -89,7 +91,7 @@ class FutureFileTest extends \Test\TestCase { * @return \OCA\DAV\Upload\FutureFile */ private function mockFutureFile() { - $d = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Directory') + $d = $this->getMockBuilder(Directory::class) ->disableOriginalConstructor() ->setMethods(['getETag', 'getLastModified', 'getChildren']) ->getMock(); diff --git a/apps/encryption/l10n/eu.js b/apps/encryption/l10n/eu.js index 1c8bdf4fa04..8a256e2de16 100644 --- a/apps/encryption/l10n/eu.js +++ b/apps/encryption/l10n/eu.js @@ -8,23 +8,48 @@ OC.L10N.register( "Could not enable recovery key. Please check your recovery key password!" : "Ezin da berreskuratze gako gaitu. Egiaztatu berreskuratze gako pasahitza!", "Recovery key successfully disabled" : "Berreskuratze gakoa behar bezala desgaitu da", "Could not disable recovery key. Please check your recovery key password!" : "Ezin da berreskuratze gako desgaitu. Egiaztatu berreskuratze gako pasahitza!", + "Missing parameters" : "Parametroak faltan", "Please provide the old recovery password" : "Mesedez sartu berreskuratze pasahitz zaharra", "Please provide a new recovery password" : "Mesedez sartu berreskuratze pasahitz berria", "Please repeat the new recovery password" : "Mesedez errepikatu berreskuratze pasahitz berria", "Password successfully changed." : "Pasahitza behar bezala aldatu da.", "Could not change the password. Maybe the old password was not correct." : "Ezin izan da pasahitza aldatu. Agian pasahitz zaharra okerrekoa da.", + "Recovery Key disabled" : "Berreskuratze gakoa desgaituta", + "Recovery Key enabled" : "Berreskuratze gakoa gaituta", + "Could not enable the recovery key, please try again or contact your administrator" : "Ezin da berreskuratze gakoa gaitu, saia zaitez berriz mesedez edo zureadministratzailearekin kontaktuan jarri", "Could not update the private key password." : "Ezin izan da gako pribatu pasahitza eguneratu. ", "The old password was not correct, please try again." : "Pasahitz zaharra ez da egokia. Mesedez, saiatu berriro.", "The current log-in password was not correct, please try again." : "Oraingo pasahitza ez da egokia. Mesedez, saiatu berriro.", "Private key password successfully updated." : "Gako pasahitz pribatu behar bezala eguneratu da.", - "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu okerra. Mesedez eguneratu zure gako pribatuaren pasahitza zure ezarpen pertsonaletan zure enkriptatuko fitxategietarako sarrera berreskuratzeko.", - "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Zure enkriptatze gakoak enkriptatze zaharretik (ownCloud <=8.0) berrira migratubehar duzu. 'occ encryption:migrate' exekuta ezazu mesedez, edo zure administratzailearekin kontaktuan jar zaitez", + "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu desegokia. Zure gako pribatuaren pasahitza eguneratuezarpen pertsonaletan, enkriptatutako fitxategiak berriz atzitu nahi badituzu", + "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Enkriptazioa app-a gaituta dago, baina zure gakoak ez dira hasieratu. Saiotikirten eta berriz sartu, mesedez", + "Please enable server side encryption in the admin settings in order to use the encryption module." : "Enkriptazio modulua erabili ahal izateko zerbitzariaren aldean enkriptazioagaitu administrazio ezarpenetan", + "Encryption app is enabled and ready" : "Enkriptazioa app-a gaituta eta martxan dago", + "Bad Signature" : "Sinadura ezegokia", + "Missing Signature" : "Sinadura falta da", + "one-time password for server-side-encryption" : "aldi bateko pasahitzak zerbitzari-aldeko enkriptaziorako", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Ezin izan da fitxategi hau deszifratu, ziurrenik elkarbanatutako fitxategi bat da. Mesdez, eskatu fitxategiaren jabeari fitxategia zurekin berriz elkarbana dezan.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Ezin da fitxategi hau irakurri, ziur aski partekatutako fitxategia izango da. Fitxategiaren jabeari berriz partekatzeko eska iezaiozu", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Kaixo\n\nadministradoreak zerbitzari-aldeko enkriptazioa gaitu du. Zure fitxategiak '%s' pasahitza erabiliz enkriptatuko dira.\n\nWeb interfazea saioa hasi, 'oinarrizko enkripazio modulua' atalera joan zaitez eta pasahitza eguneratu. Hortarako pasahitz zaharra 'pasahitz zaharra' atalean sartu eta zure oraingo pasahitza", "The share will expire on %s." : "Elkarbanaketa %s-n iraungiko da.", "Cheers!" : "Ongi izan!", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Kaixo<br><br>administradoreak zerbitzari-aldeko enkriptazioa gaitu du. Zure fitxategiak '%s' pasahitza erabiliz enkriptatuko dira.\n\nWeb interfazea saioa hasi, 'oinarrizko enkripazio modulua' atalera joan zaitez eta pasahitza eguneratu. Hortarako pasahitz zaharra 'pasahitz zaharra' atalean sartu eta zure oraingo pasahitza", + "Default encryption module" : "Defektuzko enkriptazio modulua", + "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio app-a gaituta dago baina zure gakoak ez dira hasieratu, mesedez saiotik irteneta berriz sar zaitez", + "Encrypt the home storage" : "Etxe-biltegia enkriptatu", + "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aukera hau gaituz gero biltegi orokorreko fitxategi guztiak enkriptatuko dirabestela kanpo biltegian daudenak bakarrik enkriptatuko dira", + "Enable recovery key" : "Berreskuratze gakoa gaitu", + "Disable recovery key" : "Berreskuratze gakoa desgaitu", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Berreskuratze gakoa fitxategiak enkriptatzeko gako extra bat da.Erabiltzailearen fitxategiak berreskuratzea baimentzen du bere pasahitzagalduz gero.", "Recovery key password" : "Berreskuratze gako pasahitza", + "Repeat recovery key password" : "Berreskuratze gakoaren pasahitza errepikatu", "Change recovery key password:" : "Aldatu berreskuratze gako pasahitza:", + "Old recovery key password" : "Berreskuratze gako zaharraren pasahitza", + "New recovery key password" : "Berreskuratze gako berriaren pasahitza", + "Repeat new recovery key password" : "Berreskuratze gakoaren pasahitz berria errepikatu", "Change Password" : "Aldatu Pasahitza", + "Basic encryption module" : "Oinarrizko enkriptazio modulua", "Your private key password no longer matches your log-in password." : "Zure gako pasahitza pribatua ez da dagoeneko bat etortzen zure sartzeko pasahitzarekin.", "Set your old private key password to your current log-in password:" : "Ezarri zure gako pasahitz zaharra orain duzun sartzeko pasahitzan:", " If you don't remember your old password you can ask your administrator to recover your files." : "Ez baduzu zure pasahitz zaharra gogoratzen eskatu zure administratzaileari zure fitxategiak berreskuratzeko.", @@ -34,6 +59,7 @@ OC.L10N.register( "Enable password recovery:" : "Gaitu pasahitzaren berreskuratzea:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Aukera hau gaituz zure enkriptatutako fitxategiak berreskuratu ahal izango dituzu pasahitza galtzekotan", "Enabled" : "Gaitua", - "Disabled" : "Ez-gaitua" + "Disabled" : "Ez-gaitua", + "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/encryption/l10n/eu.json b/apps/encryption/l10n/eu.json index 0c07ebd477f..e684651f837 100644 --- a/apps/encryption/l10n/eu.json +++ b/apps/encryption/l10n/eu.json @@ -6,23 +6,48 @@ "Could not enable recovery key. Please check your recovery key password!" : "Ezin da berreskuratze gako gaitu. Egiaztatu berreskuratze gako pasahitza!", "Recovery key successfully disabled" : "Berreskuratze gakoa behar bezala desgaitu da", "Could not disable recovery key. Please check your recovery key password!" : "Ezin da berreskuratze gako desgaitu. Egiaztatu berreskuratze gako pasahitza!", + "Missing parameters" : "Parametroak faltan", "Please provide the old recovery password" : "Mesedez sartu berreskuratze pasahitz zaharra", "Please provide a new recovery password" : "Mesedez sartu berreskuratze pasahitz berria", "Please repeat the new recovery password" : "Mesedez errepikatu berreskuratze pasahitz berria", "Password successfully changed." : "Pasahitza behar bezala aldatu da.", "Could not change the password. Maybe the old password was not correct." : "Ezin izan da pasahitza aldatu. Agian pasahitz zaharra okerrekoa da.", + "Recovery Key disabled" : "Berreskuratze gakoa desgaituta", + "Recovery Key enabled" : "Berreskuratze gakoa gaituta", + "Could not enable the recovery key, please try again or contact your administrator" : "Ezin da berreskuratze gakoa gaitu, saia zaitez berriz mesedez edo zureadministratzailearekin kontaktuan jarri", "Could not update the private key password." : "Ezin izan da gako pribatu pasahitza eguneratu. ", "The old password was not correct, please try again." : "Pasahitz zaharra ez da egokia. Mesedez, saiatu berriro.", "The current log-in password was not correct, please try again." : "Oraingo pasahitza ez da egokia. Mesedez, saiatu berriro.", "Private key password successfully updated." : "Gako pasahitz pribatu behar bezala eguneratu da.", - "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu okerra. Mesedez eguneratu zure gako pribatuaren pasahitza zure ezarpen pertsonaletan zure enkriptatuko fitxategietarako sarrera berreskuratzeko.", - "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Zure enkriptatze gakoak enkriptatze zaharretik (ownCloud <=8.0) berrira migratubehar duzu. 'occ encryption:migrate' exekuta ezazu mesedez, edo zure administratzailearekin kontaktuan jar zaitez", + "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Enkriptazio aplikaziorako gako pribatu desegokia. Zure gako pribatuaren pasahitza eguneratuezarpen pertsonaletan, enkriptatutako fitxategiak berriz atzitu nahi badituzu", + "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Enkriptazioa app-a gaituta dago, baina zure gakoak ez dira hasieratu. Saiotikirten eta berriz sartu, mesedez", + "Please enable server side encryption in the admin settings in order to use the encryption module." : "Enkriptazio modulua erabili ahal izateko zerbitzariaren aldean enkriptazioagaitu administrazio ezarpenetan", + "Encryption app is enabled and ready" : "Enkriptazioa app-a gaituta eta martxan dago", + "Bad Signature" : "Sinadura ezegokia", + "Missing Signature" : "Sinadura falta da", + "one-time password for server-side-encryption" : "aldi bateko pasahitzak zerbitzari-aldeko enkriptaziorako", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Ezin izan da fitxategi hau deszifratu, ziurrenik elkarbanatutako fitxategi bat da. Mesdez, eskatu fitxategiaren jabeari fitxategia zurekin berriz elkarbana dezan.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Ezin da fitxategi hau irakurri, ziur aski partekatutako fitxategia izango da. Fitxategiaren jabeari berriz partekatzeko eska iezaiozu", + "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Kaixo\n\nadministradoreak zerbitzari-aldeko enkriptazioa gaitu du. Zure fitxategiak '%s' pasahitza erabiliz enkriptatuko dira.\n\nWeb interfazea saioa hasi, 'oinarrizko enkripazio modulua' atalera joan zaitez eta pasahitza eguneratu. Hortarako pasahitz zaharra 'pasahitz zaharra' atalean sartu eta zure oraingo pasahitza", "The share will expire on %s." : "Elkarbanaketa %s-n iraungiko da.", "Cheers!" : "Ongi izan!", + "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Kaixo<br><br>administradoreak zerbitzari-aldeko enkriptazioa gaitu du. Zure fitxategiak '%s' pasahitza erabiliz enkriptatuko dira.\n\nWeb interfazea saioa hasi, 'oinarrizko enkripazio modulua' atalera joan zaitez eta pasahitza eguneratu. Hortarako pasahitz zaharra 'pasahitz zaharra' atalean sartu eta zure oraingo pasahitza", + "Default encryption module" : "Defektuzko enkriptazio modulua", + "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio app-a gaituta dago baina zure gakoak ez dira hasieratu, mesedez saiotik irteneta berriz sar zaitez", + "Encrypt the home storage" : "Etxe-biltegia enkriptatu", + "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aukera hau gaituz gero biltegi orokorreko fitxategi guztiak enkriptatuko dirabestela kanpo biltegian daudenak bakarrik enkriptatuko dira", + "Enable recovery key" : "Berreskuratze gakoa gaitu", + "Disable recovery key" : "Berreskuratze gakoa desgaitu", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Berreskuratze gakoa fitxategiak enkriptatzeko gako extra bat da.Erabiltzailearen fitxategiak berreskuratzea baimentzen du bere pasahitzagalduz gero.", "Recovery key password" : "Berreskuratze gako pasahitza", + "Repeat recovery key password" : "Berreskuratze gakoaren pasahitza errepikatu", "Change recovery key password:" : "Aldatu berreskuratze gako pasahitza:", + "Old recovery key password" : "Berreskuratze gako zaharraren pasahitza", + "New recovery key password" : "Berreskuratze gako berriaren pasahitza", + "Repeat new recovery key password" : "Berreskuratze gakoaren pasahitz berria errepikatu", "Change Password" : "Aldatu Pasahitza", + "Basic encryption module" : "Oinarrizko enkriptazio modulua", "Your private key password no longer matches your log-in password." : "Zure gako pasahitza pribatua ez da dagoeneko bat etortzen zure sartzeko pasahitzarekin.", "Set your old private key password to your current log-in password:" : "Ezarri zure gako pasahitz zaharra orain duzun sartzeko pasahitzan:", " If you don't remember your old password you can ask your administrator to recover your files." : "Ez baduzu zure pasahitz zaharra gogoratzen eskatu zure administratzaileari zure fitxategiak berreskuratzeko.", @@ -32,6 +57,7 @@ "Enable password recovery:" : "Gaitu pasahitzaren berreskuratzea:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Aukera hau gaituz zure enkriptatutako fitxategiak berreskuratu ahal izango dituzu pasahitza galtzekotan", "Enabled" : "Gaitua", - "Disabled" : "Ez-gaitua" + "Disabled" : "Ez-gaitua", + "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/encryption/l10n/zh_TW.js b/apps/encryption/l10n/zh_TW.js index ed09e5f7968..93fe93de726 100644 --- a/apps/encryption/l10n/zh_TW.js +++ b/apps/encryption/l10n/zh_TW.js @@ -22,6 +22,10 @@ OC.L10N.register( "The current log-in password was not correct, please try again." : "目前登入的密碼不正確,請再試一次", "Private key password successfully updated." : "私人金鑰密碼已成功更新。", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "您需要搬移您的加密鑰匙從舊版的加密 (ownCloud <= 8.0) 到新版,請執行 'occ encryption:migrate' 或是聯絡系統管理員", + "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "無效的加密應用程序私鑰。請在您的個人設定中更新您的私鑰密碼,以恢復對加密文件的訪問。", + "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "已啟用加密應用,但是你的加密密鑰沒有初始化。請重新登出並登入系統一次。", + "Please enable server side encryption in the admin settings in order to use the encryption module." : "請啟用管理員設定中的伺服器端加密,以使用加密模組。", + "Encryption app is enabled and ready" : "加密應用程式已啟用並準備就緒", "Bad Signature" : "壞的簽章", "Missing Signature" : "遺失簽章", "one-time password for server-side-encryption" : "一次性密碼用於伺服器端的加密", @@ -31,6 +35,8 @@ OC.L10N.register( "The share will expire on %s." : "這個分享將會於 %s 過期", "Cheers!" : "太棒了!", "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "嗨,請看這裡,<br><br>系管理員啟用了伺服器端的加密功能,您的檔案將會使用密碼<strong> '%s' </strong>加密,請從網頁登入,到 'basic encryption module' 設置您的個人設定並透過更新加密密碼,將這個組密碼設定在 'old log-in password' 以及您的目前登入密碼<br><br>", + "Default encryption module" : "預設加密模組", + "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "已啟用加密應用,但是你的加密密鑰沒有初始化。請重新登出並登入系統一次。", "Encrypt the home storage" : "加密家目錄空間", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "請啟用這個功能以用來加密主要儲存空間的檔案,否則只有再外部儲存的檔案會加密", "Enable recovery key" : "啟用還原金鑰", @@ -43,6 +49,7 @@ OC.L10N.register( "New recovery key password" : "新的還原金鑰密碼", "Repeat new recovery key password" : "再輸入新的還原金鑰密碼一次", "Change Password" : "變更密碼", + "Basic encryption module" : "基本加密模組", "Your private key password no longer matches your log-in password." : "您的私人金鑰密碼不符合您的登入密碼", "Set your old private key password to your current log-in password:" : "設定您的舊私人金鑰密碼到您現在的登入密碼:", " If you don't remember your old password you can ask your administrator to recover your files." : "如果您忘記舊密碼,可以請求管理員協助取回檔案。", diff --git a/apps/encryption/l10n/zh_TW.json b/apps/encryption/l10n/zh_TW.json index 28ef2eeab62..545a78efdda 100644 --- a/apps/encryption/l10n/zh_TW.json +++ b/apps/encryption/l10n/zh_TW.json @@ -20,6 +20,10 @@ "The current log-in password was not correct, please try again." : "目前登入的密碼不正確,請再試一次", "Private key password successfully updated." : "私人金鑰密碼已成功更新。", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "您需要搬移您的加密鑰匙從舊版的加密 (ownCloud <= 8.0) 到新版,請執行 'occ encryption:migrate' 或是聯絡系統管理員", + "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "無效的加密應用程序私鑰。請在您的個人設定中更新您的私鑰密碼,以恢復對加密文件的訪問。", + "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "已啟用加密應用,但是你的加密密鑰沒有初始化。請重新登出並登入系統一次。", + "Please enable server side encryption in the admin settings in order to use the encryption module." : "請啟用管理員設定中的伺服器端加密,以使用加密模組。", + "Encryption app is enabled and ready" : "加密應用程式已啟用並準備就緒", "Bad Signature" : "壞的簽章", "Missing Signature" : "遺失簽章", "one-time password for server-side-encryption" : "一次性密碼用於伺服器端的加密", @@ -29,6 +33,8 @@ "The share will expire on %s." : "這個分享將會於 %s 過期", "Cheers!" : "太棒了!", "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "嗨,請看這裡,<br><br>系管理員啟用了伺服器端的加密功能,您的檔案將會使用密碼<strong> '%s' </strong>加密,請從網頁登入,到 'basic encryption module' 設置您的個人設定並透過更新加密密碼,將這個組密碼設定在 'old log-in password' 以及您的目前登入密碼<br><br>", + "Default encryption module" : "預設加密模組", + "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "已啟用加密應用,但是你的加密密鑰沒有初始化。請重新登出並登入系統一次。", "Encrypt the home storage" : "加密家目錄空間", "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "請啟用這個功能以用來加密主要儲存空間的檔案,否則只有再外部儲存的檔案會加密", "Enable recovery key" : "啟用還原金鑰", @@ -41,6 +47,7 @@ "New recovery key password" : "新的還原金鑰密碼", "Repeat new recovery key password" : "再輸入新的還原金鑰密碼一次", "Change Password" : "變更密碼", + "Basic encryption module" : "基本加密模組", "Your private key password no longer matches your log-in password." : "您的私人金鑰密碼不符合您的登入密碼", "Set your old private key password to your current log-in password:" : "設定您的舊私人金鑰密碼到您現在的登入密碼:", " If you don't remember your old password you can ask your administrator to recover your files." : "如果您忘記舊密碼,可以請求管理員協助取回檔案。", diff --git a/apps/encryption/tests/Command/TestEnableMasterKey.php b/apps/encryption/tests/Command/TestEnableMasterKey.php index dac26c5d3c7..58118db8c53 100644 --- a/apps/encryption/tests/Command/TestEnableMasterKey.php +++ b/apps/encryption/tests/Command/TestEnableMasterKey.php @@ -28,6 +28,9 @@ namespace OCA\Encryption\Tests\Command; use OCA\Encryption\Command\EnableMasterKey; use OCA\Encryption\Util; use OCP\IConfig; +use Symfony\Component\Console\Helper\QuestionHelper; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; use Test\TestCase; class TestEnableMasterKey extends TestCase { @@ -53,15 +56,15 @@ class TestEnableMasterKey extends TestCase { public function setUp() { parent::setUp(); - $this->util = $this->getMockBuilder('OCA\Encryption\Util') + $this->util = $this->getMockBuilder(Util::class) ->disableOriginalConstructor()->getMock(); $this->config = $this->getMockBuilder(IConfig::class) ->disableOriginalConstructor()->getMock(); - $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper') + $this->questionHelper = $this->getMockBuilder(QuestionHelper::class) ->disableOriginalConstructor()->getMock(); - $this->output = $this->getMockBuilder('Symfony\Component\Console\Output\OutputInterface') + $this->output = $this->getMockBuilder(OutputInterface::class) ->disableOriginalConstructor()->getMock(); - $this->input = $this->getMockBuilder('Symfony\Component\Console\Input\InputInterface') + $this->input = $this->getMockBuilder(InputInterface::class) ->disableOriginalConstructor()->getMock(); $this->enableMasterKey = new EnableMasterKey($this->util, $this->config, $this->questionHelper); diff --git a/apps/encryption/tests/Controller/RecoveryControllerTest.php b/apps/encryption/tests/Controller/RecoveryControllerTest.php index 384cce94c42..7ab3bc7eebb 100644 --- a/apps/encryption/tests/Controller/RecoveryControllerTest.php +++ b/apps/encryption/tests/Controller/RecoveryControllerTest.php @@ -26,6 +26,7 @@ namespace OCA\Encryption\Tests\Controller; use OCA\Encryption\Controller\RecoveryController; +use OCA\Encryption\Recovery; use OCP\AppFramework\Http; use OCP\IConfig; use OCP\IL10N; @@ -171,7 +172,7 @@ class RecoveryControllerTest extends TestCase { ->method('t') ->willReturnArgument(0); - $this->recoveryMock = $this->getMockBuilder('OCA\Encryption\Recovery') + $this->recoveryMock = $this->getMockBuilder(Recovery::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/encryption/tests/Controller/SettingsControllerTest.php b/apps/encryption/tests/Controller/SettingsControllerTest.php index fcff78d77de..aceb94b23f7 100644 --- a/apps/encryption/tests/Controller/SettingsControllerTest.php +++ b/apps/encryption/tests/Controller/SettingsControllerTest.php @@ -24,11 +24,16 @@ namespace OCA\Encryption\Tests\Controller; use OCA\Encryption\Controller\SettingsController; +use OCA\Encryption\Crypto\Crypt; +use OCA\Encryption\KeyManager; use OCA\Encryption\Session; +use OCA\Encryption\Util; use OCP\AppFramework\Http; use OCP\IL10N; use OCP\IRequest; +use OCP\ISession; use OCP\IUserManager; +use OCP\IUserSession; use Test\TestCase; class SettingsControllerTest extends TestCase { @@ -81,13 +86,13 @@ class SettingsControllerTest extends TestCase { $this->userManagerMock = $this->getMockBuilder(IUserManager::class) ->disableOriginalConstructor()->getMock(); - $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager') + $this->keyManagerMock = $this->getMockBuilder(KeyManager::class) ->disableOriginalConstructor()->getMock(); - $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt') + $this->cryptMock = $this->getMockBuilder(Crypt::class) ->disableOriginalConstructor()->getMock(); - $this->userSessionMock = $this->getMockBuilder('OCP\IUserSession') + $this->userSessionMock = $this->getMockBuilder(IUserSession::class) ->disableOriginalConstructor() ->setMethods([ 'isLoggedIn', @@ -100,7 +105,7 @@ class SettingsControllerTest extends TestCase { ]) ->getMock(); - $this->ocSessionMock = $this->getMockBuilder('OCP\ISession')->disableOriginalConstructor()->getMock(); + $this->ocSessionMock = $this->getMockBuilder(ISession::class)->disableOriginalConstructor()->getMock(); $this->userSessionMock->expects($this->any()) ->method('getUID') @@ -110,10 +115,10 @@ class SettingsControllerTest extends TestCase { ->method($this->anything()) ->will($this->returnSelf()); - $this->sessionMock = $this->getMockBuilder('OCA\Encryption\Session') + $this->sessionMock = $this->getMockBuilder(Session::class) ->disableOriginalConstructor()->getMock(); - $this->utilMock = $this->getMockBuilder('OCA\Encryption\Util') + $this->utilMock = $this->getMockBuilder(Util::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/encryption/tests/Controller/StatusControllerTest.php b/apps/encryption/tests/Controller/StatusControllerTest.php index cd3a8fdaa72..d72fcd1ac36 100644 --- a/apps/encryption/tests/Controller/StatusControllerTest.php +++ b/apps/encryption/tests/Controller/StatusControllerTest.php @@ -53,7 +53,7 @@ class StatusControllerTest extends TestCase { parent::setUp(); - $this->sessionMock = $this->getMockBuilder('OCA\Encryption\Session') + $this->sessionMock = $this->getMockBuilder(Session::class) ->disableOriginalConstructor()->getMock(); $this->requestMock = $this->createMock(IRequest::class); diff --git a/apps/encryption/tests/Crypto/CryptTest.php b/apps/encryption/tests/Crypto/CryptTest.php index 4800be0a5ed..ace4453a803 100644 --- a/apps/encryption/tests/Crypto/CryptTest.php +++ b/apps/encryption/tests/Crypto/CryptTest.php @@ -30,6 +30,7 @@ use OCA\Encryption\Crypto\Crypt; use OCP\IConfig; use OCP\IL10N; use OCP\ILogger; +use OCP\IUserSession; use Test\TestCase; class CryptTest extends TestCase { @@ -59,7 +60,7 @@ class CryptTest extends TestCase { $this->logger->expects($this->any()) ->method('warning') ->willReturn(true); - $this->userSession = $this->getMockBuilder('OCP\IUserSession') + $this->userSession = $this->getMockBuilder(IUserSession::class) ->disableOriginalConstructor() ->getMock(); $this->config = $this->getMockBuilder(IConfig::class) @@ -391,7 +392,7 @@ class CryptTest extends TestCase { */ public function testDecryptPrivateKey($header, $privateKey, $expectedCipher, $isValidKey, $expected) { /** @var \OCA\Encryption\Crypto\Crypt | \PHPUnit_Framework_MockObject_MockObject $crypt */ - $crypt = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt') + $crypt = $this->getMockBuilder(Crypt::class) ->setConstructorArgs( [ $this->logger, diff --git a/apps/encryption/tests/Crypto/DecryptAllTest.php b/apps/encryption/tests/Crypto/DecryptAllTest.php index fdef37adc84..99b1b47ba8e 100644 --- a/apps/encryption/tests/Crypto/DecryptAllTest.php +++ b/apps/encryption/tests/Crypto/DecryptAllTest.php @@ -56,15 +56,15 @@ class DecryptAllTest extends TestCase { public function setUp() { parent::setUp(); - $this->util = $this->getMockBuilder('OCA\Encryption\Util') + $this->util = $this->getMockBuilder(Util::class) ->disableOriginalConstructor()->getMock(); - $this->keyManager = $this->getMockBuilder('OCA\Encryption\KeyManager') + $this->keyManager = $this->getMockBuilder(KeyManager::class) ->disableOriginalConstructor()->getMock(); - $this->crypt = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt') + $this->crypt = $this->getMockBuilder(Crypt::class) ->disableOriginalConstructor()->getMock(); - $this->session = $this->getMockBuilder('OCA\Encryption\Session') + $this->session = $this->getMockBuilder(Session::class) ->disableOriginalConstructor()->getMock(); - $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper') + $this->questionHelper = $this->getMockBuilder(QuestionHelper::class) ->disableOriginalConstructor()->getMock(); $this->instance = new DecryptAll( diff --git a/apps/encryption/tests/Crypto/EncryptAllTest.php b/apps/encryption/tests/Crypto/EncryptAllTest.php index 7d432a6d524..38b64a8b6bf 100644 --- a/apps/encryption/tests/Crypto/EncryptAllTest.php +++ b/apps/encryption/tests/Crypto/EncryptAllTest.php @@ -25,13 +25,22 @@ namespace OCA\Encryption\Tests\Crypto; +use OC\Files\View; use OCA\Encryption\Crypto\EncryptAll; +use OCA\Encryption\KeyManager; +use OCA\Encryption\Users\Setup; +use OCA\Encryption\Util; use OCP\IConfig; use OCP\IL10N; use OCP\IUserManager; use OCP\Mail\IMailer; +use OCP\Security\ISecureRandom; use OCP\UserInterface; use Symfony\Component\Console\Formatter\OutputFormatterInterface; +use Symfony\Component\Console\Helper\ProgressBar; +use Symfony\Component\Console\Helper\QuestionHelper; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; use Test\TestCase; class EncryptAllTest extends TestCase { @@ -80,15 +89,15 @@ class EncryptAllTest extends TestCase { function setUp() { parent::setUp(); - $this->setupUser = $this->getMockBuilder('OCA\Encryption\Users\Setup') + $this->setupUser = $this->getMockBuilder(Setup::class) ->disableOriginalConstructor()->getMock(); - $this->keyManager = $this->getMockBuilder('OCA\Encryption\KeyManager') + $this->keyManager = $this->getMockBuilder(KeyManager::class) ->disableOriginalConstructor()->getMock(); - $this->util = $this->getMockBuilder('OCA\Encryption\Util') + $this->util = $this->getMockBuilder(Util::class) ->disableOriginalConstructor()->getMock(); $this->userManager = $this->getMockBuilder(IUserManager::class) ->disableOriginalConstructor()->getMock(); - $this->view = $this->getMockBuilder('OC\Files\View') + $this->view = $this->getMockBuilder(View::class) ->disableOriginalConstructor()->getMock(); $this->config = $this->getMockBuilder(IConfig::class) ->disableOriginalConstructor()->getMock(); @@ -96,11 +105,11 @@ class EncryptAllTest extends TestCase { ->disableOriginalConstructor()->getMock(); $this->l = $this->getMockBuilder(IL10N::class) ->disableOriginalConstructor()->getMock(); - $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper') + $this->questionHelper = $this->getMockBuilder(QuestionHelper::class) ->disableOriginalConstructor()->getMock(); - $this->inputInterface = $this->getMockBuilder('Symfony\Component\Console\Input\InputInterface') + $this->inputInterface = $this->getMockBuilder(InputInterface::class) ->disableOriginalConstructor()->getMock(); - $this->outputInterface = $this->getMockBuilder('Symfony\Component\Console\Output\OutputInterface') + $this->outputInterface = $this->getMockBuilder(OutputInterface::class) ->disableOriginalConstructor()->getMock(); $this->userInterface = $this->getMockBuilder(UserInterface::class) ->disableOriginalConstructor()->getMock(); @@ -112,7 +121,7 @@ class EncryptAllTest extends TestCase { $this->userManager->expects($this->any())->method('getBackends')->willReturn([$this->userInterface]); $this->userInterface->expects($this->any())->method('getUsers')->willReturn(['user1', 'user2']); - $this->secureRandom = $this->getMockBuilder('OCP\Security\ISecureRandom')->disableOriginalConstructor()->getMock(); + $this->secureRandom = $this->getMockBuilder(ISecureRandom::class)->disableOriginalConstructor()->getMock(); $this->secureRandom->expects($this->any())->method('getMediumStrengthGenerator')->willReturn($this->secureRandom); $this->secureRandom->expects($this->any())->method('getLowStrengthGenerator')->willReturn($this->secureRandom); $this->secureRandom->expects($this->any())->method('generate')->willReturn('12345678'); @@ -134,7 +143,7 @@ class EncryptAllTest extends TestCase { public function testEncryptAll() { /** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */ - $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + $encryptAll = $this->getMockBuilder(EncryptAll::class) ->setConstructorArgs( [ $this->setupUser, @@ -163,7 +172,7 @@ class EncryptAllTest extends TestCase { public function testEncryptAllWithMasterKey() { /** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */ - $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + $encryptAll = $this->getMockBuilder(EncryptAll::class) ->setConstructorArgs( [ $this->setupUser, @@ -193,7 +202,7 @@ class EncryptAllTest extends TestCase { public function testCreateKeyPairs() { /** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */ - $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + $encryptAll = $this->getMockBuilder(EncryptAll::class) ->setConstructorArgs( [ $this->setupUser, @@ -242,7 +251,7 @@ class EncryptAllTest extends TestCase { public function testEncryptAllUsersFiles() { /** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */ - $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + $encryptAll = $this->getMockBuilder(EncryptAll::class) ->setConstructorArgs( [ $this->setupUser, @@ -275,7 +284,7 @@ class EncryptAllTest extends TestCase { public function testEncryptUsersFiles() { /** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */ - $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + $encryptAll = $this->getMockBuilder(EncryptAll::class) ->setConstructorArgs( [ $this->setupUser, @@ -323,7 +332,7 @@ class EncryptAllTest extends TestCase { $encryptAll->expects($this->at(1))->method('encryptFile')->with('/user1/files/bar'); $encryptAll->expects($this->at(2))->method('encryptFile')->with('/user1/files/foo/subfile'); - $progressBar = $this->getMockBuilder('Symfony\Component\Console\Helper\ProgressBar') + $progressBar = $this->getMockBuilder(ProgressBar::class) ->disableOriginalConstructor()->getMock(); $this->invokePrivate($encryptAll, 'encryptUsersFiles', ['user1', $progressBar, '']); diff --git a/apps/encryption/tests/Crypto/EncryptionTest.php b/apps/encryption/tests/Crypto/EncryptionTest.php index 3bd4593d6bc..42da71b0eb1 100644 --- a/apps/encryption/tests/Crypto/EncryptionTest.php +++ b/apps/encryption/tests/Crypto/EncryptionTest.php @@ -23,7 +23,14 @@ namespace OCA\Encryption\Tests\Crypto; +use OCA\Encryption\Crypto\Crypt; +use OCA\Encryption\Crypto\DecryptAll; +use OCA\Encryption\Crypto\EncryptAll; use OCA\Encryption\Exceptions\PublicKeyMissingException; +use OCA\Encryption\KeyManager; +use OCA\Encryption\Session; +use OCA\Encryption\Util; +use OCP\Files\Storage; use OCP\IL10N; use OCP\ILogger; use Symfony\Component\Console\Input\InputInterface; @@ -66,24 +73,24 @@ class EncryptionTest extends TestCase { public function setUp() { parent::setUp(); - $this->storageMock = $this->getMockBuilder('OCP\Files\Storage') + $this->storageMock = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor()->getMock(); - $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt') + $this->cryptMock = $this->getMockBuilder(Crypt::class) ->disableOriginalConstructor() ->getMock(); - $this->utilMock = $this->getMockBuilder('OCA\Encryption\Util') + $this->utilMock = $this->getMockBuilder(Util::class) ->disableOriginalConstructor() ->getMock(); - $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager') + $this->keyManagerMock = $this->getMockBuilder(KeyManager::class) ->disableOriginalConstructor() ->getMock(); - $this->sessionMock = $this->getMockBuilder('OCA\Encryption\Session') + $this->sessionMock = $this->getMockBuilder(Session::class) ->disableOriginalConstructor() ->getMock(); - $this->encryptAllMock = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + $this->encryptAllMock = $this->getMockBuilder(EncryptAll::class) ->disableOriginalConstructor() ->getMock(); - $this->decryptAllMock = $this->getMockBuilder('OCA\Encryption\Crypto\DecryptAll') + $this->decryptAllMock = $this->getMockBuilder(DecryptAll::class) ->disableOriginalConstructor() ->getMock(); $this->loggerMock = $this->getMockBuilder(ILogger::class) diff --git a/apps/encryption/tests/HookManagerTest.php b/apps/encryption/tests/HookManagerTest.php index c5e5487dba5..109afb1ef8d 100644 --- a/apps/encryption/tests/HookManagerTest.php +++ b/apps/encryption/tests/HookManagerTest.php @@ -26,6 +26,7 @@ namespace OCA\Encryption\Tests; use OCA\Encryption\HookManager; +use OCA\Encryption\Hooks\Contracts\IHook; use OCP\IConfig; use Test\TestCase; @@ -41,8 +42,8 @@ class HookManagerTest extends TestCase { */ public function testRegisterHookWithArray() { self::$instance->registerHook([ - $this->getMockBuilder('OCA\Encryption\Hooks\Contracts\IHook')->disableOriginalConstructor()->getMock(), - $this->getMockBuilder('OCA\Encryption\Hooks\Contracts\IHook')->disableOriginalConstructor()->getMock(), + $this->getMockBuilder(IHook::class)->disableOriginalConstructor()->getMock(), + $this->getMockBuilder(IHook::class)->disableOriginalConstructor()->getMock(), $this->createMock(IConfig::class) ]); @@ -66,7 +67,7 @@ class HookManagerTest extends TestCase { * */ public function testRegisterHooksWithInstance() { - $mock = $this->getMockBuilder('OCA\Encryption\Hooks\Contracts\IHook')->disableOriginalConstructor()->getMock(); + $mock = $this->getMockBuilder(IHook::class)->disableOriginalConstructor()->getMock(); /** @var \OCA\Encryption\Hooks\Contracts\IHook $mock */ self::$instance->registerHook($mock); diff --git a/apps/encryption/tests/Hooks/UserHooksTest.php b/apps/encryption/tests/Hooks/UserHooksTest.php index 506f46eb8e6..f4c7a5ae0f7 100644 --- a/apps/encryption/tests/Hooks/UserHooksTest.php +++ b/apps/encryption/tests/Hooks/UserHooksTest.php @@ -29,9 +29,15 @@ namespace OCA\Encryption\Tests\Hooks; use OCA\Encryption\Crypto\Crypt; use OCA\Encryption\Hooks\UserHooks; +use OCA\Encryption\KeyManager; +use OCA\Encryption\Recovery; +use OCA\Encryption\Session; +use OCA\Encryption\Users\Setup; +use OCA\Encryption\Util; use OCP\ILogger; use OCP\IUser; use OCP\IUserManager; +use OCP\IUserSession; use Test\TestCase; /** @@ -152,7 +158,7 @@ class UserHooksTest extends TestCase { public function testPreSetPassphrase($canChange) { /** @var UserHooks | \PHPUnit_Framework_MockObject_MockObject $instance */ - $instance = $this->getMockBuilder('OCA\Encryption\Hooks\UserHooks') + $instance = $this->getMockBuilder(UserHooks::class) ->setConstructorArgs( [ $this->keyManagerMock, @@ -231,7 +237,7 @@ class UserHooksTest extends TestCase { ->willReturnOnConsecutiveCalls(true, false); - $this->instance = $this->getMockBuilder('OCA\Encryption\Hooks\UserHooks') + $this->instance = $this->getMockBuilder(UserHooks::class) ->setConstructorArgs( [ $this->keyManagerMock, @@ -292,7 +298,7 @@ class UserHooksTest extends TestCase { ->method('getPrivateKey') ->willReturn(true); - $userSessionMock = $this->getMockBuilder('OCP\IUserSession') + $userSessionMock = $this->getMockBuilder(IUserSession::class) ->disableOriginalConstructor() ->getMock(); @@ -303,7 +309,7 @@ class UserHooksTest extends TestCase { ->with('testUser') ->willReturn(false); - $userHooks = $this->getMockBuilder('OCA\Encryption\Hooks\UserHooks') + $userHooks = $this->getMockBuilder(UserHooks::class) ->setConstructorArgs( [ $this->keyManagerMock, @@ -325,17 +331,17 @@ class UserHooksTest extends TestCase { protected function setUp() { parent::setUp(); $this->loggerMock = $this->createMock(ILogger::class); - $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager') + $this->keyManagerMock = $this->getMockBuilder(KeyManager::class) ->disableOriginalConstructor() ->getMock(); $this->userManagerMock = $this->getMockBuilder(IUserManager::class) ->disableOriginalConstructor() ->getMock(); - $this->userSetupMock = $this->getMockBuilder('OCA\Encryption\Users\Setup') + $this->userSetupMock = $this->getMockBuilder(Setup::class) ->disableOriginalConstructor() ->getMock(); - $this->userSessionMock = $this->getMockBuilder('OCP\IUserSession') + $this->userSessionMock = $this->getMockBuilder(IUserSession::class) ->disableOriginalConstructor() ->setMethods([ 'isLoggedIn', @@ -354,18 +360,18 @@ class UserHooksTest extends TestCase { ->method($this->anything()) ->will($this->returnSelf()); - $utilMock = $this->getMockBuilder('OCA\Encryption\Util') + $utilMock = $this->getMockBuilder(Util::class) ->disableOriginalConstructor() ->getMock(); - $sessionMock = $this->getMockBuilder('OCA\Encryption\Session') + $sessionMock = $this->getMockBuilder(Session::class) ->disableOriginalConstructor() ->getMock(); - $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt') + $this->cryptMock = $this->getMockBuilder(Crypt::class) ->disableOriginalConstructor() ->getMock(); - $recoveryMock = $this->getMockBuilder('OCA\Encryption\Recovery') + $recoveryMock = $this->getMockBuilder(Recovery::class) ->disableOriginalConstructor() ->getMock(); @@ -374,7 +380,7 @@ class UserHooksTest extends TestCase { $this->utilMock = $utilMock; $this->utilMock->expects($this->any())->method('isMasterKeyEnabled')->willReturn(false); - $this->instance = $this->getMockBuilder('OCA\Encryption\Hooks\UserHooks') + $this->instance = $this->getMockBuilder(UserHooks::class) ->setConstructorArgs( [ $this->keyManagerMock, diff --git a/apps/encryption/tests/KeyManagerTest.php b/apps/encryption/tests/KeyManagerTest.php index a8441427a2c..721b7f53a0c 100644 --- a/apps/encryption/tests/KeyManagerTest.php +++ b/apps/encryption/tests/KeyManagerTest.php @@ -27,9 +27,15 @@ namespace OCA\Encryption\Tests; +use OC\Files\FileInfo; +use OC\Files\View; +use OCA\Encryption\Crypto\Crypt; use OCA\Encryption\KeyManager; use OCA\Encryption\Session; +use OCA\Encryption\Util; use OCP\Encryption\Keys\IStorage; +use OCP\Files\Cache\ICache; +use OCP\Files\Storage; use OCP\IConfig; use OCP\ILogger; use OCP\IUserSession; @@ -74,7 +80,7 @@ class KeyManagerTest extends TestCase { $this->userId = 'user1'; $this->systemKeyId = 'systemKeyId'; $this->keyStorageMock = $this->createMock(IStorage::class); - $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt') + $this->cryptMock = $this->getMockBuilder(Crypt::class) ->disableOriginalConstructor() ->getMock(); $this->configMock = $this->createMock(IConfig::class); @@ -82,11 +88,11 @@ class KeyManagerTest extends TestCase { ->method('getAppValue') ->willReturn($this->systemKeyId); $this->userMock = $this->createMock(IUserSession::class); - $this->sessionMock = $this->getMockBuilder('OCA\Encryption\Session') + $this->sessionMock = $this->getMockBuilder(Session::class) ->disableOriginalConstructor() ->getMock(); $this->logMock = $this->createMock(ILogger::class); - $this->utilMock = $this->getMockBuilder('OCA\Encryption\Util') + $this->utilMock = $this->getMockBuilder(Util::class) ->disableOriginalConstructor() ->getMock(); @@ -251,7 +257,7 @@ class KeyManagerTest extends TestCase { public function testInit($useMasterKey) { /** @var \OCA\Encryption\KeyManager|\PHPUnit_Framework_MockObject_MockObject $instance */ - $instance = $this->getMockBuilder('OCA\Encryption\KeyManager') + $instance = $this->getMockBuilder(KeyManager::class) ->setConstructorArgs( [ $this->keyStorageMock, @@ -544,7 +550,7 @@ class KeyManagerTest extends TestCase { public function testValidateMasterKey($masterKey) { /** @var \OCA\Encryption\KeyManager | \PHPUnit_Framework_MockObject_MockObject $instance */ - $instance = $this->getMockBuilder('OCA\Encryption\KeyManager') + $instance = $this->getMockBuilder(KeyManager::class) ->setConstructorArgs( [ $this->keyStorageMock, @@ -592,7 +598,7 @@ class KeyManagerTest extends TestCase { } public function testGetVersionWithoutFileInfo() { - $view = $this->getMockBuilder('\\OC\\Files\\View') + $view = $this->getMockBuilder(View::class) ->disableOriginalConstructor()->getMock(); $view->expects($this->once()) ->method('getFileInfo') @@ -604,9 +610,9 @@ class KeyManagerTest extends TestCase { } public function testGetVersionWithFileInfo() { - $view = $this->getMockBuilder('\\OC\\Files\\View') + $view = $this->getMockBuilder(View::class) ->disableOriginalConstructor()->getMock(); - $fileInfo = $this->getMockBuilder('\\OC\\Files\\FileInfo') + $fileInfo = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor()->getMock(); $fileInfo->expects($this->once()) ->method('getEncryptedVersion') @@ -621,19 +627,19 @@ class KeyManagerTest extends TestCase { } public function testSetVersionWithFileInfo() { - $view = $this->getMockBuilder('\\OC\\Files\\View') + $view = $this->getMockBuilder(View::class) ->disableOriginalConstructor()->getMock(); - $cache = $this->getMockBuilder('\\OCP\\Files\\Cache\\ICache') + $cache = $this->getMockBuilder(ICache::class) ->disableOriginalConstructor()->getMock(); $cache->expects($this->once()) ->method('update') ->with(123, ['encrypted' => 5, 'encryptedVersion' => 5]); - $storage = $this->getMockBuilder('\\OCP\\Files\\Storage') + $storage = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor()->getMock(); $storage->expects($this->once()) ->method('getCache') ->willReturn($cache); - $fileInfo = $this->getMockBuilder('\\OC\\Files\\FileInfo') + $fileInfo = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor()->getMock(); $fileInfo->expects($this->once()) ->method('getStorage') @@ -651,7 +657,7 @@ class KeyManagerTest extends TestCase { } public function testSetVersionWithoutFileInfo() { - $view = $this->getMockBuilder('\\OC\\Files\\View') + $view = $this->getMockBuilder(View::class) ->disableOriginalConstructor()->getMock(); $view->expects($this->once()) ->method('getFileInfo') diff --git a/apps/encryption/tests/RecoveryTest.php b/apps/encryption/tests/RecoveryTest.php index d73b5d48c91..2dda774565c 100644 --- a/apps/encryption/tests/RecoveryTest.php +++ b/apps/encryption/tests/RecoveryTest.php @@ -28,10 +28,13 @@ namespace OCA\Encryption\Tests; use OC\Files\View; +use OCA\Encryption\Crypto\Crypt; +use OCA\Encryption\KeyManager; use OCA\Encryption\Recovery; use OCP\Encryption\IFile; use OCP\Encryption\Keys\IStorage; use OCP\IConfig; +use OCP\IUserSession; use OCP\Security\ISecureRandom; use Test\TestCase; @@ -253,7 +256,7 @@ class RecoveryTest extends TestCase { parent::setUp(); - $this->userSessionMock = $this->getMockBuilder('OCP\IUserSession') + $this->userSessionMock = $this->getMockBuilder(IUserSession::class) ->disableOriginalConstructor() ->setMethods([ 'isLoggedIn', @@ -271,10 +274,10 @@ class RecoveryTest extends TestCase { ->method($this->anything()) ->will($this->returnSelf()); - $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt')->disableOriginalConstructor()->getMock(); + $this->cryptMock = $this->getMockBuilder(Crypt::class)->disableOriginalConstructor()->getMock(); /** @var \OCP\Security\ISecureRandom $randomMock */ $randomMock = $this->createMock(ISecureRandom::class); - $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager')->disableOriginalConstructor()->getMock(); + $this->keyManagerMock = $this->getMockBuilder(KeyManager::class)->disableOriginalConstructor()->getMock(); $this->configMock = $this->createMock(IConfig::class); /** @var \OCP\Encryption\Keys\IStorage $keyStorageMock */ $keyStorageMock = $this->createMock(IStorage::class); diff --git a/apps/encryption/tests/Users/SetupTest.php b/apps/encryption/tests/Users/SetupTest.php index 9e856861046..27866ef3927 100644 --- a/apps/encryption/tests/Users/SetupTest.php +++ b/apps/encryption/tests/Users/SetupTest.php @@ -26,8 +26,11 @@ namespace OCA\Encryption\Tests\Users; +use OCA\Encryption\Crypto\Crypt; +use OCA\Encryption\KeyManager; use OCA\Encryption\Users\Setup; use OCP\ILogger; +use OCP\IUserSession; use Test\TestCase; class SetupTest extends TestCase { @@ -47,14 +50,14 @@ class SetupTest extends TestCase { protected function setUp() { parent::setUp(); $logMock = $this->createMock(ILogger::class); - $userSessionMock = $this->getMockBuilder('OCP\IUserSession') + $userSessionMock = $this->getMockBuilder(IUserSession::class) ->disableOriginalConstructor() ->getMock(); - $this->cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt') + $this->cryptMock = $this->getMockBuilder(Crypt::class) ->disableOriginalConstructor() ->getMock(); - $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager') + $this->keyManagerMock = $this->getMockBuilder(KeyManager::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/encryption/tests/UtilTest.php b/apps/encryption/tests/UtilTest.php index 40fc5537251..e59565d3b84 100644 --- a/apps/encryption/tests/UtilTest.php +++ b/apps/encryption/tests/UtilTest.php @@ -27,11 +27,14 @@ namespace OCA\Encryption\Tests; use OC\Files\View; +use OCA\Encryption\Crypto\Crypt; use OCA\Encryption\Util; use OCP\Files\Mount\IMountPoint; +use OCP\Files\Storage; use OCP\IConfig; use OCP\ILogger; use OCP\IUserManager; +use OCP\IUserSession; use Test\TestCase; class UtilTest extends TestCase { @@ -80,13 +83,13 @@ class UtilTest extends TestCase { $this->userManagerMock = $this->createMock(IUserManager::class); /** @var \OCA\Encryption\Crypto\Crypt $cryptMock */ - $cryptMock = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt') + $cryptMock = $this->getMockBuilder(Crypt::class) ->disableOriginalConstructor() ->getMock(); /** @var \OCP\ILogger $loggerMock */ $loggerMock = $this->createMock(ILogger::class); /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject $userSessionMock */ - $userSessionMock = $this->getMockBuilder('OCP\IUserSession') + $userSessionMock = $this->getMockBuilder(IUserSession::class) ->disableOriginalConstructor() ->setMethods([ 'isLoggedIn', @@ -205,7 +208,7 @@ class UtilTest extends TestCase { } public function testGetStorage() { - $return = $this->getMockBuilder('OC\Files\Storage\Storage') + $return = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/federatedfilesharing/l10n/sk.js b/apps/federatedfilesharing/l10n/sk.js new file mode 100644 index 00000000000..7877da712e8 --- /dev/null +++ b/apps/federatedfilesharing/l10n/sk.js @@ -0,0 +1,58 @@ +OC.L10N.register( + "federatedfilesharing", + { + "Federated sharing" : "Združené sprístupňovanie", + "Do you want to add the remote share {name} from {owner}@{remote}?" : "Chcete pridať vzdialené úložisko {name} patriace používateľovi {owner}@{remote}?", + "Remote share" : "Vzdialené úložisko", + "Remote share password" : "Heslo k vzdialenému úložisku", + "Cancel" : "Zrušiť", + "Add remote share" : "Pridať vzdialené úložisko", + "Copy" : "Kopírovať", + "Copied!" : "Skopírované!", + "Not supported!" : "Nie je podporované!", + "Press ⌘-C to copy." : "Stlač ⌘-C pre skopírovanie.", + "Press Ctrl-C to copy." : "Stlač Ctrl-C pre skopírovanie.", + "Invalid Federated Cloud ID" : "Neplatné združené Cloud ID", + "Server to server sharing is not enabled on this server" : "Sprístupňovanie server-server nie je na tomto serveri povolené", + "Couldn't establish a federated share." : "Nepodarilo sa nadviazať združené zdieľanie", + "Couldn't establish a federated share, maybe the password was wrong." : "Nepodarilo sa nadviazať združené zdieľanie, možno je nesprávne heslo.", + "Federated Share request sent, you will receive an invitation. Check your notifications." : "Požiadavka na združené zdieľanie bola odoslaná, obdržíte pozvánku. Skontrolujte oznámenia.", + "The mountpoint name contains invalid characters." : "Meno prípojného bodu obsahuje neplatné znaky.", + "Not allowed to create a federated share with the owner." : "Nie je povolené vytvárať združené zdieľanie s vlastníkom.", + "Invalid or untrusted SSL certificate" : "Neplatný alebo nedôveryhodný certifikát SSL", + "Could not authenticate to remote share, password might be wrong" : "Nie je možné overiť vo vzdialenom úložisku, heslo môže byť nesprávne", + "Storage not valid" : "Neplatné úložisko", + "Federated share added" : "Združené sprístupnenie pridané", + "Couldn't add remote share" : "Nedá sa pridať vzdialené sprístupnenie", + "Sharing %s failed, because this item is already shared with %s" : "Sprístupnenie %s zlyhalo, pretože táto položka už je prístupná pre %s", + "Not allowed to create a federated share with the same user" : "Nie je možné vytvoriť združené sprístupnenie so sebou samým", + "File is already shared with %s" : "Súbor je už sprístupnený používateľovi %s", + "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Zdieľanie %s zlyhalo, %s sa nepodarilo nájsť, server nie je pravdepodobne dostupný alebo používa vlastnoručne podpísaný certifikát.", + "Could not find share" : "Nebolo možné nájsť sprístupnenie", + "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Obdržali ste \"%3$s\" ako vzdialené zdieľanie od %1$s (v mene %2$s) ", + "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Obdržali ste {share} ako vzdialené zdieľanie od {user} (v mene {behalf})", + "You received \"%3$s\" as a remote share from %1$s" : "Obdržali ste \"%3$s\" ako vzdialené zdieľanie od %1$s", + "You received {share} as a remote share from {user}" : "Obdržali ste {share} ako vzdialené zdieľanie od {user}", + "Accept" : "Schváliť", + "Decline" : "Odmietnuť", + "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Sprístupnite mi obsah prostredníctvom môjho #Nextcloud Federated Cloud ID, viac na %s", + "Share with me through my #Nextcloud Federated Cloud ID" : "Sprístupnite mi obsah prostredníctvom môjho #Nextcloud Federated Cloud ID", + "Sharing" : "Sprístupnenie", + "Federated Cloud Sharing" : "Sprístupnenie prostredníctvom Federated Cloud", + "Open documentation" : "Otvoriť dokumentáciu", + "Adjust how people can share between servers." : "Nastavte ako môžu ľudia medzi sebou zdieľať servery.", + "Allow users on this server to send shares to other servers" : "Povoliť používateľom z tohto servera sprístupňovať obsah na iných serveroch", + "Allow users on this server to receive shares from other servers" : "Povoliť používateľom z tohto servera sprístupňovanie obsahu z iných serverov", + "Search global and public address book for users" : "Vyhľadávať používateľov v globálnom a verejnom adresári kontaktov", + "Allow users to publish their data to a global and public address book" : "Povoliť používateľom publikovanie ich dát do globálneho a verejného adresára", + "Federated Cloud" : "Združený Cloud", + "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Môžete zdieľať s kýmkoľvek kto používa Nextcloud, ownCloud alebo Pydio! Len zadajte ich združené Cloud ID v dialógu pre zdieľanie. Vyzerá podobne ako person@cloud.example.com", + "Your Federated Cloud ID:" : "Vaše združené Cloud ID", + "Share it so your friends can share files with you:" : "Zdieľajte to, aby mohli vaši priatelia zdieľať súbory s vami:", + "Add to your website" : "Pridať na svoju webstránku", + "Share with me via Nextcloud" : "Sprístupnené cez Nextcloud", + "HTML Code:" : "HTML kód:", + "Search global and public address book for users and let local users publish their data" : "Vyhľadávať používateľog v globálnom a verejnom adresári a umožniť miestnym používateľom publikovať ich dáta", + "Share it:" : "Sprístupniť:" +}, +"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/federatedfilesharing/l10n/sk.json b/apps/federatedfilesharing/l10n/sk.json new file mode 100644 index 00000000000..9d94d89eb5e --- /dev/null +++ b/apps/federatedfilesharing/l10n/sk.json @@ -0,0 +1,56 @@ +{ "translations": { + "Federated sharing" : "Združené sprístupňovanie", + "Do you want to add the remote share {name} from {owner}@{remote}?" : "Chcete pridať vzdialené úložisko {name} patriace používateľovi {owner}@{remote}?", + "Remote share" : "Vzdialené úložisko", + "Remote share password" : "Heslo k vzdialenému úložisku", + "Cancel" : "Zrušiť", + "Add remote share" : "Pridať vzdialené úložisko", + "Copy" : "Kopírovať", + "Copied!" : "Skopírované!", + "Not supported!" : "Nie je podporované!", + "Press ⌘-C to copy." : "Stlač ⌘-C pre skopírovanie.", + "Press Ctrl-C to copy." : "Stlač Ctrl-C pre skopírovanie.", + "Invalid Federated Cloud ID" : "Neplatné združené Cloud ID", + "Server to server sharing is not enabled on this server" : "Sprístupňovanie server-server nie je na tomto serveri povolené", + "Couldn't establish a federated share." : "Nepodarilo sa nadviazať združené zdieľanie", + "Couldn't establish a federated share, maybe the password was wrong." : "Nepodarilo sa nadviazať združené zdieľanie, možno je nesprávne heslo.", + "Federated Share request sent, you will receive an invitation. Check your notifications." : "Požiadavka na združené zdieľanie bola odoslaná, obdržíte pozvánku. Skontrolujte oznámenia.", + "The mountpoint name contains invalid characters." : "Meno prípojného bodu obsahuje neplatné znaky.", + "Not allowed to create a federated share with the owner." : "Nie je povolené vytvárať združené zdieľanie s vlastníkom.", + "Invalid or untrusted SSL certificate" : "Neplatný alebo nedôveryhodný certifikát SSL", + "Could not authenticate to remote share, password might be wrong" : "Nie je možné overiť vo vzdialenom úložisku, heslo môže byť nesprávne", + "Storage not valid" : "Neplatné úložisko", + "Federated share added" : "Združené sprístupnenie pridané", + "Couldn't add remote share" : "Nedá sa pridať vzdialené sprístupnenie", + "Sharing %s failed, because this item is already shared with %s" : "Sprístupnenie %s zlyhalo, pretože táto položka už je prístupná pre %s", + "Not allowed to create a federated share with the same user" : "Nie je možné vytvoriť združené sprístupnenie so sebou samým", + "File is already shared with %s" : "Súbor je už sprístupnený používateľovi %s", + "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Zdieľanie %s zlyhalo, %s sa nepodarilo nájsť, server nie je pravdepodobne dostupný alebo používa vlastnoručne podpísaný certifikát.", + "Could not find share" : "Nebolo možné nájsť sprístupnenie", + "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Obdržali ste \"%3$s\" ako vzdialené zdieľanie od %1$s (v mene %2$s) ", + "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Obdržali ste {share} ako vzdialené zdieľanie od {user} (v mene {behalf})", + "You received \"%3$s\" as a remote share from %1$s" : "Obdržali ste \"%3$s\" ako vzdialené zdieľanie od %1$s", + "You received {share} as a remote share from {user}" : "Obdržali ste {share} ako vzdialené zdieľanie od {user}", + "Accept" : "Schváliť", + "Decline" : "Odmietnuť", + "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Sprístupnite mi obsah prostredníctvom môjho #Nextcloud Federated Cloud ID, viac na %s", + "Share with me through my #Nextcloud Federated Cloud ID" : "Sprístupnite mi obsah prostredníctvom môjho #Nextcloud Federated Cloud ID", + "Sharing" : "Sprístupnenie", + "Federated Cloud Sharing" : "Sprístupnenie prostredníctvom Federated Cloud", + "Open documentation" : "Otvoriť dokumentáciu", + "Adjust how people can share between servers." : "Nastavte ako môžu ľudia medzi sebou zdieľať servery.", + "Allow users on this server to send shares to other servers" : "Povoliť používateľom z tohto servera sprístupňovať obsah na iných serveroch", + "Allow users on this server to receive shares from other servers" : "Povoliť používateľom z tohto servera sprístupňovanie obsahu z iných serverov", + "Search global and public address book for users" : "Vyhľadávať používateľov v globálnom a verejnom adresári kontaktov", + "Allow users to publish their data to a global and public address book" : "Povoliť používateľom publikovanie ich dát do globálneho a verejného adresára", + "Federated Cloud" : "Združený Cloud", + "You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Môžete zdieľať s kýmkoľvek kto používa Nextcloud, ownCloud alebo Pydio! Len zadajte ich združené Cloud ID v dialógu pre zdieľanie. Vyzerá podobne ako person@cloud.example.com", + "Your Federated Cloud ID:" : "Vaše združené Cloud ID", + "Share it so your friends can share files with you:" : "Zdieľajte to, aby mohli vaši priatelia zdieľať súbory s vami:", + "Add to your website" : "Pridať na svoju webstránku", + "Share with me via Nextcloud" : "Sprístupnené cez Nextcloud", + "HTML Code:" : "HTML kód:", + "Search global and public address book for users and let local users publish their data" : "Vyhľadávať používateľog v globálnom a verejnom adresári a umožniť miestnym používateľom publikovať ich dáta", + "Share it:" : "Sprístupniť:" +},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php b/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php index b5ea08af8d5..cef341fdc81 100644 --- a/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php +++ b/apps/federatedfilesharing/tests/Controller/MountPublicLinkControllerTest.php @@ -89,15 +89,15 @@ class MountPublicLinkControllerTest extends \Test\TestCase { $this->request = $this->getMockBuilder(IRequest::class)->disableOriginalConstructor()->getMock(); $this->federatedShareProvider = $this->getMockBuilder('OCA\FederatedFileSharing\FederatedShareProvider') ->disableOriginalConstructor()->getMock(); - $this->shareManager = $this->getMockBuilder('OCP\Share\IManager')->disableOriginalConstructor()->getMock(); + $this->shareManager = $this->getMockBuilder(IManager::class)->disableOriginalConstructor()->getMock(); $this->addressHandler = $this->getMockBuilder('OCA\FederatedFileSharing\AddressHandler') ->disableOriginalConstructor()->getMock(); $this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder')->disableOriginalConstructor()->getMock(); $this->userManager = $this->getMockBuilder(IUserManager::class)->disableOriginalConstructor()->getMock(); $this->share = new \OC\Share20\Share($this->rootFolder, $this->userManager); - $this->session = $this->getMockBuilder('OCP\ISession')->disableOriginalConstructor()->getMock(); + $this->session = $this->getMockBuilder(ISession::class)->disableOriginalConstructor()->getMock(); $this->l10n = $this->getMockBuilder(IL10N::class)->disableOriginalConstructor()->getMock(); - $this->userSession = $this->getMockBuilder('OCP\IUserSession')->disableOriginalConstructor()->getMock(); + $this->userSession = $this->getMockBuilder(IUserSession::class)->disableOriginalConstructor()->getMock(); $this->clientService = $this->getMockBuilder('OCP\Http\Client\IClientService')->disableOriginalConstructor()->getMock(); $this->cloudIdManager = new CloudIdManager(); diff --git a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php index 538c6ae5a08..585102d687a 100644 --- a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php +++ b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php @@ -90,7 +90,7 @@ class RequestHandlerControllerTest extends TestCase { ->setConstructorArgs([$config, $clientService]) ->getMock(); $httpHelperMock->expects($this->any())->method('post')->with($this->anything())->will($this->returnValue(true)); - $this->share = $this->getMockBuilder('\OCP\Share\IShare')->getMock(); + $this->share = $this->getMockBuilder(IShare::class)->getMock(); $this->federatedShareProvider = $this->getMockBuilder('OCA\FederatedFileSharing\FederatedShareProvider') ->disableOriginalConstructor()->getMock(); $this->federatedShareProvider->expects($this->any()) diff --git a/apps/federatedfilesharing/tests/TokenHandlerTest.php b/apps/federatedfilesharing/tests/TokenHandlerTest.php index 10e5fc5df51..2025b90e00b 100644 --- a/apps/federatedfilesharing/tests/TokenHandlerTest.php +++ b/apps/federatedfilesharing/tests/TokenHandlerTest.php @@ -42,7 +42,7 @@ class TokenHandlerTest extends \Test\TestCase { public function setUp() { parent::setUp(); - $this->secureRandom = $this->getMockBuilder('OCP\Security\ISecureRandom')->getMock(); + $this->secureRandom = $this->getMockBuilder(ISecureRandom::class)->getMock(); $this->tokenHandler = new TokenHandler($this->secureRandom); } diff --git a/apps/federation/l10n/eu.js b/apps/federation/l10n/eu.js new file mode 100644 index 00000000000..d64821f858f --- /dev/null +++ b/apps/federation/l10n/eu.js @@ -0,0 +1,16 @@ +OC.L10N.register( + "federation", + { + "Added to the list of trusted servers" : "Zerbitzari fidagarrien zerrendara gehituta", + "Server is already in the list of trusted servers." : "Zerbitzaria fidagarrien zerrendan dago iada", + "No server to federate with found" : "Ez da federatzeko zerbitzaririk topatu", + "Could not add server" : "Ezin da zerbitzaria gehitu", + "Trusted servers" : "Zerbitzari fidagarriak", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federazioaren bidez fidagarriak diren zerbitzariekin erabiltzaileen informazioa elkartrukatzeko aukeraematen du. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federazio partekatuarentzako", + "Add server automatically once a federated share was created successfully" : "Zerbitzaria automatikoki gehitu federatutako partekatze bat ondo sortzen denean", + "+ Add trusted server" : "+ Zerbitzari fidagarria gehitu", + "Trusted server" : "Zerbitzari fidagarria", + "Add" : "Gehitu", + "Federation" : "Federazioa" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/federation/l10n/eu.json b/apps/federation/l10n/eu.json new file mode 100644 index 00000000000..86bdba1dc9d --- /dev/null +++ b/apps/federation/l10n/eu.json @@ -0,0 +1,14 @@ +{ "translations": { + "Added to the list of trusted servers" : "Zerbitzari fidagarrien zerrendara gehituta", + "Server is already in the list of trusted servers." : "Zerbitzaria fidagarrien zerrendan dago iada", + "No server to federate with found" : "Ez da federatzeko zerbitzaririk topatu", + "Could not add server" : "Ezin da zerbitzaria gehitu", + "Trusted servers" : "Zerbitzari fidagarriak", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federazioaren bidez fidagarriak diren zerbitzariekin erabiltzaileen informazioa elkartrukatzeko aukeraematen du. Adibidez, kanpo erabiltzaileak automatikoki betetzeko erabil daiteke, federazio partekatuarentzako", + "Add server automatically once a federated share was created successfully" : "Zerbitzaria automatikoki gehitu federatutako partekatze bat ondo sortzen denean", + "+ Add trusted server" : "+ Zerbitzari fidagarria gehitu", + "Trusted server" : "Zerbitzari fidagarria", + "Add" : "Gehitu", + "Federation" : "Federazioa" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/federation/l10n/sk.js b/apps/federation/l10n/sk.js new file mode 100644 index 00000000000..ebf28b6fa34 --- /dev/null +++ b/apps/federation/l10n/sk.js @@ -0,0 +1,16 @@ +OC.L10N.register( + "federation", + { + "Added to the list of trusted servers" : "Pridané do zoznamu dôveryhodných serverov", + "Server is already in the list of trusted servers." : "Server sa už nachádza v zozname dôveryhodných serverov", + "No server to federate with found" : "Server pre združenie sa nenašiel", + "Could not add server" : "Nebolo možné pridať server", + "Trusted servers" : "Dôveryhodné servery", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny adresára používateľov. Používa sa to napr. pre automatické doplňovanie používateľov pri združenom zdieľaní.", + "Add server automatically once a federated share was created successfully" : "Pridať server automaticky akonáhle je úspešne vytvorené združené zdieľanie", + "+ Add trusted server" : "Pridať dôveryhodný server", + "Trusted server" : "Dôveryhodný server", + "Add" : "Pridať", + "Federation" : "Združovanie" +}, +"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/federation/l10n/sk.json b/apps/federation/l10n/sk.json new file mode 100644 index 00000000000..119f2b121fa --- /dev/null +++ b/apps/federation/l10n/sk.json @@ -0,0 +1,14 @@ +{ "translations": { + "Added to the list of trusted servers" : "Pridané do zoznamu dôveryhodných serverov", + "Server is already in the list of trusted servers." : "Server sa už nachádza v zozname dôveryhodných serverov", + "No server to federate with found" : "Server pre združenie sa nenašiel", + "Could not add server" : "Nebolo možné pridať server", + "Trusted servers" : "Dôveryhodné servery", + "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Združovanie vám umožňuje sa pripojiť k iným dôveryhodným serverom za účelom výmeny adresára používateľov. Používa sa to napr. pre automatické doplňovanie používateľov pri združenom zdieľaní.", + "Add server automatically once a federated share was created successfully" : "Pridať server automaticky akonáhle je úspešne vytvorené združené zdieľanie", + "+ Add trusted server" : "Pridať dôveryhodný server", + "Trusted server" : "Dôveryhodný server", + "Add" : "Pridať", + "Federation" : "Združovanie" +},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" +}
\ No newline at end of file diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 0d45c29b25a..4790afcf4d0 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -1685,6 +1685,7 @@ // close sidebar this._updateDetailsView(null); } + this._setCurrentDir(this.getCurrentDirectory(), false); var callBack = this.reloadCallback.bind(this); return this._reloadCall.then(callBack, callBack); }, diff --git a/apps/files/js/tagsplugin.js b/apps/files/js/tagsplugin.js index 2286477750c..747a7245a56 100644 --- a/apps/files/js/tagsplugin.js +++ b/apps/files/js/tagsplugin.js @@ -103,17 +103,17 @@ return t('files', 'Add to favorites'); }, mime: 'all', - order: -23, + order: -100, permissions: OC.PERMISSION_READ, iconClass: function(fileName, context) { var $file = context.$file; var isFavorite = $file.data('favorite') === true; if (isFavorite) { - return 'icon-starred'; + return 'icon-star-dark'; } - return 'icon-star'; + return 'icon-starred'; }, actionHandler: function(fileName, context) { var $favoriteMarkEl = context.$file.find('.favorite-mark'); diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js index 1f534415734..ee70b6a15cd 100644 --- a/apps/files/l10n/da.js +++ b/apps/files/l10n/da.js @@ -16,7 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Der er ikke tilstrækkeligt friplads. Du uplaoder {size1} men der er kun {size2} tilbage", "Target folder \"{dir}\" does not exist any more" : "Destinations mappen \"{dir}\" eksistere ikke længere", "Not enough free space" : "Ikke nok fri plads", - "Uploading…" : "Uploader...", + "Uploading …" : "Uploader ...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} af {totalSize} ({bitrate})", "Actions" : "Handlinger", @@ -77,6 +77,9 @@ OC.L10N.register( "Favorite" : "Foretrukken", "New folder" : "Ny Mappe", "Upload file" : "Upload fil", + "Not favorited" : "Ingen foretrukne", + "Remove from favorites" : "Fjern fra favoritter", + "Add to favorites" : "Tilføj til favoritter", "An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne", "Added to favorites" : "Tilføjet til favoritter", "Removed from favorites" : "Fjernet fra favoritter", diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json index a52a03aff8f..aed0a9b9715 100644 --- a/apps/files/l10n/da.json +++ b/apps/files/l10n/da.json @@ -14,7 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Der er ikke tilstrækkeligt friplads. Du uplaoder {size1} men der er kun {size2} tilbage", "Target folder \"{dir}\" does not exist any more" : "Destinations mappen \"{dir}\" eksistere ikke længere", "Not enough free space" : "Ikke nok fri plads", - "Uploading…" : "Uploader...", + "Uploading …" : "Uploader ...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} af {totalSize} ({bitrate})", "Actions" : "Handlinger", @@ -75,6 +75,9 @@ "Favorite" : "Foretrukken", "New folder" : "Ny Mappe", "Upload file" : "Upload fil", + "Not favorited" : "Ingen foretrukne", + "Remove from favorites" : "Fjern fra favoritter", + "Add to favorites" : "Tilføj til favoritter", "An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne", "Added to favorites" : "Tilføjet til favoritter", "Removed from favorites" : "Fjernet fra favoritter", diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js index c83db5fa0d9..ca73ab73357 100644 --- a/apps/files/l10n/de.js +++ b/apps/files/l10n/de.js @@ -16,7 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Du möchtest{size1} hochladen, es sind jedoch nur noch {size2} verfügbar.", "Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr", "Not enough free space" : "Nicht genügend freier Speicherplatz", - "Uploading…" : "Hochladen...", + "Uploading …" : "Lade hoch...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})", "Actions" : "Aktionen", @@ -77,6 +77,9 @@ OC.L10N.register( "Favorite" : "Favorit", "New folder" : "Neuer Ordner", "Upload file" : "Datei hochladen", + "Not favorited" : "Nicht favorisiert", + "Remove from favorites" : "Von Favoriten entfernen", + "Add to favorites" : "Zu den Favoriten hinzufügen", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", "Added to favorites" : "Zu den Favoriten hinzugefügt", "Removed from favorites" : "Aus den Favoriten entfernt", diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json index 676b544b67b..0fa4becb1a9 100644 --- a/apps/files/l10n/de.json +++ b/apps/files/l10n/de.json @@ -14,7 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Du möchtest{size1} hochladen, es sind jedoch nur noch {size2} verfügbar.", "Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr", "Not enough free space" : "Nicht genügend freier Speicherplatz", - "Uploading…" : "Hochladen...", + "Uploading …" : "Lade hoch...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})", "Actions" : "Aktionen", @@ -75,6 +75,9 @@ "Favorite" : "Favorit", "New folder" : "Neuer Ordner", "Upload file" : "Datei hochladen", + "Not favorited" : "Nicht favorisiert", + "Remove from favorites" : "Von Favoriten entfernen", + "Add to favorites" : "Zu den Favoriten hinzufügen", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", "Added to favorites" : "Zu den Favoriten hinzugefügt", "Removed from favorites" : "Aus den Favoriten entfernt", diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js index 57442e8be4d..12eec37f13c 100644 --- a/apps/files/l10n/de_DE.js +++ b/apps/files/l10n/de_DE.js @@ -16,7 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Sie möchten {size1} hochladen, es sind jedoch nur noch {size2} verfügbar.", "Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr", "Not enough free space" : "Nicht genügend freier Speicherplatz", - "Uploading…" : "Lade hoch…", + "Uploading …" : "Lade hoch...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})", "Actions" : "Aktionen", @@ -77,6 +77,9 @@ OC.L10N.register( "Favorite" : "Favorit", "New folder" : "Neuer Ordner", "Upload file" : "Datei hochladen", + "Not favorited" : "Nicht favorisiert", + "Remove from favorites" : "Von Favoriten entfernen", + "Add to favorites" : "Zu den Favoriten hinzufügen", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", "Added to favorites" : "Zu den Favoriten hinzugefügt", "Removed from favorites" : "Aus den Favoriten entfernt", diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json index 15d54f2add9..346562edbe9 100644 --- a/apps/files/l10n/de_DE.json +++ b/apps/files/l10n/de_DE.json @@ -14,7 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Sie möchten {size1} hochladen, es sind jedoch nur noch {size2} verfügbar.", "Target folder \"{dir}\" does not exist any more" : "Ziel-Verzeichnis \"{dir}\" existiert nicht mehr", "Not enough free space" : "Nicht genügend freier Speicherplatz", - "Uploading…" : "Lade hoch…", + "Uploading …" : "Lade hoch...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} von {totalSize} ({bitrate})", "Actions" : "Aktionen", @@ -75,6 +75,9 @@ "Favorite" : "Favorit", "New folder" : "Neuer Ordner", "Upload file" : "Datei hochladen", + "Not favorited" : "Nicht favorisiert", + "Remove from favorites" : "Von Favoriten entfernen", + "Add to favorites" : "Zu den Favoriten hinzufügen", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", "Added to favorites" : "Zu den Favoriten hinzugefügt", "Removed from favorites" : "Aus den Favoriten entfernt", diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js index e693f9aa766..89a1bdda6b9 100644 --- a/apps/files/l10n/en_GB.js +++ b/apps/files/l10n/en_GB.js @@ -16,6 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Not enough free space, you are uploading {size1} but only {size2} is left", "Target folder \"{dir}\" does not exist any more" : "Target folder \"{dir}\" does not exist any more", "Not enough free space" : "Not enough free space", + "Uploading …" : "Uploading …", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})", "Actions" : "Actions", @@ -76,6 +77,9 @@ OC.L10N.register( "Favorite" : "Favourite", "New folder" : "New folder", "Upload file" : "Upload file", + "Not favorited" : "Not favourited", + "Remove from favorites" : "Remove from favourites", + "Add to favorites" : "Add to favourites", "An error occurred while trying to update the tags" : "An error occurred whilst trying to update the tags", "Added to favorites" : "Added to favourites", "Removed from favorites" : "Removed from favourites", diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json index 83cee64ef46..f0c1aff46d3 100644 --- a/apps/files/l10n/en_GB.json +++ b/apps/files/l10n/en_GB.json @@ -14,6 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Not enough free space, you are uploading {size1} but only {size2} is left", "Target folder \"{dir}\" does not exist any more" : "Target folder \"{dir}\" does not exist any more", "Not enough free space" : "Not enough free space", + "Uploading …" : "Uploading …", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})", "Actions" : "Actions", @@ -74,6 +75,9 @@ "Favorite" : "Favourite", "New folder" : "New folder", "Upload file" : "Upload file", + "Not favorited" : "Not favourited", + "Remove from favorites" : "Remove from favourites", + "Add to favorites" : "Add to favourites", "An error occurred while trying to update the tags" : "An error occurred whilst trying to update the tags", "Added to favorites" : "Added to favourites", "Removed from favorites" : "Removed from favourites", diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js index 2025736c2be..40955586567 100644 --- a/apps/files/l10n/es.js +++ b/apps/files/l10n/es.js @@ -16,6 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "No hay suficiente espacio libre. Quiere subir {size1} pero solo quedan {size2}", "Target folder \"{dir}\" does not exist any more" : "La carpeta de destino \"{dir}\" ya no existe", "Not enough free space" : "No hay espacio libre suficiente", + "Uploading …" : "Subiendo...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Actions" : "Acciones", @@ -76,6 +77,9 @@ OC.L10N.register( "Favorite" : "Favorito", "New folder" : "Nueva carpeta", "Upload file" : "Subir archivo", + "Not favorited" : "No marcado como favorito", + "Remove from favorites" : "Eliminar de favoritos", + "Add to favorites" : "Añadir a favoritos", "An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas", "Added to favorites" : "Agregado a favoritos", "Removed from favorites" : "Borrado de favoritos", diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json index 71fac819e34..76ca1811364 100644 --- a/apps/files/l10n/es.json +++ b/apps/files/l10n/es.json @@ -14,6 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "No hay suficiente espacio libre. Quiere subir {size1} pero solo quedan {size2}", "Target folder \"{dir}\" does not exist any more" : "La carpeta de destino \"{dir}\" ya no existe", "Not enough free space" : "No hay espacio libre suficiente", + "Uploading …" : "Subiendo...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Actions" : "Acciones", @@ -74,6 +75,9 @@ "Favorite" : "Favorito", "New folder" : "Nueva carpeta", "Upload file" : "Subir archivo", + "Not favorited" : "No marcado como favorito", + "Remove from favorites" : "Eliminar de favoritos", + "Add to favorites" : "Añadir a favoritos", "An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas", "Added to favorites" : "Agregado a favoritos", "Removed from favorites" : "Borrado de favoritos", diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js index e5c6f8dd9cf..af69bc93958 100644 --- a/apps/files/l10n/eu.js +++ b/apps/files/l10n/eu.js @@ -16,11 +16,13 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ez dago leku nahikorik, zu {size1} igotzen ari zara baina bakarrik {size2} libre dago", "Target folder \"{dir}\" does not exist any more" : "\"{dir}\" karpeta ez du gehiago existitzen", "Not enough free space" : "Ez dago nahiko leku librea", + "Uploading …" : "Igotzen...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})", "Actions" : "Ekintzak", "Download" : "Deskargatu", "Rename" : "Berrizendatu", + "Move or copy" : "Mugitu edo kopiatu", "Target folder" : "Xede karpeta", "Delete" : "Ezabatu", "Disconnect storage" : "Deskonektatu biltegia", @@ -35,6 +37,10 @@ OC.L10N.register( "This directory is unavailable, please check the logs or contact the administrator" : "Direktorio hau ez dago erabilgarri, begira itzazu erregistroa edo administratzailearekin harremanetan jarri", "Could not move \"{file}\", target exists" : "Ezin da \"{file}\" mugitu, helburuan existitzen da jadanik", "Could not move \"{file}\"" : "Ezin da mugitu \"{file}\"", + "Could not copy \"{file}\", target exists" : "Ezin da \"{file}\" kopiatu; helburuan existitzen da", + "Could not copy \"{file}\"" : "Ezin da \"{file}\" kopiatu", + "Copied {origin} inside {destination}" : "{origin} {destination} barruan kopiatu da", + "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} eta {nbfiles} beste fitxategiak {destination}-en kopiatu dira", "{newName} already exists" : "{newName} existitzen da dagoeneko", "Could not rename \"{fileName}\", it does not exist any more" : "Ezin izan da \"{fileName}\" berrizendatu, ez da existitzen", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" izena dagoeneko dago erabilita \"{dir}\" karpetan. Mesedez, beste bat aukeratu.", @@ -71,6 +77,9 @@ OC.L10N.register( "Favorite" : "Gogokoa", "New folder" : "Karpeta berria", "Upload file" : "Igo fitxategia", + "Not favorited" : "Ez da gogokoa", + "Remove from favorites" : "Gogokoetatik kenduta", + "Add to favorites" : "Gogokoetara gehitu", "An error occurred while trying to update the tags" : "Errore bat gertatu da etiketak eguneratzerakoan", "Added to favorites" : "Gogokoetan gehitu da", "Removed from favorites" : "Gogokoetatik kendu da", @@ -117,6 +126,7 @@ OC.L10N.register( "Show hidden files" : "Erakutsi ezkutuko fitxategiak", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Erabili helbide hau <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">WebDAV bidez zure fitxategietara sartzeko </a> ", + "Cancel upload" : "Igoera bertan behera utzita", "No files in here" : "Ez dago fitxategirik hemen", "Upload some content or sync with your devices!" : "Igo edukiren bat edo sinkronizatu zure gailuekin!", "No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan", diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json index 3268af89515..151eed97867 100644 --- a/apps/files/l10n/eu.json +++ b/apps/files/l10n/eu.json @@ -14,11 +14,13 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ez dago leku nahikorik, zu {size1} igotzen ari zara baina bakarrik {size2} libre dago", "Target folder \"{dir}\" does not exist any more" : "\"{dir}\" karpeta ez du gehiago existitzen", "Not enough free space" : "Ez dago nahiko leku librea", + "Uploading …" : "Igotzen...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})", "Actions" : "Ekintzak", "Download" : "Deskargatu", "Rename" : "Berrizendatu", + "Move or copy" : "Mugitu edo kopiatu", "Target folder" : "Xede karpeta", "Delete" : "Ezabatu", "Disconnect storage" : "Deskonektatu biltegia", @@ -33,6 +35,10 @@ "This directory is unavailable, please check the logs or contact the administrator" : "Direktorio hau ez dago erabilgarri, begira itzazu erregistroa edo administratzailearekin harremanetan jarri", "Could not move \"{file}\", target exists" : "Ezin da \"{file}\" mugitu, helburuan existitzen da jadanik", "Could not move \"{file}\"" : "Ezin da mugitu \"{file}\"", + "Could not copy \"{file}\", target exists" : "Ezin da \"{file}\" kopiatu; helburuan existitzen da", + "Could not copy \"{file}\"" : "Ezin da \"{file}\" kopiatu", + "Copied {origin} inside {destination}" : "{origin} {destination} barruan kopiatu da", + "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} eta {nbfiles} beste fitxategiak {destination}-en kopiatu dira", "{newName} already exists" : "{newName} existitzen da dagoeneko", "Could not rename \"{fileName}\", it does not exist any more" : "Ezin izan da \"{fileName}\" berrizendatu, ez da existitzen", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" izena dagoeneko dago erabilita \"{dir}\" karpetan. Mesedez, beste bat aukeratu.", @@ -69,6 +75,9 @@ "Favorite" : "Gogokoa", "New folder" : "Karpeta berria", "Upload file" : "Igo fitxategia", + "Not favorited" : "Ez da gogokoa", + "Remove from favorites" : "Gogokoetatik kenduta", + "Add to favorites" : "Gogokoetara gehitu", "An error occurred while trying to update the tags" : "Errore bat gertatu da etiketak eguneratzerakoan", "Added to favorites" : "Gogokoetan gehitu da", "Removed from favorites" : "Gogokoetatik kendu da", @@ -115,6 +124,7 @@ "Show hidden files" : "Erakutsi ezkutuko fitxategiak", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Erabili helbide hau <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">WebDAV bidez zure fitxategietara sartzeko </a> ", + "Cancel upload" : "Igoera bertan behera utzita", "No files in here" : "Ez dago fitxategirik hemen", "Upload some content or sync with your devices!" : "Igo edukiren bat edo sinkronizatu zure gailuekin!", "No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan", diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js index 89f08cb7b0e..3edbbc8ba14 100644 --- a/apps/files/l10n/fi.js +++ b/apps/files/l10n/fi.js @@ -16,7 +16,6 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ei riittävästi vapaata tilaa. Lähetyksesi koko on {size1}, mutta vain {size2} on jäljellä", "Target folder \"{dir}\" does not exist any more" : "Kohdekansio \"{dir}\" ei ole enää olemassa", "Not enough free space" : "Ei tarpeeksi vapaata tilaa", - "Uploading…" : "Lähetetään…", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{totalSize} ({bitrate})", "Actions" : "Toiminnot", diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json index 7a5324b1ac6..54fe53b85ab 100644 --- a/apps/files/l10n/fi.json +++ b/apps/files/l10n/fi.json @@ -14,7 +14,6 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ei riittävästi vapaata tilaa. Lähetyksesi koko on {size1}, mutta vain {size2} on jäljellä", "Target folder \"{dir}\" does not exist any more" : "Kohdekansio \"{dir}\" ei ole enää olemassa", "Not enough free space" : "Ei tarpeeksi vapaata tilaa", - "Uploading…" : "Lähetetään…", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize}/{totalSize} ({bitrate})", "Actions" : "Toiminnot", diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js index ba2f25dd49c..9574a557cd3 100644 --- a/apps/files/l10n/fr.js +++ b/apps/files/l10n/fr.js @@ -16,7 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Espace libre insuffisant : vous tentez d'envoyer {size1} mais seulement {size2} sont disponibles", "Target folder \"{dir}\" does not exist any more" : "Le dossier cible « {dir} » n'existe plus", "Not enough free space" : "Espace disponible insuffisant", - "Uploading…" : "Téléversement...", + "Uploading …" : "Téléversement en cours...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} sur {totalSize} ({bitrate})", "Actions" : "Actions", @@ -77,6 +77,8 @@ OC.L10N.register( "Favorite" : "Favoris", "New folder" : "Nouveau dossier", "Upload file" : "Téléverser un fichier", + "Remove from favorites" : "Retirer des favoris", + "Add to favorites" : "Ajouter aux favoris", "An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes", "Added to favorites" : "Ajouté aux favoris", "Removed from favorites" : "Retiré des favoris", diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json index ad56f55786a..21074489eec 100644 --- a/apps/files/l10n/fr.json +++ b/apps/files/l10n/fr.json @@ -14,7 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Espace libre insuffisant : vous tentez d'envoyer {size1} mais seulement {size2} sont disponibles", "Target folder \"{dir}\" does not exist any more" : "Le dossier cible « {dir} » n'existe plus", "Not enough free space" : "Espace disponible insuffisant", - "Uploading…" : "Téléversement...", + "Uploading …" : "Téléversement en cours...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} sur {totalSize} ({bitrate})", "Actions" : "Actions", @@ -75,6 +75,8 @@ "Favorite" : "Favoris", "New folder" : "Nouveau dossier", "Upload file" : "Téléverser un fichier", + "Remove from favorites" : "Retirer des favoris", + "Add to favorites" : "Ajouter aux favoris", "An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes", "Added to favorites" : "Ajouté aux favoris", "Removed from favorites" : "Retiré des favoris", diff --git a/apps/files/l10n/hu.js b/apps/files/l10n/hu.js index dba6ea7bbe0..0c770e4a1db 100644 --- a/apps/files/l10n/hu.js +++ b/apps/files/l10n/hu.js @@ -16,7 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nincs elég szabad hely. A feltöltés mérete {size1}, de csak ennyi hely van: {size2}.", "Target folder \"{dir}\" does not exist any more" : "A cél mappa már nem létezik: \"{dir}\"", "Not enough free space" : "Nincs elég szabad hely", - "Uploading…" : "Feltöltés...", + "Uploading …" : "Feltöltés...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})", "Actions" : "Műveletek", @@ -77,6 +77,9 @@ OC.L10N.register( "Favorite" : "Kedvenc", "New folder" : "Új mappa", "Upload file" : "Fájl feltöltés", + "Not favorited" : "Nincs a kedvencek között", + "Remove from favorites" : "Eltávolítás a kedvencekből", + "Add to favorites" : "Hozzáadás a kedvencekhez", "An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket", "Added to favorites" : "Hozzáadva a kedvencekhez", "Removed from favorites" : "Eltávolítva a kedvencekből", diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json index ae4813584cb..9e7d724c06e 100644 --- a/apps/files/l10n/hu.json +++ b/apps/files/l10n/hu.json @@ -14,7 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nincs elég szabad hely. A feltöltés mérete {size1}, de csak ennyi hely van: {size2}.", "Target folder \"{dir}\" does not exist any more" : "A cél mappa már nem létezik: \"{dir}\"", "Not enough free space" : "Nincs elég szabad hely", - "Uploading…" : "Feltöltés...", + "Uploading …" : "Feltöltés...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})", "Actions" : "Műveletek", @@ -75,6 +75,9 @@ "Favorite" : "Kedvenc", "New folder" : "Új mappa", "Upload file" : "Fájl feltöltés", + "Not favorited" : "Nincs a kedvencek között", + "Remove from favorites" : "Eltávolítás a kedvencekből", + "Add to favorites" : "Hozzáadás a kedvencekhez", "An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket", "Added to favorites" : "Hozzáadva a kedvencekhez", "Removed from favorites" : "Eltávolítva a kedvencekből", diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js index 589a246dfee..65256f1548f 100644 --- a/apps/files/l10n/is.js +++ b/apps/files/l10n/is.js @@ -16,6 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ekki nægilegt laust pláss, þú ert að senda inn {size1} en einungis {size2} eru eftir", "Target folder \"{dir}\" does not exist any more" : "Markmappan \"{dir}\" er ekki lengur til", "Not enough free space" : "Ekki nægilegt pláss", + "Uploading …" : "Sendi inn …", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} af {totalSize} ({bitrate})", "Actions" : "Aðgerðir", @@ -76,6 +77,9 @@ OC.L10N.register( "Favorite" : "Eftirlæti", "New folder" : "Ný mappa", "Upload file" : "Senda inn skrá", + "Not favorited" : "Ekki í eftirlætum", + "Remove from favorites" : "Fjarlægja úr eftirlætum", + "Add to favorites" : "Bæta í eftirlæti", "An error occurred while trying to update the tags" : "Villa kom upp við að reyna að uppfæra merkin", "Added to favorites" : "Bætt í eftirlæti", "Removed from favorites" : "Fjarlægt úr eftirlætum", @@ -122,6 +126,7 @@ OC.L10N.register( "Show hidden files" : "Sýna faldar skrár", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Notaðu þetta vistfang til að <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">nálgast skrárnar þínar með WebDAV</a>", + "Cancel upload" : "Hætta við innsendingu", "No files in here" : "Engar skrár hér", "Upload some content or sync with your devices!" : "Sendu inn eitthvað efni eða samstilltu við tækin þín!", "No entries found in this folder" : "Engar skrár fundust í þessari möppu", diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json index b5f9b542b78..29b8d7eb79a 100644 --- a/apps/files/l10n/is.json +++ b/apps/files/l10n/is.json @@ -14,6 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ekki nægilegt laust pláss, þú ert að senda inn {size1} en einungis {size2} eru eftir", "Target folder \"{dir}\" does not exist any more" : "Markmappan \"{dir}\" er ekki lengur til", "Not enough free space" : "Ekki nægilegt pláss", + "Uploading …" : "Sendi inn …", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} af {totalSize} ({bitrate})", "Actions" : "Aðgerðir", @@ -74,6 +75,9 @@ "Favorite" : "Eftirlæti", "New folder" : "Ný mappa", "Upload file" : "Senda inn skrá", + "Not favorited" : "Ekki í eftirlætum", + "Remove from favorites" : "Fjarlægja úr eftirlætum", + "Add to favorites" : "Bæta í eftirlæti", "An error occurred while trying to update the tags" : "Villa kom upp við að reyna að uppfæra merkin", "Added to favorites" : "Bætt í eftirlæti", "Removed from favorites" : "Fjarlægt úr eftirlætum", @@ -120,6 +124,7 @@ "Show hidden files" : "Sýna faldar skrár", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Notaðu þetta vistfang til að <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">nálgast skrárnar þínar með WebDAV</a>", + "Cancel upload" : "Hætta við innsendingu", "No files in here" : "Engar skrár hér", "Upload some content or sync with your devices!" : "Sendu inn eitthvað efni eða samstilltu við tækin þín!", "No entries found in this folder" : "Engar skrár fundust í þessari möppu", diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js index 4428fe2b94b..8b92a250be1 100644 --- a/apps/files/l10n/it.js +++ b/apps/files/l10n/it.js @@ -16,7 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Spazio insufficiente, stai caricando {size1}, ma è rimasto solo {size2}", "Target folder \"{dir}\" does not exist any more" : "La cartella di destinazione \"{dir}\" non esiste più", "Not enough free space" : "Spazio libero insufficiente", - "Uploading…" : "Caricamento in corso...", + "Uploading …" : "Caricamento in corso...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} di {totalSize} ({bitrate})", "Actions" : "Azioni", @@ -77,6 +77,9 @@ OC.L10N.register( "Favorite" : "Preferito", "New folder" : "Nuova cartella", "Upload file" : "Carica file", + "Not favorited" : "Non preferito", + "Remove from favorites" : "Rimuovi dai preferiti", + "Add to favorites" : "Aggiungi ai preferiti", "An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette", "Added to favorites" : "Aggiunto ai preferiti", "Removed from favorites" : "Rimosso dai preferiti", diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json index d944a4715d5..53d0f106fa5 100644 --- a/apps/files/l10n/it.json +++ b/apps/files/l10n/it.json @@ -14,7 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Spazio insufficiente, stai caricando {size1}, ma è rimasto solo {size2}", "Target folder \"{dir}\" does not exist any more" : "La cartella di destinazione \"{dir}\" non esiste più", "Not enough free space" : "Spazio libero insufficiente", - "Uploading…" : "Caricamento in corso...", + "Uploading …" : "Caricamento in corso...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} di {totalSize} ({bitrate})", "Actions" : "Azioni", @@ -75,6 +75,9 @@ "Favorite" : "Preferito", "New folder" : "Nuova cartella", "Upload file" : "Carica file", + "Not favorited" : "Non preferito", + "Remove from favorites" : "Rimuovi dai preferiti", + "Add to favorites" : "Aggiungi ai preferiti", "An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette", "Added to favorites" : "Aggiunto ai preferiti", "Removed from favorites" : "Rimosso dai preferiti", diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js index d6296852870..d37c9e00df4 100644 --- a/apps/files/l10n/nb.js +++ b/apps/files/l10n/nb.js @@ -76,6 +76,9 @@ OC.L10N.register( "Favorite" : "Gjør til favoritt", "New folder" : "Ny mappe", "Upload file" : "Last opp fil", + "Not favorited" : "Ikke i favoritter", + "Remove from favorites" : "Fjern fra favoritter", + "Add to favorites" : "Legg til i favoritter", "An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av merkelappene", "Added to favorites" : "Lagt til i favoritter", "Removed from favorites" : "Fjernet fra favoritter", diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json index 16c6b5dc804..dc1937bd0f5 100644 --- a/apps/files/l10n/nb.json +++ b/apps/files/l10n/nb.json @@ -74,6 +74,9 @@ "Favorite" : "Gjør til favoritt", "New folder" : "Ny mappe", "Upload file" : "Last opp fil", + "Not favorited" : "Ikke i favoritter", + "Remove from favorites" : "Fjern fra favoritter", + "Add to favorites" : "Legg til i favoritter", "An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av merkelappene", "Added to favorites" : "Lagt til i favoritter", "Removed from favorites" : "Fjernet fra favoritter", diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js index 8d3566bbc6c..5461b88999a 100644 --- a/apps/files/l10n/nl.js +++ b/apps/files/l10n/nl.js @@ -16,6 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Niet genoeg vrije ruimte. Je uploadt {size1}, maar er is slechts {size2} beschikbaar", "Target folder \"{dir}\" does not exist any more" : "Doelmap \"{dir}\" bestaat niet meer", "Not enough free space" : "Onvoldoende vrije ruimte", + "Uploading …" : "Uploaden …", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})", "Actions" : "Acties", @@ -76,6 +77,9 @@ OC.L10N.register( "Favorite" : "Favoriet", "New folder" : "Nieuwe map", "Upload file" : "Bestand uploaden", + "Not favorited" : "Niet in favorieten", + "Remove from favorites" : "Verwijder van favorieten", + "Add to favorites" : "Aan favorieten toevoegen", "An error occurred while trying to update the tags" : "Er trad een fout op bij jouw poging om de markeringen bij te werken", "Added to favorites" : "Toevoegen aan favorieten", "Removed from favorites" : "Verwijderen uit favorieten", diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json index f63991de8ff..bf02491b393 100644 --- a/apps/files/l10n/nl.json +++ b/apps/files/l10n/nl.json @@ -14,6 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Niet genoeg vrije ruimte. Je uploadt {size1}, maar er is slechts {size2} beschikbaar", "Target folder \"{dir}\" does not exist any more" : "Doelmap \"{dir}\" bestaat niet meer", "Not enough free space" : "Onvoldoende vrije ruimte", + "Uploading …" : "Uploaden …", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})", "Actions" : "Acties", @@ -74,6 +75,9 @@ "Favorite" : "Favoriet", "New folder" : "Nieuwe map", "Upload file" : "Bestand uploaden", + "Not favorited" : "Niet in favorieten", + "Remove from favorites" : "Verwijder van favorieten", + "Add to favorites" : "Aan favorieten toevoegen", "An error occurred while trying to update the tags" : "Er trad een fout op bij jouw poging om de markeringen bij te werken", "Added to favorites" : "Toevoegen aan favorieten", "Removed from favorites" : "Verwijderen uit favorieten", diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js index f32b71380eb..9d298be0e2a 100644 --- a/apps/files/l10n/pl.js +++ b/apps/files/l10n/pl.js @@ -16,7 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Brak wolnej przestrzeni, przesyłasz {size1} a pozostało tylko {size2}", "Target folder \"{dir}\" does not exist any more" : "Folder docelowy \"{dir}\" już nie istnieje", "Not enough free space" : "Za mało wolnego miejsca", - "Uploading…" : "Wysyłanie...", + "Uploading …" : "Wysyłanie...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})", "Actions" : "Akcje", @@ -77,6 +77,9 @@ OC.L10N.register( "Favorite" : "Ulubione", "New folder" : "Nowy folder", "Upload file" : "Wyślij plik", + "Not favorited" : "Wyłączone z ulubionych", + "Remove from favorites" : "Usuń z ulubionych", + "Add to favorites" : "Dodaj do ulubionych", "An error occurred while trying to update the tags" : "Wystąpił błąd podczas aktualizacji tagów", "Added to favorites" : "Dodano do ulubionych", "Removed from favorites" : "Usunięto z ulubionych", diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json index b8c1b5e60e2..38986e0cd27 100644 --- a/apps/files/l10n/pl.json +++ b/apps/files/l10n/pl.json @@ -14,7 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Brak wolnej przestrzeni, przesyłasz {size1} a pozostało tylko {size2}", "Target folder \"{dir}\" does not exist any more" : "Folder docelowy \"{dir}\" już nie istnieje", "Not enough free space" : "Za mało wolnego miejsca", - "Uploading…" : "Wysyłanie...", + "Uploading …" : "Wysyłanie...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})", "Actions" : "Akcje", @@ -75,6 +75,9 @@ "Favorite" : "Ulubione", "New folder" : "Nowy folder", "Upload file" : "Wyślij plik", + "Not favorited" : "Wyłączone z ulubionych", + "Remove from favorites" : "Usuń z ulubionych", + "Add to favorites" : "Dodaj do ulubionych", "An error occurred while trying to update the tags" : "Wystąpił błąd podczas aktualizacji tagów", "Added to favorites" : "Dodano do ulubionych", "Removed from favorites" : "Usunięto z ulubionych", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index 895b7531de6..ea38f68d6b0 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -16,7 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Não há espaço suficiente, você está enviando {size1} mas resta apenas {size2}", "Target folder \"{dir}\" does not exist any more" : "Pasta de destino \"{dir}\" não existe mais", "Not enough free space" : "Espaço livre insuficiente", - "Uploading…" : "Enviando...", + "Uploading …" : "Enviando...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Actions" : "Ações", @@ -77,6 +77,9 @@ OC.L10N.register( "Favorite" : "Favorito", "New folder" : "Nova pasta", "Upload file" : "Enviar arquivo", + "Not favorited" : "Sem favoritos", + "Remove from favorites" : "Excluir dos favoritos", + "Add to favorites" : "Adicionar aos favoritos", "An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas", "Added to favorites" : "Adicionado aos favoritos", "Removed from favorites" : "Excluído dos favoritos", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 856c49ba26b..26fafd4c5d8 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -14,7 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Não há espaço suficiente, você está enviando {size1} mas resta apenas {size2}", "Target folder \"{dir}\" does not exist any more" : "Pasta de destino \"{dir}\" não existe mais", "Not enough free space" : "Espaço livre insuficiente", - "Uploading…" : "Enviando...", + "Uploading …" : "Enviando...", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Actions" : "Ações", @@ -75,6 +75,9 @@ "Favorite" : "Favorito", "New folder" : "Nova pasta", "Upload file" : "Enviar arquivo", + "Not favorited" : "Sem favoritos", + "Remove from favorites" : "Excluir dos favoritos", + "Add to favorites" : "Adicionar aos favoritos", "An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas", "Added to favorites" : "Adicionado aos favoritos", "Removed from favorites" : "Excluído dos favoritos", diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js index b7cdb58006f..b56de035d15 100644 --- a/apps/files/l10n/ru.js +++ b/apps/files/l10n/ru.js @@ -12,10 +12,11 @@ OC.L10N.register( "Favorites" : "Избранные", "Could not create folder \"{dir}\"" : "Невозможно создать каталог «{dir}»", "Upload cancelled." : "Выгрузка отменена.", - "Unable to upload {filename} as it is a directory or has 0 bytes" : "Невозможно выгрузить «{filename}», так как это либо каталог, либо файл нулевого размера", - "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостаточно свободного места, вы выгружаете {size1}, но только {size2} доступно", + "Unable to upload {filename} as it is a directory or has 0 bytes" : "Невозможно загрузить «{filename}», так как это либо каталог, либо файл нулевого размера", + "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостаточно свободного места, вы загружаете {size1}, но только {size2} доступно", "Target folder \"{dir}\" does not exist any more" : "Целевой каталог «{dir}» более не существует", "Not enough free space" : "Недостаточно свободного места", + "Uploading …" : "Загрузка...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} из {totalSize} ({bitrate})", "Actions" : "Действия", @@ -57,7 +58,7 @@ OC.L10N.register( "{dirs} and {files}" : "{dirs} и {files}", "_including %n hidden_::_including %n hidden_" : ["включая %n скрытый","включая %n скрытых","включая %n скрытых","включая %n скрытых"], "You don’t have permission to upload or create files here" : "У вас нет разрешений на создание или загрузку файлов в эту папку.", - "_Uploading %n file_::_Uploading %n files_" : ["Выгружа%nется файл","Выгружаются %n файла","Выгружаются %n файлов","Выгружаются %n файлов"], + "_Uploading %n file_::_Uploading %n files_" : ["Выгружа%nется файл","Выгружаются %n файла","Выгружаются %n файлов","Загружаются %n файлов"], "New" : "Новый", "\"{name}\" is an invalid file name." : "«{name}» — недопустимое имя файла.", "File name cannot be empty." : "Имя файла не может быть пустым.", @@ -75,7 +76,10 @@ OC.L10N.register( "Favorited" : "Избранное", "Favorite" : "Добавить в избранное", "New folder" : "Новый каталог", - "Upload file" : "Выгрузить файл", + "Upload file" : "Зарузить файл", + "Not favorited" : "Не избранное", + "Remove from favorites" : "Удалить из избранных", + "Add to favorites" : "Добавить в избранное", "An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка", "Added to favorites" : "Добавлено в избранное", "Removed from favorites" : "Удалено из избранного", @@ -109,9 +113,9 @@ OC.L10N.register( "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ограничить уведомления о создании и изменении ваших <strong>избранных файлов</strong> <em>(отображать только в приложении события)</em>", "A file or folder has been <strong>restored</strong>" : "Файл или каталог был <strong>восстановлен</strong>", "Unlimited" : "Неограничено", - "Upload (max. %s)" : "Выгрузка (максимум %s)", + "Upload (max. %s)" : "Загрузка (максимум %s)", "File handling" : "Управление файлами", - "Maximum upload size" : "Максимальный размер выгружаемого файла", + "Maximum upload size" : "Максимальный размер загружаемого файла", "max. possible: " : "макс. возможно: ", "Save" : "Сохранить", "With PHP-FPM it might take 5 minutes for changes to be applied." : "В режиме PHP-FPM применение изменений может занять до 5 минут.", @@ -122,7 +126,7 @@ OC.L10N.register( "Show hidden files" : "Показывать скрытые файлы", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Используйте этот адрес <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">для доступа по WebDAV</a>", - "Cancel upload" : "Отменить выгрузку", + "Cancel upload" : "Отменить загрузку", "No files in here" : "Здесь нет файлов", "Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!", "No entries found in this folder" : "В этом каталоге ничего не найдено", @@ -138,7 +142,7 @@ OC.L10N.register( "Deleted files" : "Корзина", "Text file" : "Текстовый файл", "New text file.txt" : "Новый текстовый файл.txt", - "Uploading..." : "Выгрузка...", + "Uploading..." : "Загрузка...", "..." : "...", "_{hours}:{minutes}:{seconds} hour left_::_{hours}:{minutes}:{seconds} hours left_" : ["Остался {hours}:{minutes}:{seconds} час","Осталось {hours}:{minutes}:{seconds} часа","Осталось {hours}:{minutes}:{seconds} часов","Осталось {hours}:{minutes}:{seconds} часов"], "{hours}:{minutes}h" : "{hours}:{minutes}ч", @@ -148,7 +152,7 @@ OC.L10N.register( "{seconds}s" : "{seconds}с", "Any moment now..." : "В любой момент...", "Soon..." : "Скоро...", - "File upload is in progress. Leaving the page now will cancel the upload." : "Выполняется передача файла. Покинув страницу, вы прервёте выгрузку.", + "File upload is in progress. Leaving the page now will cancel the upload." : "Выполняется передача файла. Покинув страницу, вы прервёте загрузку.", "Move" : "Перенести", "Copy local link" : "Скопировать локальную ссылку", "Folder" : "Каталог", diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json index 93e916bead8..53c74b50f6f 100644 --- a/apps/files/l10n/ru.json +++ b/apps/files/l10n/ru.json @@ -10,10 +10,11 @@ "Favorites" : "Избранные", "Could not create folder \"{dir}\"" : "Невозможно создать каталог «{dir}»", "Upload cancelled." : "Выгрузка отменена.", - "Unable to upload {filename} as it is a directory or has 0 bytes" : "Невозможно выгрузить «{filename}», так как это либо каталог, либо файл нулевого размера", - "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостаточно свободного места, вы выгружаете {size1}, но только {size2} доступно", + "Unable to upload {filename} as it is a directory or has 0 bytes" : "Невозможно загрузить «{filename}», так как это либо каталог, либо файл нулевого размера", + "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостаточно свободного места, вы загружаете {size1}, но только {size2} доступно", "Target folder \"{dir}\" does not exist any more" : "Целевой каталог «{dir}» более не существует", "Not enough free space" : "Недостаточно свободного места", + "Uploading …" : "Загрузка...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} из {totalSize} ({bitrate})", "Actions" : "Действия", @@ -55,7 +56,7 @@ "{dirs} and {files}" : "{dirs} и {files}", "_including %n hidden_::_including %n hidden_" : ["включая %n скрытый","включая %n скрытых","включая %n скрытых","включая %n скрытых"], "You don’t have permission to upload or create files here" : "У вас нет разрешений на создание или загрузку файлов в эту папку.", - "_Uploading %n file_::_Uploading %n files_" : ["Выгружа%nется файл","Выгружаются %n файла","Выгружаются %n файлов","Выгружаются %n файлов"], + "_Uploading %n file_::_Uploading %n files_" : ["Выгружа%nется файл","Выгружаются %n файла","Выгружаются %n файлов","Загружаются %n файлов"], "New" : "Новый", "\"{name}\" is an invalid file name." : "«{name}» — недопустимое имя файла.", "File name cannot be empty." : "Имя файла не может быть пустым.", @@ -73,7 +74,10 @@ "Favorited" : "Избранное", "Favorite" : "Добавить в избранное", "New folder" : "Новый каталог", - "Upload file" : "Выгрузить файл", + "Upload file" : "Зарузить файл", + "Not favorited" : "Не избранное", + "Remove from favorites" : "Удалить из избранных", + "Add to favorites" : "Добавить в избранное", "An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка", "Added to favorites" : "Добавлено в избранное", "Removed from favorites" : "Удалено из избранного", @@ -107,9 +111,9 @@ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ограничить уведомления о создании и изменении ваших <strong>избранных файлов</strong> <em>(отображать только в приложении события)</em>", "A file or folder has been <strong>restored</strong>" : "Файл или каталог был <strong>восстановлен</strong>", "Unlimited" : "Неограничено", - "Upload (max. %s)" : "Выгрузка (максимум %s)", + "Upload (max. %s)" : "Загрузка (максимум %s)", "File handling" : "Управление файлами", - "Maximum upload size" : "Максимальный размер выгружаемого файла", + "Maximum upload size" : "Максимальный размер загружаемого файла", "max. possible: " : "макс. возможно: ", "Save" : "Сохранить", "With PHP-FPM it might take 5 minutes for changes to be applied." : "В режиме PHP-FPM применение изменений может занять до 5 минут.", @@ -120,7 +124,7 @@ "Show hidden files" : "Показывать скрытые файлы", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Используйте этот адрес <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">для доступа по WebDAV</a>", - "Cancel upload" : "Отменить выгрузку", + "Cancel upload" : "Отменить загрузку", "No files in here" : "Здесь нет файлов", "Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!", "No entries found in this folder" : "В этом каталоге ничего не найдено", @@ -136,7 +140,7 @@ "Deleted files" : "Корзина", "Text file" : "Текстовый файл", "New text file.txt" : "Новый текстовый файл.txt", - "Uploading..." : "Выгрузка...", + "Uploading..." : "Загрузка...", "..." : "...", "_{hours}:{minutes}:{seconds} hour left_::_{hours}:{minutes}:{seconds} hours left_" : ["Остался {hours}:{minutes}:{seconds} час","Осталось {hours}:{minutes}:{seconds} часа","Осталось {hours}:{minutes}:{seconds} часов","Осталось {hours}:{minutes}:{seconds} часов"], "{hours}:{minutes}h" : "{hours}:{minutes}ч", @@ -146,7 +150,7 @@ "{seconds}s" : "{seconds}с", "Any moment now..." : "В любой момент...", "Soon..." : "Скоро...", - "File upload is in progress. Leaving the page now will cancel the upload." : "Выполняется передача файла. Покинув страницу, вы прервёте выгрузку.", + "File upload is in progress. Leaving the page now will cancel the upload." : "Выполняется передача файла. Покинув страницу, вы прервёте загрузку.", "Move" : "Перенести", "Copy local link" : "Скопировать локальную ссылку", "Folder" : "Каталог", diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js index 26735d04a69..b103172e819 100644 --- a/apps/files/l10n/sk.js +++ b/apps/files/l10n/sk.js @@ -16,6 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nie je dostatok voľného miesta, chcete nahrať {size1} ale k dispozíciji je len {size2}", "Target folder \"{dir}\" does not exist any more" : "Cieľový priečinok \"{dir}\" už neexistuje", "Not enough free space" : "Nedostatok voľného miesta", + "Uploading …" : "Nahrávanie...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})", "Actions" : "Akcie", @@ -76,6 +77,9 @@ OC.L10N.register( "Favorite" : "Obľúbené", "New folder" : "Nový priečinok", "Upload file" : "Nahrať súbor", + "Not favorited" : "Nie je obľúbený", + "Remove from favorites" : "Odstrániť z obľúbených", + "Add to favorites" : "Pridať do obľúbených", "An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe", "Added to favorites" : "Pridané do obľúbených", "Removed from favorites" : "Odstránené z obľúbených", diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json index 61c551c0d29..5947e0b1dca 100644 --- a/apps/files/l10n/sk.json +++ b/apps/files/l10n/sk.json @@ -14,6 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nie je dostatok voľného miesta, chcete nahrať {size1} ale k dispozíciji je len {size2}", "Target folder \"{dir}\" does not exist any more" : "Cieľový priečinok \"{dir}\" už neexistuje", "Not enough free space" : "Nedostatok voľného miesta", + "Uploading …" : "Nahrávanie...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})", "Actions" : "Akcie", @@ -74,6 +75,9 @@ "Favorite" : "Obľúbené", "New folder" : "Nový priečinok", "Upload file" : "Nahrať súbor", + "Not favorited" : "Nie je obľúbený", + "Remove from favorites" : "Odstrániť z obľúbených", + "Add to favorites" : "Pridať do obľúbených", "An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe", "Added to favorites" : "Pridané do obľúbených", "Removed from favorites" : "Odstránené z obľúbených", diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js index 4486d578ca5..62d72d56d45 100644 --- a/apps/files/l10n/sr.js +++ b/apps/files/l10n/sr.js @@ -16,6 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Нема простора. Отпремате {size1} али само {size2} је преостало", "Target folder \"{dir}\" does not exist any more" : "Одредишна фасцикла \"{dir}\" више не постоји", "Not enough free space" : "Нема довољно слободног места", + "Uploading …" : "Отпремам…", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} од {totalSize} ({bitrate})", "Actions" : "Радње", @@ -76,6 +77,9 @@ OC.L10N.register( "Favorite" : "Омиљени", "New folder" : "Нова фасцикла", "Upload file" : "Отпреми фајл", + "Not favorited" : "Није омиљено", + "Remove from favorites" : "Избаци из омиљених", + "Add to favorites" : "Додај у омиљене", "An error occurred while trying to update the tags" : "Дошло је до грешке при покушају ажурирања ознака", "Added to favorites" : "Додато у омиљено", "Removed from favorites" : "Избачено из омиљених", diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json index 5be42d5c2f6..190e3045496 100644 --- a/apps/files/l10n/sr.json +++ b/apps/files/l10n/sr.json @@ -14,6 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Нема простора. Отпремате {size1} али само {size2} је преостало", "Target folder \"{dir}\" does not exist any more" : "Одредишна фасцикла \"{dir}\" више не постоји", "Not enough free space" : "Нема довољно слободног места", + "Uploading …" : "Отпремам…", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} од {totalSize} ({bitrate})", "Actions" : "Радње", @@ -74,6 +75,9 @@ "Favorite" : "Омиљени", "New folder" : "Нова фасцикла", "Upload file" : "Отпреми фајл", + "Not favorited" : "Није омиљено", + "Remove from favorites" : "Избаци из омиљених", + "Add to favorites" : "Додај у омиљене", "An error occurred while trying to update the tags" : "Дошло је до грешке при покушају ажурирања ознака", "Added to favorites" : "Додато у омиљено", "Removed from favorites" : "Избачено из омиљених", diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js index 824b57a262c..43515856b89 100644 --- a/apps/files/l10n/sv.js +++ b/apps/files/l10n/sv.js @@ -16,7 +16,6 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Inte tillräckligt med ledigt utrymme, du laddar upp {size1} men endast {size2} finns kvar.", "Target folder \"{dir}\" does not exist any more" : "Målmapp \"{dir}\" existerar inte mer", "Not enough free space" : "Inte tillräckligt med ledigt utrymme", - "Uploading…" : "Laddar upp...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} av {totalSize} ({bitrate})", "Actions" : "Åtgärder", diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json index ea98755e7ff..a3cc329f71b 100644 --- a/apps/files/l10n/sv.json +++ b/apps/files/l10n/sv.json @@ -14,7 +14,6 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Inte tillräckligt med ledigt utrymme, du laddar upp {size1} men endast {size2} finns kvar.", "Target folder \"{dir}\" does not exist any more" : "Målmapp \"{dir}\" existerar inte mer", "Not enough free space" : "Inte tillräckligt med ledigt utrymme", - "Uploading…" : "Laddar upp...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} av {totalSize} ({bitrate})", "Actions" : "Åtgärder", diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js index 299eeff6ebe..b7116cbbd8b 100644 --- a/apps/files/l10n/tr.js +++ b/apps/files/l10n/tr.js @@ -16,6 +16,7 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "Yeterli boş alan yok. Yüklemek istediğiniz boyut {size1} ancak yalnız {size2} boş alan var", "Target folder \"{dir}\" does not exist any more" : "\"{dir}\" hedef klasörü artık yok", "Not enough free space" : "Yeterli boş alan yok", + "Uploading …" : "Yükleniyor…", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})", "Actions" : "İşlemler", @@ -76,6 +77,9 @@ OC.L10N.register( "Favorite" : "Sık kullanılanlara ekle", "New folder" : "Yeni klasör", "Upload file" : "Dosya yükle", + "Not favorited" : "Sık kullanılanlarda değil", + "Remove from favorites" : "Sık kullanılanlardan kaldır", + "Add to favorites" : "Sık kullanılanlara ekle", "An error occurred while trying to update the tags" : "Etiketler güncellenirken bir sorun çıktı", "Added to favorites" : "Sık kullanılanlara eklendi", "Removed from favorites" : "Sık kullanılanlardan çıkarıldı", diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json index 8978dcc724b..efd609da063 100644 --- a/apps/files/l10n/tr.json +++ b/apps/files/l10n/tr.json @@ -14,6 +14,7 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Yeterli boş alan yok. Yüklemek istediğiniz boyut {size1} ancak yalnız {size2} boş alan var", "Target folder \"{dir}\" does not exist any more" : "\"{dir}\" hedef klasörü artık yok", "Not enough free space" : "Yeterli boş alan yok", + "Uploading …" : "Yükleniyor…", "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})", "Actions" : "İşlemler", @@ -74,6 +75,9 @@ "Favorite" : "Sık kullanılanlara ekle", "New folder" : "Yeni klasör", "Upload file" : "Dosya yükle", + "Not favorited" : "Sık kullanılanlarda değil", + "Remove from favorites" : "Sık kullanılanlardan kaldır", + "Add to favorites" : "Sık kullanılanlara ekle", "An error occurred while trying to update the tags" : "Etiketler güncellenirken bir sorun çıktı", "Added to favorites" : "Sık kullanılanlara eklendi", "Removed from favorites" : "Sık kullanılanlardan çıkarıldı", diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js index 8e67c6c26a3..d6051f1307f 100644 --- a/apps/files/l10n/zh_TW.js +++ b/apps/files/l10n/zh_TW.js @@ -16,11 +16,13 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "可用空間不足,你正要上傳 {size1} 可是只剩下 {size2}", "Target folder \"{dir}\" does not exist any more" : "資料夾 \"{dir}\" 不存在", "Not enough free space" : "空間不足", + "Uploading …" : "上傳中...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize} ({bitrate})", "Actions" : "動作", "Download" : "下載", "Rename" : "重新命名", + "Move or copy" : "移動或複製", "Target folder" : "目標資料夾", "Delete" : "刪除", "Disconnect storage" : "斷開儲存空間連接", @@ -35,6 +37,8 @@ OC.L10N.register( "This directory is unavailable, please check the logs or contact the administrator" : "這個目錄無法存取,請檢查伺服器記錄檔或聯絡管理員", "Could not move \"{file}\", target exists" : "無法移動 \"{file}\",目標已經存在", "Could not move \"{file}\"" : "無法移動 \"{file}\"", + "Could not copy \"{file}\", target exists" : "無法複製\"{file}\",目標已存在", + "Could not copy \"{file}\"" : "無法複製\"{file}\"", "{newName} already exists" : "{newName} 已經存在", "Could not rename \"{fileName}\", it does not exist any more" : "無法命名檔案 \"{fileName}\",因為此檔案已經不存在", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱 \"{targetName}\" 在這資料夾 \"{dir}\" 已經被使用。請重新選擇不同的名稱", @@ -71,9 +75,12 @@ OC.L10N.register( "Favorite" : "我的最愛", "New folder" : "新資料夾", "Upload file" : "上傳檔案", + "Not favorited" : "未加入至最愛", + "Remove from favorites" : "從最愛中移除", + "Add to favorites" : "添加到最愛", "An error occurred while trying to update the tags" : "更新標籤時發生錯誤", - "Added to favorites" : "添加到最愛", - "Removed from favorites" : "從最愛移除", + "Added to favorites" : "已添加到最愛", + "Removed from favorites" : "已從最愛中移除", "You added {file} to your favorites" : "你已添加 {file} 至最愛", "You removed {file} from your favorites" : "你已移除 {file} 從最愛", "File changes" : "檔案更動", @@ -117,6 +124,7 @@ OC.L10N.register( "Show hidden files" : "顯示隱藏檔", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "使用這個位址來<a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">使用 WebDAV 存取檔案</a>", + "Cancel upload" : "取消上傳", "No files in here" : "沒有任何檔案", "Upload some content or sync with your devices!" : "在您的裝置中同步或上傳一些內容", "No entries found in this folder" : "在此資料夾中沒有任何項目", diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json index 3bbfaf8a083..45cfeb15b6f 100644 --- a/apps/files/l10n/zh_TW.json +++ b/apps/files/l10n/zh_TW.json @@ -14,11 +14,13 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "可用空間不足,你正要上傳 {size1} 可是只剩下 {size2}", "Target folder \"{dir}\" does not exist any more" : "資料夾 \"{dir}\" 不存在", "Not enough free space" : "空間不足", + "Uploading …" : "上傳中...", "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize} ({bitrate})", "Actions" : "動作", "Download" : "下載", "Rename" : "重新命名", + "Move or copy" : "移動或複製", "Target folder" : "目標資料夾", "Delete" : "刪除", "Disconnect storage" : "斷開儲存空間連接", @@ -33,6 +35,8 @@ "This directory is unavailable, please check the logs or contact the administrator" : "這個目錄無法存取,請檢查伺服器記錄檔或聯絡管理員", "Could not move \"{file}\", target exists" : "無法移動 \"{file}\",目標已經存在", "Could not move \"{file}\"" : "無法移動 \"{file}\"", + "Could not copy \"{file}\", target exists" : "無法複製\"{file}\",目標已存在", + "Could not copy \"{file}\"" : "無法複製\"{file}\"", "{newName} already exists" : "{newName} 已經存在", "Could not rename \"{fileName}\", it does not exist any more" : "無法命名檔案 \"{fileName}\",因為此檔案已經不存在", "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱 \"{targetName}\" 在這資料夾 \"{dir}\" 已經被使用。請重新選擇不同的名稱", @@ -69,9 +73,12 @@ "Favorite" : "我的最愛", "New folder" : "新資料夾", "Upload file" : "上傳檔案", + "Not favorited" : "未加入至最愛", + "Remove from favorites" : "從最愛中移除", + "Add to favorites" : "添加到最愛", "An error occurred while trying to update the tags" : "更新標籤時發生錯誤", - "Added to favorites" : "添加到最愛", - "Removed from favorites" : "從最愛移除", + "Added to favorites" : "已添加到最愛", + "Removed from favorites" : "已從最愛中移除", "You added {file} to your favorites" : "你已添加 {file} 至最愛", "You removed {file} from your favorites" : "你已移除 {file} 從最愛", "File changes" : "檔案更動", @@ -115,6 +122,7 @@ "Show hidden files" : "顯示隱藏檔", "WebDAV" : "WebDAV", "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "使用這個位址來<a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">使用 WebDAV 存取檔案</a>", + "Cancel upload" : "取消上傳", "No files in here" : "沒有任何檔案", "Upload some content or sync with your devices!" : "在您的裝置中同步或上傳一些內容", "No entries found in this folder" : "在此資料夾中沒有任何項目", diff --git a/apps/files/tests/Command/DeleteOrphanedFilesTest.php b/apps/files/tests/Command/DeleteOrphanedFilesTest.php index 32c8d628a80..8c48b9feca7 100644 --- a/apps/files/tests/Command/DeleteOrphanedFilesTest.php +++ b/apps/files/tests/Command/DeleteOrphanedFilesTest.php @@ -27,6 +27,8 @@ namespace OCA\Files\Tests\Command; use OC\Files\View; use OCA\Files\Command\DeleteOrphanedFiles; use OCP\Files\StorageNotAvailableException; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; use Test\TestCase; /** @@ -87,10 +89,10 @@ class DeleteOrphanedFilesTest extends TestCase { * Test clearing orphaned files */ public function testClearFiles() { - $input = $this->getMockBuilder('Symfony\Component\Console\Input\InputInterface') + $input = $this->getMockBuilder(InputInterface::class) ->disableOriginalConstructor() ->getMock(); - $output = $this->getMockBuilder('Symfony\Component\Console\Output\OutputInterface') + $output = $this->getMockBuilder(OutputInterface::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index 1f8d38c59ce..8bb188e3602 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -1627,7 +1627,9 @@ describe('OCA.Files.FileList tests', function() { var setDirSpy = sinon.spy(fileList.breadcrumb, 'setDirectory'); fileList.changeDirectory('/anothersubdir'); deferredList.resolve(200, [testRoot].concat(testFiles)); - expect(fileList.breadcrumb.setDirectory.calledOnce).toEqual(true); + // twice because setDirectory gets called by _setCurrentDir which + // gets called directly by changeDirectory and via reload() + expect(fileList.breadcrumb.setDirectory.calledTwice).toEqual(true); expect(fileList.breadcrumb.setDirectory.calledWith('/anothersubdir')).toEqual(true); setDirSpy.restore(); getFolderContentsStub.restore(); diff --git a/apps/files_external/l10n/is.js b/apps/files_external/l10n/is.js index 025e61daa7b..d0dcfd219d5 100644 --- a/apps/files_external/l10n/is.js +++ b/apps/files_external/l10n/is.js @@ -14,6 +14,8 @@ OC.L10N.register( "(group)" : "(hópur)", "Compatibility with Mac NFD encoding (slow)" : "Samhæfni við Mac NFD kóðun (hægvirkt)", "Admin defined" : "Skilgreindur kerfisstjóri", + "Are you sure you want to delete this external storage" : "Ertu viss um að þú viljir eyða þessari ytri geymslu?", + "Delete storage?" : "Eyða geymslu?", "Saved" : "Vistað", "Saving..." : "Er að vista ...", "Save" : "Vista", diff --git a/apps/files_external/l10n/is.json b/apps/files_external/l10n/is.json index 410a33ded3e..fa7957f3c23 100644 --- a/apps/files_external/l10n/is.json +++ b/apps/files_external/l10n/is.json @@ -12,6 +12,8 @@ "(group)" : "(hópur)", "Compatibility with Mac NFD encoding (slow)" : "Samhæfni við Mac NFD kóðun (hægvirkt)", "Admin defined" : "Skilgreindur kerfisstjóri", + "Are you sure you want to delete this external storage" : "Ertu viss um að þú viljir eyða þessari ytri geymslu?", + "Delete storage?" : "Eyða geymslu?", "Saved" : "Vistað", "Saving..." : "Er að vista ...", "Save" : "Vista", diff --git a/apps/files_external/l10n/sk.js b/apps/files_external/l10n/sk.js index a288544ce45..a37d4961abf 100644 --- a/apps/files_external/l10n/sk.js +++ b/apps/files_external/l10n/sk.js @@ -1,28 +1,40 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your app key and secret are correct." : "Sťahovanie tokenov požiadavky zlyhalo. Overte prosím, či je aplikačný kľúč a heslo (secret) zadané správne.", - "Fetching access tokens failed. Verify that your app key and secret are correct." : "Sťahovanie prístupových tokenov zlyhalo. Overte prosím, či je aplikačný kľúč a heslo (secret) zadané správne.", - "Please provide a valid app key and secret." : "Zadajte prosím platný aplikačný kľúč a heslo (secret).", - "Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s", - "Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s", - "External storage" : "Externé úložisko", - "Dropbox App Configuration" : "Nastavenie Dropbox aplikácie", - "Google Drive App Configuration" : "Nastavenie Google Drive aplikácie", + "External storages" : "Externé úložiská", "Personal" : "Osobné", "System" : "Systém", "Grant access" : "Povoliť prístup", "Error configuring OAuth1" : "Chyba konfigurovania OAuth1", + "Please provide a valid app key and secret." : "Zadajte prosím platný aplikačný kľúč a heslo (secret).", "Error configuring OAuth2" : "Chyba konfigurovania OAuth2", "Generate keys" : "Vytvoriť kľúče", "Error generating key pair" : "Chyba pri vytváraní dvojice kľúčov", "All users. Type to select user or group." : "Všetci používatelia. Začnite písať pre výber používateľa alebo skupinu.", "(group)" : "(skupina)", + "Compatibility with Mac NFD encoding (slow)" : "Kompatibilita s Mac NFD enkódovaním (pomalé)", + "Admin defined" : "Nastavené správcom", + "Are you sure you want to delete this external storage" : "Naozaj chcete zmazať toto externé úložisko?", + "Delete storage?" : "Zmazať externé úložisko?", "Saved" : "Uložené", + "Saving..." : "Ukladá sa...", "Save" : "Uložiť", + "Empty response from the server" : "Prázdna odpoveď zo servera", + "Couldn't access. Please log out and in again to activate this mount point" : "Nedá sa pripojiť. Pre aktiváciu tohto prípojného bodu sa prosím odhláste a znovu prihláste", + "Couldn't get the information from the remote server: {code} {type}" : "Zo vzdialeného servera sa nedá získať informácia: {code} {type}", + "Couldn't get the list of external mount points: {type}" : "Nedá sa získať zoznam externých prípojných bodov: {type}", + "There was an error with message: " : "Nastala chyba s týmto hlásením:", + "External mount error" : "Chyba externého úložiska", + "external-storage" : "external-storage", + "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Nedá sa získať zoznam sieťových úložísk systému Windows: prázdna odpoveď zo servera", + "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Niektoré z nastavených externých úložísk nie sú pripojené. Pre viac informácií kliknite na červenú šípku(y)", + "Please enter the credentials for the {mount} mount" : "Zadajte prosím prihlasovacie údaje k prípojnému bodu {mount}", "Username" : "Používateľské meno", "Password" : "Heslo", - "Storage with id \"%i\" not found" : "Úložisko s ID \"%i\" sa nenašlo", + "Credentials saved" : "Prihlasovacie údaje uložené", + "Credentials saving failed" : "Uloženie prihlasovacích údajov zlyhalo", + "Credentials required" : "Vyžadované prihlasovacie údaje", + "Storage with ID \"%d\" not found" : "Úložisko s ID \"%d\" sa nenašlo", "Invalid backend or authentication mechanism class" : "Neplatný backend, prípadne trieda mechanizmu autentifikácie", "Invalid mount point" : "Chybný prípojný bod", "Objectstore forbidden" : "Objectstore je zakáazaný", @@ -31,6 +43,9 @@ OC.L10N.register( "Not permitted to use authentication mechanism \"%s\"" : "Nie je povolené použiť autentifikačný mechanizmus \"%s\"", "Unsatisfied backend parameters" : "Nedostatočné parametre backendu", "Unsatisfied authentication mechanism parameters" : "Nedostatočné parametre autentifikačného mechanizmu", + "Insufficient data: %s" : "Nedostatočné dáta: %s", + "%s" : "%s", + "Storage with ID \"%d\" is not user editable" : "Úložisko s ID \"%d\" nie je upraviteľné používateľmi", "Access key" : "Prístupový kľúč", "Secret key" : "Tajný kľúč", "Builtin" : "Vstavaný", @@ -47,7 +62,10 @@ OC.L10N.register( "Rackspace" : "Rackspace", "API key" : "API kľúč", "Global credentials" : "Globálne oprávnenia", + "Log-in credentials, save in database" : "Prihlasovacie údaje, ukladať v databáze", "Username and password" : "Meno a heslo", + "Log-in credentials, save in session" : "Prihlasovacie údaje, ukladať do relácie", + "User entered, store in database" : "Používateľ zadaný, uložiť v databáze", "RSA public key" : "RSA verejný kľúč", "Public key" : "Verejný kľúč", "Amazon S3" : "Amazon S3", @@ -61,15 +79,15 @@ OC.L10N.register( "URL" : "URL", "Remote subfolder" : "Vzdialený podpriečinok", "Secure https://" : "Zabezpečené https://", - "Dropbox" : "Dropbox", "FTP" : "FTP", "Host" : "Hostiteľ", "Secure ftps://" : "Zabezpečené ftps://", - "Google Drive" : "Google Drive", "Local" : "Lokálny", "Location" : "Umiestnenie", + "Nextcloud" : "Nextcloud", "SFTP" : "SFTP", "Root" : "Root", + "SFTP with secret key login" : "SFTP prihlásenie s tajným kľúčom", "SMB / CIFS" : "SMB / CIFS", "Share" : "Sprístupniť", "Domain" : "Doména", @@ -78,6 +96,9 @@ OC.L10N.register( "OpenStack Object Storage" : "OpenStack Object Storage", "Service name" : "Názov služby", "Request timeout (seconds)" : "Timeout požiadavky (s)", + "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nie je povolená alebo nainštalovaná cURL podpora v PHP. Pripojenie %s nie je možné. Požiadajte svojho správcu, aby doplnil podporu.", + "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nie je povolená alebo nainštalovaná FTP podpora v PHP. Pripojenie %s nie je možné. Požiadajte svojho správcu, aby doplnil podporu.", + "\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nie je nainštalované \"%s\". Pripojenie %s nie je možné. Požiadajte svojho správcu o inštaláciu.", "No external storage configured" : "Žiadne externé úložisko nie je nakonfigurované", "You can add external storages in the personal settings" : "Externé úložisko je možné pridať v osobných nastaveniach", "Name" : "Názov", @@ -85,16 +106,29 @@ OC.L10N.register( "Scope" : "Rozsah", "Enable encryption" : "Povoliť šifrovanie", "Enable previews" : "Povoliť náhľady", + "Enable sharing" : "Povoliť sprístupňovanie", "Check for changes" : "Zisťovať zmeny", "Never" : "Nikdy", "Once every direct access" : "S každým priamym prístupom", "Folder name" : "Názov priečinka", + "External storage" : "Externé úložisko", "Authentication" : "Autentifikácia", "Configuration" : "Nastavenia", "Available for" : "K dispozícii pre", "Add storage" : "Pridať úložisko", "Advanced settings" : "Rozšírené nastavenia", "Delete" : "Zmazať", - "Allow users to mount the following external storage" : "Povoliť používateľom pripojiť tieto externé úložiská" + "Allow users to mount external storage" : "Povoliť používateľom pripojiť externé úložiská", + "Allow users to mount the following external storage" : "Povoliť používateľom pripojiť tieto externé úložiská", + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Sťahovanie tokenov požiadavky zlyhalo. Overte prosím, či je aplikačný kľúč a heslo (secret) zadané správne.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Sťahovanie prístupových tokenov zlyhalo. Overte prosím, či je aplikačný kľúč a heslo (secret) zadané správne.", + "Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s", + "Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s", + "Dropbox App Configuration" : "Nastavenie Dropbox aplikácie", + "Google Drive App Configuration" : "Nastavenie Google Drive aplikácie", + "Storage with id \"%i\" not found" : "Úložisko s ID \"%i\" sa nenašlo", + "Storage with id \"%i\" is not user editable" : "Úložisko s id \"%i\" používatelia nemôžu upravovať", + "Dropbox" : "Dropbox", + "Google Drive" : "Google Drive" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files_external/l10n/sk.json b/apps/files_external/l10n/sk.json index 24592565e8e..c1b71b21204 100644 --- a/apps/files_external/l10n/sk.json +++ b/apps/files_external/l10n/sk.json @@ -1,26 +1,38 @@ { "translations": { - "Fetching request tokens failed. Verify that your app key and secret are correct." : "Sťahovanie tokenov požiadavky zlyhalo. Overte prosím, či je aplikačný kľúč a heslo (secret) zadané správne.", - "Fetching access tokens failed. Verify that your app key and secret are correct." : "Sťahovanie prístupových tokenov zlyhalo. Overte prosím, či je aplikačný kľúč a heslo (secret) zadané správne.", - "Please provide a valid app key and secret." : "Zadajte prosím platný aplikačný kľúč a heslo (secret).", - "Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s", - "Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s", - "External storage" : "Externé úložisko", - "Dropbox App Configuration" : "Nastavenie Dropbox aplikácie", - "Google Drive App Configuration" : "Nastavenie Google Drive aplikácie", + "External storages" : "Externé úložiská", "Personal" : "Osobné", "System" : "Systém", "Grant access" : "Povoliť prístup", "Error configuring OAuth1" : "Chyba konfigurovania OAuth1", + "Please provide a valid app key and secret." : "Zadajte prosím platný aplikačný kľúč a heslo (secret).", "Error configuring OAuth2" : "Chyba konfigurovania OAuth2", "Generate keys" : "Vytvoriť kľúče", "Error generating key pair" : "Chyba pri vytváraní dvojice kľúčov", "All users. Type to select user or group." : "Všetci používatelia. Začnite písať pre výber používateľa alebo skupinu.", "(group)" : "(skupina)", + "Compatibility with Mac NFD encoding (slow)" : "Kompatibilita s Mac NFD enkódovaním (pomalé)", + "Admin defined" : "Nastavené správcom", + "Are you sure you want to delete this external storage" : "Naozaj chcete zmazať toto externé úložisko?", + "Delete storage?" : "Zmazať externé úložisko?", "Saved" : "Uložené", + "Saving..." : "Ukladá sa...", "Save" : "Uložiť", + "Empty response from the server" : "Prázdna odpoveď zo servera", + "Couldn't access. Please log out and in again to activate this mount point" : "Nedá sa pripojiť. Pre aktiváciu tohto prípojného bodu sa prosím odhláste a znovu prihláste", + "Couldn't get the information from the remote server: {code} {type}" : "Zo vzdialeného servera sa nedá získať informácia: {code} {type}", + "Couldn't get the list of external mount points: {type}" : "Nedá sa získať zoznam externých prípojných bodov: {type}", + "There was an error with message: " : "Nastala chyba s týmto hlásením:", + "External mount error" : "Chyba externého úložiska", + "external-storage" : "external-storage", + "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Nedá sa získať zoznam sieťových úložísk systému Windows: prázdna odpoveď zo servera", + "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Niektoré z nastavených externých úložísk nie sú pripojené. Pre viac informácií kliknite na červenú šípku(y)", + "Please enter the credentials for the {mount} mount" : "Zadajte prosím prihlasovacie údaje k prípojnému bodu {mount}", "Username" : "Používateľské meno", "Password" : "Heslo", - "Storage with id \"%i\" not found" : "Úložisko s ID \"%i\" sa nenašlo", + "Credentials saved" : "Prihlasovacie údaje uložené", + "Credentials saving failed" : "Uloženie prihlasovacích údajov zlyhalo", + "Credentials required" : "Vyžadované prihlasovacie údaje", + "Storage with ID \"%d\" not found" : "Úložisko s ID \"%d\" sa nenašlo", "Invalid backend or authentication mechanism class" : "Neplatný backend, prípadne trieda mechanizmu autentifikácie", "Invalid mount point" : "Chybný prípojný bod", "Objectstore forbidden" : "Objectstore je zakáazaný", @@ -29,6 +41,9 @@ "Not permitted to use authentication mechanism \"%s\"" : "Nie je povolené použiť autentifikačný mechanizmus \"%s\"", "Unsatisfied backend parameters" : "Nedostatočné parametre backendu", "Unsatisfied authentication mechanism parameters" : "Nedostatočné parametre autentifikačného mechanizmu", + "Insufficient data: %s" : "Nedostatočné dáta: %s", + "%s" : "%s", + "Storage with ID \"%d\" is not user editable" : "Úložisko s ID \"%d\" nie je upraviteľné používateľmi", "Access key" : "Prístupový kľúč", "Secret key" : "Tajný kľúč", "Builtin" : "Vstavaný", @@ -45,7 +60,10 @@ "Rackspace" : "Rackspace", "API key" : "API kľúč", "Global credentials" : "Globálne oprávnenia", + "Log-in credentials, save in database" : "Prihlasovacie údaje, ukladať v databáze", "Username and password" : "Meno a heslo", + "Log-in credentials, save in session" : "Prihlasovacie údaje, ukladať do relácie", + "User entered, store in database" : "Používateľ zadaný, uložiť v databáze", "RSA public key" : "RSA verejný kľúč", "Public key" : "Verejný kľúč", "Amazon S3" : "Amazon S3", @@ -59,15 +77,15 @@ "URL" : "URL", "Remote subfolder" : "Vzdialený podpriečinok", "Secure https://" : "Zabezpečené https://", - "Dropbox" : "Dropbox", "FTP" : "FTP", "Host" : "Hostiteľ", "Secure ftps://" : "Zabezpečené ftps://", - "Google Drive" : "Google Drive", "Local" : "Lokálny", "Location" : "Umiestnenie", + "Nextcloud" : "Nextcloud", "SFTP" : "SFTP", "Root" : "Root", + "SFTP with secret key login" : "SFTP prihlásenie s tajným kľúčom", "SMB / CIFS" : "SMB / CIFS", "Share" : "Sprístupniť", "Domain" : "Doména", @@ -76,6 +94,9 @@ "OpenStack Object Storage" : "OpenStack Object Storage", "Service name" : "Názov služby", "Request timeout (seconds)" : "Timeout požiadavky (s)", + "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nie je povolená alebo nainštalovaná cURL podpora v PHP. Pripojenie %s nie je možné. Požiadajte svojho správcu, aby doplnil podporu.", + "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nie je povolená alebo nainštalovaná FTP podpora v PHP. Pripojenie %s nie je možné. Požiadajte svojho správcu, aby doplnil podporu.", + "\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nie je nainštalované \"%s\". Pripojenie %s nie je možné. Požiadajte svojho správcu o inštaláciu.", "No external storage configured" : "Žiadne externé úložisko nie je nakonfigurované", "You can add external storages in the personal settings" : "Externé úložisko je možné pridať v osobných nastaveniach", "Name" : "Názov", @@ -83,16 +104,29 @@ "Scope" : "Rozsah", "Enable encryption" : "Povoliť šifrovanie", "Enable previews" : "Povoliť náhľady", + "Enable sharing" : "Povoliť sprístupňovanie", "Check for changes" : "Zisťovať zmeny", "Never" : "Nikdy", "Once every direct access" : "S každým priamym prístupom", "Folder name" : "Názov priečinka", + "External storage" : "Externé úložisko", "Authentication" : "Autentifikácia", "Configuration" : "Nastavenia", "Available for" : "K dispozícii pre", "Add storage" : "Pridať úložisko", "Advanced settings" : "Rozšírené nastavenia", "Delete" : "Zmazať", - "Allow users to mount the following external storage" : "Povoliť používateľom pripojiť tieto externé úložiská" + "Allow users to mount external storage" : "Povoliť používateľom pripojiť externé úložiská", + "Allow users to mount the following external storage" : "Povoliť používateľom pripojiť tieto externé úložiská", + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Sťahovanie tokenov požiadavky zlyhalo. Overte prosím, či je aplikačný kľúč a heslo (secret) zadané správne.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Sťahovanie prístupových tokenov zlyhalo. Overte prosím, či je aplikačný kľúč a heslo (secret) zadané správne.", + "Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s", + "Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s", + "Dropbox App Configuration" : "Nastavenie Dropbox aplikácie", + "Google Drive App Configuration" : "Nastavenie Google Drive aplikácie", + "Storage with id \"%i\" not found" : "Úložisko s ID \"%i\" sa nenašlo", + "Storage with id \"%i\" is not user editable" : "Úložisko s id \"%i\" používatelia nemôžu upravovať", + "Dropbox" : "Dropbox", + "Google Drive" : "Google Drive" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_sharing/css/sharetabview.scss b/apps/files_sharing/css/sharetabview.scss index cb2bb463352..880226e7d14 100644 --- a/apps/files_sharing/css/sharetabview.scss +++ b/apps/files_sharing/css/sharetabview.scss @@ -41,17 +41,6 @@ padding: 18px 0 18px 36px; } -/* fix clickable area because in the share tab popover the label is inside the actual menu item*/ -#shareWithList .popovermenu .shareOption { - padding-right: 0 !important; -} -/* fix clickable area because in the share tab popover the label is inside the actual menu item*/ -.shareTabView .popovermenu label { - width: 100%; - display: inline-block; - padding: 0 10px 0 0 !important; -} - .shareTabView label { white-space: nowrap; } @@ -100,11 +89,6 @@ opacity: .5; } -#shareWithList .shareOption.menuitem > label:before { - /* Checkboxes positionning */ - margin: 0 12px !important; -} - #shareWithList .unshare { padding: 1px 6px; vertical-align: text-bottom; diff --git a/apps/files_sharing/l10n/ast.js b/apps/files_sharing/l10n/ast.js index d6a92367d91..9c32cdfa94d 100644 --- a/apps/files_sharing/l10n/ast.js +++ b/apps/files_sharing/l10n/ast.js @@ -64,7 +64,6 @@ OC.L10N.register( "Could not lock path" : "Nun pudo bloquiase'l camín", "Can't change permissions for public share links" : "Nun puen camudase los permisos pa los enllaces de comparticiones públiques", "Cannot increase permissions" : "Nun puen aumentase los permisos", - "%s is publicly shared" : "%s compartióse públicamente", "Share API is disabled" : "L'API de compartición ta desactivada", "This share is password-protected" : "Esta compartición tien contraseña protexida", "The password is wrong. Try again." : "La contraseña ye incorreuta. Inténtalo otra vegada.", @@ -84,6 +83,7 @@ OC.L10N.register( "Direct link" : "Enllaz direutu", "Select or drop files" : "Esbilla o suelta ficheros", "Uploading files…" : "Xubiendo ficheros...", - "Uploaded files:" : "Ficheros xubíos:" + "Uploaded files:" : "Ficheros xubíos:", + "%s is publicly shared" : "%s compartióse públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/ast.json b/apps/files_sharing/l10n/ast.json index a9f7d7393e0..33f1bba4280 100644 --- a/apps/files_sharing/l10n/ast.json +++ b/apps/files_sharing/l10n/ast.json @@ -62,7 +62,6 @@ "Could not lock path" : "Nun pudo bloquiase'l camín", "Can't change permissions for public share links" : "Nun puen camudase los permisos pa los enllaces de comparticiones públiques", "Cannot increase permissions" : "Nun puen aumentase los permisos", - "%s is publicly shared" : "%s compartióse públicamente", "Share API is disabled" : "L'API de compartición ta desactivada", "This share is password-protected" : "Esta compartición tien contraseña protexida", "The password is wrong. Try again." : "La contraseña ye incorreuta. Inténtalo otra vegada.", @@ -82,6 +81,7 @@ "Direct link" : "Enllaz direutu", "Select or drop files" : "Esbilla o suelta ficheros", "Uploading files…" : "Xubiendo ficheros...", - "Uploaded files:" : "Ficheros xubíos:" + "Uploaded files:" : "Ficheros xubíos:", + "%s is publicly shared" : "%s compartióse públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ca.js b/apps/files_sharing/l10n/ca.js index 63d9a8399d9..f354f90ad9a 100644 --- a/apps/files_sharing/l10n/ca.js +++ b/apps/files_sharing/l10n/ca.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "S'ha donat un paràmetre d'actualització incorrecte o no", "Can't change permissions for public share links" : "No es poden canviar els permisos per als enllaços compartits públics", "Cannot increase permissions" : "No es poden augmentar els permisos", - "%s is publicly shared" : "%s es publica públicament", "Share API is disabled" : "L'API compartida està desactivada", "This share is password-protected" : "Aquest compartit està protegit amb contrasenya", "The password is wrong. Try again." : "la contrasenya és incorrecta. Intenteu-ho de nou.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Carrega fitxers a %s", "Select or drop files" : "Selecciona o deixa anar els fitxers", "Uploading files…" : "Pujant arxius...", - "Uploaded files:" : "Arxius pujats:" + "Uploaded files:" : "Arxius pujats:", + "%s is publicly shared" : "%s es publica públicament" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/ca.json b/apps/files_sharing/l10n/ca.json index e04d1c72556..3a644180f21 100644 --- a/apps/files_sharing/l10n/ca.json +++ b/apps/files_sharing/l10n/ca.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "S'ha donat un paràmetre d'actualització incorrecte o no", "Can't change permissions for public share links" : "No es poden canviar els permisos per als enllaços compartits públics", "Cannot increase permissions" : "No es poden augmentar els permisos", - "%s is publicly shared" : "%s es publica públicament", "Share API is disabled" : "L'API compartida està desactivada", "This share is password-protected" : "Aquest compartit està protegit amb contrasenya", "The password is wrong. Try again." : "la contrasenya és incorrecta. Intenteu-ho de nou.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Carrega fitxers a %s", "Select or drop files" : "Selecciona o deixa anar els fitxers", "Uploading files…" : "Pujant arxius...", - "Uploaded files:" : "Arxius pujats:" + "Uploaded files:" : "Arxius pujats:", + "%s is publicly shared" : "%s es publica públicament" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/cs.js b/apps/files_sharing/l10n/cs.js index 208db495aaa..db559d20574 100644 --- a/apps/files_sharing/l10n/cs.js +++ b/apps/files_sharing/l10n/cs.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Chyba nebo žádná aktualizace dle zadaných parametrů", "Can't change permissions for public share links" : "Nelze změnit oprávnění pro veřejně sdílené odkazy", "Cannot increase permissions" : "Nelze navýšit oprávnění", - "%s is publicly shared" : "%s je veřejně sdílen", "Share API is disabled" : "Sdílení API je zakázané", "This share is password-protected" : "Toto sdílení je chráněno heslem", "The password is wrong. Try again." : "Heslo není správné. Zkuste to znovu.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Nahrát soubory do %s", "Select or drop files" : "Vyberte nebo přetáhněte soubory", "Uploading files…" : "Probíhá nahrávání souborů...", - "Uploaded files:" : "Nahrané soubory:" + "Uploaded files:" : "Nahrané soubory:", + "%s is publicly shared" : "%s je veřejně sdílen" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files_sharing/l10n/cs.json b/apps/files_sharing/l10n/cs.json index 939e9c671c1..35d14212588 100644 --- a/apps/files_sharing/l10n/cs.json +++ b/apps/files_sharing/l10n/cs.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Chyba nebo žádná aktualizace dle zadaných parametrů", "Can't change permissions for public share links" : "Nelze změnit oprávnění pro veřejně sdílené odkazy", "Cannot increase permissions" : "Nelze navýšit oprávnění", - "%s is publicly shared" : "%s je veřejně sdílen", "Share API is disabled" : "Sdílení API je zakázané", "This share is password-protected" : "Toto sdílení je chráněno heslem", "The password is wrong. Try again." : "Heslo není správné. Zkuste to znovu.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Nahrát soubory do %s", "Select or drop files" : "Vyberte nebo přetáhněte soubory", "Uploading files…" : "Probíhá nahrávání souborů...", - "Uploaded files:" : "Nahrané soubory:" + "Uploaded files:" : "Nahrané soubory:", + "%s is publicly shared" : "%s je veřejně sdílen" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js index 2765042613a..c59b3118945 100644 --- a/apps/files_sharing/l10n/de.js +++ b/apps/files_sharing/l10n/de.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Es wurde ein falscher oder kein Updateparameter angegeben", "Can't change permissions for public share links" : "Berechtigungen für öffentlich freigegebene Links konnten nicht geändert werden", "Cannot increase permissions" : "Berechtigungen können nicht erhöht werden", - "%s is publicly shared" : "%s ist öffentlich geteilt", "Share API is disabled" : "Teilen-API ist deaktivert", "This share is password-protected" : "Freigabe ist passwortgeschützt", "The password is wrong. Try again." : "Das Passwort ist falsch. Versuche es erneut.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Dateien für %s hochladen", "Select or drop files" : "Dateien auswählen oder hierher ziehen", "Uploading files…" : "Dateien werden hochgeladen…", - "Uploaded files:" : "Hochgeladene Dateien: " + "Uploaded files:" : "Hochgeladene Dateien: ", + "%s is publicly shared" : "%s ist öffentlich geteilt" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json index ec497346c84..3f8e5fc21e0 100644 --- a/apps/files_sharing/l10n/de.json +++ b/apps/files_sharing/l10n/de.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Es wurde ein falscher oder kein Updateparameter angegeben", "Can't change permissions for public share links" : "Berechtigungen für öffentlich freigegebene Links konnten nicht geändert werden", "Cannot increase permissions" : "Berechtigungen können nicht erhöht werden", - "%s is publicly shared" : "%s ist öffentlich geteilt", "Share API is disabled" : "Teilen-API ist deaktivert", "This share is password-protected" : "Freigabe ist passwortgeschützt", "The password is wrong. Try again." : "Das Passwort ist falsch. Versuche es erneut.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Dateien für %s hochladen", "Select or drop files" : "Dateien auswählen oder hierher ziehen", "Uploading files…" : "Dateien werden hochgeladen…", - "Uploaded files:" : "Hochgeladene Dateien: " + "Uploaded files:" : "Hochgeladene Dateien: ", + "%s is publicly shared" : "%s ist öffentlich geteilt" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js index cadb95af32d..ef049bef8ee 100644 --- a/apps/files_sharing/l10n/de_DE.js +++ b/apps/files_sharing/l10n/de_DE.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Es wurde ein falscher oder kein Updateparameter angegeben", "Can't change permissions for public share links" : "Berechtigungen für öffentlich freigegebene Links konnten nicht geändert werden", "Cannot increase permissions" : "Berechtigungen können nicht erhöht werden", - "%s is publicly shared" : "%s ist öffentlich geteilt", "Share API is disabled" : "Teilen-API ist deaktivert", "This share is password-protected" : "Freigabe ist passwortgeschützt", "The password is wrong. Try again." : "Das Passwort ist falsch. Bitte versuchen Sie es erneut.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Dateien für %s hochladen", "Select or drop files" : "Dateien auswählen oder hierher ziehen", "Uploading files…" : "Dateien werden hochgeladen…", - "Uploaded files:" : "Hochgeladene Dateien: " + "Uploaded files:" : "Hochgeladene Dateien: ", + "%s is publicly shared" : "%s ist öffentlich geteilt" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json index 8fdd54aad47..65439f0497a 100644 --- a/apps/files_sharing/l10n/de_DE.json +++ b/apps/files_sharing/l10n/de_DE.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Es wurde ein falscher oder kein Updateparameter angegeben", "Can't change permissions for public share links" : "Berechtigungen für öffentlich freigegebene Links konnten nicht geändert werden", "Cannot increase permissions" : "Berechtigungen können nicht erhöht werden", - "%s is publicly shared" : "%s ist öffentlich geteilt", "Share API is disabled" : "Teilen-API ist deaktivert", "This share is password-protected" : "Freigabe ist passwortgeschützt", "The password is wrong. Try again." : "Das Passwort ist falsch. Bitte versuchen Sie es erneut.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Dateien für %s hochladen", "Select or drop files" : "Dateien auswählen oder hierher ziehen", "Uploading files…" : "Dateien werden hochgeladen…", - "Uploaded files:" : "Hochgeladene Dateien: " + "Uploaded files:" : "Hochgeladene Dateien: ", + "%s is publicly shared" : "%s ist öffentlich geteilt" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js index 0ab18490214..6cd4f74b962 100644 --- a/apps/files_sharing/l10n/el.js +++ b/apps/files_sharing/l10n/el.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Λάθος ή καμία παράμετρος αναβάθμισης δεν δόθηκε", "Can't change permissions for public share links" : "Δεν μπορούμε να αλλάξουμε δικαιώματα για δημόσια διαμοιρασμένους συνδέσμους", "Cannot increase permissions" : "Δεν μπορούμε να αυξήσουμε δικαιώματα", - "%s is publicly shared" : "%s είναι δημόσια διαμοιρασμένο", "Share API is disabled" : "API διαμοιρασμού είναι απενεργοποιημένο", "This share is password-protected" : "Αυτός ο κοινόχρηστος φάκελος προστατεύεται με κωδικό", "The password is wrong. Try again." : "Εσφαλμένος κωδικός πρόσβασης. Προσπαθήστε ξανά.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Αποστολή αρχείων σε %s", "Select or drop files" : "Επιλέξτε ή ρίξτε αρχεία", "Uploading files…" : "Αποστολή αρχείων ...", - "Uploaded files:" : "Αποστολή αρχείων:" + "Uploaded files:" : "Αποστολή αρχείων:", + "%s is publicly shared" : "%s είναι δημόσια διαμοιρασμένο" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json index 4d3594a4193..07dfb485c8f 100644 --- a/apps/files_sharing/l10n/el.json +++ b/apps/files_sharing/l10n/el.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Λάθος ή καμία παράμετρος αναβάθμισης δεν δόθηκε", "Can't change permissions for public share links" : "Δεν μπορούμε να αλλάξουμε δικαιώματα για δημόσια διαμοιρασμένους συνδέσμους", "Cannot increase permissions" : "Δεν μπορούμε να αυξήσουμε δικαιώματα", - "%s is publicly shared" : "%s είναι δημόσια διαμοιρασμένο", "Share API is disabled" : "API διαμοιρασμού είναι απενεργοποιημένο", "This share is password-protected" : "Αυτός ο κοινόχρηστος φάκελος προστατεύεται με κωδικό", "The password is wrong. Try again." : "Εσφαλμένος κωδικός πρόσβασης. Προσπαθήστε ξανά.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Αποστολή αρχείων σε %s", "Select or drop files" : "Επιλέξτε ή ρίξτε αρχεία", "Uploading files…" : "Αποστολή αρχείων ...", - "Uploaded files:" : "Αποστολή αρχείων:" + "Uploaded files:" : "Αποστολή αρχείων:", + "%s is publicly shared" : "%s είναι δημόσια διαμοιρασμένο" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js index 2ff10000c58..16a2fa23b7e 100644 --- a/apps/files_sharing/l10n/en_GB.js +++ b/apps/files_sharing/l10n/en_GB.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Wrong or no update parameter given", "Can't change permissions for public share links" : "Can't change permissions for public share links", "Cannot increase permissions" : "Cannot increase permissions", - "%s is publicly shared" : "%s is publicly shared", "Share API is disabled" : "Share API is disabled", "This share is password-protected" : "This share is password-protected", "The password is wrong. Try again." : "The password is wrong. Try again.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Upload files to %s", "Select or drop files" : "Select or drop files", "Uploading files…" : "Uploading files…", - "Uploaded files:" : "Uploaded files:" + "Uploaded files:" : "Uploaded files:", + "%s is publicly shared" : "%s is publicly shared" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json index b2cf0284eb8..57848f3408c 100644 --- a/apps/files_sharing/l10n/en_GB.json +++ b/apps/files_sharing/l10n/en_GB.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Wrong or no update parameter given", "Can't change permissions for public share links" : "Can't change permissions for public share links", "Cannot increase permissions" : "Cannot increase permissions", - "%s is publicly shared" : "%s is publicly shared", "Share API is disabled" : "Share API is disabled", "This share is password-protected" : "This share is password-protected", "The password is wrong. Try again." : "The password is wrong. Try again.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Upload files to %s", "Select or drop files" : "Select or drop files", "Uploading files…" : "Uploading files…", - "Uploaded files:" : "Uploaded files:" + "Uploaded files:" : "Uploaded files:", + "%s is publicly shared" : "%s is publicly shared" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js index eebcbc5803b..1de76a820c2 100644 --- a/apps/files_sharing/l10n/es.js +++ b/apps/files_sharing/l10n/es.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "No se ha suministrado un parametro correcto", "Can't change permissions for public share links" : "No se pueden cambiar los permisos para los enlaces de recursos compartidos públicos", "Cannot increase permissions" : "No es posible aumentar permisos", - "%s is publicly shared" : "%s ha sido compartido", "Share API is disabled" : "El API de compartir está deshabilitado", "This share is password-protected" : "Este elemento compartido está protegido por contraseña", "The password is wrong. Try again." : "La contraseña introducida es errónea. Inténtelo de nuevo.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Subir archivos a %s", "Select or drop files" : "Seleccione o arrastre y suelte archivos", "Uploading files…" : "Subiendo archivos...", - "Uploaded files:" : "Archivos subidos:" + "Uploaded files:" : "Archivos subidos:", + "%s is publicly shared" : "%s ha sido compartido" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json index cb0baf25c65..8fd5b11667d 100644 --- a/apps/files_sharing/l10n/es.json +++ b/apps/files_sharing/l10n/es.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "No se ha suministrado un parametro correcto", "Can't change permissions for public share links" : "No se pueden cambiar los permisos para los enlaces de recursos compartidos públicos", "Cannot increase permissions" : "No es posible aumentar permisos", - "%s is publicly shared" : "%s ha sido compartido", "Share API is disabled" : "El API de compartir está deshabilitado", "This share is password-protected" : "Este elemento compartido está protegido por contraseña", "The password is wrong. Try again." : "La contraseña introducida es errónea. Inténtelo de nuevo.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Subir archivos a %s", "Select or drop files" : "Seleccione o arrastre y suelte archivos", "Uploading files…" : "Subiendo archivos...", - "Uploaded files:" : "Archivos subidos:" + "Uploaded files:" : "Archivos subidos:", + "%s is publicly shared" : "%s ha sido compartido" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_AR.js b/apps/files_sharing/l10n/es_AR.js index 5ad72ce67cb..c3f1303bf77 100644 --- a/apps/files_sharing/l10n/es_AR.js +++ b/apps/files_sharing/l10n/es_AR.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "El parametro de actualización esta erróneo o faltante", "Can't change permissions for public share links" : "No es posible cambiar los permisos para links públicos compartidas", "Cannot increase permissions" : "No es posible incrementar los permisos", - "%s is publicly shared" : "%s está compartido públicamente", "Share API is disabled" : "El API para compartir está deshabilitado", "This share is password-protected" : "Este elemento compartido esta protegido con contraseña", "The password is wrong. Try again." : "La contraseña es incorrecta. Favor de intentarlo de nuevo.", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Seleccione o suelte los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_AR.json b/apps/files_sharing/l10n/es_AR.json index a3d2a4f389b..92878566507 100644 --- a/apps/files_sharing/l10n/es_AR.json +++ b/apps/files_sharing/l10n/es_AR.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "El parametro de actualización esta erróneo o faltante", "Can't change permissions for public share links" : "No es posible cambiar los permisos para links públicos compartidas", "Cannot increase permissions" : "No es posible incrementar los permisos", - "%s is publicly shared" : "%s está compartido públicamente", "Share API is disabled" : "El API para compartir está deshabilitado", "This share is password-protected" : "Este elemento compartido esta protegido con contraseña", "The password is wrong. Try again." : "La contraseña es incorrecta. Favor de intentarlo de nuevo.", @@ -107,6 +106,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Seleccione o suelte los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_CO.js b/apps/files_sharing/l10n/es_CO.js index 19c5f21cb2b..ade55a2b2ed 100644 --- a/apps/files_sharing/l10n/es_CO.js +++ b/apps/files_sharing/l10n/es_CO.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta", "Can't change permissions for public share links" : "No es posible cambiar los permisos para ligas públicas compartidas", "Cannot increase permissions" : "No es posible incrementar los permisos", - "%s is publicly shared" : "%s está compartido públicamente", "Share API is disabled" : "El API para compartir está deshabilitado", "This share is password-protected" : "Este elemento compartido está protegido con contraseña", "The password is wrong. Try again." : "La contraseña es incorrecta. Por favor inténtalo de nuevo.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_CO.json b/apps/files_sharing/l10n/es_CO.json index db2aaef0063..1b467ad8b96 100644 --- a/apps/files_sharing/l10n/es_CO.json +++ b/apps/files_sharing/l10n/es_CO.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta", "Can't change permissions for public share links" : "No es posible cambiar los permisos para ligas públicas compartidas", "Cannot increase permissions" : "No es posible incrementar los permisos", - "%s is publicly shared" : "%s está compartido públicamente", "Share API is disabled" : "El API para compartir está deshabilitado", "This share is password-protected" : "Este elemento compartido está protegido con contraseña", "The password is wrong. Try again." : "La contraseña es incorrecta. Por favor inténtalo de nuevo.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/es_MX.js b/apps/files_sharing/l10n/es_MX.js index 19c5f21cb2b..ade55a2b2ed 100644 --- a/apps/files_sharing/l10n/es_MX.js +++ b/apps/files_sharing/l10n/es_MX.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta", "Can't change permissions for public share links" : "No es posible cambiar los permisos para ligas públicas compartidas", "Cannot increase permissions" : "No es posible incrementar los permisos", - "%s is publicly shared" : "%s está compartido públicamente", "Share API is disabled" : "El API para compartir está deshabilitado", "This share is password-protected" : "Este elemento compartido está protegido con contraseña", "The password is wrong. Try again." : "La contraseña es incorrecta. Por favor inténtalo de nuevo.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "%s is publicly shared" : "%s está compartido públicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_MX.json b/apps/files_sharing/l10n/es_MX.json index db2aaef0063..1b467ad8b96 100644 --- a/apps/files_sharing/l10n/es_MX.json +++ b/apps/files_sharing/l10n/es_MX.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "El parametro de actualización está erróneo o falta", "Can't change permissions for public share links" : "No es posible cambiar los permisos para ligas públicas compartidas", "Cannot increase permissions" : "No es posible incrementar los permisos", - "%s is publicly shared" : "%s está compartido públicamente", "Share API is disabled" : "El API para compartir está deshabilitado", "This share is password-protected" : "Este elemento compartido está protegido con contraseña", "The password is wrong. Try again." : "La contraseña es incorrecta. Por favor inténtalo de nuevo.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Cargar archivos a %s", "Select or drop files" : "Selecciona o suelta los archivos", "Uploading files…" : "Cargando archivos...", - "Uploaded files:" : "Archivos cargados:" + "Uploaded files:" : "Archivos cargados:", + "%s is publicly shared" : "%s está compartido públicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/fi.js b/apps/files_sharing/l10n/fi.js index 32b1f43b9b2..eeaf3eda179 100644 --- a/apps/files_sharing/l10n/fi.js +++ b/apps/files_sharing/l10n/fi.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Päivitettävä parametri puuttuu tai on väärin", "Can't change permissions for public share links" : "Julkisten jakolinkkien käyttöoikeuksia ei voi muuttaa", "Cannot increase permissions" : "Oikeuksien lisääminen ei onnistu", - "%s is publicly shared" : "%s on julkisesti jaettu", "Share API is disabled" : "Jakamisrajapinta on poistettu käytöstä", "This share is password-protected" : "Tämä jako on suojattu salasanalla", "The password is wrong. Try again." : "Väärä salasana. Yritä uudelleen.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Lähetä tiedostoja käyttäjälle %s", "Select or drop files" : "Valitse tai pudota tiedostoja", "Uploading files…" : "Lähetetään tiedostoja…", - "Uploaded files:" : "Lähetetyt tiedostot:" + "Uploaded files:" : "Lähetetyt tiedostot:", + "%s is publicly shared" : "%s on julkisesti jaettu" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/fi.json b/apps/files_sharing/l10n/fi.json index 71dc15dd740..4bae56c906b 100644 --- a/apps/files_sharing/l10n/fi.json +++ b/apps/files_sharing/l10n/fi.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Päivitettävä parametri puuttuu tai on väärin", "Can't change permissions for public share links" : "Julkisten jakolinkkien käyttöoikeuksia ei voi muuttaa", "Cannot increase permissions" : "Oikeuksien lisääminen ei onnistu", - "%s is publicly shared" : "%s on julkisesti jaettu", "Share API is disabled" : "Jakamisrajapinta on poistettu käytöstä", "This share is password-protected" : "Tämä jako on suojattu salasanalla", "The password is wrong. Try again." : "Väärä salasana. Yritä uudelleen.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Lähetä tiedostoja käyttäjälle %s", "Select or drop files" : "Valitse tai pudota tiedostoja", "Uploading files…" : "Lähetetään tiedostoja…", - "Uploaded files:" : "Lähetetyt tiedostot:" + "Uploaded files:" : "Lähetetyt tiedostot:", + "%s is publicly shared" : "%s on julkisesti jaettu" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js index c60c46de1a6..c1938ff96f6 100644 --- a/apps/files_sharing/l10n/fr.js +++ b/apps/files_sharing/l10n/fr.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Mauvais ou aucun paramètre donné ", "Can't change permissions for public share links" : "Impossible de changer les permissions pour les liens de partage public", "Cannot increase permissions" : "Impossible d'augmenter les permissions", - "%s is publicly shared" : "%s a été partagé publiquement", "Share API is disabled" : "l'API de partage est désactivée", "This share is password-protected" : "Ce partage est protégé par un mot de passe", "The password is wrong. Try again." : "Le mot de passe est incorrect. Veuillez réessayer.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Téléversement des fichiers vers %s", "Select or drop files" : "Sélectionner ou glisser-déposer vos fichiers", "Uploading files…" : "Téléversement des fichiers...", - "Uploaded files:" : "Fichiers téléversés :" + "Uploaded files:" : "Fichiers téléversés :", + "%s is publicly shared" : "%s a été partagé publiquement" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json index f53ba956c3c..49694dcb1ca 100644 --- a/apps/files_sharing/l10n/fr.json +++ b/apps/files_sharing/l10n/fr.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Mauvais ou aucun paramètre donné ", "Can't change permissions for public share links" : "Impossible de changer les permissions pour les liens de partage public", "Cannot increase permissions" : "Impossible d'augmenter les permissions", - "%s is publicly shared" : "%s a été partagé publiquement", "Share API is disabled" : "l'API de partage est désactivée", "This share is password-protected" : "Ce partage est protégé par un mot de passe", "The password is wrong. Try again." : "Le mot de passe est incorrect. Veuillez réessayer.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Téléversement des fichiers vers %s", "Select or drop files" : "Sélectionner ou glisser-déposer vos fichiers", "Uploading files…" : "Téléversement des fichiers...", - "Uploaded files:" : "Fichiers téléversés :" + "Uploaded files:" : "Fichiers téléversés :", + "%s is publicly shared" : "%s a été partagé publiquement" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/hu.js b/apps/files_sharing/l10n/hu.js index 7f3562e926e..687b83c04a0 100644 --- a/apps/files_sharing/l10n/hu.js +++ b/apps/files_sharing/l10n/hu.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Hibás vagy üres frissítési paraméter", "Can't change permissions for public share links" : "Nem lehet módosítani a nyilvános megosztási hivatkozások jogosultságait", "Cannot increase permissions" : "Nem lehet növelni az engedélyeket", - "%s is publicly shared" : "%s nyilvánosan megosztva", "Share API is disabled" : "Megosztás API letiltva", "This share is password-protected" : "Ez egy jelszóval védett megosztás", "The password is wrong. Try again." : "A megadott jelszó nem megfelelő. Próbálja újra!", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Fájlok felöltése ide: %s", "Select or drop files" : "Válassz ki vagy dobj ide fájlokat", "Uploading files…" : "Fájlok feltöltése...", - "Uploaded files:" : "Felöltött fájlok:" + "Uploaded files:" : "Felöltött fájlok:", + "%s is publicly shared" : "%s nyilvánosan megosztva" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/hu.json b/apps/files_sharing/l10n/hu.json index fd33448f39b..6ce460a4934 100644 --- a/apps/files_sharing/l10n/hu.json +++ b/apps/files_sharing/l10n/hu.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Hibás vagy üres frissítési paraméter", "Can't change permissions for public share links" : "Nem lehet módosítani a nyilvános megosztási hivatkozások jogosultságait", "Cannot increase permissions" : "Nem lehet növelni az engedélyeket", - "%s is publicly shared" : "%s nyilvánosan megosztva", "Share API is disabled" : "Megosztás API letiltva", "This share is password-protected" : "Ez egy jelszóval védett megosztás", "The password is wrong. Try again." : "A megadott jelszó nem megfelelő. Próbálja újra!", @@ -108,6 +107,7 @@ "Upload files to %s" : "Fájlok felöltése ide: %s", "Select or drop files" : "Válassz ki vagy dobj ide fájlokat", "Uploading files…" : "Fájlok feltöltése...", - "Uploaded files:" : "Felöltött fájlok:" + "Uploaded files:" : "Felöltött fájlok:", + "%s is publicly shared" : "%s nyilvánosan megosztva" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js index a3380250098..e13b2f7356b 100644 --- a/apps/files_sharing/l10n/is.js +++ b/apps/files_sharing/l10n/is.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Rangt eða ekkert uppfærsluviðfang gefið", "Can't change permissions for public share links" : "Ekki tókst að breyta aðgangsheimildum fyrir opinbera deilingartengla", "Cannot increase permissions" : "Get ekki aukið aðgangsheimildir", - "%s is publicly shared" : "%s er deilt opinberlega", "Share API is disabled" : "Deilingar-API er óvirkt", "This share is password-protected" : "Þessi sameign er varin með lykilorði", "The password is wrong. Try again." : "Lykilorðið er rangt. Reyndu aftur.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Senda inn skrár á %s", "Select or drop files" : "Veldu eða slepptu skrám", "Uploading files…" : "Sendi inn skrár…", - "Uploaded files:" : "Innsendar skrár:" + "Uploaded files:" : "Innsendar skrár:", + "%s is publicly shared" : "%s er deilt opinberlega" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json index ec2ceeb231e..38a5576209f 100644 --- a/apps/files_sharing/l10n/is.json +++ b/apps/files_sharing/l10n/is.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Rangt eða ekkert uppfærsluviðfang gefið", "Can't change permissions for public share links" : "Ekki tókst að breyta aðgangsheimildum fyrir opinbera deilingartengla", "Cannot increase permissions" : "Get ekki aukið aðgangsheimildir", - "%s is publicly shared" : "%s er deilt opinberlega", "Share API is disabled" : "Deilingar-API er óvirkt", "This share is password-protected" : "Þessi sameign er varin með lykilorði", "The password is wrong. Try again." : "Lykilorðið er rangt. Reyndu aftur.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Senda inn skrár á %s", "Select or drop files" : "Veldu eða slepptu skrám", "Uploading files…" : "Sendi inn skrár…", - "Uploaded files:" : "Innsendar skrár:" + "Uploaded files:" : "Innsendar skrár:", + "%s is publicly shared" : "%s er deilt opinberlega" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js index 3f2a9a968d7..7b86c519106 100644 --- a/apps/files_sharing/l10n/it.js +++ b/apps/files_sharing/l10n/it.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Parametro fornito non valido o non di aggiornamento", "Can't change permissions for public share links" : "Impossibile cambiare i permessi per i collegamenti di condivisione pubblici", "Cannot increase permissions" : "Impossibile aumentare i permessi", - "%s is publicly shared" : "%s è condiviso pubblicamente", "Share API is disabled" : "API di condivisione disabilitate", "This share is password-protected" : "Questa condivisione è protetta da password", "The password is wrong. Try again." : "La password è errata. Prova ancora.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Carica file su %s", "Select or drop files" : "Seleziona o deseleziona file", "Uploading files…" : "Caricamento file in corso...", - "Uploaded files:" : "File caricati:" + "Uploaded files:" : "File caricati:", + "%s is publicly shared" : "%s è condiviso pubblicamente" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json index e45ada6a57e..d8f9d9a8cbc 100644 --- a/apps/files_sharing/l10n/it.json +++ b/apps/files_sharing/l10n/it.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Parametro fornito non valido o non di aggiornamento", "Can't change permissions for public share links" : "Impossibile cambiare i permessi per i collegamenti di condivisione pubblici", "Cannot increase permissions" : "Impossibile aumentare i permessi", - "%s is publicly shared" : "%s è condiviso pubblicamente", "Share API is disabled" : "API di condivisione disabilitate", "This share is password-protected" : "Questa condivisione è protetta da password", "The password is wrong. Try again." : "La password è errata. Prova ancora.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Carica file su %s", "Select or drop files" : "Seleziona o deseleziona file", "Uploading files…" : "Caricamento file in corso...", - "Uploaded files:" : "File caricati:" + "Uploaded files:" : "File caricati:", + "%s is publicly shared" : "%s è condiviso pubblicamente" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js index ed7cc80a913..c6870472034 100644 --- a/apps/files_sharing/l10n/ja.js +++ b/apps/files_sharing/l10n/ja.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "間違っている、もしくはパラメータが更新されていません", "Can't change permissions for public share links" : "URLリンク共有のパーミッションを変更できません", "Cannot increase permissions" : "パーミッションを追加できません", - "%s is publicly shared" : "%s が公開共有されました", "Share API is disabled" : "共有APIが無効です。", "This share is password-protected" : "この共有はパスワードで保護されています", "The password is wrong. Try again." : "パスワードが間違っています。再試行してください。", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "%s にファイルをアップロード", "Select or drop files" : "ファイルを選択するか、ドラッグ&ドロップしてください", "Uploading files…" : "ファイルをアップロード中...", - "Uploaded files:" : "アップロード済ファイル:" + "Uploaded files:" : "アップロード済ファイル:", + "%s is publicly shared" : "%s が公開共有されました" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json index d4d54e9423d..3155aee2032 100644 --- a/apps/files_sharing/l10n/ja.json +++ b/apps/files_sharing/l10n/ja.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "間違っている、もしくはパラメータが更新されていません", "Can't change permissions for public share links" : "URLリンク共有のパーミッションを変更できません", "Cannot increase permissions" : "パーミッションを追加できません", - "%s is publicly shared" : "%s が公開共有されました", "Share API is disabled" : "共有APIが無効です。", "This share is password-protected" : "この共有はパスワードで保護されています", "The password is wrong. Try again." : "パスワードが間違っています。再試行してください。", @@ -108,6 +107,7 @@ "Upload files to %s" : "%s にファイルをアップロード", "Select or drop files" : "ファイルを選択するか、ドラッグ&ドロップしてください", "Uploading files…" : "ファイルをアップロード中...", - "Uploaded files:" : "アップロード済ファイル:" + "Uploaded files:" : "アップロード済ファイル:", + "%s is publicly shared" : "%s が公開共有されました" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js index c3ebc005855..9d4e2bab464 100644 --- a/apps/files_sharing/l10n/ko.js +++ b/apps/files_sharing/l10n/ko.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "업데이트 인자가 잘못되었거나 지정되지 않았음", "Can't change permissions for public share links" : "공개 공유 링크의 권한을 변경할 수 없음", "Cannot increase permissions" : "권한을 늘릴 수 없음", - "%s is publicly shared" : "%s이(가) 공개 공유됨", "Share API is disabled" : "공유 API가 비활성화됨", "This share is password-protected" : "이 공유는 암호로 보호되어 있습니다", "The password is wrong. Try again." : "암호가 잘못되었습니다. 다시 입력해 주십시오.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "%s에 파일 업로드", "Select or drop files" : "파일을 선택하거나 끌어다 놓기", "Uploading files…" : "파일 업로드 중…", - "Uploaded files:" : "업로드한 파일:" + "Uploaded files:" : "업로드한 파일:", + "%s is publicly shared" : "%s이(가) 공개 공유됨" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json index adaa166da8e..3ddcbc5cf59 100644 --- a/apps/files_sharing/l10n/ko.json +++ b/apps/files_sharing/l10n/ko.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "업데이트 인자가 잘못되었거나 지정되지 않았음", "Can't change permissions for public share links" : "공개 공유 링크의 권한을 변경할 수 없음", "Cannot increase permissions" : "권한을 늘릴 수 없음", - "%s is publicly shared" : "%s이(가) 공개 공유됨", "Share API is disabled" : "공유 API가 비활성화됨", "This share is password-protected" : "이 공유는 암호로 보호되어 있습니다", "The password is wrong. Try again." : "암호가 잘못되었습니다. 다시 입력해 주십시오.", @@ -108,6 +107,7 @@ "Upload files to %s" : "%s에 파일 업로드", "Select or drop files" : "파일을 선택하거나 끌어다 놓기", "Uploading files…" : "파일 업로드 중…", - "Uploaded files:" : "업로드한 파일:" + "Uploaded files:" : "업로드한 파일:", + "%s is publicly shared" : "%s이(가) 공개 공유됨" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/lt_LT.js b/apps/files_sharing/l10n/lt_LT.js index 1cca70a2c5f..df07d22c787 100644 --- a/apps/files_sharing/l10n/lt_LT.js +++ b/apps/files_sharing/l10n/lt_LT.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Neperduoti atnaujinimo parametrai", "Can't change permissions for public share links" : "Negalima keisti leidimų viešai bendrinamoms nuorodoms", "Cannot increase permissions" : "Negalima pridėti papildomų leidimų", - "%s is publicly shared" : "%s yra bendrinamas viešai", "Share API is disabled" : "Bendrinimo API yra išjungtas", "This share is password-protected" : "Turinys apsaugotas slaptažodžiu", "The password is wrong. Try again." : "Slaptažodis neteisingas. Bandykite dar kartą.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Įkelti duomenis į %s", "Select or drop files" : "Pasirinkite arba vilkite failus", "Uploading files…" : "Įkeliami failai…", - "Uploaded files:" : "Įkelti failai:" + "Uploaded files:" : "Įkelti failai:", + "%s is publicly shared" : "%s yra bendrinamas viešai" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/apps/files_sharing/l10n/lt_LT.json b/apps/files_sharing/l10n/lt_LT.json index 6f09a84cda2..e944a9f8c3b 100644 --- a/apps/files_sharing/l10n/lt_LT.json +++ b/apps/files_sharing/l10n/lt_LT.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Neperduoti atnaujinimo parametrai", "Can't change permissions for public share links" : "Negalima keisti leidimų viešai bendrinamoms nuorodoms", "Cannot increase permissions" : "Negalima pridėti papildomų leidimų", - "%s is publicly shared" : "%s yra bendrinamas viešai", "Share API is disabled" : "Bendrinimo API yra išjungtas", "This share is password-protected" : "Turinys apsaugotas slaptažodžiu", "The password is wrong. Try again." : "Slaptažodis neteisingas. Bandykite dar kartą.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Įkelti duomenis į %s", "Select or drop files" : "Pasirinkite arba vilkite failus", "Uploading files…" : "Įkeliami failai…", - "Uploaded files:" : "Įkelti failai:" + "Uploaded files:" : "Įkelti failai:", + "%s is publicly shared" : "%s yra bendrinamas viešai" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/nb.js b/apps/files_sharing/l10n/nb.js index 493dccb6054..e1c82112dbd 100644 --- a/apps/files_sharing/l10n/nb.js +++ b/apps/files_sharing/l10n/nb.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Feil eller ingen parametre for oppdatering er angitt", "Can't change permissions for public share links" : "Kan ikke endre rettigheter for offentlige lenker", "Cannot increase permissions" : "Kan ikke øke tillatelser", - "%s is publicly shared" : "%s er delt offentlig", "Share API is disabled" : "Deling API er deaktivert", "This share is password-protected" : "Denne delingen er passordbeskyttet", "The password is wrong. Try again." : "Passordet er feil. Prøv på nytt.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Last opp filer til %s", "Select or drop files" : "Velg eller slipp filer", "Uploading files…" : "Laster opp filer...", - "Uploaded files:" : "Opplastede filer:" + "Uploaded files:" : "Opplastede filer:", + "%s is publicly shared" : "%s er delt offentlig" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/nb.json b/apps/files_sharing/l10n/nb.json index 32e0d0eadb7..e5bd108d5f2 100644 --- a/apps/files_sharing/l10n/nb.json +++ b/apps/files_sharing/l10n/nb.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Feil eller ingen parametre for oppdatering er angitt", "Can't change permissions for public share links" : "Kan ikke endre rettigheter for offentlige lenker", "Cannot increase permissions" : "Kan ikke øke tillatelser", - "%s is publicly shared" : "%s er delt offentlig", "Share API is disabled" : "Deling API er deaktivert", "This share is password-protected" : "Denne delingen er passordbeskyttet", "The password is wrong. Try again." : "Passordet er feil. Prøv på nytt.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Last opp filer til %s", "Select or drop files" : "Velg eller slipp filer", "Uploading files…" : "Laster opp filer...", - "Uploaded files:" : "Opplastede filer:" + "Uploaded files:" : "Opplastede filer:", + "%s is publicly shared" : "%s er delt offentlig" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js index 42dca7a41f6..ccd1bbe33d1 100644 --- a/apps/files_sharing/l10n/nl.js +++ b/apps/files_sharing/l10n/nl.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Verkeerde of geen update parameter opgegeven", "Can't change permissions for public share links" : "Kan rechten voor openbaar gedeelde links niet wijzigen", "Cannot increase permissions" : "Kan de rechten niet verruimen", - "%s is publicly shared" : "%s is openbaar gedeeld", "Share API is disabled" : "Delen API is uitgeschakeld", "This share is password-protected" : "Deze gedeelde folder is met een wachtwoord beveiligd", "The password is wrong. Try again." : "Wachtwoord ongeldig. Probeer het nogmaals.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Upload bestanden naar %s", "Select or drop files" : "Selecteer of leg bestanden neer", "Uploading files…" : "Uploaden bestanden...", - "Uploaded files:" : "Geüploade bestanden" + "Uploaded files:" : "Geüploade bestanden", + "%s is publicly shared" : "%s is openbaar gedeeld" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json index 669018c1f4f..4d9ebdd6728 100644 --- a/apps/files_sharing/l10n/nl.json +++ b/apps/files_sharing/l10n/nl.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Verkeerde of geen update parameter opgegeven", "Can't change permissions for public share links" : "Kan rechten voor openbaar gedeelde links niet wijzigen", "Cannot increase permissions" : "Kan de rechten niet verruimen", - "%s is publicly shared" : "%s is openbaar gedeeld", "Share API is disabled" : "Delen API is uitgeschakeld", "This share is password-protected" : "Deze gedeelde folder is met een wachtwoord beveiligd", "The password is wrong. Try again." : "Wachtwoord ongeldig. Probeer het nogmaals.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Upload bestanden naar %s", "Select or drop files" : "Selecteer of leg bestanden neer", "Uploading files…" : "Uploaden bestanden...", - "Uploaded files:" : "Geüploade bestanden" + "Uploaded files:" : "Geüploade bestanden", + "%s is publicly shared" : "%s is openbaar gedeeld" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js index 8d44b31d755..04529901ddb 100644 --- a/apps/files_sharing/l10n/pl.js +++ b/apps/files_sharing/l10n/pl.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Brakujący lub błędny parametr aktualizacji", "Can't change permissions for public share links" : "Nie można zmienić uprawnień dla publicznych udziałów", "Cannot increase permissions" : "Nie można zwiększyć uprawnień", - "%s is publicly shared" : "%s jest publicznie dostępny", "Share API is disabled" : "API udostępniania jest wyłączone", "This share is password-protected" : "Udostępniony folder chroniony jest hasłem", "The password is wrong. Try again." : "To hasło jest niewłaściwe. Spróbuj ponownie.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Prześlij pliki do %s", "Select or drop files" : "Wybierz lub upuść pliki", "Uploading files…" : "Wysyłanie plików...", - "Uploaded files:" : "Wysłane pliki:" + "Uploaded files:" : "Wysłane pliki:", + "%s is publicly shared" : "%s jest publicznie dostępny" }, "nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"); diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json index 373735af142..dc9886b06b8 100644 --- a/apps/files_sharing/l10n/pl.json +++ b/apps/files_sharing/l10n/pl.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Brakujący lub błędny parametr aktualizacji", "Can't change permissions for public share links" : "Nie można zmienić uprawnień dla publicznych udziałów", "Cannot increase permissions" : "Nie można zwiększyć uprawnień", - "%s is publicly shared" : "%s jest publicznie dostępny", "Share API is disabled" : "API udostępniania jest wyłączone", "This share is password-protected" : "Udostępniony folder chroniony jest hasłem", "The password is wrong. Try again." : "To hasło jest niewłaściwe. Spróbuj ponownie.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Prześlij pliki do %s", "Select or drop files" : "Wybierz lub upuść pliki", "Uploading files…" : "Wysyłanie plików...", - "Uploaded files:" : "Wysłane pliki:" + "Uploaded files:" : "Wysłane pliki:", + "%s is publicly shared" : "%s jest publicznie dostępny" },"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js index 2fe130a548a..c0d84db4b3f 100644 --- a/apps/files_sharing/l10n/pt_BR.js +++ b/apps/files_sharing/l10n/pt_BR.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "O parâmetro da atualização fornecido está errado ou não existe", "Can't change permissions for public share links" : "Não foi possível alterar as permissões para links de compartilhamento público", "Cannot increase permissions" : "Não foi possível aumentar as permissões", - "%s is publicly shared" : "%s está compartilhado publicamente", "Share API is disabled" : "O compartilhamento de API está desabilitado.", "This share is password-protected" : "Este compartilhamento é protegido por senha", "The password is wrong. Try again." : "Senha incorreta. Tente novamente.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Enviar arquivos para %s", "Select or drop files" : "Selecione ou solte arquivos", "Uploading files…" : "Enviando arquivos...", - "Uploaded files:" : "Arquivos enviados:" + "Uploaded files:" : "Arquivos enviados:", + "%s is publicly shared" : "%s está compartilhado publicamente" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json index 66419d9393f..42980162b62 100644 --- a/apps/files_sharing/l10n/pt_BR.json +++ b/apps/files_sharing/l10n/pt_BR.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "O parâmetro da atualização fornecido está errado ou não existe", "Can't change permissions for public share links" : "Não foi possível alterar as permissões para links de compartilhamento público", "Cannot increase permissions" : "Não foi possível aumentar as permissões", - "%s is publicly shared" : "%s está compartilhado publicamente", "Share API is disabled" : "O compartilhamento de API está desabilitado.", "This share is password-protected" : "Este compartilhamento é protegido por senha", "The password is wrong. Try again." : "Senha incorreta. Tente novamente.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Enviar arquivos para %s", "Select or drop files" : "Selecione ou solte arquivos", "Uploading files…" : "Enviando arquivos...", - "Uploaded files:" : "Arquivos enviados:" + "Uploaded files:" : "Arquivos enviados:", + "%s is publicly shared" : "%s está compartilhado publicamente" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js index a81b094dafe..1137df6df9c 100644 --- a/apps/files_sharing/l10n/ru.js +++ b/apps/files_sharing/l10n/ru.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Параметр для изменения неправилен или не задан", "Can't change permissions for public share links" : "Для общедоступных ссылок изменение прав невозможно", "Cannot increase permissions" : "Нельзя увеличить права", - "%s is publicly shared" : "%s опубликован ", "Share API is disabled" : "API общего доступа отключён", "This share is password-protected" : "Общий ресурс защищен паролем", "The password is wrong. Try again." : "Неверный пароль. Попробуйте еще раз.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Загрузка файлов пользователю %s", "Select or drop files" : "Выберите или перетащите файлы", "Uploading files…" : "Загрузка файлов...", - "Uploaded files:" : "Загруженные файлы:" + "Uploaded files:" : "Загруженные файлы:", + "%s is publicly shared" : "%s опубликован " }, "nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"); diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json index a4891dd5c05..54321a0b0c3 100644 --- a/apps/files_sharing/l10n/ru.json +++ b/apps/files_sharing/l10n/ru.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Параметр для изменения неправилен или не задан", "Can't change permissions for public share links" : "Для общедоступных ссылок изменение прав невозможно", "Cannot increase permissions" : "Нельзя увеличить права", - "%s is publicly shared" : "%s опубликован ", "Share API is disabled" : "API общего доступа отключён", "This share is password-protected" : "Общий ресурс защищен паролем", "The password is wrong. Try again." : "Неверный пароль. Попробуйте еще раз.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Загрузка файлов пользователю %s", "Select or drop files" : "Выберите или перетащите файлы", "Uploading files…" : "Загрузка файлов...", - "Uploaded files:" : "Загруженные файлы:" + "Uploaded files:" : "Загруженные файлы:", + "%s is publicly shared" : "%s опубликован " },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/sk.js b/apps/files_sharing/l10n/sk.js index b60205e40a6..1882dad1a39 100644 --- a/apps/files_sharing/l10n/sk.js +++ b/apps/files_sharing/l10n/sk.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Zlý alebo žiadny zadaný parameter aktualizácie", "Can't change permissions for public share links" : "Nemožno zmeniť oprávnenia pre verejné sprístupnené odkazy", "Cannot increase permissions" : "Nie je možné navýšiť oprávnenia", - "%s is publicly shared" : "%s je sprístupnené verejne", "Share API is disabled" : "API pre sprístupňovanie je zakázané", "This share is password-protected" : "Táto položka je chránené heslom", "The password is wrong. Try again." : "Heslo je chybné. Skúste to znova.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Nahrať súbory do %s", "Select or drop files" : "Vyberte alebo položte súbory", "Uploading files…" : "Nahrávanie súborov...", - "Uploaded files:" : "Nahrané súbory..." + "Uploaded files:" : "Nahrané súbory...", + "%s is publicly shared" : "%s je sprístupnené verejne" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files_sharing/l10n/sk.json b/apps/files_sharing/l10n/sk.json index 2953c12bf44..5edc0bf926b 100644 --- a/apps/files_sharing/l10n/sk.json +++ b/apps/files_sharing/l10n/sk.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Zlý alebo žiadny zadaný parameter aktualizácie", "Can't change permissions for public share links" : "Nemožno zmeniť oprávnenia pre verejné sprístupnené odkazy", "Cannot increase permissions" : "Nie je možné navýšiť oprávnenia", - "%s is publicly shared" : "%s je sprístupnené verejne", "Share API is disabled" : "API pre sprístupňovanie je zakázané", "This share is password-protected" : "Táto položka je chránené heslom", "The password is wrong. Try again." : "Heslo je chybné. Skúste to znova.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Nahrať súbory do %s", "Select or drop files" : "Vyberte alebo položte súbory", "Uploading files…" : "Nahrávanie súborov...", - "Uploaded files:" : "Nahrané súbory..." + "Uploaded files:" : "Nahrané súbory...", + "%s is publicly shared" : "%s je sprístupnené verejne" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/sq.js b/apps/files_sharing/l10n/sq.js index 492dae82a91..b828af91a73 100644 --- a/apps/files_sharing/l10n/sq.js +++ b/apps/files_sharing/l10n/sq.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Ose u dha parametër i gabuar përditësimesh, pse s’u dha fare ", "Can't change permissions for public share links" : "S’mund të ndryshohen lejet për lidhje ndarjesh publike", "Cannot increase permissions" : "S’mund të fuqizohen lejet", - "%s is publicly shared" : "%s është ndarë publikisht", "Share API is disabled" : "API i ndarjeve është çaktivizuar", "This share is password-protected" : "Kjo pjesë është e mbrojtur me fjalëkalim", "The password is wrong. Try again." : "Fjalëkalimi është i gabuar. Riprovoni.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Ngrako skedarët tek %s", "Select or drop files" : "Përzgjidh ose hiq skedarët", "Uploading files…" : "Skedarët po ngarkohen...", - "Uploaded files:" : "Skedarët e ngarkuar:" + "Uploaded files:" : "Skedarët e ngarkuar:", + "%s is publicly shared" : "%s është ndarë publikisht" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/sq.json b/apps/files_sharing/l10n/sq.json index 26c6b213cef..0b525a14bab 100644 --- a/apps/files_sharing/l10n/sq.json +++ b/apps/files_sharing/l10n/sq.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Ose u dha parametër i gabuar përditësimesh, pse s’u dha fare ", "Can't change permissions for public share links" : "S’mund të ndryshohen lejet për lidhje ndarjesh publike", "Cannot increase permissions" : "S’mund të fuqizohen lejet", - "%s is publicly shared" : "%s është ndarë publikisht", "Share API is disabled" : "API i ndarjeve është çaktivizuar", "This share is password-protected" : "Kjo pjesë është e mbrojtur me fjalëkalim", "The password is wrong. Try again." : "Fjalëkalimi është i gabuar. Riprovoni.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Ngrako skedarët tek %s", "Select or drop files" : "Përzgjidh ose hiq skedarët", "Uploading files…" : "Skedarët po ngarkohen...", - "Uploaded files:" : "Skedarët e ngarkuar:" + "Uploaded files:" : "Skedarët e ngarkuar:", + "%s is publicly shared" : "%s është ndarë publikisht" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js index e32d442e938..369b69ee567 100644 --- a/apps/files_sharing/l10n/sr.js +++ b/apps/files_sharing/l10n/sr.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Погрешан или ненаведен параметер", "Can't change permissions for public share links" : "Не могу се променити привилегије за јавно доступне везе", "Cannot increase permissions" : "Не могу да повећам привилегије", - "%s is publicly shared" : "%s је јавно дељен", "Share API is disabled" : "API за дељене је искључен", "This share is password-protected" : "Дељење је заштићено лозинком", "The password is wrong. Try again." : "Лозинка је погрешна. Покушајте поново.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Отпремите фајлове на%s", "Select or drop files" : "Одаберите или превуците фајлове", "Uploading files…" : "Отпремам фајлове…", - "Uploaded files:" : "Отпремљени фајлови:" + "Uploaded files:" : "Отпремљени фајлови:", + "%s is publicly shared" : "%s је јавно дељен" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"); diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json index e352b892848..0353d5ff0ab 100644 --- a/apps/files_sharing/l10n/sr.json +++ b/apps/files_sharing/l10n/sr.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Погрешан или ненаведен параметер", "Can't change permissions for public share links" : "Не могу се променити привилегије за јавно доступне везе", "Cannot increase permissions" : "Не могу да повећам привилегије", - "%s is publicly shared" : "%s је јавно дељен", "Share API is disabled" : "API за дељене је искључен", "This share is password-protected" : "Дељење је заштићено лозинком", "The password is wrong. Try again." : "Лозинка је погрешна. Покушајте поново.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Отпремите фајлове на%s", "Select or drop files" : "Одаберите или превуците фајлове", "Uploading files…" : "Отпремам фајлове…", - "Uploaded files:" : "Отпремљени фајлови:" + "Uploaded files:" : "Отпремљени фајлови:", + "%s is publicly shared" : "%s је јавно дељен" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js index cd2659ed221..0938d224b66 100644 --- a/apps/files_sharing/l10n/sv.js +++ b/apps/files_sharing/l10n/sv.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Fel eller ingen uppdateringsparameter angiven", "Can't change permissions for public share links" : "Det går inte att ändra behörigheterna för offentliga länkar", "Cannot increase permissions" : "Kan inte utöka behörigheter", - "%s is publicly shared" : "%s är offentligt delad", "Share API is disabled" : "Delning av API är inaktiverad", "This share is password-protected" : "Den här delningen är lösenordsskyddad", "The password is wrong. Try again." : "Lösenordet är fel. Försök igen.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Ladda upp filer till %s", "Select or drop files" : "Välj eller dra filer hit", "Uploading files…" : "Laddar upp filer...", - "Uploaded files:" : "Uppladdade filer:" + "Uploaded files:" : "Uppladdade filer:", + "%s is publicly shared" : "%s är offentligt delad" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json index 507f79ed25a..0318f561ed3 100644 --- a/apps/files_sharing/l10n/sv.json +++ b/apps/files_sharing/l10n/sv.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Fel eller ingen uppdateringsparameter angiven", "Can't change permissions for public share links" : "Det går inte att ändra behörigheterna för offentliga länkar", "Cannot increase permissions" : "Kan inte utöka behörigheter", - "%s is publicly shared" : "%s är offentligt delad", "Share API is disabled" : "Delning av API är inaktiverad", "This share is password-protected" : "Den här delningen är lösenordsskyddad", "The password is wrong. Try again." : "Lösenordet är fel. Försök igen.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Ladda upp filer till %s", "Select or drop files" : "Välj eller dra filer hit", "Uploading files…" : "Laddar upp filer...", - "Uploaded files:" : "Uppladdade filer:" + "Uploaded files:" : "Uppladdade filer:", + "%s is publicly shared" : "%s är offentligt delad" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js index 8a46cb8a5e8..ba1c08537b9 100644 --- a/apps/files_sharing/l10n/tr.js +++ b/apps/files_sharing/l10n/tr.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "Parametre yanlış ya da herhangi bir parametre belirtilmemiş", "Can't change permissions for public share links" : "Herkese açık paylaşılan bağlantıların erişim hakları değiştirilemez", "Cannot increase permissions" : "Erişim izinleri yükseltilemez", - "%s is publicly shared" : "%s herkese açık olarak paylaşıldı", "Share API is disabled" : "Paylaşım API arayüzü devre dışı", "This share is password-protected" : "Bu paylaşım parola korumalı", "The password is wrong. Try again." : "Parola yanlış. Yeniden deneyin.", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "Dosyaları %s konumuna yükle", "Select or drop files" : "Dosyaları seçin ya da sürükleyip bırakın", "Uploading files…" : "Dosyalar yükleniyor...", - "Uploaded files:" : "Yüklenmiş dosyalar:" + "Uploaded files:" : "Yüklenmiş dosyalar:", + "%s is publicly shared" : "%s herkese açık olarak paylaşıldı" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json index f028cc1811e..da85ed58f40 100644 --- a/apps/files_sharing/l10n/tr.json +++ b/apps/files_sharing/l10n/tr.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "Parametre yanlış ya da herhangi bir parametre belirtilmemiş", "Can't change permissions for public share links" : "Herkese açık paylaşılan bağlantıların erişim hakları değiştirilemez", "Cannot increase permissions" : "Erişim izinleri yükseltilemez", - "%s is publicly shared" : "%s herkese açık olarak paylaşıldı", "Share API is disabled" : "Paylaşım API arayüzü devre dışı", "This share is password-protected" : "Bu paylaşım parola korumalı", "The password is wrong. Try again." : "Parola yanlış. Yeniden deneyin.", @@ -108,6 +107,7 @@ "Upload files to %s" : "Dosyaları %s konumuna yükle", "Select or drop files" : "Dosyaları seçin ya da sürükleyip bırakın", "Uploading files…" : "Dosyalar yükleniyor...", - "Uploaded files:" : "Yüklenmiş dosyalar:" + "Uploaded files:" : "Yüklenmiş dosyalar:", + "%s is publicly shared" : "%s herkese açık olarak paylaşıldı" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/zh_CN.js b/apps/files_sharing/l10n/zh_CN.js index 3074385056c..3ec4080e94f 100644 --- a/apps/files_sharing/l10n/zh_CN.js +++ b/apps/files_sharing/l10n/zh_CN.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "错误或没有更新参数给出", "Can't change permissions for public share links" : "不能改变公共分享链接权限", "Cannot increase permissions" : "不能增加权限", - "%s is publicly shared" : "%s 是公开共享", "Share API is disabled" : "共享 API 已被禁用", "This share is password-protected" : "这是一个密码保护的共享", "The password is wrong. Try again." : "用户名或密码错误!请重试", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "上传文件到 %s", "Select or drop files" : "选择或删除文件", "Uploading files…" : "上传文件 … ", - "Uploaded files:" : "上传的文件: " + "Uploaded files:" : "上传的文件: ", + "%s is publicly shared" : "%s 是公开共享" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/zh_CN.json b/apps/files_sharing/l10n/zh_CN.json index 0a541badcc8..f3da1fbe4ec 100644 --- a/apps/files_sharing/l10n/zh_CN.json +++ b/apps/files_sharing/l10n/zh_CN.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "错误或没有更新参数给出", "Can't change permissions for public share links" : "不能改变公共分享链接权限", "Cannot increase permissions" : "不能增加权限", - "%s is publicly shared" : "%s 是公开共享", "Share API is disabled" : "共享 API 已被禁用", "This share is password-protected" : "这是一个密码保护的共享", "The password is wrong. Try again." : "用户名或密码错误!请重试", @@ -108,6 +107,7 @@ "Upload files to %s" : "上传文件到 %s", "Select or drop files" : "选择或删除文件", "Uploading files…" : "上传文件 … ", - "Uploaded files:" : "上传的文件: " + "Uploaded files:" : "上传的文件: ", + "%s is publicly shared" : "%s 是公开共享" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_sharing/l10n/zh_TW.js b/apps/files_sharing/l10n/zh_TW.js index cff1b2fbb9e..12444207d04 100644 --- a/apps/files_sharing/l10n/zh_TW.js +++ b/apps/files_sharing/l10n/zh_TW.js @@ -87,7 +87,6 @@ OC.L10N.register( "Wrong or no update parameter given" : "更新參數不正確或未提供", "Can't change permissions for public share links" : "無法由公開分享的連結變更權限", "Cannot increase permissions" : "無法增加權限", - "%s is publicly shared" : "%s 是被公然分享的", "Share API is disabled" : "分享 API 已停用", "This share is password-protected" : "這個分享有密碼保護", "The password is wrong. Try again." : "請檢查您的密碼並再試一次", @@ -110,6 +109,7 @@ OC.L10N.register( "Upload files to %s" : "上傳檔案到 %s", "Select or drop files" : "選擇或拖曳檔案至此", "Uploading files…" : "上傳檔案中…", - "Uploaded files:" : "已上傳的檔案:" + "Uploaded files:" : "已上傳的檔案:", + "%s is publicly shared" : "%s 是被公然分享的" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/zh_TW.json b/apps/files_sharing/l10n/zh_TW.json index 73a4a49e8df..17f98af8d88 100644 --- a/apps/files_sharing/l10n/zh_TW.json +++ b/apps/files_sharing/l10n/zh_TW.json @@ -85,7 +85,6 @@ "Wrong or no update parameter given" : "更新參數不正確或未提供", "Can't change permissions for public share links" : "無法由公開分享的連結變更權限", "Cannot increase permissions" : "無法增加權限", - "%s is publicly shared" : "%s 是被公然分享的", "Share API is disabled" : "分享 API 已停用", "This share is password-protected" : "這個分享有密碼保護", "The password is wrong. Try again." : "請檢查您的密碼並再試一次", @@ -108,6 +107,7 @@ "Upload files to %s" : "上傳檔案到 %s", "Select or drop files" : "選擇或拖曳檔案至此", "Uploading files…" : "上傳檔案中…", - "Uploaded files:" : "已上傳的檔案:" + "Uploaded files:" : "已上傳的檔案:", + "%s is publicly shared" : "%s 是被公然分享的" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_sharing/lib/Controller/ShareController.php b/apps/files_sharing/lib/Controller/ShareController.php index a7cf1a78971..700ac220804 100644 --- a/apps/files_sharing/lib/Controller/ShareController.php +++ b/apps/files_sharing/lib/Controller/ShareController.php @@ -406,8 +406,8 @@ class ShareController extends Controller { } // OpenGraph Support: http://ogp.me/ - \OCP\Util::addHeader('meta', ['property' => "og:title", 'content' => $this->defaults->getName() . ($this->defaults->getSlogan() !== '' ? ' - ' . $this->defaults->getSlogan() : '')]); - \OCP\Util::addHeader('meta', ['property' => "og:description", 'content' => $this->l10n->t('%s is publicly shared', [$shareTmpl['filename']])]); + \OCP\Util::addHeader('meta', ['property' => "og:title", 'content' => $shareTmpl['filename']]); + \OCP\Util::addHeader('meta', ['property' => "og:description", 'content' => $this->defaults->getName() . ($this->defaults->getSlogan() !== '' ? ' - ' . $this->defaults->getSlogan() : '')]); \OCP\Util::addHeader('meta', ['property' => "og:site_name", 'content' => $this->defaults->getName()]); \OCP\Util::addHeader('meta', ['property' => "og:url", 'content' => $shareTmpl['shareUrl']]); \OCP\Util::addHeader('meta', ['property' => "og:type", 'content' => "object"]); @@ -458,6 +458,10 @@ class ShareController extends Controller { if ($files_list === null) { $files_list = [$files]; } + // Just in case $files is a single int like '1234' + if (!is_array($files_list)) { + $files_list = [$files_list]; + } } $userFolder = $this->rootFolder->getUserFolder($share->getShareOwner()); diff --git a/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php b/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php index 827fcc15797..5480874615e 100644 --- a/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php +++ b/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php @@ -22,6 +22,8 @@ namespace OCA\Files_Sharing\Tests\Command; use OCA\Files_Sharing\Command\CleanupRemoteStorages; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; use Test\TestCase; /** @@ -158,10 +160,10 @@ class CleanupRemoteStoragesTest extends TestCase { * Test cleanup of orphaned storages */ public function testCleanup() { - $input = $this->getMockBuilder('Symfony\Component\Console\Input\InputInterface') + $input = $this->getMockBuilder(InputInterface::class) ->disableOriginalConstructor() ->getMock(); - $output = $this->getMockBuilder('Symfony\Component\Console\Output\OutputInterface') + $output = $this->getMockBuilder(OutputInterface::class) ->disableOriginalConstructor() ->getMock(); diff --git a/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php b/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php index 14852b3354f..3bebb9e1195 100644 --- a/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php +++ b/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php @@ -230,7 +230,7 @@ class ShareAPIControllerTest extends TestCase { public function createShare($id, $shareType, $sharedWith, $sharedBy, $shareOwner, $path, $permissions, $shareTime, $expiration, $parent, $target, $mail_send, $token=null, $password=null) { - $share = $this->getMockBuilder('\OCP\Share\IShare')->getMock(); + $share = $this->getMockBuilder(IShare::class)->getMock(); $share->method('getId')->willReturn($id); $share->method('getShareType')->willReturn($shareType); $share->method('getSharedWith')->willReturn($sharedWith); @@ -264,7 +264,7 @@ class ShareAPIControllerTest extends TestCase { ->getMock(); $cache->method('getNumericStorageId')->willReturn(101); - $storage = $this->getMockBuilder('OC\Files\Storage\Storage') + $storage = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor() ->getMock(); $storage->method('getId')->willReturn('STORAGE'); @@ -513,25 +513,25 @@ class ShareAPIControllerTest extends TestCase { } public function testCanAccessShare() { - $share = $this->getMockBuilder('OCP\Share\IShare')->getMock(); + $share = $this->getMockBuilder(IShare::class)->getMock(); $share->method('getShareOwner')->willReturn($this->currentUser); $this->assertTrue($this->invokePrivate($this->ocs, 'canAccessShare', [$share])); - $share = $this->getMockBuilder('OCP\Share\IShare')->getMock(); + $share = $this->getMockBuilder(IShare::class)->getMock(); $share->method('getSharedBy')->willReturn($this->currentUser); $this->assertTrue($this->invokePrivate($this->ocs, 'canAccessShare', [$share])); - $share = $this->getMockBuilder('OCP\Share\IShare')->getMock(); + $share = $this->getMockBuilder(IShare::class)->getMock(); $share->method('getShareType')->willReturn(\OCP\Share::SHARE_TYPE_USER); $share->method('getSharedWith')->willReturn($this->currentUser); $this->assertTrue($this->invokePrivate($this->ocs, 'canAccessShare', [$share])); - $share = $this->getMockBuilder('OCP\Share\IShare')->getMock(); + $share = $this->getMockBuilder(IShare::class)->getMock(); $share->method('getShareType')->willReturn(\OCP\Share::SHARE_TYPE_USER); $share->method('getSharedWith')->willReturn($this->getMockBuilder(IUser::class)->getMock()); $this->assertFalse($this->invokePrivate($this->ocs, 'canAccessShare', [$share])); - $share = $this->getMockBuilder('OCP\Share\IShare')->getMock(); + $share = $this->getMockBuilder(IShare::class)->getMock(); $share->method('getShareType')->willReturn(\OCP\Share::SHARE_TYPE_GROUP); $share->method('getSharedWith')->willReturn('group'); @@ -637,7 +637,7 @@ class ShareAPIControllerTest extends TestCase { ->willReturn($userFolder); $path = $this->getMockBuilder(File::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -669,7 +669,7 @@ class ShareAPIControllerTest extends TestCase { ->willReturn($userFolder); $path = $this->getMockBuilder(File::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -714,7 +714,7 @@ class ShareAPIControllerTest extends TestCase { ->willReturn($userFolder); $path = $this->getMockBuilder(File::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -768,7 +768,7 @@ class ShareAPIControllerTest extends TestCase { ->willReturn($userFolder); $path = $this->getMockBuilder(File::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -820,7 +820,7 @@ class ShareAPIControllerTest extends TestCase { ->willReturn($userFolder); $path = $this->getMockBuilder(Folder::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -872,7 +872,7 @@ class ShareAPIControllerTest extends TestCase { ->willReturn($userFolder); $path = $this->getMockBuilder(Folder::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -904,7 +904,7 @@ class ShareAPIControllerTest extends TestCase { ])); $path = $this->getMockBuilder(Folder::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -923,7 +923,7 @@ class ShareAPIControllerTest extends TestCase { */ public function testCreateShareLinkNoPublicUpload() { $path = $this->getMockBuilder(Folder::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -943,7 +943,7 @@ class ShareAPIControllerTest extends TestCase { */ public function testCreateShareLinkPublicUploadFile() { $path = $this->getMockBuilder(File::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -962,7 +962,7 @@ class ShareAPIControllerTest extends TestCase { $ocs = $this->mockFormatShare(); $path = $this->getMockBuilder(Folder::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -996,7 +996,7 @@ class ShareAPIControllerTest extends TestCase { $ocs = $this->mockFormatShare(); $path = $this->getMockBuilder(Folder::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -1040,7 +1040,7 @@ class ShareAPIControllerTest extends TestCase { ])); $path = $this->getMockBuilder(Folder::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -1081,7 +1081,7 @@ class ShareAPIControllerTest extends TestCase { $ocs = $this->mockFormatShare(); $path = $this->getMockBuilder(Folder::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(false); @@ -1126,7 +1126,7 @@ class ShareAPIControllerTest extends TestCase { ->willReturn($userFolder); $path = $this->getMockBuilder(Folder::class)->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage')->getMock(); + $storage = $this->getMockBuilder(Storage::class)->getMock(); $storage->method('instanceOfStorage') ->with('OCA\Files_Sharing\External\Storage') ->willReturn(true); diff --git a/apps/files_sharing/tests/Controller/ShareControllerTest.php b/apps/files_sharing/tests/Controller/ShareControllerTest.php index d1b30d77f32..6f0b3f9c2da 100644 --- a/apps/files_sharing/tests/Controller/ShareControllerTest.php +++ b/apps/files_sharing/tests/Controller/ShareControllerTest.php @@ -49,6 +49,7 @@ use OCP\ISession; use OCP\IUserManager; use OCP\Security\ISecureRandom; use OCP\IURLGenerator; +use OCP\Share\IShare; use Symfony\Component\EventDispatcher\EventDispatcherInterface; /** @@ -463,7 +464,7 @@ class ShareControllerTest extends \Test\TestCase { } public function testDownloadShare() { - $share = $this->getMockBuilder('\OCP\Share\IShare')->getMock(); + $share = $this->getMockBuilder(IShare::class)->getMock(); $share->method('getPassword')->willReturn('password'); $share ->expects($this->once()) @@ -488,7 +489,7 @@ class ShareControllerTest extends \Test\TestCase { } public function testDownloadShareWithCreateOnlyShare() { - $share = $this->getMockBuilder('\OCP\Share\IShare')->getMock(); + $share = $this->getMockBuilder(IShare::class)->getMock(); $share->method('getPassword')->willReturn('password'); $share ->expects($this->once()) diff --git a/apps/files_versions/l10n/eu.js b/apps/files_versions/l10n/eu.js index bae93e00f6b..2a6bafa1cf8 100644 --- a/apps/files_versions/l10n/eu.js +++ b/apps/files_versions/l10n/eu.js @@ -5,7 +5,9 @@ OC.L10N.register( "Versions" : "Bertsioak", "Failed to revert {file} to revision {timestamp}." : "Errore bat izan da {fitxategia} {timestamp} bertsiora leheneratzean.", "Restore" : "Berrezarri", - "More versions..." : "Bertsio gehiago...", - "No other versions available" : "Ez dago bertsio gehiago eskuragarri" + "No earlier versions available" : "Ez dago aurreko bertsiorik", + "More versions …" : "Bertsio gehiago...", + "No versions available" : "Ez dago bertsiorik eskuragarri", + "More versions..." : "Bertsio gehiago..." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/eu.json b/apps/files_versions/l10n/eu.json index 70cf27f6562..c79af7797c8 100644 --- a/apps/files_versions/l10n/eu.json +++ b/apps/files_versions/l10n/eu.json @@ -3,7 +3,9 @@ "Versions" : "Bertsioak", "Failed to revert {file} to revision {timestamp}." : "Errore bat izan da {fitxategia} {timestamp} bertsiora leheneratzean.", "Restore" : "Berrezarri", - "More versions..." : "Bertsio gehiago...", - "No other versions available" : "Ez dago bertsio gehiago eskuragarri" + "No earlier versions available" : "Ez dago aurreko bertsiorik", + "More versions …" : "Bertsio gehiago...", + "No versions available" : "Ez dago bertsiorik eskuragarri", + "More versions..." : "Bertsio gehiago..." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_versions/l10n/sk.js b/apps/files_versions/l10n/sk.js index b851f680f4f..41c13cd4c18 100644 --- a/apps/files_versions/l10n/sk.js +++ b/apps/files_versions/l10n/sk.js @@ -6,6 +6,8 @@ OC.L10N.register( "Failed to revert {file} to revision {timestamp}." : "Zlyhalo obnovenie súboru {file} na verziu {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtov","%n bajtov"], "Restore" : "Obnoviť", + "No earlier versions available" : "Nie sú dostupné predchádzajúce verzie", + "More versions …" : "Viac verzií ...", "No versions available" : "Žiadne verzie nie sú dostupné", "More versions..." : "Viac verzií..." }, diff --git a/apps/files_versions/l10n/sk.json b/apps/files_versions/l10n/sk.json index 8efc13112a7..c66d5b0c7c0 100644 --- a/apps/files_versions/l10n/sk.json +++ b/apps/files_versions/l10n/sk.json @@ -4,6 +4,8 @@ "Failed to revert {file} to revision {timestamp}." : "Zlyhalo obnovenie súboru {file} na verziu {timestamp}.", "_%n byte_::_%n bytes_" : ["%n bajt","%n bajtov","%n bajtov"], "Restore" : "Obnoviť", + "No earlier versions available" : "Nie sú dostupné predchádzajúce verzie", + "More versions …" : "Viac verzií ...", "No versions available" : "Žiadne verzie nie sú dostupné", "More versions..." : "Viac verzií..." },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" diff --git a/apps/files_versions/tests/VersioningTest.php b/apps/files_versions/tests/VersioningTest.php index 4cd202113dd..812a068f070 100644 --- a/apps/files_versions/tests/VersioningTest.php +++ b/apps/files_versions/tests/VersioningTest.php @@ -682,7 +682,7 @@ class VersioningTest extends \Test\TestCase { return; } - $eventHandler = $this->getMockBuilder('\stdclass') + $eventHandler = $this->getMockBuilder(\stdclass::class) ->setMethods(['callback']) ->getMock(); diff --git a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php index 9d70e123cde..cd3dae79336 100644 --- a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php +++ b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php @@ -58,7 +58,7 @@ class GroupsControllerTest extends \Test\TestCase { ->method('getSubAdmin') ->willReturn($this->subAdminManager); - $this->userSession = $this->getMockBuilder('OCP\IUserSession') + $this->userSession = $this->getMockBuilder(IUserSession::class) ->disableOriginalConstructor() ->getMock(); $request = $this->getMockBuilder(IRequest::class) diff --git a/apps/sharebymail/l10n/gl.js b/apps/sharebymail/l10n/gl.js index d1f8c55ebad..bac9c912b40 100644 --- a/apps/sharebymail/l10n/gl.js +++ b/apps/sharebymail/l10n/gl.js @@ -1,50 +1,49 @@ OC.L10N.register( "sharebymail", { - "Shared with %1$s" : "Compartido con %1$s", + "Shared with %1$s" : "Compartido con %1$s ", "Shared with {email}" : "Compartido con {email}", - "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s", - "Shared with {email} by {actor}" : "Compartido con {email} por {actor}Compartido con {email} por {actor}", - "Password for mail share sent to %1$s" : "Enviouse un contrasinal para compartir por correo a %1$s", - "Password for mail share sent to {email}" : "Enviouse un contrasinal para compartir por correo a {email}", - "Password for mail share sent to you" : "Envióuselle un contrasinal para compartir por correo", + "Shared with %1$s by %2$s" : "Compartido con %1$spor %2$s", + "Shared with {email} by {actor}" : "Compartido con {email} por {actor}", + "Password for mail share sent to %1$s" : "Contrasinal para compartir por correo enviada a %1$s", + "Password for mail share sent to {email}" : "Contrasinal para compartir por correo enviada a {email}", + "Password for mail share sent to you" : "Contrasinal para compartir por correo enviada a tí mesmo", "You shared %1$s with %2$s by mail" : "Compartiu %1$s con %2$s por correo", "You shared {file} with {email} by mail" : "Compartiu {file} con {email} por correo", - "%3$s shared %1$s with %2$s by mail" : "%3$s compartiu %1$s con %2$s por correo", + "%3$s shared %1$s with %2$s by mail" : "%3$s compartido %1$scon %2$s por correo", "{actor} shared {file} with {email} by mail" : "{actor} compartiu {file} con {email} por correo", - "Password to access %1$s was sent to %2s" : "Envióuselle a %2s un contrasinal para acceder a %1$s", - "Password to access {file} was sent to {email}" : "Envióuselle a {email} un contrasinal para acceder a {file}", - "Password to access %1$s was sent to you" : "Envióuselle a vostede un correo para acceder a %1$s", - "Password to access {file} was sent to you" : "Envióuselle a vostede un correo para acceder a {file}", - "Sharing %s failed, this item is already shared with %s" : "Fallou a compartición de %s, este elemento xa está compartido con %s", - "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Non é posíbel enviarlle o contrasinal xerado automaticamente. Estabeleza un enderezo de correo correcto nos seus axustes persoais e ténteo de novo.", - "Failed to send share by email" : "Fallou o envío do recurso compartido por correo", - "%s shared »%s« with you" : "%s compartiu «%s» con vostede", - "%s shared »%s« with you." : "%s compartiu «%s» con vostede.", - "Click the button below to open it." : "Prema no botón de embaixo para abrilo.", - "Open »%s«" : "Abrir «%s»", + "Password to access %1$s was sent to %2s" : "Contrasinal para acceder a %1$s foi enviada a %2s", + "Password to access {file} was sent to {email}" : "Contrasinal para acceder a {file} foi enviada a {email}", + "Password to access %1$s was sent to you" : "Contrasinal para acceder a %1$s foi enviada a tí mesmo", + "Password to access {file} was sent to you" : "Contrasinal para acceder a {file} foi enviada a tí mesmo", + "Sharing %s failed, this item is already shared with %s" : "Compartir %s fallou, este obxecto xa está compartido con %s", + "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Non podemos enviarte o contrasinal auto-xenerado. Por favor indica unha dirección de correo válida nas túas preferencias persoais e proba de novo.", + "Failed to send share by email" : "Fallou ó envío para compartir por correo", + "%s shared »%s« with you" : "%s compartiu »%s« contigo", + "%s shared »%s« with you." : "%s compartiu »%s« contigo.", + "Click the button below to open it." : "Prema no botón máis abaixo para abrilo.", + "Open »%s«" : "Abrir »%s«", "%s via %s" : "%s vía %s", - "Password to access »%s« shared to you by %s" : "O contrasinal para acceder a «%s» foi compartido con vostede por %s", - "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s compartiu «%s» con vostede.\nDebería ter recibido un correo por separado cunha ligazón acceder.\n", - "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s compartiu «%s» con vostede. Debería ter recibido un correo por separado cunha ligazón acceder.", - "Password to access »%s«" : "Contrasinal para acceder a «%s»", + "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s compartiu »%s« contigo.\nDebes ter recibido xa un correo por separado cun enlace para acceder a él.\n", + "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s compartiu »%s« contigo. Debes ter recibido xa un correo por separado cun enlace para acceder a él.", + "Password to access »%s« shared to you by %s" : "Contrasinal para acceder »%s« compartido contigo por %s", + "Password to access »%s«" : "Contrasinal para acceder »%s«", "It is protected with the following password: %s" : "Está protexido co seguinte contrasinal: %s", - "Password to access »%s« shared with %s" : "Contrasinal para acceder a «%s» compartida con %s", - "You just shared »%s« with %s. The share was already send to the recipient. Due to the security policies defined by the administrator of %s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Ven de de compartir «%s» con %s. O recurso compartido xa foi enviado ao destinatario. Por mor das regras de seguridade definidas polo administrador de %s cada recurso compartido necesita ser protexido por un contrasinal e non está permitido que vostede envíe o contrasinal directamente ao destinatario. Polo tanto, necesita enviar manualmente o contrasinal ao destinatario.", + "You just shared »%s« with %s. The share was already send to the recipient. Due to the security policies defined by the administrator of %s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Compartiu »%s« con %s. O recurso a compartir foi xa enviado ó destinatario. Debido ás políticas de seguridade definidas polo administrador de %s cada recurso a compartir precisa ser protexido por contrasinal e non está permitido enviar o contrasinal directamente ó destinatario. Polo tanto precisa reenviar o contrasinal ó destinatario manualmente.", + "Password to access »%s« shared with %s" : "Contrasinal para acceder a »%s« compartido con %s", "This is the password: %s" : "Este é o contrasinal: %s", - "You can choose a different password at any time in the share dialog." : "Pode escoller un contrasinal diferente en calquera momento no diálogo de compartir.", - "Could not find share" : "Non foi posíbel atopar o recurso compartido", - "Share by mail" : "Compartido por correo", - "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite que os usuarios compartan unha ligazón personalizada ou un ficheiro ou cartafol enviándoo a un enderezo de correo.", + "You can choose a different password at any time in the share dialog." : "Pode elexir un contrasinal diferente en calquer momento no diálogo compartir.", + "Could not find share" : "Non puiden atopar o recurso a compartir", + "Share by mail" : "Compartir por correo", + "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite a usuarios compartir un enlace personalizado a un ficheiro ou carpeta indicando unha dirección de correo ", "Send password by mail" : "Enviar contrasinal por correo", - "Enforce password protection" : "Forzar a protección por contrasinal", - "Failed to send share by E-mail" : "Fallou o envío do recurso compartido por correo", - "%s shared »%s« with you on behalf of %s" : "%s compartiu «%s» con vostede no nome de %s", - "Failed to create the E-mail" : "Non foi posíbel crear o correo", - "Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Ola!,\n\n%s compartiu «%s» con vostede no nome de %s.\n\n%s\n\n", - "Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Ola!,\n\n%s compartiu «%s» con vostede.\n\n%s\n\n", - "Cheers!" : "Saúdos!", - "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you on behalf of %s.<br><br>" : "Ola!,<br><br>%s compartiu <a href=\"%s\">%s</a> con vostede no nome de %s.<br><br>", - "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you.<br><br>" : "Ola!,<br><br>%s compartiu <a href=\"%s\">%s</a> con vostede.<br><br>" + "Enforce password protection" : "Aplicar protección por contrasinal", + "Failed to send share by E-mail" : "Fallou ó compartir por correo", + "%s shared »%s« with you on behalf of %s" : "%s compartiu »%s« contigo en representación de %s", + "Failed to create the E-mail" : "Fallo ó crear o correo", + "Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hola,\n\n%s compartiu »%s« contigo en representación de %s.\n\n%s\n\n", + "Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hola,\n\n%s compartiu »%s« contigo.\n\n%s\n\n", + "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you on behalf of %s.<br><br>" : "Hola, <br><br>%s compartiu <a href=\"%s\">%s</a> contigo en representación de %s. <br><br>", + "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you.<br><br>" : "Hola, <br><br>%s compartiu <a href=\"%s\">%s</a>contigo, <br><br>" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/sharebymail/l10n/gl.json b/apps/sharebymail/l10n/gl.json index d378a2017e2..0e2e007d9ab 100644 --- a/apps/sharebymail/l10n/gl.json +++ b/apps/sharebymail/l10n/gl.json @@ -1,48 +1,47 @@ { "translations": { - "Shared with %1$s" : "Compartido con %1$s", + "Shared with %1$s" : "Compartido con %1$s ", "Shared with {email}" : "Compartido con {email}", - "Shared with %1$s by %2$s" : "Compartido con %1$s por %2$s", - "Shared with {email} by {actor}" : "Compartido con {email} por {actor}Compartido con {email} por {actor}", - "Password for mail share sent to %1$s" : "Enviouse un contrasinal para compartir por correo a %1$s", - "Password for mail share sent to {email}" : "Enviouse un contrasinal para compartir por correo a {email}", - "Password for mail share sent to you" : "Envióuselle un contrasinal para compartir por correo", + "Shared with %1$s by %2$s" : "Compartido con %1$spor %2$s", + "Shared with {email} by {actor}" : "Compartido con {email} por {actor}", + "Password for mail share sent to %1$s" : "Contrasinal para compartir por correo enviada a %1$s", + "Password for mail share sent to {email}" : "Contrasinal para compartir por correo enviada a {email}", + "Password for mail share sent to you" : "Contrasinal para compartir por correo enviada a tí mesmo", "You shared %1$s with %2$s by mail" : "Compartiu %1$s con %2$s por correo", "You shared {file} with {email} by mail" : "Compartiu {file} con {email} por correo", - "%3$s shared %1$s with %2$s by mail" : "%3$s compartiu %1$s con %2$s por correo", + "%3$s shared %1$s with %2$s by mail" : "%3$s compartido %1$scon %2$s por correo", "{actor} shared {file} with {email} by mail" : "{actor} compartiu {file} con {email} por correo", - "Password to access %1$s was sent to %2s" : "Envióuselle a %2s un contrasinal para acceder a %1$s", - "Password to access {file} was sent to {email}" : "Envióuselle a {email} un contrasinal para acceder a {file}", - "Password to access %1$s was sent to you" : "Envióuselle a vostede un correo para acceder a %1$s", - "Password to access {file} was sent to you" : "Envióuselle a vostede un correo para acceder a {file}", - "Sharing %s failed, this item is already shared with %s" : "Fallou a compartición de %s, este elemento xa está compartido con %s", - "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Non é posíbel enviarlle o contrasinal xerado automaticamente. Estabeleza un enderezo de correo correcto nos seus axustes persoais e ténteo de novo.", - "Failed to send share by email" : "Fallou o envío do recurso compartido por correo", - "%s shared »%s« with you" : "%s compartiu «%s» con vostede", - "%s shared »%s« with you." : "%s compartiu «%s» con vostede.", - "Click the button below to open it." : "Prema no botón de embaixo para abrilo.", - "Open »%s«" : "Abrir «%s»", + "Password to access %1$s was sent to %2s" : "Contrasinal para acceder a %1$s foi enviada a %2s", + "Password to access {file} was sent to {email}" : "Contrasinal para acceder a {file} foi enviada a {email}", + "Password to access %1$s was sent to you" : "Contrasinal para acceder a %1$s foi enviada a tí mesmo", + "Password to access {file} was sent to you" : "Contrasinal para acceder a {file} foi enviada a tí mesmo", + "Sharing %s failed, this item is already shared with %s" : "Compartir %s fallou, este obxecto xa está compartido con %s", + "We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Non podemos enviarte o contrasinal auto-xenerado. Por favor indica unha dirección de correo válida nas túas preferencias persoais e proba de novo.", + "Failed to send share by email" : "Fallou ó envío para compartir por correo", + "%s shared »%s« with you" : "%s compartiu »%s« contigo", + "%s shared »%s« with you." : "%s compartiu »%s« contigo.", + "Click the button below to open it." : "Prema no botón máis abaixo para abrilo.", + "Open »%s«" : "Abrir »%s«", "%s via %s" : "%s vía %s", - "Password to access »%s« shared to you by %s" : "O contrasinal para acceder a «%s» foi compartido con vostede por %s", - "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s compartiu «%s» con vostede.\nDebería ter recibido un correo por separado cunha ligazón acceder.\n", - "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s compartiu «%s» con vostede. Debería ter recibido un correo por separado cunha ligazón acceder.", - "Password to access »%s«" : "Contrasinal para acceder a «%s»", + "%s shared »%s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%s compartiu »%s« contigo.\nDebes ter recibido xa un correo por separado cun enlace para acceder a él.\n", + "%s shared »%s« with you. You should have already received a separate mail with a link to access it." : "%s compartiu »%s« contigo. Debes ter recibido xa un correo por separado cun enlace para acceder a él.", + "Password to access »%s« shared to you by %s" : "Contrasinal para acceder »%s« compartido contigo por %s", + "Password to access »%s«" : "Contrasinal para acceder »%s«", "It is protected with the following password: %s" : "Está protexido co seguinte contrasinal: %s", - "Password to access »%s« shared with %s" : "Contrasinal para acceder a «%s» compartida con %s", - "You just shared »%s« with %s. The share was already send to the recipient. Due to the security policies defined by the administrator of %s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Ven de de compartir «%s» con %s. O recurso compartido xa foi enviado ao destinatario. Por mor das regras de seguridade definidas polo administrador de %s cada recurso compartido necesita ser protexido por un contrasinal e non está permitido que vostede envíe o contrasinal directamente ao destinatario. Polo tanto, necesita enviar manualmente o contrasinal ao destinatario.", + "You just shared »%s« with %s. The share was already send to the recipient. Due to the security policies defined by the administrator of %s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Compartiu »%s« con %s. O recurso a compartir foi xa enviado ó destinatario. Debido ás políticas de seguridade definidas polo administrador de %s cada recurso a compartir precisa ser protexido por contrasinal e non está permitido enviar o contrasinal directamente ó destinatario. Polo tanto precisa reenviar o contrasinal ó destinatario manualmente.", + "Password to access »%s« shared with %s" : "Contrasinal para acceder a »%s« compartido con %s", "This is the password: %s" : "Este é o contrasinal: %s", - "You can choose a different password at any time in the share dialog." : "Pode escoller un contrasinal diferente en calquera momento no diálogo de compartir.", - "Could not find share" : "Non foi posíbel atopar o recurso compartido", - "Share by mail" : "Compartido por correo", - "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite que os usuarios compartan unha ligazón personalizada ou un ficheiro ou cartafol enviándoo a un enderezo de correo.", + "You can choose a different password at any time in the share dialog." : "Pode elexir un contrasinal diferente en calquer momento no diálogo compartir.", + "Could not find share" : "Non puiden atopar o recurso a compartir", + "Share by mail" : "Compartir por correo", + "Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite a usuarios compartir un enlace personalizado a un ficheiro ou carpeta indicando unha dirección de correo ", "Send password by mail" : "Enviar contrasinal por correo", - "Enforce password protection" : "Forzar a protección por contrasinal", - "Failed to send share by E-mail" : "Fallou o envío do recurso compartido por correo", - "%s shared »%s« with you on behalf of %s" : "%s compartiu «%s» con vostede no nome de %s", - "Failed to create the E-mail" : "Non foi posíbel crear o correo", - "Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Ola!,\n\n%s compartiu «%s» con vostede no nome de %s.\n\n%s\n\n", - "Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Ola!,\n\n%s compartiu «%s» con vostede.\n\n%s\n\n", - "Cheers!" : "Saúdos!", - "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you on behalf of %s.<br><br>" : "Ola!,<br><br>%s compartiu <a href=\"%s\">%s</a> con vostede no nome de %s.<br><br>", - "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you.<br><br>" : "Ola!,<br><br>%s compartiu <a href=\"%s\">%s</a> con vostede.<br><br>" + "Enforce password protection" : "Aplicar protección por contrasinal", + "Failed to send share by E-mail" : "Fallou ó compartir por correo", + "%s shared »%s« with you on behalf of %s" : "%s compartiu »%s« contigo en representación de %s", + "Failed to create the E-mail" : "Fallo ó crear o correo", + "Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hola,\n\n%s compartiu »%s« contigo en representación de %s.\n\n%s\n\n", + "Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hola,\n\n%s compartiu »%s« contigo.\n\n%s\n\n", + "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you on behalf of %s.<br><br>" : "Hola, <br><br>%s compartiu <a href=\"%s\">%s</a> contigo en representación de %s. <br><br>", + "Hey there,<br><br>%s shared <a href=\"%s\">%s</a> with you.<br><br>" : "Hola, <br><br>%s compartiu <a href=\"%s\">%s</a>contigo, <br><br>" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/sharebymail/tests/ShareByMailProviderTest.php b/apps/sharebymail/tests/ShareByMailProviderTest.php index a04b0a355cf..95d746cfb46 100644 --- a/apps/sharebymail/tests/ShareByMailProviderTest.php +++ b/apps/sharebymail/tests/ShareByMailProviderTest.php @@ -114,7 +114,7 @@ class ShareByMailProviderTest extends TestCase { $this->secureRandom = $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock(); $this->mailer = $this->getMockBuilder('\OCP\Mail\IMailer')->getMock(); $this->urlGenerator = $this->getMockBuilder(IURLGenerator::class)->getMock(); - $this->share = $this->getMockBuilder('\OCP\Share\IShare')->getMock(); + $this->share = $this->getMockBuilder(IShare::class)->getMock(); $this->activityManager = $this->getMockBuilder('OCP\Activity\IManager')->getMock(); $this->settingsManager = $this->getMockBuilder(SettingsManager::class)->disableOriginalConstructor()->getMock(); $this->defaults = $this->createMock(Defaults::class); @@ -181,7 +181,7 @@ class ShareByMailProviderTest extends TestCase { } public function testCreate() { - $share = $this->getMockBuilder('\OCP\Share\IShare')->getMock(); + $share = $this->getMockBuilder(IShare::class)->getMock(); $share->expects($this->any())->method('getSharedWith')->willReturn('user1'); $node = $this->getMockBuilder(File::class)->getMock(); diff --git a/apps/systemtags/js/systemtagsfilelist.js b/apps/systemtags/js/systemtagsfilelist.js index a40eb548d9f..ad6bf7dd78d 100644 --- a/apps/systemtags/js/systemtagsfilelist.js +++ b/apps/systemtags/js/systemtagsfilelist.js @@ -234,6 +234,9 @@ }, reload: function() { + // there is only root + this._setCurrentDir('/', false); + if (!this._systemTagIds.length) { // don't reload this.updateEmptyContent(); diff --git a/apps/theming/l10n/en_GB.js b/apps/theming/l10n/en_GB.js index 8d18b1ff95c..768cf51aba5 100644 --- a/apps/theming/l10n/en_GB.js +++ b/apps/theming/l10n/en_GB.js @@ -9,6 +9,14 @@ OC.L10N.register( "The given web address is too long" : "The given web address is too long", "The given slogan is too long" : "The given slogan is too long", "The given color is invalid" : "The given colour is invalid", + "There is no error, the file uploaded with success" : "There is no error, the file uploaded with success", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "The uploaded file exceeds the upload_max_filesize directive in php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form", + "The uploaded file was only partially uploaded" : "The uploaded file was only partially uploaded", + "No file was uploaded" : "No file was uploaded", + "Missing a temporary folder" : "Missing a temporary folder", + "Failed to write file to disk." : "Failed to write file to disk.", + "A PHP extension stopped the file upload." : "A PHP extension stopped the file upload.", "No file uploaded" : "No file uploaded", "Unsupported image type" : "Unsupported image type", "You are already using a custom theme" : "You are already using a custom theme", diff --git a/apps/theming/l10n/en_GB.json b/apps/theming/l10n/en_GB.json index ace85849a36..cd6f2d72ab0 100644 --- a/apps/theming/l10n/en_GB.json +++ b/apps/theming/l10n/en_GB.json @@ -7,6 +7,14 @@ "The given web address is too long" : "The given web address is too long", "The given slogan is too long" : "The given slogan is too long", "The given color is invalid" : "The given colour is invalid", + "There is no error, the file uploaded with success" : "There is no error, the file uploaded with success", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "The uploaded file exceeds the upload_max_filesize directive in php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form", + "The uploaded file was only partially uploaded" : "The uploaded file was only partially uploaded", + "No file was uploaded" : "No file was uploaded", + "Missing a temporary folder" : "Missing a temporary folder", + "Failed to write file to disk." : "Failed to write file to disk.", + "A PHP extension stopped the file upload." : "A PHP extension stopped the file upload.", "No file uploaded" : "No file uploaded", "Unsupported image type" : "Unsupported image type", "You are already using a custom theme" : "You are already using a custom theme", diff --git a/apps/theming/l10n/es.js b/apps/theming/l10n/es.js index dbcaed2cfe4..e9a7e3efb37 100644 --- a/apps/theming/l10n/es.js +++ b/apps/theming/l10n/es.js @@ -9,6 +9,14 @@ OC.L10N.register( "The given web address is too long" : "La dirección provista es muy larga", "The given slogan is too long" : "El eslogan provisto es muy largo", "The given color is invalid" : "El color provisto es inválido", + "There is no error, the file uploaded with success" : "No ha habido errores, el archivo ha subido satisfactoriamente", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo para subir excede la directiva upload_max_filesize en php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo para subir excede la directiva MAX_FILE_SIZE que se especifió en el formulario HTML", + "The uploaded file was only partially uploaded" : "El archivo para subir ha sido solo parcialmente subido", + "No file was uploaded" : "No se ha subido ningún archivo", + "Missing a temporary folder" : "Falta una carpeta temporal", + "Failed to write file to disk." : "Fallo al escribir el archivo al disco.", + "A PHP extension stopped the file upload." : "Una extensión de PHP ha detenido la subida del archivo.", "No file uploaded" : "No se ha subido archivo", "Unsupported image type" : "Tipo de imagen no soportado", "You are already using a custom theme" : "Usted ya usa un tema personalizado", diff --git a/apps/theming/l10n/es.json b/apps/theming/l10n/es.json index 0c183dc78e5..32a2cfca9cb 100644 --- a/apps/theming/l10n/es.json +++ b/apps/theming/l10n/es.json @@ -7,6 +7,14 @@ "The given web address is too long" : "La dirección provista es muy larga", "The given slogan is too long" : "El eslogan provisto es muy largo", "The given color is invalid" : "El color provisto es inválido", + "There is no error, the file uploaded with success" : "No ha habido errores, el archivo ha subido satisfactoriamente", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo para subir excede la directiva upload_max_filesize en php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo para subir excede la directiva MAX_FILE_SIZE que se especifió en el formulario HTML", + "The uploaded file was only partially uploaded" : "El archivo para subir ha sido solo parcialmente subido", + "No file was uploaded" : "No se ha subido ningún archivo", + "Missing a temporary folder" : "Falta una carpeta temporal", + "Failed to write file to disk." : "Fallo al escribir el archivo al disco.", + "A PHP extension stopped the file upload." : "Una extensión de PHP ha detenido la subida del archivo.", "No file uploaded" : "No se ha subido archivo", "Unsupported image type" : "Tipo de imagen no soportado", "You are already using a custom theme" : "Usted ya usa un tema personalizado", diff --git a/apps/theming/l10n/is.js b/apps/theming/l10n/is.js index 1c97194763f..b09f2bf2801 100644 --- a/apps/theming/l10n/is.js +++ b/apps/theming/l10n/is.js @@ -9,6 +9,14 @@ OC.L10N.register( "The given web address is too long" : "Uppgefið veffang er of langt", "The given slogan is too long" : "Uppgefið slagorð er of langt", "The given color is invalid" : "Uppgefinn litur er ógildur", + "There is no error, the file uploaded with success" : "Engin villa, innsending heppnaðist", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Innsend skrá er stærri en upload_max stillingin í php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Innsenda skráin er stærri en MAX_FILE_SIZE sem skilgreint er í HTML sniðinu", + "The uploaded file was only partially uploaded" : "Einungis hluti af innsendri skrá skilaði sér", + "No file was uploaded" : "Engin skrá skilaði sér", + "Missing a temporary folder" : "Vantar bráðabirgðamöppu", + "Failed to write file to disk." : "Tókst ekki að skrifa skrá á disk.", + "A PHP extension stopped the file upload." : "PHP-viðbót stöðvaði innsendingu skráar.", "No file uploaded" : "Engin skrá var send inn", "Unsupported image type" : "Óstudd gerð myndar", "You are already using a custom theme" : "Þú ert nú þegar að nota sérsniðið þema", diff --git a/apps/theming/l10n/is.json b/apps/theming/l10n/is.json index 0e75a583c11..2489448cb78 100644 --- a/apps/theming/l10n/is.json +++ b/apps/theming/l10n/is.json @@ -7,6 +7,14 @@ "The given web address is too long" : "Uppgefið veffang er of langt", "The given slogan is too long" : "Uppgefið slagorð er of langt", "The given color is invalid" : "Uppgefinn litur er ógildur", + "There is no error, the file uploaded with success" : "Engin villa, innsending heppnaðist", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Innsend skrá er stærri en upload_max stillingin í php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Innsenda skráin er stærri en MAX_FILE_SIZE sem skilgreint er í HTML sniðinu", + "The uploaded file was only partially uploaded" : "Einungis hluti af innsendri skrá skilaði sér", + "No file was uploaded" : "Engin skrá skilaði sér", + "Missing a temporary folder" : "Vantar bráðabirgðamöppu", + "Failed to write file to disk." : "Tókst ekki að skrifa skrá á disk.", + "A PHP extension stopped the file upload." : "PHP-viðbót stöðvaði innsendingu skráar.", "No file uploaded" : "Engin skrá var send inn", "Unsupported image type" : "Óstudd gerð myndar", "You are already using a custom theme" : "Þú ert nú þegar að nota sérsniðið þema", diff --git a/apps/theming/l10n/ru.js b/apps/theming/l10n/ru.js index b1ba315a349..2a46add3c0d 100644 --- a/apps/theming/l10n/ru.js +++ b/apps/theming/l10n/ru.js @@ -9,6 +9,14 @@ OC.L10N.register( "The given web address is too long" : "Указанный веб адрес слишком длинный", "The given slogan is too long" : "Указанный слоган слишком длинный", "The given color is invalid" : "Задан неправильный цвет", + "There is no error, the file uploaded with success" : "Файл загружен успешно. Ошибок нет.", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Размер загруженного файла превышает установленный предел upload_max_filesize в php.ini:", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Размер загруженного файла превышает установленный предел MAX_FILE_SIZE в HTML-форме", + "The uploaded file was only partially uploaded" : "Файл загружен лишь частично", + "No file was uploaded" : "Не было загружено ни одного файла", + "Missing a temporary folder" : "Отсутствует временный каталог", + "Failed to write file to disk." : "Ошибка записи на диск.", + "A PHP extension stopped the file upload." : "PHP прервало загрузку файла.", "No file uploaded" : "Нет загруженных файлов", "Unsupported image type" : "Неподдерживаемый тип изображения", "You are already using a custom theme" : "Вы уже используете настраиваемую тему", diff --git a/apps/theming/l10n/ru.json b/apps/theming/l10n/ru.json index 17c559141e7..f363f3ab151 100644 --- a/apps/theming/l10n/ru.json +++ b/apps/theming/l10n/ru.json @@ -7,6 +7,14 @@ "The given web address is too long" : "Указанный веб адрес слишком длинный", "The given slogan is too long" : "Указанный слоган слишком длинный", "The given color is invalid" : "Задан неправильный цвет", + "There is no error, the file uploaded with success" : "Файл загружен успешно. Ошибок нет.", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Размер загруженного файла превышает установленный предел upload_max_filesize в php.ini:", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Размер загруженного файла превышает установленный предел MAX_FILE_SIZE в HTML-форме", + "The uploaded file was only partially uploaded" : "Файл загружен лишь частично", + "No file was uploaded" : "Не было загружено ни одного файла", + "Missing a temporary folder" : "Отсутствует временный каталог", + "Failed to write file to disk." : "Ошибка записи на диск.", + "A PHP extension stopped the file upload." : "PHP прервало загрузку файла.", "No file uploaded" : "Нет загруженных файлов", "Unsupported image type" : "Неподдерживаемый тип изображения", "You are already using a custom theme" : "Вы уже используете настраиваемую тему", diff --git a/apps/workflowengine/l10n/id.js b/apps/workflowengine/l10n/id.js index f1505694a22..2e22dd57a98 100644 --- a/apps/workflowengine/l10n/id.js +++ b/apps/workflowengine/l10n/id.js @@ -1,9 +1,9 @@ OC.L10N.register( "workflowengine", { - "Successfully saved" : "Berhasil disimpan", + "Saved" : "Disimpan", "Saving failed:" : "Penyimpanan gagal:", - "File mime type" : "Tipe MIME berkas", + "File MIME type" : "Berkas tipe MIME", "is" : "adalah", "is not" : "bukan", "matches" : "cocok dengan", @@ -50,6 +50,24 @@ OC.L10N.register( "The given time span is invalid" : "Rentang waktu yang diberikan tidak sah", "The given start time is invalid" : "Waktu mulai yang diberikan tidak sah", "The given end time is invalid" : "Waktu selesai yang diberikan tidak sah", - "The given group does not exist" : "Grup yang diberikan tidak ada" + "The given group does not exist" : "Grup yang diberikan tidak ada", + "Check %s is invalid or does not exist" : "Cek %s tidak valid atau tidak ada", + "Operation #%s does not exist" : "Operasi #%s tidak ada", + "Operation %s does not exist" : "Operasi %s tidak ada", + "Operation %s is invalid" : "Operasi %s tidak valid", + "Check %s does not exist" : "Cek %s tidak ada", + "Check %s is invalid" : "Cek %s tidak valid", + "Check #%s does not exist" : "Cek #%s tidak ada", + "Workflow" : "Alur kerja", + "Open documentation" : "Buka dokumentasi", + "Add rule group" : "Tambahkan aturan grup ", + "Short rule description" : "Deskripsi aturan singkat", + "Add rule" : "Tambahkan aturan", + "Reset" : "Setel ulang", + "Save" : "Simpan", + "Saving…" : "Menyimpan...", + "Loading…" : "Memuat...", + "Successfully saved" : "Berhasil disimpan", + "File mime type" : "Tipe MIME berkas" }, "nplurals=1; plural=0;"); diff --git a/apps/workflowengine/l10n/id.json b/apps/workflowengine/l10n/id.json index 5091cd67bd3..319caa1ba6e 100644 --- a/apps/workflowengine/l10n/id.json +++ b/apps/workflowengine/l10n/id.json @@ -1,7 +1,7 @@ { "translations": { - "Successfully saved" : "Berhasil disimpan", + "Saved" : "Disimpan", "Saving failed:" : "Penyimpanan gagal:", - "File mime type" : "Tipe MIME berkas", + "File MIME type" : "Berkas tipe MIME", "is" : "adalah", "is not" : "bukan", "matches" : "cocok dengan", @@ -48,6 +48,24 @@ "The given time span is invalid" : "Rentang waktu yang diberikan tidak sah", "The given start time is invalid" : "Waktu mulai yang diberikan tidak sah", "The given end time is invalid" : "Waktu selesai yang diberikan tidak sah", - "The given group does not exist" : "Grup yang diberikan tidak ada" + "The given group does not exist" : "Grup yang diberikan tidak ada", + "Check %s is invalid or does not exist" : "Cek %s tidak valid atau tidak ada", + "Operation #%s does not exist" : "Operasi #%s tidak ada", + "Operation %s does not exist" : "Operasi %s tidak ada", + "Operation %s is invalid" : "Operasi %s tidak valid", + "Check %s does not exist" : "Cek %s tidak ada", + "Check %s is invalid" : "Cek %s tidak valid", + "Check #%s does not exist" : "Cek #%s tidak ada", + "Workflow" : "Alur kerja", + "Open documentation" : "Buka dokumentasi", + "Add rule group" : "Tambahkan aturan grup ", + "Short rule description" : "Deskripsi aturan singkat", + "Add rule" : "Tambahkan aturan", + "Reset" : "Setel ulang", + "Save" : "Simpan", + "Saving…" : "Menyimpan...", + "Loading…" : "Memuat...", + "Successfully saved" : "Berhasil disimpan", + "File mime type" : "Tipe MIME berkas" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/core/css/apps.scss b/core/css/apps.scss index 4f17c91764e..159982e0bf1 100644 --- a/core/css/apps.scss +++ b/core/css/apps.scss @@ -864,6 +864,12 @@ kbd { width: 16px; padding: 0 10px; } + > input.checkbox + label { + padding: 0 !important; + &::before { + margin: -2px 12px 0; + } + } } [class^='icon-'], [class*=' icon-']{ diff --git a/core/css/guest.css b/core/css/guest.css index dacf79b37bc..ee6d44d98e8 100644 --- a/core/css/guest.css +++ b/core/css/guest.css @@ -389,6 +389,7 @@ form .warning input[type='checkbox']+label { margin: 10px 0; text-align: center; width: 100%; + text-shadow: 0 0 2px rgba(0, 0, 0, .4); // better readability on bright background } #forgot-password { padding: 11px; @@ -559,6 +560,7 @@ fieldset.update legend + p { p.info { margin: 0 auto; padding-top: 20px; + text-shadow: 0 0 2px rgba(0, 0, 0, .4); // better readability on bright background -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; diff --git a/core/css/header.scss b/core/css/header.scss index 3b20c801c1b..c03fa2aa0d3 100644 --- a/core/css/header.scss +++ b/core/css/header.scss @@ -424,6 +424,7 @@ nav { &:active, &.active { opacity: 1; + box-shadow: inset 2px 0 $color-primary; } } } diff --git a/core/css/icons.scss b/core/css/icons.scss index 6d855381fae..36c550575de 100644 --- a/core/css/icons.scss +++ b/core/css/icons.scss @@ -94,6 +94,10 @@ img, object, video, button, textarea, input, select { background-image: url('../img/actions/add.svg?v=1'); } +.icon-address { + background-image: url('../img/actions/address.svg?v=1'); +} + .icon-audio { background-image: url('../img/actions/audio.svg?v=1'); } @@ -348,6 +352,10 @@ img, object, video, button, textarea, input, select { background-image: url('../img/actions/star.svg?v=1'); } +.icon-star-dark { + background-image: url('../img/actions/star-dark.svg?v=1'); +} + .icon-starred { &:hover, &:focus { background-image: url('../img/actions/star.svg?v=1'); diff --git a/core/img/actions/address.svg b/core/img/actions/address.svg new file mode 100644 index 00000000000..2e4c19c125b --- /dev/null +++ b/core/img/actions/address.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xml:space="preserve" height="16" width="16" enable-background="new 0 0 100 100" y="0px" x="0px" viewBox="0 0 16 16"><path d="m8.2945 1c-2.6478 0-4.7945 2.1469-4.7945 4.7945 0 2.6479 4.7945 9.2055 4.7945 9.2055s4.7945-6.5576 4.7945-9.2055c0-2.6476-2.147-4.7945-4.7945-4.7945zm0 7.4793c-1.4828 0-2.6847-1.2019-2.6847-2.6851 0-1.4828 1.2019-2.6844 2.6847-2.6844 1.4832 0 2.6847 1.2015 2.6847 2.6844 0.000345 1.4832-1.2015 2.6851-2.6847 2.6851z" stroke-width=".46667"/></svg> diff --git a/core/l10n/eu.js b/core/l10n/eu.js index 96df4005ce4..609f13ad839 100644 --- a/core/l10n/eu.js +++ b/core/l10n/eu.js @@ -46,12 +46,12 @@ OC.L10N.register( "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "%s datu-basearen eskema eguneratu daitekeen egiaztatzen (honek luzerako hartu dezake datu-basearen arabera)", "Checked database schema update for apps" : "Egiaztatuta aplikazioen datu-basearen zerbitzariaren eguneraketa", "Updated \"%s\" to %s" : "\"%s\" %s-ra eguneratua", - "Set log level to debug" : "Set log level to debug", - "Reset log level" : "Reset log level", + "Set log level to debug" : "Log maila debug-era ezarri", + "Reset log level" : "Log maila berrezarri", "Starting code integrity check" : "Kodearen integritate egiaztapena hasten", "Finished code integrity check" : "Kodearen integritate egiaztapena bukatuta", - "%s (3rdparty)" : "%s (3rdparty)", - "%s (incompatible)" : "%s (incompatible)", + "%s (3rdparty)" : "%s (hirugarrenekoa)", + "%s (incompatible)" : "%s (bateraezina)", "Following apps have been disabled: %s" : "Hurrengo aplikazioak desgaitu egin dira: %s", "Already up to date" : "Dagoeneko eguneratuta", "Search contacts …" : "Bilatu kontaktuak ...", @@ -61,6 +61,7 @@ OC.L10N.register( "Loading your contacts …" : "Zure kontaktuak kargatzen...", "Looking for {term} …" : "{term} bilatzen...", "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Kodearen integritate egiaztapenarekin arazoak egon dira. Informazio gehiago…</a>", + "No action available" : "Ez dago ekintzarik eskuragarri", "Error fetching contact actions" : "Errorea kontaktu-ekintzak eskuratzean", "Settings" : "Ezarpenak", "Connection to server lost" : "Zerbitzariarekiko konexioa eten da", @@ -84,6 +85,7 @@ OC.L10N.register( "No files in here" : "Ez dago fitxategirik hemen", "Choose" : "Aukeratu", "Copy" : "Kopiatu", + "Move" : "Mugitu", "Error loading file picker template: {error}" : "Errorea fitxategi hautatzaile txantiloiak kargatzerakoan: {error}", "OK" : "Ados", "Error loading message template: {error}" : "Errorea mezu txantiloia kargatzean: {error}", @@ -99,6 +101,8 @@ OC.L10N.register( "({count} selected)" : "({count} hautatuta)", "Error loading file exists template" : "Errorea fitxategia existitzen da txantiloiak kargatzerakoan", "Pending" : "Zain", + "Copy to {folder}" : "{karpetara} kopiatu", + "Move to {folder}" : "{karpetara} mugitu", "Very weak password" : "Pasahitz oso ahula", "Weak password" : "Pasahitz ahula", "So-so password" : "Halamoduzko pasahitza", @@ -106,8 +110,8 @@ OC.L10N.register( "Strong password" : "Pasahitz sendoa", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Zure web zerbitzaria ez dago oraindik konfiguratuta fitxategia sinkronizazioa ahalbidetzeko WebDAV interfazea badirudi hautsita dagoela.", "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta \"{url}\" irekitzeko. Informazio gehiago gure <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentazioan </a> aurki daiteke.", - "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features.", - "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.", + "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Zerbitzari honek ez du Interneteko konexiorik: Helburu asko ezin dira atzitu.Honek esan nahi du kanpo biltegiratzeak, eguneraketei buruzko notifikazioak edo hirugarrenen aplikazioak ez dutela funtzionatuko. Urruneko fitxategiak atzitzea eta notifikazio emailek ere ez dute funtzionatuko ziuraski. Internet konexioa gaitzea gomendatzen dizugu, ezaugarri guzti hauek nahi badituzu. ", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Ez da katxe memoriarik konfiguratu. Funtzionamendua hobetzeko konfigura mesedez configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.", "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it.", "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.", @@ -115,8 +119,9 @@ OC.L10N.register( "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)", "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend</a> to use following settings in the <code>php.ini</code>:" : "PHP OPcache ez dago era egokian ezarrita. Hobe funtzionatzeko gomendatzen dugu hurrengo ezarpenak erabiltzea php.ini fitxategian:", "Error occurred while checking server setup" : "Akatsa gertatu da zerbitzariaren konfigurazioa egiaztatzean", - "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting.", - "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>.", + "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Zure datu karpeta eta zure fitxategiak Internetetik atzigarri daude. .htaccess fitxategia ez dabil. Bereziki gomendatzen da zure web zerbitzariazure datu karpeta atzigarri ez egoteko konfiguratzea, edo datu-karpeta ateratzeaweb zerbitzariaren errotik", + "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP goiburua ez da \"{expected}\" hau bezalakoa. Segurtasun edo pribatutasuna arazo bat da hau eta ezarpen hau egokitzea gomendatzen dizugu", + "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "\"Garraio segurtasun-zehatza\" HTTP goiburua ez dago konfiguratua gutxienez \"{seconds}\" segundurekin. Segurtasuna hobetzeko HSTS gaitzea gomendatzen dugu, <a href=\"{docUrl}\" rel=\"noreferrer\">segurtasun aholkuak</a>gida jarraiki.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>.", "Shared" : "Elkarbanatuta", "Shared with {recipients}" : "{recipients}-rekin partekatua.", @@ -160,13 +165,15 @@ OC.L10N.register( "Could not unshare" : "Ezin izan da despartekatu", "Error while sharing" : "Errore bat egon da elkarbanatzean", "Share details could not be loaded for this item." : "Partekatze xehetasunak ezin izan dira elementu honentzat kargatu.", + "_At least {count} character is needed for autocompletion_::_At least {count} characters are needed for autocompletion_" : ["Autosaketaren funtziorako {count} karaketere gutxienez behar dira","Autosaketaren funtziorako {count} karaketere gutxienez behar dira"], + "This list is maybe truncated - please refine your search term to see more results." : "Gerta daiteke zerrenda hau moztu behar izatea - mesedez, zure bilaketa birfindu emaitza gehiago ikusteko", "No users or groups found for {search}" : "Ez dira {search} -rentzat erabiltzaile edo talderik aurkitu", "No users found for {search}" : "Ez dira {search} -rentzat erabiltzailerik aurkitu", "An error occurred. Please try again" : "Errore bat gertatu da. Saiatu berriro.", - "{sharee} (group)" : "{sharee} (group)", - "{sharee} (remote)" : "{sharee} (remote)", + "{sharee} (group)" : "{sharee} (taldea)", + "{sharee} (remote)" : "{sharee} (urrunekoa)", "{sharee} (email)" : "{sharee} (email)", - "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", + "{sharee} ({type}, {owner})" : "{sharee} ({type}, {jabea})", "Share" : "Partekatu", "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Parteka ezazu jendearekin taldeko erabiltzailea, federatutako hodei baten IDa edo e-posta helbide bat sartuta.", "Share with other people by entering a user or group or a federated cloud ID." : "Parteka ezazu jendearekin taldeko erabiltzailea edo federatutako hodei baten IDa sartuta.", @@ -190,6 +197,7 @@ OC.L10N.register( "sunny" : "eguzkitsua", "Hello {name}, the weather is {weather}" : "Kaixo {name}, eguraldia {weather} da", "Hello {name}" : "Kaixo {name}", + "<strong>These are your search results<script>alert(1)</script></strong>" : "<strong>Hauek dira zure bilaketaren emaitzak:<script>alert(1)</script></strong>", "new" : "Berria", "_download %n file_::_download %n files_" : ["%n fitxategia jaitsi","jaitsi %n fitxategiak"], "The update is in progress, leaving this page might interrupt the process in some environments." : "Eguneratzea abian da, orri hau utziz prozesua eten liteke ingurune batzuetan.", @@ -199,6 +207,7 @@ OC.L10N.register( "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue.", "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>." : "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>.", "Continue to Nextcloud" : "Nextcloudera abiatu", + "_The update was successful. Redirecting you to Nextcloud in %n second._::_The update was successful. Redirecting you to Nextcloud in %n seconds._" : ["Eguneraketa ongi joan da. %n segundu barru Nextcloud-era birbideratuko zaitugu","Eguneraketa ongi joan da. %n segundu barru Nextcloud-era birbideratuko zaitugu"], "Searching other places" : "Beste lekuak bilatzen", "No search results in other folders for {tag}{filter}{endtag}" : "{tag}{filter}{endtag}-rentzat ez da emaitzarik topatu karpetetan", "_{count} search result in another folder_::_{count} search results in other folders_" : ["{count} bilaketa-emaitza beste karpeta batean","{count} bilaketa-emaitzak beste karpetetan"], @@ -212,6 +221,8 @@ OC.L10N.register( "The specified document has not been found on the server." : "Zehaztutako dokumentua ez da zerbitzarian aurkitu.", "You can click here to return to %s." : "Hemen klika dezakezu %sra itzultzeko.", "Internal Server Error" : "Zerbitzariaren Barne Errorea", + "The server was unable to complete your request." : "Zerbitzariak ezin du zure eskaera bete", + "If this happens again, please send the technical details below to the server administrator." : "Berriz gertatzen bada, ondoko datu teknikoak zure administratzaileari pasa iezaiozu mesedez.", "More details can be found in the server log." : "Zehaztapen gehiago zerbitzariaren egunerokoan aurki daitezke.", "Technical details" : "Arazo teknikoak", "Remote Address: %s" : "Urruneko Helbidea: %s", @@ -224,7 +235,7 @@ OC.L10N.register( "Trace" : "Arrastoa", "Security warning" : "Segurtasun abisua", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Zure data karpeta eta fitxategiak interneten bidez eskuragarri egon daitezke .htaccess fitxategia ez delako funtzionatzen ari.", - "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Zure zerbitzaria ongi konfiguratzeko informazioa topatzeko <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentazioa begiratu mesedez</a>.", "Create an <strong>admin account</strong>" : "Sortu <strong>kudeatzaile kontu<strong> bat", "Username" : "Erabiltzaile izena", "Storage & database" : "Biltegia & datubasea", @@ -238,18 +249,19 @@ OC.L10N.register( "Database name" : "Datubasearen izena", "Database tablespace" : "Datu basearen taula-lekua", "Database host" : "Datubasearen hostalaria", - "Please specify the port number along with the host name (e.g., localhost:5432)." : "Please specify the port number along with the host name (e.g., localhost:5432).", - "Performance warning" : "Errendimendua abisua", - "SQLite will be used as database." : "SQLite will be used as database.", - "For larger installations we recommend to choose a different database backend." : "For larger installations we recommend to choose a different database backend.", - "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especially when using the desktop client for file syncing the use of SQLite is discouraged.", + "Please specify the port number along with the host name (e.g., localhost:5432)." : "Makinaren izenarekin batera portua ezarri (adb. localhost:5432).", + "Performance warning" : "Errendimendu abisua", + "SQLite will be used as database." : "SQLite datubase bezala erabiliko da.", + "For larger installations we recommend to choose a different database backend." : "Instalazio handientzako beste datubase sistema bat erabiltzea gomendatzen da.", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Fitxategiak sinkronizatzeko idazmahai aplikazioa erabili nahi badugu SQLite erabiltzea ez da gomendatzen. is discouraged.", "Finish setup" : "Bukatu konfigurazioa", "Finishing …" : "Bukatzen...", "Need help?" : "Laguntza behar al duzu?", "See the documentation" : "Ikusi dokumentazioa", - "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page.", + "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Aplikazio honek JavaScript eskatzen du ondo funtzionatzeko. Mesedez {linkstart}JavaScript gaitu {linkend}eta webgunea birkargatu.", "More apps" : "Aplikazio gehiago", "Search" : "Bilatu", + "Reset search" : "Bilaketa berrezarri", "Confirm your password" : "Berretsi pasahitza", "Server side authentication failed!" : "Zerbitzari aldeko autentifikazioak huts egin du!", "Please contact your administrator." : "Mesedez jarri harremetan zure administradorearekin.", @@ -261,6 +273,8 @@ OC.L10N.register( "Log in" : "Hasi saioa", "Stay logged in" : "Ez amaitu saioa", "Alternative Logins" : "Beste erabiltzaile izenak", + "Account access" : "Kontuaren sarbidea", + "You are about to grant %s access to your %s account." : "%s kontuari %sra sarbidea emango diozu", "App token" : "Aplikazio-tokena", "Alternative login using app token" : "Ordezko saio-hasiera aplikazio-tokena erabilta", "Redirecting …" : "Birbideratzen...", @@ -272,6 +286,9 @@ OC.L10N.register( "Cancel log in" : "Ezeztatu log in", "Use backup code" : "Erabili ordezko kodea", "Error while validating your second factor" : "Akatsa zure bigarren faktorea balioztatzean", + "Access through untrusted domain" : "Ziurtasunik gabeko domeinutik sartzen", + "Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Zure administratzailearekin kontaktuan jarri. Administratzailea bazara, config/config.php fitxategian\"konfidantzazko_domeinuak\" ezarpena editatusample.php konfigurazio fitxategian bezala", + "Depending on your configuration, this button could also work to trust the domain:" : "Zure konfigurazioaren arabera, botoi hau domeinua konfidantzazkoa bezala markatzeko balio du", "Add \"%s\" as trusted domain" : "Gehitu \"%s\" domeinu fidagarri gisa", "App update required" : "Aplikazio eguneraketa beharrezkoa da", "%s will be updated to version %s" : "%s %s bertsiora eguneratuko da", @@ -283,7 +300,9 @@ OC.L10N.register( "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Instalazio handien itxarote-denbora saihesteko, ondoko komandoa exekuta dezakezu instalazio direktoriotik:", "Detailed logs" : "Log xehea", "Update needed" : "Eguneratzea beharrezkoa da", + "Please use the command line updater because you have a big instance with more than 50 users." : "Komando-lerroko eguneratzailea erabili mesedez, 50 erabiltzaile baino gehiagoko instantzia handia bait da", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Laguntza lortzeko, ikusi <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentazioa</a>.", + "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Badakit web bidezko UI-a erabiliz eguneraketa egitean arriskuak daudela, eskaera denboraz-kanpo geratzen bada datuen galera gerta daitekeela, bainabackup kopia egin dut eta badakit instantzia birsortzen, arazoak egonez gero", "Upgrade via web on my own risk" : "Web bidezko bertsio-berritzea nire ardurapean", "This %s instance is currently in maintenance mode, which may take a while." : "Instantzia hau %s mantenu-moduan dago, honek denbora tarte bat iraun dezake.", "This page will refresh itself when the %s instance is available again." : "Orri honek bere burua eguneratuko du %s instantzia berriz prest dagoenean.", @@ -315,7 +334,7 @@ OC.L10N.register( "Edit tags" : "Editatu etiketak", "Error loading dialog template: {error}" : "Errorea elkarrizketa txantiloia kargatzean: {errorea}", "No tags selected for deletion." : "Ez dira ezabatzeko etiketak hautatu.", - "The update was successful. Redirecting you to Nextcloud now." : "The update was successful. Redirecting you to Nextcloud now.", + "The update was successful. Redirecting you to Nextcloud now." : "Eguneraketa ondo joan da. Nextcloud-era birbideratuko zaitugu.", "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Kaixo\n\n%s-ek %s zurekin partekatu duela jakin dezazun.\nIkusi ezazu: %s\n\n", "The share will expire on %s." : "Partekatzea %s-n iraungiko da.", "Cheers!" : "Ongi izan!", diff --git a/core/l10n/eu.json b/core/l10n/eu.json index 98a751370ef..333e46a8d01 100644 --- a/core/l10n/eu.json +++ b/core/l10n/eu.json @@ -44,12 +44,12 @@ "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "%s datu-basearen eskema eguneratu daitekeen egiaztatzen (honek luzerako hartu dezake datu-basearen arabera)", "Checked database schema update for apps" : "Egiaztatuta aplikazioen datu-basearen zerbitzariaren eguneraketa", "Updated \"%s\" to %s" : "\"%s\" %s-ra eguneratua", - "Set log level to debug" : "Set log level to debug", - "Reset log level" : "Reset log level", + "Set log level to debug" : "Log maila debug-era ezarri", + "Reset log level" : "Log maila berrezarri", "Starting code integrity check" : "Kodearen integritate egiaztapena hasten", "Finished code integrity check" : "Kodearen integritate egiaztapena bukatuta", - "%s (3rdparty)" : "%s (3rdparty)", - "%s (incompatible)" : "%s (incompatible)", + "%s (3rdparty)" : "%s (hirugarrenekoa)", + "%s (incompatible)" : "%s (bateraezina)", "Following apps have been disabled: %s" : "Hurrengo aplikazioak desgaitu egin dira: %s", "Already up to date" : "Dagoeneko eguneratuta", "Search contacts …" : "Bilatu kontaktuak ...", @@ -59,6 +59,7 @@ "Loading your contacts …" : "Zure kontaktuak kargatzen...", "Looking for {term} …" : "{term} bilatzen...", "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Kodearen integritate egiaztapenarekin arazoak egon dira. Informazio gehiago…</a>", + "No action available" : "Ez dago ekintzarik eskuragarri", "Error fetching contact actions" : "Errorea kontaktu-ekintzak eskuratzean", "Settings" : "Ezarpenak", "Connection to server lost" : "Zerbitzariarekiko konexioa eten da", @@ -82,6 +83,7 @@ "No files in here" : "Ez dago fitxategirik hemen", "Choose" : "Aukeratu", "Copy" : "Kopiatu", + "Move" : "Mugitu", "Error loading file picker template: {error}" : "Errorea fitxategi hautatzaile txantiloiak kargatzerakoan: {error}", "OK" : "Ados", "Error loading message template: {error}" : "Errorea mezu txantiloia kargatzean: {error}", @@ -97,6 +99,8 @@ "({count} selected)" : "({count} hautatuta)", "Error loading file exists template" : "Errorea fitxategia existitzen da txantiloiak kargatzerakoan", "Pending" : "Zain", + "Copy to {folder}" : "{karpetara} kopiatu", + "Move to {folder}" : "{karpetara} mugitu", "Very weak password" : "Pasahitz oso ahula", "Weak password" : "Pasahitz ahula", "So-so password" : "Halamoduzko pasahitza", @@ -104,8 +108,8 @@ "Strong password" : "Pasahitz sendoa", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Zure web zerbitzaria ez dago oraindik konfiguratuta fitxategia sinkronizazioa ahalbidetzeko WebDAV interfazea badirudi hautsita dagoela.", "Your web server is not set up properly to resolve \"{url}\". Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Zure web zerbitzaria ez dago behar bezala konfiguratuta \"{url}\" irekitzeko. Informazio gehiago gure <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentazioan </a> aurki daiteke.", - "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features.", - "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.", + "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Zerbitzari honek ez du Interneteko konexiorik: Helburu asko ezin dira atzitu.Honek esan nahi du kanpo biltegiratzeak, eguneraketei buruzko notifikazioak edo hirugarrenen aplikazioak ez dutela funtzionatuko. Urruneko fitxategiak atzitzea eta notifikazio emailek ere ez dute funtzionatuko ziuraski. Internet konexioa gaitzea gomendatzen dizugu, ezaugarri guzti hauek nahi badituzu. ", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Ez da katxe memoriarik konfiguratu. Funtzionamendua hobetzeko konfigura mesedez configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.", "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it.", "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.", @@ -113,8 +117,9 @@ "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)", "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend</a> to use following settings in the <code>php.ini</code>:" : "PHP OPcache ez dago era egokian ezarrita. Hobe funtzionatzeko gomendatzen dugu hurrengo ezarpenak erabiltzea php.ini fitxategian:", "Error occurred while checking server setup" : "Akatsa gertatu da zerbitzariaren konfigurazioa egiaztatzean", - "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting.", - "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>.", + "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Zure datu karpeta eta zure fitxategiak Internetetik atzigarri daude. .htaccess fitxategia ez dabil. Bereziki gomendatzen da zure web zerbitzariazure datu karpeta atzigarri ez egoteko konfiguratzea, edo datu-karpeta ateratzeaweb zerbitzariaren errotik", + "The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP goiburua ez da \"{expected}\" hau bezalakoa. Segurtasun edo pribatutasuna arazo bat da hau eta ezarpen hau egokitzea gomendatzen dizugu", + "The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "\"Garraio segurtasun-zehatza\" HTTP goiburua ez dago konfiguratua gutxienez \"{seconds}\" segundurekin. Segurtasuna hobetzeko HSTS gaitzea gomendatzen dugu, <a href=\"{docUrl}\" rel=\"noreferrer\">segurtasun aholkuak</a>gida jarraiki.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>.", "Shared" : "Elkarbanatuta", "Shared with {recipients}" : "{recipients}-rekin partekatua.", @@ -158,13 +163,15 @@ "Could not unshare" : "Ezin izan da despartekatu", "Error while sharing" : "Errore bat egon da elkarbanatzean", "Share details could not be loaded for this item." : "Partekatze xehetasunak ezin izan dira elementu honentzat kargatu.", + "_At least {count} character is needed for autocompletion_::_At least {count} characters are needed for autocompletion_" : ["Autosaketaren funtziorako {count} karaketere gutxienez behar dira","Autosaketaren funtziorako {count} karaketere gutxienez behar dira"], + "This list is maybe truncated - please refine your search term to see more results." : "Gerta daiteke zerrenda hau moztu behar izatea - mesedez, zure bilaketa birfindu emaitza gehiago ikusteko", "No users or groups found for {search}" : "Ez dira {search} -rentzat erabiltzaile edo talderik aurkitu", "No users found for {search}" : "Ez dira {search} -rentzat erabiltzailerik aurkitu", "An error occurred. Please try again" : "Errore bat gertatu da. Saiatu berriro.", - "{sharee} (group)" : "{sharee} (group)", - "{sharee} (remote)" : "{sharee} (remote)", + "{sharee} (group)" : "{sharee} (taldea)", + "{sharee} (remote)" : "{sharee} (urrunekoa)", "{sharee} (email)" : "{sharee} (email)", - "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", + "{sharee} ({type}, {owner})" : "{sharee} ({type}, {jabea})", "Share" : "Partekatu", "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Parteka ezazu jendearekin taldeko erabiltzailea, federatutako hodei baten IDa edo e-posta helbide bat sartuta.", "Share with other people by entering a user or group or a federated cloud ID." : "Parteka ezazu jendearekin taldeko erabiltzailea edo federatutako hodei baten IDa sartuta.", @@ -188,6 +195,7 @@ "sunny" : "eguzkitsua", "Hello {name}, the weather is {weather}" : "Kaixo {name}, eguraldia {weather} da", "Hello {name}" : "Kaixo {name}", + "<strong>These are your search results<script>alert(1)</script></strong>" : "<strong>Hauek dira zure bilaketaren emaitzak:<script>alert(1)</script></strong>", "new" : "Berria", "_download %n file_::_download %n files_" : ["%n fitxategia jaitsi","jaitsi %n fitxategiak"], "The update is in progress, leaving this page might interrupt the process in some environments." : "Eguneratzea abian da, orri hau utziz prozesua eten liteke ingurune batzuetan.", @@ -197,6 +205,7 @@ "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue." : "The update was unsuccessful. For more information <a href=\"{url}\">check our forum post</a> covering this issue.", "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>." : "The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/nextcloud/server/issues\" target=\"_blank\">Nextcloud community</a>.", "Continue to Nextcloud" : "Nextcloudera abiatu", + "_The update was successful. Redirecting you to Nextcloud in %n second._::_The update was successful. Redirecting you to Nextcloud in %n seconds._" : ["Eguneraketa ongi joan da. %n segundu barru Nextcloud-era birbideratuko zaitugu","Eguneraketa ongi joan da. %n segundu barru Nextcloud-era birbideratuko zaitugu"], "Searching other places" : "Beste lekuak bilatzen", "No search results in other folders for {tag}{filter}{endtag}" : "{tag}{filter}{endtag}-rentzat ez da emaitzarik topatu karpetetan", "_{count} search result in another folder_::_{count} search results in other folders_" : ["{count} bilaketa-emaitza beste karpeta batean","{count} bilaketa-emaitzak beste karpetetan"], @@ -210,6 +219,8 @@ "The specified document has not been found on the server." : "Zehaztutako dokumentua ez da zerbitzarian aurkitu.", "You can click here to return to %s." : "Hemen klika dezakezu %sra itzultzeko.", "Internal Server Error" : "Zerbitzariaren Barne Errorea", + "The server was unable to complete your request." : "Zerbitzariak ezin du zure eskaera bete", + "If this happens again, please send the technical details below to the server administrator." : "Berriz gertatzen bada, ondoko datu teknikoak zure administratzaileari pasa iezaiozu mesedez.", "More details can be found in the server log." : "Zehaztapen gehiago zerbitzariaren egunerokoan aurki daitezke.", "Technical details" : "Arazo teknikoak", "Remote Address: %s" : "Urruneko Helbidea: %s", @@ -222,7 +233,7 @@ "Trace" : "Arrastoa", "Security warning" : "Segurtasun abisua", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Zure data karpeta eta fitxategiak interneten bidez eskuragarri egon daitezke .htaccess fitxategia ez delako funtzionatzen ari.", - "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Zure zerbitzaria ongi konfiguratzeko informazioa topatzeko <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentazioa begiratu mesedez</a>.", "Create an <strong>admin account</strong>" : "Sortu <strong>kudeatzaile kontu<strong> bat", "Username" : "Erabiltzaile izena", "Storage & database" : "Biltegia & datubasea", @@ -236,18 +247,19 @@ "Database name" : "Datubasearen izena", "Database tablespace" : "Datu basearen taula-lekua", "Database host" : "Datubasearen hostalaria", - "Please specify the port number along with the host name (e.g., localhost:5432)." : "Please specify the port number along with the host name (e.g., localhost:5432).", - "Performance warning" : "Errendimendua abisua", - "SQLite will be used as database." : "SQLite will be used as database.", - "For larger installations we recommend to choose a different database backend." : "For larger installations we recommend to choose a different database backend.", - "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Especially when using the desktop client for file syncing the use of SQLite is discouraged.", + "Please specify the port number along with the host name (e.g., localhost:5432)." : "Makinaren izenarekin batera portua ezarri (adb. localhost:5432).", + "Performance warning" : "Errendimendu abisua", + "SQLite will be used as database." : "SQLite datubase bezala erabiliko da.", + "For larger installations we recommend to choose a different database backend." : "Instalazio handientzako beste datubase sistema bat erabiltzea gomendatzen da.", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Fitxategiak sinkronizatzeko idazmahai aplikazioa erabili nahi badugu SQLite erabiltzea ez da gomendatzen. is discouraged.", "Finish setup" : "Bukatu konfigurazioa", "Finishing …" : "Bukatzen...", "Need help?" : "Laguntza behar al duzu?", "See the documentation" : "Ikusi dokumentazioa", - "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page.", + "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Aplikazio honek JavaScript eskatzen du ondo funtzionatzeko. Mesedez {linkstart}JavaScript gaitu {linkend}eta webgunea birkargatu.", "More apps" : "Aplikazio gehiago", "Search" : "Bilatu", + "Reset search" : "Bilaketa berrezarri", "Confirm your password" : "Berretsi pasahitza", "Server side authentication failed!" : "Zerbitzari aldeko autentifikazioak huts egin du!", "Please contact your administrator." : "Mesedez jarri harremetan zure administradorearekin.", @@ -259,6 +271,8 @@ "Log in" : "Hasi saioa", "Stay logged in" : "Ez amaitu saioa", "Alternative Logins" : "Beste erabiltzaile izenak", + "Account access" : "Kontuaren sarbidea", + "You are about to grant %s access to your %s account." : "%s kontuari %sra sarbidea emango diozu", "App token" : "Aplikazio-tokena", "Alternative login using app token" : "Ordezko saio-hasiera aplikazio-tokena erabilta", "Redirecting …" : "Birbideratzen...", @@ -270,6 +284,9 @@ "Cancel log in" : "Ezeztatu log in", "Use backup code" : "Erabili ordezko kodea", "Error while validating your second factor" : "Akatsa zure bigarren faktorea balioztatzean", + "Access through untrusted domain" : "Ziurtasunik gabeko domeinutik sartzen", + "Please contact your administrator. If you are an administrator, edit the \"trusted_domains\" setting in config/config.php like the example in config.sample.php." : "Zure administratzailearekin kontaktuan jarri. Administratzailea bazara, config/config.php fitxategian\"konfidantzazko_domeinuak\" ezarpena editatusample.php konfigurazio fitxategian bezala", + "Depending on your configuration, this button could also work to trust the domain:" : "Zure konfigurazioaren arabera, botoi hau domeinua konfidantzazkoa bezala markatzeko balio du", "Add \"%s\" as trusted domain" : "Gehitu \"%s\" domeinu fidagarri gisa", "App update required" : "Aplikazio eguneraketa beharrezkoa da", "%s will be updated to version %s" : "%s %s bertsiora eguneratuko da", @@ -281,7 +298,9 @@ "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Instalazio handien itxarote-denbora saihesteko, ondoko komandoa exekuta dezakezu instalazio direktoriotik:", "Detailed logs" : "Log xehea", "Update needed" : "Eguneratzea beharrezkoa da", + "Please use the command line updater because you have a big instance with more than 50 users." : "Komando-lerroko eguneratzailea erabili mesedez, 50 erabiltzaile baino gehiagoko instantzia handia bait da", "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Laguntza lortzeko, ikusi <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentazioa</a>.", + "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Badakit web bidezko UI-a erabiliz eguneraketa egitean arriskuak daudela, eskaera denboraz-kanpo geratzen bada datuen galera gerta daitekeela, bainabackup kopia egin dut eta badakit instantzia birsortzen, arazoak egonez gero", "Upgrade via web on my own risk" : "Web bidezko bertsio-berritzea nire ardurapean", "This %s instance is currently in maintenance mode, which may take a while." : "Instantzia hau %s mantenu-moduan dago, honek denbora tarte bat iraun dezake.", "This page will refresh itself when the %s instance is available again." : "Orri honek bere burua eguneratuko du %s instantzia berriz prest dagoenean.", @@ -313,7 +332,7 @@ "Edit tags" : "Editatu etiketak", "Error loading dialog template: {error}" : "Errorea elkarrizketa txantiloia kargatzean: {errorea}", "No tags selected for deletion." : "Ez dira ezabatzeko etiketak hautatu.", - "The update was successful. Redirecting you to Nextcloud now." : "The update was successful. Redirecting you to Nextcloud now.", + "The update was successful. Redirecting you to Nextcloud now." : "Eguneraketa ondo joan da. Nextcloud-era birbideratuko zaitugu.", "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Kaixo\n\n%s-ek %s zurekin partekatu duela jakin dezazun.\nIkusi ezazu: %s\n\n", "The share will expire on %s." : "Partekatzea %s-n iraungiko da.", "Cheers!" : "Ongi izan!", diff --git a/core/l10n/is.js b/core/l10n/is.js index 968fa4feea3..017d845cab9 100644 --- a/core/l10n/is.js +++ b/core/l10n/is.js @@ -262,6 +262,7 @@ OC.L10N.register( "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Þetta forrit krefst JavaScript fyrir rétta virkni. {linkstart} virkjaðu JavaScript {linkend} og endurlestu síðan síðuna.", "More apps" : "Fleiri forrit", "Search" : "Leita", + "Reset search" : "Núllstilla leit", "Confirm your password" : "Staðfestu lykilorðið þitt", "Server side authentication failed!" : "Auðkenning af hálfu þjóns tókst ekki!", "Please contact your administrator." : "Hafðu samband við kerfisstjóra.", diff --git a/core/l10n/is.json b/core/l10n/is.json index 5357a509b96..b16de4adedd 100644 --- a/core/l10n/is.json +++ b/core/l10n/is.json @@ -260,6 +260,7 @@ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Þetta forrit krefst JavaScript fyrir rétta virkni. {linkstart} virkjaðu JavaScript {linkend} og endurlestu síðan síðuna.", "More apps" : "Fleiri forrit", "Search" : "Leita", + "Reset search" : "Núllstilla leit", "Confirm your password" : "Staðfestu lykilorðið þitt", "Server side authentication failed!" : "Auðkenning af hálfu þjóns tókst ekki!", "Please contact your administrator." : "Hafðu samband við kerfisstjóra.", diff --git a/core/l10n/nl.js b/core/l10n/nl.js index 8af41991283..7772f0615e0 100644 --- a/core/l10n/nl.js +++ b/core/l10n/nl.js @@ -262,6 +262,7 @@ OC.L10N.register( "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Deze applicatie heeft JavaScript nodig. {linkstart}Activeer JavaScript{linkend} en ververs deze pagina.", "More apps" : "Meer apps", "Search" : "Zoeken", + "Reset search" : "Zoekopdracht wissen", "Confirm your password" : "Bevestig je wachtwoord", "Server side authentication failed!" : "Authenticatie bij de server mislukte!", "Please contact your administrator." : "Neem contact op met je systeembeheerder.", diff --git a/core/l10n/nl.json b/core/l10n/nl.json index dcc7e8722a8..179983b29c6 100644 --- a/core/l10n/nl.json +++ b/core/l10n/nl.json @@ -260,6 +260,7 @@ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Deze applicatie heeft JavaScript nodig. {linkstart}Activeer JavaScript{linkend} en ververs deze pagina.", "More apps" : "Meer apps", "Search" : "Zoeken", + "Reset search" : "Zoekopdracht wissen", "Confirm your password" : "Bevestig je wachtwoord", "Server side authentication failed!" : "Authenticatie bij de server mislukte!", "Please contact your administrator." : "Neem contact op met je systeembeheerder.", diff --git a/core/l10n/vi.js b/core/l10n/vi.js index 271f482b6f5..70284f8868e 100644 --- a/core/l10n/vi.js +++ b/core/l10n/vi.js @@ -1,8 +1,8 @@ OC.L10N.register( "core", { - "Please select a file." : "Hãy chọn một tệp tin.", - "File is too big" : "File quá lớn", + "Please select a file." : "Hãy chọn một tệp.", + "File is too big" : "Tệp quá lớn", "The selected file is not an image." : "Tệp tin được chọn không phải là ảnh.", "The selected file cannot be read." : "Tệp tin được chọn không thể đọc.", "Invalid file provided" : "File không hợp lệ", @@ -231,7 +231,7 @@ OC.L10N.register( "Type: %s" : "Loại: %s", "Code: %s" : "Mã: %s", "Message: %s" : "Thông điệp:%s", - "File: %s" : "%sTệp:", + "File: %s" : "Tệp: %s", "Line: %s" : "Dòng: %s", "Trace" : "Theo dõi", "Security warning" : "Cảnh báo bảo mật", @@ -262,6 +262,7 @@ OC.L10N.register( "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ứng dụng này yêu cầu JavaScript để hoạt động chính xác. Vui lòng {linkstart} bật JavaScript {linkend} và tải lại trang.", "More apps" : "Thêm ứng dụng", "Search" : "Tìm kiếm", + "Reset search" : "Đặt lại tìm kiếm", "Confirm your password" : "Xác nhận mật khẩu của bạn", "Server side authentication failed!" : "Xác thực phía máy chủ không thành công!", "Please contact your administrator." : "Vui lòng liên hệ với quản trị viên.", diff --git a/core/l10n/vi.json b/core/l10n/vi.json index 896fb36966a..df39b657988 100644 --- a/core/l10n/vi.json +++ b/core/l10n/vi.json @@ -1,6 +1,6 @@ { "translations": { - "Please select a file." : "Hãy chọn một tệp tin.", - "File is too big" : "File quá lớn", + "Please select a file." : "Hãy chọn một tệp.", + "File is too big" : "Tệp quá lớn", "The selected file is not an image." : "Tệp tin được chọn không phải là ảnh.", "The selected file cannot be read." : "Tệp tin được chọn không thể đọc.", "Invalid file provided" : "File không hợp lệ", @@ -229,7 +229,7 @@ "Type: %s" : "Loại: %s", "Code: %s" : "Mã: %s", "Message: %s" : "Thông điệp:%s", - "File: %s" : "%sTệp:", + "File: %s" : "Tệp: %s", "Line: %s" : "Dòng: %s", "Trace" : "Theo dõi", "Security warning" : "Cảnh báo bảo mật", @@ -260,6 +260,7 @@ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Ứng dụng này yêu cầu JavaScript để hoạt động chính xác. Vui lòng {linkstart} bật JavaScript {linkend} và tải lại trang.", "More apps" : "Thêm ứng dụng", "Search" : "Tìm kiếm", + "Reset search" : "Đặt lại tìm kiếm", "Confirm your password" : "Xác nhận mật khẩu của bạn", "Server side authentication failed!" : "Xác thực phía máy chủ không thành công!", "Please contact your administrator." : "Vui lòng liên hệ với quản trị viên.", diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index cea600bf59c..5c55c83b054 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -224,6 +224,7 @@ return array( 'OCP\\Lock\\ILockingProvider' => $baseDir . '/lib/public/Lock/ILockingProvider.php', 'OCP\\Lock\\LockedException' => $baseDir . '/lib/public/Lock/LockedException.php', 'OCP\\Lockdown\\ILockdownManager' => $baseDir . '/lib/public/Lockdown/ILockdownManager.php', + 'OCP\\Mail\\IAttachment' => $baseDir . '/lib/public/Mail/IAttachment.php', 'OCP\\Mail\\IEMailTemplate' => $baseDir . '/lib/public/Mail/IEMailTemplate.php', 'OCP\\Mail\\IMailer' => $baseDir . '/lib/public/Mail/IMailer.php', 'OCP\\Mail\\IMessage' => $baseDir . '/lib/public/Mail/IMessage.php', @@ -528,7 +529,6 @@ return array( 'OC\\DB\\Migrator' => $baseDir . '/lib/private/DB/Migrator.php', 'OC\\DB\\MySQLMigrator' => $baseDir . '/lib/private/DB/MySQLMigrator.php', 'OC\\DB\\MySqlTools' => $baseDir . '/lib/private/DB/MySqlTools.php', - 'OC\\DB\\NoCheckMigrator' => $baseDir . '/lib/private/DB/NoCheckMigrator.php', 'OC\\DB\\OCPostgreSqlPlatform' => $baseDir . '/lib/private/DB/OCPostgreSqlPlatform.php', 'OC\\DB\\OCSqlitePlatform' => $baseDir . '/lib/private/DB/OCSqlitePlatform.php', 'OC\\DB\\OracleConnection' => $baseDir . '/lib/private/DB/OracleConnection.php', @@ -706,6 +706,7 @@ return array( 'OC\\Log\\File' => $baseDir . '/lib/private/Log/File.php', 'OC\\Log\\Rotate' => $baseDir . '/lib/private/Log/Rotate.php', 'OC\\Log\\Syslog' => $baseDir . '/lib/private/Log/Syslog.php', + 'OC\\Mail\\Attachment' => $baseDir . '/lib/private/Mail/Attachment.php', 'OC\\Mail\\EMailTemplate' => $baseDir . '/lib/private/Mail/EMailTemplate.php', 'OC\\Mail\\Mailer' => $baseDir . '/lib/private/Mail/Mailer.php', 'OC\\Mail\\Message' => $baseDir . '/lib/private/Mail/Message.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index f476777e667..23fd2d4280b 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -254,6 +254,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OCP\\Lock\\ILockingProvider' => __DIR__ . '/../../..' . '/lib/public/Lock/ILockingProvider.php', 'OCP\\Lock\\LockedException' => __DIR__ . '/../../..' . '/lib/public/Lock/LockedException.php', 'OCP\\Lockdown\\ILockdownManager' => __DIR__ . '/../../..' . '/lib/public/Lockdown/ILockdownManager.php', + 'OCP\\Mail\\IAttachment' => __DIR__ . '/../../..' . '/lib/public/Mail/IAttachment.php', 'OCP\\Mail\\IEMailTemplate' => __DIR__ . '/../../..' . '/lib/public/Mail/IEMailTemplate.php', 'OCP\\Mail\\IMailer' => __DIR__ . '/../../..' . '/lib/public/Mail/IMailer.php', 'OCP\\Mail\\IMessage' => __DIR__ . '/../../..' . '/lib/public/Mail/IMessage.php', @@ -558,7 +559,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\DB\\Migrator' => __DIR__ . '/../../..' . '/lib/private/DB/Migrator.php', 'OC\\DB\\MySQLMigrator' => __DIR__ . '/../../..' . '/lib/private/DB/MySQLMigrator.php', 'OC\\DB\\MySqlTools' => __DIR__ . '/../../..' . '/lib/private/DB/MySqlTools.php', - 'OC\\DB\\NoCheckMigrator' => __DIR__ . '/../../..' . '/lib/private/DB/NoCheckMigrator.php', 'OC\\DB\\OCPostgreSqlPlatform' => __DIR__ . '/../../..' . '/lib/private/DB/OCPostgreSqlPlatform.php', 'OC\\DB\\OCSqlitePlatform' => __DIR__ . '/../../..' . '/lib/private/DB/OCSqlitePlatform.php', 'OC\\DB\\OracleConnection' => __DIR__ . '/../../..' . '/lib/private/DB/OracleConnection.php', @@ -736,6 +736,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OC\\Log\\File' => __DIR__ . '/../../..' . '/lib/private/Log/File.php', 'OC\\Log\\Rotate' => __DIR__ . '/../../..' . '/lib/private/Log/Rotate.php', 'OC\\Log\\Syslog' => __DIR__ . '/../../..' . '/lib/private/Log/Syslog.php', + 'OC\\Mail\\Attachment' => __DIR__ . '/../../..' . '/lib/private/Mail/Attachment.php', 'OC\\Mail\\EMailTemplate' => __DIR__ . '/../../..' . '/lib/private/Mail/EMailTemplate.php', 'OC\\Mail\\Mailer' => __DIR__ . '/../../..' . '/lib/private/Mail/Mailer.php', 'OC\\Mail\\Message' => __DIR__ . '/../../..' . '/lib/private/Mail/Message.php', diff --git a/lib/l10n/en_GB.js b/lib/l10n/en_GB.js index a169502af15..4713820e242 100644 --- a/lib/l10n/en_GB.js +++ b/lib/l10n/en_GB.js @@ -31,14 +31,23 @@ OC.L10N.register( "Invalid image" : "Invalid image", "Avatar image is not square" : "Avatar image is not square", "today" : "today", + "tomorrow" : "tomorrow", "yesterday" : "yesterday", + "_in %n day_::_in %n days_" : ["in %n day","in %n days"], "_%n day ago_::_%n days ago_" : ["%n day ago","%n days ago"], + "next month" : "next month", "last month" : "last month", + "_in %n month_::_in %n months_" : ["in %n month","in %n months"], "_%n month ago_::_%n months ago_" : ["%n month ago","%n months ago"], + "next year" : "next year", "last year" : "last year", + "_in %n year_::_in %n years_" : ["in %n year","in %n years"], "_%n year ago_::_%n years ago_" : ["%n year ago","%n years ago"], + "_in %n hour_::_in %n hours_" : ["in %n hour","in %n hours"], "_%n hour ago_::_%n hours ago_" : ["%n hour ago","%n hours ago"], + "_in %n minute_::_in %n minutes_" : ["in %n minute","in %n minutes"], "_%n minute ago_::_%n minutes ago_" : ["%n minute ago","%n minutes ago"], + "in a few seconds" : "in a few seconds", "seconds ago" : "seconds ago", "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator.", "File name is a reserved word" : "File name is a reserved word", diff --git a/lib/l10n/en_GB.json b/lib/l10n/en_GB.json index bf08239be71..01590dbb688 100644 --- a/lib/l10n/en_GB.json +++ b/lib/l10n/en_GB.json @@ -29,14 +29,23 @@ "Invalid image" : "Invalid image", "Avatar image is not square" : "Avatar image is not square", "today" : "today", + "tomorrow" : "tomorrow", "yesterday" : "yesterday", + "_in %n day_::_in %n days_" : ["in %n day","in %n days"], "_%n day ago_::_%n days ago_" : ["%n day ago","%n days ago"], + "next month" : "next month", "last month" : "last month", + "_in %n month_::_in %n months_" : ["in %n month","in %n months"], "_%n month ago_::_%n months ago_" : ["%n month ago","%n months ago"], + "next year" : "next year", "last year" : "last year", + "_in %n year_::_in %n years_" : ["in %n year","in %n years"], "_%n year ago_::_%n years ago_" : ["%n year ago","%n years ago"], + "_in %n hour_::_in %n hours_" : ["in %n hour","in %n hours"], "_%n hour ago_::_%n hours ago_" : ["%n hour ago","%n hours ago"], + "_in %n minute_::_in %n minutes_" : ["in %n minute","in %n minutes"], "_%n minute ago_::_%n minutes ago_" : ["%n minute ago","%n minutes ago"], + "in a few seconds" : "in a few seconds", "seconds ago" : "seconds ago", "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator.", "File name is a reserved word" : "File name is a reserved word", diff --git a/lib/l10n/es.js b/lib/l10n/es.js index 14eda42f187..5a50a527131 100644 --- a/lib/l10n/es.js +++ b/lib/l10n/es.js @@ -31,14 +31,23 @@ OC.L10N.register( "Invalid image" : "Imagen inválida", "Avatar image is not square" : "La imagen de avatar no es cuadrada", "today" : "hoy", + "tomorrow" : "mañana", "yesterday" : "ayer", + "_in %n day_::_in %n days_" : ["dentro de %n día","dentro de %n días"], "_%n day ago_::_%n days ago_" : ["Hace %n día","hace %n días"], + "next month" : "mes siguiente", "last month" : "mes pasado", + "_in %n month_::_in %n months_" : ["dentro de %n mes","dentro de %n meses"], "_%n month ago_::_%n months ago_" : ["Hace %n mes","Hace %n meses"], + "next year" : "año que viene", "last year" : "año pasado", + "_in %n year_::_in %n years_" : ["dentro de %n año","dentro de %n años"], "_%n year ago_::_%n years ago_" : ["Hace %n año","hace %n años"], + "_in %n hour_::_in %n hours_" : ["dentro de %n hora","dentro de %n horas"], "_%n hour ago_::_%n hours ago_" : ["Hace %n hora","Hace %n horas"], + "_in %n minute_::_in %n minutes_" : ["dentro de %n minuto","dentro de %n minutos"], "_%n minute ago_::_%n minutes ago_" : ["Hace %n minuto","Hace %n minutos"], + "in a few seconds" : "en unos segundos", "seconds ago" : "hace segundos", "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "El módulo con ID %s no existe. Por favor, actívalo en la configuración de apps o contacta con tu administrador.", "File name is a reserved word" : "El nombre de archivo es una palabra reservada", @@ -56,7 +65,7 @@ OC.L10N.register( "Users" : "Usuarios", "APCu" : "APCu", "Redis" : "Redis", - "Basic settings" : "Ajustes Basicas", + "Basic settings" : "Ajustes Basicos", "Sharing" : "Compartir", "Security" : "Seguridad", "Encryption" : "Cifrado", diff --git a/lib/l10n/es.json b/lib/l10n/es.json index 23227e69ac6..c8ec965fcfe 100644 --- a/lib/l10n/es.json +++ b/lib/l10n/es.json @@ -29,14 +29,23 @@ "Invalid image" : "Imagen inválida", "Avatar image is not square" : "La imagen de avatar no es cuadrada", "today" : "hoy", + "tomorrow" : "mañana", "yesterday" : "ayer", + "_in %n day_::_in %n days_" : ["dentro de %n día","dentro de %n días"], "_%n day ago_::_%n days ago_" : ["Hace %n día","hace %n días"], + "next month" : "mes siguiente", "last month" : "mes pasado", + "_in %n month_::_in %n months_" : ["dentro de %n mes","dentro de %n meses"], "_%n month ago_::_%n months ago_" : ["Hace %n mes","Hace %n meses"], + "next year" : "año que viene", "last year" : "año pasado", + "_in %n year_::_in %n years_" : ["dentro de %n año","dentro de %n años"], "_%n year ago_::_%n years ago_" : ["Hace %n año","hace %n años"], + "_in %n hour_::_in %n hours_" : ["dentro de %n hora","dentro de %n horas"], "_%n hour ago_::_%n hours ago_" : ["Hace %n hora","Hace %n horas"], + "_in %n minute_::_in %n minutes_" : ["dentro de %n minuto","dentro de %n minutos"], "_%n minute ago_::_%n minutes ago_" : ["Hace %n minuto","Hace %n minutos"], + "in a few seconds" : "en unos segundos", "seconds ago" : "hace segundos", "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "El módulo con ID %s no existe. Por favor, actívalo en la configuración de apps o contacta con tu administrador.", "File name is a reserved word" : "El nombre de archivo es una palabra reservada", @@ -54,7 +63,7 @@ "Users" : "Usuarios", "APCu" : "APCu", "Redis" : "Redis", - "Basic settings" : "Ajustes Basicas", + "Basic settings" : "Ajustes Basicos", "Sharing" : "Compartir", "Security" : "Seguridad", "Encryption" : "Cifrado", diff --git a/lib/l10n/is.js b/lib/l10n/is.js index 155f3d56a3a..7f3dc4a7075 100644 --- a/lib/l10n/is.js +++ b/lib/l10n/is.js @@ -31,14 +31,23 @@ OC.L10N.register( "Invalid image" : "Ógild mynd", "Avatar image is not square" : "Auðkennismynd er ekki ferningslaga", "today" : "í dag", + "tomorrow" : "á morgun", "yesterday" : "í gær", + "_in %n day_::_in %n days_" : ["eftir %n dag","eftir %n daga"], "_%n day ago_::_%n days ago_" : ["fyrir %n degi síðan","fyrir %n dögum síðan"], + "next month" : "í næsta mánuði", "last month" : "í síðasta mánuði", + "_in %n month_::_in %n months_" : ["eftir %n mánuð","eftir %n mánuði"], "_%n month ago_::_%n months ago_" : ["fyrir %n mánuði","fyrir %n mánuðum"], + "next year" : "á næsta ári", "last year" : "síðasta ári", + "_in %n year_::_in %n years_" : ["eftir %n ár","eftir %n ár"], "_%n year ago_::_%n years ago_" : ["fyrir %n degi síðan","fyrir %n árum síðan"], + "_in %n hour_::_in %n hours_" : ["eftir %n klukkustund","eftir %n klukkustundir"], "_%n hour ago_::_%n hours ago_" : ["fyrir %n klukkustund síðan","fyrir %n klukkustundum síðan"], + "_in %n minute_::_in %n minutes_" : ["eftir %n mínútu","eftir %n mínútur"], "_%n minute ago_::_%n minutes ago_" : ["fyrir %n mínútu síðan","fyrir %n mínútum síðan"], + "in a few seconds" : "eftir örfáar sekúndur", "seconds ago" : "sekúndum síðan", "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Eining með auðkenni: %s er ekki til. Virkjaðu hana í forritastillingum eða hafðu samband við kerfisstjóra.", "File name is a reserved word" : "Skráarheiti er þegar frátekið orð", @@ -84,6 +93,7 @@ OC.L10N.register( "Set an admin username." : "Stilltu notandanafn kerfisstjóra.", "Set an admin password." : "Stilltu lykilorð kerfisstjóra.", "Can't create or write into the data directory %s" : "Gat ekki búið til eða skrifað í gagnamöppuna %s", + "Given database host is invalid and must not contain the port: %s" : "Uppgefinn hýsill gagnagrunns er ógildur og má ekki innihalda gáttina: %s", "Invalid Federated Cloud ID" : "Ógilt skýjasambandsauðkenni (Federated Cloud ID)", "Sharing %s failed, because the backend does not allow shares from type %i" : "Deiling %s mistókst, því bakvinnslukerfið leyfir ekki sameignir af gerðinni %i", "Sharing %s failed, because the file does not exist" : "Deiling %s mistókst, því skráin er ekki til", diff --git a/lib/l10n/is.json b/lib/l10n/is.json index f106f993f88..ca3c9f19e41 100644 --- a/lib/l10n/is.json +++ b/lib/l10n/is.json @@ -29,14 +29,23 @@ "Invalid image" : "Ógild mynd", "Avatar image is not square" : "Auðkennismynd er ekki ferningslaga", "today" : "í dag", + "tomorrow" : "á morgun", "yesterday" : "í gær", + "_in %n day_::_in %n days_" : ["eftir %n dag","eftir %n daga"], "_%n day ago_::_%n days ago_" : ["fyrir %n degi síðan","fyrir %n dögum síðan"], + "next month" : "í næsta mánuði", "last month" : "í síðasta mánuði", + "_in %n month_::_in %n months_" : ["eftir %n mánuð","eftir %n mánuði"], "_%n month ago_::_%n months ago_" : ["fyrir %n mánuði","fyrir %n mánuðum"], + "next year" : "á næsta ári", "last year" : "síðasta ári", + "_in %n year_::_in %n years_" : ["eftir %n ár","eftir %n ár"], "_%n year ago_::_%n years ago_" : ["fyrir %n degi síðan","fyrir %n árum síðan"], + "_in %n hour_::_in %n hours_" : ["eftir %n klukkustund","eftir %n klukkustundir"], "_%n hour ago_::_%n hours ago_" : ["fyrir %n klukkustund síðan","fyrir %n klukkustundum síðan"], + "_in %n minute_::_in %n minutes_" : ["eftir %n mínútu","eftir %n mínútur"], "_%n minute ago_::_%n minutes ago_" : ["fyrir %n mínútu síðan","fyrir %n mínútum síðan"], + "in a few seconds" : "eftir örfáar sekúndur", "seconds ago" : "sekúndum síðan", "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Eining með auðkenni: %s er ekki til. Virkjaðu hana í forritastillingum eða hafðu samband við kerfisstjóra.", "File name is a reserved word" : "Skráarheiti er þegar frátekið orð", @@ -82,6 +91,7 @@ "Set an admin username." : "Stilltu notandanafn kerfisstjóra.", "Set an admin password." : "Stilltu lykilorð kerfisstjóra.", "Can't create or write into the data directory %s" : "Gat ekki búið til eða skrifað í gagnamöppuna %s", + "Given database host is invalid and must not contain the port: %s" : "Uppgefinn hýsill gagnagrunns er ógildur og má ekki innihalda gáttina: %s", "Invalid Federated Cloud ID" : "Ógilt skýjasambandsauðkenni (Federated Cloud ID)", "Sharing %s failed, because the backend does not allow shares from type %i" : "Deiling %s mistókst, því bakvinnslukerfið leyfir ekki sameignir af gerðinni %i", "Sharing %s failed, because the file does not exist" : "Deiling %s mistókst, því skráin er ekki til", diff --git a/lib/l10n/ru.js b/lib/l10n/ru.js index 109c0f66938..286a28ff072 100644 --- a/lib/l10n/ru.js +++ b/lib/l10n/ru.js @@ -31,14 +31,23 @@ OC.L10N.register( "Invalid image" : "Изображение повреждено", "Avatar image is not square" : "Изображение аватара не квадратное", "today" : "сегодня", + "tomorrow" : "завтра", "yesterday" : "вчера", + "_in %n day_::_in %n days_" : ["через %n день","через %n дня","через %n дней","через %n день"], "_%n day ago_::_%n days ago_" : ["%n день назад","%n дня назад","%n дней назад","%n дней назад"], + "next month" : "следующий месяц", "last month" : "в прошлом месяце", + "_in %n month_::_in %n months_" : ["через %n месяц","через %n месяца","через %n месяцев","через %n месяц"], "_%n month ago_::_%n months ago_" : ["%n месяц назад","%n месяца назад","%n месяцев назад","%n месяцев назад"], + "next year" : "следующий год", "last year" : "в прошлом году", + "_in %n year_::_in %n years_" : ["через %n год","через %n года","через %n лет","через %n год"], "_%n year ago_::_%n years ago_" : ["%n год назад","%n года назад","%n лет назад","%n лет назад"], + "_in %n hour_::_in %n hours_" : ["через %n час","через %n часа","через %n часов","через %n час"], "_%n hour ago_::_%n hours ago_" : ["%n час назад","%n часа назад","%n часов назад","%n часов назад"], + "_in %n minute_::_in %n minutes_" : ["через %n минуту","через %n минуты","через %n минут","через %n минуту"], "_%n minute ago_::_%n minutes ago_" : ["%n минута назад","%n минуты назад","%n минут назад","%n минут назад"], + "in a few seconds" : "через несколько секунд", "seconds ago" : "менее минуты", "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Модуль с ID «%s» не существует. Включите его в настройках приложений или обратитесь к администратору.", "File name is a reserved word" : "Имя файла является зарезервированным словом", diff --git a/lib/l10n/ru.json b/lib/l10n/ru.json index 553aa793810..127e31de0b4 100644 --- a/lib/l10n/ru.json +++ b/lib/l10n/ru.json @@ -29,14 +29,23 @@ "Invalid image" : "Изображение повреждено", "Avatar image is not square" : "Изображение аватара не квадратное", "today" : "сегодня", + "tomorrow" : "завтра", "yesterday" : "вчера", + "_in %n day_::_in %n days_" : ["через %n день","через %n дня","через %n дней","через %n день"], "_%n day ago_::_%n days ago_" : ["%n день назад","%n дня назад","%n дней назад","%n дней назад"], + "next month" : "следующий месяц", "last month" : "в прошлом месяце", + "_in %n month_::_in %n months_" : ["через %n месяц","через %n месяца","через %n месяцев","через %n месяц"], "_%n month ago_::_%n months ago_" : ["%n месяц назад","%n месяца назад","%n месяцев назад","%n месяцев назад"], + "next year" : "следующий год", "last year" : "в прошлом году", + "_in %n year_::_in %n years_" : ["через %n год","через %n года","через %n лет","через %n год"], "_%n year ago_::_%n years ago_" : ["%n год назад","%n года назад","%n лет назад","%n лет назад"], + "_in %n hour_::_in %n hours_" : ["через %n час","через %n часа","через %n часов","через %n час"], "_%n hour ago_::_%n hours ago_" : ["%n час назад","%n часа назад","%n часов назад","%n часов назад"], + "_in %n minute_::_in %n minutes_" : ["через %n минуту","через %n минуты","через %n минут","через %n минуту"], "_%n minute ago_::_%n minutes ago_" : ["%n минута назад","%n минуты назад","%n минут назад","%n минут назад"], + "in a few seconds" : "через несколько секунд", "seconds ago" : "менее минуты", "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Модуль с ID «%s» не существует. Включите его в настройках приложений или обратитесь к администратору.", "File name is a reserved word" : "Имя файла является зарезервированным словом", diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js index 55ebf18c052..be68a268db4 100644 --- a/lib/l10n/zh_TW.js +++ b/lib/l10n/zh_TW.js @@ -7,6 +7,8 @@ OC.L10N.register( "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "允許網頁伺服器寫入 \"config\" 目錄通常可以解決這個問題,詳見 %s", "Sample configuration detected" : "偵測到範本設定", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "看來您直接複製了範本設定來使用,這可能會毀掉你的安裝,請閱讀說明文件後對 config.php 進行適當的修改", + "%1$s and %2$s" : "%1$s 和 %2$s", + "%1$s, %2$s and %3$s" : "%1$s, %2$s 和 %3$s", "PHP %s or higher is required." : "需要 PHP %s 或更高版本", "PHP with a version lower than %s is required." : "需要 PHP 版本低於 %s ", "%sbit or higher PHP required." : "%s 或需要更高階版本的php", @@ -22,10 +24,15 @@ OC.L10N.register( "Invalid image" : "無效的圖片", "Avatar image is not square" : "頭像不是正方形", "today" : "今天", + "tomorrow" : "明天", "yesterday" : "昨天", + "_in %n day_::_in %n days_" : ["在 %n 天內"], "_%n day ago_::_%n days ago_" : ["%n 天前"], + "next month" : "下個月", "last month" : "上個月", + "_in %n month_::_in %n months_" : ["在 %n 月內"], "_%n month ago_::_%n months ago_" : ["%n 個月前"], + "next year" : "明年", "last year" : "去年", "_%n year ago_::_%n years ago_" : ["%n 幾年前"], "_%n hour ago_::_%n hours ago_" : ["%n 小時前"], diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json index 103d0e25965..519ca314b93 100644 --- a/lib/l10n/zh_TW.json +++ b/lib/l10n/zh_TW.json @@ -5,6 +5,8 @@ "This can usually be fixed by giving the webserver write access to the config directory. See %s" : "允許網頁伺服器寫入 \"config\" 目錄通常可以解決這個問題,詳見 %s", "Sample configuration detected" : "偵測到範本設定", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "看來您直接複製了範本設定來使用,這可能會毀掉你的安裝,請閱讀說明文件後對 config.php 進行適當的修改", + "%1$s and %2$s" : "%1$s 和 %2$s", + "%1$s, %2$s and %3$s" : "%1$s, %2$s 和 %3$s", "PHP %s or higher is required." : "需要 PHP %s 或更高版本", "PHP with a version lower than %s is required." : "需要 PHP 版本低於 %s ", "%sbit or higher PHP required." : "%s 或需要更高階版本的php", @@ -20,10 +22,15 @@ "Invalid image" : "無效的圖片", "Avatar image is not square" : "頭像不是正方形", "today" : "今天", + "tomorrow" : "明天", "yesterday" : "昨天", + "_in %n day_::_in %n days_" : ["在 %n 天內"], "_%n day ago_::_%n days ago_" : ["%n 天前"], + "next month" : "下個月", "last month" : "上個月", + "_in %n month_::_in %n months_" : ["在 %n 月內"], "_%n month ago_::_%n months ago_" : ["%n 個月前"], + "next year" : "明年", "last year" : "去年", "_%n year ago_::_%n years ago_" : ["%n 幾年前"], "_%n hour ago_::_%n hours ago_" : ["%n 小時前"], diff --git a/lib/private/Collaboration/Collaborators/SearchResult.php b/lib/private/Collaboration/Collaborators/SearchResult.php index 7b32b388203..184c1f69a1b 100644 --- a/lib/private/Collaboration/Collaborators/SearchResult.php +++ b/lib/private/Collaboration/Collaborators/SearchResult.php @@ -52,7 +52,7 @@ class SearchResult implements ISearchResult { $this->exactIdMatches[$type->getLabel()] = 1; } - public function hasExactIdMatch(SearchResultType$type) { + public function hasExactIdMatch(SearchResultType $type) { return isset($this->exactIdMatches[$type->getLabel()]); } @@ -64,8 +64,10 @@ class SearchResult implements ISearchResult { $resultArrays = [$this->result['exact'][$type], $this->result[$type]]; foreach($resultArrays as $resultArray) { - if ($resultArray['value']['shareWith'] === $collaboratorId) { - return true; + foreach ($resultArray as $result) { + if ($result['value']['shareWith'] === $collaboratorId) { + return true; + } } } diff --git a/lib/private/DB/MDB2SchemaManager.php b/lib/private/DB/MDB2SchemaManager.php index 89b0d153212..ad3f93a2643 100644 --- a/lib/private/DB/MDB2SchemaManager.php +++ b/lib/private/DB/MDB2SchemaManager.php @@ -89,7 +89,7 @@ class MDB2SchemaManager { } else if ($platform instanceof PostgreSqlPlatform) { return new PostgreSqlMigrator($this->conn, $random, $config, $dispatcher); } else { - return new NoCheckMigrator($this->conn, $random, $config, $dispatcher); + return new Migrator($this->conn, $random, $config, $dispatcher); } } diff --git a/lib/private/DB/NoCheckMigrator.php b/lib/private/DB/NoCheckMigrator.php deleted file mode 100644 index 723653511b9..00000000000 --- a/lib/private/DB/NoCheckMigrator.php +++ /dev/null @@ -1,39 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2016, ownCloud, Inc. - * - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <robin@icewind.nl> - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see <http://www.gnu.org/licenses/> - * - */ - -namespace OC\DB; - -use Doctrine\DBAL\Schema\Schema; - -/** - * migrator for database platforms that don't support the upgrade check - * - * @package OC\DB - */ -class NoCheckMigrator extends Migrator { - /** - * @param \Doctrine\DBAL\Schema\Schema $targetSchema - * @throws \OC\DB\MigrationException - */ - public function checkMigrate(Schema $targetSchema) {} -} diff --git a/lib/private/DB/OracleMigrator.php b/lib/private/DB/OracleMigrator.php index 2735529b5e2..f5e06b50d99 100644 --- a/lib/private/DB/OracleMigrator.php +++ b/lib/private/DB/OracleMigrator.php @@ -30,8 +30,79 @@ use Doctrine\DBAL\Schema\ColumnDiff; use Doctrine\DBAL\Schema\Index; use Doctrine\DBAL\Schema\Schema; use Doctrine\DBAL\Schema\Table; +use Doctrine\DBAL\Schema\ForeignKeyConstraint; + +class OracleMigrator extends Migrator { + + /** + * Quote a column's name but changing the name requires recreating + * the column instance and copying over all properties. + * + * @param Column $column old column + * @return Column new column instance with new name + */ + protected function quoteColumn(Column $column) { + $newColumn = new Column( + $this->connection->quoteIdentifier($column->getName()), + $column->getType() + ); + $newColumn->setAutoincrement($column->getAutoincrement()); + $newColumn->setColumnDefinition($column->getColumnDefinition()); + $newColumn->setComment($column->getComment()); + $newColumn->setDefault($column->getDefault()); + $newColumn->setFixed($column->getFixed()); + $newColumn->setLength($column->getLength()); + $newColumn->setNotnull($column->getNotnull()); + $newColumn->setPrecision($column->getPrecision()); + $newColumn->setScale($column->getScale()); + $newColumn->setUnsigned($column->getUnsigned()); + $newColumn->setPlatformOptions($column->getPlatformOptions()); + $newColumn->setCustomSchemaOptions($column->getPlatformOptions()); + return $newColumn; + } + + /** + * Quote an index's name but changing the name requires recreating + * the index instance and copying over all properties. + * + * @param Index $index old index + * @return Index new index instance with new name + */ + protected function quoteIndex($index) { + return new Index( + //TODO migrate existing uppercase indexes, then $this->connection->quoteIdentifier($index->getName()), + $index->getName(), + array_map(function($columnName) { + return $this->connection->quoteIdentifier($columnName); + }, $index->getColumns()), + $index->isUnique(), + $index->isPrimary(), + $index->getFlags(), + $index->getOptions() + ); + } + + /** + * Quote an ForeignKeyConstraint's name but changing the name requires recreating + * the ForeignKeyConstraint instance and copying over all properties. + * + * @param ForeignKeyConstraint $fkc old fkc + * @return ForeignKeyConstraint new fkc instance with new name + */ + protected function quoteForeignKeyConstraint($fkc) { + return new ForeignKeyConstraint( + array_map(function($columnName) { + return $this->connection->quoteIdentifier($columnName); + }, $fkc->getLocalColumns()), + $this->connection->quoteIdentifier($fkc->getForeignTableName()), + array_map(function($columnName) { + return $this->connection->quoteIdentifier($columnName); + }, $fkc->getForeignColumns()), + $fkc->getName(), + $fkc->getOptions() + ); + } -class OracleMigrator extends NoCheckMigrator { /** * @param Schema $targetSchema * @param \Doctrine\DBAL\Connection $connection @@ -46,37 +117,14 @@ class OracleMigrator extends NoCheckMigrator { return new Table( $this->connection->quoteIdentifier($table->getName()), array_map(function(Column $column) { - $newColumn = new Column( - $this->connection->quoteIdentifier($column->getName()), - $column->getType() - ); - $newColumn->setAutoincrement($column->getAutoincrement()); - $newColumn->setColumnDefinition($column->getColumnDefinition()); - $newColumn->setComment($column->getComment()); - $newColumn->setDefault($column->getDefault()); - $newColumn->setFixed($column->getFixed()); - $newColumn->setLength($column->getLength()); - $newColumn->setNotnull($column->getNotnull()); - $newColumn->setPrecision($column->getPrecision()); - $newColumn->setScale($column->getScale()); - $newColumn->setUnsigned($column->getUnsigned()); - $newColumn->setPlatformOptions($column->getPlatformOptions()); - $newColumn->setCustomSchemaOptions($column->getPlatformOptions()); - return $newColumn; + return $this->quoteColumn($column); }, $table->getColumns()), array_map(function(Index $index) { - return new Index( - $this->connection->quoteIdentifier($index->getName()), - array_map(function($columnName) { - return $this->connection->quoteIdentifier($columnName); - }, $index->getColumns()), - $index->isUnique(), - $index->isPrimary(), - $index->getFlags(), - $index->getOptions() - ); + return $this->quoteIndex($index); }, $table->getIndexes()), - $table->getForeignKeys(), + array_map(function(ForeignKeyConstraint $fck) { + return $this->quoteForeignKeyConstraint($fck); + }, $table->getForeignKeys()), 0, $table->getOptions() ); @@ -95,14 +143,56 @@ class OracleMigrator extends NoCheckMigrator { foreach ($schemaDiff->changedTables as $tableDiff) { $tableDiff->name = $this->connection->quoteIdentifier($tableDiff->name); + + $tableDiff->addedColumns = array_map(function(Column $column) { + return $this->quoteColumn($column); + }, $tableDiff->addedColumns); + foreach ($tableDiff->changedColumns as $column) { $column->oldColumnName = $this->connection->quoteIdentifier($column->oldColumnName); // auto increment is not relevant for oracle and can anyhow not be applied on change $column->changedProperties = array_diff($column->changedProperties, ['autoincrement', 'unsigned']); } + // remove columns that no longer have changed (because autoincrement and unsigned are not supported) $tableDiff->changedColumns = array_filter($tableDiff->changedColumns, function (ColumnDiff $column) { return count($column->changedProperties) > 0; }); + + $tableDiff->removedColumns = array_map(function(Column $column) { + return $this->quoteColumn($column); + }, $tableDiff->removedColumns); + + $tableDiff->renamedColumns = array_map(function(Column $column) { + return $this->quoteColumn($column); + }, $tableDiff->renamedColumns); + + $tableDiff->addedIndexes = array_map(function(Index $index) { + return $this->quoteIndex($index); + }, $tableDiff->addedIndexes); + + $tableDiff->changedIndexes = array_map(function(Index $index) { + return $this->quoteIndex($index); + }, $tableDiff->changedIndexes); + + $tableDiff->removedIndexes = array_map(function(Index $index) { + return $this->quoteIndex($index); + }, $tableDiff->removedIndexes); + + $tableDiff->renamedIndexes = array_map(function(Index $index) { + return $this->quoteIndex($index); + }, $tableDiff->renamedIndexes); + + $tableDiff->addedForeignKeys = array_map(function(ForeignKeyConstraint $fkc) { + return $this->quoteForeignKeyConstraint($fkc); + }, $tableDiff->addedForeignKeys); + + $tableDiff->changedForeignKeys = array_map(function(ForeignKeyConstraint $fkc) { + return $this->quoteForeignKeyConstraint($fkc); + }, $tableDiff->changedForeignKeys); + + $tableDiff->removedForeignKeys = array_map(function(ForeignKeyConstraint $fkc) { + return $this->quoteForeignKeyConstraint($fkc); + }, $tableDiff->removedForeignKeys); } return $schemaDiff; diff --git a/lib/private/Files/ObjectStore/S3ObjectTrait.php b/lib/private/Files/ObjectStore/S3ObjectTrait.php index 6fb12265cb7..4bfa08a3e59 100644 --- a/lib/private/Files/ObjectStore/S3ObjectTrait.php +++ b/lib/private/Files/ObjectStore/S3ObjectTrait.php @@ -49,12 +49,15 @@ trait S3ObjectTrait { 'Bucket' => $this->bucket, 'Key' => $urn ]); - $command['@http']['stream'] = true; - $result = $client->execute($command); - /** @var StreamInterface $body */ - $body = $result['Body']; + $request = \Aws\serialize($command); + $opts = [ + 'http' => [ + 'header' => $request->getHeaders() + ] + ]; - return $body->detach(); + $context = stream_context_create($opts); + return fopen($request->getUri(), 'r', false, $context); } /** diff --git a/lib/private/Files/Storage/Local.php b/lib/private/Files/Storage/Local.php index 0577093712e..c9cb6f246d7 100644 --- a/lib/private/Files/Storage/Local.php +++ b/lib/private/Files/Storage/Local.php @@ -408,10 +408,11 @@ class Local extends \OC\Files\Storage\Common { * @param IStorage $sourceStorage * @param string $sourceInternalPath * @param string $targetInternalPath + * @param bool $preserveMtime * @return bool */ public function copyFromStorage(IStorage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime = false) { - if ($sourceStorage->instanceOfStorage('\OC\Files\Storage\Local')) { + if ($sourceStorage->instanceOfStorage(Local::class)) { if ($sourceStorage->instanceOfStorage(Jail::class)) { /** * @var \OC\Files\Storage\Wrapper\Jail $sourceStorage diff --git a/lib/private/Log.php b/lib/private/Log.php index 39577d2387a..25ff26daffa 100644 --- a/lib/private/Log.php +++ b/lib/private/Log.php @@ -69,6 +69,8 @@ class Log implements ILogger { 'loginWithPassword', 'updatePrivateKeyPassword', 'validateUserPass', + 'loginWithToken', + '\{closure\}', // TokenProvider 'getToken', @@ -96,6 +98,10 @@ class Log implements ILogger { 'bind', 'areCredentialsValid', 'invokeLDAPMethod', + + // Encryption + 'storeKeyPair', + 'setupUser', ]; /** diff --git a/lib/private/Mail/Attachment.php b/lib/private/Mail/Attachment.php new file mode 100644 index 00000000000..7b85ad1dbb9 --- /dev/null +++ b/lib/private/Mail/Attachment.php @@ -0,0 +1,78 @@ +<?php +/** + * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OC\Mail; + +use OCP\Mail\IAttachment; + +/** + * Class Attachment + * + * @package OC\Mail + * @since 13.0.0 + */ +class Attachment implements IAttachment { + + /** @var \Swift_Mime_Attachment */ + protected $swiftAttachment; + + public function __construct(\Swift_Mime_Attachment $attachment) { + $this->swiftAttachment = $attachment; + } + + /** + * @param string $filename + * @return $this + * @since 13.0.0 + */ + public function setFilename($filename) { + $this->swiftAttachment->setFilename($filename); + return $this; + } + + /** + * @param string $contentType + * @return $this + * @since 13.0.0 + */ + public function setContentType($contentType) { + $this->swiftAttachment->setContentType($contentType); + return $this; + } + + /** + * @param string $body + * @return $this + * @since 13.0.0 + */ + public function setBody($body) { + $this->swiftAttachment->setBody($body); + return $this; + } + + /** + * @return \Swift_Mime_Attachment + */ + public function getSwiftAttachment() { + return $this->swiftAttachment; + } + +} diff --git a/lib/private/Mail/Mailer.php b/lib/private/Mail/Mailer.php index 43fdb07b810..ad59d640b3e 100644 --- a/lib/private/Mail/Mailer.php +++ b/lib/private/Mail/Mailer.php @@ -26,6 +26,7 @@ use OCP\Defaults; use OCP\IConfig; use OCP\IL10N; use OCP\IURLGenerator; +use OCP\Mail\IAttachment; use OCP\Mail\IEMailTemplate; use OCP\Mail\IMailer; use OCP\ILogger; @@ -92,6 +93,27 @@ class Mailer implements IMailer { } /** + * @param string|null $data + * @param string|null $filename + * @param string|null $contentType + * @return IAttachment + * @since 13.0.0 + */ + public function createAttachment($data = null, $filename = null, $contentType = null) { + return new Attachment(\Swift_Attachment::newInstance($data, $filename, $contentType)); + } + + /** + * @param string $path + * @param string|null $contentType + * @return IAttachment + * @since 13.0.0 + */ + public function createAttachmentFromPath($path, $contentType = null) { + return new Attachment(\Swift_Attachment::fromPath($path, $contentType)); + } + + /** * Creates a new email template object * * @param string $emailId diff --git a/lib/private/Mail/Message.php b/lib/private/Mail/Message.php index b4d1e4dbe7a..dcd4a66e996 100644 --- a/lib/private/Mail/Message.php +++ b/lib/private/Mail/Message.php @@ -23,6 +23,7 @@ namespace OC\Mail; +use OCP\Mail\IAttachment; use OCP\Mail\IEMailTemplate; use OCP\Mail\IMessage; use Swift_Message; @@ -44,6 +45,17 @@ class Message implements IMessage { } /** + * @param IAttachment $attachment + * @return $this + * @since 13.0.0 + */ + public function attach(IAttachment $attachment) { + /** @var Attachment $attachment */ + $this->swiftMessage->attach($attachment->getSwiftAttachment()); + return $this; + } + + /** * SwiftMailer does currently not work with IDN domains, this function therefore converts the domains * FIXME: Remove this once SwiftMailer supports IDN * diff --git a/lib/private/Server.php b/lib/private/Server.php index 29aee06d896..84c09c8e6db 100644 --- a/lib/private/Server.php +++ b/lib/private/Server.php @@ -532,8 +532,8 @@ class Server extends ServerContainer implements IServerContainer { $this->registerService(\OCP\Route\IRouter::class, function (Server $c) { $cacheFactory = $c->getMemCacheFactory(); $logger = $c->getLogger(); - if ($cacheFactory->isAvailable()) { - $router = new \OC\Route\CachingRouter($cacheFactory->create('route'), $logger); + if ($cacheFactory->isAvailableLowLatency()) { + $router = new \OC\Route\CachingRouter($cacheFactory->createLocal('route'), $logger); } else { $router = new \OC\Route\Router($logger); } diff --git a/lib/private/SystemConfig.php b/lib/private/SystemConfig.php index 3610486140d..91afbeb8967 100644 --- a/lib/private/SystemConfig.php +++ b/lib/private/SystemConfig.php @@ -37,22 +37,30 @@ class SystemConfig { /** @var array */ protected $sensitiveValues = [ + 'instanceid' => true, + 'trusted_domains' => true, + 'datadirectory' => true, + 'overwrite.cli.url' => true, 'dbname' => true, + 'dbhost' => true, 'dbpassword' => true, 'dbuser' => true, 'mail_from_address' => true, 'mail_domain' => true, + 'mail_smtphost' => true, 'mail_smtpname' => true, 'mail_smtppassword' => true, 'passwordsalt' => true, 'secret' => true, 'updater.secret' => true, + 'trusted_proxies' => true, 'proxyuserpwd' => true, 'log.condition' => [ 'shared_secret' => true, ], 'license-key' => true, 'redis' => [ + 'host' => true, 'password' => true, ], 'objectstore' => [ diff --git a/lib/public/IRequest.php b/lib/public/IRequest.php index 98d8f5bb83a..262b595acc7 100644 --- a/lib/public/IRequest.php +++ b/lib/public/IRequest.php @@ -69,6 +69,11 @@ interface IRequest { const USER_AGENT_CLIENT_ANDROID = '/^Mozilla\/5\.0 \(Android\) ownCloud\-android.*$/'; /** + * @since 13.0.0 + */ + const USER_AGENT_TALK_ANDROID = '/^Mozilla\/5\.0 \(Android\) Nextcloud\-Talk v.*$/'; + + /** * @since 9.1.0 */ const USER_AGENT_CLIENT_DESKTOP = '/^Mozilla\/5\.0 \([A-Za-z ]+\) (mirall|csyncoC)\/.*$/'; @@ -79,6 +84,11 @@ interface IRequest { const USER_AGENT_CLIENT_IOS = '/^Mozilla\/5\.0 \(iOS\) (ownCloud|Nextcloud)\-iOS.*$/'; /** + * @since 13.0.0 + */ + const USER_AGENT_TALK_IOS = '/^Mozilla\/5\.0 \(iOS\) Nextcloud\-Talk v.*$/'; + + /** * @param string $name * * @return string diff --git a/lib/public/Mail/IAttachment.php b/lib/public/Mail/IAttachment.php new file mode 100644 index 00000000000..32348e7a309 --- /dev/null +++ b/lib/public/Mail/IAttachment.php @@ -0,0 +1,53 @@ +<?php +/** + * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCP\Mail; + +/** + * Interface IAttachment + * + * @package OCP\Mail + * @since 13.0.0 + */ +interface IAttachment { + + /** + * @param string $filename + * @return $this + * @since 13.0.0 + */ + public function setFilename($filename); + + /** + * @param string $contentType + * @return $this + * @since 13.0.0 + */ + public function setContentType($contentType); + + /** + * @param string $body + * @return $this + * @since 13.0.0 + */ + public function setBody($body); + +} diff --git a/lib/public/Mail/IMailer.php b/lib/public/Mail/IMailer.php index 35189c22a69..10096548256 100644 --- a/lib/public/Mail/IMailer.php +++ b/lib/public/Mail/IMailer.php @@ -54,6 +54,23 @@ interface IMailer { public function createMessage(); /** + * @param string|null $data + * @param string|null $filename + * @param string|null $contentType + * @return IAttachment + * @since 13.0.0 + */ + public function createAttachment($data = null, $filename = null, $contentType = null); + + /** + * @param string $path + * @param string|null $contentType + * @return IAttachment + * @since 13.0.0 + */ + public function createAttachmentFromPath($path, $contentType = null); + + /** * Creates a new email template object * * @param string $emailId diff --git a/lib/public/Mail/IMessage.php b/lib/public/Mail/IMessage.php index 20e4ea19c4c..e82b4ff93a9 100644 --- a/lib/public/Mail/IMessage.php +++ b/lib/public/Mail/IMessage.php @@ -22,12 +22,20 @@ namespace OCP\Mail; /** - * Class Message + * Interface IMessage * * @package OCP\Mail * @since 13.0.0 */ interface IMessage { + + /** + * @param IAttachment $attachment + * @return $this + * @since 13.0.0 + */ + public function attach(IAttachment $attachment); + /** * Set the from address of this message. * diff --git a/settings/css/settings.scss b/settings/css/settings.scss index 85ca66542a3..f649ef1a31e 100644 --- a/settings/css/settings.scss +++ b/settings/css/settings.scss @@ -248,6 +248,8 @@ input { opacity: .75; } &.active { + box-shadow: inset 2px 0 $color-primary; + .menuitem-text { font-weight: 600; } diff --git a/settings/l10n/de.js b/settings/l10n/de.js index be3aaf1ce4e..6ffc87058fe 100644 --- a/settings/l10n/de.js +++ b/settings/l10n/de.js @@ -68,7 +68,7 @@ OC.L10N.register( "Your email address on %s was changed by an administrator." : "Deine E-Mail-Adresse auf %s wurde von einen Administrator geändert.", "Email address for %1$s changed on %2$s" : "E-Mail-Adresse für %1$s geändert auf %2$s", "Email address changed for %s" : "E-Mail-Adresse geändert für %s", - "The new email address is %s" : "Die neue E-Mail-Adressel lautet %s", + "The new email address is %s" : "Die neue E-Mail-Adresse lautet %s", "Your %s account was created" : "Dein %s-Konto wurde erstellt", "Welcome aboard" : "Willkommen an Bord", "Welcome aboard %s" : "Willkommen an Bord %s", @@ -101,7 +101,7 @@ OC.L10N.register( "Enable" : "Aktivieren", "Enabling app …" : "Aktiviere App…", "Error while enabling app" : "Beim Aktivieren der App ist ein Fehler aufgetreten", - "Error: This app can not be enabled because it makes the server unstable" : "ehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", + "Error: This app can not be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", "Error: Could not disable broken app" : " Fehler: Die beschädigte Anwendung konnte nicht deaktiviert werden ", "Error while disabling broken app" : "Beim Deaktivieren der defekten App ist ein Fehler aufgetreten", "No app updates available" : "Keine App-Aktualisierungen verfügbar", diff --git a/settings/l10n/de.json b/settings/l10n/de.json index a386f77b42a..939caad194e 100644 --- a/settings/l10n/de.json +++ b/settings/l10n/de.json @@ -66,7 +66,7 @@ "Your email address on %s was changed by an administrator." : "Deine E-Mail-Adresse auf %s wurde von einen Administrator geändert.", "Email address for %1$s changed on %2$s" : "E-Mail-Adresse für %1$s geändert auf %2$s", "Email address changed for %s" : "E-Mail-Adresse geändert für %s", - "The new email address is %s" : "Die neue E-Mail-Adressel lautet %s", + "The new email address is %s" : "Die neue E-Mail-Adresse lautet %s", "Your %s account was created" : "Dein %s-Konto wurde erstellt", "Welcome aboard" : "Willkommen an Bord", "Welcome aboard %s" : "Willkommen an Bord %s", @@ -99,7 +99,7 @@ "Enable" : "Aktivieren", "Enabling app …" : "Aktiviere App…", "Error while enabling app" : "Beim Aktivieren der App ist ein Fehler aufgetreten", - "Error: This app can not be enabled because it makes the server unstable" : "ehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", + "Error: This app can not be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", "Error: Could not disable broken app" : " Fehler: Die beschädigte Anwendung konnte nicht deaktiviert werden ", "Error while disabling broken app" : "Beim Deaktivieren der defekten App ist ein Fehler aufgetreten", "No app updates available" : "Keine App-Aktualisierungen verfügbar", diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js index e883366c16c..336a438402f 100644 --- a/settings/l10n/de_DE.js +++ b/settings/l10n/de_DE.js @@ -68,7 +68,7 @@ OC.L10N.register( "Your email address on %s was changed by an administrator." : "Ihre E-Mail-Adresse auf %s wurde von einem Administrator geändert.", "Email address for %1$s changed on %2$s" : "E-Mail-Adresse für %1$s geändert auf %2$s", "Email address changed for %s" : "E-Mail-Adresse geändert für %s", - "The new email address is %s" : "Die neue E-Mail-Adressel lautet %s", + "The new email address is %s" : "Die neue E-Mail-Adresse lautet %s", "Your %s account was created" : "Ihr %s-Konto wurde erstellt", "Welcome aboard" : "Willkommen an Bord", "Welcome aboard %s" : "Willkommen an Bord %s", @@ -101,7 +101,7 @@ OC.L10N.register( "Enable" : "Aktivieren", "Enabling app …" : "Aktiviere App…", "Error while enabling app" : "Beim Aktivieren der App ist ein Fehler aufgetreten", - "Error: This app can not be enabled because it makes the server unstable" : "ehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", + "Error: This app can not be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", "Error: Could not disable broken app" : " Fehler: Die beschädigte Anwendung konnte nicht deaktiviert werden ", "Error while disabling broken app" : "Beim Deaktivieren der defekten App ist ein Fehler aufgetreten", "No app updates available" : "Keine App-Aktualisierungen verfügbar", diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json index 352f00107c6..b6485921b44 100644 --- a/settings/l10n/de_DE.json +++ b/settings/l10n/de_DE.json @@ -66,7 +66,7 @@ "Your email address on %s was changed by an administrator." : "Ihre E-Mail-Adresse auf %s wurde von einem Administrator geändert.", "Email address for %1$s changed on %2$s" : "E-Mail-Adresse für %1$s geändert auf %2$s", "Email address changed for %s" : "E-Mail-Adresse geändert für %s", - "The new email address is %s" : "Die neue E-Mail-Adressel lautet %s", + "The new email address is %s" : "Die neue E-Mail-Adresse lautet %s", "Your %s account was created" : "Ihr %s-Konto wurde erstellt", "Welcome aboard" : "Willkommen an Bord", "Welcome aboard %s" : "Willkommen an Bord %s", @@ -99,7 +99,7 @@ "Enable" : "Aktivieren", "Enabling app …" : "Aktiviere App…", "Error while enabling app" : "Beim Aktivieren der App ist ein Fehler aufgetreten", - "Error: This app can not be enabled because it makes the server unstable" : "ehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", + "Error: This app can not be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ", "Error: Could not disable broken app" : " Fehler: Die beschädigte Anwendung konnte nicht deaktiviert werden ", "Error while disabling broken app" : "Beim Deaktivieren der defekten App ist ein Fehler aufgetreten", "No app updates available" : "Keine App-Aktualisierungen verfügbar", diff --git a/settings/l10n/is.js b/settings/l10n/is.js index 0f68bdf9ff4..910341cce17 100644 --- a/settings/l10n/is.js +++ b/settings/l10n/is.js @@ -12,6 +12,7 @@ OC.L10N.register( "A login attempt using two-factor authentication failed (%1$s)" : "Innskráning með tveggja-þrepa auðkenningu mistókst (%1$s)", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Breyting hefur orðið á <strong>lykilorði</strong> eða <strong>tölvupóstfangi</strong> þínu", "Your apps" : "Forritin þín", + "Updates" : "Uppfærslur", "Enabled apps" : "Virk forrit", "Disabled apps" : "Óvirk forrit", "App bundles" : "Forritavöndlar", @@ -103,6 +104,7 @@ OC.L10N.register( "Error: This app can not be enabled because it makes the server unstable" : "Villa: ekki er hægt að virkja þetta forrit því það gerir þjóninn óstöðugan.", "Error: Could not disable broken app" : "Villa: gat ekki gert bilaða forritið óvirkt", "Error while disabling broken app" : "Villa við að gera bilaða forritið óvirkt", + "No app updates available" : "Engar forritsuppfærslur tiltækar", "Updating...." : "Uppfæri...", "Error while updating app" : "Villa við að uppfæra forrit", "Updated" : "Uppfært", diff --git a/settings/l10n/is.json b/settings/l10n/is.json index 53a02e70b35..c2fb3310013 100644 --- a/settings/l10n/is.json +++ b/settings/l10n/is.json @@ -10,6 +10,7 @@ "A login attempt using two-factor authentication failed (%1$s)" : "Innskráning með tveggja-þrepa auðkenningu mistókst (%1$s)", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Breyting hefur orðið á <strong>lykilorði</strong> eða <strong>tölvupóstfangi</strong> þínu", "Your apps" : "Forritin þín", + "Updates" : "Uppfærslur", "Enabled apps" : "Virk forrit", "Disabled apps" : "Óvirk forrit", "App bundles" : "Forritavöndlar", @@ -101,6 +102,7 @@ "Error: This app can not be enabled because it makes the server unstable" : "Villa: ekki er hægt að virkja þetta forrit því það gerir þjóninn óstöðugan.", "Error: Could not disable broken app" : "Villa: gat ekki gert bilaða forritið óvirkt", "Error while disabling broken app" : "Villa við að gera bilaða forritið óvirkt", + "No app updates available" : "Engar forritsuppfærslur tiltækar", "Updating...." : "Uppfæri...", "Error while updating app" : "Villa við að uppfæra forrit", "Updated" : "Uppfært", diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js index b48b11e858f..26c547d6cd2 100644 --- a/settings/l10n/nl.js +++ b/settings/l10n/nl.js @@ -12,6 +12,7 @@ OC.L10N.register( "A login attempt using two-factor authentication failed (%1$s)" : "Een inlogpoging via tweefactor authenticatie is mislukt (%1$s)", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Je <strong>wachtwoord</strong> of <strong>e-mailadres</strong> is gewijzigd", "Your apps" : "Jouw apps", + "Updates" : "Updates", "Enabled apps" : "Ingeschakelde apps", "Disabled apps" : "Uitgeschakelde apps", "App bundles" : "App bundels", @@ -103,6 +104,7 @@ OC.L10N.register( "Error: This app can not be enabled because it makes the server unstable" : "Fout: Deze app kan niet ingeschakeld worden, omdat die de server onstabiel maakt", "Error: Could not disable broken app" : "Fout: Kan de beschadigde app niet uitschakelen", "Error while disabling broken app" : "Fout bij het uitschakelen van de beschadigde app", + "No app updates available" : "Geen app updates beschikbaar", "Updating...." : "Bijwerken....", "Error while updating app" : "Fout bij het bijwerken van de app", "Updated" : "Bijgewerkt", diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json index cb51e755c90..7137c88f1bb 100644 --- a/settings/l10n/nl.json +++ b/settings/l10n/nl.json @@ -10,6 +10,7 @@ "A login attempt using two-factor authentication failed (%1$s)" : "Een inlogpoging via tweefactor authenticatie is mislukt (%1$s)", "Your <strong>password</strong> or <strong>email</strong> was modified" : "Je <strong>wachtwoord</strong> of <strong>e-mailadres</strong> is gewijzigd", "Your apps" : "Jouw apps", + "Updates" : "Updates", "Enabled apps" : "Ingeschakelde apps", "Disabled apps" : "Uitgeschakelde apps", "App bundles" : "App bundels", @@ -101,6 +102,7 @@ "Error: This app can not be enabled because it makes the server unstable" : "Fout: Deze app kan niet ingeschakeld worden, omdat die de server onstabiel maakt", "Error: Could not disable broken app" : "Fout: Kan de beschadigde app niet uitschakelen", "Error while disabling broken app" : "Fout bij het uitschakelen van de beschadigde app", + "No app updates available" : "Geen app updates beschikbaar", "Updating...." : "Bijwerken....", "Error while updating app" : "Fout bij het bijwerken van de app", "Updated" : "Bijgewerkt", diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js index 7ab707785b2..8f09c657bf1 100644 --- a/settings/l10n/ru.js +++ b/settings/l10n/ru.js @@ -2,22 +2,23 @@ OC.L10N.register( "settings", { "{actor} changed your password" : "{actor} сменил ваш пароль", - "You changed your password" : "Вы сменили пароль", + "You changed your password" : "Вы изменили свой пароль", "Your password was reset by an administrator" : "Ваш пароль был сброшен администратором", - "{actor} changed your email address" : "{actor} сменил ваш адрес email", - "You changed your email address" : "Вы изменили свой адрес email", - "Your email address was changed by an administrator" : "Ваш адрес email был изменён администратором", + "{actor} changed your email address" : "{actor} сменил ваш адрес электронной почты", + "You changed your email address" : "Вы изменили свой адрес электронной почты", + "Your email address was changed by an administrator" : "Ваш адрес электронной почты был изменён администратором", "Security" : "Безопасность", "You successfully logged in using two-factor authentication (%1$s)" : "Вы успешно вошли в систему используя двухфакторную аутентификацию (%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "Сбой при попытке входа с использованием двухфакторной аутентификации (%1$s)", - "Your <strong>password</strong> or <strong>email</strong> was modified" : "Вашr <strong>пароль</strong> или <strong>email</strong> были изменены", + "Your <strong>password</strong> or <strong>email</strong> was modified" : "Вашr <strong>пароль</strong> или <strong>адрес электронной почты</strong> были изменены", "Your apps" : "Ваши приложения", + "Updates" : "Обновления", "Enabled apps" : "Активные приложения", "Disabled apps" : "Отключённые приложения", "App bundles" : "Пакеты приложений", "Wrong password" : "Неправильный пароль", "Saved" : "Сохранено", - "No user supplied" : "Не выбран Пользователь", + "No user supplied" : "Не выбран пользователь", "Unable to change password" : "Невозможно изменить пароль", "Authentication error" : "Ошибка аутентификации", "Please provide an admin recovery password; otherwise, all user data will be lost." : "Введите пароль восстановления администратора, в противном случае все пользовательские данные будут утеряны.", @@ -26,16 +27,16 @@ OC.L10N.register( "installing and updating apps via the app store or Federated Cloud Sharing" : "установка и обновление приложений через магазин приложений или федерацию облачных хранилищ", "Federated Cloud Sharing" : "Федерация облачных хранилищ", "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL использует устаревшую версию %s (%s). Пожалуйста, обновите Вашу операционную систему, иначе такие возможности, как %s, не будут работать корректно.", - "A problem occurred, please check your log files (Error: %s)" : "Возникла проблема, пожалуйста, проверьте ваши файлы журнала (Ошибка: %s)", + "A problem occurred, please check your log files (Error: %s)" : "Возникла проблема, пожалуйста, проверьте журнал ошибок (Ошибка: %s)", "Migration Completed" : "Миграция завершена", - "Group already exists." : "Группа уже существует.", + "Group already exists." : "Такая группа уже существует.", "Unable to add group." : "Невозможно добавить группу.", "Unable to delete group." : "Невозможно удалить группу.", "Invalid SMTP password." : "Неверный пароль SMTP.", "Email setting test" : "Проверка настроек электронной почты", "Well done, %s!" : "Отлично, %s!", "If you received this email, the email configuration seems to be correct." : "Если вы получили это сообщение, значит электронная почта настроена правильно.", - "Email could not be sent. Check your mail server log" : "Не удалось отправить email. Проверьте журнал почтового сервера", + "Email could not be sent. Check your mail server log" : "Не удалось отправить email. Проверьте журнал ошибок почтового сервера", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Во время отправки письма произошла ошибка. Пожалуйста проверьте настройки. (Ошибка: %s)", "You need to set your user email before being able to send test emails." : "Вы должны настроить ваш собственный адрес электронной почты прежде чем отправлять тестовые сообщения.", "Invalid mail address" : "Некорректный адрес электронной почты", @@ -62,9 +63,9 @@ OC.L10N.register( "Password for %1$s changed on %2$s" : "Пароль %1$s изменен на сервере %2$s", "Password changed for %s" : "Пароль изменён для %s", "If you did not request this, please contact an administrator." : "В случае, если вы не запрашивали это действие, свяжитесь с администратором.", - "%1$s changed your email address on %2$s." : "%1$s изменил ваш адрес эл.почты на сервере %2$s.", - "Your email address on %s was changed." : "Ваш адрес эл.почты на сервере %s был изменён.", - "Your email address on %s was changed by an administrator." : "Ваш адрес эл.почты на сервере %s был изменён администратором.", + "%1$s changed your email address on %2$s." : "%1$s изменил ваш адрес электронной почты на сервере %2$s.", + "Your email address on %s was changed." : "Ваш адрес электронной почты на сервере %s был изменён.", + "Your email address on %s was changed by an administrator." : "Ваш адрес электронной почты на сервере %s был изменён администратором.", "Email address for %1$s changed on %2$s" : "Адрес электронной почты %1$s изменён на %2$s", "Email address changed for %s" : "Адрес эл.почты был изменен для %s.", "The new email address is %s" : "Новый адрес эл.почты теперь %s", @@ -103,6 +104,7 @@ OC.L10N.register( "Error: This app can not be enabled because it makes the server unstable" : "Ошибка: это приложение не может быть включено, так как оно сделает сервер нестабильным", "Error: Could not disable broken app" : "Ошибка: невозможно отключить «сломанное» приложение", "Error while disabling broken app" : "Ошибка при отключении сломанного приложения", + "No app updates available" : "У приложений нет доступных обновлений", "Updating...." : "Обновление...", "Error while updating app" : "Ошибка при обновлении приложения", "Updated" : "Обновлено", @@ -117,7 +119,7 @@ OC.L10N.register( "Enable all" : "Включить все", "Allow filesystem access" : "Разрешить доступ к файловой системе", "Disconnect" : "Отключить", - "Revoke" : "Отменить", + "Revoke" : "Отозвать", "Internet Explorer" : "Internet Explorer", "Edge" : "Edge", "Firefox" : "Firefox", @@ -163,7 +165,7 @@ OC.L10N.register( "Error creating group: {message}" : "Ошибка создания группы: {message}", "A valid group name must be provided" : "Введите правильное имя группы", "deleted {groupName}" : "удалена {groupName}", - "undo" : "отмена", + "undo" : "отмена операции", "{size} used" : "{size} использовано", "never" : "никогда", "deleted {userName}" : "удалён {userName}", @@ -175,7 +177,7 @@ OC.L10N.register( "no group" : "Без группы", "Password successfully changed" : "Пароль успешно изменен.", "Changing the password will result in data loss, because data recovery is not available for this user" : "Изменение пароля приведёт к потере данных, так как восстановление данных не доступно для этого пользователя", - "Could not change the users email" : "Невозможно изменить электронный адрес пользователя", + "Could not change the users email" : "Невозможно изменить адрес электронной почты пользователя", "Error while changing status of {user}" : "Ошибка изменения статуса пользователя {user}", "A valid username must be provided" : "Укажите правильное имя пользователя", "Error creating user: {message}" : "Ошибка создания пользователя: {message}", diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json index 2ed1eca1011..036f4264fb3 100644 --- a/settings/l10n/ru.json +++ b/settings/l10n/ru.json @@ -1,21 +1,22 @@ { "translations": { "{actor} changed your password" : "{actor} сменил ваш пароль", - "You changed your password" : "Вы сменили пароль", + "You changed your password" : "Вы изменили свой пароль", "Your password was reset by an administrator" : "Ваш пароль был сброшен администратором", - "{actor} changed your email address" : "{actor} сменил ваш адрес email", - "You changed your email address" : "Вы изменили свой адрес email", - "Your email address was changed by an administrator" : "Ваш адрес email был изменён администратором", + "{actor} changed your email address" : "{actor} сменил ваш адрес электронной почты", + "You changed your email address" : "Вы изменили свой адрес электронной почты", + "Your email address was changed by an administrator" : "Ваш адрес электронной почты был изменён администратором", "Security" : "Безопасность", "You successfully logged in using two-factor authentication (%1$s)" : "Вы успешно вошли в систему используя двухфакторную аутентификацию (%1$s)", "A login attempt using two-factor authentication failed (%1$s)" : "Сбой при попытке входа с использованием двухфакторной аутентификации (%1$s)", - "Your <strong>password</strong> or <strong>email</strong> was modified" : "Вашr <strong>пароль</strong> или <strong>email</strong> были изменены", + "Your <strong>password</strong> or <strong>email</strong> was modified" : "Вашr <strong>пароль</strong> или <strong>адрес электронной почты</strong> были изменены", "Your apps" : "Ваши приложения", + "Updates" : "Обновления", "Enabled apps" : "Активные приложения", "Disabled apps" : "Отключённые приложения", "App bundles" : "Пакеты приложений", "Wrong password" : "Неправильный пароль", "Saved" : "Сохранено", - "No user supplied" : "Не выбран Пользователь", + "No user supplied" : "Не выбран пользователь", "Unable to change password" : "Невозможно изменить пароль", "Authentication error" : "Ошибка аутентификации", "Please provide an admin recovery password; otherwise, all user data will be lost." : "Введите пароль восстановления администратора, в противном случае все пользовательские данные будут утеряны.", @@ -24,16 +25,16 @@ "installing and updating apps via the app store or Federated Cloud Sharing" : "установка и обновление приложений через магазин приложений или федерацию облачных хранилищ", "Federated Cloud Sharing" : "Федерация облачных хранилищ", "cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "cURL использует устаревшую версию %s (%s). Пожалуйста, обновите Вашу операционную систему, иначе такие возможности, как %s, не будут работать корректно.", - "A problem occurred, please check your log files (Error: %s)" : "Возникла проблема, пожалуйста, проверьте ваши файлы журнала (Ошибка: %s)", + "A problem occurred, please check your log files (Error: %s)" : "Возникла проблема, пожалуйста, проверьте журнал ошибок (Ошибка: %s)", "Migration Completed" : "Миграция завершена", - "Group already exists." : "Группа уже существует.", + "Group already exists." : "Такая группа уже существует.", "Unable to add group." : "Невозможно добавить группу.", "Unable to delete group." : "Невозможно удалить группу.", "Invalid SMTP password." : "Неверный пароль SMTP.", "Email setting test" : "Проверка настроек электронной почты", "Well done, %s!" : "Отлично, %s!", "If you received this email, the email configuration seems to be correct." : "Если вы получили это сообщение, значит электронная почта настроена правильно.", - "Email could not be sent. Check your mail server log" : "Не удалось отправить email. Проверьте журнал почтового сервера", + "Email could not be sent. Check your mail server log" : "Не удалось отправить email. Проверьте журнал ошибок почтового сервера", "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Во время отправки письма произошла ошибка. Пожалуйста проверьте настройки. (Ошибка: %s)", "You need to set your user email before being able to send test emails." : "Вы должны настроить ваш собственный адрес электронной почты прежде чем отправлять тестовые сообщения.", "Invalid mail address" : "Некорректный адрес электронной почты", @@ -60,9 +61,9 @@ "Password for %1$s changed on %2$s" : "Пароль %1$s изменен на сервере %2$s", "Password changed for %s" : "Пароль изменён для %s", "If you did not request this, please contact an administrator." : "В случае, если вы не запрашивали это действие, свяжитесь с администратором.", - "%1$s changed your email address on %2$s." : "%1$s изменил ваш адрес эл.почты на сервере %2$s.", - "Your email address on %s was changed." : "Ваш адрес эл.почты на сервере %s был изменён.", - "Your email address on %s was changed by an administrator." : "Ваш адрес эл.почты на сервере %s был изменён администратором.", + "%1$s changed your email address on %2$s." : "%1$s изменил ваш адрес электронной почты на сервере %2$s.", + "Your email address on %s was changed." : "Ваш адрес электронной почты на сервере %s был изменён.", + "Your email address on %s was changed by an administrator." : "Ваш адрес электронной почты на сервере %s был изменён администратором.", "Email address for %1$s changed on %2$s" : "Адрес электронной почты %1$s изменён на %2$s", "Email address changed for %s" : "Адрес эл.почты был изменен для %s.", "The new email address is %s" : "Новый адрес эл.почты теперь %s", @@ -101,6 +102,7 @@ "Error: This app can not be enabled because it makes the server unstable" : "Ошибка: это приложение не может быть включено, так как оно сделает сервер нестабильным", "Error: Could not disable broken app" : "Ошибка: невозможно отключить «сломанное» приложение", "Error while disabling broken app" : "Ошибка при отключении сломанного приложения", + "No app updates available" : "У приложений нет доступных обновлений", "Updating...." : "Обновление...", "Error while updating app" : "Ошибка при обновлении приложения", "Updated" : "Обновлено", @@ -115,7 +117,7 @@ "Enable all" : "Включить все", "Allow filesystem access" : "Разрешить доступ к файловой системе", "Disconnect" : "Отключить", - "Revoke" : "Отменить", + "Revoke" : "Отозвать", "Internet Explorer" : "Internet Explorer", "Edge" : "Edge", "Firefox" : "Firefox", @@ -161,7 +163,7 @@ "Error creating group: {message}" : "Ошибка создания группы: {message}", "A valid group name must be provided" : "Введите правильное имя группы", "deleted {groupName}" : "удалена {groupName}", - "undo" : "отмена", + "undo" : "отмена операции", "{size} used" : "{size} использовано", "never" : "никогда", "deleted {userName}" : "удалён {userName}", @@ -173,7 +175,7 @@ "no group" : "Без группы", "Password successfully changed" : "Пароль успешно изменен.", "Changing the password will result in data loss, because data recovery is not available for this user" : "Изменение пароля приведёт к потере данных, так как восстановление данных не доступно для этого пользователя", - "Could not change the users email" : "Невозможно изменить электронный адрес пользователя", + "Could not change the users email" : "Невозможно изменить адрес электронной почты пользователя", "Error while changing status of {user}" : "Ошибка изменения статуса пользователя {user}", "A valid username must be provided" : "Укажите правильное имя пользователя", "Error creating user: {message}" : "Ошибка создания пользователя: {message}", diff --git a/tests/Settings/Controller/GroupsControllerTest.php b/tests/Settings/Controller/GroupsControllerTest.php index 78df5f3a3cb..ecbfa9ea05e 100644 --- a/tests/Settings/Controller/GroupsControllerTest.php +++ b/tests/Settings/Controller/GroupsControllerTest.php @@ -13,6 +13,7 @@ namespace Tests\Settings\Controller; use OC\Group\Group; use OC\Group\MetaData; use OC\Settings\Controller\GroupsController; +use OC\User\User; use OCP\AppFramework\Http; use OCP\AppFramework\Http\DataResponse; use OCP\IGroupManager; @@ -99,7 +100,7 @@ class GroupsControllerTest extends \Test\TestCase { $groups[] = $thirdGroup; $groups[] = $fourthGroup; - $user = $this->getMockBuilder('\OC\User\User') + $user = $this->getMockBuilder(User::class) ->disableOriginalConstructor()->getMock(); $this->userSession ->expects($this->once()) @@ -191,7 +192,7 @@ class GroupsControllerTest extends \Test\TestCase { $groups[] = $thirdGroup; $groups[] = $fourthGroup; - $user = $this->getMockBuilder('\OC\User\User') + $user = $this->getMockBuilder(User::class) ->disableOriginalConstructor()->getMock(); $this->userSession ->expects($this->once()) diff --git a/tests/acceptance/run.sh b/tests/acceptance/run.sh index 1b68f8655ae..89fdda02630 100755 --- a/tests/acceptance/run.sh +++ b/tests/acceptance/run.sh @@ -138,7 +138,7 @@ function prepareDocker() { # Selenium server. # The container exits immediately if no command is given, so a Bash session # is created to prevent that. - docker run --detach --name=$NEXTCLOUD_LOCAL_CONTAINER --network=container:$SELENIUM_CONTAINER --interactive --tty nextcloudci/php7.0:php7.0-7 bash + docker run --detach --name=$NEXTCLOUD_LOCAL_CONTAINER --network=container:$SELENIUM_CONTAINER --interactive --tty nextcloudci/php7.1:php7.1-15 bash # Use the $TMPDIR or, if not set, fall back to /tmp. NEXTCLOUD_LOCAL_TAR="$($MKTEMP --tmpdir="${TMPDIR:-/tmp}" --suffix=.tar nextcloud-local-XXXXXXXXXX)" diff --git a/tests/lib/Collaboration/Collaborators/SearchResultTest.php b/tests/lib/Collaboration/Collaborators/SearchResultTest.php new file mode 100644 index 00000000000..90ea90237a1 --- /dev/null +++ b/tests/lib/Collaboration/Collaborators/SearchResultTest.php @@ -0,0 +1,105 @@ +<?php +/** + * @copyright Copyright (c) 2017 Joas Schilling + * + * @author Joas Schilling <coding@schilljs.com> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace Test\Collaboration\Collaborators; + + +use OC\Collaboration\Collaborators\Search; +use OC\Collaboration\Collaborators\SearchResult; +use OCP\Collaboration\Collaborators\ISearch; +use OCP\Collaboration\Collaborators\ISearchPlugin; +use OCP\Collaboration\Collaborators\SearchResultType; +use OCP\IContainer; +use OCP\Share; +use Test\TestCase; + +class SearchResultTest extends TestCase { + /** @var IContainer|\PHPUnit_Framework_MockObject_MockObject */ + protected $container; + /** @var ISearch */ + protected $search; + + public function setUp() { + parent::setUp(); + + $this->container = $this->createMock(IContainer::class); + + $this->search = new Search($this->container); + } + + public function dataAddResultSet() { + return [ + [[], ['exact' => []]], + [['users' => ['exact' => null, 'loose' => []]], ['exact' => ['users' => []], 'users' => []]], + [['groups' => ['exact' => null, 'loose' => ['l1']]], ['exact' => ['groups' => []], 'groups' => ['l1']]], + [['users' => ['exact' => ['e1'], 'loose' => []]], ['exact' => ['users' => ['e1']], 'users' => []]], + ]; + } + + /** + * @dataProvider dataAddResultSet + * @param array $toAdd + * @param array $expected + */ + public function testAddResultSet(array $toAdd, array $expected) { + $result = new SearchResult(); + + foreach ($toAdd as $type => $results) { + $result->addResultSet(new SearchResultType($type), $results['loose'], $results['exact']); + } + + $this->assertEquals($expected, $result->asArray()); + } + + public function dataHasResult() { + $result = ['value' => ['shareWith' => 'l1']]; + return [ + [[],'users', 'n1', false], + [['users' => ['exact' => null, 'loose' => [$result]]], 'users', 'l1', true], + [['users' => ['exact' => null, 'loose' => [$result]]], 'users', 'l2', false], + [['users' => ['exact' => null, 'loose' => [$result]]], 'groups', 'l1', false], + [['users' => ['exact' => [$result], 'loose' => []]], 'users', 'l1', true], + [['users' => ['exact' => [$result], 'loose' => []]], 'users', 'l2', false], + [['users' => ['exact' => [$result], 'loose' => []]], 'groups', 'l1', false], + + ]; + } + + /** + * @dataProvider dataHasResult + * @param array $toAdd + * @param string $type + * @param string $id + * @param bool $expected + */ + public function testHasResult(array $toAdd, $type, $id, $expected) { + $result = new SearchResult(); + + foreach ($toAdd as $addType => $results) { + $result->addResultSet(new SearchResultType($addType), $results['loose'], $results['exact']); + } + + $this->assertSame($expected, $result->hasResult(new SearchResultType($type), $id)); + } + +} diff --git a/tests/lib/DB/MigratorTest.php b/tests/lib/DB/MigratorTest.php index e4f45c4bb86..ea718240c5e 100644 --- a/tests/lib/DB/MigratorTest.php +++ b/tests/lib/DB/MigratorTest.php @@ -41,6 +41,9 @@ class MigratorTest extends \Test\TestCase { /** @var string */ private $tableName; + /** @var string */ + private $tableNameTmp; + protected function setUp() { parent::setUp(); @@ -50,11 +53,23 @@ class MigratorTest extends \Test\TestCase { $this->markTestSkipped('DB migration tests are not supported on OCI'); } $this->manager = new \OC\DB\MDB2SchemaManager($this->connection); - $this->tableName = strtolower($this->getUniqueID($this->config->getSystemValue('dbtableprefix', 'oc_') . 'test_')); + $this->tableName = $this->getUniqueTableName(); + $this->tableNameTmp = $this->getUniqueTableName(); + } + + private function getUniqueTableName() { + return strtolower($this->getUniqueID($this->config->getSystemValue('dbtableprefix', 'oc_') . 'test_')); } protected function tearDown() { - $this->connection->exec('DROP TABLE ' . $this->tableName); + // Try to delete if exists (IF EXISTS NOT SUPPORTED IN ORACLE) + try { + $this->connection->exec('DROP TABLE ' . $this->connection->quoteIdentifier($this->tableNameTmp)); + } catch (\Doctrine\DBAL\DBALException $e) {} + + try { + $this->connection->exec('DROP TABLE ' . $this->connection->quoteIdentifier($this->tableName)); + } catch (\Doctrine\DBAL\DBALException $e) {} parent::tearDown(); } @@ -200,4 +215,24 @@ class MigratorTest extends \Test\TestCase { $this->assertTrue(true); } + + public function testAddingForeignKey() { + $startSchema = new Schema([], [], $this->getSchemaConfig()); + $table = $startSchema->createTable($this->tableName); + $table->addColumn('id', 'integer', ['autoincrement' => true]); + $table->addColumn('name', 'string'); + $table->setPrimaryKey(['id']); + + $fkName = "fkc"; + $tableFk = $startSchema->createTable($this->tableNameTmp); + $tableFk->addColumn('fk_id', 'integer'); + $tableFk->addColumn('name', 'string'); + $tableFk->addForeignKeyConstraint($this->tableName, array('fk_id'), array('id'), array(), $fkName); + + $migrator = $this->manager->getMigrator(); + $migrator->migrate($startSchema); + + + $this->assertTrue($startSchema->getTable($this->tableNameTmp)->hasForeignKey($fkName)); + } } diff --git a/tests/lib/Encryption/DecryptAllTest.php b/tests/lib/Encryption/DecryptAllTest.php index c52619c3b12..06c5e0e2df8 100644 --- a/tests/lib/Encryption/DecryptAllTest.php +++ b/tests/lib/Encryption/DecryptAllTest.php @@ -28,9 +28,13 @@ use OC\Encryption\Exceptions\DecryptionFailedException; use OC\Encryption\Manager; use OC\Files\FileInfo; use OC\Files\View; +use OCP\Files\Storage; use OCP\IUserManager; use OCP\UserInterface; use Symfony\Component\Console\Formatter\OutputFormatterInterface; +use Symfony\Component\Console\Helper\ProgressBar; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; use Test\TestCase; /** @@ -70,11 +74,11 @@ class DecryptAllTest extends TestCase { ->disableOriginalConstructor()->getMock(); $this->encryptionManager = $this->getMockBuilder('OC\Encryption\Manager') ->disableOriginalConstructor()->getMock(); - $this->view = $this->getMockBuilder('OC\Files\View') + $this->view = $this->getMockBuilder(View::class) ->disableOriginalConstructor()->getMock(); - $this->inputInterface = $this->getMockBuilder('Symfony\Component\Console\Input\InputInterface') + $this->inputInterface = $this->getMockBuilder(InputInterface::class) ->disableOriginalConstructor()->getMock(); - $this->outputInterface = $this->getMockBuilder('Symfony\Component\Console\Output\OutputInterface') + $this->outputInterface = $this->getMockBuilder(OutputInterface::class) ->disableOriginalConstructor()->getMock(); $this->userInterface = $this->getMockBuilder(UserInterface::class) ->disableOriginalConstructor()->getMock(); @@ -253,11 +257,11 @@ class DecryptAllTest extends TestCase { ->setMethods(['decryptFile']) ->getMock(); - $storage = $this->getMockBuilder('OCP\Files\Storage') + $storage = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor()->getMock(); - $sharedStorage = $this->getMockBuilder('OCP\Files\Storage') + $sharedStorage = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor()->getMock(); $sharedStorage->expects($this->once())->method('instanceOfStorage') @@ -296,7 +300,7 @@ class DecryptAllTest extends TestCase { ->method('decryptFile') ->with('/user1/files/foo/subfile'); - $progressBar = $this->getMockBuilder('Symfony\Component\Console\Helper\ProgressBar') + $progressBar = $this->getMockBuilder(ProgressBar::class) ->disableOriginalConstructor()->getMock(); $this->invokePrivate($instance, 'decryptUsersFiles', ['user1', $progressBar, '']); diff --git a/tests/lib/Encryption/EncryptionWrapperTest.php b/tests/lib/Encryption/EncryptionWrapperTest.php index 6a6a3db2f68..d20efa8821f 100644 --- a/tests/lib/Encryption/EncryptionWrapperTest.php +++ b/tests/lib/Encryption/EncryptionWrapperTest.php @@ -26,6 +26,7 @@ namespace Test\Encryption; use OC\Encryption\EncryptionWrapper; use OC\Encryption\Manager; use OC\Memcache\ArrayCache; +use OCP\Files\Storage; use OCP\ILogger; use Test\TestCase; @@ -59,7 +60,7 @@ class EncryptionWrapperTest extends TestCase { * @dataProvider provideWrapStorage */ public function testWrapStorage($expectedWrapped, $wrappedStorages) { - $storage = $this->getMockBuilder('OC\Files\Storage\Storage') + $storage = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor() ->getMock(); diff --git a/tests/lib/Encryption/Keys/StorageTest.php b/tests/lib/Encryption/Keys/StorageTest.php index a5924d1dc88..cd8f1e9b953 100644 --- a/tests/lib/Encryption/Keys/StorageTest.php +++ b/tests/lib/Encryption/Keys/StorageTest.php @@ -24,6 +24,7 @@ namespace Test\Encryption\Keys; use OC\Encryption\Keys\Storage; +use OC\Files\View; use OCP\IConfig; use Test\TestCase; @@ -48,7 +49,7 @@ class StorageTest extends TestCase { ->disableOriginalConstructor() ->getMock(); - $this->view = $this->getMockBuilder('OC\Files\View') + $this->view = $this->getMockBuilder(View::class) ->disableOriginalConstructor() ->getMock(); diff --git a/tests/lib/Encryption/UpdateTest.php b/tests/lib/Encryption/UpdateTest.php index ccd2bb796fc..a8cbef70d75 100644 --- a/tests/lib/Encryption/UpdateTest.php +++ b/tests/lib/Encryption/UpdateTest.php @@ -24,6 +24,7 @@ namespace Test\Encryption; use OC\Encryption\Update; +use OC\Files\Mount\Manager; use OC\Files\View; use Test\TestCase; @@ -60,7 +61,7 @@ class UpdateTest extends TestCase { ->disableOriginalConstructor()->getMock(); $this->util = $this->getMockBuilder('\OC\Encryption\Util') ->disableOriginalConstructor()->getMock(); - $this->mountManager = $this->getMockBuilder('\OC\Files\Mount\Manager') + $this->mountManager = $this->getMockBuilder(Manager::class) ->disableOriginalConstructor()->getMock(); $this->encryptionManager = $this->getMockBuilder('\OC\Encryption\Manager') ->disableOriginalConstructor()->getMock(); diff --git a/tests/lib/Encryption/UtilTest.php b/tests/lib/Encryption/UtilTest.php index e313274516e..1e1b21d3671 100644 --- a/tests/lib/Encryption/UtilTest.php +++ b/tests/lib/Encryption/UtilTest.php @@ -3,6 +3,7 @@ namespace Test\Encryption; use OC\Encryption\Util; +use OC\Files\View; use OCP\Encryption\IEncryptionModule; use OCP\IConfig; use Test\TestCase; @@ -33,7 +34,7 @@ class UtilTest extends TestCase { public function setUp() { parent::setUp(); - $this->view = $this->getMockBuilder('OC\Files\View') + $this->view = $this->getMockBuilder(View::class) ->disableOriginalConstructor() ->getMock(); diff --git a/tests/lib/FileChunkingTest.php b/tests/lib/FileChunkingTest.php index cf0fed251a4..42fc820c5d0 100644 --- a/tests/lib/FileChunkingTest.php +++ b/tests/lib/FileChunkingTest.php @@ -47,7 +47,7 @@ class FileChunkingTest extends \Test\TestCase { * @param $expected */ public function testIsComplete($total, array $present, $expected) { - $fileChunking = $this->getMockBuilder('\OC_FileChunking') + $fileChunking = $this->getMockBuilder(\OC_FileChunking::class) ->setMethods(['getCache']) ->setConstructorArgs([[ 'name' => 'file', diff --git a/tests/lib/Files/Node/FolderTest.php b/tests/lib/Files/Node/FolderTest.php index ec043c7b81e..6479dad58d3 100644 --- a/tests/lib/Files/Node/FolderTest.php +++ b/tests/lib/Files/Node/FolderTest.php @@ -786,7 +786,7 @@ class FolderTest extends NodeTest { ->setConstructorArgs([$manager, $view, $this->user, $this->userMountCache, $this->logger, $this->userManager]) ->getMock(); /** @var \PHPUnit_Framework_MockObject_MockObject|\OC\Files\FileInfo $folderInfo */ - $folderInfo = $this->getMockBuilder('\OC\Files\FileInfo') + $folderInfo = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor()->getMock(); $baseTime = 1000; @@ -847,7 +847,7 @@ class FolderTest extends NodeTest { ->setConstructorArgs([$manager, $view, $this->user, $this->userMountCache, $this->logger, $this->userManager]) ->getMock(); /** @var \PHPUnit_Framework_MockObject_MockObject|\OC\Files\FileInfo $folderInfo */ - $folderInfo = $this->getMockBuilder('\OC\Files\FileInfo') + $folderInfo = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor()->getMock(); $baseTime = 1000; @@ -906,7 +906,7 @@ class FolderTest extends NodeTest { ->setConstructorArgs([$manager, $view, $this->user, $this->userMountCache, $this->logger, $this->userManager]) ->getMock(); /** @var \PHPUnit_Framework_MockObject_MockObject|\OC\Files\FileInfo $folderInfo */ - $folderInfo = $this->getMockBuilder('\OC\Files\FileInfo') + $folderInfo = $this->getMockBuilder(FileInfo::class) ->disableOriginalConstructor()->getMock(); $baseTime = 1000; diff --git a/tests/lib/Files/Node/NodeTest.php b/tests/lib/Files/Node/NodeTest.php index 160787411f1..9200ae69f75 100644 --- a/tests/lib/Files/Node/NodeTest.php +++ b/tests/lib/Files/Node/NodeTest.php @@ -9,6 +9,7 @@ namespace Test\Files\Node; use OC\Files\FileInfo; +use OC\Files\Mount\Manager; use OC\Files\View; use OCP\Files\Config\IUserMountCache; use OCP\Files\IRootFolder; @@ -52,7 +53,7 @@ abstract class NodeTest extends \Test\TestCase { ->disableOriginalConstructor() ->getMock(); $this->user = new \OC\User\User('', new \Test\Util\User\Dummy, null, $config, $urlGenerator); - $this->manager = $this->getMockBuilder('\OC\Files\Mount\Manager') + $this->manager = $this->getMockBuilder(Manager::class) ->disableOriginalConstructor() ->getMock(); $this->view = $this->getMockBuilder(View::class) diff --git a/tests/lib/Files/Node/RootTest.php b/tests/lib/Files/Node/RootTest.php index 2f81a96d486..fd050c8d90c 100644 --- a/tests/lib/Files/Node/RootTest.php +++ b/tests/lib/Files/Node/RootTest.php @@ -47,7 +47,7 @@ class RootTest extends \Test\TestCase { ->getMock(); $this->user = new \OC\User\User('', new \Test\Util\User\Dummy, null, $config, $urlgenerator); - $this->manager = $this->getMockBuilder('\OC\Files\Mount\Manager') + $this->manager = $this->getMockBuilder(Manager::class) ->disableOriginalConstructor() ->getMock(); $this->userMountCache = $this->getMockBuilder('\OCP\Files\Config\IUserMountCache') diff --git a/tests/lib/Files/Storage/Wrapper/EncryptionTest.php b/tests/lib/Files/Storage/Wrapper/EncryptionTest.php index 459abf3b64c..c184752ff7e 100644 --- a/tests/lib/Files/Storage/Wrapper/EncryptionTest.php +++ b/tests/lib/Files/Storage/Wrapper/EncryptionTest.php @@ -719,7 +719,7 @@ class EncryptionTest extends Storage { } public function testCopyBetweenStorageMinimumEncryptedVersion() { - $storage2 = $this->getMockBuilder('OCP\Files\Storage') + $storage2 = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor() ->getMock(); @@ -768,7 +768,7 @@ class EncryptionTest extends Storage { * @param bool $expectedEncrypted */ public function testCopyBetweenStorage($encryptionEnabled, $mountPointEncryptionEnabled, $expectedEncrypted) { - $storage2 = $this->getMockBuilder('OCP\Files\Storage') + $storage2 = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor() ->getMock(); @@ -830,11 +830,11 @@ class EncryptionTest extends Storage { */ public function testCopyBetweenStorageVersions($sourceInternalPath, $targetInternalPath, $copyResult, $encrypted) { - $sourceStorage = $this->getMockBuilder('OCP\Files\Storage') + $sourceStorage = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor() ->getMock(); - $targetStorage = $this->getMockBuilder('OCP\Files\Storage') + $targetStorage = $this->getMockBuilder(Storage::class) ->disableOriginalConstructor() ->getMock(); diff --git a/tests/lib/Files/ViewTest.php b/tests/lib/Files/ViewTest.php index cab8bd62739..33d5cc0a8a6 100644 --- a/tests/lib/Files/ViewTest.php +++ b/tests/lib/Files/ViewTest.php @@ -2350,7 +2350,7 @@ class ViewTest extends \Test\TestCase { return; } - $eventHandler = $this->getMockBuilder('\stdclass') + $eventHandler = $this->getMockBuilder(\stdclass::class) ->setMethods(['preCallback', 'postCallback']) ->getMock(); @@ -2425,7 +2425,7 @@ class ViewTest extends \Test\TestCase { Filesystem::getMountManager()->addMount($mount); // Listen for events - $eventHandler = $this->getMockBuilder('\stdclass') + $eventHandler = $this->getMockBuilder(\stdclass::class) ->setMethods(['umount', 'post_umount']) ->getMock(); $eventHandler->expects($this->once()) diff --git a/tests/lib/LoggerTest.php b/tests/lib/LoggerTest.php index da9cedc9f56..3a30bbd1d3b 100644 --- a/tests/lib/LoggerTest.php +++ b/tests/lib/LoggerTest.php @@ -138,6 +138,32 @@ class LoggerTest extends TestCase { } } + /** + * @dataProvider userAndPasswordData + */ + public function testDetectclosure($user, $password) { + $a = function($user, $password) { + throw new \Exception('test'); + }; + + try { + $a($user, $password); + } catch (\Exception $e) { + $this->logger->logException($e); + } + $logLines = $this->getLogs(); + + foreach($logLines as $logLine) { + $log = explode('\n', $logLine); + unset($log[1]); // Remove `testDetectclosure(` because we are not testing this here, but the closure on stack trace 0 + $logLine = implode('\n', $log); + + $this->assertNotContains($user, $logLine); + $this->assertNotContains($password, $logLine); + $this->assertContains('{closure}(*** sensitive parameters replaced ***)', $logLine); + } + } + public function dataGetLogClass() { return [ ['file', \OC\Log\File::class], diff --git a/tests/lib/Security/CertificateManagerTest.php b/tests/lib/Security/CertificateManagerTest.php index 6bdb647abc5..2804ad99c0f 100644 --- a/tests/lib/Security/CertificateManagerTest.php +++ b/tests/lib/Security/CertificateManagerTest.php @@ -9,6 +9,7 @@ namespace Test\Security; use OC\Files\Storage\Temporary; +use OC\Files\View; use \OC\Security\CertificateManager; use OCP\IConfig; use OCP\ILogger; @@ -152,7 +153,7 @@ class CertificateManagerTest extends \Test\TestCase { $expected ) { - $view = $this->getMockBuilder('OC\Files\View') + $view = $this->getMockBuilder(View::class) ->disableOriginalConstructor()->getMock(); $config = $this->createMock(IConfig::class); diff --git a/tests/lib/Session/CryptoWrappingTest.php b/tests/lib/Session/CryptoWrappingTest.php index e1fadbf933f..f34148fb50e 100644 --- a/tests/lib/Session/CryptoWrappingTest.php +++ b/tests/lib/Session/CryptoWrappingTest.php @@ -22,6 +22,7 @@ namespace Test\Session; use OC\Session\CryptoSessionData; +use OCP\ISession; use Test\TestCase; class CryptoWrappingTest extends TestCase { @@ -37,7 +38,7 @@ class CryptoWrappingTest extends TestCase { protected function setUp() { parent::setUp(); - $this->wrappedSession = $this->getMockBuilder('OCP\ISession') + $this->wrappedSession = $this->getMockBuilder(ISession::class) ->disableOriginalConstructor() ->getMock(); $this->crypto = $this->getMockBuilder('OCP\Security\ICrypto') |