diff options
506 files changed, 5291 insertions, 2276 deletions
diff --git a/.gitignore b/.gitignore index 639e38bc3dc..84c33ff3773 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ # the default generated dir + db file /data -/owncloud /config/config.php /config/*.config.php /config/mimetype*.json diff --git a/3rdparty b/3rdparty -Subproject d18387e5293c376dec791ec4c2ce96b1962a16b +Subproject 58b4c791cba853bc27422b6a091c2d0ae3f8860 diff --git a/apps/comments/js/commentstabview.js b/apps/comments/js/commentstabview.js index 9e501b141a7..20f1f590a28 100644 --- a/apps/comments/js/commentstabview.js +++ b/apps/comments/js/commentstabview.js @@ -240,19 +240,22 @@ if(!_.isUndefined(this._autoCompleteRequestCall)) { this._autoCompleteRequestCall.abort(); } - this._autoCompleteRequestCall = $.get( - OC.generateUrl('/autocomplete/get'), - { + this._autoCompleteRequestCall = $.ajax({ + url: OC.linkToOCS('core', 2) + 'autocomplete/get', + data: { search: query, itemType: 'files', itemId: s.model.get('id'), sorter: 'commenters|share-recipients', limit: OC.appConfig.comments.maxAutoCompleteResults }, - function (data) { - callback(data); + beforeSend: function (request) { + request.setRequestHeader('Accept', 'application/json'); + }, + success: function (result) { + callback(result.ocs.data); } - ); + }); }, 400); }, diff --git a/apps/comments/l10n/af.js b/apps/comments/l10n/af.js index cf5633c90ee..b75ff8e06c5 100644 --- a/apps/comments/l10n/af.js +++ b/apps/comments/l10n/af.js @@ -12,6 +12,7 @@ OC.L10N.register( "More comments …" : "Nog kommentare …", "Save" : "Bewaar", "Allowed characters {count} of {max}" : "Toegelate karakters {telling} van {maks}", + "Error occurred while retrieving comment with ID {id}" : "’n Fout het voorgekom toe kommentaar met id {id} opgehaal is", "Error occurred while updating comment with id {id}" : "’n Fout het voorgekom toe kommentaar met id {id} bygewerk is", "Error occurred while posting comment" : "’n Fout het voorgekom toe kommentaar geplaas is", "_%n unread comment_::_%n unread comments_" : ["%n ongeleesde kommentaar","%n ongeleeste kommentare"], @@ -24,6 +25,8 @@ OC.L10N.register( "%1$s commented on %2$s" : "%1$s het op %2$s kommentaar gelewer", "{author} commented on {file}" : "{outeur} het op {lêer} kommentaar gelewer", "<strong>Comments</strong> for files" : "<strong>Kommentare</strong> vir lêers", + "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Jy was genoem op \"%s\", in die kommentaar van 'n gebruiker wat intussen geskrap is.", + "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Jy was genoem op “{lêer}”, in die kommentaar van 'n gebruiker wat intussen geskrap is.", "%1$s mentioned you in a comment on “%2$s”" : "%1$s het u in ’n kommentaar op “%2$s” genoem", "{user} mentioned you in a comment on “{file}”" : "{gebruiker} het u in ’n kommentaar oor “{lêer}” genoem", "Unknown user" : "Onbekende gebruiker", diff --git a/apps/comments/l10n/af.json b/apps/comments/l10n/af.json index eeea8c04f60..2c9db7765e1 100644 --- a/apps/comments/l10n/af.json +++ b/apps/comments/l10n/af.json @@ -10,6 +10,7 @@ "More comments …" : "Nog kommentare …", "Save" : "Bewaar", "Allowed characters {count} of {max}" : "Toegelate karakters {telling} van {maks}", + "Error occurred while retrieving comment with ID {id}" : "’n Fout het voorgekom toe kommentaar met id {id} opgehaal is", "Error occurred while updating comment with id {id}" : "’n Fout het voorgekom toe kommentaar met id {id} bygewerk is", "Error occurred while posting comment" : "’n Fout het voorgekom toe kommentaar geplaas is", "_%n unread comment_::_%n unread comments_" : ["%n ongeleesde kommentaar","%n ongeleeste kommentare"], @@ -22,6 +23,8 @@ "%1$s commented on %2$s" : "%1$s het op %2$s kommentaar gelewer", "{author} commented on {file}" : "{outeur} het op {lêer} kommentaar gelewer", "<strong>Comments</strong> for files" : "<strong>Kommentare</strong> vir lêers", + "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Jy was genoem op \"%s\", in die kommentaar van 'n gebruiker wat intussen geskrap is.", + "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Jy was genoem op “{lêer}”, in die kommentaar van 'n gebruiker wat intussen geskrap is.", "%1$s mentioned you in a comment on “%2$s”" : "%1$s het u in ’n kommentaar op “%2$s” genoem", "{user} mentioned you in a comment on “{file}”" : "{gebruiker} het u in ’n kommentaar oor “{lêer}” genoem", "Unknown user" : "Onbekende gebruiker", diff --git a/apps/comments/l10n/da.js b/apps/comments/l10n/da.js index 0755324a933..68c6c85dccb 100644 --- a/apps/comments/l10n/da.js +++ b/apps/comments/l10n/da.js @@ -24,7 +24,7 @@ OC.L10N.register( "%1$s commented on %2$s" : "%1$s kommenterede %2$s", "{author} commented on {file}" : "{author} kommenterede {file}", "<strong>Comments</strong> for files" : "<strong>Kommentarer</strong> for filer", - "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Du blev nævnt i \"%s”, I en kommentar af en bruger der siden er blevet slettet", + "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Du blev nævnt i \"%s”, I en kommentar af en bruger der er blevet slettet efterfølgende", "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du blev nævnt i \"{file}”, I en kommentar af en bruger der siden er blevet slettet", "%1$s mentioned you in a comment on “%2$s”" : "%1$s nævnte dig i en kommentarer på “%2$s”", "{user} mentioned you in a comment on “{file}”" : "{user} nævnte dig i en kommentarer på \"{file}\"", diff --git a/apps/comments/l10n/da.json b/apps/comments/l10n/da.json index e98790a0791..e1017f927e7 100644 --- a/apps/comments/l10n/da.json +++ b/apps/comments/l10n/da.json @@ -22,7 +22,7 @@ "%1$s commented on %2$s" : "%1$s kommenterede %2$s", "{author} commented on {file}" : "{author} kommenterede {file}", "<strong>Comments</strong> for files" : "<strong>Kommentarer</strong> for filer", - "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Du blev nævnt i \"%s”, I en kommentar af en bruger der siden er blevet slettet", + "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Du blev nævnt i \"%s”, I en kommentar af en bruger der er blevet slettet efterfølgende", "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du blev nævnt i \"{file}”, I en kommentar af en bruger der siden er blevet slettet", "%1$s mentioned you in a comment on “%2$s”" : "%1$s nævnte dig i en kommentarer på “%2$s”", "{user} mentioned you in a comment on “{file}”" : "{user} nævnte dig i en kommentarer på \"{file}\"", diff --git a/apps/comments/l10n/fi.js b/apps/comments/l10n/fi.js index 39fde95643a..c82bd4c934e 100644 --- a/apps/comments/l10n/fi.js +++ b/apps/comments/l10n/fi.js @@ -12,6 +12,7 @@ OC.L10N.register( "More comments …" : "Lisää kommentteja…", "Save" : "Tallenna", "Allowed characters {count} of {max}" : "Sallittujen merkkien määrä {count}/{max}", + "Error occurred while retrieving comment with ID {id}" : "Virhe haettaessa kommenttia tunnisteella {id}", "Error occurred while updating comment with id {id}" : "Virhe päivittäessä kommenttia tunnisteella {id}", "Error occurred while posting comment" : "Virhe kommenttia lähettäessä", "_%n unread comment_::_%n unread comments_" : ["%n lukematon kommentti","%n lukematonta kommenttia"], diff --git a/apps/comments/l10n/fi.json b/apps/comments/l10n/fi.json index 1a693ba76b0..cb1e7fcccbe 100644 --- a/apps/comments/l10n/fi.json +++ b/apps/comments/l10n/fi.json @@ -10,6 +10,7 @@ "More comments …" : "Lisää kommentteja…", "Save" : "Tallenna", "Allowed characters {count} of {max}" : "Sallittujen merkkien määrä {count}/{max}", + "Error occurred while retrieving comment with ID {id}" : "Virhe haettaessa kommenttia tunnisteella {id}", "Error occurred while updating comment with id {id}" : "Virhe päivittäessä kommenttia tunnisteella {id}", "Error occurred while posting comment" : "Virhe kommenttia lähettäessä", "_%n unread comment_::_%n unread comments_" : ["%n lukematon kommentti","%n lukematonta kommenttia"], diff --git a/apps/comments/l10n/he.js b/apps/comments/l10n/he.js index d21f53e4326..7b4fad58ca2 100644 --- a/apps/comments/l10n/he.js +++ b/apps/comments/l10n/he.js @@ -1,25 +1,36 @@ OC.L10N.register( "comments", { + "Comments" : "תגובות", + "New comment …" : "תגובה חדשה", "Delete comment" : "מחיקת תגובה", "Post" : "פרסום", "Cancel" : "ביטול", "Edit comment" : "עריכת תגובה", "[Deleted user]" : "[משתמשים מוסרים]", - "Comments" : "תגובות", + "No comments yet, start the conversation!" : "אין תגובות עדיין, בואו נתחיל לקשקש!", + "More comments …" : "תגובות נוספות…", "Save" : "שמירה", "Allowed characters {count} of {max}" : "תווים מותרים {count} מתוך {max}", - "Error occurred while retrieving comment with id {id}" : "שגיאה אירעה כאשר אוחזרה תגובה עם מספר זיהוי {id}", + "Error occurred while retrieving comment with ID {id}" : "אירעה שגיאה בעת קבלת התגובה עם המזהה {id}", "Error occurred while updating comment with id {id}" : "שגיאה אירעה כאשר עודכנה תגובה עם מספר זיהוי {id}", "Error occurred while posting comment" : "אירעה שגיאה בזמן פרסום תגובה", + "_%n unread comment_::_%n unread comments_" : ["תגובה אחת שלא נקראה","%n תגובות שלא נקראו"], "Comment" : "תגובה", "You commented" : "הערות שלך", "%1$s commented" : "התקבלו תגובות %1$s", - "You commented on %2$s" : "הערות שלך ב- %2$s", + "{author} commented" : "התקבלה תגובה מאת {author}", + "You commented on %1$s" : "הגבת על %1$s", + "You commented on {file}" : "הגבת על {file}", "%1$s commented on %2$s" : "התקבלו תגובות %1$s ב- %2$s ", - "Type in a new comment..." : "יש להכניס תגובה חדשה...", - "No other comments available" : "אין תגובות אחרות זמינות", - "More comments..." : "תגובות נוספות...", - "{count} unread comments" : "{count} תגובות שלא נקראו" + "{author} commented on {file}" : "נוספה תגובה על {file} מאת {author}", + "<strong>Comments</strong> for files" : "<strong>תגובות</strong> על קבצים", + "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "אוזכרת ב־„%s”, בתגובה על ידי משתמש שנמחק בינתיים.", + "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "אוזכרת ב־„{file}”, בתגובה של משתמש שנמחק בינתיים.", + "%1$s mentioned you in a comment on “%2$s”" : "אוזכרת על ידי %1$s בתגובה על „%2$s”", + "{user} mentioned you in a comment on “{file}”" : "אוזכרת על ידי „{user}” בתגובה על „{file}”", + "Unknown user" : "משתמש לא ידוע", + "A (now) deleted user mentioned you in a comment on “%s”" : "אוזכרת על ידי משתמש שנמחק (נכון לעכשיו) בתגובה על „%s”", + "A (now) deleted user mentioned you in a comment on “{file}”" : "אוזכרת על ידי משתמש שנמחק (נכון לעכשיו) בתגובה על „{file}”" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/comments/l10n/he.json b/apps/comments/l10n/he.json index 5cf6472acb0..30f07bf5268 100644 --- a/apps/comments/l10n/he.json +++ b/apps/comments/l10n/he.json @@ -1,23 +1,34 @@ { "translations": { + "Comments" : "תגובות", + "New comment …" : "תגובה חדשה", "Delete comment" : "מחיקת תגובה", "Post" : "פרסום", "Cancel" : "ביטול", "Edit comment" : "עריכת תגובה", "[Deleted user]" : "[משתמשים מוסרים]", - "Comments" : "תגובות", + "No comments yet, start the conversation!" : "אין תגובות עדיין, בואו נתחיל לקשקש!", + "More comments …" : "תגובות נוספות…", "Save" : "שמירה", "Allowed characters {count} of {max}" : "תווים מותרים {count} מתוך {max}", - "Error occurred while retrieving comment with id {id}" : "שגיאה אירעה כאשר אוחזרה תגובה עם מספר זיהוי {id}", + "Error occurred while retrieving comment with ID {id}" : "אירעה שגיאה בעת קבלת התגובה עם המזהה {id}", "Error occurred while updating comment with id {id}" : "שגיאה אירעה כאשר עודכנה תגובה עם מספר זיהוי {id}", "Error occurred while posting comment" : "אירעה שגיאה בזמן פרסום תגובה", + "_%n unread comment_::_%n unread comments_" : ["תגובה אחת שלא נקראה","%n תגובות שלא נקראו"], "Comment" : "תגובה", "You commented" : "הערות שלך", "%1$s commented" : "התקבלו תגובות %1$s", - "You commented on %2$s" : "הערות שלך ב- %2$s", + "{author} commented" : "התקבלה תגובה מאת {author}", + "You commented on %1$s" : "הגבת על %1$s", + "You commented on {file}" : "הגבת על {file}", "%1$s commented on %2$s" : "התקבלו תגובות %1$s ב- %2$s ", - "Type in a new comment..." : "יש להכניס תגובה חדשה...", - "No other comments available" : "אין תגובות אחרות זמינות", - "More comments..." : "תגובות נוספות...", - "{count} unread comments" : "{count} תגובות שלא נקראו" + "{author} commented on {file}" : "נוספה תגובה על {file} מאת {author}", + "<strong>Comments</strong> for files" : "<strong>תגובות</strong> על קבצים", + "You were mentioned on “%s”, in a comment by a user that has since been deleted" : "אוזכרת ב־„%s”, בתגובה על ידי משתמש שנמחק בינתיים.", + "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "אוזכרת ב־„{file}”, בתגובה של משתמש שנמחק בינתיים.", + "%1$s mentioned you in a comment on “%2$s”" : "אוזכרת על ידי %1$s בתגובה על „%2$s”", + "{user} mentioned you in a comment on “{file}”" : "אוזכרת על ידי „{user}” בתגובה על „{file}”", + "Unknown user" : "משתמש לא ידוע", + "A (now) deleted user mentioned you in a comment on “%s”" : "אוזכרת על ידי משתמש שנמחק (נכון לעכשיו) בתגובה על „%s”", + "A (now) deleted user mentioned you in a comment on “{file}”" : "אוזכרת על ידי משתמש שנמחק (נכון לעכשיו) בתגובה על „{file}”" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/comments/l10n/pl.js b/apps/comments/l10n/pl.js index 70008a04fcb..73537afee01 100644 --- a/apps/comments/l10n/pl.js +++ b/apps/comments/l10n/pl.js @@ -12,6 +12,7 @@ OC.L10N.register( "More comments …" : "Więcej komentarzy ...", "Save" : "Zapisz", "Allowed characters {count} of {max}" : "Dozwolone znaki {count} z {max}", + "Error occurred while retrieving comment with ID {id}" : "Wystąpił błąd podczas pobierania komentarza o identyfikatorze {id}", "Error occurred while updating comment with id {id}" : "W trakcie aktualizacji komentarza o identyfikatorze {id} wystąpił błąd.", "Error occurred while posting comment" : "Podczas wysyłania komentarza wystąpił błąd", "_%n unread comment_::_%n unread comments_" : ["%n nieprzeczytany komentarz","%n nieprzeczytane komentarze","%n nieprzeczytanych komentarzy","%n nieprzeczytanych komentarzy"], diff --git a/apps/comments/l10n/pl.json b/apps/comments/l10n/pl.json index bf1d452619d..846e6ed703a 100644 --- a/apps/comments/l10n/pl.json +++ b/apps/comments/l10n/pl.json @@ -10,6 +10,7 @@ "More comments …" : "Więcej komentarzy ...", "Save" : "Zapisz", "Allowed characters {count} of {max}" : "Dozwolone znaki {count} z {max}", + "Error occurred while retrieving comment with ID {id}" : "Wystąpił błąd podczas pobierania komentarza o identyfikatorze {id}", "Error occurred while updating comment with id {id}" : "W trakcie aktualizacji komentarza o identyfikatorze {id} wystąpił błąd.", "Error occurred while posting comment" : "Podczas wysyłania komentarza wystąpił błąd", "_%n unread comment_::_%n unread comments_" : ["%n nieprzeczytany komentarz","%n nieprzeczytane komentarze","%n nieprzeczytanych komentarzy","%n nieprzeczytanych komentarzy"], diff --git a/apps/dav/l10n/fi.js b/apps/dav/l10n/fi.js index 1061a7bf80f..ce54c41f6da 100644 --- a/apps/dav/l10n/fi.js +++ b/apps/dav/l10n/fi.js @@ -48,6 +48,7 @@ OC.L10N.register( "The meeting »%s« with %s was canceled." : "Tapaaminen »%s« henkilön %s kanssa peruttiin.", "Invitation updated" : "Kutsu päivitetty", "The meeting »%s« with %s was updated." : "Tapaaminen »%s« henkilön %s kanssa päivitettiin.", + "%s invited you to »%s«" : "%s kutsui sinut »%s«", "When:" : "Milloin:", "Where:" : "Missä:", "Description:" : "Kuvaus:", diff --git a/apps/dav/l10n/fi.json b/apps/dav/l10n/fi.json index 37714056422..888818020f3 100644 --- a/apps/dav/l10n/fi.json +++ b/apps/dav/l10n/fi.json @@ -46,6 +46,7 @@ "The meeting »%s« with %s was canceled." : "Tapaaminen »%s« henkilön %s kanssa peruttiin.", "Invitation updated" : "Kutsu päivitetty", "The meeting »%s« with %s was updated." : "Tapaaminen »%s« henkilön %s kanssa päivitettiin.", + "%s invited you to »%s«" : "%s kutsui sinut »%s«", "When:" : "Milloin:", "Where:" : "Missä:", "Description:" : "Kuvaus:", diff --git a/apps/dav/l10n/he.js b/apps/dav/l10n/he.js new file mode 100644 index 00000000000..04523cb0c1e --- /dev/null +++ b/apps/dav/l10n/he.js @@ -0,0 +1,39 @@ +OC.L10N.register( + "dav", + { + "Calendar" : "יומן", + "Todos" : "משימות מטלות", + "Personal" : "אישי", + "{actor} created calendar {calendar}" : "היומן {calendar} נוצר על ידי {actor}", + "You created calendar {calendar}" : "מחקת את היומן {calendar}", + "{actor} deleted calendar {calendar}" : "היומן {calendar} נמחק על ידי {actor}", + "You deleted calendar {calendar}" : "מחקת את היומן {calendar}", + "{actor} updated calendar {calendar}" : "היומן {calendar} עודכן על ידי {actor}", + "You updated calendar {calendar}" : "עדכנת את היומן {calendar}", + "You shared calendar {calendar} as public link" : "שיתפת את היומן {calendar} כקישור ציבורי", + "You removed public link for calendar {calendar}" : "הסרת את הקישור הציבורי ליומן {calendar}", + "A <strong>calendar</strong> was modified" : " <strong>יומן</strong> נערך", + "A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך", + "Contact birthdays" : "ימי הולדת של אנשי קשר", + "Invitation canceled" : "ההזמנה בוטלה", + "Hello %s," : "שלום %s,", + "The meeting »%s« with %s was canceled." : "הפגישה „%s” עם %s בוטלה.", + "Invitation updated" : "ההזמנה עודכנה", + "The meeting »%s« with %s was updated." : "הפגישה „%s” עם %s עודכנה.", + "When:" : "מתי:", + "Where:" : "איפה:", + "Description:" : "תיאור:", + "Link:" : "קישור:", + "Contacts" : "אנשי קשר", + "WebDAV" : "WebDAV", + "Technical details" : "פרטים טכניים", + "Remote Address: %s" : "כתובת מרוחקת: %s", + "Request ID: %s" : "מזהה בקשה: %s", + "CalDAV server" : "שרת CalDAV", + "Send invitations to attendees" : "שליחת הזמנות למשתתפים", + "Please make sure to properly set up the email settings above." : "נא לוודא שהגדרת את הדוא״ל שלהלן כראוי.", + "Automatically generate a birthday calendar" : "יצירת יומן ימי הולדת אוטומטית", + "Birthday calendars will be generated by a background job." : "יומני ימי הולדת ייווצרו על ידי משימה ברקע.", + "Hence they will not be available immediately after enabling but will show up after some time." : "לכן הם לא יהיה זמינים מיד לאחר ההפעלה אלא הם יופיעו לאחר זמן מה." +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/dav/l10n/he.json b/apps/dav/l10n/he.json new file mode 100644 index 00000000000..11c7ca6b6bf --- /dev/null +++ b/apps/dav/l10n/he.json @@ -0,0 +1,37 @@ +{ "translations": { + "Calendar" : "יומן", + "Todos" : "משימות מטלות", + "Personal" : "אישי", + "{actor} created calendar {calendar}" : "היומן {calendar} נוצר על ידי {actor}", + "You created calendar {calendar}" : "מחקת את היומן {calendar}", + "{actor} deleted calendar {calendar}" : "היומן {calendar} נמחק על ידי {actor}", + "You deleted calendar {calendar}" : "מחקת את היומן {calendar}", + "{actor} updated calendar {calendar}" : "היומן {calendar} עודכן על ידי {actor}", + "You updated calendar {calendar}" : "עדכנת את היומן {calendar}", + "You shared calendar {calendar} as public link" : "שיתפת את היומן {calendar} כקישור ציבורי", + "You removed public link for calendar {calendar}" : "הסרת את הקישור הציבורי ליומן {calendar}", + "A <strong>calendar</strong> was modified" : " <strong>יומן</strong> נערך", + "A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך", + "Contact birthdays" : "ימי הולדת של אנשי קשר", + "Invitation canceled" : "ההזמנה בוטלה", + "Hello %s," : "שלום %s,", + "The meeting »%s« with %s was canceled." : "הפגישה „%s” עם %s בוטלה.", + "Invitation updated" : "ההזמנה עודכנה", + "The meeting »%s« with %s was updated." : "הפגישה „%s” עם %s עודכנה.", + "When:" : "מתי:", + "Where:" : "איפה:", + "Description:" : "תיאור:", + "Link:" : "קישור:", + "Contacts" : "אנשי קשר", + "WebDAV" : "WebDAV", + "Technical details" : "פרטים טכניים", + "Remote Address: %s" : "כתובת מרוחקת: %s", + "Request ID: %s" : "מזהה בקשה: %s", + "CalDAV server" : "שרת CalDAV", + "Send invitations to attendees" : "שליחת הזמנות למשתתפים", + "Please make sure to properly set up the email settings above." : "נא לוודא שהגדרת את הדוא״ל שלהלן כראוי.", + "Automatically generate a birthday calendar" : "יצירת יומן ימי הולדת אוטומטית", + "Birthday calendars will be generated by a background job." : "יומני ימי הולדת ייווצרו על ידי משימה ברקע.", + "Hence they will not be available immediately after enabling but will show up after some time." : "לכן הם לא יהיה זמינים מיד לאחר ההפעלה אלא הם יופיעו לאחר זמן מה." +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/dav/l10n/pl.js b/apps/dav/l10n/pl.js index 6240fc9cab4..11d53da887d 100644 --- a/apps/dav/l10n/pl.js +++ b/apps/dav/l10n/pl.js @@ -10,6 +10,8 @@ OC.L10N.register( "You deleted calendar {calendar}" : "Usunąłęś/ęłaś kalendarz {calendar}", "{actor} updated calendar {calendar}" : "{actor} zaktualizował/-a kalendarz {calendar} .", "You updated calendar {calendar}" : "Zaktualizowałeś/-aś kalendarz {calendar}", + "You shared calendar {calendar} as public link" : "Udostępniłeś kalendarz {calendar} jako publiczny link", + "You removed public link for calendar {calendar}" : "Usunąłeś publiczny link do kalendarza {calendar}", "{actor} shared calendar {calendar} with you" : "{actor} współdzieli kalendarz {calendar} z Tobą", "You shared calendar {calendar} with {user}" : "Współdzielisz kalendarz {calendar} z {user}", "{actor} shared calendar {calendar} with {user}" : "{actor} współdzieli kalendarz {calendar} z {user}", @@ -53,11 +55,13 @@ OC.L10N.register( "Description:" : "Opis:", "Link:" : "Link: ", "Contacts" : "Kontakty", + "WebDAV" : "WebDAV", "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", - "Please make sure to properly set up the email settings above." : "Upewnij się, że dobrze skonfigurowano powyżej ustawienia poczty e-mail." + "Please make sure to properly set up the email settings above." : "Upewnij się, że dobrze skonfigurowano powyżej ustawienia poczty e-mail.", + "Automatically generate a birthday calendar" : "Automatycznie generuj kalendarz urodzin" }, "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 eb949a6e052..e04a6e25b5c 100644 --- a/apps/dav/l10n/pl.json +++ b/apps/dav/l10n/pl.json @@ -8,6 +8,8 @@ "You deleted calendar {calendar}" : "Usunąłęś/ęłaś kalendarz {calendar}", "{actor} updated calendar {calendar}" : "{actor} zaktualizował/-a kalendarz {calendar} .", "You updated calendar {calendar}" : "Zaktualizowałeś/-aś kalendarz {calendar}", + "You shared calendar {calendar} as public link" : "Udostępniłeś kalendarz {calendar} jako publiczny link", + "You removed public link for calendar {calendar}" : "Usunąłeś publiczny link do kalendarza {calendar}", "{actor} shared calendar {calendar} with you" : "{actor} współdzieli kalendarz {calendar} z Tobą", "You shared calendar {calendar} with {user}" : "Współdzielisz kalendarz {calendar} z {user}", "{actor} shared calendar {calendar} with {user}" : "{actor} współdzieli kalendarz {calendar} z {user}", @@ -51,11 +53,13 @@ "Description:" : "Opis:", "Link:" : "Link: ", "Contacts" : "Kontakty", + "WebDAV" : "WebDAV", "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", - "Please make sure to properly set up the email settings above." : "Upewnij się, że dobrze skonfigurowano powyżej ustawienia poczty e-mail." + "Please make sure to properly set up the email settings above." : "Upewnij się, że dobrze skonfigurowano powyżej ustawienia poczty e-mail.", + "Automatically generate a birthday calendar" : "Automatycznie generuj kalendarz urodzin" },"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/sk.js b/apps/dav/l10n/sk.js index 59bd102066a..46199bdd4f9 100644 --- a/apps/dav/l10n/sk.js +++ b/apps/dav/l10n/sk.js @@ -52,6 +52,7 @@ OC.L10N.register( "Description:" : "Popis:", "Link:" : "Odkaz:", "Contacts" : "Kontakty", + "WebDAV" : "WebDAV", "Technical details" : "Technické podrobnosti", "Remote Address: %s" : "Vzdialená adresa: %s", "Request ID: %s" : "ID požiadavky: %s", diff --git a/apps/dav/l10n/sk.json b/apps/dav/l10n/sk.json index 6e13d51b12c..6455aa505bc 100644 --- a/apps/dav/l10n/sk.json +++ b/apps/dav/l10n/sk.json @@ -50,6 +50,7 @@ "Description:" : "Popis:", "Link:" : "Odkaz:", "Contacts" : "Kontakty", + "WebDAV" : "WebDAV", "Technical details" : "Technické podrobnosti", "Remote Address: %s" : "Vzdialená adresa: %s", "Request ID: %s" : "ID požiadavky: %s", diff --git a/apps/dav/l10n/zh_TW.js b/apps/dav/l10n/zh_TW.js index 0ebd869fa8d..cbf4b4f262d 100644 --- a/apps/dav/l10n/zh_TW.js +++ b/apps/dav/l10n/zh_TW.js @@ -37,6 +37,7 @@ OC.L10N.register( "Description:" : "描述", "Link:" : "連結", "Contacts" : "聯絡人", + "WebDAV" : "WebDAV", "Technical details" : "技術細節", "Remote Address: %s" : "遠端位置:%s", "Request ID: %s" : "請求編號:%s", diff --git a/apps/dav/l10n/zh_TW.json b/apps/dav/l10n/zh_TW.json index d41e70036bb..c4a4ba65333 100644 --- a/apps/dav/l10n/zh_TW.json +++ b/apps/dav/l10n/zh_TW.json @@ -35,6 +35,7 @@ "Description:" : "描述", "Link:" : "連結", "Contacts" : "聯絡人", + "WebDAV" : "WebDAV", "Technical details" : "技術細節", "Remote Address: %s" : "遠端位置:%s", "Request ID: %s" : "請求編號:%s", diff --git a/apps/dav/lib/Connector/Sabre/CustomPropertiesBackend.php b/apps/dav/lib/Connector/Sabre/CustomPropertiesBackend.php index e9118cfc9e0..d08917ff35d 100644 --- a/apps/dav/lib/Connector/Sabre/CustomPropertiesBackend.php +++ b/apps/dav/lib/Connector/Sabre/CustomPropertiesBackend.php @@ -52,6 +52,7 @@ class CustomPropertiesBackend implements BackendInterface { '{http://owncloud.org/ns}downloadURL', '{http://owncloud.org/ns}dDC', '{http://owncloud.org/ns}size', + '{http://nextcloud.org/ns}is-encrypted', ); /** diff --git a/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php b/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php index 26e29e20d12..1678a8831dc 100644 --- a/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php +++ b/apps/dav/lib/Connector/Sabre/ExceptionLoggerPlugin.php @@ -32,6 +32,7 @@ use OCP\ILogger; use Sabre\DAV\Exception\Conflict; use Sabre\DAV\Exception\Forbidden; use Sabre\DAV\Exception\InvalidSyncToken; +use Sabre\DAV\Exception\MethodNotAllowed; use Sabre\DAV\Exception\NotAuthenticated; use Sabre\DAV\Exception\NotFound; use Sabre\DAV\Exception\NotImplemented; @@ -65,6 +66,9 @@ class ExceptionLoggerPlugin extends \Sabre\DAV\ServerPlugin { // happens when the parent directory is not present (for example when a // move is done to a non-existent directory) Conflict::class => true, + // happens when a certain method is not allowed to be called + // for example creating a folder that already exists + MethodNotAllowed::class => true, ]; /** @var string */ diff --git a/apps/dav/lib/Connector/Sabre/ServerFactory.php b/apps/dav/lib/Connector/Sabre/ServerFactory.php index 73969865a86..302e1f52249 100644 --- a/apps/dav/lib/Connector/Sabre/ServerFactory.php +++ b/apps/dav/lib/Connector/Sabre/ServerFactory.php @@ -119,7 +119,7 @@ class ServerFactory { // we do not provide locking we emulate it using a fake locking plugin. if($this->request->isUserAgent([ '/WebDAVFS/', - '/Microsoft Office OneNote 2013/', + '/OneNote/', '/Microsoft-WebDAV-MiniRedir/', ])) { $server->addPlugin(new \OCA\DAV\Connector\Sabre\FakeLockerPlugin()); diff --git a/apps/dav/lib/Files/FileSearchBackend.php b/apps/dav/lib/Files/FileSearchBackend.php index 275d3dc8a42..5b3c18c9720 100644 --- a/apps/dav/lib/Files/FileSearchBackend.php +++ b/apps/dav/lib/Files/FileSearchBackend.php @@ -113,7 +113,7 @@ class FileSearchBackend implements ISearchBackend { //todo dynamically load all propfind properties that are supported return [ // queryable properties - new SearchPropertyDefinition('{DAV:}displayname', true, false, true), + new SearchPropertyDefinition('{DAV:}displayname', true, true, true), new SearchPropertyDefinition('{DAV:}getcontenttype', true, true, true), new SearchPropertyDefinition('{DAV:}getlastmodified', true, true, true, SearchPropertyDefinition::DATATYPE_DATETIME), new SearchPropertyDefinition(FilesPlugin::SIZE_PROPERTYNAME, true, true, true, SearchPropertyDefinition::DATATYPE_NONNEGATIVE_INTEGER), diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php index 84426db04cb..7fbd7671e8d 100644 --- a/apps/dav/lib/Server.php +++ b/apps/dav/lib/Server.php @@ -179,7 +179,7 @@ class Server { // we do not provide locking we emulate it using a fake locking plugin. if($request->isUserAgent([ '/WebDAVFS/', - '/Microsoft Office OneNote 2013/', + '/OneNote/', '/^Microsoft-WebDAV/',// Microsoft-WebDAV-MiniRedir/6.1.7601 ])) { $this->server->addPlugin(new FakeLockerPlugin()); diff --git a/apps/federatedfilesharing/l10n/fi.js b/apps/federatedfilesharing/l10n/fi.js index de6ef87dda3..9e659981478 100644 --- a/apps/federatedfilesharing/l10n/fi.js +++ b/apps/federatedfilesharing/l10n/fi.js @@ -33,7 +33,7 @@ OC.L10N.register( "Sharing" : "Jakaminen", "Federated file sharing" : "Federoitu tiedostojako", "Federated Cloud Sharing" : "Federoitu pilvijakaminen", - "Open documentation" : "Avaa dokumentaatio", + "Open documentation" : "Avaa ohje", "Adjust how people can share between servers." : "Mukauta kuinka ihmiset voivat jakaa palvelinten välillä.", "Allow users on this server to send shares to other servers" : "Salli tämän palvelimen käyttäjien lähettää jakoja muille palvelimille", "Allow users on this server to receive shares from other servers" : "Salli tämän palvelimen käyttäjien vastaanottaa jakoja muilta palvelimilta", diff --git a/apps/federatedfilesharing/l10n/fi.json b/apps/federatedfilesharing/l10n/fi.json index 6291af9be96..89259e025d9 100644 --- a/apps/federatedfilesharing/l10n/fi.json +++ b/apps/federatedfilesharing/l10n/fi.json @@ -31,7 +31,7 @@ "Sharing" : "Jakaminen", "Federated file sharing" : "Federoitu tiedostojako", "Federated Cloud Sharing" : "Federoitu pilvijakaminen", - "Open documentation" : "Avaa dokumentaatio", + "Open documentation" : "Avaa ohje", "Adjust how people can share between servers." : "Mukauta kuinka ihmiset voivat jakaa palvelinten välillä.", "Allow users on this server to send shares to other servers" : "Salli tämän palvelimen käyttäjien lähettää jakoja muille palvelimille", "Allow users on this server to receive shares from other servers" : "Salli tämän palvelimen käyttäjien vastaanottaa jakoja muilta palvelimilta", diff --git a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php index bc81db50b28..90346546a23 100644 --- a/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php +++ b/apps/federatedfilesharing/lib/Controller/RequestHandlerController.php @@ -427,9 +427,19 @@ class RequestHandlerController extends OCSController { $token = isset($_POST['token']) ? $_POST['token'] : null; - $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share_external` WHERE `remote_id` = ? AND `share_token` = ?'); - $query->execute(array($id, $token)); - $share = $query->fetchRow(); + $qb = $this->connection->getQueryBuilder(); + $qb->select('*') + ->from('share_external') + ->where( + $qb->expr()->andX( + $qb->expr()->eq('remote_id', $qb->createNamedParameter($id)), + $qb->expr()->eq('share_token', $qb->createNamedParameter($token)) + ) + ); + + $result = $qb->execute(); + $share = $result->fetch(); + $result->closeCursor(); if ($token && $id && !empty($share)) { @@ -439,8 +449,17 @@ class RequestHandlerController extends OCSController { $mountpoint = $share['mountpoint']; $user = $share['user']; - $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share_external` WHERE `remote_id` = ? AND `share_token` = ?'); - $query->execute(array($id, $token)); + $qb = $this->connection->getQueryBuilder(); + $qb->delete('share_external') + ->where( + $qb->expr()->andX( + $qb->expr()->eq('remote_id', $qb->createNamedParameter($id)), + $qb->expr()->eq('share_token', $qb->createNamedParameter($token)) + ) + ); + + $result = $qb->execute(); + $result->closeCursor(); if ($share['accepted']) { $path = trim($mountpoint, '/'); diff --git a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php index 035b7da15ca..d76f93751a4 100644 --- a/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php +++ b/apps/federatedfilesharing/tests/Controller/RequestHandlerControllerTest.php @@ -119,11 +119,13 @@ class RequestHandlerControllerTest extends TestCase { } protected function tearDown() { - $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share_external`'); - $query->execute(); + $qb = $this->connection->getQueryBuilder(); + $qb->delete('share_external'); + $qb->execute(); - $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share`'); - $query->execute(); + $qb = $this->connection->getQueryBuilder(); + $qb->delete('share'); + $qb->execute(); parent::tearDown(); } @@ -142,9 +144,15 @@ class RequestHandlerControllerTest extends TestCase { $this->s2s->createShare(null); - $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share_external` WHERE `remote_id` = ?'); - $result = $query->execute(array('1')); - $data = $result->fetchRow(); + $qb = $this->connection->getQueryBuilder(); + $qb->select('*') + ->from('share_external') + ->where( + $qb->expr()->eq('remote_id', $qb->createNamedParameter(1)) + ); + $result = $qb->execute(); + $data = $result->fetch(); + $result->closeCursor(); $this->assertSame('localhost', $data['remote']); $this->assertSame('token', $data['share_token']); @@ -187,7 +195,7 @@ class RequestHandlerControllerTest extends TestCase { $this->share->expects($this->any())->method('verifyShare')->willReturn(true); - $dummy = \OCP\DB::prepare(' + $dummy = \OC_DB::prepare(' INSERT INTO `*PREFIX*share` (`share_type`, `uid_owner`, `item_type`, `item_source`, `item_target`, `file_source`, `file_target`, `permissions`, `stime`, `token`, `share_with`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) @@ -195,7 +203,7 @@ class RequestHandlerControllerTest extends TestCase { $dummy->execute(array(\OCP\Share::SHARE_TYPE_REMOTE, self::TEST_FILES_SHARING_API_USER1, 'test', '1', '/1', '1', '/test.txt', '1', time(), 'token1', 'foo@bar')); $dummy->execute(array(\OCP\Share::SHARE_TYPE_REMOTE, self::TEST_FILES_SHARING_API_USER1, 'test', '1', '/1', '1', '/test.txt', '1', time(), 'token2', 'bar@bar')); - $verify = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share`'); + $verify = \OC_DB::prepare('SELECT * FROM `*PREFIX*share`'); $result = $verify->execute(); $data = $result->fetchAll(); $this->assertCount(2, $data); @@ -203,7 +211,7 @@ class RequestHandlerControllerTest extends TestCase { $_POST['token'] = 'token1'; $this->s2s->declineShare(array('id' => $data[0]['id'])); - $verify = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share`'); + $verify = \OC_DB::prepare('SELECT * FROM `*PREFIX*share`'); $result = $verify->execute(); $data = $result->fetchAll(); $this->assertCount(1, $data); @@ -212,7 +220,7 @@ class RequestHandlerControllerTest extends TestCase { $_POST['token'] = 'token2'; $this->s2s->declineShare(array('id' => $data[0]['id'])); - $verify = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share`'); + $verify = \OC_DB::prepare('SELECT * FROM `*PREFIX*share`'); $result = $verify->execute(); $data = $result->fetchAll(); $this->assertEmpty($data); diff --git a/apps/federation/l10n/pl.js b/apps/federation/l10n/pl.js index b0f746bb74e..eb991b9dce9 100644 --- a/apps/federation/l10n/pl.js +++ b/apps/federation/l10n/pl.js @@ -5,6 +5,7 @@ OC.L10N.register( "Server is already in the list of trusted servers." : "Serwer znajduje się już na liście zaufanych serwerów.", "No server to federate with found" : "Nie znaleziono stowarzyszonego serwera", "Could not add server" : "Nie można dodać serwera", + "Federation" : "Stowarzyszenia", "Trusted servers" : "Zaufane serwery", "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." : "Stowarzyszenie pozwala łączyć się z innymi zaufanymi użytkownikami i wymieniać się z nimi katalogami. Na przykład, może to być wykorzystane do autouzupełniania w dzieleniu się ze stowarzyszonym użytkownikiem.", "Add server automatically once a federated share was created successfully" : "Dodaj serwer automatycznie po pomyślnym utworzeniu stowarzyszonego udziału.", diff --git a/apps/federation/l10n/pl.json b/apps/federation/l10n/pl.json index e2b8b9c32fe..be295636029 100644 --- a/apps/federation/l10n/pl.json +++ b/apps/federation/l10n/pl.json @@ -3,6 +3,7 @@ "Server is already in the list of trusted servers." : "Serwer znajduje się już na liście zaufanych serwerów.", "No server to federate with found" : "Nie znaleziono stowarzyszonego serwera", "Could not add server" : "Nie można dodać serwera", + "Federation" : "Stowarzyszenia", "Trusted servers" : "Zaufane serwery", "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." : "Stowarzyszenie pozwala łączyć się z innymi zaufanymi użytkownikami i wymieniać się z nimi katalogami. Na przykład, może to być wykorzystane do autouzupełniania w dzieleniu się ze stowarzyszonym użytkownikiem.", "Add server automatically once a federated share was created successfully" : "Dodaj serwer automatycznie po pomyślnym utworzeniu stowarzyszonego udziału.", diff --git a/apps/files/ajax/list.php b/apps/files/ajax/list.php index 951377abf86..c013733dbb3 100644 --- a/apps/files/ajax/list.php +++ b/apps/files/ajax/list.php @@ -27,7 +27,7 @@ use OCP\Files\StorageNotAvailableException; use OCP\Files\StorageInvalidException; -OCP\JSON::checkLoggedIn(); +\OC_JSON::checkLoggedIn(); \OC::$server->getSession()->close(); $l = \OC::$server->getL10N('files'); @@ -79,10 +79,10 @@ try { $data['files'] = \OCA\Files\Helper::formatFileInfos($files); $data['permissions'] = $permissions; - OCP\JSON::success(array('data' => $data)); + \OC_JSON::success(array('data' => $data)); } catch (\OCP\Files\StorageNotAvailableException $e) { \OC::$server->getLogger()->logException($e, ['app' => 'files']); - OCP\JSON::error([ + \OC_JSON::error([ 'data' => [ 'exception' => StorageNotAvailableException::class, 'message' => $l->t('Storage is temporarily not available') @@ -90,7 +90,7 @@ try { ]); } catch (\OCP\Files\StorageInvalidException $e) { \OC::$server->getLogger()->logException($e, ['app' => 'files']); - OCP\JSON::error(array( + \OC_JSON::error(array( 'data' => array( 'exception' => StorageInvalidException::class, 'message' => $l->t('Storage invalid') @@ -98,7 +98,7 @@ try { )); } catch (\Exception $e) { \OC::$server->getLogger()->logException($e, ['app' => 'files']); - OCP\JSON::error(array( + \OC_JSON::error(array( 'data' => array( 'exception' => \Exception::class, 'message' => $l->t('Unknown error') diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index a6d376aa2a9..4c0ccaf6451 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -644,10 +644,10 @@ } OC.dialogs.filepicker(t('files', 'Target folder'), function(targetPath, type) { if (type === OC.dialogs.FILEPICKER_TYPE_COPY) { - context.fileList.copy(filename, targetPath); + context.fileList.copy(filename, targetPath, false, context.dir); } if (type === OC.dialogs.FILEPICKER_TYPE_MOVE) { - context.fileList.move(filename, targetPath); + context.fileList.move(filename, targetPath, false, context.dir); } }, false, "httpd/unix-directory", true, actions); } diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index e1a0491cdc8..9459b83dca2 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -2047,10 +2047,12 @@ * @param fileNames array of file names to move * @param targetPath absolute target path * @param callback function to call when movement is finished + * @param dir the dir path where fileNames are located (optionnal, will take current folder if undefined) */ - move: function(fileNames, targetPath, callback) { + move: function(fileNames, targetPath, callback, dir) { var self = this; - var dir = this.getCurrentDirectory(); + + dir = typeof dir === 'string' ? dir : this.getCurrentDirectory(); if (dir.charAt(dir.length - 1) !== '/') { dir += '/'; } @@ -2110,13 +2112,14 @@ * @param fileNames array of file names to copy * @param targetPath absolute target path * @param callback to call when copy is finished with success + * @param dir the dir path where fileNames are located (optionnal, will take current folder if undefined) */ - copy: function(fileNames, targetPath, callback) { + copy: function(fileNames, targetPath, callback, dir) { var self = this; var filesToNotify = []; var count = 0; - var dir = this.getCurrentDirectory(); + dir = typeof dir === 'string' ? dir : this.getCurrentDirectory(); if (dir.charAt(dir.length - 1) !== '/') { dir += '/'; } diff --git a/apps/files/l10n/af.js b/apps/files/l10n/af.js new file mode 100644 index 00000000000..efd2f010a05 --- /dev/null +++ b/apps/files/l10n/af.js @@ -0,0 +1,107 @@ +OC.L10N.register( + "files", + { + "Storage is temporarily not available" : "Berging is tydelik onbeskikbaar", + "Storage invalid" : "Berging ongeldig", + "Unknown error" : "Onbekende fout", + "All files" : "Alle lêers", + "Recent" : "Onlangs", + "File could not be found" : "Lêer kon nie gevind word nie", + "Home" : "Tuis", + "Close" : "Sluit", + "Favorites" : "Gunstelinge", + "Could not create folder \"{dir}\"" : "Kan nie vouer: \"{dir}\" skep nie", + "Upload cancelled." : "Oplaai gekanselleer.", + "Not enough free space" : "Nie genoeg oop spasie nie", + "Uploading …" : "Laai tans op …", + "…" : "…", + "Actions" : "Aksies", + "Download" : "Laai Af", + "Rename" : "Hernoem", + "Move or copy" : "Kopieer of skuif", + "Copy" : "Kopieer", + "Target folder" : "Teikenvouer", + "Delete" : "Skrap", + "Disconnect storage" : "Ontkoppel berging", + "Unshare" : "Ontdeel", + "Files" : "Lêers", + "Details" : "Details", + "Select" : "Kies", + "Pending" : "Hangend", + "{newName} already exists" : "{nuweNaam} bestaan reeds", + "Name" : "Naam", + "Size" : "Grootte", + "Modified" : "Gewysig", + "_%n folder_::_%n folders_" : ["%n gids","%n gidse"], + "_%n file_::_%n files_" : ["%n lêer","%n lêers"], + "_Uploading %n file_::_Uploading %n files_" : ["Laai tans %n lêer op ","Laai tans %n lêers op"], + "New" : "Nuwe", + "{used} of {quota} used" : "{gebruik} van {kwota} gebruik", + "{used} used" : "{gebruik} gebruik", + "\"{name}\" is an invalid file name." : "\"{naam}\" is nie 'n geldige lêernaam nie.", + "File name cannot be empty." : "Lêernaam kan nie leeg wees nie.", + "\"/\" is not allowed inside a file name." : "\"/\" word nie binne 'n lêernaam toegelaat nie.", + "Your storage is almost full ({usedSpacePercent}%)" : "U stoorspasie is amper vol ({gebruikteSpasiePersent}%)", + "View in folder" : "Vertoon in gids", + "Copied!" : "Gekopieer!", + "Path" : "Roete", + "_%n byte_::_%n bytes_" : ["%n greep","%n grepe"], + "Favorited" : "As gunsteling ", + "Favorite" : "Gunsteling", + "New folder" : "Nuwe gids", + "Upload file" : "Laai lêer op", + "Not favorited" : "Nie as gunsteling", + "Remove from favorites" : "Verwyder uit gunstelinge", + "Add to favorites" : "Voeg by gunstelinge", + "Added to favorites" : "Tot gunstelinge bygevoeg", + "Removed from favorites" : "Van gunstelinge verwyder", + "You added {file} to your favorites" : "U het {lêer} tot u gunstelinge bygevoeg", + "You removed {file} from your favorites" : "U het {lêer} van u gunstelinge verwyder", + "File changes" : "Lêer veranderinge ", + "Created by {user}" : "Geskep deur {gebruiker}", + "Changed by {user}" : "Verander deur {gebruiker}", + "Deleted by {user}" : "Geskrap deur {gebruiker}", + "Restored by {user}" : "Herstel deur {gebruiker}", + "Renamed by {user}" : "Naam verander deur {gebruiker}", + "Moved by {user}" : "Geskuif deur {gebruiker}", + "\"remote user\"" : "“afstandsgebruiker”", + "You created {file}" : "U het {lêer} geskep", + "{user} created {file}" : "{gebruiker} het {lêer} geskep", + "{file} was created in a public folder" : "{lêer} was in 'n publieke gids geskep", + "You changed {file}" : "U het {lêer} verander", + "{user} changed {file}" : "{gebruiker} het {lêer} verander", + "You deleted {file}" : "U het {lêer} geskrap", + "{user} deleted {file}" : "{gebruiker} het {lêer} geskrap", + "You restored {file}" : "U het {lêer} herstel", + "{user} restored {file}" : "{gebruiker} het {lêer} herstel", + "You renamed {oldfile} to {newfile}" : "U het die naam van {oulêer} na {nuwelêer} verander", + "{user} renamed {oldfile} to {newfile}" : "{gebruiker} het die naam van {oulêer} na {nuwelêer} verander", + "You moved {oldfile} to {newfile}" : "U het {oulêer} na {nuwelêer} geskuif", + "{user} moved {oldfile} to {newfile}" : "{gebruiker} het {oulêer} na {nuwelêer} geskuif", + "Unlimited" : "Onbeperkte", + "Upload (max. %s)" : "Oplaai (maks. %s)", + "File handling" : "Lêerhantering", + "Maximum upload size" : "Maksimum oplaai grootte", + "max. possible: " : "maks. moontlik:", + "Save" : "Stoor", + "%s of %s used" : "%s van %s gebruik", + "%s used" : "%s gebruik", + "Settings" : "Instellings", + "Show hidden files" : "Vertoon verborge lêers ", + "WebDAV" : "WebDAV", + "Cancel upload" : "Kanselleer oplaai", + "No files in here" : "Geen lêers hierbinne nie", + "No entries found in this folder" : "Geen inskrwyings in hierdie vouer gevind", + "Select all" : "Merk alles", + "Upload too large" : "Oplaai te groot", + "No favorites yet" : "Tans geen gunstelinge ", + "Shared with you" : "Met u gedeel", + "Shared with others" : "Gedeel met ander", + "Shared by link" : "Gedeel per skakel", + "Tags" : "Merkers", + "Deleted files" : "Geskrapte lêers", + "Text file" : "Tekslêer", + "New text file.txt" : "Nuwe tekslêer.txt", + "Move" : "Skuif" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/af.json b/apps/files/l10n/af.json new file mode 100644 index 00000000000..a40153131ab --- /dev/null +++ b/apps/files/l10n/af.json @@ -0,0 +1,105 @@ +{ "translations": { + "Storage is temporarily not available" : "Berging is tydelik onbeskikbaar", + "Storage invalid" : "Berging ongeldig", + "Unknown error" : "Onbekende fout", + "All files" : "Alle lêers", + "Recent" : "Onlangs", + "File could not be found" : "Lêer kon nie gevind word nie", + "Home" : "Tuis", + "Close" : "Sluit", + "Favorites" : "Gunstelinge", + "Could not create folder \"{dir}\"" : "Kan nie vouer: \"{dir}\" skep nie", + "Upload cancelled." : "Oplaai gekanselleer.", + "Not enough free space" : "Nie genoeg oop spasie nie", + "Uploading …" : "Laai tans op …", + "…" : "…", + "Actions" : "Aksies", + "Download" : "Laai Af", + "Rename" : "Hernoem", + "Move or copy" : "Kopieer of skuif", + "Copy" : "Kopieer", + "Target folder" : "Teikenvouer", + "Delete" : "Skrap", + "Disconnect storage" : "Ontkoppel berging", + "Unshare" : "Ontdeel", + "Files" : "Lêers", + "Details" : "Details", + "Select" : "Kies", + "Pending" : "Hangend", + "{newName} already exists" : "{nuweNaam} bestaan reeds", + "Name" : "Naam", + "Size" : "Grootte", + "Modified" : "Gewysig", + "_%n folder_::_%n folders_" : ["%n gids","%n gidse"], + "_%n file_::_%n files_" : ["%n lêer","%n lêers"], + "_Uploading %n file_::_Uploading %n files_" : ["Laai tans %n lêer op ","Laai tans %n lêers op"], + "New" : "Nuwe", + "{used} of {quota} used" : "{gebruik} van {kwota} gebruik", + "{used} used" : "{gebruik} gebruik", + "\"{name}\" is an invalid file name." : "\"{naam}\" is nie 'n geldige lêernaam nie.", + "File name cannot be empty." : "Lêernaam kan nie leeg wees nie.", + "\"/\" is not allowed inside a file name." : "\"/\" word nie binne 'n lêernaam toegelaat nie.", + "Your storage is almost full ({usedSpacePercent}%)" : "U stoorspasie is amper vol ({gebruikteSpasiePersent}%)", + "View in folder" : "Vertoon in gids", + "Copied!" : "Gekopieer!", + "Path" : "Roete", + "_%n byte_::_%n bytes_" : ["%n greep","%n grepe"], + "Favorited" : "As gunsteling ", + "Favorite" : "Gunsteling", + "New folder" : "Nuwe gids", + "Upload file" : "Laai lêer op", + "Not favorited" : "Nie as gunsteling", + "Remove from favorites" : "Verwyder uit gunstelinge", + "Add to favorites" : "Voeg by gunstelinge", + "Added to favorites" : "Tot gunstelinge bygevoeg", + "Removed from favorites" : "Van gunstelinge verwyder", + "You added {file} to your favorites" : "U het {lêer} tot u gunstelinge bygevoeg", + "You removed {file} from your favorites" : "U het {lêer} van u gunstelinge verwyder", + "File changes" : "Lêer veranderinge ", + "Created by {user}" : "Geskep deur {gebruiker}", + "Changed by {user}" : "Verander deur {gebruiker}", + "Deleted by {user}" : "Geskrap deur {gebruiker}", + "Restored by {user}" : "Herstel deur {gebruiker}", + "Renamed by {user}" : "Naam verander deur {gebruiker}", + "Moved by {user}" : "Geskuif deur {gebruiker}", + "\"remote user\"" : "“afstandsgebruiker”", + "You created {file}" : "U het {lêer} geskep", + "{user} created {file}" : "{gebruiker} het {lêer} geskep", + "{file} was created in a public folder" : "{lêer} was in 'n publieke gids geskep", + "You changed {file}" : "U het {lêer} verander", + "{user} changed {file}" : "{gebruiker} het {lêer} verander", + "You deleted {file}" : "U het {lêer} geskrap", + "{user} deleted {file}" : "{gebruiker} het {lêer} geskrap", + "You restored {file}" : "U het {lêer} herstel", + "{user} restored {file}" : "{gebruiker} het {lêer} herstel", + "You renamed {oldfile} to {newfile}" : "U het die naam van {oulêer} na {nuwelêer} verander", + "{user} renamed {oldfile} to {newfile}" : "{gebruiker} het die naam van {oulêer} na {nuwelêer} verander", + "You moved {oldfile} to {newfile}" : "U het {oulêer} na {nuwelêer} geskuif", + "{user} moved {oldfile} to {newfile}" : "{gebruiker} het {oulêer} na {nuwelêer} geskuif", + "Unlimited" : "Onbeperkte", + "Upload (max. %s)" : "Oplaai (maks. %s)", + "File handling" : "Lêerhantering", + "Maximum upload size" : "Maksimum oplaai grootte", + "max. possible: " : "maks. moontlik:", + "Save" : "Stoor", + "%s of %s used" : "%s van %s gebruik", + "%s used" : "%s gebruik", + "Settings" : "Instellings", + "Show hidden files" : "Vertoon verborge lêers ", + "WebDAV" : "WebDAV", + "Cancel upload" : "Kanselleer oplaai", + "No files in here" : "Geen lêers hierbinne nie", + "No entries found in this folder" : "Geen inskrwyings in hierdie vouer gevind", + "Select all" : "Merk alles", + "Upload too large" : "Oplaai te groot", + "No favorites yet" : "Tans geen gunstelinge ", + "Shared with you" : "Met u gedeel", + "Shared with others" : "Gedeel met ander", + "Shared by link" : "Gedeel per skakel", + "Tags" : "Merkers", + "Deleted files" : "Geskrapte lêers", + "Text file" : "Tekslêer", + "New text file.txt" : "Nuwe tekslêer.txt", + "Move" : "Skuif" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js index 033c3293f7c..f15bba87a56 100644 --- a/apps/files/l10n/es_MX.js +++ b/apps/files/l10n/es_MX.js @@ -151,7 +151,7 @@ OC.L10N.register( "Shared with others" : "Compartido con otros", "Shared by link" : "Compartido por liga", "Tags" : "Etiquetas", - "Deleted files" : "Archivos borrados", + "Deleted files" : "Papelera", "Text file" : "Archivo de texto", "New text file.txt" : "Nuevo ArchivoDeTexto.txt", "Move" : "Mover", diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json index 1edf900b009..fab15d75a3f 100644 --- a/apps/files/l10n/es_MX.json +++ b/apps/files/l10n/es_MX.json @@ -149,7 +149,7 @@ "Shared with others" : "Compartido con otros", "Shared by link" : "Compartido por liga", "Tags" : "Etiquetas", - "Deleted files" : "Archivos borrados", + "Deleted files" : "Papelera", "Text file" : "Archivo de texto", "New text file.txt" : "Nuevo ArchivoDeTexto.txt", "Move" : "Mover", diff --git a/apps/files/l10n/he.js b/apps/files/l10n/he.js index ed178b446a5..f5d39440a71 100644 --- a/apps/files/l10n/he.js +++ b/apps/files/l10n/he.js @@ -1,9 +1,11 @@ OC.L10N.register( "files", { + "Storage is temporarily not available" : "האחסון אינו זמין באופן זמני", "Storage invalid" : "אחסון לא חוקי", "Unknown error" : "שגיאה בלתי ידועה", "All files" : "כל הקבצים", + "Recent" : "אחרונים", "File could not be found" : "הקובץ לא ניתן לאיתור", "Home" : "בית", "Close" : "סגירה", @@ -12,13 +14,21 @@ OC.L10N.register( "Upload cancelled." : "ההעלאה בוטלה.", "Unable to upload {filename} as it is a directory or has 0 bytes" : "לא ניתן להעלות {filename} כיוון שמדובר בתיקייה או שגודלו 0 בייט", "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})", + "Target folder does not exist any more" : "תיקיית היעד אינה קיימת עוד", "Actions" : "פעולות", "Download" : "הורדה", "Rename" : "שינוי שם", + "Move or copy" : "העברה או העתקה", + "Copy" : "העתקה", + "Target folder" : "תיקיית יעד", "Delete" : "מחיקה", "Disconnect storage" : "ניתוק אחסון", "Unshare" : "הסר שיתוף", + "Could not load info for file \"{file}\"" : "לא ניתן לטעון מידע על הקובץ „{file}”", "Files" : "קבצים", "Details" : "פרטים", "Select" : "בחר", @@ -28,6 +38,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}\". יש לבחור שם אחר.", @@ -42,9 +54,12 @@ OC.L10N.register( "_%n folder_::_%n folders_" : ["%n תיקייה","%n תיקיות"], "_%n file_::_%n files_" : ["%n קובץ","%n קבצים"], "{dirs} and {files}" : "{dirs} וכן {files}", + "_including %n hidden_::_including %n hidden_" : ["לרבות %n מוסתר","לרבות %n מוסתרים"], "You don’t have permission to upload or create files here" : "אין לך הרשאות להעלות או ליצור קבצים כאן", "_Uploading %n file_::_Uploading %n files_" : ["מעלה %n קובץ","מעלה %n קבצים"], "New" : "חדש", + "{used} of {quota} used" : "{used} מתוך {quota} בשימוש", + "{used} used" : "{used} בשימוש", "\"{name}\" is an invalid file name." : "\"{name}\" הנו שם קובץ לא חוקי.", "File name cannot be empty." : "שם קובץ אינו יכול להיות ריק", "Storage of {owner} is full, files can not be updated or synced anymore!" : "האחסון של {owner} מלא, כבר לא ניתן לעדכן ולסנכרן קבצים!", @@ -53,14 +68,33 @@ OC.L10N.register( "Your storage is almost full ({usedSpacePercent}%)" : "שטח האחסון שלך כמעט מלא ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["מתאים ל- '{filter}'","מתאים ל- '{filter}'"], "View in folder" : "הצג בתיקייה", + "Copied!" : "ההעתקה הושלמה!", "Path" : "נתיב", "_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים"], "Favorited" : "מועדף", "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" : "הוסר מהמועדפים", + "You added {file} to your favorites" : "הוספת את {file} למועדפים שלך", + "You removed {file} from your favorites" : "הסרת את {file} מהמועדפים שלך", + "File changes" : "שינויים בקובץ", + "Created by {user}" : "נוצר על ידי {user}", + "Changed by {user}" : "נערך על ידי {user}", + "Deleted by {user}" : "נמחק על ידי {user}", + "Restored by {user}" : "שוחזר על ידי {user}", + "Renamed by {user}" : "השם השתנה על ידי {user}", + "Moved by {user}" : "הועבר על ידי {user}", + "\"remote user\"" : "„משתמש מרוחק”", + "You created {file}" : "יצרת את {file}", "A new file or folder has been <strong>created</strong>" : "קובץ או תיקייה חדשים <strong>נוצרו<strong/>", "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "הגבלת הודעות על יצירת או שינוי <strong>הקבצים המועדפים</strong> שלך <em>(Stream only)</em>", + "Unlimited" : "ללא הגבלה", "Upload (max. %s)" : "העלאה (מקסימום %s)", "File handling" : "טיפול בקבצים", "Maximum upload size" : "גודל העלאה מקסימלי", @@ -68,19 +102,27 @@ OC.L10N.register( "Save" : "שמירה", "With PHP-FPM it might take 5 minutes for changes to be applied." : "בשימוש ב- PHP-FPM זה יכול להמשך 5 דקות לשינויים לחול.", "Missing permissions to edit from here." : "חסרות הרשאות לעריכה מכאן.", + "%s of %s used" : "%s מתוך %s בשימוש", + "%s used" : "%s בשימוש", "Settings" : "הגדרות", "Show hidden files" : "הצגת קבצים נסתרים", "WebDAV" : "WebDAV", + "Cancel upload" : "ביטול העלאה", "No files in here" : "אין כאן קבצים", "Upload some content or sync with your devices!" : "יש להעלות קצת תוכן או לסנכרן עם ההתקנים שלך!", "No entries found in this folder" : "לא נמצאו כניסות לתיקייה זו", "Select all" : "לבחור הכול", "Upload too large" : "העלאה גדולה מידי", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "הקבצים שניסית להעלות חרגו מהגודל המקסימלי להעלאת קבצים על שרת זה.", + "No favorites yet" : "אין מועדפים עדיין", "Files and folders you mark as favorite will show up here" : "קבצים ותיקיות שסומנו על ידך כמועדפים יוצגו כאן", + "Shared with you" : "משותף אתך", + "Shared with others" : "משותף עם אחרים", + "Shared by link" : "משותף על ידי קישור", "Tags" : "תגיות", "Deleted files" : "קבצים שנמחקו", "Text file" : "קובץ טקסט", - "New text file.txt" : "קובץ טקסט חדש.txt" + "New text file.txt" : "קובץ טקסט חדש.txt", + "Move" : "העברה" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/he.json b/apps/files/l10n/he.json index 4cce04d522c..9ae26a50c8a 100644 --- a/apps/files/l10n/he.json +++ b/apps/files/l10n/he.json @@ -1,7 +1,9 @@ { "translations": { + "Storage is temporarily not available" : "האחסון אינו זמין באופן זמני", "Storage invalid" : "אחסון לא חוקי", "Unknown error" : "שגיאה בלתי ידועה", "All files" : "כל הקבצים", + "Recent" : "אחרונים", "File could not be found" : "הקובץ לא ניתן לאיתור", "Home" : "בית", "Close" : "סגירה", @@ -10,13 +12,21 @@ "Upload cancelled." : "ההעלאה בוטלה.", "Unable to upload {filename} as it is a directory or has 0 bytes" : "לא ניתן להעלות {filename} כיוון שמדובר בתיקייה או שגודלו 0 בייט", "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})", + "Target folder does not exist any more" : "תיקיית היעד אינה קיימת עוד", "Actions" : "פעולות", "Download" : "הורדה", "Rename" : "שינוי שם", + "Move or copy" : "העברה או העתקה", + "Copy" : "העתקה", + "Target folder" : "תיקיית יעד", "Delete" : "מחיקה", "Disconnect storage" : "ניתוק אחסון", "Unshare" : "הסר שיתוף", + "Could not load info for file \"{file}\"" : "לא ניתן לטעון מידע על הקובץ „{file}”", "Files" : "קבצים", "Details" : "פרטים", "Select" : "בחר", @@ -26,6 +36,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}\". יש לבחור שם אחר.", @@ -40,9 +52,12 @@ "_%n folder_::_%n folders_" : ["%n תיקייה","%n תיקיות"], "_%n file_::_%n files_" : ["%n קובץ","%n קבצים"], "{dirs} and {files}" : "{dirs} וכן {files}", + "_including %n hidden_::_including %n hidden_" : ["לרבות %n מוסתר","לרבות %n מוסתרים"], "You don’t have permission to upload or create files here" : "אין לך הרשאות להעלות או ליצור קבצים כאן", "_Uploading %n file_::_Uploading %n files_" : ["מעלה %n קובץ","מעלה %n קבצים"], "New" : "חדש", + "{used} of {quota} used" : "{used} מתוך {quota} בשימוש", + "{used} used" : "{used} בשימוש", "\"{name}\" is an invalid file name." : "\"{name}\" הנו שם קובץ לא חוקי.", "File name cannot be empty." : "שם קובץ אינו יכול להיות ריק", "Storage of {owner} is full, files can not be updated or synced anymore!" : "האחסון של {owner} מלא, כבר לא ניתן לעדכן ולסנכרן קבצים!", @@ -51,14 +66,33 @@ "Your storage is almost full ({usedSpacePercent}%)" : "שטח האחסון שלך כמעט מלא ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["מתאים ל- '{filter}'","מתאים ל- '{filter}'"], "View in folder" : "הצג בתיקייה", + "Copied!" : "ההעתקה הושלמה!", "Path" : "נתיב", "_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים"], "Favorited" : "מועדף", "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" : "הוסר מהמועדפים", + "You added {file} to your favorites" : "הוספת את {file} למועדפים שלך", + "You removed {file} from your favorites" : "הסרת את {file} מהמועדפים שלך", + "File changes" : "שינויים בקובץ", + "Created by {user}" : "נוצר על ידי {user}", + "Changed by {user}" : "נערך על ידי {user}", + "Deleted by {user}" : "נמחק על ידי {user}", + "Restored by {user}" : "שוחזר על ידי {user}", + "Renamed by {user}" : "השם השתנה על ידי {user}", + "Moved by {user}" : "הועבר על ידי {user}", + "\"remote user\"" : "„משתמש מרוחק”", + "You created {file}" : "יצרת את {file}", "A new file or folder has been <strong>created</strong>" : "קובץ או תיקייה חדשים <strong>נוצרו<strong/>", "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "הגבלת הודעות על יצירת או שינוי <strong>הקבצים המועדפים</strong> שלך <em>(Stream only)</em>", + "Unlimited" : "ללא הגבלה", "Upload (max. %s)" : "העלאה (מקסימום %s)", "File handling" : "טיפול בקבצים", "Maximum upload size" : "גודל העלאה מקסימלי", @@ -66,19 +100,27 @@ "Save" : "שמירה", "With PHP-FPM it might take 5 minutes for changes to be applied." : "בשימוש ב- PHP-FPM זה יכול להמשך 5 דקות לשינויים לחול.", "Missing permissions to edit from here." : "חסרות הרשאות לעריכה מכאן.", + "%s of %s used" : "%s מתוך %s בשימוש", + "%s used" : "%s בשימוש", "Settings" : "הגדרות", "Show hidden files" : "הצגת קבצים נסתרים", "WebDAV" : "WebDAV", + "Cancel upload" : "ביטול העלאה", "No files in here" : "אין כאן קבצים", "Upload some content or sync with your devices!" : "יש להעלות קצת תוכן או לסנכרן עם ההתקנים שלך!", "No entries found in this folder" : "לא נמצאו כניסות לתיקייה זו", "Select all" : "לבחור הכול", "Upload too large" : "העלאה גדולה מידי", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "הקבצים שניסית להעלות חרגו מהגודל המקסימלי להעלאת קבצים על שרת זה.", + "No favorites yet" : "אין מועדפים עדיין", "Files and folders you mark as favorite will show up here" : "קבצים ותיקיות שסומנו על ידך כמועדפים יוצגו כאן", + "Shared with you" : "משותף אתך", + "Shared with others" : "משותף עם אחרים", + "Shared by link" : "משותף על ידי קישור", "Tags" : "תגיות", "Deleted files" : "קבצים שנמחקו", "Text file" : "קובץ טקסט", - "New text file.txt" : "קובץ טקסט חדש.txt" + "New text file.txt" : "קובץ טקסט חדש.txt", + "Move" : "העברה" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js index 1712d9e7b58..539dc0ba686 100644 --- a/apps/files/l10n/it.js +++ b/apps/files/l10n/it.js @@ -76,7 +76,7 @@ OC.L10N.register( "_matches '{filter}'_::_match '{filter}'_" : ["corrispondono a '{filter}'","corrisponde a '{filter}'"], "View in folder" : "Visualizza nella cartella", "Copied!" : "Copiato!", - "Copy direct link (only works for users who have access to this file/folder)" : "Copia link diretto (funziona solo per utenti che hanno accesso a questo file / cartella)", + "Copy direct link (only works for users who have access to this file/folder)" : "Copia collegamento diretto (funziona solo per utenti che hanno accesso a questo file/cartella)", "Path" : "Percorso", "_%n byte_::_%n bytes_" : ["%n byte","%n byte"], "Favorited" : "Preferiti", diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json index 59442e6d58c..bc6827ddc63 100644 --- a/apps/files/l10n/it.json +++ b/apps/files/l10n/it.json @@ -74,7 +74,7 @@ "_matches '{filter}'_::_match '{filter}'_" : ["corrispondono a '{filter}'","corrisponde a '{filter}'"], "View in folder" : "Visualizza nella cartella", "Copied!" : "Copiato!", - "Copy direct link (only works for users who have access to this file/folder)" : "Copia link diretto (funziona solo per utenti che hanno accesso a questo file / cartella)", + "Copy direct link (only works for users who have access to this file/folder)" : "Copia collegamento diretto (funziona solo per utenti che hanno accesso a questo file/cartella)", "Path" : "Percorso", "_%n byte_::_%n bytes_" : ["%n byte","%n byte"], "Favorited" : "Preferiti", diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js index 30b4092c50d..f474b2429b6 100644 --- a/apps/files/l10n/pl.js +++ b/apps/files/l10n/pl.js @@ -25,6 +25,7 @@ OC.L10N.register( "Download" : "Pobierz", "Rename" : "Zmień nazwę", "Move or copy" : "Przenieś lub kopiuj", + "Copy" : "Kopiuj", "Target folder" : "Folder docelowy", "Delete" : "Usuń", "Disconnect storage" : "Odłącz magazyn", @@ -99,12 +100,18 @@ OC.L10N.register( "Moved by {user}" : "Przeniesione przez {user}", "\"remote user\"" : "\"użytkownik zdalny\"", "You created {file}" : "Utworzyłeś {file}", + "You created an encrypted file in {file}" : "Stworzyłeś zaszyfrowany plik w {file}", "{user} created {file}" : "{user} utworzył {file}", + "{user} created an encrypted file in {file}" : "{user} utworzył zaszyfrowany plik w {file}", "{file} was created in a public folder" : "{file} został utworzony w folderze publicznym", "You changed {file}" : "Zmieniłeś {file}", + "You changed an encrypted file in {file}" : "Zmieniłeś zaszyfrowany plik w {file}", "{user} changed {file}" : "{user} zmienił {file}", + "{user} changed an encrypted file in {file}" : "{user} zmienił zaszyfrowany plik w {file}", "You deleted {file}" : "Usunąłeś {file}", + "You deleted an encrypted file in {file}" : "Usunąłeś zaszyfrowany plik w {file}", "{user} deleted {file}" : "{user} usunął {file}", + "{user} deleted an encrypted file in {file}" : "{user} usunął zaszyfrowany plik w {file}", "You restored {file}" : "Przywróciłeś {file}", "{user} restored {file}" : "{user} przywrócił {file}", "You renamed {oldfile} to {newfile}" : "Zmieniłeś {oldfile} na {newfile}", diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json index da93dd54258..187cc6a79d0 100644 --- a/apps/files/l10n/pl.json +++ b/apps/files/l10n/pl.json @@ -23,6 +23,7 @@ "Download" : "Pobierz", "Rename" : "Zmień nazwę", "Move or copy" : "Przenieś lub kopiuj", + "Copy" : "Kopiuj", "Target folder" : "Folder docelowy", "Delete" : "Usuń", "Disconnect storage" : "Odłącz magazyn", @@ -97,12 +98,18 @@ "Moved by {user}" : "Przeniesione przez {user}", "\"remote user\"" : "\"użytkownik zdalny\"", "You created {file}" : "Utworzyłeś {file}", + "You created an encrypted file in {file}" : "Stworzyłeś zaszyfrowany plik w {file}", "{user} created {file}" : "{user} utworzył {file}", + "{user} created an encrypted file in {file}" : "{user} utworzył zaszyfrowany plik w {file}", "{file} was created in a public folder" : "{file} został utworzony w folderze publicznym", "You changed {file}" : "Zmieniłeś {file}", + "You changed an encrypted file in {file}" : "Zmieniłeś zaszyfrowany plik w {file}", "{user} changed {file}" : "{user} zmienił {file}", + "{user} changed an encrypted file in {file}" : "{user} zmienił zaszyfrowany plik w {file}", "You deleted {file}" : "Usunąłeś {file}", + "You deleted an encrypted file in {file}" : "Usunąłeś zaszyfrowany plik w {file}", "{user} deleted {file}" : "{user} usunął {file}", + "{user} deleted an encrypted file in {file}" : "{user} usunął zaszyfrowany plik w {file}", "You restored {file}" : "Przywróciłeś {file}", "{user} restored {file}" : "{user} przywrócił {file}", "You renamed {oldfile} to {newfile}" : "Zmieniłeś {oldfile} na {newfile}", diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js index c609ee92197..4d74625a007 100644 --- a/apps/files/l10n/sk.js +++ b/apps/files/l10n/sk.js @@ -25,6 +25,7 @@ OC.L10N.register( "Download" : "Sťahovanie", "Rename" : "Premenovať", "Move or copy" : "Presunúť alebo kopírovať", + "Copy" : "Kopírovať", "Target folder" : "Cieľový priečinok", "Delete" : "Zmazať", "Disconnect storage" : "Odpojiť úložisko", diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json index 59d387b91b1..304a9e8dd79 100644 --- a/apps/files/l10n/sk.json +++ b/apps/files/l10n/sk.json @@ -23,6 +23,7 @@ "Download" : "Sťahovanie", "Rename" : "Premenovať", "Move or copy" : "Presunúť alebo kopírovať", + "Copy" : "Kopírovať", "Target folder" : "Cieľový priečinok", "Delete" : "Zmazať", "Disconnect storage" : "Odpojiť úložisko", diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js index 9833f2512cb..4d1569741d3 100644 --- a/apps/files/l10n/zh_TW.js +++ b/apps/files/l10n/zh_TW.js @@ -25,6 +25,7 @@ OC.L10N.register( "Download" : "下載", "Rename" : "重新命名", "Move or copy" : "移動或複製", + "Copy" : "複製", "Target folder" : "目標資料夾", "Delete" : "刪除", "Disconnect storage" : "斷開儲存空間連接", @@ -62,8 +63,11 @@ OC.L10N.register( "You don’t have permission to upload or create files here" : "您沒有權限在這裡上傳或建立檔案", "_Uploading %n file_::_Uploading %n files_" : ["正在上傳 %n 個檔案"], "New" : "新增", + "{used} of {quota} used" : "已使用 {quota} 當中的 {used}", + "{used} used" : "已使用 {used}", "\"{name}\" is an invalid file name." : "{name} 是無效的檔名", "File name cannot be empty." : "檔名不能為空", + "\"/\" is not allowed inside a file name." : "不允許檔名中出現 \"/\"", "\"{name}\" is not an allowed filetype" : "\"{name}\" 是不允許的檔案類型", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的儲存空間已滿,沒有辦法再更新或是同步檔案!", "Your storage is full, files can not be updated or synced anymore!" : "您的儲存空間已滿,沒有辦法再更新或是同步檔案!", @@ -96,12 +100,18 @@ OC.L10N.register( "Moved by {user}" : "由 {user} 移動", "\"remote user\"" : "「遠端用戶」", "You created {file}" : "您建立了 {file}", + "You created an encrypted file in {file}" : "您在 {file} 建立了一個加密的檔案", "{user} created {file}" : "{user} 建立了 {file}", + "{user} created an encrypted file in {file}" : "{user} 在 {file} 建立了一個加密的檔案", "{file} was created in a public folder" : "{file} 已建立於共享資料夾", "You changed {file}" : "您變更了 {file}", + "You changed an encrypted file in {file}" : "您在 {file} 修改了一個加密的檔案", "{user} changed {file}" : "{user} 變更了 {file}", + "{user} changed an encrypted file in {file}" : "{user} 在 {file} 修改了一個加密的檔案", "You deleted {file}" : "您刪除了 {file}", + "You deleted an encrypted file in {file}" : "您在 {file} 刪除了一個加密的檔案", "{user} deleted {file}" : "{user} 刪除了 {file}", + "{user} deleted an encrypted file in {file}" : "{user} 在 {file} 刪除了一個加密的檔案", "You restored {file}" : "您還原了 {file}", "{user} restored {file}" : "{user} 還原了 {file}", "You renamed {oldfile} to {newfile}" : "您變更 {oldfile} 為 {newfile}", @@ -143,6 +153,10 @@ OC.L10N.register( "Tags" : "標籤", "Deleted files" : "回收桶", "Text file" : "文字檔", - "New text file.txt" : "新文字檔.txt" + "New text file.txt" : "新文字檔.txt", + "Move" : "移動", + "A new file or folder has been <strong>deleted</strong>" : "一個新的檔案或資料夾已經被<strong>刪除</strong>", + "A new file or folder has been <strong>restored</strong>" : "一個新的檔案或資料夾已經被<strong>還原</strong>", + "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>" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json index 3ef15cbd79f..b1403be8cb3 100644 --- a/apps/files/l10n/zh_TW.json +++ b/apps/files/l10n/zh_TW.json @@ -23,6 +23,7 @@ "Download" : "下載", "Rename" : "重新命名", "Move or copy" : "移動或複製", + "Copy" : "複製", "Target folder" : "目標資料夾", "Delete" : "刪除", "Disconnect storage" : "斷開儲存空間連接", @@ -60,8 +61,11 @@ "You don’t have permission to upload or create files here" : "您沒有權限在這裡上傳或建立檔案", "_Uploading %n file_::_Uploading %n files_" : ["正在上傳 %n 個檔案"], "New" : "新增", + "{used} of {quota} used" : "已使用 {quota} 當中的 {used}", + "{used} used" : "已使用 {used}", "\"{name}\" is an invalid file name." : "{name} 是無效的檔名", "File name cannot be empty." : "檔名不能為空", + "\"/\" is not allowed inside a file name." : "不允許檔名中出現 \"/\"", "\"{name}\" is not an allowed filetype" : "\"{name}\" 是不允許的檔案類型", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的儲存空間已滿,沒有辦法再更新或是同步檔案!", "Your storage is full, files can not be updated or synced anymore!" : "您的儲存空間已滿,沒有辦法再更新或是同步檔案!", @@ -94,12 +98,18 @@ "Moved by {user}" : "由 {user} 移動", "\"remote user\"" : "「遠端用戶」", "You created {file}" : "您建立了 {file}", + "You created an encrypted file in {file}" : "您在 {file} 建立了一個加密的檔案", "{user} created {file}" : "{user} 建立了 {file}", + "{user} created an encrypted file in {file}" : "{user} 在 {file} 建立了一個加密的檔案", "{file} was created in a public folder" : "{file} 已建立於共享資料夾", "You changed {file}" : "您變更了 {file}", + "You changed an encrypted file in {file}" : "您在 {file} 修改了一個加密的檔案", "{user} changed {file}" : "{user} 變更了 {file}", + "{user} changed an encrypted file in {file}" : "{user} 在 {file} 修改了一個加密的檔案", "You deleted {file}" : "您刪除了 {file}", + "You deleted an encrypted file in {file}" : "您在 {file} 刪除了一個加密的檔案", "{user} deleted {file}" : "{user} 刪除了 {file}", + "{user} deleted an encrypted file in {file}" : "{user} 在 {file} 刪除了一個加密的檔案", "You restored {file}" : "您還原了 {file}", "{user} restored {file}" : "{user} 還原了 {file}", "You renamed {oldfile} to {newfile}" : "您變更 {oldfile} 為 {newfile}", @@ -141,6 +151,10 @@ "Tags" : "標籤", "Deleted files" : "回收桶", "Text file" : "文字檔", - "New text file.txt" : "新文字檔.txt" + "New text file.txt" : "新文字檔.txt", + "Move" : "移動", + "A new file or folder has been <strong>deleted</strong>" : "一個新的檔案或資料夾已經被<strong>刪除</strong>", + "A new file or folder has been <strong>restored</strong>" : "一個新的檔案或資料夾已經被<strong>還原</strong>", + "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>" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_external/3rdparty/.gitignore b/apps/files_external/3rdparty/.gitignore index a7913dd4308..ce8b521ff54 100644 --- a/apps/files_external/3rdparty/.gitignore +++ b/apps/files_external/3rdparty/.gitignore @@ -1,6 +1,7 @@ example.php icewind/smb/tests icewind/smb/install_libsmbclient.sh +icewind/smb/Makefile icewind/smb/.travis.yml icewind/smb/.scrutinizer.yml icewind/streams/tests diff --git a/apps/files_external/3rdparty/composer.json b/apps/files_external/3rdparty/composer.json index b556de7c395..9655a8f1564 100644 --- a/apps/files_external/3rdparty/composer.json +++ b/apps/files_external/3rdparty/composer.json @@ -8,8 +8,7 @@ "classmap-authoritative": true }, "require": { - "icewind/smb": "2.0.4", - "icewind/streams": "0.5.2" + "icewind/streams": "0.5.2", + "icewind/smb": "2.0.5" } } - diff --git a/apps/files_external/3rdparty/composer.lock b/apps/files_external/3rdparty/composer.lock index 2ec6ee94c8d..f3987e2c1e3 100644 --- a/apps/files_external/3rdparty/composer.lock +++ b/apps/files_external/3rdparty/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "8b87ff18cd1c30945c631607fbfbf8b7", + "content-hash": "53a1e7ab19e98c20c720cab0340bc56a", "packages": [ { "name": "icewind/smb", - "version": "v2.0.4", + "version": "v2.0.5", "source": { "type": "git", "url": "https://github.com/icewind1991/SMB.git", - "reference": "f258947a6f840cc9655ba81744872f9bb292a7dd" + "reference": "b888dd81bd05532677e1469849d9065011256a33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/icewind1991/SMB/zipball/f258947a6f840cc9655ba81744872f9bb292a7dd", - "reference": "f258947a6f840cc9655ba81744872f9bb292a7dd", + "url": "https://api.github.com/repos/icewind1991/SMB/zipball/b888dd81bd05532677e1469849d9065011256a33", + "reference": "b888dd81bd05532677e1469849d9065011256a33", "shasum": "" }, "require": { @@ -45,7 +45,7 @@ } ], "description": "php wrapper for smbclient and libsmbclient-php", - "time": "2018-01-19T14:36:36+00:00" + "time": "2018-03-28T13:51:31+00:00" }, { "name": "icewind/streams", diff --git a/apps/files_external/3rdparty/composer/autoload_classmap.php b/apps/files_external/3rdparty/composer/autoload_classmap.php index d51895234b4..b4a1d64eb0f 100644 --- a/apps/files_external/3rdparty/composer/autoload_classmap.php +++ b/apps/files_external/3rdparty/composer/autoload_classmap.php @@ -72,20 +72,21 @@ return array( 'Icewind\\Streams\\PathWrapper' => $vendorDir . '/icewind/streams/src/PathWrapper.php', 'Icewind\\Streams\\RetryWrapper' => $vendorDir . '/icewind/streams/src/RetryWrapper.php', 'Icewind\\Streams\\SeekableWrapper' => $vendorDir . '/icewind/streams/src/SeekableWrapper.php', - 'Icewind\\Streams\\Tests\\CallbackWrapper' => $vendorDir . '/icewind/streams/tests/CallbackWrapper.php', + 'Icewind\\Streams\\Tests\\CallbackWrapperTest' => $vendorDir . '/icewind/streams/tests/CallbackWrapperTest.php', + 'Icewind\\Streams\\Tests\\CountWrapperTest' => $vendorDir . '/icewind/streams/tests/CountWrapperTest.php', 'Icewind\\Streams\\Tests\\DirectoryFilter' => $vendorDir . '/icewind/streams/tests/DirectoryFilter.php', 'Icewind\\Streams\\Tests\\DirectoryWrapper' => $vendorDir . '/icewind/streams/tests/DirectoryWrapper.php', 'Icewind\\Streams\\Tests\\DirectoryWrapperDummy' => $vendorDir . '/icewind/streams/tests/DirectoryWrapper.php', 'Icewind\\Streams\\Tests\\DirectoryWrapperNull' => $vendorDir . '/icewind/streams/tests/DirectoryWrapper.php', 'Icewind\\Streams\\Tests\\FailWrapper' => $vendorDir . '/icewind/streams/tests/RetryWrapper.php', 'Icewind\\Streams\\Tests\\IteratorDirectory' => $vendorDir . '/icewind/streams/tests/IteratorDirectory.php', - 'Icewind\\Streams\\Tests\\NullWrapper' => $vendorDir . '/icewind/streams/tests/NullWrapper.php', + 'Icewind\\Streams\\Tests\\NullWrapperTest' => $vendorDir . '/icewind/streams/tests/NullWrapperTest.php', 'Icewind\\Streams\\Tests\\PartialWrapper' => $vendorDir . '/icewind/streams/tests/RetryWrapper.php', 'Icewind\\Streams\\Tests\\PathWrapper' => $vendorDir . '/icewind/streams/tests/PathWrapper.php', - 'Icewind\\Streams\\Tests\\RetryWrapper' => $vendorDir . '/icewind/streams/tests/RetryWrapper.php', + 'Icewind\\Streams\\Tests\\RetryWrapperTest' => $vendorDir . '/icewind/streams/tests/RetryWrapper.php', 'Icewind\\Streams\\Tests\\SeekableWrapper' => $vendorDir . '/icewind/streams/tests/SeekableWrapper.php', 'Icewind\\Streams\\Tests\\UrlCallBack' => $vendorDir . '/icewind/streams/tests/UrlCallBack.php', - 'Icewind\\Streams\\Tests\\Wrapper' => $vendorDir . '/icewind/streams/tests/Wrapper.php', + 'Icewind\\Streams\\Tests\\WrapperTest' => $vendorDir . '/icewind/streams/tests/WrapperTest.php', 'Icewind\\Streams\\Url' => $vendorDir . '/icewind/streams/src/Url.php', 'Icewind\\Streams\\UrlCallback' => $vendorDir . '/icewind/streams/src/UrlCallBack.php', 'Icewind\\Streams\\Wrapper' => $vendorDir . '/icewind/streams/src/Wrapper.php', diff --git a/apps/files_external/3rdparty/composer/autoload_static.php b/apps/files_external/3rdparty/composer/autoload_static.php index 51739b6b6cd..68698ad1bf8 100644 --- a/apps/files_external/3rdparty/composer/autoload_static.php +++ b/apps/files_external/3rdparty/composer/autoload_static.php @@ -102,20 +102,21 @@ class ComposerStaticInit98fe9b281934250b3a93f69a5ce843b3 'Icewind\\Streams\\PathWrapper' => __DIR__ . '/..' . '/icewind/streams/src/PathWrapper.php', 'Icewind\\Streams\\RetryWrapper' => __DIR__ . '/..' . '/icewind/streams/src/RetryWrapper.php', 'Icewind\\Streams\\SeekableWrapper' => __DIR__ . '/..' . '/icewind/streams/src/SeekableWrapper.php', - 'Icewind\\Streams\\Tests\\CallbackWrapper' => __DIR__ . '/..' . '/icewind/streams/tests/CallbackWrapper.php', + 'Icewind\\Streams\\Tests\\CallbackWrapperTest' => __DIR__ . '/..' . '/icewind/streams/tests/CallbackWrapperTest.php', + 'Icewind\\Streams\\Tests\\CountWrapperTest' => __DIR__ . '/..' . '/icewind/streams/tests/CountWrapperTest.php', 'Icewind\\Streams\\Tests\\DirectoryFilter' => __DIR__ . '/..' . '/icewind/streams/tests/DirectoryFilter.php', 'Icewind\\Streams\\Tests\\DirectoryWrapper' => __DIR__ . '/..' . '/icewind/streams/tests/DirectoryWrapper.php', 'Icewind\\Streams\\Tests\\DirectoryWrapperDummy' => __DIR__ . '/..' . '/icewind/streams/tests/DirectoryWrapper.php', 'Icewind\\Streams\\Tests\\DirectoryWrapperNull' => __DIR__ . '/..' . '/icewind/streams/tests/DirectoryWrapper.php', 'Icewind\\Streams\\Tests\\FailWrapper' => __DIR__ . '/..' . '/icewind/streams/tests/RetryWrapper.php', 'Icewind\\Streams\\Tests\\IteratorDirectory' => __DIR__ . '/..' . '/icewind/streams/tests/IteratorDirectory.php', - 'Icewind\\Streams\\Tests\\NullWrapper' => __DIR__ . '/..' . '/icewind/streams/tests/NullWrapper.php', + 'Icewind\\Streams\\Tests\\NullWrapperTest' => __DIR__ . '/..' . '/icewind/streams/tests/NullWrapperTest.php', 'Icewind\\Streams\\Tests\\PartialWrapper' => __DIR__ . '/..' . '/icewind/streams/tests/RetryWrapper.php', 'Icewind\\Streams\\Tests\\PathWrapper' => __DIR__ . '/..' . '/icewind/streams/tests/PathWrapper.php', - 'Icewind\\Streams\\Tests\\RetryWrapper' => __DIR__ . '/..' . '/icewind/streams/tests/RetryWrapper.php', + 'Icewind\\Streams\\Tests\\RetryWrapperTest' => __DIR__ . '/..' . '/icewind/streams/tests/RetryWrapper.php', 'Icewind\\Streams\\Tests\\SeekableWrapper' => __DIR__ . '/..' . '/icewind/streams/tests/SeekableWrapper.php', 'Icewind\\Streams\\Tests\\UrlCallBack' => __DIR__ . '/..' . '/icewind/streams/tests/UrlCallBack.php', - 'Icewind\\Streams\\Tests\\Wrapper' => __DIR__ . '/..' . '/icewind/streams/tests/Wrapper.php', + 'Icewind\\Streams\\Tests\\WrapperTest' => __DIR__ . '/..' . '/icewind/streams/tests/WrapperTest.php', 'Icewind\\Streams\\Url' => __DIR__ . '/..' . '/icewind/streams/src/Url.php', 'Icewind\\Streams\\UrlCallback' => __DIR__ . '/..' . '/icewind/streams/src/UrlCallBack.php', 'Icewind\\Streams\\Wrapper' => __DIR__ . '/..' . '/icewind/streams/src/Wrapper.php', diff --git a/apps/files_external/3rdparty/composer/installed.json b/apps/files_external/3rdparty/composer/installed.json index 640bebc9175..0ae6be99ffd 100644 --- a/apps/files_external/3rdparty/composer/installed.json +++ b/apps/files_external/3rdparty/composer/installed.json @@ -1,17 +1,17 @@ [ { "name": "icewind/smb", - "version": "v2.0.4", - "version_normalized": "2.0.4.0", + "version": "v2.0.5", + "version_normalized": "2.0.5.0", "source": { "type": "git", "url": "https://github.com/icewind1991/SMB.git", - "reference": "f258947a6f840cc9655ba81744872f9bb292a7dd" + "reference": "b888dd81bd05532677e1469849d9065011256a33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/icewind1991/SMB/zipball/f258947a6f840cc9655ba81744872f9bb292a7dd", - "reference": "f258947a6f840cc9655ba81744872f9bb292a7dd", + "url": "https://api.github.com/repos/icewind1991/SMB/zipball/b888dd81bd05532677e1469849d9065011256a33", + "reference": "b888dd81bd05532677e1469849d9065011256a33", "shasum": "" }, "require": { @@ -21,9 +21,9 @@ "require-dev": { "phpunit/phpunit": "^4.8" }, - "time": "2018-01-19T14:36:36+00:00", + "time": "2018-03-28T13:51:31+00:00", "type": "library", - "installation-source": "source", + "installation-source": "dist", "autoload": { "psr-4": { "Icewind\\SMB\\": "src/", diff --git a/apps/files_external/3rdparty/icewind/smb/src/Connection.php b/apps/files_external/3rdparty/icewind/smb/src/Connection.php index 0196231b082..661a361ec54 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/Connection.php +++ b/apps/files_external/3rdparty/icewind/smb/src/Connection.php @@ -34,10 +34,14 @@ class Connection extends RawConnection { parent::write($input . PHP_EOL); } + /** + * @throws ConnectException + */ public function clearTillPrompt() { $this->write(''); do { $promptLine = $this->readLine(); + $this->parser->checkConnectionError($promptLine); } while (!$this->isPrompt($promptLine)); $this->write(''); $this->readLine(); diff --git a/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidArgumentException.php b/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidArgumentException.php new file mode 100644 index 00000000000..f12bb3a3489 --- /dev/null +++ b/apps/files_external/3rdparty/icewind/smb/src/Exception/InvalidArgumentException.php @@ -0,0 +1,10 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Licensed under the MIT license: + * http://opensource.org/licenses/MIT + */ + +namespace Icewind\SMB\Exception; + +class InvalidArgumentException extends InvalidRequestException {} diff --git a/apps/files_external/3rdparty/icewind/smb/src/Parser.php b/apps/files_external/3rdparty/icewind/smb/src/Parser.php index c6515002657..a30032178b1 100644 --- a/apps/files_external/3rdparty/icewind/smb/src/Parser.php +++ b/apps/files_external/3rdparty/icewind/smb/src/Parser.php @@ -81,6 +81,7 @@ class Parser { * @throws AuthenticationException * @throws InvalidHostException * @throws NoLoginServerException + * @throws AccessDeniedException */ public function checkConnectionError($line) { $line = rtrim($line, ')'); @@ -99,6 +100,9 @@ class Parser { if (substr($line, -26) === ErrorCodes::NoLogonServers) { throw new NoLoginServerException('No login server'); } + if (substr($line, -23) === ErrorCodes::AccessDenied) { + throw new AccessDeniedException('Access denied'); + } } public function parseMode($mode) { @@ -133,7 +137,7 @@ class Parser { return [ 'mtime' => strtotime($data['write_time']), 'mode' => hexdec(substr($data['attributes'], strpos($data['attributes'], '('), -1)), - 'size' => isset($data['stream']) ? (int)explode(' ', $data['stream'])[1] : 0 + 'size' => isset($data['stream']) ? (int)(explode(' ', $data['stream'])[1]) : 0 ]; } diff --git a/apps/files_external/ajax/applicable.php b/apps/files_external/ajax/applicable.php index 4ee922b63ac..a946962a293 100644 --- a/apps/files_external/ajax/applicable.php +++ b/apps/files_external/ajax/applicable.php @@ -21,10 +21,10 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\JSON::checkAppEnabled('files_external'); -OCP\JSON::callCheck(); +\OC_JSON::checkAppEnabled('files_external'); +\OC_JSON::callCheck(); -OCP\JSON::checkAdminUser(); +\OC_JSON::checkAdminUser(); $pattern = ''; $limit = null; @@ -51,4 +51,4 @@ foreach (\OC::$server->getUserManager()->searchDisplayName($pattern, $limit, $of $results = array('groups' => $groups, 'users' => $users); -\OCP\JSON::success($results); +\OC_JSON::success($results); diff --git a/apps/files_external/ajax/oauth2.php b/apps/files_external/ajax/oauth2.php index 9a3f2e0af6a..8a6af8f8a40 100644 --- a/apps/files_external/ajax/oauth2.php +++ b/apps/files_external/ajax/oauth2.php @@ -22,9 +22,9 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\JSON::checkAppEnabled('files_external'); -OCP\JSON::checkLoggedIn(); -OCP\JSON::callCheck(); +\OC_JSON::checkAppEnabled('files_external'); +\OC_JSON::checkLoggedIn(); +\OC_JSON::callCheck(); $l = \OC::$server->getL10N('files_external'); // TODO: implement redirect to which storage backend requested this diff --git a/apps/files_external/l10n/fi.js b/apps/files_external/l10n/fi.js index 75ae596099d..5b9a2b243b3 100644 --- a/apps/files_external/l10n/fi.js +++ b/apps/files_external/l10n/fi.js @@ -1,7 +1,7 @@ OC.L10N.register( "files_external", { - "External storages" : "Ulkoiset tallennustilat", + "External storages" : "Erilliset tallennustilat", "Personal" : "Henkilökohtainen", "System" : "Järjestelmä", "Grant access" : "Salli pääsy", @@ -14,6 +14,7 @@ OC.L10N.register( "(group)" : "(ryhmä)", "Compatibility with Mac NFD encoding (slow)" : "Yhteensopivuus Mac NFD -enkoodauksen kanssa (hidas)", "Admin defined" : "Ylläpitäjän määrittämä", + "Are you sure you want to delete this external storage?" : "Haluatko varmasti poistaa tämän erillisen tallennustilan?", "Delete storage?" : "Poistetaanko tallennustila?", "Saved" : "Tallennettu", "Saving..." : "Tallennetaan...", @@ -23,8 +24,8 @@ OC.L10N.register( "Couldn't get the information from the remote server: {code} {type}" : "Tietojen saaminen etäpalvelimelta epäonnistui: {code} {type}", "Couldn't get the list of external mount points: {type}" : "Erillisten liitospisteiden listauksen noutaminen epäonnistui: {type}", "There was an error with message: " : "Tapahtui virhe viestillä:", - "External mount error" : "Ulkoinen liitosvirhe", - "external-storage" : "ulkoinen taltio", + "External mount error" : "Erillisen liitosvirhe", + "external-storage" : "external-storage", "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Ei voitu noutaa listaa Windows-verkkoasemien liitoskohdista: tyhjä vastaus palvelimelta", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Jotkin määritetyt erilliset liitospisteet eivät ole yhdistettynä. Napsauta punaisia rivejä saadaksesi lisätietoja", "Please enter the credentials for the {mount} mount" : "Anna kirjautumistiedot liitokselle {mount}", @@ -55,8 +56,10 @@ OC.L10N.register( "OAuth2" : "OAuth2", "Client ID" : "Asiakkaan tunniste", "Client secret" : "Asiakassalaisuus", + "OpenStack v2" : "OpenStack v2", "Tenant name" : "Tenant nimi", "Identity endpoint URL" : "Määritä URL-päätepiste", + "OpenStack v3" : "OpenStack v3", "Domain" : "Domaini", "Rackspace" : "Rackspace", "API key" : "API-avain", @@ -99,6 +102,7 @@ OC.L10N.register( "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "FTP tuki PHPsta ei ole aktivoitu tai asennettu. Kohteen %s liittäminen ei ole mahdollista. Ota yhteyttä järjestelmänvalvojaan asentaaksesi puuttuvan osan.", "\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää asentamaan puuttuva kohde.", "External storage support" : "Erillisen tallennustilan tuki", + "No external storage configured or you don't have the permission to configure them" : "Erillistä tallennustilaa ei ole määritelty tai sinulla ei ole oikeuksia määrittää erillisiä tallennustiloja", "Name" : "Nimi", "Storage type" : "Tallennustilan tyyppi", "Scope" : "Näkyvyysalue", @@ -109,7 +113,7 @@ OC.L10N.register( "Never" : "Ei koskaan", "Once every direct access" : "Kerran aina suoran käytön yhteydessä", "Folder name" : "Kansion nimi", - "External storage" : "Ulkoinen tallennustila", + "External storage" : "Erillinen tallennustila", "Authentication" : "Tunnistautuminen", "Configuration" : "Asetukset", "Available for" : "Saatavuus", @@ -118,6 +122,8 @@ OC.L10N.register( "Delete" : "Poista", "Allow users to mount external storage" : "Salli käyttäjien liittää erillisiä tallennustiloja", "Allow users to mount the following external storage" : "Salli käyttäjien liittää seuraavat erilliset tallennusvälineet", + "Step 1 failed. Exception: %s" : "Vaihe 1 epäonnistui. Poikkeus: %s", + "Step 2 failed. Exception: %s" : "Vaihe 2 epäonnistui. Poikkeus: %s", "Dropbox App Configuration" : "Dropbox-sovelluksen määritykset", "Google Drive App Configuration" : "Google Drive -sovelluksen määritykset", "OpenStack" : "OpenStack", diff --git a/apps/files_external/l10n/fi.json b/apps/files_external/l10n/fi.json index 90da30e76fb..b2bd0c3539a 100644 --- a/apps/files_external/l10n/fi.json +++ b/apps/files_external/l10n/fi.json @@ -1,5 +1,5 @@ { "translations": { - "External storages" : "Ulkoiset tallennustilat", + "External storages" : "Erilliset tallennustilat", "Personal" : "Henkilökohtainen", "System" : "Järjestelmä", "Grant access" : "Salli pääsy", @@ -12,6 +12,7 @@ "(group)" : "(ryhmä)", "Compatibility with Mac NFD encoding (slow)" : "Yhteensopivuus Mac NFD -enkoodauksen kanssa (hidas)", "Admin defined" : "Ylläpitäjän määrittämä", + "Are you sure you want to delete this external storage?" : "Haluatko varmasti poistaa tämän erillisen tallennustilan?", "Delete storage?" : "Poistetaanko tallennustila?", "Saved" : "Tallennettu", "Saving..." : "Tallennetaan...", @@ -21,8 +22,8 @@ "Couldn't get the information from the remote server: {code} {type}" : "Tietojen saaminen etäpalvelimelta epäonnistui: {code} {type}", "Couldn't get the list of external mount points: {type}" : "Erillisten liitospisteiden listauksen noutaminen epäonnistui: {type}", "There was an error with message: " : "Tapahtui virhe viestillä:", - "External mount error" : "Ulkoinen liitosvirhe", - "external-storage" : "ulkoinen taltio", + "External mount error" : "Erillisen liitosvirhe", + "external-storage" : "external-storage", "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Ei voitu noutaa listaa Windows-verkkoasemien liitoskohdista: tyhjä vastaus palvelimelta", "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Jotkin määritetyt erilliset liitospisteet eivät ole yhdistettynä. Napsauta punaisia rivejä saadaksesi lisätietoja", "Please enter the credentials for the {mount} mount" : "Anna kirjautumistiedot liitokselle {mount}", @@ -53,8 +54,10 @@ "OAuth2" : "OAuth2", "Client ID" : "Asiakkaan tunniste", "Client secret" : "Asiakassalaisuus", + "OpenStack v2" : "OpenStack v2", "Tenant name" : "Tenant nimi", "Identity endpoint URL" : "Määritä URL-päätepiste", + "OpenStack v3" : "OpenStack v3", "Domain" : "Domaini", "Rackspace" : "Rackspace", "API key" : "API-avain", @@ -97,6 +100,7 @@ "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "FTP tuki PHPsta ei ole aktivoitu tai asennettu. Kohteen %s liittäminen ei ole mahdollista. Ota yhteyttä järjestelmänvalvojaan asentaaksesi puuttuvan osan.", "\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää asentamaan puuttuva kohde.", "External storage support" : "Erillisen tallennustilan tuki", + "No external storage configured or you don't have the permission to configure them" : "Erillistä tallennustilaa ei ole määritelty tai sinulla ei ole oikeuksia määrittää erillisiä tallennustiloja", "Name" : "Nimi", "Storage type" : "Tallennustilan tyyppi", "Scope" : "Näkyvyysalue", @@ -107,7 +111,7 @@ "Never" : "Ei koskaan", "Once every direct access" : "Kerran aina suoran käytön yhteydessä", "Folder name" : "Kansion nimi", - "External storage" : "Ulkoinen tallennustila", + "External storage" : "Erillinen tallennustila", "Authentication" : "Tunnistautuminen", "Configuration" : "Asetukset", "Available for" : "Saatavuus", @@ -116,6 +120,8 @@ "Delete" : "Poista", "Allow users to mount external storage" : "Salli käyttäjien liittää erillisiä tallennustiloja", "Allow users to mount the following external storage" : "Salli käyttäjien liittää seuraavat erilliset tallennusvälineet", + "Step 1 failed. Exception: %s" : "Vaihe 1 epäonnistui. Poikkeus: %s", + "Step 2 failed. Exception: %s" : "Vaihe 2 epäonnistui. Poikkeus: %s", "Dropbox App Configuration" : "Dropbox-sovelluksen määritykset", "Google Drive App Configuration" : "Google Drive -sovelluksen määritykset", "OpenStack" : "OpenStack", diff --git a/apps/files_external/l10n/sk.js b/apps/files_external/l10n/sk.js index 94277458b2e..83eeded4bde 100644 --- a/apps/files_external/l10n/sk.js +++ b/apps/files_external/l10n/sk.js @@ -119,8 +119,11 @@ OC.L10N.register( "Delete" : "Zmazať", "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á", + "Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s", + "Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s", "OpenStack" : "OpenStack", "Dropbox" : "Dropbox", + "Google Drive" : "Google Drive", "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", "Are you sure you want to delete this external storage" : "Naozaj chcete zmazať toto externé úložisko?" diff --git a/apps/files_external/l10n/sk.json b/apps/files_external/l10n/sk.json index 8fc84346148..0a84c569dfb 100644 --- a/apps/files_external/l10n/sk.json +++ b/apps/files_external/l10n/sk.json @@ -117,8 +117,11 @@ "Delete" : "Zmazať", "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á", + "Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s", + "Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s", "OpenStack" : "OpenStack", "Dropbox" : "Dropbox", + "Google Drive" : "Google Drive", "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", "Are you sure you want to delete this external storage" : "Naozaj chcete zmazať toto externé úložisko?" diff --git a/apps/files_sharing/css/sharetabview.scss b/apps/files_sharing/css/sharetabview.scss index f3bbd952c2d..b4b64daff2b 100644 --- a/apps/files_sharing/css/sharetabview.scss +++ b/apps/files_sharing/css/sharetabview.scss @@ -13,15 +13,23 @@ top: 0px; } -.shareTabView .shareWithRemoteInfo, +.shareTabView .shareWithConfirm, .shareTabView .clipboardButton, .shareTabView .linkPass .icon-loading-small { position: absolute; right: -7px; - top: -4px; + top: -2px; padding: 14px; } +.shareTabView .shareWithConfirm { + opacity: .5; +} + +.shareTabView .shareWithField:focus ~ .shareWithConfirm { + opacity: 1; +} + .shareTabView .linkMore { position: absolute; right: -7px; diff --git a/apps/files_sharing/l10n/fi.js b/apps/files_sharing/l10n/fi.js index 36351ae613a..b139d8681f4 100644 --- a/apps/files_sharing/l10n/fi.js +++ b/apps/files_sharing/l10n/fi.js @@ -77,7 +77,7 @@ OC.L10N.register( "Public link sharing is disabled by the administrator" : "Ylläpitäjä on estänyt julkisen linkin jakamisen", "Public upload disabled by the administrator" : "Ylläpitäjä on estänyt julkisen lähetyksen", "Public upload is only possible for publicly shared folders" : "Julkinen lähettäminen on mahdollista vain julkisesti jaetuille kansioille", - "Invalid date, date format must be YYYY-MM-DD" : "Virheellinen päiväys, päivämäärän muodon tulee olla YYYY-MM-DD", + "Invalid date, date format must be YYYY-MM-DD" : "Virheellinen päiväys, päivämäärän muodon tulee olla VVVV-KK-PP", "Sharing %s failed because the back end does not allow shares from type %s" : "Kohteen %s jakaminen epäonnistui, koska tietovarasto ei salli %s tyyppisiä jakoja", "You cannot share to a Circle if the app is not enabled" : "Et voi jakaa piiriin, jos sovellusta ei ole aktivoitu", "Please specify a valid circle" : "Määritä kelvollinen piiri", diff --git a/apps/files_sharing/l10n/fi.json b/apps/files_sharing/l10n/fi.json index fa870dee1c4..0069f9f7c34 100644 --- a/apps/files_sharing/l10n/fi.json +++ b/apps/files_sharing/l10n/fi.json @@ -75,7 +75,7 @@ "Public link sharing is disabled by the administrator" : "Ylläpitäjä on estänyt julkisen linkin jakamisen", "Public upload disabled by the administrator" : "Ylläpitäjä on estänyt julkisen lähetyksen", "Public upload is only possible for publicly shared folders" : "Julkinen lähettäminen on mahdollista vain julkisesti jaetuille kansioille", - "Invalid date, date format must be YYYY-MM-DD" : "Virheellinen päiväys, päivämäärän muodon tulee olla YYYY-MM-DD", + "Invalid date, date format must be YYYY-MM-DD" : "Virheellinen päiväys, päivämäärän muodon tulee olla VVVV-KK-PP", "Sharing %s failed because the back end does not allow shares from type %s" : "Kohteen %s jakaminen epäonnistui, koska tietovarasto ei salli %s tyyppisiä jakoja", "You cannot share to a Circle if the app is not enabled" : "Et voi jakaa piiriin, jos sovellusta ei ole aktivoitu", "Please specify a valid circle" : "Määritä kelvollinen piiri", diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js index b80bceabb6e..f4d4d728b84 100644 --- a/apps/files_sharing/l10n/pt_BR.js +++ b/apps/files_sharing/l10n/pt_BR.js @@ -4,8 +4,8 @@ OC.L10N.register( "Shared with you" : "Compartilhado com você", "Shared with others" : "Compartilhado com outros", "Shared by link" : "Compartilhado por link", - "Nothing shared with you yet" : "Nada foi compartilhado com você até agora", - "Files and folders others share with you will show up here" : "Arquivos e pastas que outros compartilham com você serão mostrados aqui", + "Nothing shared with you yet" : "Nada foi compartilhado!", + "Files and folders others share with you will show up here" : "Arquivos e pastas que outras pessoas compartilham com você, serão exibidos aqui.", "Nothing shared yet" : "Você ainda não compartilhou nada!", "Files and folders you share will show up here" : "Arquivos e pastas que você compartilhar serão exibidos aqui.", "No shared links" : "Nenhum link compartilhado", diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json index af1c5427fb3..b512e5d3a6c 100644 --- a/apps/files_sharing/l10n/pt_BR.json +++ b/apps/files_sharing/l10n/pt_BR.json @@ -2,8 +2,8 @@ "Shared with you" : "Compartilhado com você", "Shared with others" : "Compartilhado com outros", "Shared by link" : "Compartilhado por link", - "Nothing shared with you yet" : "Nada foi compartilhado com você até agora", - "Files and folders others share with you will show up here" : "Arquivos e pastas que outros compartilham com você serão mostrados aqui", + "Nothing shared with you yet" : "Nada foi compartilhado!", + "Files and folders others share with you will show up here" : "Arquivos e pastas que outras pessoas compartilham com você, serão exibidos aqui.", "Nothing shared yet" : "Você ainda não compartilhou nada!", "Files and folders you share will show up here" : "Arquivos e pastas que você compartilhar serão exibidos aqui.", "No shared links" : "Nenhum link compartilhado", diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php index 1390eedf26e..595e21825f3 100644 --- a/apps/files_sharing/lib/Controller/ShareAPIController.php +++ b/apps/files_sharing/lib/Controller/ShareAPIController.php @@ -154,7 +154,7 @@ class ShareAPIController extends OCSController { if (empty($nodes)) { // fallback to guessing the path $node = $userFolder->get($share->getTarget()); - if ($node === null) { + if ($node === null || $share->getTarget() === '') { throw new NotFoundException(); } } else { diff --git a/apps/files_sharing/lib/ShareBackend/File.php b/apps/files_sharing/lib/ShareBackend/File.php index e09591b37c0..dc1018f88a5 100644 --- a/apps/files_sharing/lib/ShareBackend/File.php +++ b/apps/files_sharing/lib/ShareBackend/File.php @@ -207,8 +207,15 @@ class File implements \OCP\Share_Backend_File_Dependent { if (isset($source['parent'])) { $parent = $source['parent']; while (isset($parent)) { - $query = \OCP\DB::prepare('SELECT `parent`, `uid_owner` FROM `*PREFIX*share` WHERE `id` = ?', 1); - $item = $query->execute(array($parent))->fetchRow(); + $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $qb->select('parent', 'uid_owner') + ->from('share') + ->where( + $qb->expr()->eq('id', $qb->createNamedParameter($parent)) + ); + $result = $qb->execute(); + $item = $result->fetch(); + $result->closeCursor(); if (isset($item['parent'])) { $parent = $item['parent']; } else { diff --git a/apps/files_sharing/lib/ShareBackend/Folder.php b/apps/files_sharing/lib/ShareBackend/Folder.php index c48a26300a2..8cd639d047d 100644 --- a/apps/files_sharing/lib/ShareBackend/Folder.php +++ b/apps/files_sharing/lib/ShareBackend/Folder.php @@ -41,6 +41,9 @@ class Folder extends File implements \OCP\Share_Backend_Collection { public function getParents($itemSource, $shareWith = null, $owner = null) { $result = array(); $parent = $this->getParentId($itemSource); + + $userManager = \OC::$server->getUserManager(); + while ($parent) { $shares = \OCP\Share::getItemSharedWithUser('folder', $parent, $shareWith, $owner); if ($shares) { @@ -49,8 +52,11 @@ class Folder extends File implements \OCP\Share_Backend_Collection { $share['collection']['path'] = $name; $share['collection']['item_type'] = 'folder'; $share['file_path'] = $name; - $displayNameOwner = \OCP\User::getDisplayName($share['uid_owner']); - $displayNameShareWith = \OCP\User::getDisplayName($share['share_with']); + + $ownerUser = $userManager->get($share['uid_owner']); + $displayNameOwner = $ownerUser === null ? $share['uid_owner'] : $ownerUser->getDisplayName(); + $shareWithUser = $userManager->get($share['share_with']); + $displayNameShareWith = $shareWithUser === null ? $share['share_with'] : $shareWithUser->getDisplayName(); $share['displayname_owner'] = $displayNameOwner ? $displayNameOwner : $share['uid_owner']; $share['share_with_displayname'] = $displayNameShareWith ? $displayNameShareWith : $share['uid_owner']; @@ -70,35 +76,62 @@ class Folder extends File implements \OCP\Share_Backend_Collection { * @return mixed parent ID or null */ private function getParentId($child) { - $query = \OCP\DB::prepare('SELECT `parent` FROM `*PREFIX*filecache` WHERE `fileid` = ?'); - $result = $query->execute(array($child)); - $row = $result->fetchRow(); + $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $qb->select('parent') + ->from('filecache') + ->where( + $qb->expr()->eq('fileid', $qb->createNamedParameter($child)) + ); + $result = $qb->execute(); + $row = $result->fetch(); + $result->closeCursor(); return $row ? $row['parent'] : null; } public function getChildren($itemSource) { $children = array(); $parents = array($itemSource); - $query = \OCP\DB::prepare('SELECT `id` FROM `*PREFIX*mimetypes` WHERE `mimetype` = ?'); - $result = $query->execute(array('httpd/unix-directory')); + + $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $qb->select('id') + ->from('mimetypes') + ->where( + $qb->expr()->eq('mimetype', $qb->createNamedParameter('httpd/unix-directory')) + ); + $result = $qb->execute(); + $row = $result->fetch(); + $result->closeCursor(); + if ($row = $result->fetchRow()) { $mimetype = (int) $row['id']; } else { $mimetype = -1; } while (!empty($parents)) { - $parents = "'".implode("','", $parents)."'"; - $query = \OCP\DB::prepare('SELECT `fileid`, `name`, `mimetype` FROM `*PREFIX*filecache`' - .' WHERE `parent` IN ('.$parents.')'); - $result = $query->execute(); + + $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + + $parents = array_map(function($parent) use ($qb) { + return $qb->createNamedParameter($parent); + }, $parents); + + $qb->select('`fileid', 'name', '`mimetype') + ->from('filecache') + ->where( + $qb->expr()->in('parent', $parents) + ); + + $result = $qb->execute(); + $parents = array(); - while ($file = $result->fetchRow()) { + while ($file = $result->fetch()) { $children[] = array('source' => $file['fileid'], 'file_path' => $file['name']); // If a child folder is found look inside it if ((int) $file['mimetype'] === $mimetype) { $parents[] = $file['fileid']; } } + $result->closeCursor(); } return $children; } diff --git a/apps/files_sharing/tests/ShareTest.php b/apps/files_sharing/tests/ShareTest.php index 9b60255ed97..ca649768d71 100644 --- a/apps/files_sharing/tests/ShareTest.php +++ b/apps/files_sharing/tests/ShareTest.php @@ -63,10 +63,6 @@ class ShareTest extends TestCase { self::$tempStorage = null; - // clear database table - $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share`'); - $query->execute(); - parent::tearDown(); } diff --git a/apps/files_sharing/tests/TestCase.php b/apps/files_sharing/tests/TestCase.php index 3b1ccb71a94..e49b696e68a 100644 --- a/apps/files_sharing/tests/TestCase.php +++ b/apps/files_sharing/tests/TestCase.php @@ -120,8 +120,9 @@ abstract class TestCase extends \Test\TestCase { } protected function tearDown() { - $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share`'); - $query->execute(); + $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $qb->delete('share'); + $qb->execute(); parent::tearDown(); } @@ -206,16 +207,15 @@ abstract class TestCase extends \Test\TestCase { * @return array with: item_source, share_type, share_with, item_type, permissions */ protected function getShareFromId($shareID) { - $sql = 'SELECT `item_source`, `share_type`, `share_with`, `item_type`, `permissions` FROM `*PREFIX*share` WHERE `id` = ?'; - $args = array($shareID); - $query = \OCP\DB::prepare($sql); - $result = $query->execute($args); - - $share = Null; - - if ($result) { - $share = $result->fetchRow(); - } + $qb = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $qb->select('item_source', '`share_type', 'share_with', 'item_type', 'permissions') + ->from('share') + ->where( + $qb->expr()->eq('id', $qb->createNamedParameter($shareID)) + ); + $result = $qb->execute(); + $share = $result->fetch(); + $result->closeCursor(); return $share; diff --git a/apps/files_trashbin/ajax/delete.php b/apps/files_trashbin/ajax/delete.php index d75325c3aeb..149bbbd94ff 100644 --- a/apps/files_trashbin/ajax/delete.php +++ b/apps/files_trashbin/ajax/delete.php @@ -24,8 +24,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\JSON::checkLoggedIn(); -OCP\JSON::callCheck(); +\OC_JSON::checkLoggedIn(); +\OC_JSON::callCheck(); \OC::$server->getSession()->close(); $folder = isset($_POST['dir']) ? $_POST['dir'] : '/'; @@ -83,8 +83,8 @@ if ( $error ) { } $l = \OC::$server->getL10N('files_trashbin'); $message = $l->t("Couldn't delete %s permanently", array(rtrim($filelist, ', '))); - OCP\JSON::error(array("data" => array("message" => $message, + \OC_JSON::error(array("data" => array("message" => $message, "success" => $success, "error" => $error))); } else { - OCP\JSON::success(array("data" => array("success" => $success))); + \OC_JSON::success(array("data" => array("success" => $success))); } diff --git a/apps/files_trashbin/ajax/isEmpty.php b/apps/files_trashbin/ajax/isEmpty.php index 1ee671334f2..73356047e74 100644 --- a/apps/files_trashbin/ajax/isEmpty.php +++ b/apps/files_trashbin/ajax/isEmpty.php @@ -22,12 +22,12 @@ * */ -OCP\JSON::checkLoggedIn(); -OCP\JSON::callCheck(); +\OC_JSON::checkLoggedIn(); +\OC_JSON::callCheck(); \OC::$server->getSession()->close(); $trashStatus = OCA\Files_Trashbin\Trashbin::isEmpty(OCP\User::getUser()); -OCP\JSON::success(array("data" => array("isEmpty" => $trashStatus))); +\OC_JSON::success(array("data" => array("isEmpty" => $trashStatus))); diff --git a/apps/files_trashbin/ajax/list.php b/apps/files_trashbin/ajax/list.php index dff647aa694..c31a33c2050 100644 --- a/apps/files_trashbin/ajax/list.php +++ b/apps/files_trashbin/ajax/list.php @@ -21,7 +21,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\JSON::checkLoggedIn(); +\OC_JSON::checkLoggedIn(); \OC::$server->getSession()->close(); // Load the files @@ -44,5 +44,5 @@ $data['permissions'] = 0; $data['directory'] = $dir; $data['files'] = \OCA\Files_Trashbin\Helper::formatFileInfos($files); -OCP\JSON::success(array('data' => $data)); +\OC_JSON::success(array('data' => $data)); diff --git a/apps/files_trashbin/ajax/undelete.php b/apps/files_trashbin/ajax/undelete.php index f7e0594cd8a..5fb042aa1c4 100644 --- a/apps/files_trashbin/ajax/undelete.php +++ b/apps/files_trashbin/ajax/undelete.php @@ -26,8 +26,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\JSON::checkLoggedIn(); -OCP\JSON::callCheck(); +\OC_JSON::checkLoggedIn(); +\OC_JSON::callCheck(); \OC::$server->getSession()->close(); $dir = '/'; @@ -88,8 +88,8 @@ if ( $error ) { } $l = OC::$server->getL10N('files_trashbin'); $message = $l->t("Couldn't restore %s", array(rtrim($filelist, ', '))); - OCP\JSON::error(array("data" => array("message" => $message, + \OC_JSON::error(array("data" => array("message" => $message, "success" => $success, "error" => $error))); } else { - OCP\JSON::success(array("data" => array("success" => $success))); + \OC_JSON::success(array("data" => array("success" => $success))); } diff --git a/apps/files_trashbin/l10n/es_MX.js b/apps/files_trashbin/l10n/es_MX.js index 24cc0e4083e..84ee97bfd54 100644 --- a/apps/files_trashbin/l10n/es_MX.js +++ b/apps/files_trashbin/l10n/es_MX.js @@ -3,7 +3,7 @@ OC.L10N.register( { "Couldn't delete %s permanently" : "No fue posible eliminar %s permanentemente", "Couldn't restore %s" : "No fue posible restaurar %s", - "Deleted files" : "Archivos borrados", + "Deleted files" : "Papelera", "Restore" : "Restaurar", "Delete" : "Borrar", "Delete permanently" : "Borrar permanentemente", diff --git a/apps/files_trashbin/l10n/es_MX.json b/apps/files_trashbin/l10n/es_MX.json index 3a539073e8b..a1d1ada60ff 100644 --- a/apps/files_trashbin/l10n/es_MX.json +++ b/apps/files_trashbin/l10n/es_MX.json @@ -1,7 +1,7 @@ { "translations": { "Couldn't delete %s permanently" : "No fue posible eliminar %s permanentemente", "Couldn't restore %s" : "No fue posible restaurar %s", - "Deleted files" : "Archivos borrados", + "Deleted files" : "Papelera", "Restore" : "Restaurar", "Delete" : "Borrar", "Delete permanently" : "Borrar permanentemente", diff --git a/apps/files_versions/ajax/getVersions.php b/apps/files_versions/ajax/getVersions.php index c3cb47da889..5811242c236 100644 --- a/apps/files_versions/ajax/getVersions.php +++ b/apps/files_versions/ajax/getVersions.php @@ -24,9 +24,9 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\JSON::checkLoggedIn(); -OCP\JSON::callCheck(); -OCP\JSON::checkAppEnabled('files_versions'); +\OC_JSON::checkLoggedIn(); +\OC_JSON::callCheck(); +\OC_JSON::checkAppEnabled('files_versions'); $source = (string)$_GET['source']; $start = (int)$_GET['start']; @@ -47,10 +47,10 @@ if( $versions ) { unset($version['path']); } - \OCP\JSON::success(array('data' => array('versions' => $versions, 'endReached' => $endReached))); + \OC_JSON::success(array('data' => array('versions' => $versions, 'endReached' => $endReached))); } else { - \OCP\JSON::success(array('data' => array('versions' => [], 'endReached' => true))); + \OC_JSON::success(array('data' => array('versions' => [], 'endReached' => true))); } diff --git a/apps/files_versions/ajax/rollbackVersion.php b/apps/files_versions/ajax/rollbackVersion.php index 6d5933e07fd..c1a5c094ede 100644 --- a/apps/files_versions/ajax/rollbackVersion.php +++ b/apps/files_versions/ajax/rollbackVersion.php @@ -26,16 +26,16 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\JSON::checkLoggedIn(); -OCP\JSON::checkAppEnabled('files_versions'); -OCP\JSON::callCheck(); +\OC_JSON::checkLoggedIn(); +\OC_JSON::checkAppEnabled('files_versions'); +\OC_JSON::callCheck(); $file = (string)$_GET['file']; $revision=(int)$_GET['revision']; if(OCA\Files_Versions\Storage::rollback( $file, $revision )) { - OCP\JSON::success(array("data" => array( "revision" => $revision, "file" => $file ))); + \OC_JSON::success(array("data" => array( "revision" => $revision, "file" => $file ))); }else{ $l = \OC::$server->getL10N('files_versions'); - OCP\JSON::error(array("data" => array( "message" => $l->t("Could not revert: %s", array($file) )))); + \OC_JSON::error(array("data" => array( "message" => $l->t("Could not revert: %s", array($file) )))); } diff --git a/apps/files_versions/download.php b/apps/files_versions/download.php index 833077fbcce..77f3e9f0887 100644 --- a/apps/files_versions/download.php +++ b/apps/files_versions/download.php @@ -25,8 +25,8 @@ * */ -OCP\JSON::checkAppEnabled('files_versions'); -OCP\JSON::checkLoggedIn(); +\OC_JSON::checkAppEnabled('files_versions'); +\OC_JSON::checkLoggedIn(); $file = $_GET['file']; $revision=(int)$_GET['revision']; @@ -48,11 +48,11 @@ $view = new OC\Files\View('/'); $ftype = \OC::$server->getMimeTypeDetector()->getSecureMimeType($view->getMimeType('/'.$uid.'/files/'.$filename)); header('Content-Type:'.$ftype); -OCP\Response::setContentDispositionHeader(basename($filename), 'attachment'); +\OC_Response::setContentDispositionHeader(basename($filename), 'attachment'); header('Pragma: public');// enable caching in IE header('Expires: 0'); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); -OCP\Response::setContentLengthHeader($view->filesize($versionName)); +\OC_Response::setContentLengthHeader($view->filesize($versionName)); OC_Util::obEnd(); diff --git a/apps/files_versions/l10n/he.js b/apps/files_versions/l10n/he.js index 0003a2fee17..09e655c422f 100644 --- a/apps/files_versions/l10n/he.js +++ b/apps/files_versions/l10n/he.js @@ -5,6 +5,8 @@ OC.L10N.register( "Versions" : "גרסאות", "Failed to revert {file} to revision {timestamp}." : "נכשל אחזור {file} לגרסה {timestamp}.", "_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים"], - "Restore" : "שחזור" + "Restore" : "שחזור", + "No earlier versions available" : "אין גרסאות קודמות זמינות", + "More versions …" : "גרסאות נוספות…" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/he.json b/apps/files_versions/l10n/he.json index d7cbb74d802..380df68f971 100644 --- a/apps/files_versions/l10n/he.json +++ b/apps/files_versions/l10n/he.json @@ -3,6 +3,8 @@ "Versions" : "גרסאות", "Failed to revert {file} to revision {timestamp}." : "נכשל אחזור {file} לגרסה {timestamp}.", "_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים"], - "Restore" : "שחזור" + "Restore" : "שחזור", + "No earlier versions available" : "אין גרסאות קודמות זמינות", + "More versions …" : "גרסאות נוספות…" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/oauth2/l10n/da.js b/apps/oauth2/l10n/da.js index b92b030cd25..564ec11479f 100644 --- a/apps/oauth2/l10n/da.js +++ b/apps/oauth2/l10n/da.js @@ -1,6 +1,7 @@ OC.L10N.register( "oauth2", { + "OAuth 2.0" : "OAuth 2.0", "OAuth 2.0 clients" : "OAuth 2.0 klienter", "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 tillader eksterne services at forespørge adgang til din %s.", "Name" : "Navn", diff --git a/apps/oauth2/l10n/da.json b/apps/oauth2/l10n/da.json index e6899c73ac5..3a833e639d2 100644 --- a/apps/oauth2/l10n/da.json +++ b/apps/oauth2/l10n/da.json @@ -1,4 +1,5 @@ { "translations": { + "OAuth 2.0" : "OAuth 2.0", "OAuth 2.0 clients" : "OAuth 2.0 klienter", "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 tillader eksterne services at forespørge adgang til din %s.", "Name" : "Navn", diff --git a/apps/oauth2/l10n/he.js b/apps/oauth2/l10n/he.js new file mode 100644 index 00000000000..250205239a8 --- /dev/null +++ b/apps/oauth2/l10n/he.js @@ -0,0 +1,14 @@ +OC.L10N.register( + "oauth2", + { + "OAuth 2.0" : "OAuth 2.0", + "OAuth 2.0 clients" : "לקוחות OAuth 2.0", + "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 מאפשר לשירותים חיצוניים לבקש גישה אל %s.", + "Name" : "שם", + "Redirection URI" : "כתובת הפנייה", + "Client Identifier" : "זיהוי לקו", + "Secret" : "סוד", + "Add client" : "הוספת לקוחי", + "Add" : "הוספה" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/oauth2/l10n/he.json b/apps/oauth2/l10n/he.json new file mode 100644 index 00000000000..09505d77302 --- /dev/null +++ b/apps/oauth2/l10n/he.json @@ -0,0 +1,12 @@ +{ "translations": { + "OAuth 2.0" : "OAuth 2.0", + "OAuth 2.0 clients" : "לקוחות OAuth 2.0", + "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 מאפשר לשירותים חיצוניים לבקש גישה אל %s.", + "Name" : "שם", + "Redirection URI" : "כתובת הפנייה", + "Client Identifier" : "זיהוי לקו", + "Secret" : "סוד", + "Add client" : "הוספת לקוחי", + "Add" : "הוספה" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/oauth2/l10n/pl.js b/apps/oauth2/l10n/pl.js index 0b6be713379..d8383e462eb 100644 --- a/apps/oauth2/l10n/pl.js +++ b/apps/oauth2/l10n/pl.js @@ -1,6 +1,7 @@ OC.L10N.register( "oauth2", { + "OAuth 2.0" : "OAuth 2.0", "OAuth 2.0 clients" : "Klienci OAuth 2.0", "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 umożliwia usługom zewnętrznym żądanie dostępu do %s.", "Name" : "Nazwa", diff --git a/apps/oauth2/l10n/pl.json b/apps/oauth2/l10n/pl.json index 84825a96358..8cc1ba7ecfd 100644 --- a/apps/oauth2/l10n/pl.json +++ b/apps/oauth2/l10n/pl.json @@ -1,4 +1,5 @@ { "translations": { + "OAuth 2.0" : "OAuth 2.0", "OAuth 2.0 clients" : "Klienci OAuth 2.0", "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 umożliwia usługom zewnętrznym żądanie dostępu do %s.", "Name" : "Nazwa", diff --git a/apps/oauth2/l10n/sk.js b/apps/oauth2/l10n/sk.js index 5de3a2a5144..977ffe779a0 100644 --- a/apps/oauth2/l10n/sk.js +++ b/apps/oauth2/l10n/sk.js @@ -1,6 +1,7 @@ OC.L10N.register( "oauth2", { + "OAuth 2.0" : "OAuth 2.0", "OAuth 2.0 clients" : "klienti OAuth 2.0", "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 umožňuje externým službám vyžiadať prístup k %s.", "Name" : "Názov", diff --git a/apps/oauth2/l10n/sk.json b/apps/oauth2/l10n/sk.json index bb8e9db4caf..bc0e014f859 100644 --- a/apps/oauth2/l10n/sk.json +++ b/apps/oauth2/l10n/sk.json @@ -1,4 +1,5 @@ { "translations": { + "OAuth 2.0" : "OAuth 2.0", "OAuth 2.0 clients" : "klienti OAuth 2.0", "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 umožňuje externým službám vyžiadať prístup k %s.", "Name" : "Názov", diff --git a/apps/oauth2/l10n/zh_TW.js b/apps/oauth2/l10n/zh_TW.js index 2eda8ab0a98..3a8d4c21c6c 100644 --- a/apps/oauth2/l10n/zh_TW.js +++ b/apps/oauth2/l10n/zh_TW.js @@ -1,13 +1,14 @@ OC.L10N.register( "oauth2", { - "OAuth 2.0 clients" : "OAuth 2.0 用戶端", - "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0允許其他裝置存取 %s.", + "OAuth 2.0" : "OAuth 2.0", + "OAuth 2.0 clients" : "OAuth 2.0 客戶端", + "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 允許其他裝置存取 %s", "Name" : "名稱", - "Redirection URI" : "URI轉向", - "Client Identifier" : "用戶辨識", - "Secret" : "秘密", - "Add client" : "新增用戶", + "Redirection URI" : "重導向 URI", + "Client Identifier" : "用戶識別", + "Secret" : "秘密口令 (Secret)", + "Add client" : "新增客戶端", "Add" : "新增" }, "nplurals=1; plural=0;"); diff --git a/apps/oauth2/l10n/zh_TW.json b/apps/oauth2/l10n/zh_TW.json index 7bdcfd0833e..c125265fdb5 100644 --- a/apps/oauth2/l10n/zh_TW.json +++ b/apps/oauth2/l10n/zh_TW.json @@ -1,11 +1,12 @@ { "translations": { - "OAuth 2.0 clients" : "OAuth 2.0 用戶端", - "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0允許其他裝置存取 %s.", + "OAuth 2.0" : "OAuth 2.0", + "OAuth 2.0 clients" : "OAuth 2.0 客戶端", + "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 允許其他裝置存取 %s", "Name" : "名稱", - "Redirection URI" : "URI轉向", - "Client Identifier" : "用戶辨識", - "Secret" : "秘密", - "Add client" : "新增用戶", + "Redirection URI" : "重導向 URI", + "Client Identifier" : "用戶識別", + "Secret" : "秘密口令 (Secret)", + "Add client" : "新增客戶端", "Add" : "新增" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/provisioning_api/appinfo/routes.php b/apps/provisioning_api/appinfo/routes.php index 791267a97a1..c2bbd8025ee 100644 --- a/apps/provisioning_api/appinfo/routes.php +++ b/apps/provisioning_api/appinfo/routes.php @@ -34,6 +34,7 @@ return [ // Groups ['root' => '/cloud', 'name' => 'Groups#getGroups', 'url' => '/groups', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'Groups#getGroupsDetails', 'url' => '/groups/details', 'verb' => 'GET'], ['root' => '/cloud', 'name' => 'Groups#getGroup', 'url' => '/groups/{groupId}', 'verb' => 'GET'], ['root' => '/cloud', 'name' => 'Groups#addGroup', 'url' => '/groups', 'verb' => 'POST'], ['root' => '/cloud', 'name' => 'Groups#deleteGroup', 'url' => '/groups/{groupId}', 'verb' => 'DELETE'], diff --git a/apps/provisioning_api/lib/Controller/GroupsController.php b/apps/provisioning_api/lib/Controller/GroupsController.php index 8aed50bf049..d6f2d9f3391 100644 --- a/apps/provisioning_api/lib/Controller/GroupsController.php +++ b/apps/provisioning_api/lib/Controller/GroupsController.php @@ -97,6 +97,33 @@ class GroupsController extends OCSController { } /** + * returns a list of groups details with ids and displaynames + * + * @NoAdminRequired + * + * @param string $search + * @param int $limit + * @param int $offset + * @return DataResponse + */ + public function getGroupsDetails(string $search = '', $limit = null, $offset = null): DataResponse { + if ($limit !== null) { + $limit = (int)$limit; + } + if ($offset !== null) { + $offset = (int)$offset; + } + + $groups = $this->groupManager->search($search, $limit, $offset); + $groups = array_map(function($group) { + /** @var IGroup $group */ + return ['id' => $group->getGID(), 'displayname' => $group->getDisplayName()]; + }, $groups); + + return new DataResponse(['groups' => $groups]); + } + + /** * returns an array of users in the group specified * * @NoAdminRequired diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php index 567f5f1c7db..c8c00fa8592 100644 --- a/apps/provisioning_api/lib/Controller/UsersController.php +++ b/apps/provisioning_api/lib/Controller/UsersController.php @@ -50,6 +50,7 @@ use OCP\IRequest; use OCP\IUserManager; use OCP\IUserSession; use OCP\L10N\IFactory; +use OCP\Security\ISecureRandom; class UsersController extends OCSController { @@ -73,6 +74,8 @@ class UsersController extends OCSController { private $newUserMailHelper; /** @var FederatedFileSharingFactory */ private $federatedFileSharingFactory; + /** @var ISecureRandom */ + private $secureRandom; /** * @param string $appName @@ -87,6 +90,7 @@ class UsersController extends OCSController { * @param IFactory $l10nFactory * @param NewUserMailHelper $newUserMailHelper * @param FederatedFileSharingFactory $federatedFileSharingFactory + * @param ISecureRandom $secureRandom */ public function __construct(string $appName, IRequest $request, @@ -99,7 +103,8 @@ class UsersController extends OCSController { ILogger $logger, IFactory $l10nFactory, NewUserMailHelper $newUserMailHelper, - FederatedFileSharingFactory $federatedFileSharingFactory) { + FederatedFileSharingFactory $federatedFileSharingFactory, + ISecureRandom $secureRandom) { parent::__construct($appName, $request); $this->userManager = $userManager; @@ -112,6 +117,7 @@ class UsersController extends OCSController { $this->l10nFactory = $l10nFactory; $this->newUserMailHelper = $newUserMailHelper; $this->federatedFileSharingFactory = $federatedFileSharingFactory; + $this->secureRandom = $secureRandom; } /** @@ -199,11 +205,12 @@ class UsersController extends OCSController { * * @param string $userid * @param string $password + * @param string $email * @param array $groups * @return DataResponse * @throws OCSException */ - public function addUser(string $userid, string $password, array $groups = []): DataResponse { + public function addUser(string $userid, string $password = '', string $email='', array $groups = []): DataResponse { $user = $this->userSession->getUser(); $isAdmin = $this->groupManager->isAdmin($user->getUID()); $subAdminManager = $this->groupManager->getSubAdmin(); @@ -228,6 +235,18 @@ class UsersController extends OCSController { } } + $generatePasswordResetToken = false; + if ($password === '') { + if ($email === '') { + throw new OCSException('To send a password link to the user an email address is required.', 108); + } + + $password = $this->secureRandom->generate(10); + // Make sure we pass the password_policy + $password .= $this->secureRandom->generate(2, '$!.,;:-~+*[]{}()'); + $generatePasswordResetToken = true; + } + try { $newUser = $this->userManager->createUser($userid, $password); $this->logger->info('Successful addUser call with userid: ' . $userid, ['app' => 'ocs_api']); @@ -237,7 +256,24 @@ class UsersController extends OCSController { $this->logger->info('Added userid ' . $userid . ' to group ' . $group, ['app' => 'ocs_api']); } + // Send new user mail only if a mail is set + if ($email !== '') { + $newUser->setEMailAddress($email); + try { + $emailTemplate = $this->newUserMailHelper->generateTemplate($newUser, $generatePasswordResetToken); + $this->newUserMailHelper->sendMail($newUser, $emailTemplate); + } catch (\Exception $e) { + $this->logger->logException($e, [ + 'message' => "Can't send new user mail to $email", + 'level' => \OCP\Util::ERROR, + 'app' => 'ocs_api', + ]); + throw new OCSException('Unable to send the invitation mail', 109); + } + } + return new DataResponse(); + } catch (HintException $e ) { $this->logger->logException($e, [ 'message' => 'Failed addUser attempt with hint exception.', diff --git a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php index cd3dae79336..352264c7afb 100644 --- a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php +++ b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php @@ -85,6 +85,10 @@ class GroupsControllerTest extends \Test\TestCase { $group ->method('getGID') ->willReturn($gid); + $group + ->method('getDisplayName') + ->willReturn($gid.'-name'); + return $group; } @@ -165,6 +169,33 @@ class GroupsControllerTest extends \Test\TestCase { $result = $this->api->getGroups($search, $limit, $offset); $this->assertEquals(['groups' => ['group1', 'group2']], $result->getData()); + + } + + /** + * @dataProvider dataGetGroups + * + * @param string|null $search + * @param int|null $limit + * @param int|null $offset + */ + public function testGetGroupsDetails($search, $limit, $offset) { + $groups = [$this->createGroup('group1'), $this->createGroup('group2')]; + + $search = $search === null ? '' : $search; + + $this->groupManager + ->expects($this->once()) + ->method('search') + ->with($search, $limit, $offset) + ->willReturn($groups); + + $result = $this->api->getGroupsDetails($search, $limit, $offset); + $this->assertEquals(['groups' => [ + Array('id' => 'group1', 'displayname' => 'group1-name'), + Array('id' => 'group2', 'displayname' => 'group2-name') + ]], $result->getData()); + } public function testGetGroupAsSubadmin() { diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php index 38e35988137..3f2cf3b1105 100644 --- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php +++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php @@ -56,6 +56,7 @@ use OCP\IUserManager; use OCP\IUserSession; use OCP\L10N\IFactory; use OCP\Mail\IMailer; +use OCP\Security\ISecureRandom; use PHPUnit_Framework_MockObject_MockObject; use Test\TestCase; @@ -85,6 +86,8 @@ class UsersControllerTest extends TestCase { private $newUserMailHelper; /** @var FederatedFileSharingFactory|\PHPUnit_Framework_MockObject_MockObject */ private $federatedFileSharingFactory; + /** @var ISecureRandom|\PHPUnit_Framework_MockObject_MockObject */ + private $secureRandom; protected function setUp() { parent::setUp(); @@ -100,6 +103,7 @@ class UsersControllerTest extends TestCase { $this->l10nFactory = $this->createMock(IFactory::class); $this->newUserMailHelper = $this->createMock(NewUserMailHelper::class); $this->federatedFileSharingFactory = $this->createMock(FederatedFileSharingFactory::class); + $this->secureRandom = $this->createMock(ISecureRandom::class); $this->api = $this->getMockBuilder(UsersController::class) ->setConstructorArgs([ @@ -114,7 +118,8 @@ class UsersControllerTest extends TestCase { $this->logger, $this->l10nFactory, $this->newUserMailHelper, - $this->federatedFileSharingFactory + $this->federatedFileSharingFactory, + $this->secureRandom ]) ->setMethods(['fillStorageInfo']) ->getMock(); @@ -242,7 +247,7 @@ class UsersControllerTest extends TestCase { ->with('adminUser') ->willReturn(true); - $this->api->addUser('AlreadyExistingUser', 'password', []); + $this->api->addUser('AlreadyExistingUser', 'password', '', []); } /** @@ -278,7 +283,7 @@ class UsersControllerTest extends TestCase { ->with('NonExistingGroup') ->willReturn(false); - $this->api->addUser('NewUser', 'pass', ['NonExistingGroup']); + $this->api->addUser('NewUser', 'pass', '', ['NonExistingGroup']); } /** @@ -320,7 +325,7 @@ class UsersControllerTest extends TestCase { ['NonExistingGroup', false] ])); - $this->api->addUser('NewUser', 'pass', ['ExistingGroup', 'NonExistingGroup']); + $this->api->addUser('NewUser', 'pass', '', ['ExistingGroup', 'NonExistingGroup']); } public function testAddUserSuccessful() { @@ -412,7 +417,7 @@ class UsersControllerTest extends TestCase { ['Added userid NewUser to group ExistingGroup', ['app' => 'ocs_api']] ); - $this->assertEquals([], $this->api->addUser('NewUser', 'PasswordOfTheNewUser', ['ExistingGroup'])->getData()); + $this->assertEquals([], $this->api->addUser('NewUser', 'PasswordOfTheNewUser', '', ['ExistingGroup'])->getData()); } /** @@ -490,7 +495,7 @@ class UsersControllerTest extends TestCase { ->with() ->willReturn($subAdminManager); - $this->api->addUser('NewUser', 'PasswordOfTheNewUser', []); + $this->api->addUser('NewUser', 'PasswordOfTheNewUser', '', []); } /** @@ -539,7 +544,7 @@ class UsersControllerTest extends TestCase { ->with('ExistingGroup') ->willReturn(true); - $this->api->addUser('NewUser', 'PasswordOfTheNewUser', ['ExistingGroup'])->getData(); + $this->api->addUser('NewUser', 'PasswordOfTheNewUser', '', ['ExistingGroup'])->getData(); } public function testAddUserAsSubAdminExistingGroups() { @@ -630,7 +635,7 @@ class UsersControllerTest extends TestCase { ) ->willReturn(true); - $this->assertEquals([], $this->api->addUser('NewUser', 'PasswordOfTheNewUser', ['ExistingGroup1', 'ExistingGroup2'])->getData()); + $this->assertEquals([], $this->api->addUser('NewUser', 'PasswordOfTheNewUser', '', ['ExistingGroup1', 'ExistingGroup2'])->getData()); } /** @@ -2928,7 +2933,8 @@ class UsersControllerTest extends TestCase { $this->logger, $this->l10nFactory, $this->newUserMailHelper, - $this->federatedFileSharingFactory + $this->federatedFileSharingFactory, + $this->secureRandom ]) ->setMethods(['getUserData']) ->getMock(); @@ -2990,7 +2996,8 @@ class UsersControllerTest extends TestCase { $this->logger, $this->l10nFactory, $this->newUserMailHelper, - $this->federatedFileSharingFactory + $this->federatedFileSharingFactory, + $this->secureRandom ]) ->setMethods(['getUserData']) ->getMock(); diff --git a/apps/sharebymail/l10n/it.js b/apps/sharebymail/l10n/it.js index acf8e8ad464..f9450be2203 100644 --- a/apps/sharebymail/l10n/it.js +++ b/apps/sharebymail/l10n/it.js @@ -9,7 +9,7 @@ OC.L10N.register( "Password for mail share sent to {email}" : "Password per la condivisione tramite posta inviata a {email}", "Password for mail share sent to you" : "Password per la condivisione tramite posta inviata a te", "You shared %1$s with %2$s by mail" : "Hai condiviso %1$s con %2$s tramite posta", - "You shared {file} with {email} by mail" : "Hai condiviso {file} con {user} tramite posta", + "You shared {file} with {email} by mail" : "Hai condiviso {file} con {email} tramite posta", "%3$s shared %1$s with %2$s by mail" : "%3$s ha condiviso %1$s con %2$s tramite email", "{actor} shared {file} with {email} by mail" : "{actor} ha condiviso {file} con {email} tramite email", "Password to access %1$s was sent to %2s" : "La password per accedere a %1$s è stata inviata a %2s", diff --git a/apps/sharebymail/l10n/it.json b/apps/sharebymail/l10n/it.json index 8022aedd6a9..34876a41f7c 100644 --- a/apps/sharebymail/l10n/it.json +++ b/apps/sharebymail/l10n/it.json @@ -7,7 +7,7 @@ "Password for mail share sent to {email}" : "Password per la condivisione tramite posta inviata a {email}", "Password for mail share sent to you" : "Password per la condivisione tramite posta inviata a te", "You shared %1$s with %2$s by mail" : "Hai condiviso %1$s con %2$s tramite posta", - "You shared {file} with {email} by mail" : "Hai condiviso {file} con {user} tramite posta", + "You shared {file} with {email} by mail" : "Hai condiviso {file} con {email} tramite posta", "%3$s shared %1$s with %2$s by mail" : "%3$s ha condiviso %1$s con %2$s tramite email", "{actor} shared {file} with {email} by mail" : "{actor} ha condiviso {file} con {email} tramite email", "Password to access %1$s was sent to %2s" : "La password per accedere a %1$s è stata inviata a %2s", diff --git a/apps/theming/l10n/af.js b/apps/theming/l10n/af.js index 5c63f521f9d..d0074943d6b 100644 --- a/apps/theming/l10n/af.js +++ b/apps/theming/l10n/af.js @@ -9,14 +9,12 @@ OC.L10N.register( "The given web address is too long" : "Die gegewe webadres is te lank", "The given slogan is too long" : "Gegewe slagspreuk is te lank", "The given color is invalid" : "Die gegewe kleur is ongeldig", - "There is no error, the file uploaded with success" : "Geen fout is teëgekom nie, die lêer is met suksesvol opgelaai", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die opgelaaide lêer oorskry die upload_max_filesize riglyn in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die opgelaaide lêer oorskry die MAX_FILE_SIZE riglyn wat in die HTML vorm gespesifiseer is", "No file was uploaded" : "Geen lêer is opgelaai", "Missing a temporary folder" : "Ontbrekende tydelike gids", "No file uploaded" : "Geen lêer opgelaai", "Unsupported image type" : "Onondersteunde beeldtipe", - "You are already using a custom theme" : "U gebruik reeds ’n pasgemaakte tema", "Name" : "Naam", "Reset to default" : "Herstel na verstek", "Web address" : "Webadres", @@ -28,7 +26,9 @@ OC.L10N.register( "Login image" : "Aantekenbeeld", "Upload new login background" : "Laai nuwe aantekenagtergrond op", "Remove background image" : "Verwyder agtergrondbeeld", + "You are already using a custom theme" : "U gebruik reeds ’n pasgemaakte tema", "reset to default" : "herstel na verstek", + "There is no error, the file uploaded with success" : "Geen fout is teëgekom nie, die lêer is met suksesvol opgelaai", "The uploaded file was only partially uploaded" : "Die opgelaaide lêer is slegs gedeeltelik opgelaai" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/af.json b/apps/theming/l10n/af.json index fa41800513b..2893d111ded 100644 --- a/apps/theming/l10n/af.json +++ b/apps/theming/l10n/af.json @@ -7,14 +7,12 @@ "The given web address is too long" : "Die gegewe webadres is te lank", "The given slogan is too long" : "Gegewe slagspreuk is te lank", "The given color is invalid" : "Die gegewe kleur is ongeldig", - "There is no error, the file uploaded with success" : "Geen fout is teëgekom nie, die lêer is met suksesvol opgelaai", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die opgelaaide lêer oorskry die upload_max_filesize riglyn in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die opgelaaide lêer oorskry die MAX_FILE_SIZE riglyn wat in die HTML vorm gespesifiseer is", "No file was uploaded" : "Geen lêer is opgelaai", "Missing a temporary folder" : "Ontbrekende tydelike gids", "No file uploaded" : "Geen lêer opgelaai", "Unsupported image type" : "Onondersteunde beeldtipe", - "You are already using a custom theme" : "U gebruik reeds ’n pasgemaakte tema", "Name" : "Naam", "Reset to default" : "Herstel na verstek", "Web address" : "Webadres", @@ -26,7 +24,9 @@ "Login image" : "Aantekenbeeld", "Upload new login background" : "Laai nuwe aantekenagtergrond op", "Remove background image" : "Verwyder agtergrondbeeld", + "You are already using a custom theme" : "U gebruik reeds ’n pasgemaakte tema", "reset to default" : "herstel na verstek", + "There is no error, the file uploaded with success" : "Geen fout is teëgekom nie, die lêer is met suksesvol opgelaai", "The uploaded file was only partially uploaded" : "Die opgelaaide lêer is slegs gedeeltelik opgelaai" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/ar.js b/apps/theming/l10n/ar.js index a6e648fbec5..ddf7b4c4558 100644 --- a/apps/theming/l10n/ar.js +++ b/apps/theming/l10n/ar.js @@ -11,10 +11,8 @@ OC.L10N.register( "The given color is invalid" : "هناك خطأ في اللون", "No file was uploaded" : "لم يتم رفع أي ملف", "Missing a temporary folder" : "المجلد المؤقت غير موجود", - "Failed to write file to disk." : "خطأ في الكتابة على القرص الصلب.", "No file uploaded" : "لم يتم رفع الملف", "Unsupported image type" : "صيغة الصورة غير مقبولة", - "You are already using a custom theme" : "انت تستعمل قالب مخصص", "Theming" : "تخصيص القالب", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "السمات تجعل من الممكن بسهولة تخصيص الشكل والمظهر لنموذجك ودعم العملاء. سيكون هذا مرئيا لجميع المستخدمين.", "Name" : "الاسم", @@ -28,6 +26,8 @@ OC.L10N.register( "Login image" : "صورة الدخول", "Upload new login background" : "تحميل خلفية جديدة للدخول", "Remove background image" : "إزالة صورة الخلفية", - "reset to default" : "إلغاء كل التغييرات" + "You are already using a custom theme" : "انت تستعمل قالب مخصص", + "reset to default" : "إلغاء كل التغييرات", + "Failed to write file to disk." : "خطأ في الكتابة على القرص الصلب." }, "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"); diff --git a/apps/theming/l10n/ar.json b/apps/theming/l10n/ar.json index 5616648dd7e..16f3027613b 100644 --- a/apps/theming/l10n/ar.json +++ b/apps/theming/l10n/ar.json @@ -9,10 +9,8 @@ "The given color is invalid" : "هناك خطأ في اللون", "No file was uploaded" : "لم يتم رفع أي ملف", "Missing a temporary folder" : "المجلد المؤقت غير موجود", - "Failed to write file to disk." : "خطأ في الكتابة على القرص الصلب.", "No file uploaded" : "لم يتم رفع الملف", "Unsupported image type" : "صيغة الصورة غير مقبولة", - "You are already using a custom theme" : "انت تستعمل قالب مخصص", "Theming" : "تخصيص القالب", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "السمات تجعل من الممكن بسهولة تخصيص الشكل والمظهر لنموذجك ودعم العملاء. سيكون هذا مرئيا لجميع المستخدمين.", "Name" : "الاسم", @@ -26,6 +24,8 @@ "Login image" : "صورة الدخول", "Upload new login background" : "تحميل خلفية جديدة للدخول", "Remove background image" : "إزالة صورة الخلفية", - "reset to default" : "إلغاء كل التغييرات" + "You are already using a custom theme" : "انت تستعمل قالب مخصص", + "reset to default" : "إلغاء كل التغييرات", + "Failed to write file to disk." : "خطأ في الكتابة على القرص الصلب." },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;" }
\ No newline at end of file diff --git a/apps/theming/l10n/ast.js b/apps/theming/l10n/ast.js index 1155c63b78c..6268908327c 100644 --- a/apps/theming/l10n/ast.js +++ b/apps/theming/l10n/ast.js @@ -9,10 +9,8 @@ OC.L10N.register( "The given slogan is too long" : "La conseña dada ye perllarga", "The given color is invalid" : "El color dau ye perllargu", "No file was uploaded" : "Nun se xubieron fichjeros", - "Failed to write file to disk." : "Fallu al escribir el ficheru nel discu", "No file uploaded" : "Nun se xubieron ficheros", "Unsupported image type" : "Triba non sofitada d'imaxe", - "You are already using a custom theme" : "Yá tas usando un tema personalizáu", "Name" : "Nome", "Web address" : "Direición web", "Web address https://…" : "Direición web https://…", @@ -23,6 +21,8 @@ OC.L10N.register( "Login image" : "Imaxe d'aniciu de sesión", "Upload new login background" : "Xubir fondu nuevu d'aniciu de sesión", "Remove background image" : "Desaniciar imaxe de fondu", - "reset to default" : "reafitar" + "You are already using a custom theme" : "Yá tas usando un tema personalizáu", + "reset to default" : "reafitar", + "Failed to write file to disk." : "Fallu al escribir el ficheru nel discu" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/ast.json b/apps/theming/l10n/ast.json index d652ff9d5f5..a711e659ca6 100644 --- a/apps/theming/l10n/ast.json +++ b/apps/theming/l10n/ast.json @@ -7,10 +7,8 @@ "The given slogan is too long" : "La conseña dada ye perllarga", "The given color is invalid" : "El color dau ye perllargu", "No file was uploaded" : "Nun se xubieron fichjeros", - "Failed to write file to disk." : "Fallu al escribir el ficheru nel discu", "No file uploaded" : "Nun se xubieron ficheros", "Unsupported image type" : "Triba non sofitada d'imaxe", - "You are already using a custom theme" : "Yá tas usando un tema personalizáu", "Name" : "Nome", "Web address" : "Direición web", "Web address https://…" : "Direición web https://…", @@ -21,6 +19,8 @@ "Login image" : "Imaxe d'aniciu de sesión", "Upload new login background" : "Xubir fondu nuevu d'aniciu de sesión", "Remove background image" : "Desaniciar imaxe de fondu", - "reset to default" : "reafitar" + "You are already using a custom theme" : "Yá tas usando un tema personalizáu", + "reset to default" : "reafitar", + "Failed to write file to disk." : "Fallu al escribir el ficheru nel discu" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/bg.js b/apps/theming/l10n/bg.js index 76300d63cea..939408d1964 100644 --- a/apps/theming/l10n/bg.js +++ b/apps/theming/l10n/bg.js @@ -10,7 +10,6 @@ OC.L10N.register( "The given color is invalid" : "Избраният цвят е невалиден", "No file uploaded" : "Няма качен файл", "Unsupported image type" : "Неподдържан тип изображение", - "You are already using a custom theme" : "Вие вече използвате персонализирана тема", "Theming" : "Теми", "Name" : "Име", "Web address" : "Уеб адрес", @@ -21,6 +20,7 @@ OC.L10N.register( "Upload new logo" : "Качване на ново лого", "Login image" : "Изображение при вписване", "Upload new login background" : "Качване на нов фон за входа", + "You are already using a custom theme" : "Вие вече използвате персонализирана тема", "reset to default" : "възстановяване към стандартни" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/bg.json b/apps/theming/l10n/bg.json index e6f21eb7f70..3b0db9e4a96 100644 --- a/apps/theming/l10n/bg.json +++ b/apps/theming/l10n/bg.json @@ -8,7 +8,6 @@ "The given color is invalid" : "Избраният цвят е невалиден", "No file uploaded" : "Няма качен файл", "Unsupported image type" : "Неподдържан тип изображение", - "You are already using a custom theme" : "Вие вече използвате персонализирана тема", "Theming" : "Теми", "Name" : "Име", "Web address" : "Уеб адрес", @@ -19,6 +18,7 @@ "Upload new logo" : "Качване на ново лого", "Login image" : "Изображение при вписване", "Upload new login background" : "Качване на нов фон за входа", + "You are already using a custom theme" : "Вие вече използвате персонализирана тема", "reset to default" : "възстановяване към стандартни" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/ca.js b/apps/theming/l10n/ca.js index 878056036b7..f0b24291eda 100644 --- a/apps/theming/l10n/ca.js +++ b/apps/theming/l10n/ca.js @@ -11,7 +11,6 @@ OC.L10N.register( "The given color is invalid" : "El color donat no és vàlid", "No file uploaded" : "No s'ha carregat cap fitxer", "Unsupported image type" : "Tipus d'imatge no compatible", - "You are already using a custom theme" : "Ja esteu utilitzant un tema personalitzat", "Theming" : "Adaptació de temes", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "L'adaptació de temes permet personalitzar fàcilment l'aspecte de la vostra instància i els clients compatibles. Això serà visible per a tots els usuaris.", "Name" : "Nom", @@ -25,6 +24,7 @@ OC.L10N.register( "Login image" : "Login logo", "Upload new login background" : "Carregar nou fons d'inici de sessió", "Remove background image" : "Elimina la imatge de fons", + "You are already using a custom theme" : "Ja esteu utilitzant un tema personalitzat", "reset to default" : "restablir a configuració predeterminada" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/ca.json b/apps/theming/l10n/ca.json index 6036d885f2e..c26241baaf4 100644 --- a/apps/theming/l10n/ca.json +++ b/apps/theming/l10n/ca.json @@ -9,7 +9,6 @@ "The given color is invalid" : "El color donat no és vàlid", "No file uploaded" : "No s'ha carregat cap fitxer", "Unsupported image type" : "Tipus d'imatge no compatible", - "You are already using a custom theme" : "Ja esteu utilitzant un tema personalitzat", "Theming" : "Adaptació de temes", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "L'adaptació de temes permet personalitzar fàcilment l'aspecte de la vostra instància i els clients compatibles. Això serà visible per a tots els usuaris.", "Name" : "Nom", @@ -23,6 +22,7 @@ "Login image" : "Login logo", "Upload new login background" : "Carregar nou fons d'inici de sessió", "Remove background image" : "Elimina la imatge de fons", + "You are already using a custom theme" : "Ja esteu utilitzant un tema personalitzat", "reset to default" : "restablir a configuració predeterminada" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/cs.js b/apps/theming/l10n/cs.js index fab0696f59b..3d56fef0d2e 100644 --- a/apps/theming/l10n/cs.js +++ b/apps/theming/l10n/cs.js @@ -10,16 +10,12 @@ OC.L10N.register( "The given web address is too long" : "Zadaná webová adresa je příliš dlouhá", "The given slogan is too long" : "Zadaný slogan je příliš dlouhý", "The given color is invalid" : "Zadaná barva je neplatná", - "There is no error, the file uploaded with success" : "Nenastala žádná chyba, soubor byl úspěšně nahrán", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Nahrávaný soubor přesahuje nastavení upload_max_filesize v php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Nahraný soubor překračuje nastavení MAX_FILE_SIZE, která byla zadána ve HTML formuláři", "No file was uploaded" : "Nebyl nahrán žádný soubor", "Missing a temporary folder" : "Chybí adresář pro dočasné soubory", - "Failed to write file to disk." : "Selhal zápis na disk", - "A PHP extension stopped the file upload." : "Rozšíření PHP zastavilo nahrávání souboru.", "No file uploaded" : "Nenahrán žádný soubor", "Unsupported image type" : "Nepodporovaný typ obrázku", - "You are already using a custom theme" : "Již používáte vlastní motiv", "Theming" : "Motivy", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motivy umožňují jednoduché přizpůsobení vzhledu vaší instance a podporovaných klientů. Tato přizpůsobení uvidí všichni uživatelé.", "Name" : "Název", @@ -34,7 +30,11 @@ OC.L10N.register( "Upload new login background" : "Nahrát nové přihlašovací pozadí", "Remove background image" : "Odebrat obrázek pozadí", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Nainstalujte rozšíření Imagemagick PHP s podporou obrázků SVG, které automaticky generuje favicony na základě nahraného loga a barvy.", + "You are already using a custom theme" : "Již používáte vlastní motiv", "reset to default" : "obnovit výchozí", - "The uploaded file was only partially uploaded" : "Nahraný soubor byl nahrán pouze částečně" + "There is no error, the file uploaded with success" : "Nenastala žádná chyba, soubor byl úspěšně nahrán", + "The uploaded file was only partially uploaded" : "Nahraný soubor byl nahrán pouze částečně", + "Failed to write file to disk." : "Selhal zápis na disk", + "A PHP extension stopped the file upload." : "Rozšíření PHP zastavilo nahrávání souboru." }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/theming/l10n/cs.json b/apps/theming/l10n/cs.json index 64b1fa8293c..6040528d3da 100644 --- a/apps/theming/l10n/cs.json +++ b/apps/theming/l10n/cs.json @@ -8,16 +8,12 @@ "The given web address is too long" : "Zadaná webová adresa je příliš dlouhá", "The given slogan is too long" : "Zadaný slogan je příliš dlouhý", "The given color is invalid" : "Zadaná barva je neplatná", - "There is no error, the file uploaded with success" : "Nenastala žádná chyba, soubor byl úspěšně nahrán", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Nahrávaný soubor přesahuje nastavení upload_max_filesize v php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Nahraný soubor překračuje nastavení MAX_FILE_SIZE, která byla zadána ve HTML formuláři", "No file was uploaded" : "Nebyl nahrán žádný soubor", "Missing a temporary folder" : "Chybí adresář pro dočasné soubory", - "Failed to write file to disk." : "Selhal zápis na disk", - "A PHP extension stopped the file upload." : "Rozšíření PHP zastavilo nahrávání souboru.", "No file uploaded" : "Nenahrán žádný soubor", "Unsupported image type" : "Nepodporovaný typ obrázku", - "You are already using a custom theme" : "Již používáte vlastní motiv", "Theming" : "Motivy", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motivy umožňují jednoduché přizpůsobení vzhledu vaší instance a podporovaných klientů. Tato přizpůsobení uvidí všichni uživatelé.", "Name" : "Název", @@ -32,7 +28,11 @@ "Upload new login background" : "Nahrát nové přihlašovací pozadí", "Remove background image" : "Odebrat obrázek pozadí", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Nainstalujte rozšíření Imagemagick PHP s podporou obrázků SVG, které automaticky generuje favicony na základě nahraného loga a barvy.", + "You are already using a custom theme" : "Již používáte vlastní motiv", "reset to default" : "obnovit výchozí", - "The uploaded file was only partially uploaded" : "Nahraný soubor byl nahrán pouze částečně" + "There is no error, the file uploaded with success" : "Nenastala žádná chyba, soubor byl úspěšně nahrán", + "The uploaded file was only partially uploaded" : "Nahraný soubor byl nahrán pouze částečně", + "Failed to write file to disk." : "Selhal zápis na disk", + "A PHP extension stopped the file upload." : "Rozšíření PHP zastavilo nahrávání souboru." },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/theming/l10n/da.js b/apps/theming/l10n/da.js index 4891b001905..cd91d9ecde3 100644 --- a/apps/theming/l10n/da.js +++ b/apps/theming/l10n/da.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "Webadressen er for lang", "The given slogan is too long" : "Sloganet er for langt", "The given color is invalid" : "Farven er ikke gyldig", - "There is no error, the file uploaded with success" : "Der skete ingen fejl, filen blev succesfuldt uploadet", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Den uploadede fil overstiger upload_max_filesize direktivet i php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Den uploadede fil overstiger MAX_FILE_SIZE indstilingen, som specificeret i HTML formularen", "No file was uploaded" : "Ingen fil uploadet", "Missing a temporary folder" : "Manglende midlertidig mappe.", - "Failed to write file to disk." : "Fejl ved skrivning af fil til disk.", - "A PHP extension stopped the file upload." : "En PHP-udvidelse stoppede file uploaden.", "No file uploaded" : "Ingen fil uploadet", "Unsupported image type" : "Ikke-understøttet billede format", - "You are already using a custom theme" : "Du bruger allerede et brugerdefineret tema", "Theming" : "Temaer", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming gør det muligt nemt at tilpasse udseendet på din installation og understøttede klienter. Dette vil være synlig for alle brugere.", "Name" : "Navn", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Upload nyt login billede", "Remove background image" : "Fjern baggrundsbillede", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer Imagemagick PHP udvidelsen med SVG support for automatisk at genererer favikoner baseret på the uploadede logo og farver.", + "You are already using a custom theme" : "Du bruger allerede et brugerdefineret tema", "reset to default" : "nulstil til standardindstillinger ", - "The uploaded file was only partially uploaded" : "Filen blev kun delvist uploadet." + "There is no error, the file uploaded with success" : "Der skete ingen fejl, filen blev succesfuldt uploadet", + "The uploaded file was only partially uploaded" : "Filen blev kun delvist uploadet.", + "Failed to write file to disk." : "Fejl ved skrivning af fil til disk.", + "A PHP extension stopped the file upload." : "En PHP-udvidelse stoppede file uploaden." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/da.json b/apps/theming/l10n/da.json index 0235f5786cf..9d6035c748f 100644 --- a/apps/theming/l10n/da.json +++ b/apps/theming/l10n/da.json @@ -7,16 +7,12 @@ "The given web address is too long" : "Webadressen er for lang", "The given slogan is too long" : "Sloganet er for langt", "The given color is invalid" : "Farven er ikke gyldig", - "There is no error, the file uploaded with success" : "Der skete ingen fejl, filen blev succesfuldt uploadet", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Den uploadede fil overstiger upload_max_filesize direktivet i php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Den uploadede fil overstiger MAX_FILE_SIZE indstilingen, som specificeret i HTML formularen", "No file was uploaded" : "Ingen fil uploadet", "Missing a temporary folder" : "Manglende midlertidig mappe.", - "Failed to write file to disk." : "Fejl ved skrivning af fil til disk.", - "A PHP extension stopped the file upload." : "En PHP-udvidelse stoppede file uploaden.", "No file uploaded" : "Ingen fil uploadet", "Unsupported image type" : "Ikke-understøttet billede format", - "You are already using a custom theme" : "Du bruger allerede et brugerdefineret tema", "Theming" : "Temaer", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming gør det muligt nemt at tilpasse udseendet på din installation og understøttede klienter. Dette vil være synlig for alle brugere.", "Name" : "Navn", @@ -31,7 +27,11 @@ "Upload new login background" : "Upload nyt login billede", "Remove background image" : "Fjern baggrundsbillede", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer Imagemagick PHP udvidelsen med SVG support for automatisk at genererer favikoner baseret på the uploadede logo og farver.", + "You are already using a custom theme" : "Du bruger allerede et brugerdefineret tema", "reset to default" : "nulstil til standardindstillinger ", - "The uploaded file was only partially uploaded" : "Filen blev kun delvist uploadet." + "There is no error, the file uploaded with success" : "Der skete ingen fejl, filen blev succesfuldt uploadet", + "The uploaded file was only partially uploaded" : "Filen blev kun delvist uploadet.", + "Failed to write file to disk." : "Fejl ved skrivning af fil til disk.", + "A PHP extension stopped the file upload." : "En PHP-udvidelse stoppede file uploaden." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/de.js b/apps/theming/l10n/de.js index 6156ee16f5e..6435fb7bead 100644 --- a/apps/theming/l10n/de.js +++ b/apps/theming/l10n/de.js @@ -10,17 +10,17 @@ OC.L10N.register( "The given web address is too long" : "Die eingegebene Adresse ist zu lang", "The given slogan is too long" : "Der eingegebene Slogan ist zu lang", "The given color is invalid" : "Die gewählte Farbe ist ungültig", - "There is no error, the file uploaded with success" : "Es ist kein Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", + "The file was uploaded" : "Die Datei wurde hochgeladen", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die hochgeladene Datei überschreitet die upload_max_filesize-Vorgabe in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die Datei ist größer, als die MAX_FILE_SIZE - Vorgabe erlaubt, die im HTML-Formular spezifiziert ist.", "The file was only partially uploaded" : "Die Datei konnte nur teilweise hochgeladen werden", "No file was uploaded" : "Es wurde keine Datei hochgeladen", "Missing a temporary folder" : "Kein temporärer Ordner vorhanden", - "Failed to write file to disk." : "Fehler beim Schreiben der Datei auf die Festplatte.", - "A PHP extension stopped the file upload." : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt.", + "Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden", + "A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt", "No file uploaded" : "Keine Datei hochgeladen", "Unsupported image type" : "Nicht unterstütztes Bild-Format", - "You are already using a custom theme" : "Du benutzt bereits ein eigenes Thema", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Du benutzt bereits ein benutzerdefiniertes Theme. Eine App für Themes würde dies überschreiben.", "Theming" : "Theming", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming ermöglicht es auf einfache Weise das Aussehen Deiner Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.", "Name" : "Name", @@ -35,7 +35,11 @@ OC.L10N.register( "Upload new login background" : "Neuen Anmelde-Hintergrund hochladen", "Remove background image" : "Entferne Hintergrundbild", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installiere die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favoriten-Icons auf Basis des hochgeladenen Icons und der Farbe zu erstellen.", + "You are already using a custom theme" : "Du benutzt bereits ein eigenes Thema", "reset to default" : "Auf Standard zurücksetzen", - "The uploaded file was only partially uploaded" : "Die Datei konnte nur teilweise übertragen werden" + "There is no error, the file uploaded with success" : "Es ist kein Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", + "The uploaded file was only partially uploaded" : "Die Datei konnte nur teilweise übertragen werden", + "Failed to write file to disk." : "Fehler beim Schreiben der Datei auf die Festplatte.", + "A PHP extension stopped the file upload." : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/de.json b/apps/theming/l10n/de.json index 8f25a92be57..80f36772bab 100644 --- a/apps/theming/l10n/de.json +++ b/apps/theming/l10n/de.json @@ -8,17 +8,17 @@ "The given web address is too long" : "Die eingegebene Adresse ist zu lang", "The given slogan is too long" : "Der eingegebene Slogan ist zu lang", "The given color is invalid" : "Die gewählte Farbe ist ungültig", - "There is no error, the file uploaded with success" : "Es ist kein Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", + "The file was uploaded" : "Die Datei wurde hochgeladen", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die hochgeladene Datei überschreitet die upload_max_filesize-Vorgabe in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die Datei ist größer, als die MAX_FILE_SIZE - Vorgabe erlaubt, die im HTML-Formular spezifiziert ist.", "The file was only partially uploaded" : "Die Datei konnte nur teilweise hochgeladen werden", "No file was uploaded" : "Es wurde keine Datei hochgeladen", "Missing a temporary folder" : "Kein temporärer Ordner vorhanden", - "Failed to write file to disk." : "Fehler beim Schreiben der Datei auf die Festplatte.", - "A PHP extension stopped the file upload." : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt.", + "Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden", + "A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt", "No file uploaded" : "Keine Datei hochgeladen", "Unsupported image type" : "Nicht unterstütztes Bild-Format", - "You are already using a custom theme" : "Du benutzt bereits ein eigenes Thema", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Du benutzt bereits ein benutzerdefiniertes Theme. Eine App für Themes würde dies überschreiben.", "Theming" : "Theming", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming ermöglicht es auf einfache Weise das Aussehen Deiner Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.", "Name" : "Name", @@ -33,7 +33,11 @@ "Upload new login background" : "Neuen Anmelde-Hintergrund hochladen", "Remove background image" : "Entferne Hintergrundbild", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installiere die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favoriten-Icons auf Basis des hochgeladenen Icons und der Farbe zu erstellen.", + "You are already using a custom theme" : "Du benutzt bereits ein eigenes Thema", "reset to default" : "Auf Standard zurücksetzen", - "The uploaded file was only partially uploaded" : "Die Datei konnte nur teilweise übertragen werden" + "There is no error, the file uploaded with success" : "Es ist kein Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", + "The uploaded file was only partially uploaded" : "Die Datei konnte nur teilweise übertragen werden", + "Failed to write file to disk." : "Fehler beim Schreiben der Datei auf die Festplatte.", + "A PHP extension stopped the file upload." : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/de_DE.js b/apps/theming/l10n/de_DE.js index d373fa43adb..022566c2ee3 100644 --- a/apps/theming/l10n/de_DE.js +++ b/apps/theming/l10n/de_DE.js @@ -10,17 +10,17 @@ OC.L10N.register( "The given web address is too long" : "Die eingegebene Adresse ist zu lang", "The given slogan is too long" : "Der eingegebene Slogan ist zu lang", "The given color is invalid" : "Die gewählte Farbe ist ungültig", - "There is no error, the file uploaded with success" : "Es ist kein Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", + "The file was uploaded" : "Die Datei wurde hochgeladen", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die hochgeladene Datei überschreitet die upload_max_filesize-Vorgabe in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die Datei ist größer, als die MAX_FILE_SIZE-Vorgabe erlaubt, die im HTML-Formular spezifiziert ist", "The file was only partially uploaded" : "Die Datei konnte nur teilweise hochgeladen werden", "No file was uploaded" : "Es wurde keine Datei hochgeladen", "Missing a temporary folder" : "Kein temporärer Ordner vorhanden", - "Failed to write file to disk." : "Fehler beim Schreiben der Datei auf die Festplatte.", - "A PHP extension stopped the file upload." : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt.", + "Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden", + "A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt", "No file uploaded" : "Keine Datei hochgeladen", "Unsupported image type" : "Nicht unterstütztes Bild-Format", - "You are already using a custom theme" : "Sie benutzen bereits ein eigenes Thema", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Sie benutzen bereits ein benutzerdefiniertes Theme. Eine App für Themes würde dies überschreiben.", "Theming" : "Theming", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming ermöglicht es auf einfache Weise das Aussehen Ihrer Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.", "Name" : "Name", @@ -35,7 +35,11 @@ OC.L10N.register( "Upload new login background" : "Neuen Anmelde-Hintergrund hochladen", "Remove background image" : "Entferne Hintergrundbild", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installieren Sie die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favoriten-Icons auf Basis des hochgeladenen Icons und der Farbe zu erstellen.", + "You are already using a custom theme" : "Sie benutzen bereits ein eigenes Thema", "reset to default" : "Auf Standard zurücksetzen", - "The uploaded file was only partially uploaded" : "Die Datei konnte nur teilweise übertragen werden" + "There is no error, the file uploaded with success" : "Es ist kein Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", + "The uploaded file was only partially uploaded" : "Die Datei konnte nur teilweise übertragen werden", + "Failed to write file to disk." : "Fehler beim Schreiben der Datei auf die Festplatte.", + "A PHP extension stopped the file upload." : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/de_DE.json b/apps/theming/l10n/de_DE.json index 4e08b49e3a3..2cb934e738f 100644 --- a/apps/theming/l10n/de_DE.json +++ b/apps/theming/l10n/de_DE.json @@ -8,17 +8,17 @@ "The given web address is too long" : "Die eingegebene Adresse ist zu lang", "The given slogan is too long" : "Der eingegebene Slogan ist zu lang", "The given color is invalid" : "Die gewählte Farbe ist ungültig", - "There is no error, the file uploaded with success" : "Es ist kein Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", + "The file was uploaded" : "Die Datei wurde hochgeladen", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die hochgeladene Datei überschreitet die upload_max_filesize-Vorgabe in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die Datei ist größer, als die MAX_FILE_SIZE-Vorgabe erlaubt, die im HTML-Formular spezifiziert ist", "The file was only partially uploaded" : "Die Datei konnte nur teilweise hochgeladen werden", "No file was uploaded" : "Es wurde keine Datei hochgeladen", "Missing a temporary folder" : "Kein temporärer Ordner vorhanden", - "Failed to write file to disk." : "Fehler beim Schreiben der Datei auf die Festplatte.", - "A PHP extension stopped the file upload." : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt.", + "Could not write file to disk" : "Die Datei konnte nicht auf die Festplatte geschrieben werden", + "A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt", "No file uploaded" : "Keine Datei hochgeladen", "Unsupported image type" : "Nicht unterstütztes Bild-Format", - "You are already using a custom theme" : "Sie benutzen bereits ein eigenes Thema", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Sie benutzen bereits ein benutzerdefiniertes Theme. Eine App für Themes würde dies überschreiben.", "Theming" : "Theming", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming ermöglicht es auf einfache Weise das Aussehen Ihrer Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.", "Name" : "Name", @@ -33,7 +33,11 @@ "Upload new login background" : "Neuen Anmelde-Hintergrund hochladen", "Remove background image" : "Entferne Hintergrundbild", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installieren Sie die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favoriten-Icons auf Basis des hochgeladenen Icons und der Farbe zu erstellen.", + "You are already using a custom theme" : "Sie benutzen bereits ein eigenes Thema", "reset to default" : "Auf Standard zurücksetzen", - "The uploaded file was only partially uploaded" : "Die Datei konnte nur teilweise übertragen werden" + "There is no error, the file uploaded with success" : "Es ist kein Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", + "The uploaded file was only partially uploaded" : "Die Datei konnte nur teilweise übertragen werden", + "Failed to write file to disk." : "Fehler beim Schreiben der Datei auf die Festplatte.", + "A PHP extension stopped the file upload." : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/el.js b/apps/theming/l10n/el.js index 0a1831e08b1..c1ec988c1f3 100644 --- a/apps/theming/l10n/el.js +++ b/apps/theming/l10n/el.js @@ -9,16 +9,12 @@ 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.", "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" : "Χρησιμοποιείτε ήδη προσαρμοσμένο θέμα", "Theming" : "Προσαρμογή θέματος", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Αυτή θα είναι ορατή για όλους τους χρήστες.", "Name" : "Όνομα", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Μεταφόρτωση νέου παρασκηνίου εισόδου", "Remove background image" : "Αφαίρεση εικόνας παρασκηνίου", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Εγκαταστήστε την επέκταση PHP Imagemagick με υποστήριξη SVG εικόνων, για να γίνει αυτόματη δημιουργία favicon βασισμένο πάνω στο μεταφορτωμένο λογότυπο και χρώμα.", + "You are already using a custom theme" : "Χρησιμοποιείτε ήδη προσαρμοσμένο θέμα", "reset to default" : "επαναφορά στα προεπιλεγμένα", - "The uploaded file was only partially uploaded" : "Το μεταφορτωμένο αρχείο μεταφορτώθηκε εν μέρει" + "There is no error, the file uploaded with success" : "Δεν υπάρχει σφάλμα, το αρχείο μεταφορτώθηκε με επιτυχία", + "The uploaded file was only partially uploaded" : "Το μεταφορτωμένο αρχείο μεταφορτώθηκε εν μέρει", + "Failed to write file to disk." : "Αποτυχία εγγραφής αρχείου στο δίσκο.", + "A PHP extension stopped the file upload." : "Μία επέκταση PHP διέκοψε τη μεταφόρτωση του αρχείου." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/el.json b/apps/theming/l10n/el.json index e29cad8d4ba..09dbe8f0428 100644 --- a/apps/theming/l10n/el.json +++ b/apps/theming/l10n/el.json @@ -7,16 +7,12 @@ "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.", "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" : "Χρησιμοποιείτε ήδη προσαρμοσμένο θέμα", "Theming" : "Προσαρμογή θέματος", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Αυτή θα είναι ορατή για όλους τους χρήστες.", "Name" : "Όνομα", @@ -31,7 +27,11 @@ "Upload new login background" : "Μεταφόρτωση νέου παρασκηνίου εισόδου", "Remove background image" : "Αφαίρεση εικόνας παρασκηνίου", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Εγκαταστήστε την επέκταση PHP Imagemagick με υποστήριξη SVG εικόνων, για να γίνει αυτόματη δημιουργία favicon βασισμένο πάνω στο μεταφορτωμένο λογότυπο και χρώμα.", + "You are already using a custom theme" : "Χρησιμοποιείτε ήδη προσαρμοσμένο θέμα", "reset to default" : "επαναφορά στα προεπιλεγμένα", - "The uploaded file was only partially uploaded" : "Το μεταφορτωμένο αρχείο μεταφορτώθηκε εν μέρει" + "There is no error, the file uploaded with success" : "Δεν υπάρχει σφάλμα, το αρχείο μεταφορτώθηκε με επιτυχία", + "The uploaded file was only partially uploaded" : "Το μεταφορτωμένο αρχείο μεταφορτώθηκε εν μέρει", + "Failed to write file to disk." : "Αποτυχία εγγραφής αρχείου στο δίσκο.", + "A PHP extension stopped the file upload." : "Μία επέκταση PHP διέκοψε τη μεταφόρτωση του αρχείου." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/en_GB.js b/apps/theming/l10n/en_GB.js index 7897fabe841..211eb6dccc1 100644 --- a/apps/theming/l10n/en_GB.js +++ b/apps/theming/l10n/en_GB.js @@ -10,17 +10,16 @@ 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 file was uploaded" : "The file was uploaded", "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 file was only partially uploaded" : "The 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.", + "Could not write file to disk" : "Could not 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", "Theming" : "Theming", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming makes it possible to easily customise the look and feel of your instance and supported clients. This will be visible for all users.", "Name" : "Name", @@ -35,7 +34,11 @@ OC.L10N.register( "Upload new login background" : "Upload new login background", "Remove background image" : "Remove background image", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color.", + "You are already using a custom theme" : "You are already using a custom theme", "reset to default" : "reset to default", - "The uploaded file was only partially uploaded" : "The uploaded file was only partially uploaded" + "There is no error, the file uploaded with success" : "There is no error, the file uploaded with success", + "The uploaded file was only partially uploaded" : "The uploaded file was only partially uploaded", + "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." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/en_GB.json b/apps/theming/l10n/en_GB.json index 3a366327a9c..21c26cb1c2f 100644 --- a/apps/theming/l10n/en_GB.json +++ b/apps/theming/l10n/en_GB.json @@ -8,17 +8,16 @@ "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 file was uploaded" : "The file was uploaded", "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 file was only partially uploaded" : "The 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.", + "Could not write file to disk" : "Could not 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", "Theming" : "Theming", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming makes it possible to easily customise the look and feel of your instance and supported clients. This will be visible for all users.", "Name" : "Name", @@ -33,7 +32,11 @@ "Upload new login background" : "Upload new login background", "Remove background image" : "Remove background image", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color.", + "You are already using a custom theme" : "You are already using a custom theme", "reset to default" : "reset to default", - "The uploaded file was only partially uploaded" : "The uploaded file was only partially uploaded" + "There is no error, the file uploaded with success" : "There is no error, the file uploaded with success", + "The uploaded file was only partially uploaded" : "The uploaded file was only partially uploaded", + "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." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es.js b/apps/theming/l10n/es.js index 903b74212dd..325cee972ca 100644 --- a/apps/theming/l10n/es.js +++ b/apps/theming/l10n/es.js @@ -10,17 +10,17 @@ 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 file was uploaded" : "Se ha subido el archivo", "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 file was only partially uploaded" : "El archivo se ha subido parcialmente", "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.", + "Could not write file to disk" : "No se puede escribir el archivo en el disco", + "A PHP extension stopped the file upload" : "Una extensión PHP ha cancelado la subida de archivos", "No file uploaded" : "No se ha subido archivo", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya estás usando un tema personalizado. La configuración de la aplicación de temas puede ser sobrescrita por el.", "Theming" : "Tema", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Los temas hacen posible personalizar fácilmente la apariencia de tu instancia y los clientes soportados. Esto será visible para todos los usuarios.", "Name" : "Nombre", @@ -35,7 +35,11 @@ OC.L10N.register( "Upload new login background" : "Subir una nueva imagen de fondo", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión de PHP Imagemagick con soporte para imágenes SVG para generar automáticamente faviconos basados en el logo y color subidos.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a configuración inicial", - "The uploaded file was only partially uploaded" : "El archivo para subir ha sido solo parcialmente subido" + "There is no error, the file uploaded with success" : "No ha habido errores, el archivo ha subido satisfactoriamente", + "The uploaded file was only partially uploaded" : "El archivo para subir ha sido solo parcialmente subido", + "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." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es.json b/apps/theming/l10n/es.json index 50ba609f855..e091d8d1b56 100644 --- a/apps/theming/l10n/es.json +++ b/apps/theming/l10n/es.json @@ -8,17 +8,17 @@ "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 file was uploaded" : "Se ha subido el archivo", "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 file was only partially uploaded" : "El archivo se ha subido parcialmente", "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.", + "Could not write file to disk" : "No se puede escribir el archivo en el disco", + "A PHP extension stopped the file upload" : "Una extensión PHP ha cancelado la subida de archivos", "No file uploaded" : "No se ha subido archivo", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Ya estás usando un tema personalizado. La configuración de la aplicación de temas puede ser sobrescrita por el.", "Theming" : "Tema", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Los temas hacen posible personalizar fácilmente la apariencia de tu instancia y los clientes soportados. Esto será visible para todos los usuarios.", "Name" : "Nombre", @@ -33,7 +33,11 @@ "Upload new login background" : "Subir una nueva imagen de fondo", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión de PHP Imagemagick con soporte para imágenes SVG para generar automáticamente faviconos basados en el logo y color subidos.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a configuración inicial", - "The uploaded file was only partially uploaded" : "El archivo para subir ha sido solo parcialmente subido" + "There is no error, the file uploaded with success" : "No ha habido errores, el archivo ha subido satisfactoriamente", + "The uploaded file was only partially uploaded" : "El archivo para subir ha sido solo parcialmente subido", + "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." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_419.js b/apps/theming/l10n/es_419.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_419.js +++ b/apps/theming/l10n/es_419.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_419.json b/apps/theming/l10n/es_419.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_419.json +++ b/apps/theming/l10n/es_419.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_AR.js b/apps/theming/l10n/es_AR.js index 4d13f6062bd..45ad11b077e 100644 --- a/apps/theming/l10n/es_AR.js +++ b/apps/theming/l10n/es_AR.js @@ -11,7 +11,6 @@ OC.L10N.register( "The given color is invalid" : "El color dado es inválido", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Usted ya se encuentra usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve su instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -25,6 +24,7 @@ OC.L10N.register( "Login image" : "Imágen de inicio de sesión", "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", + "You are already using a custom theme" : "Usted ya se encuentra usando un tema personalizado", "reset to default" : "restaurar a predeterminado" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_AR.json b/apps/theming/l10n/es_AR.json index eddb55bef38..fca7aff2c2e 100644 --- a/apps/theming/l10n/es_AR.json +++ b/apps/theming/l10n/es_AR.json @@ -9,7 +9,6 @@ "The given color is invalid" : "El color dado es inválido", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Usted ya se encuentra usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve su instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -23,6 +22,7 @@ "Login image" : "Imágen de inicio de sesión", "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", + "You are already using a custom theme" : "Usted ya se encuentra usando un tema personalizado", "reset to default" : "restaurar a predeterminado" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_CL.js b/apps/theming/l10n/es_CL.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_CL.js +++ b/apps/theming/l10n/es_CL.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_CL.json b/apps/theming/l10n/es_CL.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_CL.json +++ b/apps/theming/l10n/es_CL.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_CO.js b/apps/theming/l10n/es_CO.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_CO.js +++ b/apps/theming/l10n/es_CO.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_CO.json b/apps/theming/l10n/es_CO.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_CO.json +++ b/apps/theming/l10n/es_CO.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_CR.js b/apps/theming/l10n/es_CR.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_CR.js +++ b/apps/theming/l10n/es_CR.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_CR.json b/apps/theming/l10n/es_CR.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_CR.json +++ b/apps/theming/l10n/es_CR.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_DO.js b/apps/theming/l10n/es_DO.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_DO.js +++ b/apps/theming/l10n/es_DO.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_DO.json b/apps/theming/l10n/es_DO.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_DO.json +++ b/apps/theming/l10n/es_DO.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_EC.js b/apps/theming/l10n/es_EC.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_EC.js +++ b/apps/theming/l10n/es_EC.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_EC.json b/apps/theming/l10n/es_EC.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_EC.json +++ b/apps/theming/l10n/es_EC.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_GT.js b/apps/theming/l10n/es_GT.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_GT.js +++ b/apps/theming/l10n/es_GT.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_GT.json b/apps/theming/l10n/es_GT.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_GT.json +++ b/apps/theming/l10n/es_GT.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_HN.js b/apps/theming/l10n/es_HN.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_HN.js +++ b/apps/theming/l10n/es_HN.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_HN.json b/apps/theming/l10n/es_HN.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_HN.json +++ b/apps/theming/l10n/es_HN.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_MX.js b/apps/theming/l10n/es_MX.js index af20b0f0110..fe5f2f28f46 100644 --- a/apps/theming/l10n/es_MX.js +++ b/apps/theming/l10n/es_MX.js @@ -10,17 +10,16 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The file was uploaded" : "El archivo fue cargado", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", + "Could not write file to disk" : "No fue posible escribir a disco", + "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -35,7 +34,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_MX.json b/apps/theming/l10n/es_MX.json index f46559a1570..2b39ddc99ec 100644 --- a/apps/theming/l10n/es_MX.json +++ b/apps/theming/l10n/es_MX.json @@ -8,17 +8,16 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The file was uploaded" : "El archivo fue cargado", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "The file was only partially uploaded" : "El archivo sólo fue cargado parcialmente", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", + "Could not write file to disk" : "No fue posible escribir a disco", + "A PHP extension stopped the file upload" : "Una extensión de PHP detuvo la carga del archivo", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +32,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_NI.js b/apps/theming/l10n/es_NI.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_NI.js +++ b/apps/theming/l10n/es_NI.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_NI.json b/apps/theming/l10n/es_NI.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_NI.json +++ b/apps/theming/l10n/es_NI.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_PA.js b/apps/theming/l10n/es_PA.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_PA.js +++ b/apps/theming/l10n/es_PA.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_PA.json b/apps/theming/l10n/es_PA.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_PA.json +++ b/apps/theming/l10n/es_PA.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_PE.js b/apps/theming/l10n/es_PE.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_PE.js +++ b/apps/theming/l10n/es_PE.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_PE.json b/apps/theming/l10n/es_PE.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_PE.json +++ b/apps/theming/l10n/es_PE.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_PR.js b/apps/theming/l10n/es_PR.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_PR.js +++ b/apps/theming/l10n/es_PR.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_PR.json b/apps/theming/l10n/es_PR.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_PR.json +++ b/apps/theming/l10n/es_PR.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_PY.js b/apps/theming/l10n/es_PY.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_PY.js +++ b/apps/theming/l10n/es_PY.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_PY.json b/apps/theming/l10n/es_PY.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_PY.json +++ b/apps/theming/l10n/es_PY.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_SV.js b/apps/theming/l10n/es_SV.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_SV.js +++ b/apps/theming/l10n/es_SV.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_SV.json b/apps/theming/l10n/es_SV.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_SV.json +++ b/apps/theming/l10n/es_SV.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/es_UY.js b/apps/theming/l10n/es_UY.js index 46cec36c564..a5c28e1ee77 100644 --- a/apps/theming/l10n/es_UY.js +++ b/apps/theming/l10n/es_UY.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/es_UY.json b/apps/theming/l10n/es_UY.json index 809f7b1541b..6099c9a9c1e 100644 --- a/apps/theming/l10n/es_UY.json +++ b/apps/theming/l10n/es_UY.json @@ -7,16 +7,12 @@ "The given web address is too long" : "La dirección web dada es demasiado larga", "The given slogan is too long" : "El lema dado es demasiado largo", "The given color is invalid" : "El color dado es inválido", - "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "El archivo cargado excede el valor establecido en la directiva upload_max_filesize en el archivo php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El archivo cargado excede el valor especificado de la directiva MAX_FILE_SIZE en la forma de HTML", "No file was uploaded" : "No se cargó el archivo", "Missing a temporary folder" : "Falta una carpeta temporal", - "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", - "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. ", "No file uploaded" : "No hay archivos cargados", "Unsupported image type" : "Tipo de imagen no soportado", - "You are already using a custom theme" : "Ya estás usando un tema personalizado", "Theming" : "Tematizar", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "El tematizar hace posible personalizar facilmente la manera en que se ve tu instancia y clientes soportados. Esto será visible para todos los usuarios. ", "Name" : "Nombre", @@ -31,7 +27,11 @@ "Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión", "Remove background image" : "Eliminar imagen de fondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión Imagemagick de PHP con soporte a imagenes SVG para generar los favicons en automático con base en el logotipo cargado y el color.", + "You are already using a custom theme" : "Ya estás usando un tema personalizado", "reset to default" : "restaurar a predeterminado", - "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente" + "There is no error, the file uploaded with success" : "No hay errores, el archivo se cargó exitosamente", + "The uploaded file was only partially uploaded" : "La carga del archivo solo se realizó parcialmente", + "Failed to write file to disk." : "Se presentó una falla al escribir el archivo en el disco. ", + "A PHP extension stopped the file upload." : "Una extensión de PHP detuvo la carga del archivo. " },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/et_EE.js b/apps/theming/l10n/et_EE.js index c71e933a801..4b7474b6675 100644 --- a/apps/theming/l10n/et_EE.js +++ b/apps/theming/l10n/et_EE.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "Antud veebiaadress on liiga pikk", "The given slogan is too long" : "Antud tunnuslause on liiga pikk", "The given color is invalid" : "Antud värv ei sobi", - "There is no error, the file uploaded with success" : "Vigu pole, fail laetu edukalt üles", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Üleslaetud fail on suurem, kui php.ini failis määratud upload_max_filesize", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Üleslaetud fail on suurem, kui MAX_FILE_SIZE atribuut, mis seadistati HTML vormis", "No file was uploaded" : "Ühtegi faili ei latud üles", "Missing a temporary folder" : "Ajutine kausta on puudu", - "Failed to write file to disk." : "Faili kettale kirjutamine ebaõnnestus.", - "A PHP extension stopped the file upload." : "PHP laiendus seiskas faili üleslaadimise.", "No file uploaded" : "Faili ei laetud üles", "Unsupported image type" : "Pildi tüüp pole toetatud", - "You are already using a custom theme" : "Kohandatud teema on juba kasutusel", "Theming" : "Teemad", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teemad võimaldavad lihtsalt serveriinstantsi ja toetatud klientide välimus muuta. See on näha kõigile kasutajatele.", "Name" : "Nimi", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Lae üles uus avalehe taustapilt", "Remove background image" : "Eemalda taustapilt", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Paigalda Imagemagick PHP laiendus SVG piltide toega, et üleslaetud logo ja värvi põhjal automaatselt faviconid genereerida. ", + "You are already using a custom theme" : "Kohandatud teema on juba kasutusel", "reset to default" : "taasta vaikeseaded", - "The uploaded file was only partially uploaded" : "Üleslatud fail laeti üles ainult osaliselt" + "There is no error, the file uploaded with success" : "Vigu pole, fail laetu edukalt üles", + "The uploaded file was only partially uploaded" : "Üleslatud fail laeti üles ainult osaliselt", + "Failed to write file to disk." : "Faili kettale kirjutamine ebaõnnestus.", + "A PHP extension stopped the file upload." : "PHP laiendus seiskas faili üleslaadimise." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/et_EE.json b/apps/theming/l10n/et_EE.json index ff0c4fa85fe..f8d45cd2e7b 100644 --- a/apps/theming/l10n/et_EE.json +++ b/apps/theming/l10n/et_EE.json @@ -7,16 +7,12 @@ "The given web address is too long" : "Antud veebiaadress on liiga pikk", "The given slogan is too long" : "Antud tunnuslause on liiga pikk", "The given color is invalid" : "Antud värv ei sobi", - "There is no error, the file uploaded with success" : "Vigu pole, fail laetu edukalt üles", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Üleslaetud fail on suurem, kui php.ini failis määratud upload_max_filesize", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Üleslaetud fail on suurem, kui MAX_FILE_SIZE atribuut, mis seadistati HTML vormis", "No file was uploaded" : "Ühtegi faili ei latud üles", "Missing a temporary folder" : "Ajutine kausta on puudu", - "Failed to write file to disk." : "Faili kettale kirjutamine ebaõnnestus.", - "A PHP extension stopped the file upload." : "PHP laiendus seiskas faili üleslaadimise.", "No file uploaded" : "Faili ei laetud üles", "Unsupported image type" : "Pildi tüüp pole toetatud", - "You are already using a custom theme" : "Kohandatud teema on juba kasutusel", "Theming" : "Teemad", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teemad võimaldavad lihtsalt serveriinstantsi ja toetatud klientide välimus muuta. See on näha kõigile kasutajatele.", "Name" : "Nimi", @@ -31,7 +27,11 @@ "Upload new login background" : "Lae üles uus avalehe taustapilt", "Remove background image" : "Eemalda taustapilt", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Paigalda Imagemagick PHP laiendus SVG piltide toega, et üleslaetud logo ja värvi põhjal automaatselt faviconid genereerida. ", + "You are already using a custom theme" : "Kohandatud teema on juba kasutusel", "reset to default" : "taasta vaikeseaded", - "The uploaded file was only partially uploaded" : "Üleslatud fail laeti üles ainult osaliselt" + "There is no error, the file uploaded with success" : "Vigu pole, fail laetu edukalt üles", + "The uploaded file was only partially uploaded" : "Üleslatud fail laeti üles ainult osaliselt", + "Failed to write file to disk." : "Faili kettale kirjutamine ebaõnnestus.", + "A PHP extension stopped the file upload." : "PHP laiendus seiskas faili üleslaadimise." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/fi.js b/apps/theming/l10n/fi.js index bcf1461176d..942b2f781ae 100644 --- a/apps/theming/l10n/fi.js +++ b/apps/theming/l10n/fi.js @@ -10,15 +10,15 @@ OC.L10N.register( "The given web address is too long" : "Verkko-osoite on liian pitkä", "The given slogan is too long" : "Slogani on liian pitkä", "The given color is invalid" : "Väri on virheellinen", - "There is no error, the file uploaded with success" : "Ei virhettä, tiedosto lähetettiin onnistuneesti", + "The file was uploaded" : "Tiedosto lähetettiin", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Lähetetty tiedosto ylittää php.ini-tiedoston upload_max_filesize-tietueen arvon", + "The file was only partially uploaded" : "Tiedosto lähetettiin vain osittain", "No file was uploaded" : "Tiedostoa ei lähetetty", "Missing a temporary folder" : "Väliaikaiskansio puuttuu", - "Failed to write file to disk." : "Levylle kirjoittaminen epäonnistui.", - "A PHP extension stopped the file upload." : "PHP-laajennus pysäytti tiedoston lähetyksen.", + "Could not write file to disk" : "Tiedostoa ei voitu kirjoittaa levylle", + "A PHP extension stopped the file upload" : "PHP-laajennus pysäytti tiedoston lähettämisen", "No file uploaded" : "Ei tiedostoa lähetetty", "Unsupported image type" : "Ei-tuettu kuvatiedostomuoto", - "You are already using a custom theme" : "Käytät jo kustomoitua ulkoasua", "Theming" : "Teema", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teeman avulla voit helposti kustomoida web-käyttöliittymän ja tuettujen sovelluksien ulkonäköä ja tuntumaa. Teema näkyy kaikille käyttäjille.", "Name" : "Nimi", @@ -32,7 +32,11 @@ OC.L10N.register( "Login image" : "Kirjautumissivun kuva", "Upload new login background" : "Lähetä uusi kirjautumissivun taustakuva", "Remove background image" : "Poista taustakuva", + "You are already using a custom theme" : "Käytät jo kustomoitua ulkoasua", "reset to default" : "palauta oletukseksi", - "The uploaded file was only partially uploaded" : "Lähetetty tiedosto lähetettiin vain osittain" + "There is no error, the file uploaded with success" : "Ei virhettä, tiedosto lähetettiin onnistuneesti", + "The uploaded file was only partially uploaded" : "Lähetetty tiedosto lähetettiin vain osittain", + "Failed to write file to disk." : "Levylle kirjoittaminen epäonnistui.", + "A PHP extension stopped the file upload." : "PHP-laajennus pysäytti tiedoston lähetyksen." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/fi.json b/apps/theming/l10n/fi.json index 640aa9f8a3b..53fea953b9f 100644 --- a/apps/theming/l10n/fi.json +++ b/apps/theming/l10n/fi.json @@ -8,15 +8,15 @@ "The given web address is too long" : "Verkko-osoite on liian pitkä", "The given slogan is too long" : "Slogani on liian pitkä", "The given color is invalid" : "Väri on virheellinen", - "There is no error, the file uploaded with success" : "Ei virhettä, tiedosto lähetettiin onnistuneesti", + "The file was uploaded" : "Tiedosto lähetettiin", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Lähetetty tiedosto ylittää php.ini-tiedoston upload_max_filesize-tietueen arvon", + "The file was only partially uploaded" : "Tiedosto lähetettiin vain osittain", "No file was uploaded" : "Tiedostoa ei lähetetty", "Missing a temporary folder" : "Väliaikaiskansio puuttuu", - "Failed to write file to disk." : "Levylle kirjoittaminen epäonnistui.", - "A PHP extension stopped the file upload." : "PHP-laajennus pysäytti tiedoston lähetyksen.", + "Could not write file to disk" : "Tiedostoa ei voitu kirjoittaa levylle", + "A PHP extension stopped the file upload" : "PHP-laajennus pysäytti tiedoston lähettämisen", "No file uploaded" : "Ei tiedostoa lähetetty", "Unsupported image type" : "Ei-tuettu kuvatiedostomuoto", - "You are already using a custom theme" : "Käytät jo kustomoitua ulkoasua", "Theming" : "Teema", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teeman avulla voit helposti kustomoida web-käyttöliittymän ja tuettujen sovelluksien ulkonäköä ja tuntumaa. Teema näkyy kaikille käyttäjille.", "Name" : "Nimi", @@ -30,7 +30,11 @@ "Login image" : "Kirjautumissivun kuva", "Upload new login background" : "Lähetä uusi kirjautumissivun taustakuva", "Remove background image" : "Poista taustakuva", + "You are already using a custom theme" : "Käytät jo kustomoitua ulkoasua", "reset to default" : "palauta oletukseksi", - "The uploaded file was only partially uploaded" : "Lähetetty tiedosto lähetettiin vain osittain" + "There is no error, the file uploaded with success" : "Ei virhettä, tiedosto lähetettiin onnistuneesti", + "The uploaded file was only partially uploaded" : "Lähetetty tiedosto lähetettiin vain osittain", + "Failed to write file to disk." : "Levylle kirjoittaminen epäonnistui.", + "A PHP extension stopped the file upload." : "PHP-laajennus pysäytti tiedoston lähetyksen." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/fr.js b/apps/theming/l10n/fr.js index 2c7f131d630..b59b700d0f2 100644 --- a/apps/theming/l10n/fr.js +++ b/apps/theming/l10n/fr.js @@ -10,17 +10,17 @@ OC.L10N.register( "The given web address is too long" : "L'adresse web donnée est trop longue", "The given slogan is too long" : "Le slogan donné est trop long", "The given color is invalid" : "La couleur donnée est invalide", - "There is no error, the file uploaded with success" : "Aucune erreur, le fichier a été téléversé avec succès", + "The file was uploaded" : "Le fichier a été téléversé", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Le fichier téléversé dépasse la valeur upload_max_filesize située dans le fichier php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Le fichier téléversé dépasse la valeur MAX_FILE_SIZE spécifiée dans le formulaire HTML", "The file was only partially uploaded" : "Le fichier n'a été que partiellement envoyé", "No file was uploaded" : "Aucun fichier téléversé", "Missing a temporary folder" : "Absence de dossier temporaire", - "Failed to write file to disk." : "Erreur d'écriture du fichier sur le disque.", - "A PHP extension stopped the file upload." : "Une extension PHP a arrêté le téléversement du fichier.", + "Could not write file to disk" : "Impossible d'écrire le fichier sur le disque", + "A PHP extension stopped the file upload" : "Une extension PHP a arrêté le téléversement du fichier", "No file uploaded" : "Aucun fichier téléversé", "Unsupported image type" : "Ce type d'image n'est pas pris en charge", - "You are already using a custom theme" : "Vous utilisez déjà un thème personnalisé", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Vous utilisez déjà un thème personnalisé. Les paramètres de l'application Theming peuvent être remplacés par ceux-ci.", "Theming" : "Personnaliser l'apparence", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Cette extension permet de personnaliser facilement l'apparence de votre instance et des clients supportés. La personnalisation de l'apparence sera visible par tous les utilisateurs.", "Name" : "Nom", @@ -35,7 +35,11 @@ OC.L10N.register( "Upload new login background" : "Téléverser un nouvel arrière-plan de connexion", "Remove background image" : "Supprimer l'image en arrière-plan", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installez l'extension PHP Imagemagick avec le support pour les images SVG afin de générer automatiquement les favicons sur base du logo téléversé et de la couleur.", + "You are already using a custom theme" : "Vous utilisez déjà un thème personnalisé", "reset to default" : "Restaurer les valeurs par défaut", - "The uploaded file was only partially uploaded" : "Le fichier n'a été que partiellement téléversé" + "There is no error, the file uploaded with success" : "Aucune erreur, le fichier a été téléversé avec succès", + "The uploaded file was only partially uploaded" : "Le fichier n'a été que partiellement téléversé", + "Failed to write file to disk." : "Erreur d'écriture du fichier sur le disque.", + "A PHP extension stopped the file upload." : "Une extension PHP a arrêté le téléversement du fichier." }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/theming/l10n/fr.json b/apps/theming/l10n/fr.json index 77931097aaa..965a3aa47ee 100644 --- a/apps/theming/l10n/fr.json +++ b/apps/theming/l10n/fr.json @@ -8,17 +8,17 @@ "The given web address is too long" : "L'adresse web donnée est trop longue", "The given slogan is too long" : "Le slogan donné est trop long", "The given color is invalid" : "La couleur donnée est invalide", - "There is no error, the file uploaded with success" : "Aucune erreur, le fichier a été téléversé avec succès", + "The file was uploaded" : "Le fichier a été téléversé", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Le fichier téléversé dépasse la valeur upload_max_filesize située dans le fichier php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Le fichier téléversé dépasse la valeur MAX_FILE_SIZE spécifiée dans le formulaire HTML", "The file was only partially uploaded" : "Le fichier n'a été que partiellement envoyé", "No file was uploaded" : "Aucun fichier téléversé", "Missing a temporary folder" : "Absence de dossier temporaire", - "Failed to write file to disk." : "Erreur d'écriture du fichier sur le disque.", - "A PHP extension stopped the file upload." : "Une extension PHP a arrêté le téléversement du fichier.", + "Could not write file to disk" : "Impossible d'écrire le fichier sur le disque", + "A PHP extension stopped the file upload" : "Une extension PHP a arrêté le téléversement du fichier", "No file uploaded" : "Aucun fichier téléversé", "Unsupported image type" : "Ce type d'image n'est pas pris en charge", - "You are already using a custom theme" : "Vous utilisez déjà un thème personnalisé", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Vous utilisez déjà un thème personnalisé. Les paramètres de l'application Theming peuvent être remplacés par ceux-ci.", "Theming" : "Personnaliser l'apparence", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Cette extension permet de personnaliser facilement l'apparence de votre instance et des clients supportés. La personnalisation de l'apparence sera visible par tous les utilisateurs.", "Name" : "Nom", @@ -33,7 +33,11 @@ "Upload new login background" : "Téléverser un nouvel arrière-plan de connexion", "Remove background image" : "Supprimer l'image en arrière-plan", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installez l'extension PHP Imagemagick avec le support pour les images SVG afin de générer automatiquement les favicons sur base du logo téléversé et de la couleur.", + "You are already using a custom theme" : "Vous utilisez déjà un thème personnalisé", "reset to default" : "Restaurer les valeurs par défaut", - "The uploaded file was only partially uploaded" : "Le fichier n'a été que partiellement téléversé" + "There is no error, the file uploaded with success" : "Aucune erreur, le fichier a été téléversé avec succès", + "The uploaded file was only partially uploaded" : "Le fichier n'a été que partiellement téléversé", + "Failed to write file to disk." : "Erreur d'écriture du fichier sur le disque.", + "A PHP extension stopped the file upload." : "Une extension PHP a arrêté le téléversement du fichier." },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/hu.js b/apps/theming/l10n/hu.js index aaeffcd7ad6..f3ade1c2d24 100644 --- a/apps/theming/l10n/hu.js +++ b/apps/theming/l10n/hu.js @@ -10,16 +10,12 @@ OC.L10N.register( "The given web address is too long" : "A bevitt webcím túl hosszú", "The given slogan is too long" : "A bevitt szlogen túl hosszú", "The given color is invalid" : "A bevitt szín érvénytelen", - "There is no error, the file uploaded with success" : "Nincs hiba, a feltöltés sikeres", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "A feltöltés mérete meghaladja a php.ini upload_max_filesize direktívájában meghatározottat.", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "A HTML-ben megadott MAX_FILE_SIZE méretét meghaladja a feltöltés mérete", "No file was uploaded" : "Nincs feltöltött fájl", "Missing a temporary folder" : "Átmeneti mappa hiányzik", - "Failed to write file to disk." : "Lemezre írás sikertelen.", - "A PHP extension stopped the file upload." : "Egy PHP kiterjesztés megakadályozta a feltöltést.", "No file uploaded" : "Nincs fájl feltöltve", "Unsupported image type" : "Nem támogatott képtípus", - "You are already using a custom theme" : "Már egyedi témát használ", "Theming" : "Témázás", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A témák lehetőve teszik, hogy könnyedén személyre szabja a kinézetét az oldalnak, és a támogatott klienseknek. Ez minden felhasználó számára látható lesz.", "Name" : "Név", @@ -34,7 +30,11 @@ OC.L10N.register( "Upload new login background" : "Új bejelentkező kép feltöltése", "Remove background image" : "Háttérkép eltávolítása", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Telepítsd az Imagemagick PHP kiterjesztést SVG kép támogatással a feltöltött logóból és színből való automatikus favikon generáláshoz.", + "You are already using a custom theme" : "Már egyedi témát használ", "reset to default" : "Visszaállítás alapértelmezettre", - "The uploaded file was only partially uploaded" : "Csak részben került feltöltésre a fájl" + "There is no error, the file uploaded with success" : "Nincs hiba, a feltöltés sikeres", + "The uploaded file was only partially uploaded" : "Csak részben került feltöltésre a fájl", + "Failed to write file to disk." : "Lemezre írás sikertelen.", + "A PHP extension stopped the file upload." : "Egy PHP kiterjesztés megakadályozta a feltöltést." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/hu.json b/apps/theming/l10n/hu.json index bff64766b9e..cb1195c1783 100644 --- a/apps/theming/l10n/hu.json +++ b/apps/theming/l10n/hu.json @@ -8,16 +8,12 @@ "The given web address is too long" : "A bevitt webcím túl hosszú", "The given slogan is too long" : "A bevitt szlogen túl hosszú", "The given color is invalid" : "A bevitt szín érvénytelen", - "There is no error, the file uploaded with success" : "Nincs hiba, a feltöltés sikeres", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "A feltöltés mérete meghaladja a php.ini upload_max_filesize direktívájában meghatározottat.", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "A HTML-ben megadott MAX_FILE_SIZE méretét meghaladja a feltöltés mérete", "No file was uploaded" : "Nincs feltöltött fájl", "Missing a temporary folder" : "Átmeneti mappa hiányzik", - "Failed to write file to disk." : "Lemezre írás sikertelen.", - "A PHP extension stopped the file upload." : "Egy PHP kiterjesztés megakadályozta a feltöltést.", "No file uploaded" : "Nincs fájl feltöltve", "Unsupported image type" : "Nem támogatott képtípus", - "You are already using a custom theme" : "Már egyedi témát használ", "Theming" : "Témázás", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A témák lehetőve teszik, hogy könnyedén személyre szabja a kinézetét az oldalnak, és a támogatott klienseknek. Ez minden felhasználó számára látható lesz.", "Name" : "Név", @@ -32,7 +28,11 @@ "Upload new login background" : "Új bejelentkező kép feltöltése", "Remove background image" : "Háttérkép eltávolítása", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Telepítsd az Imagemagick PHP kiterjesztést SVG kép támogatással a feltöltött logóból és színből való automatikus favikon generáláshoz.", + "You are already using a custom theme" : "Már egyedi témát használ", "reset to default" : "Visszaállítás alapértelmezettre", - "The uploaded file was only partially uploaded" : "Csak részben került feltöltésre a fájl" + "There is no error, the file uploaded with success" : "Nincs hiba, a feltöltés sikeres", + "The uploaded file was only partially uploaded" : "Csak részben került feltöltésre a fájl", + "Failed to write file to disk." : "Lemezre írás sikertelen.", + "A PHP extension stopped the file upload." : "Egy PHP kiterjesztés megakadályozta a feltöltést." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/is.js b/apps/theming/l10n/is.js index d761c7f5274..57948f63684 100644 --- a/apps/theming/l10n/is.js +++ b/apps/theming/l10n/is.js @@ -10,16 +10,12 @@ 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", "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", "Theming" : "Þemu", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Þemu gera þér kleift að breyta útliti og hegðun þíns eintaks af viðmótinu auk studdra biðlaraforrita. Það verður sýnilegt öllum notendum.", "Name" : "Heiti", @@ -34,7 +30,11 @@ OC.L10N.register( "Upload new login background" : "Senda inn nýjan bakgrunn innskráningar", "Remove background image" : "Fjarlægja bakgrunnsmynd", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Settu inn Imagemagick PHP forritsviðaukann með stuðningi við SVG-myndir til að útbúa sjálfvirkt veftáknmyndir byggðar á innsendu táknmerki og lit.", + "You are already using a custom theme" : "Þú ert nú þegar að nota sérsniðið þema", "reset to default" : "endurstilla á sjálfgefið", - "The uploaded file was only partially uploaded" : "Einungis hluti af innsendri skrá skilaði sér" + "There is no error, the file uploaded with success" : "Engin villa, innsending heppnaðist", + "The uploaded file was only partially uploaded" : "Einungis hluti af innsendri skrá skilaði sér", + "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." }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/theming/l10n/is.json b/apps/theming/l10n/is.json index bff03970f24..29f5eed372a 100644 --- a/apps/theming/l10n/is.json +++ b/apps/theming/l10n/is.json @@ -8,16 +8,12 @@ "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", "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", "Theming" : "Þemu", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Þemu gera þér kleift að breyta útliti og hegðun þíns eintaks af viðmótinu auk studdra biðlaraforrita. Það verður sýnilegt öllum notendum.", "Name" : "Heiti", @@ -32,7 +28,11 @@ "Upload new login background" : "Senda inn nýjan bakgrunn innskráningar", "Remove background image" : "Fjarlægja bakgrunnsmynd", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Settu inn Imagemagick PHP forritsviðaukann með stuðningi við SVG-myndir til að útbúa sjálfvirkt veftáknmyndir byggðar á innsendu táknmerki og lit.", + "You are already using a custom theme" : "Þú ert nú þegar að nota sérsniðið þema", "reset to default" : "endurstilla á sjálfgefið", - "The uploaded file was only partially uploaded" : "Einungis hluti af innsendri skrá skilaði sér" + "There is no error, the file uploaded with success" : "Engin villa, innsending heppnaðist", + "The uploaded file was only partially uploaded" : "Einungis hluti af innsendri skrá skilaði sér", + "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." },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/apps/theming/l10n/it.js b/apps/theming/l10n/it.js index bf518e4bf2d..b4b593ac690 100644 --- a/apps/theming/l10n/it.js +++ b/apps/theming/l10n/it.js @@ -10,17 +10,17 @@ OC.L10N.register( "The given web address is too long" : "Questo indirizzo web è troppo lungo", "The given slogan is too long" : "Questo slogan è troppo lungo", "The given color is invalid" : "Questo colore non è valido", - "There is no error, the file uploaded with success" : "Non ci sono errori, il file è stato caricato correttamente", + "The file was uploaded" : "Il file è stato caricato", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Il file caricato supera la direttiva upload_max_filesize in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Il file caricato supera la direttiva MAX_FILE_SIZE specificata nel modulo HTML", "The file was only partially uploaded" : "Il file è stato caricato solo parzialmente", "No file was uploaded" : "Non è stato caricato alcun file", "Missing a temporary folder" : "Manca una cartella temporanea", - "Failed to write file to disk." : "Scrittura su disco non riuscita", - "A PHP extension stopped the file upload." : "Un'estensione PHP ha fermato il caricamento del file.", + "Could not write file to disk" : "Impossibile scrivere il file su disco", + "A PHP extension stopped the file upload" : "Un'estensione PHP ha fermato il caricamento del file", "No file uploaded" : "Nessun file caricato", "Unsupported image type" : "Tipo di immagine non supportato", - "You are already using a custom theme" : "Stai già usando un tema personalizzato", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Stai già utilizzando un tema personalizzato. Le impostazioni dell'applicazione dei temi potrebbero essere sovrascritte.", "Theming" : "Tema", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "La gestione dei temi rende semplice la personalizzazione dell'aspetto della tua istanza e dei client supportati. Ciò sarà visibile a tutti gli utenti.", "Name" : "Nome", @@ -35,7 +35,11 @@ OC.L10N.register( "Upload new login background" : "Carica nuovo sfondo di accesso", "Remove background image" : "Rimuovi immagine di sfondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa l'estensione Imagemacick di PHP con supporto per le immagini SVG per generare automaticamente favicon basate sul logo caricato e sul colore.", + "You are already using a custom theme" : "Stai già usando un tema personalizzato", "reset to default" : "ripristina valori predefiniti", - "The uploaded file was only partially uploaded" : "Il file è stato caricato solo parzialmente" + "There is no error, the file uploaded with success" : "Non ci sono errori, il file è stato caricato correttamente", + "The uploaded file was only partially uploaded" : "Il file è stato caricato solo parzialmente", + "Failed to write file to disk." : "Scrittura su disco non riuscita", + "A PHP extension stopped the file upload." : "Un'estensione PHP ha fermato il caricamento del file." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/it.json b/apps/theming/l10n/it.json index a3e99c01b34..e430f2791f5 100644 --- a/apps/theming/l10n/it.json +++ b/apps/theming/l10n/it.json @@ -8,17 +8,17 @@ "The given web address is too long" : "Questo indirizzo web è troppo lungo", "The given slogan is too long" : "Questo slogan è troppo lungo", "The given color is invalid" : "Questo colore non è valido", - "There is no error, the file uploaded with success" : "Non ci sono errori, il file è stato caricato correttamente", + "The file was uploaded" : "Il file è stato caricato", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Il file caricato supera la direttiva upload_max_filesize in php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Il file caricato supera la direttiva MAX_FILE_SIZE specificata nel modulo HTML", "The file was only partially uploaded" : "Il file è stato caricato solo parzialmente", "No file was uploaded" : "Non è stato caricato alcun file", "Missing a temporary folder" : "Manca una cartella temporanea", - "Failed to write file to disk." : "Scrittura su disco non riuscita", - "A PHP extension stopped the file upload." : "Un'estensione PHP ha fermato il caricamento del file.", + "Could not write file to disk" : "Impossibile scrivere il file su disco", + "A PHP extension stopped the file upload" : "Un'estensione PHP ha fermato il caricamento del file", "No file uploaded" : "Nessun file caricato", "Unsupported image type" : "Tipo di immagine non supportato", - "You are already using a custom theme" : "Stai già usando un tema personalizzato", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Stai già utilizzando un tema personalizzato. Le impostazioni dell'applicazione dei temi potrebbero essere sovrascritte.", "Theming" : "Tema", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "La gestione dei temi rende semplice la personalizzazione dell'aspetto della tua istanza e dei client supportati. Ciò sarà visibile a tutti gli utenti.", "Name" : "Nome", @@ -33,7 +33,11 @@ "Upload new login background" : "Carica nuovo sfondo di accesso", "Remove background image" : "Rimuovi immagine di sfondo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa l'estensione Imagemacick di PHP con supporto per le immagini SVG per generare automaticamente favicon basate sul logo caricato e sul colore.", + "You are already using a custom theme" : "Stai già usando un tema personalizzato", "reset to default" : "ripristina valori predefiniti", - "The uploaded file was only partially uploaded" : "Il file è stato caricato solo parzialmente" + "There is no error, the file uploaded with success" : "Non ci sono errori, il file è stato caricato correttamente", + "The uploaded file was only partially uploaded" : "Il file è stato caricato solo parzialmente", + "Failed to write file to disk." : "Scrittura su disco non riuscita", + "A PHP extension stopped the file upload." : "Un'estensione PHP ha fermato il caricamento del file." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/ja.js b/apps/theming/l10n/ja.js index 0e9fa7120fe..df03dc04d3f 100644 --- a/apps/theming/l10n/ja.js +++ b/apps/theming/l10n/ja.js @@ -9,15 +9,11 @@ OC.L10N.register( "The given web address is too long" : "Webアドレスが長すぎます", "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" : "アップロードファイルサイズが、php.ini の upload_max_filesize を超過しています", "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" : "あなたは既にカスタムテーマを利用しています", "Theming" : "テーマ", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "テーマではあなたのインスタンスとサポートされたクライアントのルック&フィールを簡単に変更できます。この変更は全てのユーザが対象となります。", "Name" : "名前", @@ -31,6 +27,10 @@ OC.L10N.register( "Login image" : "ログイン画像", "Upload new login background" : "新しいログイン背景画像をアップロード", "Remove background image" : "背景画像を削除", - "reset to default" : "デフォルトに戻す" + "You are already using a custom theme" : "あなたは既にカスタムテーマを利用しています", + "reset to default" : "デフォルトに戻す", + "There is no error, the file uploaded with success" : "ファイルはエラーなくアップロードされました", + "Failed to write file to disk." : "ファイルをディスクに書き込めませんでした", + "A PHP extension stopped the file upload." : "PHP拡張でファイルのアップロードが停止されています" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/ja.json b/apps/theming/l10n/ja.json index 9c371ff697a..772f9e259fb 100644 --- a/apps/theming/l10n/ja.json +++ b/apps/theming/l10n/ja.json @@ -7,15 +7,11 @@ "The given web address is too long" : "Webアドレスが長すぎます", "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" : "アップロードファイルサイズが、php.ini の upload_max_filesize を超過しています", "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" : "あなたは既にカスタムテーマを利用しています", "Theming" : "テーマ", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "テーマではあなたのインスタンスとサポートされたクライアントのルック&フィールを簡単に変更できます。この変更は全てのユーザが対象となります。", "Name" : "名前", @@ -29,6 +25,10 @@ "Login image" : "ログイン画像", "Upload new login background" : "新しいログイン背景画像をアップロード", "Remove background image" : "背景画像を削除", - "reset to default" : "デフォルトに戻す" + "You are already using a custom theme" : "あなたは既にカスタムテーマを利用しています", + "reset to default" : "デフォルトに戻す", + "There is no error, the file uploaded with success" : "ファイルはエラーなくアップロードされました", + "Failed to write file to disk." : "ファイルをディスクに書き込めませんでした", + "A PHP extension stopped the file upload." : "PHP拡張でファイルのアップロードが停止されています" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/l10n/ka_GE.js b/apps/theming/l10n/ka_GE.js index 72369ce6617..9ced9526a92 100644 --- a/apps/theming/l10n/ka_GE.js +++ b/apps/theming/l10n/ka_GE.js @@ -10,16 +10,12 @@ 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" : "ატვირთული ფაილი აჭარბებს php.ini-ში დაყენებულ upload_max_filesize დირექტივას", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "ატვირთული ფაილი აჭარბებს HTML ფორამაში მითითებულ MAX_FILE_SIZE დირექტივას", "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" : "თქვენ პერზონალიზირებულ ვიზუალურ თემას უკვე იყენებთ", "Theming" : "ვიზუალური თემები", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "ვიზუალური თემები საშუალებას გაძლევთ თქვენს ინსტანციას და მხარდაჭერილ კლიენტებს მარტივად გაუწიოთ გამოსახულებას პერსონალიზაცია. ეს გამოჩნდება ყველა მომხმარებელთან.", "Name" : "სახელი", @@ -34,7 +30,11 @@ OC.L10N.register( "Upload new login background" : "ლოგინის ახალი ფონის ატვირთვა", "Remove background image" : "ფონური სურათის მოშორება", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "SVG სურთების მხარდაჭერის მქონე Imagemagick PHP გაფართოების დაყენება ფავიკონებს ატვირთული ლოგოსა და ფერის მიხევით დააგენერირებს ავტომატურად.", + "You are already using a custom theme" : "თქვენ პერზონალიზირებულ ვიზუალურ თემას უკვე იყენებთ", "reset to default" : "დაბრუნება საწყისზე", - "The uploaded file was only partially uploaded" : "ფაილი აიტვირთა მხოლოდ ნაწილობრივ" + "There is no error, the file uploaded with success" : "ეს არაა შეცდომა, ფაილი წარმატებით აიტვირთა", + "The uploaded file was only partially uploaded" : "ფაილი აიტვირთა მხოლოდ ნაწილობრივ", + "Failed to write file to disk." : "ფაილი დისკზე ვერ ჩაიწერა.", + "A PHP extension stopped the file upload." : "PHP გაფართოებამ შეაჩერა ფაილის ატვირთვა." }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/ka_GE.json b/apps/theming/l10n/ka_GE.json index d464fb3d34f..4f9c81895ea 100644 --- a/apps/theming/l10n/ka_GE.json +++ b/apps/theming/l10n/ka_GE.json @@ -8,16 +8,12 @@ "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" : "ატვირთული ფაილი აჭარბებს php.ini-ში დაყენებულ upload_max_filesize დირექტივას", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "ატვირთული ფაილი აჭარბებს HTML ფორამაში მითითებულ MAX_FILE_SIZE დირექტივას", "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" : "თქვენ პერზონალიზირებულ ვიზუალურ თემას უკვე იყენებთ", "Theming" : "ვიზუალური თემები", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "ვიზუალური თემები საშუალებას გაძლევთ თქვენს ინსტანციას და მხარდაჭერილ კლიენტებს მარტივად გაუწიოთ გამოსახულებას პერსონალიზაცია. ეს გამოჩნდება ყველა მომხმარებელთან.", "Name" : "სახელი", @@ -32,7 +28,11 @@ "Upload new login background" : "ლოგინის ახალი ფონის ატვირთვა", "Remove background image" : "ფონური სურათის მოშორება", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "SVG სურთების მხარდაჭერის მქონე Imagemagick PHP გაფართოების დაყენება ფავიკონებს ატვირთული ლოგოსა და ფერის მიხევით დააგენერირებს ავტომატურად.", + "You are already using a custom theme" : "თქვენ პერზონალიზირებულ ვიზუალურ თემას უკვე იყენებთ", "reset to default" : "დაბრუნება საწყისზე", - "The uploaded file was only partially uploaded" : "ფაილი აიტვირთა მხოლოდ ნაწილობრივ" + "There is no error, the file uploaded with success" : "ეს არაა შეცდომა, ფაილი წარმატებით აიტვირთა", + "The uploaded file was only partially uploaded" : "ფაილი აიტვირთა მხოლოდ ნაწილობრივ", + "Failed to write file to disk." : "ფაილი დისკზე ვერ ჩაიწერა.", + "A PHP extension stopped the file upload." : "PHP გაფართოებამ შეაჩერა ფაილის ატვირთვა." },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/l10n/ko.js b/apps/theming/l10n/ko.js index fa872c7c7aa..872d1973464 100644 --- a/apps/theming/l10n/ko.js +++ b/apps/theming/l10n/ko.js @@ -9,16 +9,12 @@ 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" : "업로드한 파일의 크기가 php.ini의 upload_max_filesize를 초과함", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "업로드한 파일의 크기가 HTML 폼에 지정한 MAX_FILE_SIZE를 초과함", "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" : "이미 사용자 정의 테마 사용 중", "Theming" : "테마", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "테마를 사용하여 내 인스턴스와 지원하는 클라이언트의 모습을 변경할 수 있습니다. 테마는 모든 사용자에게 적용됩니다.", "Name" : "이름", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "새 로그인 배경 업로드", "Remove background image" : "배경 그림 삭제", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "업로드한 로고와 색으로부터 자동으로 파비콘을 생성하려면 PHP Imagemagick 확장 기능 및 SVG 형식 그림 지원을 설치하십시오.", + "You are already using a custom theme" : "이미 사용자 정의 테마 사용 중", "reset to default" : "기본값으로 초기화", - "The uploaded file was only partially uploaded" : "파일이 일부분만 업로드됨" + "There is no error, the file uploaded with success" : "오류 없음, 파일 업로드 성공", + "The uploaded file was only partially uploaded" : "파일이 일부분만 업로드됨", + "Failed to write file to disk." : "디스크에 파일을 기록할 수 없습니다.", + "A PHP extension stopped the file upload." : "PHP 확장 기능에서 파일 업로드를 차단했습니다." }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/ko.json b/apps/theming/l10n/ko.json index 363f9c9af73..5f3e5deab3d 100644 --- a/apps/theming/l10n/ko.json +++ b/apps/theming/l10n/ko.json @@ -7,16 +7,12 @@ "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" : "업로드한 파일의 크기가 php.ini의 upload_max_filesize를 초과함", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "업로드한 파일의 크기가 HTML 폼에 지정한 MAX_FILE_SIZE를 초과함", "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" : "이미 사용자 정의 테마 사용 중", "Theming" : "테마", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "테마를 사용하여 내 인스턴스와 지원하는 클라이언트의 모습을 변경할 수 있습니다. 테마는 모든 사용자에게 적용됩니다.", "Name" : "이름", @@ -31,7 +27,11 @@ "Upload new login background" : "새 로그인 배경 업로드", "Remove background image" : "배경 그림 삭제", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "업로드한 로고와 색으로부터 자동으로 파비콘을 생성하려면 PHP Imagemagick 확장 기능 및 SVG 형식 그림 지원을 설치하십시오.", + "You are already using a custom theme" : "이미 사용자 정의 테마 사용 중", "reset to default" : "기본값으로 초기화", - "The uploaded file was only partially uploaded" : "파일이 일부분만 업로드됨" + "There is no error, the file uploaded with success" : "오류 없음, 파일 업로드 성공", + "The uploaded file was only partially uploaded" : "파일이 일부분만 업로드됨", + "Failed to write file to disk." : "디스크에 파일을 기록할 수 없습니다.", + "A PHP extension stopped the file upload." : "PHP 확장 기능에서 파일 업로드를 차단했습니다." },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/l10n/lt_LT.js b/apps/theming/l10n/lt_LT.js index 7208e111c4f..4d5bacf2817 100644 --- a/apps/theming/l10n/lt_LT.js +++ b/apps/theming/l10n/lt_LT.js @@ -5,19 +5,28 @@ OC.L10N.register( "Saved" : "Įrašyta", "Admin" : "Administravimas", "a safe home for all your data" : "saugūs namai visiems jūsų duomenims", + "Name cannot be empty" : "Pavadinimas negali būti tuščias", "The given name is too long" : "Nurodytas pavadinimas yra per ilgas", "The given web address is too long" : "Nurodytas adresas yra per ilgas", "The given slogan is too long" : "Nurodytas šūkis yra per ilgas", "The given color is invalid" : "Nurodyta spalva yra neteisinga", + "The file was uploaded" : "Failas buvo įkeltas", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Įkeliamas failas viršija upload_max_filesize direktyvą, esančią faile php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Įkeliamas failas viršija MAX_FILE_SIZE direktyvą, kuri buvo nurodyta HTML formoje", + "The file was only partially uploaded" : "Failas buvo tik dalinai įkeltas", + "No file was uploaded" : "Nebuvo įkeltas joks failas", + "Missing a temporary folder" : "Trūksta laikinojo aplanko", + "Could not write file to disk" : "Nepavyko įrašyti failą į diską", + "A PHP extension stopped the file upload" : "PHP plėtinys sustabdė failo įkėlimą", "No file uploaded" : "Neįkeltas joks failas", "Unsupported image type" : "Nepalaikomas paveikslo tipas", - "You are already using a custom theme" : "Jūs jau naudojate tinkintą temą", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Jūs jau naudojate tinkintą temą. Temų programėlės nustatymai gali būti perrašyti tos temos.", "Theming" : "Tema", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temos leidžia lengvai tinkinti jūsų egzemplioriaus ir palaikomų klientų išvaizdą ir turinį. Tai bus matoma visiems naudotojams. ", "Name" : "Pavadinimas", "Reset to default" : "Atstatyti į numatytąją", "Web address" : "Saityno adresas", - "Web address https://…" : "Saityno adresas https://…", + "Web address https://…" : "Saityno adresas https://…", "Slogan" : "Šūkis", "Color" : "Spalva", "Logo" : "Logotipas", @@ -25,6 +34,12 @@ OC.L10N.register( "Login image" : "Prisijungimo paveikslas", "Upload new login background" : "Įkelti naują prisijungimo foną", "Remove background image" : "Šalinti foninį paveikslą", - "reset to default" : "atstatyta į numatytąją" + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Norėdami automatiškai generuoti svetainės piktogramą remiantis įkeltu logotipu ir spalva, įdiekite Imagemagick PHP plėtinį su SVG paveikslų palaikymu.", + "You are already using a custom theme" : "Jūs jau naudojate tinkintą temą", + "reset to default" : "atstatyta į numatytąją", + "There is no error, the file uploaded with success" : "Klaidų nėra, failas buvo sėkmingai įkeltas", + "The uploaded file was only partially uploaded" : "Įkeliamas failas buvo tik dalinai įkeltas", + "Failed to write file to disk." : "Nepavyko įrašyti failą į diską.", + "A PHP extension stopped the file upload." : "PHP plėtinys sustabdė failo įkėlimą." }, "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/theming/l10n/lt_LT.json b/apps/theming/l10n/lt_LT.json index 4d858cfe66d..2dd75243c9e 100644 --- a/apps/theming/l10n/lt_LT.json +++ b/apps/theming/l10n/lt_LT.json @@ -3,19 +3,28 @@ "Saved" : "Įrašyta", "Admin" : "Administravimas", "a safe home for all your data" : "saugūs namai visiems jūsų duomenims", + "Name cannot be empty" : "Pavadinimas negali būti tuščias", "The given name is too long" : "Nurodytas pavadinimas yra per ilgas", "The given web address is too long" : "Nurodytas adresas yra per ilgas", "The given slogan is too long" : "Nurodytas šūkis yra per ilgas", "The given color is invalid" : "Nurodyta spalva yra neteisinga", + "The file was uploaded" : "Failas buvo įkeltas", + "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Įkeliamas failas viršija upload_max_filesize direktyvą, esančią faile php.ini", + "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Įkeliamas failas viršija MAX_FILE_SIZE direktyvą, kuri buvo nurodyta HTML formoje", + "The file was only partially uploaded" : "Failas buvo tik dalinai įkeltas", + "No file was uploaded" : "Nebuvo įkeltas joks failas", + "Missing a temporary folder" : "Trūksta laikinojo aplanko", + "Could not write file to disk" : "Nepavyko įrašyti failą į diską", + "A PHP extension stopped the file upload" : "PHP plėtinys sustabdė failo įkėlimą", "No file uploaded" : "Neįkeltas joks failas", "Unsupported image type" : "Nepalaikomas paveikslo tipas", - "You are already using a custom theme" : "Jūs jau naudojate tinkintą temą", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Jūs jau naudojate tinkintą temą. Temų programėlės nustatymai gali būti perrašyti tos temos.", "Theming" : "Tema", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temos leidžia lengvai tinkinti jūsų egzemplioriaus ir palaikomų klientų išvaizdą ir turinį. Tai bus matoma visiems naudotojams. ", "Name" : "Pavadinimas", "Reset to default" : "Atstatyti į numatytąją", "Web address" : "Saityno adresas", - "Web address https://…" : "Saityno adresas https://…", + "Web address https://…" : "Saityno adresas https://…", "Slogan" : "Šūkis", "Color" : "Spalva", "Logo" : "Logotipas", @@ -23,6 +32,12 @@ "Login image" : "Prisijungimo paveikslas", "Upload new login background" : "Įkelti naują prisijungimo foną", "Remove background image" : "Šalinti foninį paveikslą", - "reset to default" : "atstatyta į numatytąją" + "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Norėdami automatiškai generuoti svetainės piktogramą remiantis įkeltu logotipu ir spalva, įdiekite Imagemagick PHP plėtinį su SVG paveikslų palaikymu.", + "You are already using a custom theme" : "Jūs jau naudojate tinkintą temą", + "reset to default" : "atstatyta į numatytąją", + "There is no error, the file uploaded with success" : "Klaidų nėra, failas buvo sėkmingai įkeltas", + "The uploaded file was only partially uploaded" : "Įkeliamas failas buvo tik dalinai įkeltas", + "Failed to write file to disk." : "Nepavyko įrašyti failą į diską.", + "A PHP extension stopped the file upload." : "PHP plėtinys sustabdė failo įkėlimą." },"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/theming/l10n/lv.js b/apps/theming/l10n/lv.js index b4d012e5c63..6aaa3864368 100644 --- a/apps/theming/l10n/lv.js +++ b/apps/theming/l10n/lv.js @@ -11,7 +11,6 @@ OC.L10N.register( "The given color is invalid" : "Norādītā krāsa ir nederīga", "No file uploaded" : "Nav augšupielādēta datne", "Unsupported image type" : "Neatbalstīts attēla tips", - "You are already using a custom theme" : "Tu jau izmanto pielāgotu tēmu", "Theming" : "Dizains", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Tēmošana padara iespējamu viegli pielāgot savas instances un atbalstošo klientaplikāciju izskatu un sajūtu. Tas būs redzams visiem lietotājiem.", "Name" : "Nosaukums", @@ -25,6 +24,7 @@ OC.L10N.register( "Login image" : "Pieslēgšanās fona attēls", "Upload new login background" : "Augšupielādēt jaunu pieslēgšanās fona attēlu", "Remove background image" : "Noņemt fona attēlu", + "You are already using a custom theme" : "Tu jau izmanto pielāgotu tēmu", "reset to default" : "Atiestatīt" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/apps/theming/l10n/lv.json b/apps/theming/l10n/lv.json index 3a2e29f8d88..bf67f89547c 100644 --- a/apps/theming/l10n/lv.json +++ b/apps/theming/l10n/lv.json @@ -9,7 +9,6 @@ "The given color is invalid" : "Norādītā krāsa ir nederīga", "No file uploaded" : "Nav augšupielādēta datne", "Unsupported image type" : "Neatbalstīts attēla tips", - "You are already using a custom theme" : "Tu jau izmanto pielāgotu tēmu", "Theming" : "Dizains", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Tēmošana padara iespējamu viegli pielāgot savas instances un atbalstošo klientaplikāciju izskatu un sajūtu. Tas būs redzams visiem lietotājiem.", "Name" : "Nosaukums", @@ -23,6 +22,7 @@ "Login image" : "Pieslēgšanās fona attēls", "Upload new login background" : "Augšupielādēt jaunu pieslēgšanās fona attēlu", "Remove background image" : "Noņemt fona attēlu", + "You are already using a custom theme" : "Tu jau izmanto pielāgotu tēmu", "reset to default" : "Atiestatīt" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" }
\ No newline at end of file diff --git a/apps/theming/l10n/mn.js b/apps/theming/l10n/mn.js index c250147dec1..942ea752eab 100644 --- a/apps/theming/l10n/mn.js +++ b/apps/theming/l10n/mn.js @@ -11,7 +11,6 @@ OC.L10N.register( "The given color is invalid" : "Өнгө буруу байна", "No file uploaded" : "Файл илгээгдсэнгүй", "Unsupported image type" : "Дэмжигдэхгүй зургийн төрөл байна", - "You are already using a custom theme" : "Та тусгай загварчлал ашиглаж байна", "Theming" : "Загварчлал", "Name" : "Нэр", "Reset to default" : "Анхны байдлаар сэргээх", @@ -24,6 +23,7 @@ OC.L10N.register( "Login image" : "Нэвтрэх зураг", "Upload new login background" : "Нэвтрэх ханын зураг байршуулах", "Remove background image" : "Ханын зургийг хасах", + "You are already using a custom theme" : "Та тусгай загварчлал ашиглаж байна", "reset to default" : "анхныхаар сэргээх" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/mn.json b/apps/theming/l10n/mn.json index e2a8438b43c..bce38de201b 100644 --- a/apps/theming/l10n/mn.json +++ b/apps/theming/l10n/mn.json @@ -9,7 +9,6 @@ "The given color is invalid" : "Өнгө буруу байна", "No file uploaded" : "Файл илгээгдсэнгүй", "Unsupported image type" : "Дэмжигдэхгүй зургийн төрөл байна", - "You are already using a custom theme" : "Та тусгай загварчлал ашиглаж байна", "Theming" : "Загварчлал", "Name" : "Нэр", "Reset to default" : "Анхны байдлаар сэргээх", @@ -22,6 +21,7 @@ "Login image" : "Нэвтрэх зураг", "Upload new login background" : "Нэвтрэх ханын зураг байршуулах", "Remove background image" : "Ханын зургийг хасах", + "You are already using a custom theme" : "Та тусгай загварчлал ашиглаж байна", "reset to default" : "анхныхаар сэргээх" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/nb.js b/apps/theming/l10n/nb.js index 5173cd20cbf..cb2fa08f604 100644 --- a/apps/theming/l10n/nb.js +++ b/apps/theming/l10n/nb.js @@ -10,16 +10,13 @@ OC.L10N.register( "The given web address is too long" : "Nettadressen er for lang", "The given slogan is too long" : "Slagordet er for langt", "The given color is invalid" : "Fargen er ugyldig", - "There is no error, the file uploaded with success" : "Det er ingen feil, filen ble lastet opp", + "The file was uploaded" : "Filen ble lastet opp", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Filen er større enn grensen satt i upload_max_filesize i php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Filen du prøvde å laste opp er større enn grensen satt i MAX_FILE_SIZE i HTML-skjemaet", "No file was uploaded" : "Ingen filer ble lastet opp", "Missing a temporary folder" : "Mangler midlertidig mappe", - "Failed to write file to disk." : "Klarte ikke å skrive til disk.", - "A PHP extension stopped the file upload." : "En PHP-utvidelse stoppet filopplastingen.", "No file uploaded" : "Ingen fil lastet opp", "Unsupported image type" : "Filtypen støttes ikke", - "You are already using a custom theme" : "Du bruker allerede en egendefinert drakt", "Theming" : "Draktvalg", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Draktvalg gjør det enkelt å tilpasse utseende og følelsen av din installasjon og støttede klienter. Dette vil bli synlig for alle brukere.", "Name" : "Navn", @@ -34,7 +31,11 @@ OC.L10N.register( "Upload new login background" : "Last opp ny innloggingsbakgrunn", "Remove background image" : "Fjern bakgrunnsbilde", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer PHP-utvidelsen Imagemagick med støtte for SVG-bilder for å opprette favikoner automatisk basert på opplastet logo og farge.", + "You are already using a custom theme" : "Du bruker allerede en egendefinert drakt", "reset to default" : "tilbakestill til forvalg", - "The uploaded file was only partially uploaded" : "Filen ble bare delvis lastet opp" + "There is no error, the file uploaded with success" : "Det er ingen feil, filen ble lastet opp", + "The uploaded file was only partially uploaded" : "Filen ble bare delvis lastet opp", + "Failed to write file to disk." : "Klarte ikke å skrive til disk.", + "A PHP extension stopped the file upload." : "En PHP-utvidelse stoppet filopplastingen." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/nb.json b/apps/theming/l10n/nb.json index b1ec6e2f755..b23bbdcfe95 100644 --- a/apps/theming/l10n/nb.json +++ b/apps/theming/l10n/nb.json @@ -8,16 +8,13 @@ "The given web address is too long" : "Nettadressen er for lang", "The given slogan is too long" : "Slagordet er for langt", "The given color is invalid" : "Fargen er ugyldig", - "There is no error, the file uploaded with success" : "Det er ingen feil, filen ble lastet opp", + "The file was uploaded" : "Filen ble lastet opp", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Filen er større enn grensen satt i upload_max_filesize i php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Filen du prøvde å laste opp er større enn grensen satt i MAX_FILE_SIZE i HTML-skjemaet", "No file was uploaded" : "Ingen filer ble lastet opp", "Missing a temporary folder" : "Mangler midlertidig mappe", - "Failed to write file to disk." : "Klarte ikke å skrive til disk.", - "A PHP extension stopped the file upload." : "En PHP-utvidelse stoppet filopplastingen.", "No file uploaded" : "Ingen fil lastet opp", "Unsupported image type" : "Filtypen støttes ikke", - "You are already using a custom theme" : "Du bruker allerede en egendefinert drakt", "Theming" : "Draktvalg", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Draktvalg gjør det enkelt å tilpasse utseende og følelsen av din installasjon og støttede klienter. Dette vil bli synlig for alle brukere.", "Name" : "Navn", @@ -32,7 +29,11 @@ "Upload new login background" : "Last opp ny innloggingsbakgrunn", "Remove background image" : "Fjern bakgrunnsbilde", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer PHP-utvidelsen Imagemagick med støtte for SVG-bilder for å opprette favikoner automatisk basert på opplastet logo og farge.", + "You are already using a custom theme" : "Du bruker allerede en egendefinert drakt", "reset to default" : "tilbakestill til forvalg", - "The uploaded file was only partially uploaded" : "Filen ble bare delvis lastet opp" + "There is no error, the file uploaded with success" : "Det er ingen feil, filen ble lastet opp", + "The uploaded file was only partially uploaded" : "Filen ble bare delvis lastet opp", + "Failed to write file to disk." : "Klarte ikke å skrive til disk.", + "A PHP extension stopped the file upload." : "En PHP-utvidelse stoppet filopplastingen." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/nl.js b/apps/theming/l10n/nl.js index 77f4444e56a..0c21293c80f 100644 --- a/apps/theming/l10n/nl.js +++ b/apps/theming/l10n/nl.js @@ -10,17 +10,13 @@ OC.L10N.register( "The given web address is too long" : "Het opgegeven internetadres is te lang", "The given slogan is too long" : "De opgegeven slagzin is te lang", "The given color is invalid" : "De opgegeven kleur is ongeldig", - "There is no error, the file uploaded with success" : "Er trad geen fout op, het bestand is succesvol geüpload", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Het geüploade bestand overschrijdt de upload_max_filesize richtlijn in php.ini:", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Het bestand overschrijdt de MAX_FILE_SIZE richtlijn die is opgegeven in het HTML formulier", "The file was only partially uploaded" : "Het bestand is slechts gedeeltelijk geüpload", "No file was uploaded" : "Er is geen bestand geüpload", "Missing a temporary folder" : "Er ontbreekt een tijdelijke map", - "Failed to write file to disk." : "Schrijven van het bestand naar schijf mislukte.", - "A PHP extension stopped the file upload." : "Een PHP extensie heeft de upload gestopt.", "No file uploaded" : "Geen bestand geüpload", "Unsupported image type" : "Afbeeldingstype wordt niet ondersteund", - "You are already using a custom theme" : "Je gebruikt al een maatwerkthema", "Theming" : "Uiterlijk", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Thematiseren maakt het mogelijk om uiterlijk en gevoel van je systeem en ondersteunde clients aan te passen. Dit wordt zichtbaar voor alle gebruikers.", "Name" : "Naam", @@ -35,7 +31,11 @@ OC.L10N.register( "Upload new login background" : "Uploaden nieuwe inlog achtergrond", "Remove background image" : "Achtergrond beeld verwijderen", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installeer de Imagemagick PHP extensie met ondersteuning voor SVG afbeeldingen om automatisch favicons te genereren op basis van het geuploade logo en kleur.", + "You are already using a custom theme" : "Je gebruikt al een maatwerkthema", "reset to default" : "herstellen naar standaard", - "The uploaded file was only partially uploaded" : "Het bestand is slechts gedeeltelijk geüpload" + "There is no error, the file uploaded with success" : "Er trad geen fout op, het bestand is succesvol geüpload", + "The uploaded file was only partially uploaded" : "Het bestand is slechts gedeeltelijk geüpload", + "Failed to write file to disk." : "Schrijven van het bestand naar schijf mislukte.", + "A PHP extension stopped the file upload." : "Een PHP extensie heeft de upload gestopt." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/nl.json b/apps/theming/l10n/nl.json index 4c5cd64520c..5a75caf8446 100644 --- a/apps/theming/l10n/nl.json +++ b/apps/theming/l10n/nl.json @@ -8,17 +8,13 @@ "The given web address is too long" : "Het opgegeven internetadres is te lang", "The given slogan is too long" : "De opgegeven slagzin is te lang", "The given color is invalid" : "De opgegeven kleur is ongeldig", - "There is no error, the file uploaded with success" : "Er trad geen fout op, het bestand is succesvol geüpload", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Het geüploade bestand overschrijdt de upload_max_filesize richtlijn in php.ini:", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Het bestand overschrijdt de MAX_FILE_SIZE richtlijn die is opgegeven in het HTML formulier", "The file was only partially uploaded" : "Het bestand is slechts gedeeltelijk geüpload", "No file was uploaded" : "Er is geen bestand geüpload", "Missing a temporary folder" : "Er ontbreekt een tijdelijke map", - "Failed to write file to disk." : "Schrijven van het bestand naar schijf mislukte.", - "A PHP extension stopped the file upload." : "Een PHP extensie heeft de upload gestopt.", "No file uploaded" : "Geen bestand geüpload", "Unsupported image type" : "Afbeeldingstype wordt niet ondersteund", - "You are already using a custom theme" : "Je gebruikt al een maatwerkthema", "Theming" : "Uiterlijk", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Thematiseren maakt het mogelijk om uiterlijk en gevoel van je systeem en ondersteunde clients aan te passen. Dit wordt zichtbaar voor alle gebruikers.", "Name" : "Naam", @@ -33,7 +29,11 @@ "Upload new login background" : "Uploaden nieuwe inlog achtergrond", "Remove background image" : "Achtergrond beeld verwijderen", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installeer de Imagemagick PHP extensie met ondersteuning voor SVG afbeeldingen om automatisch favicons te genereren op basis van het geuploade logo en kleur.", + "You are already using a custom theme" : "Je gebruikt al een maatwerkthema", "reset to default" : "herstellen naar standaard", - "The uploaded file was only partially uploaded" : "Het bestand is slechts gedeeltelijk geüpload" + "There is no error, the file uploaded with success" : "Er trad geen fout op, het bestand is succesvol geüpload", + "The uploaded file was only partially uploaded" : "Het bestand is slechts gedeeltelijk geüpload", + "Failed to write file to disk." : "Schrijven van het bestand naar schijf mislukte.", + "A PHP extension stopped the file upload." : "Een PHP extensie heeft de upload gestopt." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/pl.js b/apps/theming/l10n/pl.js index 825d466a168..0b9413bd2c7 100644 --- a/apps/theming/l10n/pl.js +++ b/apps/theming/l10n/pl.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "Wpisany adres internetowy jest zbyt długi", "The given slogan is too long" : "Wpisany slogan jest zbyt długi", "The given color is invalid" : "Podany kolor jest nieprawidłowy", - "There is no error, the file uploaded with success" : "Brak błędów, plik wysłano poprawnie.", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Wgrany plik przekracza wartość upload_max_filesize zdefiniowaną w php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Wysłany plik przekracza wielkość dyrektywy MAX_FILE_SIZE określonej w formularzu HTML", "No file was uploaded" : "Nie wysłano żadnego pliku", "Missing a temporary folder" : "Brak folderu tymczasowego", - "Failed to write file to disk." : "Błąd zapisu na dysk.", - "A PHP extension stopped the file upload." : "Rozszerzenie PHP zatrzymało wysyłanie pliku.", "No file uploaded" : "Nie wysłano pliku", "Unsupported image type" : "Nieobsługiwany typ zdjęcia", - "You are already using a custom theme" : "Używasz już motywu niestandarowego", "Theming" : "Motyw", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motywy pozwalają na łatwą personalizację wyglądu Twojej instancji i wspieranych klientów. Efekty będą widoczne dla wszystkich użytkowników.", "Name" : "Nazwa", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Wyślij nowe tło ekranu logowania", "Remove background image" : "Usuń obraz tła", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Aby wygenerować favicon oparte o wysłane logo i kolor, zainstaluj rozszerzenie PHP Imagemagick z obsługą SVG.", + "You are already using a custom theme" : "Używasz już motywu niestandarowego", "reset to default" : "przywróć domyślne", - "The uploaded file was only partially uploaded" : "Załadowany plik został wysłany tylko częściowo." + "There is no error, the file uploaded with success" : "Brak błędów, plik wysłano poprawnie.", + "The uploaded file was only partially uploaded" : "Załadowany plik został wysłany tylko częściowo.", + "Failed to write file to disk." : "Błąd zapisu na dysk.", + "A PHP extension stopped the file upload." : "Rozszerzenie PHP zatrzymało wysyłanie pliku." }, "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/theming/l10n/pl.json b/apps/theming/l10n/pl.json index 6cc00445846..067681d03f6 100644 --- a/apps/theming/l10n/pl.json +++ b/apps/theming/l10n/pl.json @@ -7,16 +7,12 @@ "The given web address is too long" : "Wpisany adres internetowy jest zbyt długi", "The given slogan is too long" : "Wpisany slogan jest zbyt długi", "The given color is invalid" : "Podany kolor jest nieprawidłowy", - "There is no error, the file uploaded with success" : "Brak błędów, plik wysłano poprawnie.", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Wgrany plik przekracza wartość upload_max_filesize zdefiniowaną w php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Wysłany plik przekracza wielkość dyrektywy MAX_FILE_SIZE określonej w formularzu HTML", "No file was uploaded" : "Nie wysłano żadnego pliku", "Missing a temporary folder" : "Brak folderu tymczasowego", - "Failed to write file to disk." : "Błąd zapisu na dysk.", - "A PHP extension stopped the file upload." : "Rozszerzenie PHP zatrzymało wysyłanie pliku.", "No file uploaded" : "Nie wysłano pliku", "Unsupported image type" : "Nieobsługiwany typ zdjęcia", - "You are already using a custom theme" : "Używasz już motywu niestandarowego", "Theming" : "Motyw", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Motywy pozwalają na łatwą personalizację wyglądu Twojej instancji i wspieranych klientów. Efekty będą widoczne dla wszystkich użytkowników.", "Name" : "Nazwa", @@ -31,7 +27,11 @@ "Upload new login background" : "Wyślij nowe tło ekranu logowania", "Remove background image" : "Usuń obraz tła", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Aby wygenerować favicon oparte o wysłane logo i kolor, zainstaluj rozszerzenie PHP Imagemagick z obsługą SVG.", + "You are already using a custom theme" : "Używasz już motywu niestandarowego", "reset to default" : "przywróć domyślne", - "The uploaded file was only partially uploaded" : "Załadowany plik został wysłany tylko częściowo." + "There is no error, the file uploaded with success" : "Brak błędów, plik wysłano poprawnie.", + "The uploaded file was only partially uploaded" : "Załadowany plik został wysłany tylko częściowo.", + "Failed to write file to disk." : "Błąd zapisu na dysk.", + "A PHP extension stopped the file upload." : "Rozszerzenie PHP zatrzymało wysyłanie pliku." },"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/theming/l10n/pt_BR.js b/apps/theming/l10n/pt_BR.js index f51f0d31d3a..0cebf02c69b 100644 --- a/apps/theming/l10n/pt_BR.js +++ b/apps/theming/l10n/pt_BR.js @@ -10,17 +10,17 @@ OC.L10N.register( "The given web address is too long" : "O endereço web fornecido é muito longo", "The given slogan is too long" : "O slogan dado é muito longo", "The given color is invalid" : "A cor fornecida é inválida", - "There is no error, the file uploaded with success" : "Sem erros. Arquivo enviado com sucesso", + "The file was uploaded" : "O arquivo foi enviado", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O arquivo enviado excede a diretiva upload_max_filesize do php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O arquivo enviado excede a diretiva MAX_FILE_SIZE especificada no formulário HTML", "The file was only partially uploaded" : "O aquivo foi parcialmente enviado", "No file was uploaded" : "Nenhum arquivo foi enviado", "Missing a temporary folder" : "Falta uma pasta temporária", - "Failed to write file to disk." : "Falha ao escrever no disco.", - "A PHP extension stopped the file upload." : "Uma extensão PHP parou o envio do arquivo.", + "Could not write file to disk" : "Não foi possível escrever no disco", + "A PHP extension stopped the file upload" : "Uma extensão PHP parou o envio do arquivo", "No file uploaded" : "Nenhum arquivo enviado", "Unsupported image type" : "Tipo de imagem não suportado", - "You are already using a custom theme" : "Você já está usando um tema personalizado", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Você já está usando um tema personalizado. As configurações do aplicativo Theming podem ser sobrescritas por isso.", "Theming" : "Personalização", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Criar e alterar temas torna possível personalizar facilmente o Nextcloud e clientes suportados. Isso será visível para todos os usuários.", "Name" : "Nome", @@ -35,7 +35,11 @@ OC.L10N.register( "Upload new login background" : "Enviar nova imagem de fundo para o login", "Remove background image" : "Excluir a imagem de fundo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte a imagens SVG para gerar favicons automaticamente, com base no logotipo e na cor enviados.", + "You are already using a custom theme" : "Você já está usando um tema personalizado", "reset to default" : "restaurar ao padrão", - "The uploaded file was only partially uploaded" : "O arquivo foi enviado parcialmente" + "There is no error, the file uploaded with success" : "Sem erros. Arquivo enviado com sucesso", + "The uploaded file was only partially uploaded" : "O arquivo foi enviado parcialmente", + "Failed to write file to disk." : "Falha ao escrever no disco.", + "A PHP extension stopped the file upload." : "Uma extensão PHP parou o envio do arquivo." }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/theming/l10n/pt_BR.json b/apps/theming/l10n/pt_BR.json index ad840186271..7fd9150fd09 100644 --- a/apps/theming/l10n/pt_BR.json +++ b/apps/theming/l10n/pt_BR.json @@ -8,17 +8,17 @@ "The given web address is too long" : "O endereço web fornecido é muito longo", "The given slogan is too long" : "O slogan dado é muito longo", "The given color is invalid" : "A cor fornecida é inválida", - "There is no error, the file uploaded with success" : "Sem erros. Arquivo enviado com sucesso", + "The file was uploaded" : "O arquivo foi enviado", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O arquivo enviado excede a diretiva upload_max_filesize do php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O arquivo enviado excede a diretiva MAX_FILE_SIZE especificada no formulário HTML", "The file was only partially uploaded" : "O aquivo foi parcialmente enviado", "No file was uploaded" : "Nenhum arquivo foi enviado", "Missing a temporary folder" : "Falta uma pasta temporária", - "Failed to write file to disk." : "Falha ao escrever no disco.", - "A PHP extension stopped the file upload." : "Uma extensão PHP parou o envio do arquivo.", + "Could not write file to disk" : "Não foi possível escrever no disco", + "A PHP extension stopped the file upload" : "Uma extensão PHP parou o envio do arquivo", "No file uploaded" : "Nenhum arquivo enviado", "Unsupported image type" : "Tipo de imagem não suportado", - "You are already using a custom theme" : "Você já está usando um tema personalizado", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Você já está usando um tema personalizado. As configurações do aplicativo Theming podem ser sobrescritas por isso.", "Theming" : "Personalização", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Criar e alterar temas torna possível personalizar facilmente o Nextcloud e clientes suportados. Isso será visível para todos os usuários.", "Name" : "Nome", @@ -33,7 +33,11 @@ "Upload new login background" : "Enviar nova imagem de fundo para o login", "Remove background image" : "Excluir a imagem de fundo", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte a imagens SVG para gerar favicons automaticamente, com base no logotipo e na cor enviados.", + "You are already using a custom theme" : "Você já está usando um tema personalizado", "reset to default" : "restaurar ao padrão", - "The uploaded file was only partially uploaded" : "O arquivo foi enviado parcialmente" + "There is no error, the file uploaded with success" : "Sem erros. Arquivo enviado com sucesso", + "The uploaded file was only partially uploaded" : "O arquivo foi enviado parcialmente", + "Failed to write file to disk." : "Falha ao escrever no disco.", + "A PHP extension stopped the file upload." : "Uma extensão PHP parou o envio do arquivo." },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/pt_PT.js b/apps/theming/l10n/pt_PT.js index fef9d5192a4..add385f5ce8 100644 --- a/apps/theming/l10n/pt_PT.js +++ b/apps/theming/l10n/pt_PT.js @@ -9,16 +9,12 @@ OC.L10N.register( "The given web address is too long" : "O endereço web atribuído é demasiado longo", "The given slogan is too long" : "O slogan atribuído é demasiado longo", "The given color is invalid" : "A cor atribuída é inválida", - "There is no error, the file uploaded with success" : "Não ocorreu nenhum erro, o ficheiro foi carregado com sucesso", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro carregado excede a directiva upload_max_filesize no php.ini ", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O ficheiro carregado excedo a directiva MAX_FILE_SIZE especificada no formulário HTML", "No file was uploaded" : "O ficheiro foi carregado", "Missing a temporary folder" : "Falta uma pasta temporária", - "Failed to write file to disk." : "Falhou a escrever o ficheiro no disco.", - "A PHP extension stopped the file upload." : "Uma extensão PHP parou o carregamento do ficheiro.", "No file uploaded" : "Nenhum ficheiro carregado", "Unsupported image type" : "Tipo de imagem não suportado", - "You are already using a custom theme" : "Já está a usar um tema personalizado", "Theming" : "Temática", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A tematização possibilita a fácil personalização da aparência da sua instância e clientes suportados. Isto será visível para todos os utilizadores", "Name" : "Nome", @@ -33,7 +29,11 @@ OC.L10N.register( "Upload new login background" : "Carregar imagem de segundo plano de Login", "Remove background image" : "Remover imagem de segundo plano", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado.", + "You are already using a custom theme" : "Já está a usar um tema personalizado", "reset to default" : "restaurar valor padrão", - "The uploaded file was only partially uploaded" : "O ficheiro escolhido foi apenas parcialmente carregado" + "There is no error, the file uploaded with success" : "Não ocorreu nenhum erro, o ficheiro foi carregado com sucesso", + "The uploaded file was only partially uploaded" : "O ficheiro escolhido foi apenas parcialmente carregado", + "Failed to write file to disk." : "Falhou a escrever o ficheiro no disco.", + "A PHP extension stopped the file upload." : "Uma extensão PHP parou o carregamento do ficheiro." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/pt_PT.json b/apps/theming/l10n/pt_PT.json index 5943c244517..0ce97a8df20 100644 --- a/apps/theming/l10n/pt_PT.json +++ b/apps/theming/l10n/pt_PT.json @@ -7,16 +7,12 @@ "The given web address is too long" : "O endereço web atribuído é demasiado longo", "The given slogan is too long" : "O slogan atribuído é demasiado longo", "The given color is invalid" : "A cor atribuída é inválida", - "There is no error, the file uploaded with success" : "Não ocorreu nenhum erro, o ficheiro foi carregado com sucesso", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro carregado excede a directiva upload_max_filesize no php.ini ", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "O ficheiro carregado excedo a directiva MAX_FILE_SIZE especificada no formulário HTML", "No file was uploaded" : "O ficheiro foi carregado", "Missing a temporary folder" : "Falta uma pasta temporária", - "Failed to write file to disk." : "Falhou a escrever o ficheiro no disco.", - "A PHP extension stopped the file upload." : "Uma extensão PHP parou o carregamento do ficheiro.", "No file uploaded" : "Nenhum ficheiro carregado", "Unsupported image type" : "Tipo de imagem não suportado", - "You are already using a custom theme" : "Já está a usar um tema personalizado", "Theming" : "Temática", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "A tematização possibilita a fácil personalização da aparência da sua instância e clientes suportados. Isto será visível para todos os utilizadores", "Name" : "Nome", @@ -31,7 +27,11 @@ "Upload new login background" : "Carregar imagem de segundo plano de Login", "Remove background image" : "Remover imagem de segundo plano", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado.", + "You are already using a custom theme" : "Já está a usar um tema personalizado", "reset to default" : "restaurar valor padrão", - "The uploaded file was only partially uploaded" : "O ficheiro escolhido foi apenas parcialmente carregado" + "There is no error, the file uploaded with success" : "Não ocorreu nenhum erro, o ficheiro foi carregado com sucesso", + "The uploaded file was only partially uploaded" : "O ficheiro escolhido foi apenas parcialmente carregado", + "Failed to write file to disk." : "Falhou a escrever o ficheiro no disco.", + "A PHP extension stopped the file upload." : "Uma extensão PHP parou o carregamento do ficheiro." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/ru.js b/apps/theming/l10n/ru.js index f84121bde26..f1d50580aa5 100644 --- a/apps/theming/l10n/ru.js +++ b/apps/theming/l10n/ru.js @@ -10,17 +10,13 @@ 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 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" : "Вы уже используете настраиваемую тему", "Theming" : "Темы оформления", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Темы оформление позволяют легко настроить внешний вид вашего сервера и поддерживаемых клиентов. Это будет доступно для всех пользователей.", "Name" : "Название", @@ -35,7 +31,11 @@ OC.L10N.register( "Upload new login background" : "Загрузить новый фон для экрана входа в систему", "Remove background image" : "Убрать фоновое изображение ", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Для автоматической генерации favicon на основе загруженного логотипа и цвета нужно установить PHP расширение Imagemagick с поддержкой изображений SVG ", + "You are already using a custom theme" : "Вы уже используете настраиваемую тему", "reset to default" : "сброс до настроек по-умолчанию", - "The uploaded file was only partially uploaded" : "Файл загружен лишь частично" + "There is no error, the file uploaded with success" : "Файл загружен успешно. Ошибок нет.", + "The uploaded file was only partially uploaded" : "Файл загружен лишь частично", + "Failed to write file to disk." : "Ошибка записи на диск.", + "A PHP extension stopped the file upload." : "PHP прервало загрузку файла." }, "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/theming/l10n/ru.json b/apps/theming/l10n/ru.json index 7676400e0a5..6eae1f40b33 100644 --- a/apps/theming/l10n/ru.json +++ b/apps/theming/l10n/ru.json @@ -8,17 +8,13 @@ "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 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" : "Вы уже используете настраиваемую тему", "Theming" : "Темы оформления", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Темы оформление позволяют легко настроить внешний вид вашего сервера и поддерживаемых клиентов. Это будет доступно для всех пользователей.", "Name" : "Название", @@ -33,7 +29,11 @@ "Upload new login background" : "Загрузить новый фон для экрана входа в систему", "Remove background image" : "Убрать фоновое изображение ", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Для автоматической генерации favicon на основе загруженного логотипа и цвета нужно установить PHP расширение Imagemagick с поддержкой изображений SVG ", + "You are already using a custom theme" : "Вы уже используете настраиваемую тему", "reset to default" : "сброс до настроек по-умолчанию", - "The uploaded file was only partially uploaded" : "Файл загружен лишь частично" + "There is no error, the file uploaded with success" : "Файл загружен успешно. Ошибок нет.", + "The uploaded file was only partially uploaded" : "Файл загружен лишь частично", + "Failed to write file to disk." : "Ошибка записи на диск.", + "A PHP extension stopped the file upload." : "PHP прервало загрузку файла." },"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/theming/l10n/sk.js b/apps/theming/l10n/sk.js index 9b02b50aab1..c07c3bd6733 100644 --- a/apps/theming/l10n/sk.js +++ b/apps/theming/l10n/sk.js @@ -10,16 +10,13 @@ OC.L10N.register( "The given web address is too long" : "Zadaná web adresa je príliš dlhá", "The given slogan is too long" : "Zadaný slogan je príliš dlhý", "The given color is invalid" : "Zadaná farba nie je platná", - "There is no error, the file uploaded with success" : "Nenastala žiadna chyba, súbor bol úspešne nahraný", + "The file was uploaded" : "Súbor bol nahraný", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Nahraný súbor prekročil limit nastavený v upload_max_filesize v súbore php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Ukladaný súbor prekračuje nastavenie MAX_FILE_SIZE z volieb HTML formulára.", "No file was uploaded" : "Nenahral sa žiadny súbor", "Missing a temporary folder" : "Chýba priečinok pre dočasné súbory", - "Failed to write file to disk." : "Nepodarilo sa zapísať súbor na disk.", - "A PHP extension stopped the file upload." : "rozšírenie PHP zastavilo nahrávanie súboru.", "No file uploaded" : "Žiadny súbor nebol nahraný", "Unsupported image type" : "Typ obrázka nie je podporovaný", - "You are already using a custom theme" : "Už používate upravený vzhľad", "Theming" : "Zmena vzhľadu", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Zmena vzhľadu umožňuje ľahko upraviť pocit z vašej inštalácie a podporovaných klientov. Toto bude viditeľné pre všetkých klientov.", "Name" : "Názov", @@ -34,7 +31,11 @@ OC.L10N.register( "Upload new login background" : "Nahrať nové prihlasovacie pozadie", "Remove background image" : "Odstrániť obrázok pozadia", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ak chcete automaticky generovať favikony na základe nahraného loga a farby, nainštalujte rozšírenie Imagemagick PHP s podporou pre SVG obrázky.", + "You are already using a custom theme" : "Už používate upravený vzhľad", "reset to default" : "nastaviť predvolené", - "The uploaded file was only partially uploaded" : "Ukladaný súbor sa nahral len čiastočne" + "There is no error, the file uploaded with success" : "Nenastala žiadna chyba, súbor bol úspešne nahraný", + "The uploaded file was only partially uploaded" : "Ukladaný súbor sa nahral len čiastočne", + "Failed to write file to disk." : "Nepodarilo sa zapísať súbor na disk.", + "A PHP extension stopped the file upload." : "rozšírenie PHP zastavilo nahrávanie súboru." }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/theming/l10n/sk.json b/apps/theming/l10n/sk.json index c363d952d42..649c93010ea 100644 --- a/apps/theming/l10n/sk.json +++ b/apps/theming/l10n/sk.json @@ -8,16 +8,13 @@ "The given web address is too long" : "Zadaná web adresa je príliš dlhá", "The given slogan is too long" : "Zadaný slogan je príliš dlhý", "The given color is invalid" : "Zadaná farba nie je platná", - "There is no error, the file uploaded with success" : "Nenastala žiadna chyba, súbor bol úspešne nahraný", + "The file was uploaded" : "Súbor bol nahraný", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Nahraný súbor prekročil limit nastavený v upload_max_filesize v súbore php.ini", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Ukladaný súbor prekračuje nastavenie MAX_FILE_SIZE z volieb HTML formulára.", "No file was uploaded" : "Nenahral sa žiadny súbor", "Missing a temporary folder" : "Chýba priečinok pre dočasné súbory", - "Failed to write file to disk." : "Nepodarilo sa zapísať súbor na disk.", - "A PHP extension stopped the file upload." : "rozšírenie PHP zastavilo nahrávanie súboru.", "No file uploaded" : "Žiadny súbor nebol nahraný", "Unsupported image type" : "Typ obrázka nie je podporovaný", - "You are already using a custom theme" : "Už používate upravený vzhľad", "Theming" : "Zmena vzhľadu", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Zmena vzhľadu umožňuje ľahko upraviť pocit z vašej inštalácie a podporovaných klientov. Toto bude viditeľné pre všetkých klientov.", "Name" : "Názov", @@ -32,7 +29,11 @@ "Upload new login background" : "Nahrať nové prihlasovacie pozadie", "Remove background image" : "Odstrániť obrázok pozadia", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ak chcete automaticky generovať favikony na základe nahraného loga a farby, nainštalujte rozšírenie Imagemagick PHP s podporou pre SVG obrázky.", + "You are already using a custom theme" : "Už používate upravený vzhľad", "reset to default" : "nastaviť predvolené", - "The uploaded file was only partially uploaded" : "Ukladaný súbor sa nahral len čiastočne" + "There is no error, the file uploaded with success" : "Nenastala žiadna chyba, súbor bol úspešne nahraný", + "The uploaded file was only partially uploaded" : "Ukladaný súbor sa nahral len čiastočne", + "Failed to write file to disk." : "Nepodarilo sa zapísať súbor na disk.", + "A PHP extension stopped the file upload." : "rozšírenie PHP zastavilo nahrávanie súboru." },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/theming/l10n/sl.js b/apps/theming/l10n/sl.js index e18087c5644..5475cc8241b 100644 --- a/apps/theming/l10n/sl.js +++ b/apps/theming/l10n/sl.js @@ -11,7 +11,6 @@ OC.L10N.register( "The given color is invalid" : "Izbrana barva je neveljavna", "No file uploaded" : "Ni naložene datoteke", "Unsupported image type" : "Nepodprt tip datoteke", - "You are already using a custom theme" : "Ti že uporabljaš lastno temo", "Theming" : "Teme", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teme omogočajo, da enostavno prilagodiš izgled in občutek svojega strežnika in podprtih strank. To bodo videli vsi uporabniki.", "Name" : "Ime", @@ -25,6 +24,7 @@ OC.L10N.register( "Login image" : "Slika ob prijavi", "Upload new login background" : "Naloži novo ozadje za prijavo", "Remove background image" : "Odstrani sliko ozadja", + "You are already using a custom theme" : "Ti že uporabljaš lastno temo", "reset to default" : "ponastavi na privzeto" }, "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/apps/theming/l10n/sl.json b/apps/theming/l10n/sl.json index 1c18ff196e8..3a37919e76e 100644 --- a/apps/theming/l10n/sl.json +++ b/apps/theming/l10n/sl.json @@ -9,7 +9,6 @@ "The given color is invalid" : "Izbrana barva je neveljavna", "No file uploaded" : "Ni naložene datoteke", "Unsupported image type" : "Nepodprt tip datoteke", - "You are already using a custom theme" : "Ti že uporabljaš lastno temo", "Theming" : "Teme", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teme omogočajo, da enostavno prilagodiš izgled in občutek svojega strežnika in podprtih strank. To bodo videli vsi uporabniki.", "Name" : "Ime", @@ -23,6 +22,7 @@ "Login image" : "Slika ob prijavi", "Upload new login background" : "Naloži novo ozadje za prijavo", "Remove background image" : "Odstrani sliko ozadja", + "You are already using a custom theme" : "Ti že uporabljaš lastno temo", "reset to default" : "ponastavi na privzeto" },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" }
\ No newline at end of file diff --git a/apps/theming/l10n/sq.js b/apps/theming/l10n/sq.js index 02d6833bb17..55f0eac5e54 100644 --- a/apps/theming/l10n/sq.js +++ b/apps/theming/l10n/sq.js @@ -11,7 +11,6 @@ OC.L10N.register( "The given color is invalid" : "Ngjyra e dhënë është invalide ", "No file uploaded" : "Asnjë skedar i ngarkuar", "Unsupported image type" : "Lloj imazhi i pa suportuar", - "You are already using a custom theme" : "Ju jeni duke përdorur një temë të zakonshme tashmë", "Theming" : "Duke vendosur theme-n", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming bën të mundur për të përshtatur lehtësisht pamjen dhe ndjenjën e instancës suaj dhe klientëve të mbështetur. Kjo do të jetë e dukshme për të gjithë përdoruesit.", "Name" : "Emri", @@ -25,6 +24,7 @@ OC.L10N.register( "Login image" : "Imazhi i hyrjes", "Upload new login background" : "Ngarko background të ri hyrjeje", "Remove background image" : "Hiqni imazhin në sfond", + "You are already using a custom theme" : "Ju jeni duke përdorur një temë të zakonshme tashmë", "reset to default" : "rivendos tek të paracaktuarat" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/sq.json b/apps/theming/l10n/sq.json index cc731d84ef7..281fe7f8013 100644 --- a/apps/theming/l10n/sq.json +++ b/apps/theming/l10n/sq.json @@ -9,7 +9,6 @@ "The given color is invalid" : "Ngjyra e dhënë është invalide ", "No file uploaded" : "Asnjë skedar i ngarkuar", "Unsupported image type" : "Lloj imazhi i pa suportuar", - "You are already using a custom theme" : "Ju jeni duke përdorur një temë të zakonshme tashmë", "Theming" : "Duke vendosur theme-n", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming bën të mundur për të përshtatur lehtësisht pamjen dhe ndjenjën e instancës suaj dhe klientëve të mbështetur. Kjo do të jetë e dukshme për të gjithë përdoruesit.", "Name" : "Emri", @@ -23,6 +22,7 @@ "Login image" : "Imazhi i hyrjes", "Upload new login background" : "Ngarko background të ri hyrjeje", "Remove background image" : "Hiqni imazhin në sfond", + "You are already using a custom theme" : "Ju jeni duke përdorur një temë të zakonshme tashmë", "reset to default" : "rivendos tek të paracaktuarat" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/sr.js b/apps/theming/l10n/sr.js index baaa5db8040..9ba3df16b53 100644 --- a/apps/theming/l10n/sr.js +++ b/apps/theming/l10n/sr.js @@ -10,17 +10,17 @@ 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 file was uploaded" : "Фајл је отпремљен", "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 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 екстензија је зауставила отпремање фајла.", + "Could not 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" : "Већ користите прилагођену тему", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Већ користите прилагођену тему. Подешавања ове апликације ће можда бити пребрисана тиме.", "Theming" : "Теме", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Теме Вам омогућавају да лако измените изглед Ваше инстанце и подржаних клијената. Ово ће бити видљиво свим корисницима.", "Name" : "Име", @@ -35,7 +35,11 @@ OC.L10N.register( "Upload new login background" : "Отпремите нову позадину на пријави", "Remove background image" : "Уклони позадину", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирајте Imagemagick PHP екстензију која подржава SVG слике, да аутоматски направи иконе од отпремљеног логоа и боје.", + "You are already using a custom theme" : "Већ користите прилагођену тему", "reset to default" : "ресетуј на подразумевано", - "The uploaded file was only partially uploaded" : "Отпремани фајл је само делимично отпремљен" + "There is no error, the file uploaded with success" : "Нема грешке, фајл је отпремљен успешно", + "The uploaded file was only partially uploaded" : "Отпремани фајл је само делимично отпремљен", + "Failed to write file to disk." : "Не могу да пишем фајл на диск", + "A PHP extension stopped the file upload." : "PHP екстензија је зауставила отпремање фајла." }, "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/theming/l10n/sr.json b/apps/theming/l10n/sr.json index 92909744481..735302d718c 100644 --- a/apps/theming/l10n/sr.json +++ b/apps/theming/l10n/sr.json @@ -8,17 +8,17 @@ "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 file was uploaded" : "Фајл је отпремљен", "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 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 екстензија је зауставила отпремање фајла.", + "Could not 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" : "Већ користите прилагођену тему", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Већ користите прилагођену тему. Подешавања ове апликације ће можда бити пребрисана тиме.", "Theming" : "Теме", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Теме Вам омогућавају да лако измените изглед Ваше инстанце и подржаних клијената. Ово ће бити видљиво свим корисницима.", "Name" : "Име", @@ -33,7 +33,11 @@ "Upload new login background" : "Отпремите нову позадину на пријави", "Remove background image" : "Уклони позадину", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирајте Imagemagick PHP екстензију која подржава SVG слике, да аутоматски направи иконе од отпремљеног логоа и боје.", + "You are already using a custom theme" : "Већ користите прилагођену тему", "reset to default" : "ресетуј на подразумевано", - "The uploaded file was only partially uploaded" : "Отпремани фајл је само делимично отпремљен" + "There is no error, the file uploaded with success" : "Нема грешке, фајл је отпремљен успешно", + "The uploaded file was only partially uploaded" : "Отпремани фајл је само делимично отпремљен", + "Failed to write file to disk." : "Не могу да пишем фајл на диск", + "A PHP extension stopped the file upload." : "PHP екстензија је зауставила отпремање фајла." },"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/theming/l10n/sv.js b/apps/theming/l10n/sv.js index 685036c0ad3..d56503dcf1b 100644 --- a/apps/theming/l10n/sv.js +++ b/apps/theming/l10n/sv.js @@ -10,16 +10,12 @@ OC.L10N.register( "The given web address is too long" : "Den angivna adressen är för lång", "The given slogan is too long" : "Den angivna slogan är för lång", "The given color is invalid" : "Den angivna färgen är inte tillgänglig", - "There is no error, the file uploaded with success" : "Det finns inga fel, uppladdning av filen lyckades ", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Uppladdningsfilen är för stor (upload_max_filesize i php.ini)", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Den uppladdade filen överstiger MAX_FILE_SIZE-instruktionen specificerad i HTML-form", "No file was uploaded" : "Ingen fil laddades up", "Missing a temporary folder" : "Saknar en temporär mapp", - "Failed to write file to disk." : "Misslyckades att skriva till disk", - "A PHP extension stopped the file upload." : "Ett PHP-tillägg stoppade uppladdningen av filen.", "No file uploaded" : "Ingen fil uppladdad", "Unsupported image type" : "Filtypen är ej giltig", - "You are already using a custom theme" : "Du använder redan ett annat tema", "Theming" : "Teman", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teman gör det möjligt att enkelt skräddarsy utseendet på ditt moln. Detta kommer att synas för alla användare.", "Name" : "Namn", @@ -33,7 +29,11 @@ OC.L10N.register( "Login image" : "Inloggningsbild", "Upload new login background" : "Ladda upp ny bakgrundsbild", "Remove background image" : "Ta bort bakgrundsbild", + "You are already using a custom theme" : "Du använder redan ett annat tema", "reset to default" : "Återställ till standard", - "The uploaded file was only partially uploaded" : "Den uppladdade filen laddades bara upp delvis" + "There is no error, the file uploaded with success" : "Det finns inga fel, uppladdning av filen lyckades ", + "The uploaded file was only partially uploaded" : "Den uppladdade filen laddades bara upp delvis", + "Failed to write file to disk." : "Misslyckades att skriva till disk", + "A PHP extension stopped the file upload." : "Ett PHP-tillägg stoppade uppladdningen av filen." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/theming/l10n/sv.json b/apps/theming/l10n/sv.json index 0dbcba4a5f5..8a37792fed8 100644 --- a/apps/theming/l10n/sv.json +++ b/apps/theming/l10n/sv.json @@ -8,16 +8,12 @@ "The given web address is too long" : "Den angivna adressen är för lång", "The given slogan is too long" : "Den angivna slogan är för lång", "The given color is invalid" : "Den angivna färgen är inte tillgänglig", - "There is no error, the file uploaded with success" : "Det finns inga fel, uppladdning av filen lyckades ", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Uppladdningsfilen är för stor (upload_max_filesize i php.ini)", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Den uppladdade filen överstiger MAX_FILE_SIZE-instruktionen specificerad i HTML-form", "No file was uploaded" : "Ingen fil laddades up", "Missing a temporary folder" : "Saknar en temporär mapp", - "Failed to write file to disk." : "Misslyckades att skriva till disk", - "A PHP extension stopped the file upload." : "Ett PHP-tillägg stoppade uppladdningen av filen.", "No file uploaded" : "Ingen fil uppladdad", "Unsupported image type" : "Filtypen är ej giltig", - "You are already using a custom theme" : "Du använder redan ett annat tema", "Theming" : "Teman", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Teman gör det möjligt att enkelt skräddarsy utseendet på ditt moln. Detta kommer att synas för alla användare.", "Name" : "Namn", @@ -31,7 +27,11 @@ "Login image" : "Inloggningsbild", "Upload new login background" : "Ladda upp ny bakgrundsbild", "Remove background image" : "Ta bort bakgrundsbild", + "You are already using a custom theme" : "Du använder redan ett annat tema", "reset to default" : "Återställ till standard", - "The uploaded file was only partially uploaded" : "Den uppladdade filen laddades bara upp delvis" + "There is no error, the file uploaded with success" : "Det finns inga fel, uppladdning av filen lyckades ", + "The uploaded file was only partially uploaded" : "Den uppladdade filen laddades bara upp delvis", + "Failed to write file to disk." : "Misslyckades att skriva till disk", + "A PHP extension stopped the file upload." : "Ett PHP-tillägg stoppade uppladdningen av filen." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/tr.js b/apps/theming/l10n/tr.js index 66f99b9731e..287678c3765 100644 --- a/apps/theming/l10n/tr.js +++ b/apps/theming/l10n/tr.js @@ -10,17 +10,17 @@ OC.L10N.register( "The given web address is too long" : "Belirtilen web adresi çok uzun", "The given slogan is too long" : "Belirtilen slogan çok uzun", "The given color is invalid" : "Belirtilen renk geçersiz", - "There is no error, the file uploaded with success" : "Herhangi bir sorun yok, dosya yüklendi", + "The file was uploaded" : "Dosya yüklendi", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Yüklenen dosya php.ini dosyasındaki yüklenebilecek dosya boyutunu belirten upload_max_filesize değişkeninin değerini aşıyor", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Yüklenen dosya HTML formundaki yüklenebilecek dosya boyutunu belirten MAX_FILE_SIZE değişkeninin değerini aşıyor", "The file was only partially uploaded" : "Dosyanın yalnız bir bölümü yüklendi", "No file was uploaded" : "Herhangi bir dosya yüklenmedi", "Missing a temporary folder" : "Geçici klasör bulunamadı", - "Failed to write file to disk." : "Dosya diske yazılamadı.", - "A PHP extension stopped the file upload." : "Bir PHP eklentisi dosyanın yüklenmesini engelledi.", + "Could not write file to disk" : "Dosya diske yazılamadı", + "A PHP extension stopped the file upload" : "Bir PHP eklentisi dosyanın yüklenmesini engelledi", "No file uploaded" : "Herhangi bir dosya yüklenmemiş", "Unsupported image type" : "Görsel türü desteklenmiyor", - "You are already using a custom theme" : "Zaten özel bir tema kullanıyorsunuz", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Zaten özel bir tema kullanıyorsunuz. Tema uygulaması ayarları bu değer ile değiştirilebilir.", "Theming" : "Tema", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temalar kullandığınız kopyanın ve desteklenen istemcilerin genel görünümün kolayca değiştirilmesini sağlar. Tüm kullanıcılara görüntülenir.", "Name" : "Ad", @@ -35,7 +35,11 @@ OC.L10N.register( "Upload new login background" : "Yeni oturum açma art alanı yükle", "Remove background image" : "Art alan görselini kaldır", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Yüklenen logo ve renge göre otomatik olarak favicon üretilmesi için Imagemagick PHP eklentisini SVG desteği ile kurun.", + "You are already using a custom theme" : "Zaten özel bir tema kullanıyorsunuz", "reset to default" : "varsayılana dön", - "The uploaded file was only partially uploaded" : "Dosyanın yalnızca bir bölümü yüklenebildi" + "There is no error, the file uploaded with success" : "Herhangi bir sorun yok, dosya yüklendi", + "The uploaded file was only partially uploaded" : "Dosyanın yalnızca bir bölümü yüklenebildi", + "Failed to write file to disk." : "Dosya diske yazılamadı.", + "A PHP extension stopped the file upload." : "Bir PHP eklentisi dosyanın yüklenmesini engelledi." }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/theming/l10n/tr.json b/apps/theming/l10n/tr.json index 4103ed9060d..d4c587eb181 100644 --- a/apps/theming/l10n/tr.json +++ b/apps/theming/l10n/tr.json @@ -8,17 +8,17 @@ "The given web address is too long" : "Belirtilen web adresi çok uzun", "The given slogan is too long" : "Belirtilen slogan çok uzun", "The given color is invalid" : "Belirtilen renk geçersiz", - "There is no error, the file uploaded with success" : "Herhangi bir sorun yok, dosya yüklendi", + "The file was uploaded" : "Dosya yüklendi", "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Yüklenen dosya php.ini dosyasındaki yüklenebilecek dosya boyutunu belirten upload_max_filesize değişkeninin değerini aşıyor", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Yüklenen dosya HTML formundaki yüklenebilecek dosya boyutunu belirten MAX_FILE_SIZE değişkeninin değerini aşıyor", "The file was only partially uploaded" : "Dosyanın yalnız bir bölümü yüklendi", "No file was uploaded" : "Herhangi bir dosya yüklenmedi", "Missing a temporary folder" : "Geçici klasör bulunamadı", - "Failed to write file to disk." : "Dosya diske yazılamadı.", - "A PHP extension stopped the file upload." : "Bir PHP eklentisi dosyanın yüklenmesini engelledi.", + "Could not write file to disk" : "Dosya diske yazılamadı", + "A PHP extension stopped the file upload" : "Bir PHP eklentisi dosyanın yüklenmesini engelledi", "No file uploaded" : "Herhangi bir dosya yüklenmemiş", "Unsupported image type" : "Görsel türü desteklenmiyor", - "You are already using a custom theme" : "Zaten özel bir tema kullanıyorsunuz", + "You are already using a custom theme. Theming app settings might be overwritten by that." : "Zaten özel bir tema kullanıyorsunuz. Tema uygulaması ayarları bu değer ile değiştirilebilir.", "Theming" : "Tema", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Temalar kullandığınız kopyanın ve desteklenen istemcilerin genel görünümün kolayca değiştirilmesini sağlar. Tüm kullanıcılara görüntülenir.", "Name" : "Ad", @@ -33,7 +33,11 @@ "Upload new login background" : "Yeni oturum açma art alanı yükle", "Remove background image" : "Art alan görselini kaldır", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Yüklenen logo ve renge göre otomatik olarak favicon üretilmesi için Imagemagick PHP eklentisini SVG desteği ile kurun.", + "You are already using a custom theme" : "Zaten özel bir tema kullanıyorsunuz", "reset to default" : "varsayılana dön", - "The uploaded file was only partially uploaded" : "Dosyanın yalnızca bir bölümü yüklenebildi" + "There is no error, the file uploaded with success" : "Herhangi bir sorun yok, dosya yüklendi", + "The uploaded file was only partially uploaded" : "Dosyanın yalnızca bir bölümü yüklenebildi", + "Failed to write file to disk." : "Dosya diske yazılamadı.", + "A PHP extension stopped the file upload." : "Bir PHP eklentisi dosyanın yüklenmesini engelledi." },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/theming/l10n/vi.js b/apps/theming/l10n/vi.js index ca8fc05e3d4..0d075921df0 100644 --- a/apps/theming/l10n/vi.js +++ b/apps/theming/l10n/vi.js @@ -11,7 +11,6 @@ OC.L10N.register( "The given color is invalid" : "Màu đã chọn không hợp lệ", "No file uploaded" : "Không có tệp nào được tải lên", "Unsupported image type" : "Loại hình ảnh không được hỗ trợ", - "You are already using a custom theme" : "Bạn đã sử dụng một chủ đề tuỳ chỉnh", "Theming" : "Điều chỉnh giao diện", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Điều chỉnh giao diện cho phép bạn có thể dễ dàng tùy biến bố cục trình bày của hệ thống. Khi thực hiện nó sẽ hiện hữu đối với tất cả người dùng", "Name" : "Tên", @@ -25,6 +24,7 @@ OC.L10N.register( "Login image" : "Hình ảnh trang đăng nhập", "Upload new login background" : "Tải lên ảnh nền trang đăng nhập mới", "Remove background image" : "Xóa bỏ ảnh nền", + "You are already using a custom theme" : "Bạn đã sử dụng một chủ đề tuỳ chỉnh", "reset to default" : "đặt lại về mặc định" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/vi.json b/apps/theming/l10n/vi.json index 42134d76551..d38c77971be 100644 --- a/apps/theming/l10n/vi.json +++ b/apps/theming/l10n/vi.json @@ -9,7 +9,6 @@ "The given color is invalid" : "Màu đã chọn không hợp lệ", "No file uploaded" : "Không có tệp nào được tải lên", "Unsupported image type" : "Loại hình ảnh không được hỗ trợ", - "You are already using a custom theme" : "Bạn đã sử dụng một chủ đề tuỳ chỉnh", "Theming" : "Điều chỉnh giao diện", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Điều chỉnh giao diện cho phép bạn có thể dễ dàng tùy biến bố cục trình bày của hệ thống. Khi thực hiện nó sẽ hiện hữu đối với tất cả người dùng", "Name" : "Tên", @@ -23,6 +22,7 @@ "Login image" : "Hình ảnh trang đăng nhập", "Upload new login background" : "Tải lên ảnh nền trang đăng nhập mới", "Remove background image" : "Xóa bỏ ảnh nền", + "You are already using a custom theme" : "Bạn đã sử dụng một chủ đề tuỳ chỉnh", "reset to default" : "đặt lại về mặc định" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/l10n/zh_CN.js b/apps/theming/l10n/zh_CN.js index 6483746bd96..3fa45380d61 100644 --- a/apps/theming/l10n/zh_CN.js +++ b/apps/theming/l10n/zh_CN.js @@ -10,16 +10,12 @@ 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" : "上传的文件超过了php.ini中指定的upload_max_filesize指令配置", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "上传的文件超过了HTML表单中指定的MAX_FILE_SIZE指令", "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" : "你已经在使用自定义主题", "Theming" : "主题", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "主题使得方便地定制你的实例的外观和体验成为可能。所有用户都可以使用。", "Name" : "名字", @@ -34,7 +30,11 @@ OC.L10N.register( "Upload new login background" : "上传新登录背景", "Remove background image" : "删除背景图片", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持SVG图像的PHP扩展Imagemagick,根据上传的logo和颜色自动生成收藏图标。", + "You are already using a custom theme" : "你已经在使用自定义主题", "reset to default" : "重置默认", - "The uploaded file was only partially uploaded" : "上传的文件只有部分已上传" + "There is no error, the file uploaded with success" : "没有错误,文件已上传成功", + "The uploaded file was only partially uploaded" : "上传的文件只有部分已上传", + "Failed to write file to disk." : "文件写入磁盘失败。", + "A PHP extension stopped the file upload." : "PHP扩展停止了文件上传。" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/zh_CN.json b/apps/theming/l10n/zh_CN.json index 5a748f93aa8..332671cbec1 100644 --- a/apps/theming/l10n/zh_CN.json +++ b/apps/theming/l10n/zh_CN.json @@ -8,16 +8,12 @@ "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" : "上传的文件超过了php.ini中指定的upload_max_filesize指令配置", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "上传的文件超过了HTML表单中指定的MAX_FILE_SIZE指令", "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" : "你已经在使用自定义主题", "Theming" : "主题", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "主题使得方便地定制你的实例的外观和体验成为可能。所有用户都可以使用。", "Name" : "名字", @@ -32,7 +28,11 @@ "Upload new login background" : "上传新登录背景", "Remove background image" : "删除背景图片", "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持SVG图像的PHP扩展Imagemagick,根据上传的logo和颜色自动生成收藏图标。", + "You are already using a custom theme" : "你已经在使用自定义主题", "reset to default" : "重置默认", - "The uploaded file was only partially uploaded" : "上传的文件只有部分已上传" + "There is no error, the file uploaded with success" : "没有错误,文件已上传成功", + "The uploaded file was only partially uploaded" : "上传的文件只有部分已上传", + "Failed to write file to disk." : "文件写入磁盘失败。", + "A PHP extension stopped the file upload." : "PHP扩展停止了文件上传。" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/l10n/zh_TW.js b/apps/theming/l10n/zh_TW.js index 9f10def8456..30e4fa38dc9 100644 --- a/apps/theming/l10n/zh_TW.js +++ b/apps/theming/l10n/zh_TW.js @@ -12,7 +12,6 @@ OC.L10N.register( "The given color is invalid" : "指定的顏色無效", "No file uploaded" : "未上傳檔案", "Unsupported image type" : "不支援的圖片類型", - "You are already using a custom theme" : "您正在使用自訂主題", "Theming" : "佈景主題", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "使用佈景主題來客製化網頁界面和客戶端程式的外觀(並非所有客戶端程式都支援佈景主題),外觀將會套用至所有使用者。", "Name" : "名稱", @@ -26,6 +25,7 @@ OC.L10N.register( "Login image" : "登入圖片", "Upload new login background" : "上傳新的登入頁背景", "Remove background image" : "移除背景圖片", + "You are already using a custom theme" : "您正在使用自訂主題", "reset to default" : "恢復預設值" }, "nplurals=1; plural=0;"); diff --git a/apps/theming/l10n/zh_TW.json b/apps/theming/l10n/zh_TW.json index 3e4bdb34366..1d8bcfe8eeb 100644 --- a/apps/theming/l10n/zh_TW.json +++ b/apps/theming/l10n/zh_TW.json @@ -10,7 +10,6 @@ "The given color is invalid" : "指定的顏色無效", "No file uploaded" : "未上傳檔案", "Unsupported image type" : "不支援的圖片類型", - "You are already using a custom theme" : "您正在使用自訂主題", "Theming" : "佈景主題", "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "使用佈景主題來客製化網頁界面和客戶端程式的外觀(並非所有客戶端程式都支援佈景主題),外觀將會套用至所有使用者。", "Name" : "名稱", @@ -24,6 +23,7 @@ "Login image" : "登入圖片", "Upload new login background" : "上傳新的登入頁背景", "Remove background image" : "移除背景圖片", + "You are already using a custom theme" : "您正在使用自訂主題", "reset to default" : "恢復預設值" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/theming/lib/Settings/Admin.php b/apps/theming/lib/Settings/Admin.php index 708bf1914ea..d26a5680637 100644 --- a/apps/theming/lib/Settings/Admin.php +++ b/apps/theming/lib/Settings/Admin.php @@ -67,7 +67,7 @@ class Admin implements ISettings { $theme = $this->config->getSystemValue('theme', ''); if ($theme !== '') { $themable = false; - $errorMessage = $this->l->t('You are already using a custom theme'); + $errorMessage = $this->l->t('You are already using a custom theme. Theming app settings might be overwritten by that.'); } $parameters = [ diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php index 688878bb50a..ce4ab0abb55 100644 --- a/apps/theming/lib/ThemingDefaults.php +++ b/apps/theming/lib/ThemingDefaults.php @@ -320,7 +320,7 @@ class ThemingDefaults extends \OC_Defaults { private function increaseCacheBuster() { $cacheBusterKey = $this->config->getAppValue('theming', 'cachebuster', '0'); $this->config->setAppValue('theming', 'cachebuster', (int)$cacheBusterKey+1); - $this->cacheFactory->createDistributed('theming-')->clear('getScssVariables'); + $this->cacheFactory->createDistributed('theming-')->clear(); } /** diff --git a/apps/theming/templates/settings-admin.php b/apps/theming/templates/settings-admin.php index 1dfa5cdc1db..7e489199927 100644 --- a/apps/theming/templates/settings-admin.php +++ b/apps/theming/templates/settings-admin.php @@ -37,7 +37,7 @@ style('theming', 'settings-admin'); <p> <?php p($_['errorMessage']) ?> </p> - <?php } else { ?> + <?php } ?> <div> <label> <span><?php p($l->t('Name')) ?></span> @@ -99,5 +99,4 @@ style('theming', 'settings-admin'); </p> <?php } ?> </div> - <?php } ?> </div> diff --git a/apps/theming/tests/Settings/AdminTest.php b/apps/theming/tests/Settings/AdminTest.php index bb68651d143..ee49cf0f1f6 100644 --- a/apps/theming/tests/Settings/AdminTest.php +++ b/apps/theming/tests/Settings/AdminTest.php @@ -118,8 +118,8 @@ class AdminTest extends TestCase { $this->l10n ->expects($this->once()) ->method('t') - ->with('You are already using a custom theme') - ->willReturn('You are already using a custom theme'); + ->with('You are already using a custom theme. Theming app settings might be overwritten by that.') + ->willReturn('You are already using a custom theme. Theming app settings might be overwritten by that.'); $this->themingDefaults ->expects($this->once()) ->method('getEntity') @@ -143,7 +143,7 @@ class AdminTest extends TestCase { ->willReturn('/my/route'); $params = [ 'themable' => false, - 'errorMessage' => 'You are already using a custom theme', + 'errorMessage' => 'You are already using a custom theme. Theming app settings might be overwritten by that.', 'name' => 'MyEntity', 'url' => 'https://example.com', 'slogan' => 'MySlogan', diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php index 2e1ad44b7aa..2485a471bf4 100644 --- a/apps/theming/tests/ThemingDefaultsTest.php +++ b/apps/theming/tests/ThemingDefaultsTest.php @@ -276,7 +276,7 @@ class ThemingDefaultsTest extends TestCase { $this->cache ->expects($this->once()) ->method('clear') - ->with('getScssVariables'); + ->with(''); $this->template->set('MySetting', 'MyValue'); } diff --git a/apps/twofactor_backupcodes/l10n/af.js b/apps/twofactor_backupcodes/l10n/af.js index 0d287379f87..4879b05cf45 100644 --- a/apps/twofactor_backupcodes/l10n/af.js +++ b/apps/twofactor_backupcodes/l10n/af.js @@ -13,6 +13,7 @@ OC.L10N.register( "You created two-factor backup codes for your account" : "U het tweefaktorrugsteunkodes vir u rekening geskep", "Backup code" : "Rugsteunkode", "Use backup code" : "Gebruik rugsteunkode", + "Two factor backup codes" : "Tweefaktorrugsteunkodes", "Second-factor backup codes" : "Tweedefaktorrugsteunkodes" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/twofactor_backupcodes/l10n/af.json b/apps/twofactor_backupcodes/l10n/af.json index 398bcfa64b1..e8d05027162 100644 --- a/apps/twofactor_backupcodes/l10n/af.json +++ b/apps/twofactor_backupcodes/l10n/af.json @@ -11,6 +11,7 @@ "You created two-factor backup codes for your account" : "U het tweefaktorrugsteunkodes vir u rekening geskep", "Backup code" : "Rugsteunkode", "Use backup code" : "Gebruik rugsteunkode", + "Two factor backup codes" : "Tweefaktorrugsteunkodes", "Second-factor backup codes" : "Tweedefaktorrugsteunkodes" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php b/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php index f5b01649bbb..03d1ee0d405 100644 --- a/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php +++ b/apps/twofactor_backupcodes/lib/Provider/BackupCodesProvider.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @author Christoph Wurst <christoph@winzerhof-wurst.at> @@ -49,7 +50,7 @@ class BackupCodesProvider implements IProvider { * @param IL10N $l10n * @param AppManager $appManager */ - public function __construct($appName, BackupCodeStorage $storage, IL10N $l10n, AppManager $appManager) { + public function __construct(string $appName, BackupCodeStorage $storage, IL10N $l10n, AppManager $appManager) { $this->appName = $appName; $this->l10n = $l10n; $this->storage = $storage; @@ -61,7 +62,7 @@ class BackupCodesProvider implements IProvider { * * @return string */ - public function getId() { + public function getId(): string { return 'backup_codes'; } @@ -70,7 +71,7 @@ class BackupCodesProvider implements IProvider { * * @return string */ - public function getDisplayName() { + public function getDisplayName(): string { return $this->l10n->t('Backup code'); } @@ -79,7 +80,7 @@ class BackupCodesProvider implements IProvider { * * @return string */ - public function getDescription() { + public function getDescription(): string { return $this->l10n->t('Use backup code'); } @@ -89,7 +90,7 @@ class BackupCodesProvider implements IProvider { * @param IUser $user * @return Template */ - public function getTemplate(IUser $user) { + public function getTemplate(IUser $user): Template { return new Template('twofactor_backupcodes', 'challenge'); } @@ -98,8 +99,9 @@ class BackupCodesProvider implements IProvider { * * @param IUser $user * @param string $challenge + * @return bool */ - public function verifyChallenge(IUser $user, $challenge) { + public function verifyChallenge(IUser $user, string $challenge): bool { return $this->storage->validateCode($user, $challenge); } @@ -109,7 +111,7 @@ class BackupCodesProvider implements IProvider { * @param IUser $user * @return boolean */ - public function isTwoFactorAuthEnabledForUser(IUser $user) { + public function isTwoFactorAuthEnabledForUser(IUser $user): bool { return $this->storage->hasBackupCodes($user); } @@ -124,7 +126,7 @@ class BackupCodesProvider implements IProvider { * @param IUser $user * @return boolean */ - public function isActive(IUser $user) { + public function isActive(IUser $user): bool { $appIds = array_filter($this->appManager->getEnabledAppsForUser($user), function($appId) { return $appId !== $this->appName; }); diff --git a/apps/updatenotification/css/admin.css b/apps/updatenotification/css/admin.css index 52cc961ae35..775e2134ba5 100644 --- a/apps/updatenotification/css/admin.css +++ b/apps/updatenotification/css/admin.css @@ -40,3 +40,7 @@ color: #555; font-weight: normal; } + +#updatenotification .warning { + color: #ce3702; +} diff --git a/apps/updatenotification/js-src/app.js b/apps/updatenotification/js-src/app.js index bf96a2ff326..0b28cabd6ac 100644 --- a/apps/updatenotification/js-src/app.js +++ b/apps/updatenotification/js-src/app.js @@ -48,6 +48,7 @@ define(function (require) { this.vm.channels = data.channels; this.vm.notifyGroups = data.notifyGroups; this.vm.isDefaultUpdateServerURL = data.isDefaultUpdateServerURL; + this.vm.versionIsEol = data.versionIsEol; } }; }); diff --git a/apps/updatenotification/js-src/components/root.vue b/apps/updatenotification/js-src/components/root.vue index 774fd6dd539..a52e1b12bd4 100644 --- a/apps/updatenotification/js-src/components/root.vue +++ b/apps/updatenotification/js-src/components/root.vue @@ -2,6 +2,13 @@ <div id="updatenotification" class="followupsection"> <div class="update"> <template v-if="isNewVersionAvailable"> + <p v-if="versionIsEol"> + <span class="warning"> + <span class="icon icon-error"></span> + {{ t('updatenotification', 'The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible.') }} + </span> + </p> + <p> <span v-html="newVersionAvailableString"></span><br> <span v-if="!isListFetched" class="icon icon-loading-small"></span> @@ -83,6 +90,7 @@ lastCheckedDate: '', isUpdateChecked: false, updaterEnabled: true, + versionIsEol: false, downloadLink: '', isNewVersionAvailable: false, updateServerURL: '', diff --git a/apps/updatenotification/l10n/cs.js b/apps/updatenotification/l10n/cs.js index 62c9dc731aa..f060b245894 100644 --- a/apps/updatenotification/l10n/cs.js +++ b/apps/updatenotification/l10n/cs.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "Je dostupná {version}. Přečtěte si více informací jak aktualizovat.", - "Apps missing updates" : "Aplikace s chybějícími aktualizacemi", "Apps with available updates" : "Aplikace s dostupnými aktualizacemi", "Open updater" : "Otevřít aktualizátor", "Your version is up to date." : "Používáte nejnovější verzi.", diff --git a/apps/updatenotification/l10n/cs.json b/apps/updatenotification/l10n/cs.json index e6ecbb32896..9226c60df94 100644 --- a/apps/updatenotification/l10n/cs.json +++ b/apps/updatenotification/l10n/cs.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "Je dostupná {version}. Přečtěte si více informací jak aktualizovat.", - "Apps missing updates" : "Aplikace s chybějícími aktualizacemi", "Apps with available updates" : "Aplikace s dostupnými aktualizacemi", "Open updater" : "Otevřít aktualizátor", "Your version is up to date." : "Používáte nejnovější verzi.", diff --git a/apps/updatenotification/l10n/de.js b/apps/updatenotification/l10n/de.js index bbd1ea1258c..8cb942ccf4a 100644 --- a/apps/updatenotification/l10n/de.js +++ b/apps/updatenotification/l10n/de.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} ist verfügbar. Weitere Informationen zur Aktualisierung.", - "Apps missing updates" : "Für diese Apps fehlen Aktualisierungen", "Apps with available updates" : "Für diese Apps gibt es Aktualisierungen", "Open updater" : "Updater öffnen", "Your version is up to date." : "Deine Version ist aktuell.", @@ -20,6 +19,9 @@ OC.L10N.register( "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Die Verbindung zum Appstore konnte nicht aufgebaut werden oder der Appstore hat keine Apps zurück geliefert. Suche selbst nach den Updates oder stelle sicher, dass dein Server Zugriff auf das Internet hat und eine Verbindung zum Appstore aufbauen kann. ", "<strong>All</strong> apps have an update for this version available" : "Für <strong>alle</strong> Apps steht eine Aktualisierung zur Verfügung", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["Für <strong>%n</strong> App steht keine Aktualisierung für diese Version zur Verfügung","Für <strong>%n</strong> Apps stehen keine Aktualisierungen für diese Version zur Verfügung"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>Produktion</strong> bietet immer die neuesten Patch-Stände an, jedoch nicht sofort die nächste Hauptversion. Diese Aktualisierung erfolgt normalerweise nach der zweiten kleineren Aktualisierung (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>Stabil</strong> bietet die aktuellste stabile Version. Dies ist passend für Verwendung in Produktion und bietet immer die Aktualisierung auf die neueste Hauptversion an.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>Beta</strong> bietet eine Vorabversion an und dient zum Testen von neuen Funktionen. Nicht für den Einsatz in Produktivumgebungen geeignet.", "Could not start updater, please try the manual update" : "Der Updater konnte nicht gestartet werden, bitte versuche ein manuelles Update", "Update notifications" : "Update-Benachrichtigungen", "Channel updated" : "Kanal aktualisiert", diff --git a/apps/updatenotification/l10n/de.json b/apps/updatenotification/l10n/de.json index 37787050023..556342b0a78 100644 --- a/apps/updatenotification/l10n/de.json +++ b/apps/updatenotification/l10n/de.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} ist verfügbar. Weitere Informationen zur Aktualisierung.", - "Apps missing updates" : "Für diese Apps fehlen Aktualisierungen", "Apps with available updates" : "Für diese Apps gibt es Aktualisierungen", "Open updater" : "Updater öffnen", "Your version is up to date." : "Deine Version ist aktuell.", @@ -18,6 +17,9 @@ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Die Verbindung zum Appstore konnte nicht aufgebaut werden oder der Appstore hat keine Apps zurück geliefert. Suche selbst nach den Updates oder stelle sicher, dass dein Server Zugriff auf das Internet hat und eine Verbindung zum Appstore aufbauen kann. ", "<strong>All</strong> apps have an update for this version available" : "Für <strong>alle</strong> Apps steht eine Aktualisierung zur Verfügung", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["Für <strong>%n</strong> App steht keine Aktualisierung für diese Version zur Verfügung","Für <strong>%n</strong> Apps stehen keine Aktualisierungen für diese Version zur Verfügung"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>Produktion</strong> bietet immer die neuesten Patch-Stände an, jedoch nicht sofort die nächste Hauptversion. Diese Aktualisierung erfolgt normalerweise nach der zweiten kleineren Aktualisierung (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>Stabil</strong> bietet die aktuellste stabile Version. Dies ist passend für Verwendung in Produktion und bietet immer die Aktualisierung auf die neueste Hauptversion an.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>Beta</strong> bietet eine Vorabversion an und dient zum Testen von neuen Funktionen. Nicht für den Einsatz in Produktivumgebungen geeignet.", "Could not start updater, please try the manual update" : "Der Updater konnte nicht gestartet werden, bitte versuche ein manuelles Update", "Update notifications" : "Update-Benachrichtigungen", "Channel updated" : "Kanal aktualisiert", diff --git a/apps/updatenotification/l10n/de_DE.js b/apps/updatenotification/l10n/de_DE.js index 0644b3c46d1..9b4e8c1ab9e 100644 --- a/apps/updatenotification/l10n/de_DE.js +++ b/apps/updatenotification/l10n/de_DE.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} ist verfügbar. Weitere Informationen zur Aktualisierung.", - "Apps missing updates" : "Für diese Apps fehlen Aktualisierungen", "Apps with available updates" : "Für diese Apps gibt es Aktualisierungen", "Open updater" : "Updater öffnen", "Your version is up to date." : "Ihre Version ist aktuell.", @@ -20,6 +19,9 @@ OC.L10N.register( "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Die Verbindung zum Appstore konnte nicht aufgebaut werden oder der Appstore hat keine Apps zurück geliefert. Suchen Sie selbst nach den Updates oder stellen Sie sicher, dass ihr Server Zugriff auf das Internet hat und eine Verbindung zum Appstore aufbauen kann. ", "<strong>All</strong> apps have an update for this version available" : "Für <strong>alle</strong> Apps steht eine Aktualisierung zur Verfügung", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["Für <strong>%n</strong> App steht keine Aktualisierung für diese Version zur Verfügung","Für <strong>%n</strong> Apps stehen keine Aktualisierungen für diese Version zur Verfügung"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>Produktion</strong> bietet immer die neuesten Patch-Stände an, jedoch nicht sofort die nächste Hauptversion. Diese Aktualisierung erfolgt normalerweise nach der zweiten kleineren Aktualisierung (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>Stabil</strong> bietet die aktuellste stabile Version. Dies ist passend für Verwendung in Produktion und bietet immer die Aktualisierung auf die neueste Hauptversion an.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>Beta</strong> bietet eine Vorabversion an und dient zum Testen von neuen Funktionen. Nicht für den Einsatz in Produktivumgebungen geeignet.", "Could not start updater, please try the manual update" : "Der Updater konnte nicht gestartet werden, bitte versuchen Sie ein manuelles Update", "Update notifications" : "Update-Benachrichtigungen", "Channel updated" : "Kanal aktualisiert", diff --git a/apps/updatenotification/l10n/de_DE.json b/apps/updatenotification/l10n/de_DE.json index f26d2197ef9..7f1bfd5eb4a 100644 --- a/apps/updatenotification/l10n/de_DE.json +++ b/apps/updatenotification/l10n/de_DE.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} ist verfügbar. Weitere Informationen zur Aktualisierung.", - "Apps missing updates" : "Für diese Apps fehlen Aktualisierungen", "Apps with available updates" : "Für diese Apps gibt es Aktualisierungen", "Open updater" : "Updater öffnen", "Your version is up to date." : "Ihre Version ist aktuell.", @@ -18,6 +17,9 @@ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Die Verbindung zum Appstore konnte nicht aufgebaut werden oder der Appstore hat keine Apps zurück geliefert. Suchen Sie selbst nach den Updates oder stellen Sie sicher, dass ihr Server Zugriff auf das Internet hat und eine Verbindung zum Appstore aufbauen kann. ", "<strong>All</strong> apps have an update for this version available" : "Für <strong>alle</strong> Apps steht eine Aktualisierung zur Verfügung", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["Für <strong>%n</strong> App steht keine Aktualisierung für diese Version zur Verfügung","Für <strong>%n</strong> Apps stehen keine Aktualisierungen für diese Version zur Verfügung"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>Produktion</strong> bietet immer die neuesten Patch-Stände an, jedoch nicht sofort die nächste Hauptversion. Diese Aktualisierung erfolgt normalerweise nach der zweiten kleineren Aktualisierung (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>Stabil</strong> bietet die aktuellste stabile Version. Dies ist passend für Verwendung in Produktion und bietet immer die Aktualisierung auf die neueste Hauptversion an.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>Beta</strong> bietet eine Vorabversion an und dient zum Testen von neuen Funktionen. Nicht für den Einsatz in Produktivumgebungen geeignet.", "Could not start updater, please try the manual update" : "Der Updater konnte nicht gestartet werden, bitte versuchen Sie ein manuelles Update", "Update notifications" : "Update-Benachrichtigungen", "Channel updated" : "Kanal aktualisiert", diff --git a/apps/updatenotification/l10n/en_GB.js b/apps/updatenotification/l10n/en_GB.js index ce1a5c3ae8e..235a65a85e3 100644 --- a/apps/updatenotification/l10n/en_GB.js +++ b/apps/updatenotification/l10n/en_GB.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} is available. Get more information on how to update.", - "Apps missing updates" : "Apps missing updates", "Apps with available updates" : "Apps with available updates", "Open updater" : "Open updater", "Your version is up to date." : "Your version is up to date.", @@ -20,6 +19,9 @@ OC.L10N.register( "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore.", "<strong>All</strong> apps have an update for this version available" : "<strong>All</strong> apps have an update for this version available", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> app has no update for this version available","<strong>%n</strong> apps have no update for this version available"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments.", "Could not start updater, please try the manual update" : "Could not start updater, please try the manual update", "Update notifications" : "Update notifications", "Channel updated" : "Channel updated", diff --git a/apps/updatenotification/l10n/en_GB.json b/apps/updatenotification/l10n/en_GB.json index 5c293fae73b..1f489d73367 100644 --- a/apps/updatenotification/l10n/en_GB.json +++ b/apps/updatenotification/l10n/en_GB.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} is available. Get more information on how to update.", - "Apps missing updates" : "Apps missing updates", "Apps with available updates" : "Apps with available updates", "Open updater" : "Open updater", "Your version is up to date." : "Your version is up to date.", @@ -18,6 +17,9 @@ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore.", "<strong>All</strong> apps have an update for this version available" : "<strong>All</strong> apps have an update for this version available", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> app has no update for this version available","<strong>%n</strong> apps have no update for this version available"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments.", "Could not start updater, please try the manual update" : "Could not start updater, please try the manual update", "Update notifications" : "Update notifications", "Channel updated" : "Channel updated", diff --git a/apps/updatenotification/l10n/es.js b/apps/updatenotification/l10n/es.js index cc10e44fe9f..d4814b301eb 100644 --- a/apps/updatenotification/l10n/es.js +++ b/apps/updatenotification/l10n/es.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} está disponible. Obtenga más información sobre cómo actualizar.", - "Apps missing updates" : "Apps sin actualizaciones", "Apps with available updates" : "Apps con actualizaciones disponibles", "Open updater" : "Abrir el actualizador", "Your version is up to date." : "Su versión está actualizada.", @@ -20,6 +19,9 @@ OC.L10N.register( "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No se ha podido conectar a la appstore o la appstore no ha devuelto ninguna actualización. Busca actualizaciones manualmente o asegúrate de que tu servidor tiene acceso a internet y puede conectarse a la appstore.", "<strong>All</strong> apps have an update for this version available" : "<strong>Todas</strong> las apps tienen disponible una actualización para esta versión", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> app no tiene actualización disponible para esta versión.","<strong>%n</strong> apps no tienen actualización disponible para esta versión."], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>production</strong> siempre proporcionará el último nivel de parches, pero no se actualizará a la próxima versión principal de inmediato. Esa actualización generalmente ocurre con la segunda versión menor (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>stable</strong> es la versión estable más reciente. Es adecuado para uso en producción y siempre se actualizará a la última versión principal.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> es una versión preliminar solo para probar nuevas características, no para entornos de producción.", "Could not start updater, please try the manual update" : "No se ha podido iniciar el actualizador. Por favor, prueba a realizar la actualización de forma manual", "Update notifications" : "Actualizar notificaciones", "Channel updated" : "Canal actualizado", diff --git a/apps/updatenotification/l10n/es.json b/apps/updatenotification/l10n/es.json index 9de3196df1b..5451ff39f2b 100644 --- a/apps/updatenotification/l10n/es.json +++ b/apps/updatenotification/l10n/es.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} está disponible. Obtenga más información sobre cómo actualizar.", - "Apps missing updates" : "Apps sin actualizaciones", "Apps with available updates" : "Apps con actualizaciones disponibles", "Open updater" : "Abrir el actualizador", "Your version is up to date." : "Su versión está actualizada.", @@ -18,6 +17,9 @@ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No se ha podido conectar a la appstore o la appstore no ha devuelto ninguna actualización. Busca actualizaciones manualmente o asegúrate de que tu servidor tiene acceso a internet y puede conectarse a la appstore.", "<strong>All</strong> apps have an update for this version available" : "<strong>Todas</strong> las apps tienen disponible una actualización para esta versión", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> app no tiene actualización disponible para esta versión.","<strong>%n</strong> apps no tienen actualización disponible para esta versión."], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>production</strong> siempre proporcionará el último nivel de parches, pero no se actualizará a la próxima versión principal de inmediato. Esa actualización generalmente ocurre con la segunda versión menor (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>stable</strong> es la versión estable más reciente. Es adecuado para uso en producción y siempre se actualizará a la última versión principal.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> es una versión preliminar solo para probar nuevas características, no para entornos de producción.", "Could not start updater, please try the manual update" : "No se ha podido iniciar el actualizador. Por favor, prueba a realizar la actualización de forma manual", "Update notifications" : "Actualizar notificaciones", "Channel updated" : "Canal actualizado", diff --git a/apps/updatenotification/l10n/es_MX.js b/apps/updatenotification/l10n/es_MX.js index 92af65e60e7..5bb1fb5d272 100644 --- a/apps/updatenotification/l10n/es_MX.js +++ b/apps/updatenotification/l10n/es_MX.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ", - "Apps missing updates" : "Aplicaciones con actualizaciones faltantes", "Apps with available updates" : "Aplicaciones con actualizaciones disponibles", "Open updater" : "Abrir actualizador", "Your version is up to date." : "Tu verisón está actualizada.", @@ -20,6 +19,9 @@ OC.L10N.register( "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó ninguna actualización. Busca manualmente o asegurate que tu servidor teng acceso a Internet y pueda conectarse a la appstore. ", "<strong>All</strong> apps have an update for this version available" : "<strong>Todas</strong> las aplicaciones tienen una actualización disponible para esta versión", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> aplicación no cuenta con una actualización para esta versión","<strong>%n</strong> aplicaciones no cuentan con una actualización para esta versión"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>producción</strong> siempre contará el más reciente nivel de parches, pero no actualizará a la siguiente liberación mayor inmediatamente. Esta actualización siempre sucede en la segunda liberación menor (x.0.2)", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>estable</strong> es la version estable más reciente. Es adecuada para su uso en producción y siempre estará actualizada a la versión mayor más reciente. ", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> es una versión de pre-liberación sólo para probar nuevas características, no para ambientes de producción. ", "Could not start updater, please try the manual update" : "No fue posible iniciar el actualizador, por favor intenta la actualización manual", "Update notifications" : "Actualizar notificaciones", "Channel updated" : "Canal actualizado", diff --git a/apps/updatenotification/l10n/es_MX.json b/apps/updatenotification/l10n/es_MX.json index e3af68385be..d71edae7cac 100644 --- a/apps/updatenotification/l10n/es_MX.json +++ b/apps/updatenotification/l10n/es_MX.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} está disponible. Obten más información de cómo actualizar. ", - "Apps missing updates" : "Aplicaciones con actualizaciones faltantes", "Apps with available updates" : "Aplicaciones con actualizaciones disponibles", "Open updater" : "Abrir actualizador", "Your version is up to date." : "Tu verisón está actualizada.", @@ -18,6 +17,9 @@ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "No fue posible conectarse a la appstore o bien la appstore no regresó ninguna actualización. Busca manualmente o asegurate que tu servidor teng acceso a Internet y pueda conectarse a la appstore. ", "<strong>All</strong> apps have an update for this version available" : "<strong>Todas</strong> las aplicaciones tienen una actualización disponible para esta versión", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> aplicación no cuenta con una actualización para esta versión","<strong>%n</strong> aplicaciones no cuentan con una actualización para esta versión"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>producción</strong> siempre contará el más reciente nivel de parches, pero no actualizará a la siguiente liberación mayor inmediatamente. Esta actualización siempre sucede en la segunda liberación menor (x.0.2)", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>estable</strong> es la version estable más reciente. Es adecuada para su uso en producción y siempre estará actualizada a la versión mayor más reciente. ", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> es una versión de pre-liberación sólo para probar nuevas características, no para ambientes de producción. ", "Could not start updater, please try the manual update" : "No fue posible iniciar el actualizador, por favor intenta la actualización manual", "Update notifications" : "Actualizar notificaciones", "Channel updated" : "Canal actualizado", diff --git a/apps/updatenotification/l10n/fi.js b/apps/updatenotification/l10n/fi.js index c032e53dcf7..6c4671a1ea5 100644 --- a/apps/updatenotification/l10n/fi.js +++ b/apps/updatenotification/l10n/fi.js @@ -2,6 +2,7 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} on saatavilla. Tarjolla on lisätietoja päivittämisestä.", + "Apps with available updates" : "Sovellukset, joihin saatavilla päivityksiä", "Open updater" : "Avaa päivittäjä", "Your version is up to date." : "Versiosi on ajan tasalla.", "Update channel:" : "Päivityskanava:", @@ -9,6 +10,7 @@ OC.L10N.register( "Notify members of the following groups about available updates:" : "Ilmoita seuraavien ryhmien jäsenille saatavilla olevista päivityksistä:", "Only notification for app updates are available." : "Sovelluspäivityksiin on saatavilla vain huomautuksia.", "The selected update channel does not support updates of the server." : "Valittu päivityskanava ei tue palvelimen päivityksiä.", + "A new version is available: <strong>{newVersionString}</strong>" : "Uusi versio on saatavilla: <strong>{newVersionString}</strong>", "Checked on {lastCheckedDate}" : "Tarkistettu {lastCheckedDate}", "Could not start updater, please try the manual update" : "Ei voitu aloittaa päivitystä, kokeile päivittämistä manuaalisesti", "Update notifications" : "Päivitysilmoitukset", diff --git a/apps/updatenotification/l10n/fi.json b/apps/updatenotification/l10n/fi.json index 3c8e176472e..a9a18a8575c 100644 --- a/apps/updatenotification/l10n/fi.json +++ b/apps/updatenotification/l10n/fi.json @@ -1,5 +1,6 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} on saatavilla. Tarjolla on lisätietoja päivittämisestä.", + "Apps with available updates" : "Sovellukset, joihin saatavilla päivityksiä", "Open updater" : "Avaa päivittäjä", "Your version is up to date." : "Versiosi on ajan tasalla.", "Update channel:" : "Päivityskanava:", @@ -7,6 +8,7 @@ "Notify members of the following groups about available updates:" : "Ilmoita seuraavien ryhmien jäsenille saatavilla olevista päivityksistä:", "Only notification for app updates are available." : "Sovelluspäivityksiin on saatavilla vain huomautuksia.", "The selected update channel does not support updates of the server." : "Valittu päivityskanava ei tue palvelimen päivityksiä.", + "A new version is available: <strong>{newVersionString}</strong>" : "Uusi versio on saatavilla: <strong>{newVersionString}</strong>", "Checked on {lastCheckedDate}" : "Tarkistettu {lastCheckedDate}", "Could not start updater, please try the manual update" : "Ei voitu aloittaa päivitystä, kokeile päivittämistä manuaalisesti", "Update notifications" : "Päivitysilmoitukset", diff --git a/apps/updatenotification/l10n/fr.js b/apps/updatenotification/l10n/fr.js index 2be870054ca..b80bff1d218 100644 --- a/apps/updatenotification/l10n/fr.js +++ b/apps/updatenotification/l10n/fr.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "La version {version} est disponible. Cliquez ici pour plus d'informations sur comment mettre à jour.", - "Apps missing updates" : "Applications avec des mises à jour manquantes", "Apps with available updates" : "Applications avec des mises à jour disponibles", "Open updater" : "Ouvrir le système de mise à jour", "Your version is up to date." : "Votre version est à jour.", @@ -20,6 +19,9 @@ OC.L10N.register( "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Il est impossible de se connecter à l'appstore ou alors l'appstore n'a renvoyé aucune mise à jour. Cherchez manuellement les mises à jour ou assurez-vous que votre serveur a accès à Internet et peut se connecter à l'appstore.", "<strong>All</strong> apps have an update for this version available" : "<strong>Toutes</strong> les applications ont une mise à jour disponible pour cette version", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> application n'a pas de mise à jour disponible pour cette version","<strong>%n</strong> applications n'ont pas de mise à jour disponible pour cette version"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>production</strong> fournira toujours le correctif le plus récent, mais ne mettra pas immédiatement à jour vers la version majeure suivante. Cette mise à jour se produit généralement avec la deuxième version mineure (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>stable</strong> est la version stable la plus récente. Il est adapté à une utilisation en production et sera toujours mis à jour vers la dernière version majeure.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> est une version préliminaire utilisée seulement pour tester les nouvelles fonctionnalités, n'est pas adaptée dans un environnement de production.", "Could not start updater, please try the manual update" : "Impossible de démarrer le système de mise à jour, veuillez essayer de mettre à jour manuellement", "Update notifications" : "Notifications de mises à jour", "Channel updated" : "Canal de mise à jour modifié", diff --git a/apps/updatenotification/l10n/fr.json b/apps/updatenotification/l10n/fr.json index 3d4e6e007ff..21646f03ccc 100644 --- a/apps/updatenotification/l10n/fr.json +++ b/apps/updatenotification/l10n/fr.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "La version {version} est disponible. Cliquez ici pour plus d'informations sur comment mettre à jour.", - "Apps missing updates" : "Applications avec des mises à jour manquantes", "Apps with available updates" : "Applications avec des mises à jour disponibles", "Open updater" : "Ouvrir le système de mise à jour", "Your version is up to date." : "Votre version est à jour.", @@ -18,6 +17,9 @@ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Il est impossible de se connecter à l'appstore ou alors l'appstore n'a renvoyé aucune mise à jour. Cherchez manuellement les mises à jour ou assurez-vous que votre serveur a accès à Internet et peut se connecter à l'appstore.", "<strong>All</strong> apps have an update for this version available" : "<strong>Toutes</strong> les applications ont une mise à jour disponible pour cette version", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> application n'a pas de mise à jour disponible pour cette version","<strong>%n</strong> applications n'ont pas de mise à jour disponible pour cette version"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>production</strong> fournira toujours le correctif le plus récent, mais ne mettra pas immédiatement à jour vers la version majeure suivante. Cette mise à jour se produit généralement avec la deuxième version mineure (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>stable</strong> est la version stable la plus récente. Il est adapté à une utilisation en production et sera toujours mis à jour vers la dernière version majeure.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> est une version préliminaire utilisée seulement pour tester les nouvelles fonctionnalités, n'est pas adaptée dans un environnement de production.", "Could not start updater, please try the manual update" : "Impossible de démarrer le système de mise à jour, veuillez essayer de mettre à jour manuellement", "Update notifications" : "Notifications de mises à jour", "Channel updated" : "Canal de mise à jour modifié", diff --git a/apps/updatenotification/l10n/hu.js b/apps/updatenotification/l10n/hu.js index b1555d45e66..e1604ef23f6 100644 --- a/apps/updatenotification/l10n/hu.js +++ b/apps/updatenotification/l10n/hu.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} rendelkezésre áll. További információ a frissítéshez.", - "Apps missing updates" : "Alkalmazások frissítés nélkül", "Apps with available updates" : "Alkalmazások frissítéssel", "Open updater" : "Frissítő megnyitása", "Your version is up to date." : "Verzió frissítve.", diff --git a/apps/updatenotification/l10n/hu.json b/apps/updatenotification/l10n/hu.json index 7adc5fa9c71..57e1c3c727e 100644 --- a/apps/updatenotification/l10n/hu.json +++ b/apps/updatenotification/l10n/hu.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} rendelkezésre áll. További információ a frissítéshez.", - "Apps missing updates" : "Alkalmazások frissítés nélkül", "Apps with available updates" : "Alkalmazások frissítéssel", "Open updater" : "Frissítő megnyitása", "Your version is up to date." : "Verzió frissítve.", diff --git a/apps/updatenotification/l10n/it.js b/apps/updatenotification/l10n/it.js index a7122c62fac..9fe0cfade29 100644 --- a/apps/updatenotification/l10n/it.js +++ b/apps/updatenotification/l10n/it.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} è disponibile. Ottieni ulteriori informazioni su come eseguire l'aggiornamento.", - "Apps missing updates" : "Applicazioni senza aggiornamenti", "Apps with available updates" : "Applicazioni con aggiornamenti disponibili", "Open updater" : "Apri strumento di aggiornamento", "Your version is up to date." : "La tua versione è aggiornata.", @@ -20,6 +19,9 @@ OC.L10N.register( "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Impossibile connettersi al negozio delle applicazioni o il negozio delle applicazioni non ha restituito alcun aggiornamento. Cerca manualmente gli aggiornamenti o assicurati che il server abbia accesso a Internet e possa collegarsi al negozio delle applicazioni.", "<strong>All</strong> apps have an update for this version available" : "<strong>Tutte</strong> le applicazioni hanno un aggiornamento disponibile per questa versione", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> applicazione non ha un aggiornamento disponibile per questa versione","<strong>%n</strong> applicazioni non hanno un aggiornamento disponibile per questa versione"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>produzione</strong> fornirà sempre l'ultimo livello di patch, ma non aggiornerà immediatamente alla successiva versione principale. Tale aggiornamento di solito avviene con la seconda versione minore (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>stabile</strong> è la versione stabile più recente. È appropriata per l'utilizzo in produzione e sarà sempre aggiornata all'ultima versione stabile.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> è una versione pre-rilascio solo per provare le nuove funzionalità, non per ambienti di produzione.", "Could not start updater, please try the manual update" : "Impossibile avviare lo strumento di aggiornamento, prova l'aggiornamento manuale", "Update notifications" : "Notifiche di aggiornamento", "Channel updated" : "Canale aggiornato", diff --git a/apps/updatenotification/l10n/it.json b/apps/updatenotification/l10n/it.json index cd1887d4215..a420c26770a 100644 --- a/apps/updatenotification/l10n/it.json +++ b/apps/updatenotification/l10n/it.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} è disponibile. Ottieni ulteriori informazioni su come eseguire l'aggiornamento.", - "Apps missing updates" : "Applicazioni senza aggiornamenti", "Apps with available updates" : "Applicazioni con aggiornamenti disponibili", "Open updater" : "Apri strumento di aggiornamento", "Your version is up to date." : "La tua versione è aggiornata.", @@ -18,6 +17,9 @@ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Impossibile connettersi al negozio delle applicazioni o il negozio delle applicazioni non ha restituito alcun aggiornamento. Cerca manualmente gli aggiornamenti o assicurati che il server abbia accesso a Internet e possa collegarsi al negozio delle applicazioni.", "<strong>All</strong> apps have an update for this version available" : "<strong>Tutte</strong> le applicazioni hanno un aggiornamento disponibile per questa versione", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> applicazione non ha un aggiornamento disponibile per questa versione","<strong>%n</strong> applicazioni non hanno un aggiornamento disponibile per questa versione"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>produzione</strong> fornirà sempre l'ultimo livello di patch, ma non aggiornerà immediatamente alla successiva versione principale. Tale aggiornamento di solito avviene con la seconda versione minore (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>stabile</strong> è la versione stabile più recente. È appropriata per l'utilizzo in produzione e sarà sempre aggiornata all'ultima versione stabile.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> è una versione pre-rilascio solo per provare le nuove funzionalità, non per ambienti di produzione.", "Could not start updater, please try the manual update" : "Impossibile avviare lo strumento di aggiornamento, prova l'aggiornamento manuale", "Update notifications" : "Notifiche di aggiornamento", "Channel updated" : "Canale aggiornato", diff --git a/apps/updatenotification/l10n/nl.js b/apps/updatenotification/l10n/nl.js index cc2360ca7dc..ed58bf7ed03 100644 --- a/apps/updatenotification/l10n/nl.js +++ b/apps/updatenotification/l10n/nl.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} is beschikbaar. Meer informatie over het bijwerken.", - "Apps missing updates" : "Apps met ontbrekende updates", "Apps with available updates" : "Apps met beschikbare updates", "Open updater" : "Open updater", "Your version is up to date." : "Je versie is up to date.", diff --git a/apps/updatenotification/l10n/nl.json b/apps/updatenotification/l10n/nl.json index a33d9157b52..719f15a39cd 100644 --- a/apps/updatenotification/l10n/nl.json +++ b/apps/updatenotification/l10n/nl.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} is beschikbaar. Meer informatie over het bijwerken.", - "Apps missing updates" : "Apps met ontbrekende updates", "Apps with available updates" : "Apps met beschikbare updates", "Open updater" : "Open updater", "Your version is up to date." : "Je versie is up to date.", diff --git a/apps/updatenotification/l10n/pt_BR.js b/apps/updatenotification/l10n/pt_BR.js index 1f98e13558d..0b473cc5e83 100644 --- a/apps/updatenotification/l10n/pt_BR.js +++ b/apps/updatenotification/l10n/pt_BR.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} está disponível. Obtenha mais informações sobre como atualizar.", - "Apps missing updates" : "Aplicativos com atualizações faltantes ", "Apps with available updates" : "Aplicativos com atualizações disponíveis", "Open updater" : "Abrir atualizador", "Your version is up to date." : "Sua versão está atualizada.", @@ -20,6 +19,9 @@ OC.L10N.register( "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Não foi possível conectar a appstore ou não havia atualização. Procure manualmente por atualizações ou verifique se o servidor tem acesso à internet.", "<strong>All</strong> apps have an update for this version available" : "<strong>Todos</strong> os aplicativos tem uma atualização disponível", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> aplicativo não tem atualização disponível","<strong>%n</strong> aplicativos tem uma atualização disponível"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>produção</strong> sempre fornecerá o nível de patch mais recente, mas não será atualizada para a próxima versão principal imediatamente. Essa atualização geralmente acontece com o segundo lançamento menor (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>estável</strong> é a versão estável mais recente. Ela é adequada para uso em produção e sempre será atualizada para a versão principal mais recente.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> é uma versão de pré-lançamento apenas para testar novos recursos, não para ambientes de produção.", "Could not start updater, please try the manual update" : "Não foi possível iniciar o atualizador, tente a atualização manual", "Update notifications" : "Notificações de atualização", "Channel updated" : "Canal atualizado", diff --git a/apps/updatenotification/l10n/pt_BR.json b/apps/updatenotification/l10n/pt_BR.json index b724ac41217..715e6569d1d 100644 --- a/apps/updatenotification/l10n/pt_BR.json +++ b/apps/updatenotification/l10n/pt_BR.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} está disponível. Obtenha mais informações sobre como atualizar.", - "Apps missing updates" : "Aplicativos com atualizações faltantes ", "Apps with available updates" : "Aplicativos com atualizações disponíveis", "Open updater" : "Abrir atualizador", "Your version is up to date." : "Sua versão está atualizada.", @@ -18,6 +17,9 @@ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Não foi possível conectar a appstore ou não havia atualização. Procure manualmente por atualizações ou verifique se o servidor tem acesso à internet.", "<strong>All</strong> apps have an update for this version available" : "<strong>Todos</strong> os aplicativos tem uma atualização disponível", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> aplicativo não tem atualização disponível","<strong>%n</strong> aplicativos tem uma atualização disponível"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>produção</strong> sempre fornecerá o nível de patch mais recente, mas não será atualizada para a próxima versão principal imediatamente. Essa atualização geralmente acontece com o segundo lançamento menor (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>estável</strong> é a versão estável mais recente. Ela é adequada para uso em produção e sempre será atualizada para a versão principal mais recente.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>beta</strong> é uma versão de pré-lançamento apenas para testar novos recursos, não para ambientes de produção.", "Could not start updater, please try the manual update" : "Não foi possível iniciar o atualizador, tente a atualização manual", "Update notifications" : "Notificações de atualização", "Channel updated" : "Canal atualizado", diff --git a/apps/updatenotification/l10n/ru.js b/apps/updatenotification/l10n/ru.js index 99cff4972f3..f598b4f794e 100644 --- a/apps/updatenotification/l10n/ru.js +++ b/apps/updatenotification/l10n/ru.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "Доступна версия {version}. Получить дополнительную информацию о порядке обновления.", - "Apps missing updates" : "У приложений отсутствуют обновления", "Apps with available updates" : "Приложения с доступными обновлениями", "Open updater" : "Открыть окно обновления", "Your version is up to date." : "Версия не требует обновления.", diff --git a/apps/updatenotification/l10n/ru.json b/apps/updatenotification/l10n/ru.json index 9638a6ae831..05dacfa2ea0 100644 --- a/apps/updatenotification/l10n/ru.json +++ b/apps/updatenotification/l10n/ru.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "Доступна версия {version}. Получить дополнительную информацию о порядке обновления.", - "Apps missing updates" : "У приложений отсутствуют обновления", "Apps with available updates" : "Приложения с доступными обновлениями", "Open updater" : "Открыть окно обновления", "Your version is up to date." : "Версия не требует обновления.", diff --git a/apps/updatenotification/l10n/sr.js b/apps/updatenotification/l10n/sr.js index 676ce6fb8a7..b7f99f9bbcf 100644 --- a/apps/updatenotification/l10n/sr.js +++ b/apps/updatenotification/l10n/sr.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "Верзија {version} је доступна. Сазнајте како да ажурирате.", - "Apps missing updates" : "Апликацијама недостају ажурирања", "Apps with available updates" : "Апликације са доступним ажурирањима", "Open updater" : "Отвори програм за ажурирање", "Your version is up to date." : "Ваша верзија је ажурна.", @@ -16,10 +15,13 @@ OC.L10N.register( "A new version is available: <strong>{newVersionString}</strong>" : "Доступна је нова верзија: <strong>{newVersionString}</strong>", "Checked on {lastCheckedDate}" : "Проверено {lastCheckedDate}", "Checking apps for compatible updates" : "Проверавам компатибилна ажурирања за апликације", - "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Проверите да у config.php фајлу немате сетовано <samp>appstoreenabled</samp> на \"false\".", - "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Не могу да се повежем на продавницу апликација или апликација није вратила ниједно ажурирање. Претражите ручно за ажурирања и постарајте се да Ваш сервер има приступ интернету и да се може повезати са продавницом апликација.", + "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Проверите да у config.php фајлу немате <samp>appstoreenabled</samp> постављено на „false“.", + "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Не могу да се повежем на продавницу апликација или продавница нема ниједно ажурирање. Претражите ручно ажурирања или проверите да ли сервер има везу са интернетом", "<strong>All</strong> apps have an update for this version available" : "<strong>Све</strong> апликације имају доступна ажурирања за ову верзију", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> апликација имају доступна ажурирања за ову верзију","<strong>%n</strong> апликације имају доступна ажурирања за ову верзију","<strong>%n</strong> апликација имају доступна ажурирања за ову верзију"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>радна</strong> ће увек давати последњи ниво закрпа али неће се одмах ажурирати на следеће главно издање. То ажурирање се углавном обавља по изласку другог мањег издања (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>стабилна</strong> је најновија стабилна верзија. Прикладна за свакодневну радну употребу и увек се ажурира на најновију главну верзију.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>бета</strong> је пред-издање и служи само за тестирање нових могућности, не за свакодневни рад.", "Could not start updater, please try the manual update" : "Не могу да покренем програм за ажурирање, покушајте ручно ажурирање", "Update notifications" : "Обавештења о ажурирању", "Channel updated" : "Канал ажуриран", diff --git a/apps/updatenotification/l10n/sr.json b/apps/updatenotification/l10n/sr.json index 0301b8ea51a..2c98a97ac14 100644 --- a/apps/updatenotification/l10n/sr.json +++ b/apps/updatenotification/l10n/sr.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "Верзија {version} је доступна. Сазнајте како да ажурирате.", - "Apps missing updates" : "Апликацијама недостају ажурирања", "Apps with available updates" : "Апликације са доступним ажурирањима", "Open updater" : "Отвори програм за ажурирање", "Your version is up to date." : "Ваша верзија је ажурна.", @@ -14,10 +13,13 @@ "A new version is available: <strong>{newVersionString}</strong>" : "Доступна је нова верзија: <strong>{newVersionString}</strong>", "Checked on {lastCheckedDate}" : "Проверено {lastCheckedDate}", "Checking apps for compatible updates" : "Проверавам компатибилна ажурирања за апликације", - "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Проверите да у config.php фајлу немате сетовано <samp>appstoreenabled</samp> на \"false\".", - "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Не могу да се повежем на продавницу апликација или апликација није вратила ниједно ажурирање. Претражите ручно за ажурирања и постарајте се да Ваш сервер има приступ интернету и да се може повезати са продавницом апликација.", + "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Проверите да у config.php фајлу немате <samp>appstoreenabled</samp> постављено на „false“.", + "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Не могу да се повежем на продавницу апликација или продавница нема ниједно ажурирање. Претражите ручно ажурирања или проверите да ли сервер има везу са интернетом", "<strong>All</strong> apps have an update for this version available" : "<strong>Све</strong> апликације имају доступна ажурирања за ову верзију", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> апликација имају доступна ажурирања за ову верзију","<strong>%n</strong> апликације имају доступна ажурирања за ову верзију","<strong>%n</strong> апликација имају доступна ажурирања за ову верзију"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>радна</strong> ће увек давати последњи ниво закрпа али неће се одмах ажурирати на следеће главно издање. То ажурирање се углавном обавља по изласку другог мањег издања (x.0.2).", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>стабилна</strong> је најновија стабилна верзија. Прикладна за свакодневну радну употребу и увек се ажурира на најновију главну верзију.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>бета</strong> је пред-издање и служи само за тестирање нових могућности, не за свакодневни рад.", "Could not start updater, please try the manual update" : "Не могу да покренем програм за ажурирање, покушајте ручно ажурирање", "Update notifications" : "Обавештења о ажурирању", "Channel updated" : "Канал ажуриран", diff --git a/apps/updatenotification/l10n/sv.js b/apps/updatenotification/l10n/sv.js index e3905da0386..a4e55cc8a19 100644 --- a/apps/updatenotification/l10n/sv.js +++ b/apps/updatenotification/l10n/sv.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} är tillgänglig. Få mer information om hur du uppdaterar.", - "Apps missing updates" : "Appar saknar uppdateringar", "Apps with available updates" : "Appar med tillgängliga uppdateringar", "Open updater" : "Öppna uppdateraren", "Your version is up to date." : "Din version är uppdaterad.", diff --git a/apps/updatenotification/l10n/sv.json b/apps/updatenotification/l10n/sv.json index 2d47eda9e78..137a825d77e 100644 --- a/apps/updatenotification/l10n/sv.json +++ b/apps/updatenotification/l10n/sv.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} är tillgänglig. Få mer information om hur du uppdaterar.", - "Apps missing updates" : "Appar saknar uppdateringar", "Apps with available updates" : "Appar med tillgängliga uppdateringar", "Open updater" : "Öppna uppdateraren", "Your version is up to date." : "Din version är uppdaterad.", diff --git a/apps/updatenotification/l10n/tr.js b/apps/updatenotification/l10n/tr.js index c7c11967e69..508ed1eccfd 100644 --- a/apps/updatenotification/l10n/tr.js +++ b/apps/updatenotification/l10n/tr.js @@ -2,7 +2,6 @@ OC.L10N.register( "updatenotification", { "{version} is available. Get more information on how to update." : "{version} sürümü yayınlanmış. Güncelleme hakkında ayrıntılı bilgi alın.", - "Apps missing updates" : "Güncellemesi eksik uygulamalar", "Apps with available updates" : "Güncellenebilecek uygulamalar", "Open updater" : "Güncelleyici aç", "Your version is up to date." : "Sürümünüz güncel.", @@ -20,6 +19,9 @@ OC.L10N.register( "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Uygulama mağazasına bağlanılamadı ya da uygulama mağazasında herhangi bir güncelleme yok. Güncellemeleri el ile arayın ya da sunucunuzun İnternet üzerine ve uygulama mağazasına bağlanabildiğinden emin olun.", "<strong>All</strong> apps have an update for this version available" : "<strong>Tüm</strong> uygulamaların bu sürüm için kullanılabilecek bir güncellemesi var", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> uygulamanın bu sürüm için kullanılabilecek bir güncellemesi yok","<strong>%n</strong> uygulamanın bu sürüm için kullanılabilecek bir güncellemesi yok"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>Üretim</strong> her zaman en son yama düzeyini sağlar ancak sonraki büyük sürüme hemen güncellemez. Bu güncelleme genellikle ikinci küçük sürüm kullanılarak yapılır (x.0.2)", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>Kararlı</strong> son kararlı sürümü sağlar. Üretim kullanımına uygundur ve her zaman son büyük sürüme günceller.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>Beta</strong> yeni özelliklerin denenebileceği yayım öncesi sürümüdür. Üretim ortamlarında kullanılması önerilmez.", "Could not start updater, please try the manual update" : "Güncelleyici başlatılamadı lütfen el ile güncellemeyi deneyin", "Update notifications" : "Güncelleme bildirimleri", "Channel updated" : "Kanal güncellendi", diff --git a/apps/updatenotification/l10n/tr.json b/apps/updatenotification/l10n/tr.json index 8be46e573fb..96882619b59 100644 --- a/apps/updatenotification/l10n/tr.json +++ b/apps/updatenotification/l10n/tr.json @@ -1,6 +1,5 @@ { "translations": { "{version} is available. Get more information on how to update." : "{version} sürümü yayınlanmış. Güncelleme hakkında ayrıntılı bilgi alın.", - "Apps missing updates" : "Güncellemesi eksik uygulamalar", "Apps with available updates" : "Güncellenebilecek uygulamalar", "Open updater" : "Güncelleyici aç", "Your version is up to date." : "Sürümünüz güncel.", @@ -18,6 +17,9 @@ "Could not connect to the appstore or the appstore returned no updates at all. Search manually for updates or make sure your server has access to the internet and can connect to the appstore." : "Uygulama mağazasına bağlanılamadı ya da uygulama mağazasında herhangi bir güncelleme yok. Güncellemeleri el ile arayın ya da sunucunuzun İnternet üzerine ve uygulama mağazasına bağlanabildiğinden emin olun.", "<strong>All</strong> apps have an update for this version available" : "<strong>Tüm</strong> uygulamaların bu sürüm için kullanılabilecek bir güncellemesi var", "_<strong>%n</strong> app has no update for this version available_::_<strong>%n</strong> apps have no update for this version available_" : ["<strong>%n</strong> uygulamanın bu sürüm için kullanılabilecek bir güncellemesi yok","<strong>%n</strong> uygulamanın bu sürüm için kullanılabilecek bir güncellemesi yok"], + "<strong>production</strong> will always provide the latest patch level, but not update to the next major release immediately. That update usually happens with the second minor release (x.0.2)." : "<strong>Üretim</strong> her zaman en son yama düzeyini sağlar ancak sonraki büyük sürüme hemen güncellemez. Bu güncelleme genellikle ikinci küçük sürüm kullanılarak yapılır (x.0.2)", + "<strong>stable</strong> is the most recent stable version. It is suited for production use and will always update to the latest major version." : "<strong>Kararlı</strong> son kararlı sürümü sağlar. Üretim kullanımına uygundur ve her zaman son büyük sürüme günceller.", + "<strong>beta</strong> is a pre-release version only for testing new features, not for production environments." : "<strong>Beta</strong> yeni özelliklerin denenebileceği yayım öncesi sürümüdür. Üretim ortamlarında kullanılması önerilmez.", "Could not start updater, please try the manual update" : "Güncelleyici başlatılamadı lütfen el ile güncellemeyi deneyin", "Update notifications" : "Güncelleme bildirimleri", "Channel updated" : "Kanal güncellendi", diff --git a/apps/updatenotification/lib/Settings/Admin.php b/apps/updatenotification/lib/Settings/Admin.php index 258cba35e80..5213eb905ee 100644 --- a/apps/updatenotification/lib/Settings/Admin.php +++ b/apps/updatenotification/lib/Settings/Admin.php @@ -94,6 +94,7 @@ class Admin implements ISettings { 'newVersionString' => empty($updateState['updateVersion']) ? '' : $updateState['updateVersion'], 'downloadLink' => empty($updateState['downloadLink']) ? '' : $updateState['downloadLink'], 'updaterEnabled' => empty($updateState['updaterEnabled']) ? false : $updateState['updaterEnabled'], + 'versionIsEol' => empty($updateState['versionIsEol']) ? false : $updateState['versionIsEol'], 'isDefaultUpdateServerURL' => $updateServerURL === $defaultUpdateServerURL, 'updateServerURL' => $updateServerURL, 'notifyGroups' => $this->getSelectedGroups($notifyGroups), diff --git a/apps/updatenotification/lib/UpdateChecker.php b/apps/updatenotification/lib/UpdateChecker.php index 5f2712423d2..bba1fa5d48c 100644 --- a/apps/updatenotification/lib/UpdateChecker.php +++ b/apps/updatenotification/lib/UpdateChecker.php @@ -49,6 +49,7 @@ class UpdateChecker { $result['updateAvailable'] = true; $result['updateVersion'] = $data['versionstring']; $result['updaterEnabled'] = $data['autoupdater'] === '1'; + $result['versionIsEol'] = $data['eol'] === '1'; if (strpos($data['web'], 'https://') === 0) { $result['updateLink'] = $data['web']; } diff --git a/apps/updatenotification/tests/Settings/AdminTest.php b/apps/updatenotification/tests/Settings/AdminTest.php index 440e26cfd33..4e2ac3a53d9 100644 --- a/apps/updatenotification/tests/Settings/AdminTest.php +++ b/apps/updatenotification/tests/Settings/AdminTest.php @@ -100,6 +100,7 @@ class AdminTest extends TestCase { 'updateVersion' => '8.1.2', 'downloadLink' => 'https://downloads.nextcloud.org/server', 'updaterEnabled' => true, + 'versionIsEol' => false, ]); $group = $this->createMock(IGroup::class); @@ -124,6 +125,7 @@ class AdminTest extends TestCase { 'newVersionString' => '8.1.2', 'downloadLink' => 'https://downloads.nextcloud.org/server', 'updaterEnabled' => true, + 'versionIsEol' => false, 'isDefaultUpdateServerURL' => true, 'updateServerURL' => 'https://updates.nextcloud.com/updater_server/', 'notifyGroups' => [ diff --git a/apps/updatenotification/tests/UpdateCheckerTest.php b/apps/updatenotification/tests/UpdateCheckerTest.php index 5502e1ce8ac..6f5edf0c78c 100644 --- a/apps/updatenotification/tests/UpdateCheckerTest.php +++ b/apps/updatenotification/tests/UpdateCheckerTest.php @@ -52,12 +52,14 @@ class UpdateCheckerTest extends TestCase { 'web'=> 'javascript:alert(1)', 'url'=> 'javascript:alert(2)', 'autoupdater'=> '0', + 'eol'=> '1', ]); $expected = [ 'updateAvailable' => true, 'updateVersion' => 'Nextcloud 123', 'updaterEnabled' => false, + 'versionIsEol' => true, ]; $this->assertSame($expected, $this->updateChecker->getUpdateState()); } @@ -72,12 +74,14 @@ class UpdateCheckerTest extends TestCase { 'web'=> 'https://docs.nextcloud.com/myUrl', 'url'=> 'https://downloads.nextcloud.org/server', 'autoupdater'=> '1', + 'eol'=> '0', ]); $expected = [ 'updateAvailable' => true, 'updateVersion' => 'Nextcloud 123', 'updaterEnabled' => true, + 'versionIsEol' => false, 'updateLink' => 'https://docs.nextcloud.com/myUrl', 'downloadLink' => 'https://downloads.nextcloud.org/server', ]; diff --git a/apps/user_ldap/ajax/clearMappings.php b/apps/user_ldap/ajax/clearMappings.php index 4ec03307296..01b6b7f0ef2 100644 --- a/apps/user_ldap/ajax/clearMappings.php +++ b/apps/user_ldap/ajax/clearMappings.php @@ -27,9 +27,9 @@ use OCA\User_LDAP\Mapping\UserMapping; use OCA\User_LDAP\Mapping\GroupMapping; // Check user and app status -OCP\JSON::checkAdminUser(); -OCP\JSON::checkAppEnabled('user_ldap'); -OCP\JSON::callCheck(); +\OC_JSON::checkAdminUser(); +\OC_JSON::checkAppEnabled('user_ldap'); +\OC_JSON::callCheck(); $subject = (string)$_POST['ldap_clear_mapping']; $mapping = null; @@ -43,7 +43,7 @@ try { $l = \OC::$server->getL10N('user_ldap'); throw new \Exception($l->t('Failed to clear the mappings.')); } - OCP\JSON::success(); + \OC_JSON::success(); } catch (\Exception $e) { - OCP\JSON::error(array('message' => $e->getMessage())); + \OC_JSON::error(array('message' => $e->getMessage())); } diff --git a/apps/user_ldap/ajax/deleteConfiguration.php b/apps/user_ldap/ajax/deleteConfiguration.php index 220f4c13c4a..fa2ab36770f 100644 --- a/apps/user_ldap/ajax/deleteConfiguration.php +++ b/apps/user_ldap/ajax/deleteConfiguration.php @@ -27,15 +27,15 @@ */ // Check user and app status -OCP\JSON::checkAdminUser(); -OCP\JSON::checkAppEnabled('user_ldap'); -OCP\JSON::callCheck(); +\OC_JSON::checkAdminUser(); +\OC_JSON::checkAppEnabled('user_ldap'); +\OC_JSON::callCheck(); $prefix = (string)$_POST['ldap_serverconfig_chooser']; $helper = new \OCA\User_LDAP\Helper(\OC::$server->getConfig()); if($helper->deleteServerConfiguration($prefix)) { - OCP\JSON::success(); + \OC_JSON::success(); } else { $l = \OC::$server->getL10N('user_ldap'); - OCP\JSON::error(array('message' => $l->t('Failed to delete the server configuration'))); + \OC_JSON::error(array('message' => $l->t('Failed to delete the server configuration'))); } diff --git a/apps/user_ldap/ajax/getConfiguration.php b/apps/user_ldap/ajax/getConfiguration.php index a6c3d975782..72404d6b304 100644 --- a/apps/user_ldap/ajax/getConfiguration.php +++ b/apps/user_ldap/ajax/getConfiguration.php @@ -25,9 +25,9 @@ */ // Check user and app status -OCP\JSON::checkAdminUser(); -OCP\JSON::checkAppEnabled('user_ldap'); -OCP\JSON::callCheck(); +\OC_JSON::checkAdminUser(); +\OC_JSON::checkAppEnabled('user_ldap'); +\OC_JSON::callCheck(); $prefix = (string)$_POST['ldap_serverconfig_chooser']; $ldapWrapper = new OCA\User_LDAP\LDAP(); @@ -37,4 +37,4 @@ if (isset($configuration['ldap_agent_password']) && $configuration['ldap_agent_p // hide password $configuration['ldap_agent_password'] = '**PASSWORD SET**'; } -OCP\JSON::success(array('configuration' => $configuration)); +\OC_JSON::success(array('configuration' => $configuration)); diff --git a/apps/user_ldap/ajax/getNewServerConfigPrefix.php b/apps/user_ldap/ajax/getNewServerConfigPrefix.php index c0c81be14d7..b0e6ce31a83 100644 --- a/apps/user_ldap/ajax/getNewServerConfigPrefix.php +++ b/apps/user_ldap/ajax/getNewServerConfigPrefix.php @@ -24,9 +24,9 @@ */ // Check user and app status -OCP\JSON::checkAdminUser(); -OCP\JSON::checkAppEnabled('user_ldap'); -OCP\JSON::callCheck(); +\OC_JSON::checkAdminUser(); +\OC_JSON::checkAppEnabled('user_ldap'); +\OC_JSON::callCheck(); $helper = new \OCA\User_LDAP\Helper(\OC::$server->getConfig()); $serverConnections = $helper->getServerConfigurationPrefixes(); @@ -48,4 +48,4 @@ if(isset($_POST['copyConfig'])) { } $newConfig->saveConfiguration(); -OCP\JSON::success($resultData); +\OC_JSON::success($resultData); diff --git a/apps/user_ldap/ajax/setConfiguration.php b/apps/user_ldap/ajax/setConfiguration.php index 51737cc9953..1ed1a36d093 100644 --- a/apps/user_ldap/ajax/setConfiguration.php +++ b/apps/user_ldap/ajax/setConfiguration.php @@ -26,9 +26,9 @@ */ // Check user and app status -OCP\JSON::checkAdminUser(); -OCP\JSON::checkAppEnabled('user_ldap'); -OCP\JSON::callCheck(); +\OC_JSON::checkAdminUser(); +\OC_JSON::checkAppEnabled('user_ldap'); +\OC_JSON::callCheck(); $prefix = (string)$_POST['ldap_serverconfig_chooser']; @@ -47,4 +47,4 @@ $ldapWrapper = new OCA\User_LDAP\LDAP(); $connection = new \OCA\User_LDAP\Connection($ldapWrapper, $prefix); $connection->setConfiguration($_POST); $connection->saveConfiguration(); -OCP\JSON::success(); +\OC_JSON::success(); diff --git a/apps/user_ldap/ajax/testConfiguration.php b/apps/user_ldap/ajax/testConfiguration.php index 1b33a025440..b1f339e6148 100644 --- a/apps/user_ldap/ajax/testConfiguration.php +++ b/apps/user_ldap/ajax/testConfiguration.php @@ -28,9 +28,9 @@ */ // Check user and app status -OCP\JSON::checkAdminUser(); -OCP\JSON::checkAppEnabled('user_ldap'); -OCP\JSON::callCheck(); +\OC_JSON::checkAdminUser(); +\OC_JSON::checkAppEnabled('user_ldap'); +\OC_JSON::callCheck(); $l = \OC::$server->getL10N('user_ldap'); @@ -69,20 +69,20 @@ try { $ldapWrapper->read($connection->getConnectionResource(), '', 'objectClass=*', array('dn')); } catch (\Exception $e) { if($e->getCode() === 1) { - OCP\JSON::error(array('message' => $l->t('Invalid configuration: Anonymous binding is not allowed.'))); + \OC_JSON::error(array('message' => $l->t('Invalid configuration: Anonymous binding is not allowed.'))); exit; } } - OCP\JSON::success(array('message' + \OC_JSON::success(array('message' => $l->t('Valid configuration, connection established!'))); } else { - OCP\JSON::error(array('message' + \OC_JSON::error(array('message' => $l->t('Valid configuration, but binding failed. Please check the server settings and credentials.'))); } } else { - OCP\JSON::error(array('message' + \OC_JSON::error(array('message' => $l->t('Invalid configuration. Please have a look at the logs for further details.'))); } } catch (\Exception $e) { - OCP\JSON::error(array('message' => $e->getMessage())); + \OC_JSON::error(array('message' => $e->getMessage())); } diff --git a/apps/user_ldap/ajax/wizard.php b/apps/user_ldap/ajax/wizard.php index d25a70b41c8..df178ac0a82 100644 --- a/apps/user_ldap/ajax/wizard.php +++ b/apps/user_ldap/ajax/wizard.php @@ -29,20 +29,20 @@ */ // Check user and app status -OCP\JSON::checkAdminUser(); -OCP\JSON::checkAppEnabled('user_ldap'); -OCP\JSON::callCheck(); +\OC_JSON::checkAdminUser(); +\OC_JSON::checkAppEnabled('user_ldap'); +\OC_JSON::callCheck(); $l = \OC::$server->getL10N('user_ldap'); if(!isset($_POST['action'])) { - \OCP\JSON::error(array('message' => $l->t('No action specified'))); + \OC_JSON::error(array('message' => $l->t('No action specified'))); } $action = (string)$_POST['action']; if(!isset($_POST['ldap_serverconfig_chooser'])) { - \OCP\JSON::error(array('message' => $l->t('No configuration specified'))); + \OC_JSON::error(array('message' => $l->t('No configuration specified'))); } $prefix = (string)$_POST['ldap_serverconfig_chooser']; @@ -94,14 +94,14 @@ switch($action) { try { $result = $wizard->$action(); if($result !== false) { - OCP\JSON::success($result->getResultArray()); + \OC_JSON::success($result->getResultArray()); exit; } } catch (\Exception $e) { - \OCP\JSON::error(array('message' => $e->getMessage(), 'code' => $e->getCode())); + \OC_JSON::error(array('message' => $e->getMessage(), 'code' => $e->getCode())); exit; } - \OCP\JSON::error(); + \OC_JSON::error(); exit; break; @@ -110,14 +110,14 @@ switch($action) { $loginName = $_POST['ldap_test_loginname']; $result = $wizard->$action($loginName); if($result !== false) { - OCP\JSON::success($result->getResultArray()); + \OC_JSON::success($result->getResultArray()); exit; } } catch (\Exception $e) { - \OCP\JSON::error(array('message' => $e->getMessage())); + \OC_JSON::error(array('message' => $e->getMessage())); exit; } - \OCP\JSON::error(); + \OC_JSON::error(); exit; break; } @@ -126,14 +126,14 @@ switch($action) { $key = isset($_POST['cfgkey']) ? $_POST['cfgkey'] : false; $val = isset($_POST['cfgval']) ? $_POST['cfgval'] : null; if($key === false || is_null($val)) { - \OCP\JSON::error(array('message' => $l->t('No data specified'))); + \OC_JSON::error(array('message' => $l->t('No data specified'))); exit; } $cfg = array($key => $val); $setParameters = array(); $configuration->setConfiguration($cfg, $setParameters); if(!in_array($key, $setParameters)) { - \OCP\JSON::error(array('message' => $l->t($key. + \OC_JSON::error(array('message' => $l->t($key. ' Could not set configuration %s', $setParameters[0]))); exit; } @@ -141,9 +141,9 @@ switch($action) { //clear the cache on save $connection = new \OCA\User_LDAP\Connection($ldapWrapper, $prefix); $connection->clearCache(); - OCP\JSON::success(); + \OC_JSON::success(); break; default: - \OCP\JSON::error(array('message' => $l->t('Action does not exist'))); + \OC_JSON::error(array('message' => $l->t('Action does not exist'))); break; } diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js index b0197e91191..e8b7c70ac0f 100644 --- a/apps/user_ldap/l10n/fr.js +++ b/apps/user_ldap/l10n/fr.js @@ -33,6 +33,7 @@ OC.L10N.register( "{nthServer}. Server" : "{nthServer}. Serveur", "No object found in the given Base DN. Please revise." : "Aucun objet trouvé dans le DN de base spécifié. Veuillez le vérifier.", "More than 1,000 directory entries available." : "Il y a plus de 1 000 entrées de répertoire disponibles.", + "_{objectsFound} entry available within the provided Base DN_::_{objectsFound} entries available within the provided Base DN_" : ["{objectsFound} entrée disponible dans le DN de base spécifié","{objectsFound} entrées disponibles dans le DN de base spécifié"], "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Une erreur est survenue. Veuillez vérifier le DN de base, ainsi que les paramètres de connexion et les informations d'identification", "Do you really want to delete the current Server Configuration?" : "Êtes-vous sûr de vouloir effacer la configuration serveur actuelle ?", "Confirm Deletion" : "Confirmer la suppression", diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json index c05e89e02a0..7581e1d0545 100644 --- a/apps/user_ldap/l10n/fr.json +++ b/apps/user_ldap/l10n/fr.json @@ -31,6 +31,7 @@ "{nthServer}. Server" : "{nthServer}. Serveur", "No object found in the given Base DN. Please revise." : "Aucun objet trouvé dans le DN de base spécifié. Veuillez le vérifier.", "More than 1,000 directory entries available." : "Il y a plus de 1 000 entrées de répertoire disponibles.", + "_{objectsFound} entry available within the provided Base DN_::_{objectsFound} entries available within the provided Base DN_" : ["{objectsFound} entrée disponible dans le DN de base spécifié","{objectsFound} entrées disponibles dans le DN de base spécifié"], "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Une erreur est survenue. Veuillez vérifier le DN de base, ainsi que les paramètres de connexion et les informations d'identification", "Do you really want to delete the current Server Configuration?" : "Êtes-vous sûr de vouloir effacer la configuration serveur actuelle ?", "Confirm Deletion" : "Confirmer la suppression", diff --git a/apps/user_ldap/l10n/hu.js b/apps/user_ldap/l10n/hu.js index 31bcdaa5585..d796670977f 100644 --- a/apps/user_ldap/l10n/hu.js +++ b/apps/user_ldap/l10n/hu.js @@ -33,6 +33,7 @@ OC.L10N.register( "{nthServer}. Server" : "{nthServer}. Szerver", "No object found in the given Base DN. Please revise." : "Nem találhatók objektumok a megadott címtár gyökérben (base DN). Kérlek, ellenőrizd.", "More than 1,000 directory entries available." : "Több mint 1000 címtár bejegyzés érhető el.", + "_{objectsFound} entry available within the provided Base DN_::_{objectsFound} entries available within the provided Base DN_" : ["{objectsFound} bejegyzés érhető el a megadott Base DN-ben","{objectsFound} bejegyzés érhető el a megadott Base DN-ben"], "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Hiba törént. Kérlek, ellenőrizd a címtár gyökerét (base DN), a kapcsolat beállításait és az azonosítókat.", "Do you really want to delete the current Server Configuration?" : "Tényleg törölni szeretné a szerver beállításait?", "Confirm Deletion" : "A törlés megerősítése", diff --git a/apps/user_ldap/l10n/hu.json b/apps/user_ldap/l10n/hu.json index a8b32b63c53..1d0d5184868 100644 --- a/apps/user_ldap/l10n/hu.json +++ b/apps/user_ldap/l10n/hu.json @@ -31,6 +31,7 @@ "{nthServer}. Server" : "{nthServer}. Szerver", "No object found in the given Base DN. Please revise." : "Nem találhatók objektumok a megadott címtár gyökérben (base DN). Kérlek, ellenőrizd.", "More than 1,000 directory entries available." : "Több mint 1000 címtár bejegyzés érhető el.", + "_{objectsFound} entry available within the provided Base DN_::_{objectsFound} entries available within the provided Base DN_" : ["{objectsFound} bejegyzés érhető el a megadott Base DN-ben","{objectsFound} bejegyzés érhető el a megadott Base DN-ben"], "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Hiba törént. Kérlek, ellenőrizd a címtár gyökerét (base DN), a kapcsolat beállításait és az azonosítókat.", "Do you really want to delete the current Server Configuration?" : "Tényleg törölni szeretné a szerver beállításait?", "Confirm Deletion" : "A törlés megerősítése", diff --git a/apps/user_ldap/l10n/sk.js b/apps/user_ldap/l10n/sk.js index 0c01a1dca94..34100a0d6f0 100644 --- a/apps/user_ldap/l10n/sk.js +++ b/apps/user_ldap/l10n/sk.js @@ -96,7 +96,9 @@ OC.L10N.register( "Back" : "Späť", "Continue" : "Pokračovať", "An internal error occurred." : "Nastala interná chyba.", + "Current password" : "Aktuálne heslo", "New password" : "Nové heslo", + "Wrong password. Reset it?" : "Chybné heslo. Chcete ho obnoviť?", "Wrong password." : "Nesprávne heslo.", "Cancel" : "Zrušiť", "Server" : "Server", diff --git a/apps/user_ldap/l10n/sk.json b/apps/user_ldap/l10n/sk.json index 413ca5fa0e8..41b30d9c1c3 100644 --- a/apps/user_ldap/l10n/sk.json +++ b/apps/user_ldap/l10n/sk.json @@ -94,7 +94,9 @@ "Back" : "Späť", "Continue" : "Pokračovať", "An internal error occurred." : "Nastala interná chyba.", + "Current password" : "Aktuálne heslo", "New password" : "Nové heslo", + "Wrong password. Reset it?" : "Chybné heslo. Chcete ho obnoviť?", "Wrong password." : "Nesprávne heslo.", "Cancel" : "Zrušiť", "Server" : "Server", diff --git a/apps/user_ldap/lib/Helper.php b/apps/user_ldap/lib/Helper.php index fb5b5478102..a4bac9667b9 100644 --- a/apps/user_ldap/lib/Helper.php +++ b/apps/user_ldap/lib/Helper.php @@ -155,7 +155,7 @@ class Helper { $saveOtherConfigurations = 'AND `configkey` NOT LIKE \'s%\''; } - $query = \OCP\DB::prepare(' + $query = \OC_DB::prepare(' DELETE FROM `*PREFIX*appconfig` WHERE `configkey` LIKE ? diff --git a/apps/user_ldap/lib/Jobs/UpdateGroups.php b/apps/user_ldap/lib/Jobs/UpdateGroups.php index c5eff77dbe3..2b57874c62f 100644 --- a/apps/user_ldap/lib/Jobs/UpdateGroups.php +++ b/apps/user_ldap/lib/Jobs/UpdateGroups.php @@ -93,7 +93,7 @@ class UpdateGroups extends \OC\BackgroundJob\TimedJob { */ static private function handleKnownGroups($groups) { \OCP\Util::writeLog('user_ldap', 'bgJ "updateGroups" – Dealing with known Groups.', \OCP\Util::DEBUG); - $query = \OCP\DB::prepare(' + $query = \OC_DB::prepare(' UPDATE `*PREFIX*ldap_group_members` SET `owncloudusers` = ? WHERE `owncloudname` = ? @@ -131,7 +131,7 @@ class UpdateGroups extends \OC\BackgroundJob\TimedJob { */ static private function handleCreatedGroups($createdGroups) { \OCP\Util::writeLog('user_ldap', 'bgJ "updateGroups" – dealing with created Groups.', \OCP\Util::DEBUG); - $query = \OCP\DB::prepare(' + $query = \OC_DB::prepare(' INSERT INTO `*PREFIX*ldap_group_members` (`owncloudname`, `owncloudusers`) VALUES (?, ?) @@ -153,7 +153,7 @@ class UpdateGroups extends \OC\BackgroundJob\TimedJob { */ static private function handleRemovedGroups($removedGroups) { \OCP\Util::writeLog('user_ldap', 'bgJ "updateGroups" – dealing with removed groups.', \OCP\Util::DEBUG); - $query = \OCP\DB::prepare(' + $query = \OC_DB::prepare(' DELETE FROM `*PREFIX*ldap_group_members` WHERE `owncloudname` = ? @@ -212,7 +212,7 @@ class UpdateGroups extends \OC\BackgroundJob\TimedJob { if(is_array(self::$groupsFromDB)) { return self::$groupsFromDB; } - $query = \OCP\DB::prepare(' + $query = \OC_DB::prepare(' SELECT `owncloudname`, `owncloudusers` FROM `*PREFIX*ldap_group_members` '); diff --git a/apps/user_ldap/tests/User_LDAPTest.php b/apps/user_ldap/tests/User_LDAPTest.php index 9911aa37e37..5a165305d58 100644 --- a/apps/user_ldap/tests/User_LDAPTest.php +++ b/apps/user_ldap/tests/User_LDAPTest.php @@ -489,13 +489,21 @@ class User_LDAPTest extends TestCase { $this->assertEquals(0, count($result)); } + private function getUsers($search = '', $limit = null, $offset = null) { + $users = \OC::$server->getUserManager()->search($search, $limit, $offset); + $uids = array_map(function(IUser $user) { + return $user->getUID(); + }, $users); + return $uids; + } + public function testGetUsersViaAPINoParam() { $access = $this->getAccessMock(); $this->prepareAccessForGetUsers($access); $backend = new UserLDAP($access, $this->createMock(IConfig::class), $this->createMock(INotificationManager::class), $this->createMock(Session::class), $this->getDefaultPluginManagerMock()); \OC_User::useBackend($backend); - $result = \OCP\User::getUsers(); + $result = $this->getUsers(); $this->assertEquals(3, count($result)); } @@ -505,7 +513,7 @@ class User_LDAPTest extends TestCase { $backend = new UserLDAP($access, $this->createMock(IConfig::class), $this->createMock(INotificationManager::class), $this->createMock(Session::class), $this->getDefaultPluginManagerMock()); \OC_User::useBackend($backend); - $result = \OCP\User::getUsers('', 1, 2); + $result = $this->getUsers('', 1, 2); $this->assertEquals(1, count($result)); } @@ -515,7 +523,7 @@ class User_LDAPTest extends TestCase { $backend = new UserLDAP($access, $this->createMock(IConfig::class), $this->createMock(INotificationManager::class), $this->createMock(Session::class), $this->getDefaultPluginManagerMock()); \OC_User::useBackend($backend); - $result = \OCP\User::getUsers('', 2, 1); + $result = $this->getUsers('', 2, 1); $this->assertEquals(2, count($result)); } @@ -525,7 +533,7 @@ class User_LDAPTest extends TestCase { $backend = new UserLDAP($access, $this->createMock(IConfig::class), $this->createMock(INotificationManager::class), $this->createMock(Session::class), $this->getDefaultPluginManagerMock()); \OC_User::useBackend($backend); - $result = \OCP\User::getUsers('yo'); + $result = $this->getUsers('yo'); $this->assertEquals(2, count($result)); } @@ -535,7 +543,7 @@ class User_LDAPTest extends TestCase { $backend = new UserLDAP($access, $this->createMock(IConfig::class), $this->createMock(INotificationManager::class), $this->createMock(Session::class), $this->getDefaultPluginManagerMock()); \OC_User::useBackend($backend); - $result = \OCP\User::getUsers('nix'); + $result = $this->getUsers('nix'); $this->assertEquals(0, count($result)); } @@ -1085,11 +1093,11 @@ class User_LDAPTest extends TestCase { ->willReturnCallback(function($uuid) { return $uuid . '1'; }); //with displayName - $result = \OCP\User::getDisplayName('gunslinger'); + $result = \OC::$server->getUserManager()->get('gunslinger')->getDisplayName(); $this->assertEquals('Roland Deschain', $result); //empty displayname retrieved - $result = \OCP\User::getDisplayName('newyorker'); + $result = \OC::$server->getUserManager()->get('newyorker') === null ? 'newyorker' : \OC::$server->getUserManager()->get('newyorker')->getDisplayName(); $this->assertEquals('newyorker', $result); } diff --git a/apps/workflowengine/l10n/da.js b/apps/workflowengine/l10n/da.js index cf6ae1b1d53..c2b0433e583 100644 --- a/apps/workflowengine/l10n/da.js +++ b/apps/workflowengine/l10n/da.js @@ -1,6 +1,7 @@ OC.L10N.register( "workflowengine", { + "Unable to retrieve the group list" : "Kan ikke hente gruppelisten", "Saved" : "Gemt", "Saving failed:" : "Kunne ikke gemme:", "File MIME type" : "Fil MIME type", @@ -59,6 +60,7 @@ OC.L10N.register( "Check %s is invalid" : "Tjek %s er invalid", "Check #%s does not exist" : "Tjek #%s eksisterer", "Workflow" : "Workflow", + "Files workflow engine" : "Filer workflow motoren", "Open documentation" : "Åben dokumentationen", "Add rule group" : "Tilføj regelgruppe", "Short rule description" : "Kort regelbeskrivelse", diff --git a/apps/workflowengine/l10n/da.json b/apps/workflowengine/l10n/da.json index 4e1d9f55f3c..f0c58d5f544 100644 --- a/apps/workflowengine/l10n/da.json +++ b/apps/workflowengine/l10n/da.json @@ -1,4 +1,5 @@ { "translations": { + "Unable to retrieve the group list" : "Kan ikke hente gruppelisten", "Saved" : "Gemt", "Saving failed:" : "Kunne ikke gemme:", "File MIME type" : "Fil MIME type", @@ -57,6 +58,7 @@ "Check %s is invalid" : "Tjek %s er invalid", "Check #%s does not exist" : "Tjek #%s eksisterer", "Workflow" : "Workflow", + "Files workflow engine" : "Filer workflow motoren", "Open documentation" : "Åben dokumentationen", "Add rule group" : "Tilføj regelgruppe", "Short rule description" : "Kort regelbeskrivelse", diff --git a/apps/workflowengine/l10n/es_MX.js b/apps/workflowengine/l10n/es_MX.js index 16edfba306b..f5d85b42876 100644 --- a/apps/workflowengine/l10n/es_MX.js +++ b/apps/workflowengine/l10n/es_MX.js @@ -1,6 +1,7 @@ OC.L10N.register( "workflowengine", { + "Unable to retrieve the group list" : "No fue posible recuperar la lista del gurpo", "Saved" : "Guardado", "Saving failed:" : "Falla al guardar:", "File MIME type" : "Tipo MIME del archivo", diff --git a/apps/workflowengine/l10n/es_MX.json b/apps/workflowengine/l10n/es_MX.json index d2a1035818d..cfdfdb718ae 100644 --- a/apps/workflowengine/l10n/es_MX.json +++ b/apps/workflowengine/l10n/es_MX.json @@ -1,4 +1,5 @@ { "translations": { + "Unable to retrieve the group list" : "No fue posible recuperar la lista del gurpo", "Saved" : "Guardado", "Saving failed:" : "Falla al guardar:", "File MIME type" : "Tipo MIME del archivo", diff --git a/apps/workflowengine/l10n/hu.js b/apps/workflowengine/l10n/hu.js index 25190f7f619..9407bb10a12 100644 --- a/apps/workflowengine/l10n/hu.js +++ b/apps/workflowengine/l10n/hu.js @@ -1,6 +1,7 @@ OC.L10N.register( "workflowengine", { + "Unable to retrieve the group list" : "Csoportlista betöltése sikertelen", "Saved" : "Elmentve", "Saving failed:" : "Mentés sikertelen:", "File MIME type" : "Fájl MIME típus", diff --git a/apps/workflowengine/l10n/hu.json b/apps/workflowengine/l10n/hu.json index 9bae6fb384b..b6eebf6e99c 100644 --- a/apps/workflowengine/l10n/hu.json +++ b/apps/workflowengine/l10n/hu.json @@ -1,4 +1,5 @@ { "translations": { + "Unable to retrieve the group list" : "Csoportlista betöltése sikertelen", "Saved" : "Elmentve", "Saving failed:" : "Mentés sikertelen:", "File MIME type" : "Fájl MIME típus", diff --git a/apps/workflowengine/l10n/lt_LT.js b/apps/workflowengine/l10n/lt_LT.js index 9ba21fa685f..018745d964a 100644 --- a/apps/workflowengine/l10n/lt_LT.js +++ b/apps/workflowengine/l10n/lt_LT.js @@ -1,6 +1,7 @@ OC.L10N.register( "workflowengine", { + "Unable to retrieve the group list" : "Nepavyko nuskaityti grupių sąrašo", "Saved" : "Įrašyta", "Saving failed:" : "Įrašymas nepavyko:", "File MIME type" : "Failo MIME tipas", @@ -59,6 +60,7 @@ OC.L10N.register( "Check %s is invalid" : "Neteisingas %s", "Check #%s does not exist" : "#%s neegzistuoja", "Workflow" : "Darbo eiga", + "Files workflow engine" : "Darbo eigos su failais modulis", "Open documentation" : "Atverti dokumentaciją", "Add rule group" : "Pridėti taisyklių grupę", "Short rule description" : "Rodyti taisyklės aprašymą", diff --git a/apps/workflowengine/l10n/lt_LT.json b/apps/workflowengine/l10n/lt_LT.json index 87e615aec8e..4dc641183c6 100644 --- a/apps/workflowengine/l10n/lt_LT.json +++ b/apps/workflowengine/l10n/lt_LT.json @@ -1,4 +1,5 @@ { "translations": { + "Unable to retrieve the group list" : "Nepavyko nuskaityti grupių sąrašo", "Saved" : "Įrašyta", "Saving failed:" : "Įrašymas nepavyko:", "File MIME type" : "Failo MIME tipas", @@ -57,6 +58,7 @@ "Check %s is invalid" : "Neteisingas %s", "Check #%s does not exist" : "#%s neegzistuoja", "Workflow" : "Darbo eiga", + "Files workflow engine" : "Darbo eigos su failais modulis", "Open documentation" : "Atverti dokumentaciją", "Add rule group" : "Pridėti taisyklių grupę", "Short rule description" : "Rodyti taisyklės aprašymą", diff --git a/apps/workflowengine/l10n/pl.js b/apps/workflowengine/l10n/pl.js index 219854990bc..7da8effaecb 100644 --- a/apps/workflowengine/l10n/pl.js +++ b/apps/workflowengine/l10n/pl.js @@ -1,6 +1,7 @@ OC.L10N.register( "workflowengine", { + "Unable to retrieve the group list" : "Nie można pobrać listy grup", "Saved" : "Zapisano", "Saving failed:" : "Zapis się nie udał:", "File MIME type" : "Typy plików MIME", @@ -59,6 +60,7 @@ OC.L10N.register( "Check %s is invalid" : "Sprawdź, czy %s jest nieprawidłowy", "Check #%s does not exist" : "Sprawdź, czy #%s nie istnieje", "Workflow" : "Wpływ na pracę", + "Files workflow engine" : "Piliki silnika workflow", "Open documentation" : "Otwórz dokumentację", "Add rule group" : "Dodaj grupę reguł", "Short rule description" : "Krótki opis reguły", diff --git a/apps/workflowengine/l10n/pl.json b/apps/workflowengine/l10n/pl.json index 98cd0481019..587a1f54ef6 100644 --- a/apps/workflowengine/l10n/pl.json +++ b/apps/workflowengine/l10n/pl.json @@ -1,4 +1,5 @@ { "translations": { + "Unable to retrieve the group list" : "Nie można pobrać listy grup", "Saved" : "Zapisano", "Saving failed:" : "Zapis się nie udał:", "File MIME type" : "Typy plików MIME", @@ -57,6 +58,7 @@ "Check %s is invalid" : "Sprawdź, czy %s jest nieprawidłowy", "Check #%s does not exist" : "Sprawdź, czy #%s nie istnieje", "Workflow" : "Wpływ na pracę", + "Files workflow engine" : "Piliki silnika workflow", "Open documentation" : "Otwórz dokumentację", "Add rule group" : "Dodaj grupę reguł", "Short rule description" : "Krótki opis reguły", diff --git a/apps/workflowengine/l10n/sr.js b/apps/workflowengine/l10n/sr.js index c04e7e917bf..130cc0cdaea 100644 --- a/apps/workflowengine/l10n/sr.js +++ b/apps/workflowengine/l10n/sr.js @@ -1,6 +1,7 @@ OC.L10N.register( "workflowengine", { + "Unable to retrieve the group list" : "Није могуће дохватити списак група", "Saved" : "Снимљено", "Saving failed:" : "Снимање није успело:", "File MIME type" : "MIME тип фајла", diff --git a/apps/workflowengine/l10n/sr.json b/apps/workflowengine/l10n/sr.json index 99abd98a1a6..1caf1695ba4 100644 --- a/apps/workflowengine/l10n/sr.json +++ b/apps/workflowengine/l10n/sr.json @@ -1,4 +1,5 @@ { "translations": { + "Unable to retrieve the group list" : "Није могуће дохватити списак група", "Saved" : "Снимљено", "Saving failed:" : "Снимање није успело:", "File MIME type" : "MIME тип фајла", diff --git a/config/config.sample.php b/config/config.sample.php index 8595c024e4c..ba5f3d68146 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -782,7 +782,8 @@ $CONFIG = array( * Defaults to * * Desktop client: ``https://nextcloud.com/install/#install-clients`` * * Android client: ``https://play.google.com/store/apps/details?id=com.nextcloud.client`` - * * iOS client : ``https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8`` + * * iOS client: ``https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8`` + * *iOS client app id: ``1125420102`` */ 'customclient_desktop' => 'https://nextcloud.com/install/#install-clients', @@ -790,7 +791,8 @@ $CONFIG = array( 'https://play.google.com/store/apps/details?id=com.nextcloud.client', 'customclient_ios' => 'https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8', - +'customclient_ios_appid' => + '1125420102', /** * Apps * diff --git a/core/Command/App/Install.php b/core/Command/App/Install.php index 4432a1f40ac..525b0095f04 100644 --- a/core/Command/App/Install.php +++ b/core/Command/App/Install.php @@ -58,6 +58,7 @@ class Install extends Command { } try { + /** @var Installer $installer */ $installer = \OC::$server->query(Installer::class); $installer->downloadApp($appId); $result = $installer->installApp($appId); diff --git a/core/Controller/AutoCompleteController.php b/core/Controller/AutoCompleteController.php index 93ab9291322..3f3858ce1c8 100644 --- a/core/Controller/AutoCompleteController.php +++ b/core/Controller/AutoCompleteController.php @@ -23,7 +23,7 @@ namespace OC\Core\Controller; -use OCP\AppFramework\Controller; +use OCP\AppFramework\OCSController as Controller; use OCP\AppFramework\Http\DataResponse; use OCP\Collaboration\AutoComplete\IManager; use OCP\Collaboration\Collaborators\ISearch; diff --git a/core/Controller/CssController.php b/core/Controller/CssController.php index 43a4f453b0e..c8458eab29c 100644 --- a/core/Controller/CssController.php +++ b/core/Controller/CssController.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @copyright Copyright (c) 2016, John Molakvoæ (skjnldsv@protonmail.com) * @@ -31,11 +32,13 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\NotFoundResponse; use OCP\AppFramework\Http\FileDisplayResponse; +use OCP\AppFramework\Http\Response; use OCP\AppFramework\Utility\ITimeFactory; use OCP\Files\IAppData; use OCP\Files\NotFoundException; use OCP\Files\SimpleFS\ISimpleFile; use OCP\Files\SimpleFS\ISimpleFolder; +use OCP\IConfig; use OCP\IRequest; class CssController extends Controller { @@ -46,13 +49,10 @@ class CssController extends Controller { /** @var ITimeFactory */ protected $timeFactory; - /** - * @param string $appName - * @param IRequest $request - * @param Factory $appDataFactory - * @param ITimeFactory $timeFactory - */ - public function __construct($appName, IRequest $request, Factory $appDataFactory, ITimeFactory $timeFactory) { + public function __construct(string $appName, + IRequest $request, + Factory $appDataFactory, + ITimeFactory $timeFactory) { parent::__construct($appName, $request); $this->appData = $appDataFactory->get('css'); @@ -67,7 +67,7 @@ class CssController extends Controller { * @param string $appName css folder name * @return FileDisplayResponse|NotFoundResponse */ - public function getCss($fileName, $appName) { + public function getCss(string $fileName, string $appName): Response { try { $folder = $this->appData->getFolder($appName); $gzip = false; @@ -80,10 +80,13 @@ class CssController extends Controller { if ($gzip) { $response->addHeader('Content-Encoding', 'gzip'); } - $response->cacheFor(86400); + + $ttl = 31536000; + $response->addHeader('Cache-Control', 'max-age='.$ttl.', immutable'); + $expires = new \DateTime(); $expires->setTimestamp($this->timeFactory->getTime()); - $expires->add(new \DateInterval('PT24H')); + $expires->add(new \DateInterval('PT'.$ttl.'S')); $response->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $response->addHeader('Pragma', 'cache'); return $response; @@ -94,8 +97,9 @@ class CssController extends Controller { * @param string $fileName * @param bool $gzip is set to true if we use the gzip file * @return ISimpleFile + * @throws NotFoundException */ - private function getFile(ISimpleFolder $folder, $fileName, &$gzip) { + private function getFile(ISimpleFolder $folder, string $fileName, bool &$gzip): ISimpleFile { $encoding = $this->request->getHeader('Accept-Encoding'); if (strpos($encoding, 'gzip') !== false) { diff --git a/core/Controller/JsController.php b/core/Controller/JsController.php index 670ca997257..3fc48e9a380 100644 --- a/core/Controller/JsController.php +++ b/core/Controller/JsController.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @copyright 2017, Roeland Jago Douma <roeland@famdouma.nl> * @@ -29,6 +30,7 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http; use OCP\AppFramework\Http\NotFoundResponse; use OCP\AppFramework\Http\FileDisplayResponse; +use OCP\AppFramework\Http\Response; use OCP\AppFramework\Utility\ITimeFactory; use OCP\Files\IAppData; use OCP\Files\NotFoundException; @@ -44,12 +46,6 @@ class JsController extends Controller { /** @var ITimeFactory */ protected $timeFactory; - /** - * @param string $appName - * @param IRequest $request - * @param Factory $appDataFactory - * @param ITimeFactory $timeFactory - */ public function __construct($appName, IRequest $request, Factory $appDataFactory, ITimeFactory $timeFactory) { parent::__construct($appName, $request); @@ -65,7 +61,7 @@ class JsController extends Controller { * @param string $appName css folder name * @return FileDisplayResponse|NotFoundResponse */ - public function getJs($fileName, $appName) { + public function getJs(string $fileName, string $appName): Response { try { $folder = $this->appData->getFolder($appName); $gzip = false; @@ -78,10 +74,13 @@ class JsController extends Controller { if ($gzip) { $response->addHeader('Content-Encoding', 'gzip'); } - $response->cacheFor(86400); + + $ttl = 31536000; + $response->addHeader('Cache-Control', 'max-age='.$ttl.', immutable'); + $expires = new \DateTime(); $expires->setTimestamp($this->timeFactory->getTime()); - $expires->add(new \DateInterval('PT24H')); + $expires->add(new \DateInterval('PT'.$ttl.'S')); $response->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $response->addHeader('Pragma', 'cache'); return $response; @@ -92,8 +91,10 @@ class JsController extends Controller { * @param string $fileName * @param bool $gzip is set to true if we use the gzip file * @return ISimpleFile + * + * @throws NotFoundException */ - private function getFile(ISimpleFolder $folder, $fileName, &$gzip) { + private function getFile(ISimpleFolder $folder, string $fileName, bool &$gzip): ISimpleFile { $encoding = $this->request->getHeader('Accept-Encoding'); if (strpos($encoding, 'gzip') !== false) { diff --git a/core/css/apps.scss b/core/css/apps.scss index fc255aca676..6b3ab623704 100644 --- a/core/css/apps.scss +++ b/core/css/apps.scss @@ -152,7 +152,7 @@ kbd { &, > a { opacity: 1; - box-shadow: inset 2px 0 $color-primary; + box-shadow: inset 4px 0 $color-primary; } } @@ -177,7 +177,6 @@ kbd { /* Second level nesting for lists */ > ul { flex: 0 1 auto; - padding-left: 44px; width: 100%; transition: max-height 2000ms ease-in-out, opacity 250ms ease-in-out; @@ -187,6 +186,7 @@ kbd { > li { display: inline-flex; flex-wrap: wrap; + padding-left: 44px; &:focus, &:hover, &.active, @@ -197,10 +197,28 @@ kbd { } } + &.active { + box-shadow: inset 4px 0 $color-primary; + } + /* align loader */ &.icon-loading-small:after { left: 22px; /* 44px / 2 */ } + + > .app-navigation-entry-deleted { + /* margin to keep active indicator visible */ + margin-left: 4px; + padding-left: 84px; + } + + > .app-navigation-entry-edit { + /* margin to keep active indicator visible */ + margin-left: 4px; + /* align the input correctly with the link text + 44px+44px-4px-6px padding for the input */ + padding-left: 78px !important; + } } } } diff --git a/core/css/styles.scss b/core/css/styles.scss index 5a927046c03..0b15718eefd 100644 --- a/core/css/styles.scss +++ b/core/css/styles.scss @@ -183,6 +183,7 @@ body { font-size: 1.2em; padding: 3px; padding-left: 25px; + padding-right: 20px; background: transparent url('../img/actions/search-white.svg?v=1') no-repeat 6px center; color: $color-primary-text; border: 0; @@ -253,14 +254,17 @@ body { box-sizing: border-box; } -#controls { +#controls .actions { > div, & { > .button, button { box-sizing: border-box; display: inline-block; + display: flex; height: 36px; - padding: 7px 10px; + width: 36px; + align-items: center; + justify-content: center; } .button.hidden { display: none; diff --git a/core/js/sharedialogview.js b/core/js/sharedialogview.js index d2c63490141..dede768fad5 100644 --- a/core/js/sharedialogview.js +++ b/core/js/sharedialogview.js @@ -22,7 +22,7 @@ '<div class="oneline">' + ' <input id="shareWith-{{cid}}" class="shareWithField" type="text" placeholder="{{sharePlaceholder}}" />' + ' <span class="shareWithLoading icon-loading-small hidden"></span>'+ - '{{{shareInfo}}}' + + ' <span class="shareWithConfirm icon icon-confirm"></span>' + '</div>' + '{{/if}}' + '<div class="shareeListView subView"></div>' + @@ -30,10 +30,6 @@ '<div class="expirationView subView"></div>' + '<div class="loading hidden" style="height: 50px"></div>'; - var TEMPLATE_SHARE_INFO = - '<span class="icon icon-info shareWithRemoteInfo hasTooltip" ' + - 'title="{{tooltip}}"></span>'; - /** * @class OCA.Share.ShareDialogView * @member {OC.Share.ShareItemModel} model @@ -69,9 +65,16 @@ /** @type {object} **/ shareeListView: undefined, + /** @type {object} **/ + _lastSuggestions: undefined, + + /** @type {int} **/ + _pendingOperationsCount: 0, + events: { 'focus .shareWithField': 'onShareWithFieldFocus', - 'input .shareWithField': 'onShareWithFieldChanged' + 'input .shareWithField': 'onShareWithFieldChanged', + 'click .shareWithConfirm': '_confirmShare' }, initialize: function(options) { @@ -138,11 +141,182 @@ this.$el.find('.shareWithField').autocomplete("search"); }, + _getSuggestions: function(searchTerm, perPage, model) { + if (this._lastSuggestions && + this._lastSuggestions.searchTerm === searchTerm && + this._lastSuggestions.perPage === perPage && + this._lastSuggestions.model === model) { + return this._lastSuggestions.promise; + } + + var deferred = $.Deferred(); + + $.get( + OC.linkToOCS('apps/files_sharing/api/v1') + 'sharees', + { + format: 'json', + search: searchTerm, + perPage: perPage, + itemType: model.get('itemType') + }, + function (result) { + if (result.ocs.meta.statuscode === 100) { + var filter = function(users, groups, remotes, emails, circles) { + if (typeof(emails) === 'undefined') { + emails = []; + } + if (typeof(circles) === 'undefined') { + circles = []; + } + + var usersLength; + var groupsLength; + var remotesLength; + var emailsLength; + var circlesLength; + + var i, j; + + //Filter out the current user + usersLength = users.length; + for (i = 0; i < usersLength; i++) { + if (users[i].value.shareWith === OC.currentUser) { + users.splice(i, 1); + break; + } + } + + // Filter out the owner of the share + if (model.hasReshare()) { + usersLength = users.length; + for (i = 0 ; i < usersLength; i++) { + if (users[i].value.shareWith === model.getReshareOwner()) { + users.splice(i, 1); + break; + } + } + } + + var shares = model.get('shares'); + var sharesLength = shares.length; + + // Now filter out all sharees that are already shared with + for (i = 0; i < sharesLength; i++) { + var share = shares[i]; + + if (share.share_type === OC.Share.SHARE_TYPE_USER) { + usersLength = users.length; + for (j = 0; j < usersLength; j++) { + if (users[j].value.shareWith === share.share_with) { + users.splice(j, 1); + break; + } + } + } else if (share.share_type === OC.Share.SHARE_TYPE_GROUP) { + groupsLength = groups.length; + for (j = 0; j < groupsLength; j++) { + if (groups[j].value.shareWith === share.share_with) { + groups.splice(j, 1); + break; + } + } + } else if (share.share_type === OC.Share.SHARE_TYPE_REMOTE) { + remotesLength = remotes.length; + for (j = 0; j < remotesLength; j++) { + if (remotes[j].value.shareWith === share.share_with) { + remotes.splice(j, 1); + break; + } + } + } else if (share.share_type === OC.Share.SHARE_TYPE_EMAIL) { + emailsLength = emails.length; + for (j = 0; j < emailsLength; j++) { + if (emails[j].value.shareWith === share.share_with) { + emails.splice(j, 1); + break; + } + } + } else if (share.share_type === OC.Share.SHARE_TYPE_CIRCLE) { + circlesLength = circles.length; + for (j = 0; j < circlesLength; j++) { + if (circles[j].value.shareWith === share.share_with) { + circles.splice(j, 1); + break; + } + } + } + } + }; + + filter( + result.ocs.data.exact.users, + result.ocs.data.exact.groups, + result.ocs.data.exact.remotes, + result.ocs.data.exact.emails, + result.ocs.data.exact.circles + ); + + var exactUsers = result.ocs.data.exact.users; + var exactGroups = result.ocs.data.exact.groups; + var exactRemotes = result.ocs.data.exact.remotes; + var exactEmails = []; + if (typeof(result.ocs.data.emails) !== 'undefined') { + exactEmails = result.ocs.data.exact.emails; + } + var exactCircles = []; + if (typeof(result.ocs.data.circles) !== 'undefined') { + exactCircles = result.ocs.data.exact.circles; + } + + var exactMatches = exactUsers.concat(exactGroups).concat(exactRemotes).concat(exactEmails).concat(exactCircles); + + filter( + result.ocs.data.users, + result.ocs.data.groups, + result.ocs.data.remotes, + result.ocs.data.emails, + result.ocs.data.circles + ); + + var users = result.ocs.data.users; + var groups = result.ocs.data.groups; + var remotes = result.ocs.data.remotes; + var lookup = result.ocs.data.lookup; + var emails = []; + if (typeof(result.ocs.data.emails) !== 'undefined') { + emails = result.ocs.data.emails; + } + var circles = []; + if (typeof(result.ocs.data.circles) !== 'undefined') { + circles = result.ocs.data.circles; + } + + var suggestions = exactMatches.concat(users).concat(groups).concat(remotes).concat(emails).concat(circles).concat(lookup); + + deferred.resolve(suggestions, exactMatches); + } else { + deferred.reject(result.ocs.meta.message); + } + } + ).fail(function() { + deferred.reject(); + }); + + this._lastSuggestions = { + searchTerm: searchTerm, + perPage: perPage, + model: model, + promise: deferred.promise() + }; + + return this._lastSuggestions.promise; + }, + autocompleteHandler: function (search, response) { var $shareWithField = $('.shareWithField'), view = this, $loading = this.$el.find('.shareWithLoading'), - $shareInfo = this.$el.find('.shareWithRemoteInfo'); + $confirm = this.$el.find('.shareWithConfirm'); var count = oc_config['sharing.minSearchStringLength']; if (search.term.trim().length < count) { @@ -167,160 +341,70 @@ $loading.removeClass('hidden'); $loading.addClass('inlineblock'); - $shareInfo.addClass('hidden'); + $confirm.addClass('hidden'); + this._pendingOperationsCount++; $shareWithField.removeClass('error') .tooltip('hide'); var perPage = 200; - $.get( - OC.linkToOCS('apps/files_sharing/api/v1') + 'sharees', - { - format: 'json', - search: search.term.trim(), - perPage: perPage, - itemType: view.model.get('itemType') - }, - function (result) { + this._getSuggestions( + search.term.trim(), + perPage, + view.model + ).done(function(suggestions) { + view._pendingOperationsCount--; + if (view._pendingOperationsCount === 0) { $loading.addClass('hidden'); $loading.removeClass('inlineblock'); - $shareInfo.removeClass('hidden'); - if (result.ocs.meta.statuscode === 100) { - var users = result.ocs.data.exact.users.concat(result.ocs.data.users); - var groups = result.ocs.data.exact.groups.concat(result.ocs.data.groups); - var remotes = result.ocs.data.exact.remotes.concat(result.ocs.data.remotes); - var lookup = result.ocs.data.lookup; - var emails = [], - circles = []; - if (typeof(result.ocs.data.emails) !== 'undefined') { - emails = result.ocs.data.exact.emails.concat(result.ocs.data.emails); - } - if (typeof(result.ocs.data.circles) !== 'undefined') { - circles = result.ocs.data.exact.circles.concat(result.ocs.data.circles); - } - - var usersLength; - var groupsLength; - var remotesLength; - var emailsLength; - var circlesLength; - - var i, j; - - //Filter out the current user - usersLength = users.length; - for (i = 0; i < usersLength; i++) { - if (users[i].value.shareWith === OC.currentUser) { - users.splice(i, 1); - break; - } - } - - // Filter out the owner of the share - if (view.model.hasReshare()) { - usersLength = users.length; - for (i = 0 ; i < usersLength; i++) { - if (users[i].value.shareWith === view.model.getReshareOwner()) { - users.splice(i, 1); - break; - } - } - } - - var shares = view.model.get('shares'); - var sharesLength = shares.length; - - // Now filter out all sharees that are already shared with - for (i = 0; i < sharesLength; i++) { - var share = shares[i]; - - if (share.share_type === OC.Share.SHARE_TYPE_USER) { - usersLength = users.length; - for (j = 0; j < usersLength; j++) { - if (users[j].value.shareWith === share.share_with) { - users.splice(j, 1); - break; - } - } - } else if (share.share_type === OC.Share.SHARE_TYPE_GROUP) { - groupsLength = groups.length; - for (j = 0; j < groupsLength; j++) { - if (groups[j].value.shareWith === share.share_with) { - groups.splice(j, 1); - break; - } - } - } else if (share.share_type === OC.Share.SHARE_TYPE_REMOTE) { - remotesLength = remotes.length; - for (j = 0; j < remotesLength; j++) { - if (remotes[j].value.shareWith === share.share_with) { - remotes.splice(j, 1); - break; - } - } - } else if (share.share_type === OC.Share.SHARE_TYPE_EMAIL) { - emailsLength = emails.length; - for (j = 0; j < emailsLength; j++) { - if (emails[j].value.shareWith === share.share_with) { - emails.splice(j, 1); - break; - } - } - } else if (share.share_type === OC.Share.SHARE_TYPE_CIRCLE) { - circlesLength = circles.length; - for (j = 0; j < circlesLength; j++) { - if (circles[j].value.shareWith === share.share_with) { - circles.splice(j, 1); - break; - } - } - } - } - - var suggestions = users.concat(groups).concat(remotes).concat(emails).concat(circles).concat(lookup); + $confirm.removeClass('hidden'); + } - if (suggestions.length > 0) { - $shareWithField - .autocomplete("option", "autoFocus", true); + if (suggestions.length > 0) { + $shareWithField + .autocomplete("option", "autoFocus", true); - response(suggestions); + response(suggestions); - // show a notice that the list is truncated - // this is the case if one of the search results is at least as long as the max result config option - if(oc_config['sharing.maxAutocompleteResults'] > 0 && - Math.min(perPage, oc_config['sharing.maxAutocompleteResults']) - <= Math.max(users.length, groups.length, remotes.length, emails.length, lookup.length)) { + // show a notice that the list is truncated + // this is the case if one of the search results is at least as long as the max result config option + if(oc_config['sharing.maxAutocompleteResults'] > 0 && + Math.min(perPage, oc_config['sharing.maxAutocompleteResults']) + <= Math.max(users.length, groups.length, remotes.length, emails.length, lookup.length)) { - var message = t('core', 'This list is maybe truncated - please refine your search term to see more results.'); - $('.ui-autocomplete').append('<li class="autocomplete-note">' + message + '</li>'); - } + var message = t('core', 'This list is maybe truncated - please refine your search term to see more results.'); + $('.ui-autocomplete').append('<li class="autocomplete-note">' + message + '</li>'); + } - } else { - var title = t('core', 'No users or groups found for {search}', {search: $shareWithField.val()}); - if (!view.configModel.get('allowGroupSharing')) { - title = t('core', 'No users found for {search}', {search: $('.shareWithField').val()}); - } - $shareWithField.addClass('error') - .attr('data-original-title', title) - .tooltip('hide') - .tooltip({ - placement: 'bottom', - trigger: 'manual' - }) - .tooltip('fixTitle') - .tooltip('show'); - response(); - } - } else { - response(); + } else { + var title = t('core', 'No users or groups found for {search}', {search: $shareWithField.val()}); + if (!view.configModel.get('allowGroupSharing')) { + title = t('core', 'No users found for {search}', {search: $('.shareWithField').val()}); } + $shareWithField.addClass('error') + .attr('data-original-title', title) + .tooltip('hide') + .tooltip({ + placement: 'bottom', + trigger: 'manual' + }) + .tooltip('fixTitle') + .tooltip('show'); + response(); + } + }).fail(function(message) { + view._pendingOperationsCount--; + if (view._pendingOperationsCount === 0) { + $loading.addClass('hidden'); + $loading.removeClass('inlineblock'); + $confirm.removeClass('hidden'); + } + + if (message) { + OC.Notification.showTemporary(t('core', 'An error occurred ("{message}"). Please try again', { message: message })); + } else { + OC.Notification.showTemporary(t('core', 'An error occurred. Please try again')); } - ).fail(function() { - $loading.addClass('hidden'); - $loading.removeClass('inlineblock'); - $shareInfo.removeClass('hidden'); - OC.Notification.show(t('core', 'An error occurred. Please try again')); - window.setTimeout(OC.Notification.hide, 5000); }); }, @@ -357,31 +441,149 @@ }, _onSelectRecipient: function(e, s) { + var self = this; + e.preventDefault(); + // Ensure that the keydown handler for the input field is not + // called; otherwise it would try to add the recipient again, which + // would fail. + e.stopImmediatePropagation(); $(e.target).attr('disabled', true) .val(s.item.label); + var $loading = this.$el.find('.shareWithLoading'); - $loading.removeClass('hidden') - .addClass('inlineblock'); - var $shareInfo = this.$el.find('.shareWithRemoteInfo'); - $shareInfo.addClass('hidden'); + var $confirm = this.$el.find('.shareWithConfirm'); + + $loading.removeClass('hidden'); + $loading.addClass('inlineblock'); + $confirm.addClass('hidden'); + this._pendingOperationsCount++; this.model.addShare(s.item.value, {success: function() { + // Adding a share changes the suggestions. + self._lastSuggestions = undefined; + $(e.target).val('') .attr('disabled', false); - $loading.addClass('hidden') - .removeClass('inlineblock'); - $shareInfo.removeClass('hidden'); + + self._pendingOperationsCount--; + if (self._pendingOperationsCount === 0) { + $loading.addClass('hidden'); + $loading.removeClass('inlineblock'); + $confirm.removeClass('hidden'); + } }, error: function(obj, msg) { OC.Notification.showTemporary(msg); $(e.target).attr('disabled', false) .autocomplete('search', $(e.target).val()); - $loading.addClass('hidden') - .removeClass('inlineblock'); - $shareInfo.removeClass('hidden'); + + self._pendingOperationsCount--; + if (self._pendingOperationsCount === 0) { + $loading.addClass('hidden'); + $loading.removeClass('inlineblock'); + $confirm.removeClass('hidden'); + } }}); }, + _confirmShare: function() { + var self = this; + var $shareWithField = $('.shareWithField'); + var $loading = this.$el.find('.shareWithLoading'); + var $confirm = this.$el.find('.shareWithConfirm'); + + $loading.removeClass('hidden'); + $loading.addClass('inlineblock'); + $confirm.addClass('hidden'); + this._pendingOperationsCount++; + + $shareWithField.prop('disabled', true); + + // Disabling the autocompletion does not clear its search timeout; + // removing the focus from the input field does, but only if the + // autocompletion is not disabled when the field loses the focus. + // Thus, the field has to be disabled before disabling the + // autocompletion to prevent an old pending search result from + // appearing once the field is enabled again. + $shareWithField.autocomplete('close'); + $shareWithField.autocomplete('disable'); + + var restoreUI = function() { + self._pendingOperationsCount--; + if (self._pendingOperationsCount === 0) { + $loading.addClass('hidden'); + $loading.removeClass('inlineblock'); + $confirm.removeClass('hidden'); + } + + $shareWithField.prop('disabled', false); + $shareWithField.focus(); + }; + + var perPage = 200; + var onlyExactMatches = true; + this._getSuggestions( + $shareWithField.val(), + perPage, + this.model, + onlyExactMatches + ).done(function(suggestions, exactMatches) { + if (suggestions.length === 0) { + restoreUI(); + + $shareWithField.autocomplete('enable'); + + // There is no need to show an error message here; it will + // be automatically shown when the autocomplete is activated + // again (due to the focus on the field) and it finds no + // matches. + + return; + } + + if (exactMatches.length !== 1) { + restoreUI(); + + $shareWithField.autocomplete('enable'); + + return; + } + + var actionSuccess = function() { + // Adding a share changes the suggestions. + self._lastSuggestions = undefined; + + $shareWithField.val(''); + + restoreUI(); + + $shareWithField.autocomplete('enable'); + }; + + var actionError = function(obj, msg) { + restoreUI(); + + $shareWithField.autocomplete('enable'); + + OC.Notification.showTemporary(msg); + }; + + self.model.addShare(exactMatches[0].value, { + success: actionSuccess, + error: actionError + }); + }).fail(function(message) { + restoreUI(); + + $shareWithField.autocomplete('enable'); + + // There is no need to show an error message here; it will be + // automatically shown when the autocomplete is activated again + // (due to the focus on the field) and getting the suggestions + // fail. + }); + }, + _toggleLoading: function(state) { this._loading = state; this.$el.find('.subView').toggleClass('hidden', state); @@ -410,18 +612,28 @@ }, render: function() { + var self = this; var baseTemplate = this._getTemplate('base', TEMPLATE_BASE); this.$el.html(baseTemplate({ cid: this.cid, shareLabel: t('core', 'Share'), sharePlaceholder: this._renderSharePlaceholderPart(), - shareInfo: this._renderShareInfoPart(), isSharingAllowed: this.model.sharePermissionPossible() })); var $shareField = this.$el.find('.shareWithField'); if ($shareField.length) { + var shareFieldKeydownHandler = function(event) { + if (event.keyCode !== 13) { + return true; + } + + self._confirmShare(); + + return false; + }; + $shareField.autocomplete({ minLength: 1, delay: 750, @@ -431,6 +643,8 @@ source: this.autocompleteHandler, select: this._onSelectRecipient }).data('ui-autocomplete')._renderItem = this.autocompleteRenderItem; + + $shareField.on('keydown', null, shareFieldKeydownHandler); } this.resharerInfoView.$el = this.$el.find('.resharerInfoView'); @@ -461,27 +675,6 @@ this.linkShareView.showLink = this._showLink; }, - _renderShareInfoPart: function() { - var shareInfo = ''; - var infoTemplate = this._getShareInfoTemplate(); - - if(this.configModel.get('isMailShareAllowed') && this.configModel.get('isRemoteShareAllowed')) { - shareInfo = infoTemplate({ - tooltip: t('core', 'Share with other people by entering a user or group, a federated cloud ID or an email address.') - }); - } else if(this.configModel.get('isRemoteShareAllowed')) { - shareInfo = infoTemplate({ - tooltip: t('core', 'Share with other people by entering a user or group or a federated cloud ID.') - }); - } else if(this.configModel.get('isMailShareAllowed')) { - shareInfo = infoTemplate({ - tooltip: t('core', 'Share with other people by entering a user or group or an email address.') - }); - } - - return shareInfo; - }, - _renderSharePlaceholderPart: function () { var allowRemoteSharing = this.configModel.get('isRemoteShareAllowed'); var allowMailSharing = this.configModel.get('isMailShareAllowed'); @@ -513,15 +706,6 @@ return this._templates[key]; }, - /** - * returns the info template for remote sharing - * - * @returns {Function} - * @private - */ - _getShareInfoTemplate: function() { - return this._getTemplate('shareInfo', TEMPLATE_SHARE_INFO); - } }); OC.Share.ShareDialogView = ShareDialogView; diff --git a/core/js/tests/specs/sharedialogviewSpec.js b/core/js/tests/specs/sharedialogviewSpec.js index c6d5793623c..d3639159849 100644 --- a/core/js/tests/specs/sharedialogviewSpec.js +++ b/core/js/tests/specs/sharedialogviewSpec.js @@ -30,7 +30,6 @@ describe('OC.Share.ShareDialogView', function() { var saveLinkShareStub; var fetchStub; - var notificationStub; var configModel; var shareModel; @@ -472,54 +471,728 @@ describe('OC.Share.ShareDialogView', function() { }); }); }); - describe('remote sharing', function() { - it('shows remote share info when allowed', function() { - configModel.set({ - isRemoteShareAllowed: true + describe('get suggestions', function() { + it('no matches', function() { + var doneStub = sinon.stub(); + var failStub = sinon.stub(); + + dialog._getSuggestions('bob', 42, shareModel).done(doneStub).fail(failStub); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } }); - dialog.render(); - expect(dialog.$el.find('.shareWithRemoteInfo').length).toEqual(1); + + expect(doneStub.called).toEqual(false); + expect(failStub.called).toEqual(false); + + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(doneStub.calledOnce).toEqual(true); + expect(doneStub.calledWithExactly([], [])).toEqual(true); + expect(failStub.called).toEqual(false); }); - it('does not show remote share info when not allowed', function() { - configModel.set({ - isRemoteShareAllowed: false + it('single partial match', function() { + var doneStub = sinon.stub(); + var failStub = sinon.stub(); + + dialog._getSuggestions('bob', 42, shareModel).done(doneStub).fail(failStub); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [] + }, + 'users': [ + { + 'label': 'bobby', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'imbob' + } + } + ], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } }); - dialog.render(); - expect(dialog.$el.find('.shareWithRemoteInfo').length).toEqual(0); + + expect(doneStub.called).toEqual(false); + expect(failStub.called).toEqual(false); + + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(doneStub.calledOnce).toEqual(true); + expect(doneStub.calledWithExactly([{ + 'label': 'bobby', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'imbob'} + }], [ + ])).toEqual(true); + expect(failStub.called).toEqual(false); }); - }); - describe('autocompletion of users', function() { - it('triggers autocomplete display and focus with data when ajax search succeeds', function () { - dialog.render(); - var response = sinon.stub(); - dialog.autocompleteHandler({term: 'bob'}, response); + it('single exact match', function() { + var doneStub = sinon.stub(); + var failStub = sinon.stub(); + + dialog._getSuggestions('bob', 42, shareModel).done(doneStub).fail(failStub); + var jsonData = JSON.stringify({ - 'ocs' : { - 'meta' : { - 'status' : 'success', - 'statuscode' : 100, - 'message' : null + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user1' + } + } + ], + 'groups': [], + 'remotes': [] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } + }); + + expect(doneStub.called).toEqual(false); + expect(failStub.called).toEqual(false); + + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(doneStub.calledOnce).toEqual(true); + expect(doneStub.calledWithExactly([{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }], [{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }])).toEqual(true); + expect(failStub.called).toEqual(false); + }); + it('mixed matches', function() { + var doneStub = sinon.stub(); + var failStub = sinon.stub(); + + dialog._getSuggestions('bob', 42, shareModel).done(doneStub).fail(failStub); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user1' + } + } + ], + 'groups': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_GROUP, + 'shareWith': 'group1' + } + } + ], + 'remotes': [] + }, + 'users': [ + { + 'label': 'bobby', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'imbob' + } + }, + { + 'label': 'bob the second', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user2' + } + } + ], + 'groups': [ + { + 'label': 'bobfans', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_GROUP, + 'shareWith': 'fans' + } + } + ], + 'remotes': [], + 'lookup': [] + } + } + }); + + expect(doneStub.called).toEqual(false); + expect(failStub.called).toEqual(false); + + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(doneStub.calledOnce).toEqual(true); + expect(doneStub.calledWithExactly([{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }, { + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_GROUP, 'shareWith': 'group1'} + }, { + 'label': 'bobby', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'imbob'} + }, { + 'label': 'bob the second', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user2'} + }, { + 'label': 'bobfans', + 'value': {'shareType': OC.Share.SHARE_TYPE_GROUP, 'shareWith': 'fans'} + }], [{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }, { + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_GROUP, 'shareWith': 'group1'} + }])).toEqual(true); + expect(failStub.called).toEqual(false); + }); + + it('does not send a request to the server again for the same parameters', function() { + var doneStub = sinon.stub(); + var failStub = sinon.stub(); + + dialog._getSuggestions('bob', 42, shareModel).done(doneStub).fail(failStub); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null }, - 'data' : { - 'exact' : { - 'users' : [], - 'groups' : [], + 'data': { + 'exact': { + 'users': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user1' + } + } + ], + 'groups': [], 'remotes': [] }, - 'users' : [{'label': 'bob', 'value': {'shareType': 0, 'shareWith': 'test'}}], - 'groups' : [], + 'users': [], + 'groups': [], 'remotes': [], 'lookup': [] } } }); + + expect(doneStub.called).toEqual(false); + expect(failStub.called).toEqual(false); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(doneStub.calledOnce).toEqual(true); + expect(doneStub.calledWithExactly([{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }], [{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }])).toEqual(true); + expect(failStub.called).toEqual(false); + + var done2Stub = sinon.stub(); + var fail2Stub = sinon.stub(); + + dialog._getSuggestions('bob', 42, shareModel).done(done2Stub).fail(fail2Stub); + + expect(doneStub.calledOnce).toEqual(true); + expect(failStub.called).toEqual(false); + + expect(done2Stub.calledOnce).toEqual(true); + expect(done2Stub.calledWithExactly([{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }], [{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }])).toEqual(true); + expect(fail2Stub.called).toEqual(false); + }); + + it('sends a request to the server again for the same parameters if the calls are not consecutive', function() { + var doneStub = sinon.stub(); + var failStub = sinon.stub(); + + dialog._getSuggestions('bob', 42, shareModel).done(doneStub).fail(failStub); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user1' + } + } + ], + 'groups': [], + 'remotes': [] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } + }); + + expect(doneStub.called).toEqual(false); + expect(failStub.called).toEqual(false); + + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(doneStub.calledOnce).toEqual(true); + expect(doneStub.calledWithExactly([{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }], [{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }])).toEqual(true); + expect(failStub.called).toEqual(false); + + var done2Stub = sinon.stub(); + var fail2Stub = sinon.stub(); + + dialog._getSuggestions('bob', 108, shareModel).done(done2Stub).fail(fail2Stub); + + expect(done2Stub.called).toEqual(false); + expect(fail2Stub.called).toEqual(false); + + fakeServer.requests[1].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(done2Stub.calledOnce).toEqual(true); + expect(fail2Stub.called).toEqual(false); + + var done3Stub = sinon.stub(); + var fail3Stub = sinon.stub(); + + dialog._getSuggestions('bob', 42, shareModel).done(done3Stub).fail(fail3Stub); + + expect(done3Stub.called).toEqual(false); + expect(fail3Stub.called).toEqual(false); + + fakeServer.requests[2].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(doneStub.calledOnce).toEqual(true); + expect(failStub.called).toEqual(false); + expect(done2Stub.calledOnce).toEqual(true); + expect(fail2Stub.called).toEqual(false); + + expect(done3Stub.calledOnce).toEqual(true); + expect(done3Stub.calledWithExactly([{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }], [{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }])).toEqual(true); + expect(fail3Stub.called).toEqual(false); + }); + }); + describe('autocompletion of users', function() { + var showTemporaryNotificationStub; + + beforeEach(function() { + showTemporaryNotificationStub = sinon.stub(OC.Notification, 'show'); + }); + + afterEach(function() { + showTemporaryNotificationStub.restore(); + }); + + describe('triggers autocomplete display and focus with data when ajax search succeeds', function () { + it('users', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'bob'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user1' + } + } + ], + 'groups': [], + 'remotes': [] + }, + 'users': [ + { + 'label': 'bobby', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'imbob' + } + } + ], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( 200, {'Content-Type': 'application/json'}, jsonData - ); - expect(response.calledWithExactly(JSON.parse(jsonData).ocs.data.users)).toEqual(true); - expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + ); + expect(response.calledWithExactly([{ + 'label': 'bob', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'user1'} + }, { + 'label': 'bobby', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'imbob'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + + it('groups', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'group'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [ + { + 'label': 'group', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_GROUP, + 'shareWith': 'group' + } + } + ], + 'remotes': [] + }, + 'users': [], + 'groups': [ + { + 'label': 'group2', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_GROUP, + 'shareWith': 'group2' + } + } + ], + 'remotes': [], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'group', + 'value': {'shareType': OC.Share.SHARE_TYPE_GROUP, 'shareWith': 'group'} + }, { + 'label': 'group2', + 'value': {'shareType': OC.Share.SHARE_TYPE_GROUP, 'shareWith': 'group2'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + + it('remotes', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'foo@bar.com/baz'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [ + { + 'label': 'foo@bar.com/baz', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_REMOTE, + 'shareWith': 'foo@bar.com/baz' + } + } + ] + }, + 'users': [], + 'groups': [], + 'remotes': [ + { + 'label': 'foo@bar.com/baz2', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_REMOTE, + 'shareWith': 'foo@bar.com/baz2' + } + } + ], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'foo@bar.com/baz', + 'value': {'shareType': OC.Share.SHARE_TYPE_REMOTE, 'shareWith': 'foo@bar.com/baz'} + }, { + 'label': 'foo@bar.com/baz2', + 'value': {'shareType': OC.Share.SHARE_TYPE_REMOTE, 'shareWith': 'foo@bar.com/baz2'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + + it('emails', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'foo@bar.com'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [], + 'emails': [ + { + 'label': 'foo@bar.com', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_EMAIL, + 'shareWith': 'foo@bar.com' + } + } + ] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [], + 'emails': [ + { + 'label': 'foo@bar.com2', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_EMAIL, + 'shareWith': 'foo@bar.com2' + } + } + ] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'foo@bar.com', + 'value': {'shareType': OC.Share.SHARE_TYPE_EMAIL, 'shareWith': 'foo@bar.com'} + }, { + 'label': 'foo@bar.com2', + 'value': {'shareType': OC.Share.SHARE_TYPE_EMAIL, 'shareWith': 'foo@bar.com2'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + + it('circles', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'CircleName'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [], + 'circles': [ + { + 'label': 'CircleName (type, owner)', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_CIRCLE, + 'shareWith': 'shortId' + } + }, + { + 'label': 'CircleName (type2, owner)', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_CIRCLE, + 'shareWith': 'shortId2' + } + } + ] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [], + 'circles': [ + { + 'label': 'CircleName2 (type, owner)', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_CIRCLE, + 'shareWith': 'shortId3' + } + } + ] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'CircleName (type, owner)', + 'value': {'shareType': OC.Share.SHARE_TYPE_CIRCLE, 'shareWith': 'shortId'} + }, { + 'label': 'CircleName (type2, owner)', + 'value': {'shareType': OC.Share.SHARE_TYPE_CIRCLE, 'shareWith': 'shortId2'} + }, { + 'label': 'CircleName2 (type, owner)', + 'value': {'shareType': OC.Share.SHARE_TYPE_CIRCLE, 'shareWith': 'shortId3'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); }); describe('filter out', function() { @@ -658,7 +1331,20 @@ describe('OC.Share.ShareDialogView', function() { share_type: OC.Share.SHARE_TYPE_REMOTE, share_with: 'foo@bar.com/baz', share_with_displayname: 'foo@bar.com/baz' - + },{ + id: 103, + item_source: 123, + permissions: 31, + share_type: OC.Share.SHARE_TYPE_EMAIL, + share_with: 'foo@bar.com', + share_with_displayname: 'foo@bar.com' + },{ + id: 104, + item_source: 123, + permissions: 31, + share_type: OC.Share.SHARE_TYPE_CIRCLE, + share_with: 'shortId', + share_with_displayname: 'CircleName (type, owner)' }] }); }); @@ -666,7 +1352,7 @@ describe('OC.Share.ShareDialogView', function() { it('users', function () { dialog.render(); var response = sinon.stub(); - dialog.autocompleteHandler({term: 'bob'}, response); + dialog.autocompleteHandler({term: 'bo'}, response); var jsonData = JSON.stringify({ 'ocs': { 'meta': { @@ -714,10 +1400,62 @@ describe('OC.Share.ShareDialogView', function() { expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); }); + it('users (exact)', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'bob'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user1' + } + } + ], + 'groups': [], + 'remotes': [] + }, + 'users': [ + { + 'label': 'bobby', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'imbob' + } + } + ], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'bobby', + 'value': {'shareType': OC.Share.SHARE_TYPE_USER, 'shareWith': 'imbob'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + it('groups', function () { dialog.render(); var response = sinon.stub(); - dialog.autocompleteHandler({term: 'group'}, response); + dialog.autocompleteHandler({term: 'grou'}, response); var jsonData = JSON.stringify({ 'ocs': { 'meta': { @@ -765,10 +1503,62 @@ describe('OC.Share.ShareDialogView', function() { expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); }); + it('groups (exact)', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'group'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [ + { + 'label': 'group', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_GROUP, + 'shareWith': 'group' + } + } + ], + 'remotes': [] + }, + 'users': [], + 'groups': [ + { + 'label': 'group2', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_GROUP, + 'shareWith': 'group2' + } + } + ], + 'remotes': [], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'group2', + 'value': {'shareType': OC.Share.SHARE_TYPE_GROUP, 'shareWith': 'group2'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + it('remotes', function () { dialog.render(); var response = sinon.stub(); - dialog.autocompleteHandler({term: 'bob'}, response); + dialog.autocompleteHandler({term: 'foo'}, response); var jsonData = JSON.stringify({ 'ocs': { 'meta': { @@ -815,10 +1605,286 @@ describe('OC.Share.ShareDialogView', function() { }])).toEqual(true); expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); }); + + it('remotes (exact)', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'foo@bar.com/baz'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [ + { + 'label': 'foo@bar.com/baz', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_REMOTE, + 'shareWith': 'foo@bar.com/baz' + } + } + ] + }, + 'users': [], + 'groups': [], + 'remotes': [ + { + 'label': 'foo@bar.com/baz2', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_REMOTE, + 'shareWith': 'foo@bar.com/baz2' + } + } + ], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'foo@bar.com/baz2', + 'value': {'shareType': OC.Share.SHARE_TYPE_REMOTE, 'shareWith': 'foo@bar.com/baz2'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + + it('emails', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'foo'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [], + 'emails': [] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [], + 'emails': [ + { + 'label': 'foo@bar.com', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_EMAIL, + 'shareWith': 'foo@bar.com' + } + }, + { + 'label': 'foo2@bar.com', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_EMAIL, + 'shareWith': 'foo2@bar.com' + } + } + ] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'foo2@bar.com', + 'value': {'shareType': OC.Share.SHARE_TYPE_EMAIL, 'shareWith': 'foo2@bar.com'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + + it('emails (exact)', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'foo@bar.com'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [], + 'emails': [ + { + 'label': 'foo@bar.com', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_EMAIL, + 'shareWith': 'foo@bar.com' + } + } + ] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [], + 'emails': [ + { + 'label': 'foo@bar.com2', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_EMAIL, + 'shareWith': 'foo@bar.com2' + } + } + ] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'foo@bar.com2', + 'value': {'shareType': OC.Share.SHARE_TYPE_EMAIL, 'shareWith': 'foo@bar.com2'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + + it('circles', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'CircleNam'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [], + 'circles': [] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [], + 'circles': [ + { + 'label': 'CircleName (type, owner)', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_CIRCLE, + 'shareWith': 'shortId' + } + }, + { + 'label': 'CircleName (type2, owner)', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_CIRCLE, + 'shareWith': 'shortId2' + } + } + ] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'CircleName (type2, owner)', + 'value': {'shareType': OC.Share.SHARE_TYPE_CIRCLE, 'shareWith': 'shortId2'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); + + it('circles (exact)', function () { + dialog.render(); + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'CircleName'}, response); + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [], + 'circles': [ + { + 'label': 'CircleName (type, owner)', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_CIRCLE, + 'shareWith': 'shortId' + } + }, + { + 'label': 'CircleName (type2, owner)', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_CIRCLE, + 'shareWith': 'shortId2' + } + } + ] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [], + 'circles': [ + { + 'label': 'CircleName2 (type, owner)', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_CIRCLE, + 'shareWith': 'shortId3' + } + } + ] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + expect(response.calledWithExactly([{ + 'label': 'CircleName (type2, owner)', + 'value': {'shareType': OC.Share.SHARE_TYPE_CIRCLE, 'shareWith': 'shortId2'} + }, { + 'label': 'CircleName2 (type, owner)', + 'value': {'shareType': OC.Share.SHARE_TYPE_CIRCLE, 'shareWith': 'shortId3'} + }])).toEqual(true); + expect(autocompleteStub.calledWith("option", "autoFocus", true)).toEqual(true); + }); }); }); - it('gracefully handles successful ajax call with failure content', function () { + it('throws a notification for a successful ajax call with failure content', function () { dialog.render(); var response = sinon.stub(); dialog.autocompleteHandler({term: 'bob'}, response); @@ -826,7 +1892,8 @@ describe('OC.Share.ShareDialogView', function() { 'ocs' : { 'meta' : { 'status': 'failure', - 'statuscode': 400 + 'statuscode': 400, + 'message': 'error message' } } }); @@ -835,16 +1902,16 @@ describe('OC.Share.ShareDialogView', function() { {'Content-Type': 'application/json'}, jsonData ); - expect(response.calledWithExactly()).toEqual(true); + expect(response.called).toEqual(false); + expect(showTemporaryNotificationStub.calledOnce).toEqual(true); + expect(showTemporaryNotificationStub.firstCall.args[0]).toContain('error message'); }); it('throws a notification when the ajax search lookup fails', function () { - notificationStub = sinon.stub(OC.Notification, 'show'); dialog.render(); dialog.autocompleteHandler({term: 'bob'}, sinon.stub()); fakeServer.requests[0].respond(500); - expect(notificationStub.calledOnce).toEqual(true); - notificationStub.restore(); + expect(showTemporaryNotificationStub.calledOnce).toEqual(true); }); describe('renders the autocomplete elements', function() { @@ -942,6 +2009,425 @@ describe('OC.Share.ShareDialogView', function() { addShareStub.restore(); }); + + it('hides the loading icon when all the pending operations finish', function() { + dialog.render(); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(true); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(false); + + var response = sinon.stub(); + dialog.autocompleteHandler({term: 'bob'}, response); + dialog.autocompleteHandler({term: 'bobby'}, response); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } + }); + + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(false); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(true); + + fakeServer.requests[1].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(true); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(false); + }); + }); + describe('confirm share', function() { + var addShareStub; + var tooltipStub; + var showTemporaryNotificationStub; + + beforeEach(function() { + addShareStub = sinon.stub(shareModel, 'addShare'); + + tooltipStub = sinon.stub($.fn, 'tooltip').callsFake(function() { + return $('<div></div>'); + }); + + showTemporaryNotificationStub = sinon.stub(OC.Notification, 'showTemporary'); + + dialog.render(); + }); + + afterEach(function() { + addShareStub.restore(); + tooltipStub.restore(); + showTemporaryNotificationStub.restore(); + }); + + it('sets the appropriate UI state while waiting to get the suggestions', function() { + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(true); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(false); + expect(autocompleteStub.callCount).toEqual(1); + expect(typeof autocompleteStub.firstCall.args[0]).toEqual('object'); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(false); + + dialog.$el.find('.shareWithField').val('bob'); + + dialog._confirmShare(); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(false); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(true); + expect(autocompleteStub.lastCall.args[0]).toEqual('disable'); + expect(autocompleteStub.calledWith('close')).toEqual(true); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(true); + expect(dialog.$el.find('.shareWithField').val()).toEqual('bob'); + }); + + it('calls addShare with the only suggestion', function() { + dialog.$el.find('.shareWithField').val('bob'); + + dialog._confirmShare(); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user1' + } + } + ], + 'groups': [], + 'remotes': [] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + // Ensure that the UI is not restored before adding the share + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(false); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(true); + expect(autocompleteStub.lastCall.args[0]).toEqual('disable'); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(true); + expect(dialog.$el.find('.shareWithField').val()).toEqual('bob'); + + expect(addShareStub.calledOnce).toEqual(true); + expect(addShareStub.firstCall.args[0]).toEqual({ + shareType: OC.Share.SHARE_TYPE_USER, + shareWith: 'user1' + }); + + // "yield" and "callArg" from SinonJS can not be used, as the + // callback is a property not in the first argument. + addShareStub.firstCall.args[1]['success'].apply(shareModel); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(true); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(false); + expect(autocompleteStub.lastCall.args[0]).toEqual('enable'); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(false); + expect(dialog.$el.find('.shareWithField').val()).toEqual(''); + }); + + it('handles a failure to share', function() { + expect(showTemporaryNotificationStub.called).toEqual(false); + + dialog.$el.find('.shareWithField').val('bob'); + + dialog._confirmShare(); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user1' + } + } + ], + 'groups': [], + 'remotes': [] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + // Ensure that the UI is not restored before adding the share + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(false); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(true); + expect(autocompleteStub.lastCall.args[0]).toEqual('disable'); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(true); + expect(dialog.$el.find('.shareWithField').val()).toEqual('bob'); + + expect(addShareStub.calledOnce).toEqual(true); + expect(addShareStub.firstCall.args[0]).toEqual({ + shareType: OC.Share.SHARE_TYPE_USER, + shareWith: 'user1' + }); + + // "yield" and "callArg" from SinonJS can not be used, as the + // callback is a property not in the first argument. + addShareStub.firstCall.args[1]['error'].apply(shareModel); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(true); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(false); + expect(autocompleteStub.lastCall.args[0]).toEqual('enable'); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(false); + expect(dialog.$el.find('.shareWithField').val()).toEqual('bob'); + + expect(showTemporaryNotificationStub.calledOnce).toEqual(true); + }); + + it('restores UI if there are no matches at all', function() { + dialog.$el.find('.shareWithField').val('bob'); + + dialog._confirmShare(); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(addShareStub.called).toEqual(false); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(true); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(false); + expect(autocompleteStub.lastCall.args[0]).toEqual('enable'); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(false); + expect(dialog.$el.find('.shareWithField').val()).toEqual('bob'); + + // No explicit tooltip is shown; it is automatically shown when the + // autocomplete is activated again and it finds no matches. + expect(tooltipStub.lastCall.args[0]).not.toEqual('show'); + }); + + it('shows tooltip if there are matches but no exact matches', function() { + dialog.$el.find('.shareWithField').val('bo'); + + dialog._confirmShare(); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [], + 'groups': [], + 'remotes': [] + }, + 'users': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user1' + } + } + ], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(addShareStub.called).toEqual(false); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(true); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(false); + expect(autocompleteStub.lastCall.args[0]).toEqual('enable'); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(false); + expect(dialog.$el.find('.shareWithField').val()).toEqual('bo'); + }); + + it('shows tooltip if there is more than one exact match', function() { + dialog.$el.find('.shareWithField').val('bob'); + + dialog._confirmShare(); + + var jsonData = JSON.stringify({ + 'ocs': { + 'meta': { + 'status': 'success', + 'statuscode': 100, + 'message': null + }, + 'data': { + 'exact': { + 'users': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_USER, + 'shareWith': 'user1' + } + } + ], + 'groups': [ + { + 'label': 'bob', + 'value': { + 'shareType': OC.Share.SHARE_TYPE_GROUP, + 'shareWith': 'group1' + } + } + ], + 'remotes': [] + }, + 'users': [], + 'groups': [], + 'remotes': [], + 'lookup': [] + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(addShareStub.called).toEqual(false); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(true); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(false); + expect(autocompleteStub.lastCall.args[0]).toEqual('enable'); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(false); + expect(dialog.$el.find('.shareWithField').val()).toEqual('bob'); + }); + + it('throws a notification for a successful ajax call with failure content', function () { + dialog.$el.find('.shareWithField').val('bob'); + + dialog._confirmShare(); + + var jsonData = JSON.stringify({ + 'ocs' : { + 'meta' : { + 'status': 'failure', + 'statuscode': 400, + 'message': 'error message' + } + } + }); + fakeServer.requests[0].respond( + 200, + {'Content-Type': 'application/json'}, + jsonData + ); + + expect(addShareStub.called).toEqual(false); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(true); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(false); + expect(autocompleteStub.lastCall.args[0]).toEqual('enable'); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(false); + expect(dialog.$el.find('.shareWithField').val()).toEqual('bob'); + + expect(showTemporaryNotificationStub.called).toEqual(false); + }); + + it('throws a notification when the ajax search lookup fails', function () { + dialog.$el.find('.shareWithField').val('bob'); + + dialog._confirmShare(); + + fakeServer.requests[0].respond(500); + + expect(addShareStub.called).toEqual(false); + + expect(dialog.$el.find('.shareWithLoading').hasClass('hidden')).toEqual(true); + expect(dialog.$el.find('.shareWithConfirm').hasClass('hidden')).toEqual(false); + expect(autocompleteStub.lastCall.args[0]).toEqual('enable'); + expect(dialog.$el.find('.shareWithField').prop('disabled')).toEqual(false); + expect(dialog.$el.find('.shareWithField').val()).toEqual('bob'); + + expect(showTemporaryNotificationStub.called).toEqual(false); + }); }); describe('reshare permissions', function() { it('does not show sharing options when sharing not allowed', function() { diff --git a/core/l10n/ast.js b/core/l10n/ast.js index 171f9f8e84e..d2ea2d0a8a5 100644 --- a/core/l10n/ast.js +++ b/core/l10n/ast.js @@ -138,9 +138,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (corréu)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu, ID de ñube federada o direición de corréu.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparti con otra xente introduciendo un usuariu, grupu o ID de ñube federada.", - "Share with other people by entering a user or group or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu o direición de corréu.", "Name or email address..." : "Nome o direición de corréu...", "Name or federated cloud ID..." : "Nome o ID de ñube federada...", "Name, federated cloud ID or email address..." : "Nome, ID de ñube federada o direición de corréu...", @@ -242,6 +239,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta páxina refrescaráse sola cuando la instancia %s vuelva tar disponible.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contauta col alministrador si esti problema sigui apaeciendo.", "Thank you for your patience." : "Gracies pola to paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu, ID de ñube federada o direición de corréu.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparti con otra xente introduciendo un usuariu, grupu o ID de ñube federada.", + "Share with other people by entering a user or group or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu o direición de corréu.", "Alternative Logins" : "Anicios de sesión alternativos" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/ast.json b/core/l10n/ast.json index 0d4ecf4866c..0ef4167cca1 100644 --- a/core/l10n/ast.json +++ b/core/l10n/ast.json @@ -136,9 +136,6 @@ "{sharee} (email)" : "{sharee} (corréu)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu, ID de ñube federada o direición de corréu.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparti con otra xente introduciendo un usuariu, grupu o ID de ñube federada.", - "Share with other people by entering a user or group or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu o direición de corréu.", "Name or email address..." : "Nome o direición de corréu...", "Name or federated cloud ID..." : "Nome o ID de ñube federada...", "Name, federated cloud ID or email address..." : "Nome, ID de ñube federada o direición de corréu...", @@ -240,6 +237,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta páxina refrescaráse sola cuando la instancia %s vuelva tar disponible.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contauta col alministrador si esti problema sigui apaeciendo.", "Thank you for your patience." : "Gracies pola to paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu, ID de ñube federada o direición de corréu.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparti con otra xente introduciendo un usuariu, grupu o ID de ñube federada.", + "Share with other people by entering a user or group or an email address." : "Comparti con otra xente introduciendo un usuariu, grupu o direición de corréu.", "Alternative Logins" : "Anicios de sesión alternativos" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/core/l10n/ca.js b/core/l10n/ca.js index 266253812c9..6b22059b390 100644 --- a/core/l10n/ca.js +++ b/core/l10n/ca.js @@ -56,6 +56,7 @@ OC.L10N.register( "Search contacts …" : "Cerca contactes …", "No contacts found" : "No s'han trobat contactes", "Show all contacts …" : "Mostra tots els contactes …", + "Could not load your contacts" : "No s'han pogut carregar els teus contactes", "Loading your contacts …" : "Carregant els teus contactes …", "Looking for {term} …" : "Buscant {term} …", "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Hi ha hagut problemes amb la comprovació d'integritat del codi. Més informació…</a>", @@ -79,6 +80,7 @@ OC.L10N.register( "I know what I'm doing" : "Sé el que faig", "Password can not be changed. Please contact your administrator." : "La contrasenya no es pot canviar. Contacteu amb l'administrador.", "Reset password" : "Reinicialitza la contrasenya", + "Sending email …" : "Enviant correu electrònic ...", "No" : "No", "Yes" : "Sí", "No files in here" : "No hi ha arxius aquí", @@ -109,6 +111,8 @@ OC.L10N.register( "Strong password" : "Contrasenya forta", "Error occurred while checking server setup" : "Hi ha hagut un error en comprovar la configuració del servidor", "Shared" : "Compartit", + "Shared with" : "Compartit amb", + "Shared by" : "Compartit per", "Error setting expiration date" : "Error en establir la data de venciment", "The public link will expire no later than {days} days after it is created" : "L'enllaç públic tindrà venciment abans de {days} dies després de crear-lo", "Set expiration date" : "Estableix la data de venciment", @@ -159,9 +163,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Comparteix", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartir amb altres persones introduint un usuari o grup, un ID de núvol federat o una adreça d’email.", - "Share with other people by entering a user or group or a federated cloud ID." : "Compartir amb altres persones introduint un usuari o grup o ID de núvol federat.", - "Share with other people by entering a user or group or an email address." : "Compartir amb altres persones introduint un usuari o grup o una adreça d’email.", "Name or email address..." : "Nom o adreça electrònica...", "Name or federated cloud ID..." : "Nom o ID de Núvol Federat…", "Name, federated cloud ID or email address..." : "Nom, ID de núvol federat o adreça d’email…", @@ -244,6 +245,7 @@ OC.L10N.register( "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Aquesta aplicació requereix Javascript per al seu correcte funcionament . Per favor, {linkstart}habiliti Javascript{linkend} i torni a carregar la pàgina.", "More apps" : "Més aplicacions", "Search" : "Cerca", + "Reset search" : "Reinicialitza la cerca", "Confirm your password" : "Confirma la teva contrasenya", "Server side authentication failed!" : "L'autenticació del servidor ha fallat!", "Please contact your administrator." : "Contacteu amb l'administrador.", @@ -253,8 +255,11 @@ OC.L10N.register( "Log in" : "Inici de sessió", "Wrong password." : "Contrasenya incorrecta.", "Stay logged in" : "Mantén la sessió connectada", + "Forgot password?" : "Has oblidat la contrasenya?", + "Back to login" : "Torna a accedir", "Account access" : "Compte d'accés", "You are about to grant %s access to your %s account." : "Estàs a punt d'autoritzar a %s a accedir al teu compte %s.", + "Grant access" : "Concedeix accés", "App token" : "Testimoni d'aplicació", "Alternative login using app token" : "Acreditació alternativa utilitzat testimoni d'aplicació", "Redirecting …" : "Redirigint …", @@ -286,6 +291,11 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Aquesta pàgina s'actualitzarà automàticament quan la instància %s estigui disponible de nou.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacteu amb l'administrador del sistema si aquest missatge persisteix o apareix inesperadament.", "Thank you for your patience." : "Gràcies per la paciència.", - "Alternative Logins" : "Acreditacions alternatives" + "Shared with {recipients}" : "Compartit amb {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartir amb altres persones introduint un usuari o grup, un ID de núvol federat o una adreça d’email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Compartir amb altres persones introduint un usuari o grup o ID de núvol federat.", + "Share with other people by entering a user or group or an email address." : "Compartir amb altres persones introduint un usuari o grup o una adreça d’email.", + "Alternative Logins" : "Acreditacions alternatives", + "Back to log in" : "Torna a l'accés" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/ca.json b/core/l10n/ca.json index d9551085aa3..c6568e87dba 100644 --- a/core/l10n/ca.json +++ b/core/l10n/ca.json @@ -54,6 +54,7 @@ "Search contacts …" : "Cerca contactes …", "No contacts found" : "No s'han trobat contactes", "Show all contacts …" : "Mostra tots els contactes …", + "Could not load your contacts" : "No s'han pogut carregar els teus contactes", "Loading your contacts …" : "Carregant els teus contactes …", "Looking for {term} …" : "Buscant {term} …", "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Hi ha hagut problemes amb la comprovació d'integritat del codi. Més informació…</a>", @@ -77,6 +78,7 @@ "I know what I'm doing" : "Sé el que faig", "Password can not be changed. Please contact your administrator." : "La contrasenya no es pot canviar. Contacteu amb l'administrador.", "Reset password" : "Reinicialitza la contrasenya", + "Sending email …" : "Enviant correu electrònic ...", "No" : "No", "Yes" : "Sí", "No files in here" : "No hi ha arxius aquí", @@ -107,6 +109,8 @@ "Strong password" : "Contrasenya forta", "Error occurred while checking server setup" : "Hi ha hagut un error en comprovar la configuració del servidor", "Shared" : "Compartit", + "Shared with" : "Compartit amb", + "Shared by" : "Compartit per", "Error setting expiration date" : "Error en establir la data de venciment", "The public link will expire no later than {days} days after it is created" : "L'enllaç públic tindrà venciment abans de {days} dies després de crear-lo", "Set expiration date" : "Estableix la data de venciment", @@ -157,9 +161,6 @@ "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Comparteix", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartir amb altres persones introduint un usuari o grup, un ID de núvol federat o una adreça d’email.", - "Share with other people by entering a user or group or a federated cloud ID." : "Compartir amb altres persones introduint un usuari o grup o ID de núvol federat.", - "Share with other people by entering a user or group or an email address." : "Compartir amb altres persones introduint un usuari o grup o una adreça d’email.", "Name or email address..." : "Nom o adreça electrònica...", "Name or federated cloud ID..." : "Nom o ID de Núvol Federat…", "Name, federated cloud ID or email address..." : "Nom, ID de núvol federat o adreça d’email…", @@ -242,6 +243,7 @@ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Aquesta aplicació requereix Javascript per al seu correcte funcionament . Per favor, {linkstart}habiliti Javascript{linkend} i torni a carregar la pàgina.", "More apps" : "Més aplicacions", "Search" : "Cerca", + "Reset search" : "Reinicialitza la cerca", "Confirm your password" : "Confirma la teva contrasenya", "Server side authentication failed!" : "L'autenticació del servidor ha fallat!", "Please contact your administrator." : "Contacteu amb l'administrador.", @@ -251,8 +253,11 @@ "Log in" : "Inici de sessió", "Wrong password." : "Contrasenya incorrecta.", "Stay logged in" : "Mantén la sessió connectada", + "Forgot password?" : "Has oblidat la contrasenya?", + "Back to login" : "Torna a accedir", "Account access" : "Compte d'accés", "You are about to grant %s access to your %s account." : "Estàs a punt d'autoritzar a %s a accedir al teu compte %s.", + "Grant access" : "Concedeix accés", "App token" : "Testimoni d'aplicació", "Alternative login using app token" : "Acreditació alternativa utilitzat testimoni d'aplicació", "Redirecting …" : "Redirigint …", @@ -284,6 +289,11 @@ "This page will refresh itself when the %s instance is available again." : "Aquesta pàgina s'actualitzarà automàticament quan la instància %s estigui disponible de nou.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacteu amb l'administrador del sistema si aquest missatge persisteix o apareix inesperadament.", "Thank you for your patience." : "Gràcies per la paciència.", - "Alternative Logins" : "Acreditacions alternatives" + "Shared with {recipients}" : "Compartit amb {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartir amb altres persones introduint un usuari o grup, un ID de núvol federat o una adreça d’email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Compartir amb altres persones introduint un usuari o grup o ID de núvol federat.", + "Share with other people by entering a user or group or an email address." : "Compartir amb altres persones introduint un usuari o grup o una adreça d’email.", + "Alternative Logins" : "Acreditacions alternatives", + "Back to log in" : "Torna a l'accés" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/core/l10n/cs.js b/core/l10n/cs.js index 54da24d1a25..943f34daed8 100644 --- a/core/l10n/cs.js +++ b/core/l10n/cs.js @@ -180,9 +180,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Sdílet", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, federovaného cloud ID, nebo e-mailové adresy.", - "Share with other people by entering a user or group or a federated cloud ID." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, nebo sdruženého cloud ID.", - "Share with other people by entering a user or group or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, jména skupiny, nebo e-mailové adresy.", "Name or email address..." : "Jméno nebo e-mailová adresa...", "Name or federated cloud ID..." : "Jméno nebo sdružené cloud ID...", "Name, federated cloud ID or email address..." : "Jméno, sdružené cloud ID, nebo e-mailová adresa...", @@ -330,6 +327,9 @@ OC.L10N.register( "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>." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich <a href=\"{docUrl}\" rel=\"noreferrer\">bezpečnostních tipech</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>." : "Přistupujete na tuto stránku přes protokol HTTP. Důrazně doporučujeme nakonfigurovat server tak, aby vyžadoval použití HTTPS jak je popsáno v našich <a href=\"{docUrl}\">bezpečnostních tipech</a>.", "Shared with {recipients}" : "Sdíleno s {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, federovaného cloud ID, nebo e-mailové adresy.", + "Share with other people by entering a user or group or a federated cloud ID." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, nebo sdruženého cloud ID.", + "Share with other people by entering a user or group or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, jména skupiny, nebo e-mailové adresy.", "The server encountered an internal error and was unable to complete your request." : "Server zaznamenal interní chybu a nebyl schopen dokončit váš požadavek.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Kontaktujte prosím správce serveru, pokud se bude tato chyba opakovat. Připojte do svého hlášení níže zobrazené technické detaily.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Pro informace, jak správně nastavit váš server, se podívejte do <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentace</a>.", diff --git a/core/l10n/cs.json b/core/l10n/cs.json index a17c7db333c..84585ccc920 100644 --- a/core/l10n/cs.json +++ b/core/l10n/cs.json @@ -178,9 +178,6 @@ "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Sdílet", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, federovaného cloud ID, nebo e-mailové adresy.", - "Share with other people by entering a user or group or a federated cloud ID." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, nebo sdruženého cloud ID.", - "Share with other people by entering a user or group or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, jména skupiny, nebo e-mailové adresy.", "Name or email address..." : "Jméno nebo e-mailová adresa...", "Name or federated cloud ID..." : "Jméno nebo sdružené cloud ID...", "Name, federated cloud ID or email address..." : "Jméno, sdružené cloud ID, nebo e-mailová adresa...", @@ -328,6 +325,9 @@ "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>." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich <a href=\"{docUrl}\" rel=\"noreferrer\">bezpečnostních tipech</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>." : "Přistupujete na tuto stránku přes protokol HTTP. Důrazně doporučujeme nakonfigurovat server tak, aby vyžadoval použití HTTPS jak je popsáno v našich <a href=\"{docUrl}\">bezpečnostních tipech</a>.", "Shared with {recipients}" : "Sdíleno s {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, federovaného cloud ID, nebo e-mailové adresy.", + "Share with other people by entering a user or group or a federated cloud ID." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, skupiny, nebo sdruženého cloud ID.", + "Share with other people by entering a user or group or an email address." : "Sdílejte s dalšími lidmi zadáním uživatelského jména, jména skupiny, nebo e-mailové adresy.", "The server encountered an internal error and was unable to complete your request." : "Server zaznamenal interní chybu a nebyl schopen dokončit váš požadavek.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Kontaktujte prosím správce serveru, pokud se bude tato chyba opakovat. Připojte do svého hlášení níže zobrazené technické detaily.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Pro informace, jak správně nastavit váš server, se podívejte do <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentace</a>.", diff --git a/core/l10n/da.js b/core/l10n/da.js index d9276070e02..d98816a4042 100644 --- a/core/l10n/da.js +++ b/core/l10n/da.js @@ -56,6 +56,7 @@ OC.L10N.register( "Search contacts …" : "Søg efter brugere ...", "No contacts found" : "Ingen kontakter", "Show all contacts …" : "Vis alle kontakter …", + "Could not load your contacts" : "Kunne ikke indlæse kontakter.", "Loading your contacts …" : "Henter dine kontakter …", "Looking for {term} …" : "Leder efter {term} …", "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Der var problemer med integritetskontrollen af koden. Mere information...</a>", @@ -108,7 +109,25 @@ OC.L10N.register( "So-so password" : "Jævnt kodeord", "Good password" : "Godt kodeord", "Strong password" : "Stærkt kodeord", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Din webserver er endnu ikke sat korrekt op til at tillade filsynkronisering, fordi WebDAV-grænsefladen ser ud til at være i stykker.", + "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Din webserver er ikke sat op til at benytte \"{url}\". Nærmere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</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. Establish a connection from this server to the Internet to enjoy all features." : "Serveren har ikke nogen fungerende internetforbindelse: Nogle data kan ikke tilgås. Det betyder at funktioner som forbinde eksterne enheder, notifikationer om opdateringer og installation af 3.parts udvidelser ikke vil virke. Få forbindelse til filer og sende notifikations email virker måske heller ikke. \nVi anbefaler at du får etableret en internetforbindelse hvis du ønsker alle funktioner skal virke.", + "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Der er ikke konfigureret noget hukommelsesmellemlager. For at forbedre din ydelse bør du om muligt konfigurere en mamcache. Yderligere information findes i <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentationen</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsgrunde. Yderligere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</a>.", + "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Du kører i øjeblikket med PHP {version}. Vi anbefaler dig at opgradere din PHP version for at få glæde af <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">ydelses- og sikkerhedsopdateringer udgivet af the PHP Group</a> så snart din dintribution understøtter dem.", + "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Du kører PHP 5.6. Den nuværende større version af Nextcloud er den sidste, der understøttes på PHP 5.6. Det anbefales at opgradere PHP-versionen til 7.0+ for at kunne opgradere til Nextcloud 14.", + "The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Konfigurationen af reverse proxy-headere er ikke korrekt eller du tilgår Nextcloud fra en betroet proxy. Hvis du ikke tilgår Nextcloud fra en betroet proxy, så er dette et sikkerhedsproblem og kan tillade en angriber af forfalske deres IP-adresse som synlig for Nextcloud. Yderligere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</a>.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached er konfigureret som et distribueret mellemlager, men det forkerte PHP-modul \"memcache\" er installeret. \\OC\\Memcache\\Memcached understøtter kun \"memcached\" og ikke \"memcache\". Se <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached-wikien om begge moduler</a>.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Nogle filer har ikke bestået integritetskontrollen. Yderligere information om hvordan man løser dette problem kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dodumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste over ugyldige filer...</a> / <a href=\"{rescanEndpoint}\">Scan igen…</a>)", + "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP OPcache er ikke rigtigt konfigureret. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For bedre performance anbefaler vi </a> at bruge følgende indstillinger i <code>php.ini</code>:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP funktionen \"set_time_limit\" er ikke tilgængelig. Dette kan resultere i at scripts stopper halvvejs og din installation fejler. Vi anbefaler at aktivere denne funktion.", + "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Din PHP version har ikke FreeType-support, hvilket resulterer i brud på profilbilleder og indstillingerne.", "Error occurred while checking server setup" : "Der opstod fejl under tjek af serveropsætningen", + "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Din data-mappe og dine filer ser ud til at være tilgængelig på intetnettet. Din .htaccess fungere ikke korrekt. Du anbefales på det kraftigste til at sætte din webserver op så din data-mappe ikke længere er tilgængelig på intetnettet eller flytte data-mappen væk fra webserverens dokumentrod.", + "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", + "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP headeren \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For bedre sikkerhed anbefaler vi at aktivere HSTS som beskrevet i vores <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhedstips</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der kræves brug af HTTPS i stedet for, som foreskrevet i vores <a href=\"{docUrl}\">sikkerhedstips</a>.", "Shared" : "Delt", "Shared with" : "Delt med", "Shared by" : "Delt af", @@ -156,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Listen er måske afkortet - optimer dine søgeord for at se flere resultater.", "No users or groups found for {search}" : "Ingen brugere eller grupper fundet for {search}", "No users found for {search}" : "Ingen brugere fundet for {search}", + "An error occurred (\"{message}\"). Please try again" : "Der opstor den fejl (\"{message}\"). Prøv igen", "An error occurred. Please try again" : "Der opstor den fejl. Prøv igen", "{sharee} (group)" : "{sharee} (gruppe)", "{sharee} (remote)" : "{sharee} (ekstern)", "{sharee} (email)" : "{sharee} (e-mail)", "{sharee} ({type}, {owner})" : "{share} ({type}, {owner})", "Share" : "Del", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe, et federated cloud id eller en e-mail adresse.", - "Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved at indtaste et brugernavn, en gruppe eller et federated cloud id.", - "Share with other people by entering a user or group or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe eller e-mail adresse.", "Name or email address..." : "Navn eller e-mail adresse...", "Name or federated cloud ID..." : "Navn eller federated cloud id...", "Name, federated cloud ID or email address..." : "Navn, federated cloud id eller e-mail adresse...", @@ -222,6 +239,7 @@ OC.L10N.register( "Trace" : "Sporing", "Security warning" : "Sikkerheds advarsel", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Dine data mappe og filer er sandsynligvis tilgængelige fra internettet fordi .htaccess filen ikke virker.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">documentation</a>." : "For information om, hvordan du konfigurerer din server korrekt se <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">dokumentationen</a>.", "Create an <strong>admin account</strong>" : "Opret en <strong>administratorkonto</strong>", "Username" : "Brugernavn", "Storage & database" : "Lager & database", @@ -256,8 +274,10 @@ OC.L10N.register( "Username or email" : "Brugernavn eller e-mail", "Log in" : "Log ind", "Wrong password." : "Forkert kodeord.", + "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Vi har registreret flere ugyldige loginforsøg fra din IP. Derfor bliver din næste login sat op til 30 sekunder.", "Stay logged in" : "Forbliv logget ind", "Forgot password?" : "Glemt adgangskode?", + "Back to login" : "Tilbage til log in", "Account access" : "Konto adgang", "You are about to grant %s access to your %s account." : "Du er ved at tildele %s adgang til din %s konto.", "Grant access" : "Giv adgang", @@ -293,7 +313,39 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Denne side vil genopfriske sig selv, når %s-instancen er tilgængelig igen.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakt systemadministratoren, hvis denne meddelelse fortsætter eller optrådte uventet.", "Thank you for your patience." : "Tak for din tålmodighed.", + "%s (3rdparty)" : "%s (3rdparty)", + "There was an error loading your contacts" : "Der opstod en fejl under indlæsning af dine kontakter", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Din webserver er endnu ikke sat korrekt op til at tillade filsynkronisering, fordi WebDAV-grænsefladen ser ud til at være i stykker.", + "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>." : "Din webserver er ikke sat op til at benytte \"{url}\". Nærmere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</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." : "Serveren har ikke nogen aktiv internetforbindelse: Nogle data kan ikke tilgås. Det betyder at funktioner som forbinde eksterne enheder, notifikationer om opdateringer og installation af 3.parts udvidelser ikke vil virke. Få forbindelse til filer og sende notifikations email virker måske heller ikke. \nVi anbefaler at du får etableret en internetforbindelse hvis du ønsker alle funktioner skal virke.", + "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>." : "Der er ikke konfigureret noget hukommelsesmellemlager. For at forbedre din ydelse bør du om muligt konfigurere en mamcache. Yderligere information findes i <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentationen</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 kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsgrunde. Yderligere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</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." : "Du kører i øjeblikket med PHP {version}. Vi anbefaler dig at opgradere din PHP version for at få glæde af <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">ydelses- og sikkerhedsopdateringer udgivet af the PHP Group</a> så snart din dintribution understøtter dem.", + "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>." : "Konfigurationen af reverse proxy-headere er ikke korrekt eller du tilgår Nextcloud fra en betroet proxy. Hvis du ikke tilgår Nextcloud fra en betroet proxy, så er dette et sikkerhedsproblem og kan tillade en angriber af forfalske deres IP-adresse som synlig for Nextcloud. Yderligere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</a>.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached er konfigureret som et distribueret mellemlager, men det forkerte PHP-modul \"memcache\" er installeret. \\OC\\Memcache\\Memcached understøtter kun \"memcached\" og ikke \"memcache\". Se <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached-wikien om begge moduler</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>)" : "Nogle filer har ikke bestået integritetskontrollen. Yderligere information om hvordan man løser dette problem kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dodumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste over ugyldige filer...</a> / <a href=\"{rescanEndpoint}\">Scan igen…</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 er ikke rigtigt konfigureret. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For bedre performance anbefaler vi </a> at bruge følgende indstillinger i <code>php.ini</code>:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "PHP funktionen \"set_time_limit\" er ikke tilgængelig. Dette kan resultere i at scripts stopper halvvejs og din installation fejler. Vi anbefaler at aktivere denne funktion.", + "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." : "Din data-mappe og dine filer ser ud til at være tilgængelig på intetnettet. Din .htaccess fungere ikke korrekt. Du anbefales på det kraftigste til at sætte din webserver op så din data-mappe ikke længere er tilgængelig på intetnettet eller flytte data-mappen væk fra webserverens dokumentrod.", + "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." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", + "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>." : "HTTP headeren \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For bedre sikkerhed anbefaler vi at aktivere HSTS som beskrevet i vores <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhedstips</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>." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der kræves brug af HTTPS i stedet for, som foreskrevet i vores <a href=\"{docUrl}\">sikkerhedstips</a>.", + "Shared with {recipients}" : "Delt med {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe, et federated cloud id eller en e-mail adresse.", + "Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved at indtaste et brugernavn, en gruppe eller et federated cloud id.", + "Share with other people by entering a user or group or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe eller e-mail adresse.", + "The server encountered an internal error and was unable to complete your request." : "Servern stødte på en intern fejl og var ikke i stand til at fuldføre din forespørgsel.", + "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Kontakt venligst serveradministratoren, hvis denne fejl gentager sig flere gange - medtag venligst de tekniske detaljer nedenfor i din rapport.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "For information om, hvordan du konfigurerer din server korrekt se <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentationen</a>.", + "This action requires you to confirm your password:" : "Denne handling kræver at du bekræfter dit kodeord:", + "Wrong password. Reset it?" : "Forkert kodeord. Skal det nulstilles?", "Alternative Logins" : "Alternative logins", + "You are about to grant \"%s\" access to your %s account." : "Du er ved at tildele %s adgang til din %s konto.", + "You are accessing the server from an untrusted domain." : "Du tilgår serveren fra et utroværdigt domæne.", + "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Kontakt venligst din administrator. Hvis du er administratoren af denne server, skal du konfigurerer \"trusted-domains\" i filen config/config.php. Et eksempel på hvordan kan findes i filen config/config.sample.php", + "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Afhænger af din konfiguration, da du som administrator eventuelt også er i stand til at gøre brug af knappen nedenfor til at tildele tillid til dette domæne.", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For hjælp se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentationen</a>.", + "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Din PHP version har ikke FreeType-support, hvilket resulterer i brud på profilbilleder og indstillingerne.", "Back to log in" : "Tilbage til log in" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/da.json b/core/l10n/da.json index 08b0885aed4..a8d286d31aa 100644 --- a/core/l10n/da.json +++ b/core/l10n/da.json @@ -54,6 +54,7 @@ "Search contacts …" : "Søg efter brugere ...", "No contacts found" : "Ingen kontakter", "Show all contacts …" : "Vis alle kontakter …", + "Could not load your contacts" : "Kunne ikke indlæse kontakter.", "Loading your contacts …" : "Henter dine kontakter …", "Looking for {term} …" : "Leder efter {term} …", "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Der var problemer med integritetskontrollen af koden. Mere information...</a>", @@ -106,7 +107,25 @@ "So-so password" : "Jævnt kodeord", "Good password" : "Godt kodeord", "Strong password" : "Stærkt kodeord", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Din webserver er endnu ikke sat korrekt op til at tillade filsynkronisering, fordi WebDAV-grænsefladen ser ud til at være i stykker.", + "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Din webserver er ikke sat op til at benytte \"{url}\". Nærmere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</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. Establish a connection from this server to the Internet to enjoy all features." : "Serveren har ikke nogen fungerende internetforbindelse: Nogle data kan ikke tilgås. Det betyder at funktioner som forbinde eksterne enheder, notifikationer om opdateringer og installation af 3.parts udvidelser ikke vil virke. Få forbindelse til filer og sende notifikations email virker måske heller ikke. \nVi anbefaler at du får etableret en internetforbindelse hvis du ønsker alle funktioner skal virke.", + "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Der er ikke konfigureret noget hukommelsesmellemlager. For at forbedre din ydelse bør du om muligt konfigurere en mamcache. Yderligere information findes i <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentationen</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsgrunde. Yderligere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</a>.", + "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Du kører i øjeblikket med PHP {version}. Vi anbefaler dig at opgradere din PHP version for at få glæde af <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">ydelses- og sikkerhedsopdateringer udgivet af the PHP Group</a> så snart din dintribution understøtter dem.", + "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Du kører PHP 5.6. Den nuværende større version af Nextcloud er den sidste, der understøttes på PHP 5.6. Det anbefales at opgradere PHP-versionen til 7.0+ for at kunne opgradere til Nextcloud 14.", + "The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Konfigurationen af reverse proxy-headere er ikke korrekt eller du tilgår Nextcloud fra en betroet proxy. Hvis du ikke tilgår Nextcloud fra en betroet proxy, så er dette et sikkerhedsproblem og kan tillade en angriber af forfalske deres IP-adresse som synlig for Nextcloud. Yderligere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</a>.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached er konfigureret som et distribueret mellemlager, men det forkerte PHP-modul \"memcache\" er installeret. \\OC\\Memcache\\Memcached understøtter kun \"memcached\" og ikke \"memcache\". Se <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached-wikien om begge moduler</a>.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Nogle filer har ikke bestået integritetskontrollen. Yderligere information om hvordan man løser dette problem kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dodumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste over ugyldige filer...</a> / <a href=\"{rescanEndpoint}\">Scan igen…</a>)", + "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP OPcache er ikke rigtigt konfigureret. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For bedre performance anbefaler vi </a> at bruge følgende indstillinger i <code>php.ini</code>:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP funktionen \"set_time_limit\" er ikke tilgængelig. Dette kan resultere i at scripts stopper halvvejs og din installation fejler. Vi anbefaler at aktivere denne funktion.", + "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "Din PHP version har ikke FreeType-support, hvilket resulterer i brud på profilbilleder og indstillingerne.", "Error occurred while checking server setup" : "Der opstod fejl under tjek af serveropsætningen", + "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Din data-mappe og dine filer ser ud til at være tilgængelig på intetnettet. Din .htaccess fungere ikke korrekt. Du anbefales på det kraftigste til at sætte din webserver op så din data-mappe ikke længere er tilgængelig på intetnettet eller flytte data-mappen væk fra webserverens dokumentrod.", + "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", + "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP headeren \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For bedre sikkerhed anbefaler vi at aktivere HSTS som beskrevet i vores <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhedstips</a>.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der kræves brug af HTTPS i stedet for, som foreskrevet i vores <a href=\"{docUrl}\">sikkerhedstips</a>.", "Shared" : "Delt", "Shared with" : "Delt med", "Shared by" : "Delt af", @@ -154,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Listen er måske afkortet - optimer dine søgeord for at se flere resultater.", "No users or groups found for {search}" : "Ingen brugere eller grupper fundet for {search}", "No users found for {search}" : "Ingen brugere fundet for {search}", + "An error occurred (\"{message}\"). Please try again" : "Der opstor den fejl (\"{message}\"). Prøv igen", "An error occurred. Please try again" : "Der opstor den fejl. Prøv igen", "{sharee} (group)" : "{sharee} (gruppe)", "{sharee} (remote)" : "{sharee} (ekstern)", "{sharee} (email)" : "{sharee} (e-mail)", "{sharee} ({type}, {owner})" : "{share} ({type}, {owner})", "Share" : "Del", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe, et federated cloud id eller en e-mail adresse.", - "Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved at indtaste et brugernavn, en gruppe eller et federated cloud id.", - "Share with other people by entering a user or group or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe eller e-mail adresse.", "Name or email address..." : "Navn eller e-mail adresse...", "Name or federated cloud ID..." : "Navn eller federated cloud id...", "Name, federated cloud ID or email address..." : "Navn, federated cloud id eller e-mail adresse...", @@ -220,6 +237,7 @@ "Trace" : "Sporing", "Security warning" : "Sikkerheds advarsel", "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Dine data mappe og filer er sandsynligvis tilgængelige fra internettet fordi .htaccess filen ikke virker.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">documentation</a>." : "For information om, hvordan du konfigurerer din server korrekt se <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">dokumentationen</a>.", "Create an <strong>admin account</strong>" : "Opret en <strong>administratorkonto</strong>", "Username" : "Brugernavn", "Storage & database" : "Lager & database", @@ -254,8 +272,10 @@ "Username or email" : "Brugernavn eller e-mail", "Log in" : "Log ind", "Wrong password." : "Forkert kodeord.", + "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Vi har registreret flere ugyldige loginforsøg fra din IP. Derfor bliver din næste login sat op til 30 sekunder.", "Stay logged in" : "Forbliv logget ind", "Forgot password?" : "Glemt adgangskode?", + "Back to login" : "Tilbage til log in", "Account access" : "Konto adgang", "You are about to grant %s access to your %s account." : "Du er ved at tildele %s adgang til din %s konto.", "Grant access" : "Giv adgang", @@ -291,7 +311,39 @@ "This page will refresh itself when the %s instance is available again." : "Denne side vil genopfriske sig selv, når %s-instancen er tilgængelig igen.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakt systemadministratoren, hvis denne meddelelse fortsætter eller optrådte uventet.", "Thank you for your patience." : "Tak for din tålmodighed.", + "%s (3rdparty)" : "%s (3rdparty)", + "There was an error loading your contacts" : "Der opstod en fejl under indlæsning af dine kontakter", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Din webserver er endnu ikke sat korrekt op til at tillade filsynkronisering, fordi WebDAV-grænsefladen ser ud til at være i stykker.", + "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>." : "Din webserver er ikke sat op til at benytte \"{url}\". Nærmere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</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." : "Serveren har ikke nogen aktiv internetforbindelse: Nogle data kan ikke tilgås. Det betyder at funktioner som forbinde eksterne enheder, notifikationer om opdateringer og installation af 3.parts udvidelser ikke vil virke. Få forbindelse til filer og sende notifikations email virker måske heller ikke. \nVi anbefaler at du får etableret en internetforbindelse hvis du ønsker alle funktioner skal virke.", + "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>." : "Der er ikke konfigureret noget hukommelsesmellemlager. For at forbedre din ydelse bør du om muligt konfigurere en mamcache. Yderligere information findes i <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentationen</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 kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsgrunde. Yderligere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</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." : "Du kører i øjeblikket med PHP {version}. Vi anbefaler dig at opgradere din PHP version for at få glæde af <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">ydelses- og sikkerhedsopdateringer udgivet af the PHP Group</a> så snart din dintribution understøtter dem.", + "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>." : "Konfigurationen af reverse proxy-headere er ikke korrekt eller du tilgår Nextcloud fra en betroet proxy. Hvis du ikke tilgår Nextcloud fra en betroet proxy, så er dette et sikkerhedsproblem og kan tillade en angriber af forfalske deres IP-adresse som synlig for Nextcloud. Yderligere information kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentation</a>.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached er konfigureret som et distribueret mellemlager, men det forkerte PHP-modul \"memcache\" er installeret. \\OC\\Memcache\\Memcached understøtter kun \"memcached\" og ikke \"memcache\". Se <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached-wikien om begge moduler</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>)" : "Nogle filer har ikke bestået integritetskontrollen. Yderligere information om hvordan man løser dette problem kan findes i vores <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dodumentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Liste over ugyldige filer...</a> / <a href=\"{rescanEndpoint}\">Scan igen…</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 er ikke rigtigt konfigureret. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For bedre performance anbefaler vi </a> at bruge følgende indstillinger i <code>php.ini</code>:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "PHP funktionen \"set_time_limit\" er ikke tilgængelig. Dette kan resultere i at scripts stopper halvvejs og din installation fejler. Vi anbefaler at aktivere denne funktion.", + "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." : "Din data-mappe og dine filer ser ud til at være tilgængelig på intetnettet. Din .htaccess fungere ikke korrekt. Du anbefales på det kraftigste til at sætte din webserver op så din data-mappe ikke længere er tilgængelig på intetnettet eller flytte data-mappen væk fra webserverens dokumentrod.", + "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." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", + "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>." : "HTTP headeren \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For bedre sikkerhed anbefaler vi at aktivere HSTS som beskrevet i vores <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhedstips</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>." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der kræves brug af HTTPS i stedet for, som foreskrevet i vores <a href=\"{docUrl}\">sikkerhedstips</a>.", + "Shared with {recipients}" : "Delt med {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe, et federated cloud id eller en e-mail adresse.", + "Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved at indtaste et brugernavn, en gruppe eller et federated cloud id.", + "Share with other people by entering a user or group or an email address." : "Del med andre ved at indtaste et brugernavn, en gruppe eller e-mail adresse.", + "The server encountered an internal error and was unable to complete your request." : "Servern stødte på en intern fejl og var ikke i stand til at fuldføre din forespørgsel.", + "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Kontakt venligst serveradministratoren, hvis denne fejl gentager sig flere gange - medtag venligst de tekniske detaljer nedenfor i din rapport.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "For information om, hvordan du konfigurerer din server korrekt se <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentationen</a>.", + "This action requires you to confirm your password:" : "Denne handling kræver at du bekræfter dit kodeord:", + "Wrong password. Reset it?" : "Forkert kodeord. Skal det nulstilles?", "Alternative Logins" : "Alternative logins", + "You are about to grant \"%s\" access to your %s account." : "Du er ved at tildele %s adgang til din %s konto.", + "You are accessing the server from an untrusted domain." : "Du tilgår serveren fra et utroværdigt domæne.", + "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Kontakt venligst din administrator. Hvis du er administratoren af denne server, skal du konfigurerer \"trusted-domains\" i filen config/config.php. Et eksempel på hvordan kan findes i filen config/config.sample.php", + "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Afhænger af din konfiguration, da du som administrator eventuelt også er i stand til at gøre brug af knappen nedenfor til at tildele tillid til dette domæne.", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "For hjælp se <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentationen</a>.", + "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "Din PHP version har ikke FreeType-support, hvilket resulterer i brud på profilbilleder og indstillingerne.", "Back to log in" : "Tilbage til log in" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/core/l10n/de.js b/core/l10n/de.js index 7035bb6f6fb..39a82794e2b 100644 --- a/core/l10n/de.js +++ b/core/l10n/de.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Die Liste ist unter Umständen gekürzt - Bitte verfeinere Deine Suche um mehr Ergebnisse zu erhalten.", "No users or groups found for {search}" : "Keine Benutzer oder Gruppen für {search} gefunden", "No users found for {search}" : "Keine Benutzer für {search} gefunden", + "An error occurred (\"{message}\"). Please try again" : "Benötigt keine Übersetzung. Für iOS wird nur die formelle Übersetzung verwendet (de_DE). ", "An error occurred. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuche es noch einmal", "{sharee} (group)" : "{sharee} (Gruppe)", "{sharee} (remote)" : "{sharee} (entfernt)", "{sharee} (email)" : "{sharee} (E-Mail)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Teilen", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adressen eingibst.", - "Share with other people by entering a user or group or a federated cloud ID." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingibst.", - "Share with other people by entering a user or group or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingibst.", "Name or email address..." : "Name oder E-Mail-Adresse…", "Name or federated cloud ID..." : "Name oder Federated-Cloud-ID…", "Name, federated cloud ID or email address..." : "Name, Federated-Cloud-ID oder E-Mail-Adresse…", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren <a href=\"{docUrl}\" rel=\"noreferrer\">Sicherheitshinweisen</a> erläutert ist.", "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>." : "Du greifst auf diese Site über HTTP zu. Wir raten dringend dazu, deinen Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in unseren <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Shared with {recipients}" : "Geteilt mit {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adressen eingibst.", + "Share with other people by entering a user or group or a federated cloud ID." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingibst.", + "Share with other people by entering a user or group or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingibst.", "The server encountered an internal error and was unable to complete your request." : "Der Server hat einen internen Fehler und konnte Deine Anfrage nicht vervollständigen.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Bitte wende dich an den Serveradministrator, wenn dieser Fehler mehrfach auftritt, gebe bitte die, unten stehenden, technischen Details in Deinem Bericht mit an.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Informationen zum richtigen Konfigurieren Deines Servers kannst Du der <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">Dokumentation</a> entnehmen.", diff --git a/core/l10n/de.json b/core/l10n/de.json index 488643d8745..bb3ff027631 100644 --- a/core/l10n/de.json +++ b/core/l10n/de.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Die Liste ist unter Umständen gekürzt - Bitte verfeinere Deine Suche um mehr Ergebnisse zu erhalten.", "No users or groups found for {search}" : "Keine Benutzer oder Gruppen für {search} gefunden", "No users found for {search}" : "Keine Benutzer für {search} gefunden", + "An error occurred (\"{message}\"). Please try again" : "Benötigt keine Übersetzung. Für iOS wird nur die formelle Übersetzung verwendet (de_DE). ", "An error occurred. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuche es noch einmal", "{sharee} (group)" : "{sharee} (Gruppe)", "{sharee} (remote)" : "{sharee} (entfernt)", "{sharee} (email)" : "{sharee} (E-Mail)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Teilen", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adressen eingibst.", - "Share with other people by entering a user or group or a federated cloud ID." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingibst.", - "Share with other people by entering a user or group or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingibst.", "Name or email address..." : "Name oder E-Mail-Adresse…", "Name or federated cloud ID..." : "Name oder Federated-Cloud-ID…", "Name, federated cloud ID or email address..." : "Name, Federated-Cloud-ID oder E-Mail-Adresse…", @@ -331,6 +329,9 @@ "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>." : "Der \"Strict-Transport-Security\" HTTP-Header ist nicht auf mindestens \"{seconds}\" Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren <a href=\"{docUrl}\" rel=\"noreferrer\">Sicherheitshinweisen</a> erläutert ist.", "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>." : "Du greifst auf diese Site über HTTP zu. Wir raten dringend dazu, deinen Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in unseren <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Shared with {recipients}" : "Geteilt mit {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adressen eingibst.", + "Share with other people by entering a user or group or a federated cloud ID." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingibst.", + "Share with other people by entering a user or group or an email address." : "Teile mit Anderen, indem Du einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingibst.", "The server encountered an internal error and was unable to complete your request." : "Der Server hat einen internen Fehler und konnte Deine Anfrage nicht vervollständigen.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Bitte wende dich an den Serveradministrator, wenn dieser Fehler mehrfach auftritt, gebe bitte die, unten stehenden, technischen Details in Deinem Bericht mit an.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Informationen zum richtigen Konfigurieren Deines Servers kannst Du der <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">Dokumentation</a> entnehmen.", diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index 272dffde889..407b2bc4d11 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Die Liste ist unter Umständen gekürzt - Bitte verfeinern Sie Ihre Suche um mehr Ergebnisse zu erhalten.", "No users or groups found for {search}" : "Keine Benutzer oder Gruppen für {search} gefunden", "No users found for {search}" : "Keine Benutzer für {search} gefunden", + "An error occurred (\"{message}\"). Please try again" : "Es ist ein Fehler aufgetreten (\"{message}\"). Bitte erneut versuchen.", "An error occurred. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuchen Sie es noch einmal", "{sharee} (group)" : "{sharee} (Gruppe)", "{sharee} (remote)" : "{sharee} (entfernt)", "{sharee} (email)" : "{sharee} (E-Mail)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Teilen", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adresse eingeben.", - "Share with other people by entering a user or group or a federated cloud ID." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingeben.", - "Share with other people by entering a user or group or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingeben.", "Name or email address..." : "Name oder E-Mail-Adresse…", "Name or federated cloud ID..." : "Name oder Federated-Cloud-ID…", "Name, federated cloud ID or email address..." : "Name, Federated-Cloud-ID oder E-Mail-Adresse…", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "Der \"Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens \"{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren <a href=\"{docUrl}\" rel=\"noreferrer\">Sicherheitshinweisen</a> erläutert ist.", "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>." : "Sie greifen auf diese Site über HTTP zu. Wir raten dringend dazu, Ihren Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in unseren <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Shared with {recipients}" : "Geteilt mit {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adresse eingeben.", + "Share with other people by entering a user or group or a federated cloud ID." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingeben.", + "Share with other people by entering a user or group or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingeben.", "The server encountered an internal error and was unable to complete your request." : "Der Server hat einen internen Fehler und konnte Ihre Anfrage nicht vervollständigen.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Bitte wenden Sie sich an den Serveradministrator, wenn dieser Fehler mehrfach auftritt, geben Sie bitte die, unten stehenden, technischen Details in Ihrem Bericht mit an.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Informationen zum richtigen Konfigurieren Ihres Servers können Sie der <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">Dokumentation</a> entnehmen.", diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index d36ba2ce7b7..ffdba67da91 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Die Liste ist unter Umständen gekürzt - Bitte verfeinern Sie Ihre Suche um mehr Ergebnisse zu erhalten.", "No users or groups found for {search}" : "Keine Benutzer oder Gruppen für {search} gefunden", "No users found for {search}" : "Keine Benutzer für {search} gefunden", + "An error occurred (\"{message}\"). Please try again" : "Es ist ein Fehler aufgetreten (\"{message}\"). Bitte erneut versuchen.", "An error occurred. Please try again" : "Es ist ein Fehler aufgetreten. Bitte versuchen Sie es noch einmal", "{sharee} (group)" : "{sharee} (Gruppe)", "{sharee} (remote)" : "{sharee} (entfernt)", "{sharee} (email)" : "{sharee} (E-Mail)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Teilen", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adresse eingeben.", - "Share with other people by entering a user or group or a federated cloud ID." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingeben.", - "Share with other people by entering a user or group or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingeben.", "Name or email address..." : "Name oder E-Mail-Adresse…", "Name or federated cloud ID..." : "Name oder Federated-Cloud-ID…", "Name, federated cloud ID or email address..." : "Name, Federated-Cloud-ID oder E-Mail-Adresse…", @@ -331,6 +329,9 @@ "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>." : "Der \"Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens \"{seconds}“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren <a href=\"{docUrl}\" rel=\"noreferrer\">Sicherheitshinweisen</a> erläutert ist.", "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>." : "Sie greifen auf diese Site über HTTP zu. Wir raten dringend dazu, Ihren Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in unseren <a href=\"{docUrl}\">Sicherheitshinweisen</a> beschrieben ist.", "Shared with {recipients}" : "Geteilt mit {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, eine Federated-Cloud-ID oder eine E-Mail-Adresse eingeben.", + "Share with other people by entering a user or group or a federated cloud ID." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine Federated-Cloud-ID eingeben.", + "Share with other people by entering a user or group or an email address." : "Teilen mit Anderen, indem Sie einen Benutzer, eine Gruppe, oder eine E-Mail-Adresse eingeben.", "The server encountered an internal error and was unable to complete your request." : "Der Server hat einen internen Fehler und konnte Ihre Anfrage nicht vervollständigen.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Bitte wenden Sie sich an den Serveradministrator, wenn dieser Fehler mehrfach auftritt, geben Sie bitte die, unten stehenden, technischen Details in Ihrem Bericht mit an.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Informationen zum richtigen Konfigurieren Ihres Servers können Sie der <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">Dokumentation</a> entnehmen.", diff --git a/core/l10n/el.js b/core/l10n/el.js index f0a0257db21..f4db1fd40d0 100644 --- a/core/l10n/el.js +++ b/core/l10n/el.js @@ -161,9 +161,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Διαμοιρασμός", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα, το ID του federated cloud ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.", - "Share with other people by entering a user or group or a federated cloud ID." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή το ID του federated cloud.", - "Share with other people by entering a user or group or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.", "Name or email address..." : "Όνομα ή διεύθυνση ηλεκτρονικού ταχυδρομείου...", "Name or federated cloud ID..." : "Όνομα ή ID του federated cloud...", "Name, federated cloud ID or email address..." : "Όνομα, federated cloud ID ή διεύθυνση ηλεκτροικού ταχυδρομείου...", @@ -284,6 +281,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Αυτή η σελίδα θα ανανεωθεί από μόνη της όταν η %s εγκατάσταση είναι διαθέσιμη ξανά.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Επικοινωνήστε με το διαχειριστή του συστήματος αν αυτό το μήνυμα συνεχίζει να εμφανίζεται ή εμφανίστηκε απρόσμενα.", "Thank you for your patience." : "Σας ευχαριστούμε για την υπομονή σας.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα, το ID του federated cloud ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.", + "Share with other people by entering a user or group or a federated cloud ID." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή το ID του federated cloud.", + "Share with other people by entering a user or group or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.", "Alternative Logins" : "Εναλλακτικές είσοδοι" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/el.json b/core/l10n/el.json index 2ff4edbab05..9deaf61c905 100644 --- a/core/l10n/el.json +++ b/core/l10n/el.json @@ -159,9 +159,6 @@ "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Διαμοιρασμός", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα, το ID του federated cloud ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.", - "Share with other people by entering a user or group or a federated cloud ID." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή το ID του federated cloud.", - "Share with other people by entering a user or group or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.", "Name or email address..." : "Όνομα ή διεύθυνση ηλεκτρονικού ταχυδρομείου...", "Name or federated cloud ID..." : "Όνομα ή ID του federated cloud...", "Name, federated cloud ID or email address..." : "Όνομα, federated cloud ID ή διεύθυνση ηλεκτροικού ταχυδρομείου...", @@ -282,6 +279,9 @@ "This page will refresh itself when the %s instance is available again." : "Αυτή η σελίδα θα ανανεωθεί από μόνη της όταν η %s εγκατάσταση είναι διαθέσιμη ξανά.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Επικοινωνήστε με το διαχειριστή του συστήματος αν αυτό το μήνυμα συνεχίζει να εμφανίζεται ή εμφανίστηκε απρόσμενα.", "Thank you for your patience." : "Σας ευχαριστούμε για την υπομονή σας.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα, το ID του federated cloud ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.", + "Share with other people by entering a user or group or a federated cloud ID." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή το ID του federated cloud.", + "Share with other people by entering a user or group or an email address." : "Διαμοιραστείτε με άλλους εισάγοντας τον χρήστη ή την ομάδα ή μια διεύθυνση ηλεκτρονικού ταχυδρομείου.", "Alternative Logins" : "Εναλλακτικές είσοδοι" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/core/l10n/en_GB.js b/core/l10n/en_GB.js index 989a69b2928..39cf80a66af 100644 --- a/core/l10n/en_GB.js +++ b/core/l10n/en_GB.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "This list is maybe truncated - please refine your search term to see more results.", "No users or groups found for {search}" : "No users or groups found for {search}", "No users found for {search}" : "No users found for {search}", + "An error occurred (\"{message}\"). Please try again" : "An error occurred (\"{message}\"). Please try again", "An error occurred. Please try again" : "An error occurred. Please try again", "{sharee} (group)" : "{sharee} (group)", "{sharee} (remote)" : "{sharee} (remote)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Share", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Share with other people by entering a user or group, a federated cloud ID or an email address.", - "Share with other people by entering a user or group or a federated cloud ID." : "Share with other people by entering a user or group or a federated cloud ID.", - "Share with other people by entering a user or group or an email address." : "Share with other people by entering a user or group or an email address.", "Name or email address..." : "Name or email address...", "Name or federated cloud ID..." : "Name or federated cloud ID...", "Name, federated cloud ID or email address..." : "Name, federated cloud ID or email address...", @@ -333,6 +331,9 @@ OC.L10N.register( "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>.", "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 with {recipients}" : "Shared with {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Share with other people by entering a user or group, a federated cloud ID or an email address.", + "Share with other people by entering a user or group or a federated cloud ID." : "Share with other people by entering a user or group or a federated cloud ID.", + "Share with other people by entering a user or group or an email address." : "Share with other people by entering a user or group or an email address.", "The server encountered an internal error and was unable to complete your request." : "The server encountered an internal error and was unable to complete your request.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.", "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>.", diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json index 5c29c10bb4d..29dc93f6e87 100644 --- a/core/l10n/en_GB.json +++ b/core/l10n/en_GB.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "This list is maybe truncated - please refine your search term to see more results.", "No users or groups found for {search}" : "No users or groups found for {search}", "No users found for {search}" : "No users found for {search}", + "An error occurred (\"{message}\"). Please try again" : "An error occurred (\"{message}\"). Please try again", "An error occurred. Please try again" : "An error occurred. Please try again", "{sharee} (group)" : "{sharee} (group)", "{sharee} (remote)" : "{sharee} (remote)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Share", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Share with other people by entering a user or group, a federated cloud ID or an email address.", - "Share with other people by entering a user or group or a federated cloud ID." : "Share with other people by entering a user or group or a federated cloud ID.", - "Share with other people by entering a user or group or an email address." : "Share with other people by entering a user or group or an email address.", "Name or email address..." : "Name or email address...", "Name or federated cloud ID..." : "Name or federated cloud ID...", "Name, federated cloud ID or email address..." : "Name, federated cloud ID or email address...", @@ -331,6 +329,9 @@ "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>.", "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 with {recipients}" : "Shared with {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Share with other people by entering a user or group, a federated cloud ID or an email address.", + "Share with other people by entering a user or group or a federated cloud ID." : "Share with other people by entering a user or group or a federated cloud ID.", + "Share with other people by entering a user or group or an email address." : "Share with other people by entering a user or group or an email address.", "The server encountered an internal error and was unable to complete your request." : "The server encountered an internal error and was unable to complete your request.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.", "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>.", diff --git a/core/l10n/es.js b/core/l10n/es.js index ba58c5c5141..5e364fb0834 100644 --- a/core/l10n/es.js +++ b/core/l10n/es.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Esta lista puede estar acortada. Por favor, refina los términos de búsqueda para ver más resultados.", "No users or groups found for {search}" : "No se han encontrado usuarios ni grupos para {search}", "No users found for {search}" : "No se han encontrado usuarios para {search}", + "An error occurred (\"{message}\"). Please try again" : "Ha ocurrido un error (\"{message}\"). Por favor inténtelo de nuevo", "An error occurred. Please try again" : "Ha ocurrido un error. Por favor inténtelo de nuevo", "{sharee} (group)" : "{sharee} (grupo)", "{sharee} (remote)" : "{sharee} (remoto)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas introduciendo un usuario, grupo, ID de nube federada o dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas introduciendo un usuario, grupo o ID de nube federada.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas introduciendo un usuario, grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico...", "Name or federated cloud ID..." : "Nombre o ID de nube federada...", "Name, federated cloud ID or email address..." : "Nombre, ID de nube federada o dirección de correo electrónico...", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\" segundos. Para mayor seguridad, recomendamos activar HSTS como se describe en nuestros <a href=\"{docUrl}\" rel=\"noreferrer\">consejos de seguridad</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>." : "Estás accediendo a este stio vía HTTP. Recomendamos encarecidamente que configures tu servidor para que se requiera usar HTTPS, como se describe en nuestros <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared with {recipients}" : "Compartido con {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas introduciendo un usuario, grupo, ID de nube federada o dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas introduciendo un usuario, grupo o ID de nube federada.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas introduciendo un usuario, grupo o una dirección de correo electrónico.", "The server encountered an internal error and was unable to complete your request." : "El servidor encontró un error interno y no ha podido completar tu petición.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor, ponte en contacto con el administrador del servidor si este error reaparece en más ocasiones. Por favor, incluye los detalles técnicos a continuación en tu informe.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Para información sobre cómo configurar correctamente tu servidor, consulta por favor la <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentación</a>.", diff --git a/core/l10n/es.json b/core/l10n/es.json index 77ecef0a0dd..f67d14025bf 100644 --- a/core/l10n/es.json +++ b/core/l10n/es.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Esta lista puede estar acortada. Por favor, refina los términos de búsqueda para ver más resultados.", "No users or groups found for {search}" : "No se han encontrado usuarios ni grupos para {search}", "No users found for {search}" : "No se han encontrado usuarios para {search}", + "An error occurred (\"{message}\"). Please try again" : "Ha ocurrido un error (\"{message}\"). Por favor inténtelo de nuevo", "An error occurred. Please try again" : "Ha ocurrido un error. Por favor inténtelo de nuevo", "{sharee} (group)" : "{sharee} (grupo)", "{sharee} (remote)" : "{sharee} (remoto)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas introduciendo un usuario, grupo, ID de nube federada o dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas introduciendo un usuario, grupo o ID de nube federada.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas introduciendo un usuario, grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico...", "Name or federated cloud ID..." : "Nombre o ID de nube federada...", "Name, federated cloud ID or email address..." : "Nombre, ID de nube federada o dirección de correo electrónico...", @@ -331,6 +329,9 @@ "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>." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{seconds}\" segundos. Para mayor seguridad, recomendamos activar HSTS como se describe en nuestros <a href=\"{docUrl}\" rel=\"noreferrer\">consejos de seguridad</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>." : "Estás accediendo a este stio vía HTTP. Recomendamos encarecidamente que configures tu servidor para que se requiera usar HTTPS, como se describe en nuestros <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared with {recipients}" : "Compartido con {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas introduciendo un usuario, grupo, ID de nube federada o dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas introduciendo un usuario, grupo o ID de nube federada.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas introduciendo un usuario, grupo o una dirección de correo electrónico.", "The server encountered an internal error and was unable to complete your request." : "El servidor encontró un error interno y no ha podido completar tu petición.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor, ponte en contacto con el administrador del servidor si este error reaparece en más ocasiones. Por favor, incluye los detalles técnicos a continuación en tu informe.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Para información sobre cómo configurar correctamente tu servidor, consulta por favor la <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentación</a>.", diff --git a/core/l10n/es_419.js b/core/l10n/es_419.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_419.js +++ b/core/l10n/es_419.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_419.json b/core/l10n/es_419.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_419.json +++ b/core/l10n/es_419.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_AR.js b/core/l10n/es_AR.js index fcebb4e7274..8a7b125cf75 100644 --- a/core/l10n/es_AR.js +++ b/core/l10n/es_AR.js @@ -156,9 +156,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparta con otras personas ingresando un usuario, un grupo, un ID de nube federado o una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparta con otras personas ingresando un usuario, un grupo o un ID de nube federado.", - "Share with other people by entering a user or group or an email address." : "Comparta con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre o ID de nube federada...", "Name, federated cloud ID or email address..." : "Nombre, ID de nube federada o dirección de correo electrónico...", @@ -278,6 +275,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte a su administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por su paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparta con otras personas ingresando un usuario, un grupo, un ID de nube federado o una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparta con otras personas ingresando un usuario, un grupo o un ID de nube federado.", + "Share with other people by entering a user or group or an email address." : "Comparta con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/es_AR.json b/core/l10n/es_AR.json index cfd93fcb248..443ad130632 100644 --- a/core/l10n/es_AR.json +++ b/core/l10n/es_AR.json @@ -154,9 +154,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparta con otras personas ingresando un usuario, un grupo, un ID de nube federado o una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparta con otras personas ingresando un usuario, un grupo o un ID de nube federado.", - "Share with other people by entering a user or group or an email address." : "Comparta con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre o ID de nube federada...", "Name, federated cloud ID or email address..." : "Nombre, ID de nube federada o dirección de correo electrónico...", @@ -276,6 +273,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacte a su administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por su paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparta con otras personas ingresando un usuario, un grupo, un ID de nube federado o una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparta con otras personas ingresando un usuario, un grupo o un ID de nube federado.", + "Share with other people by entering a user or group or an email address." : "Comparta con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/core/l10n/es_CL.js b/core/l10n/es_CL.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_CL.js +++ b/core/l10n/es_CL.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_CL.json b/core/l10n/es_CL.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_CL.json +++ b/core/l10n/es_CL.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_CO.js b/core/l10n/es_CO.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_CO.js +++ b/core/l10n/es_CO.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_CO.json b/core/l10n/es_CO.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_CO.json +++ b/core/l10n/es_CO.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_CR.js b/core/l10n/es_CR.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_CR.js +++ b/core/l10n/es_CR.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_CR.json b/core/l10n/es_CR.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_CR.json +++ b/core/l10n/es_CR.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_DO.js b/core/l10n/es_DO.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_DO.js +++ b/core/l10n/es_DO.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_DO.json b/core/l10n/es_DO.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_DO.json +++ b/core/l10n/es_DO.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_EC.js b/core/l10n/es_EC.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_EC.js +++ b/core/l10n/es_EC.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_EC.json b/core/l10n/es_EC.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_EC.json +++ b/core/l10n/es_EC.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_GT.js b/core/l10n/es_GT.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_GT.js +++ b/core/l10n/es_GT.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_GT.json b/core/l10n/es_GT.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_GT.json +++ b/core/l10n/es_GT.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_HN.js b/core/l10n/es_HN.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_HN.js +++ b/core/l10n/es_HN.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_HN.json b/core/l10n/es_HN.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_HN.json +++ b/core/l10n/es_HN.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_MX.js b/core/l10n/es_MX.js index 346bd85a8d6..25760d81702 100644 --- a/core/l10n/es_MX.js +++ b/core/l10n/es_MX.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Esta lista puede estar truncada - por favor refina tus términos de búsqueda para poder ver más resultados. ", "No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}", "No users found for {search}" : "No se encontraron usuarios para {search}", + "An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo", "An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo", "{sharee} (group)" : "{sharee} (grupo)", "{sharee} (remote)" : "{sharee} (remoto)", "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para mejorar la seguridad, te recomendamos habilitar HSTS como se describe en nuestros <a href=\"{docUrl}\" rel=\"noreferrer\">consejos de seguridad</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>." : "Estás accediendo a este sitio via HTTP. Te recomendamos ámpliamente que configures tu servidor para que el uso de HTTPS sea requerido como está descrito en nuestros <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared with {recipients}" : "Compartido con {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "The server encountered an internal error and was unable to complete your request." : "Se presentó un error interno en el servidor y no fue posible completar tu solicitud. ", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor contacta al administrador del servidor si este problema se presenta en múltiples ocasiones, por favor incluye los siguientes detalles técnicos en tu reporte. ", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Para más información de cómo configurar propiamente tu servidor, por favor ve la <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentación</a>. ", diff --git a/core/l10n/es_MX.json b/core/l10n/es_MX.json index 02329a568cf..34398aedd40 100644 --- a/core/l10n/es_MX.json +++ b/core/l10n/es_MX.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Esta lista puede estar truncada - por favor refina tus términos de búsqueda para poder ver más resultados. ", "No users or groups found for {search}" : "No se encontraron usuarios o gurpos para {search}", "No users found for {search}" : "No se encontraron usuarios para {search}", + "An error occurred (\"{message}\"). Please try again" : "Se presentó un error (\"{message}\"). Por favor vuelve a intentarlo", "An error occurred. Please try again" : "Se presentó un error. Por favor vuelve a intentarlo", "{sharee} (group)" : "{sharee} (grupo)", "{sharee} (remote)" : "{sharee} (remoto)", "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -331,6 +329,9 @@ "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>." : "El encabezado HTTP \"Strict-Transport-Security\" no está configurado a al menos \"{seconds}\" segundos. Para mejorar la seguridad, te recomendamos habilitar HSTS como se describe en nuestros <a href=\"{docUrl}\" rel=\"noreferrer\">consejos de seguridad</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>." : "Estás accediendo a este sitio via HTTP. Te recomendamos ámpliamente que configures tu servidor para que el uso de HTTPS sea requerido como está descrito en nuestros <a href=\"{docUrl}\">consejos de seguridad</a>.", "Shared with {recipients}" : "Compartido con {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "The server encountered an internal error and was unable to complete your request." : "Se presentó un error interno en el servidor y no fue posible completar tu solicitud. ", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor contacta al administrador del servidor si este problema se presenta en múltiples ocasiones, por favor incluye los siguientes detalles técnicos en tu reporte. ", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Para más información de cómo configurar propiamente tu servidor, por favor ve la <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentación</a>. ", diff --git a/core/l10n/es_NI.js b/core/l10n/es_NI.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_NI.js +++ b/core/l10n/es_NI.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_NI.json b/core/l10n/es_NI.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_NI.json +++ b/core/l10n/es_NI.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_PA.js b/core/l10n/es_PA.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_PA.js +++ b/core/l10n/es_PA.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_PA.json b/core/l10n/es_PA.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_PA.json +++ b/core/l10n/es_PA.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_PE.js b/core/l10n/es_PE.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_PE.js +++ b/core/l10n/es_PE.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_PE.json b/core/l10n/es_PE.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_PE.json +++ b/core/l10n/es_PE.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_PR.js b/core/l10n/es_PR.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_PR.js +++ b/core/l10n/es_PR.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_PR.json b/core/l10n/es_PR.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_PR.json +++ b/core/l10n/es_PR.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_PY.js b/core/l10n/es_PY.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_PY.js +++ b/core/l10n/es_PY.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_PY.json b/core/l10n/es_PY.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_PY.json +++ b/core/l10n/es_PY.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_SV.js b/core/l10n/es_SV.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_SV.js +++ b/core/l10n/es_SV.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_SV.json b/core/l10n/es_SV.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_SV.json +++ b/core/l10n/es_SV.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es_UY.js b/core/l10n/es_UY.js index 1ad8f1a50a0..31d28e71d75 100644 --- a/core/l10n/es_UY.js +++ b/core/l10n/es_UY.js @@ -179,9 +179,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -311,6 +308,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" }, diff --git a/core/l10n/es_UY.json b/core/l10n/es_UY.json index 6672c3a0e01..05baee7e25b 100644 --- a/core/l10n/es_UY.json +++ b/core/l10n/es_UY.json @@ -177,9 +177,6 @@ "{sharee} (email)" : "{sharee} (correo electrónico)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartir", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", - "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", - "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Name or email address..." : "Nombre o dirección de correo electrónico", "Name or federated cloud ID..." : "Nombre...", "Name, federated cloud ID or email address..." : "Nombre o dirección de correo electrónico...", @@ -309,6 +306,9 @@ "This page will refresh itself when the %s instance is available again." : "Esta página se actualizará sola cuando la instancia %s esté disponible de nuevo. ", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contacta a tu administrador del sistema si este mensaje persiste o se presentó de manera inesperada.", "Thank you for your patience." : "Gracias por tu paciencia.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Comparte con otras personas ingresando una dirección de correo electrónico.", + "Share with other people by entering a user or group or a federated cloud ID." : "Comparte con otras personas ingresando un usuario o un grupo.", + "Share with other people by entering a user or group or an email address." : "Comparte con otras personas ingresando un usuario, un grupo o una dirección de correo electrónico.", "Alternative Logins" : "Accesos Alternativos", "Back to log in" : "Regresar al inicio de sesión" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js index d86e463afac..7d043e9ff08 100644 --- a/core/l10n/et_EE.js +++ b/core/l10n/et_EE.js @@ -162,9 +162,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (e-post)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Jaga", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaga teiste inimestega sisestades kasutaja või grupi, liitpilve ID või e-posti aadressi.", - "Share with other people by entering a user or group or a federated cloud ID." : "Jaga teiste inimestega, sisestades kasutaja või grupi või liitpilve ID.", - "Share with other people by entering a user or group or an email address." : "Jaga teiste inimestega, sisestades kasutaja, grupi või e-posti aadressi.", "Name or email address..." : "Nimi või e-posti aadress", "Name or federated cloud ID..." : "Liitpilve nimi või ID...", "Name, federated cloud ID or email address..." : "Liitpilve nimi, ID või e-posti aadress...", @@ -287,6 +284,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Se leht laetakse uuesti, kui %s instantsi on uuesti saadaval.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakteeru oma süsteemihalduriga, kui see teade püsib või on tekkinud ootamatult.", "Thank you for your patience." : "Täname kannatlikkuse eest.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaga teiste inimestega sisestades kasutaja või grupi, liitpilve ID või e-posti aadressi.", + "Share with other people by entering a user or group or a federated cloud ID." : "Jaga teiste inimestega, sisestades kasutaja või grupi või liitpilve ID.", + "Share with other people by entering a user or group or an email address." : "Jaga teiste inimestega, sisestades kasutaja, grupi või e-posti aadressi.", "Alternative Logins" : "Alternatiivsed sisselogimisviisid", "Back to log in" : "Tagasi sisselogimise lehele" }, diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json index 4d9a5492a05..69afce35ed6 100644 --- a/core/l10n/et_EE.json +++ b/core/l10n/et_EE.json @@ -160,9 +160,6 @@ "{sharee} (email)" : "{sharee} (e-post)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Jaga", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaga teiste inimestega sisestades kasutaja või grupi, liitpilve ID või e-posti aadressi.", - "Share with other people by entering a user or group or a federated cloud ID." : "Jaga teiste inimestega, sisestades kasutaja või grupi või liitpilve ID.", - "Share with other people by entering a user or group or an email address." : "Jaga teiste inimestega, sisestades kasutaja, grupi või e-posti aadressi.", "Name or email address..." : "Nimi või e-posti aadress", "Name or federated cloud ID..." : "Liitpilve nimi või ID...", "Name, federated cloud ID or email address..." : "Liitpilve nimi, ID või e-posti aadress...", @@ -285,6 +282,9 @@ "This page will refresh itself when the %s instance is available again." : "Se leht laetakse uuesti, kui %s instantsi on uuesti saadaval.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontakteeru oma süsteemihalduriga, kui see teade püsib või on tekkinud ootamatult.", "Thank you for your patience." : "Täname kannatlikkuse eest.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaga teiste inimestega sisestades kasutaja või grupi, liitpilve ID või e-posti aadressi.", + "Share with other people by entering a user or group or a federated cloud ID." : "Jaga teiste inimestega, sisestades kasutaja või grupi või liitpilve ID.", + "Share with other people by entering a user or group or an email address." : "Jaga teiste inimestega, sisestades kasutaja, grupi või e-posti aadressi.", "Alternative Logins" : "Alternatiivsed sisselogimisviisid", "Back to log in" : "Tagasi sisselogimise lehele" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/eu.js b/core/l10n/eu.js index 136c91a84e5..d51746dab90 100644 --- a/core/l10n/eu.js +++ b/core/l10n/eu.js @@ -159,9 +159,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{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.", - "Share with other people by entering a user or group or an email address." : "Parteka ezazu jendearekin taldeko erabiltzailea edo e-posta helbide bat sartuta.", "Name or email address..." : "Izena edo e-posta helbidea...", "Name or federated cloud ID..." : "Izena edo federatutako hodeiaren IDa...", "Name, federated cloud ID or email address..." : "Izena, federatutako hodeiaren IDa edo e-posta helbidea...", @@ -287,6 +284,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Orri honek bere burua eguneratuko du %s instantzia berriz prest dagoenean.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Jarri harremanetan zure sistema administratzailearekin mezu hau irauten badu edo bat-batean agertu bada.", "Thank you for your patience." : "Milesker zure patzientziagatik.", + "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.", + "Share with other people by entering a user or group or an email address." : "Parteka ezazu jendearekin taldeko erabiltzailea edo e-posta helbide bat sartuta.", "Alternative Logins" : "Beste erabiltzaile izenak" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/eu.json b/core/l10n/eu.json index 64f842b19bf..2785601535a 100644 --- a/core/l10n/eu.json +++ b/core/l10n/eu.json @@ -157,9 +157,6 @@ "{sharee} (email)" : "{sharee} (email)", "{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.", - "Share with other people by entering a user or group or an email address." : "Parteka ezazu jendearekin taldeko erabiltzailea edo e-posta helbide bat sartuta.", "Name or email address..." : "Izena edo e-posta helbidea...", "Name or federated cloud ID..." : "Izena edo federatutako hodeiaren IDa...", "Name, federated cloud ID or email address..." : "Izena, federatutako hodeiaren IDa edo e-posta helbidea...", @@ -285,6 +282,9 @@ "This page will refresh itself when the %s instance is available again." : "Orri honek bere burua eguneratuko du %s instantzia berriz prest dagoenean.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Jarri harremanetan zure sistema administratzailearekin mezu hau irauten badu edo bat-batean agertu bada.", "Thank you for your patience." : "Milesker zure patzientziagatik.", + "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.", + "Share with other people by entering a user or group or an email address." : "Parteka ezazu jendearekin taldeko erabiltzailea edo e-posta helbide bat sartuta.", "Alternative Logins" : "Beste erabiltzaile izenak" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/core/l10n/fa.js b/core/l10n/fa.js index 2b08ca8dc42..c5cd911cf3f 100644 --- a/core/l10n/fa.js +++ b/core/l10n/fa.js @@ -159,9 +159,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "اشتراکگذاری", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "با وارد کردن یک کاربر یا گروه، شناسه Federated Cloud یا آدرس ایمیل با دیگران به اشتراک بگذارید.", - "Share with other people by entering a user or group or a federated cloud ID." : "با وارد کردن یک کاربر یا گروه یا شناسه Federated Cloud با افراد دیگر به اشتراک بگذارید.", - "Share with other people by entering a user or group or an email address." : "با وارد کردن یک کاربر یا گروه یا یک آدرس ایمیل با افراد دیگر به اشتراک بگذارید.", "Name or email address..." : "نام یا آدرس ایمیل ...", "Name or federated cloud ID..." : "نام یا شناسه Federated Cloud ...", "Name, federated cloud ID or email address..." : "نام, آدرس ایمیل یا شناسه Federated Cloud ...", @@ -266,6 +263,9 @@ OC.L10N.register( "Detailed logs" : "Detailed logs", "Update needed" : "نیاز به روز رسانی دارد", "Thank you for your patience." : "از صبر شما متشکریم", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "با وارد کردن یک کاربر یا گروه، شناسه Federated Cloud یا آدرس ایمیل با دیگران به اشتراک بگذارید.", + "Share with other people by entering a user or group or a federated cloud ID." : "با وارد کردن یک کاربر یا گروه یا شناسه Federated Cloud با افراد دیگر به اشتراک بگذارید.", + "Share with other people by entering a user or group or an email address." : "با وارد کردن یک کاربر یا گروه یا یک آدرس ایمیل با افراد دیگر به اشتراک بگذارید.", "Alternative Logins" : "ورود متناوب" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/fa.json b/core/l10n/fa.json index ef75111980e..acfb3ae0501 100644 --- a/core/l10n/fa.json +++ b/core/l10n/fa.json @@ -157,9 +157,6 @@ "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "اشتراکگذاری", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "با وارد کردن یک کاربر یا گروه، شناسه Federated Cloud یا آدرس ایمیل با دیگران به اشتراک بگذارید.", - "Share with other people by entering a user or group or a federated cloud ID." : "با وارد کردن یک کاربر یا گروه یا شناسه Federated Cloud با افراد دیگر به اشتراک بگذارید.", - "Share with other people by entering a user or group or an email address." : "با وارد کردن یک کاربر یا گروه یا یک آدرس ایمیل با افراد دیگر به اشتراک بگذارید.", "Name or email address..." : "نام یا آدرس ایمیل ...", "Name or federated cloud ID..." : "نام یا شناسه Federated Cloud ...", "Name, federated cloud ID or email address..." : "نام, آدرس ایمیل یا شناسه Federated Cloud ...", @@ -264,6 +261,9 @@ "Detailed logs" : "Detailed logs", "Update needed" : "نیاز به روز رسانی دارد", "Thank you for your patience." : "از صبر شما متشکریم", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "با وارد کردن یک کاربر یا گروه، شناسه Federated Cloud یا آدرس ایمیل با دیگران به اشتراک بگذارید.", + "Share with other people by entering a user or group or a federated cloud ID." : "با وارد کردن یک کاربر یا گروه یا شناسه Federated Cloud با افراد دیگر به اشتراک بگذارید.", + "Share with other people by entering a user or group or an email address." : "با وارد کردن یک کاربر یا گروه یا یک آدرس ایمیل با افراد دیگر به اشتراک بگذارید.", "Alternative Logins" : "ورود متناوب" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/core/l10n/fi.js b/core/l10n/fi.js index 882eec39d8c..747f8ac6b6a 100644 --- a/core/l10n/fi.js +++ b/core/l10n/fi.js @@ -4,7 +4,7 @@ OC.L10N.register( "Please select a file." : "Valitse tiedosto.", "File is too big" : "Tiedosto on liian suuri", "The selected file is not an image." : "Valittu tiedosto ei ole kuva.", - "The selected file cannot be read." : "Valittua tiedostoa ei voida lukea.", + "The selected file cannot be read." : "Valittua tiedostoa ei voi lukea.", "Invalid file provided" : "Määritetty virheellinen tiedosto", "No image or file provided" : "Kuvaa tai tiedostoa ei määritelty", "Unknown filetype" : "Tuntematon tiedostotyyppi", @@ -62,7 +62,7 @@ OC.L10N.register( "No action available" : "Toimintoa ei saatavilla", "Error fetching contact actions" : "Virhe yhteystiedon toimintojen haussa", "Settings" : "Asetukset", - "Connection to server lost" : "Yhteys palvelimelle menetetty", + "Connection to server lost" : "Yhteys palvelimelle katkesi", "_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Ongelma sivun lataamisessa, päivitetään %n sekunnin kuluttua","Ongelma sivun lataamisessa, päivitetään %n sekunnin kuluttua"], "Saving..." : "Tallennetaan...", "Dismiss" : "Hylkää", @@ -108,10 +108,23 @@ OC.L10N.register( "So-so password" : "Kohtalainen salasana", "Good password" : "Hyvä salasana", "Strong password" : "Vahva salasana", - "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "HTTP-palvelintasi ei ole määritetty oikein tiedostojen synkronointia varten, koska WebDAV-liitäntä vaikuttaa olevan rikki.", - "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP-funktio \"set_time_limit\" ei ole käytettävissä. Tämä saattaa johtaa siihen, että skriptien suoritus päättyy ennenaikaisesti ja Nextcloud-asennus rikkoutuu. Suosittelemme kovasti ottamaan tämän funktion käyttöön.", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Palvelintasi ei ole määritetty oikein tiedostojen synkronointia varten, koska WebDAV-liitäntä vaikuttaa olevan rikki.", + "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Palvelinta ei ole määritelty oikein tunnistamaan osoitetta \"{url}\". Katso lisätiedot <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">ohjeista</a>.", + "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Välimuistia ei ole asennettu oikein. Suorituskykyä parantaaksesi, asenna memcache, jos käytettävissä. Katso lisätiedot <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">ohjeista</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom ei ole PHP:n luettavissa. Tämä ei ole suositeltavaa tietoturvasyistä. Lisätietoja <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">ohjeissa</a>.", + "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Käytössä on PHP {version}. Suosittelemme päivittämään PHP:n hyötyäksesi <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">PHP Group:n suorituskyky- ja tietoturvapäivityksistä</a> niin pian kuin jakelusi sitä tukee.", + "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Käytössä on PHP 5.6. Nykyinen Nextcloudversio on viimeinen, mikä sitä tukee. Suositeltavaa on päivittää versioon 7.0+, jotta päivitys onnistuisi Nextcloud 14:än sen ilmestyessä.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached on määritelty hajautetuksi välimuistiksi, mutta väärä PHP-moduli \"memcache\" on asennettu. \\OC\\Memcache\\Memcached tukee vain modulia \"memcached\", mutta ei modulia \"memcache\". Katso <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wikiä molemmista moduleista</a>.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Jotkin tiedostot eivät läpäisseet eheystarkistusta. Katso lisätietoa ongelman korjaamiseksi <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">ohjeista</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Listaa virheelliset tiedostot…</a> / <a href=\"{rescanEndpoint}\">Skannaa uudelleen…</a>)", + "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP Opcache ei ole määritelty oikein. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Suosittelemme käyttämään paremman suorituskyvyn saavuttamiseksi ↗</a> seuraavia asetuksia <code>php.ini</code>-asetustiedostossa:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP-funktio \"set_time_limit\" ei ole käytettävissä. Tämä saattaa johtaa siihen, että skriptien suoritus päättyy ennenaikaisesti ja Nextcloud-asennus rikkoutuu. Funktion käyttäminen on erittäin suositeltavaa.", "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "PHP-asennuksessasi ei ole FreeType-tukea, ja siitä aiheutuu profiilikuvien sekä asetuskäyttöliittymän rikkoutuminen.", "Error occurred while checking server setup" : "Virhe palvelimen määrityksiä tarkistaessa", + "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Data-hakemisto ja tiedostot ovat luultavasti käytettävissä suoraan Internetistä. .htaccess-tiedosto ei toimi oikein. Suosittelemme määrittämään HTTP-palvelimen asetukset siten, ettei data-hakemisto ole suoraan käytettävissä Internetistä tai siirtämään data-hakemiston HTTP-palvelimen juurihakemiston ulkopuolelle.", + "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-header \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten on suositeltavaa muuttaa asetuksen arvoa.", + "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-header \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Jotkin toiminnot eivät vättämättä toimi oikein, joten on suositeltavaa muuttaa asetuksen arvoa.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP-header \"Strict-Transport-Security\" ei ole määritelty vähintään \"{seconds}\" sekuntiin. Paremman tietoturvan vuoksi on suositeltavaa määritellä HSTS:n, kuten <a href=\"{docUrl}\" rel=\"noreferrer noopener\">tietoturvavinkeissä</a> neuvotaan.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Käytät sivustoa HTTP-yhteydellä. On suositeltavaa, että palvelin vaatiii HTTPS-yhteyden, kuten <a href=\"{docUrl}\">tietoturvavinkeissä</a> neuvotaan.", "Shared" : "Jaettu", "Shared with" : "Jaettu", "Shared by" : "Jaettu", @@ -159,15 +172,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Lista on ehkä vajaa - uudelleen määritä hakutermisi nähdäksesi lisää tuloksia.", "No users or groups found for {search}" : "Haulla {search} ei löytynyt käyttäjiä tai ryhmiä", "No users found for {search}" : "Haulla {search} ei löytynyt käyttäjiä", + "An error occurred (\"{message}\"). Please try again" : "Tapahtui virhe (\"{message}\"). Yritä uudestaan", "An error occurred. Please try again" : "Tapahtui virhe, yritä uudelleen", "{sharee} (group)" : "{sharee} (ryhmä)", "{sharee} (remote)" : "{sharee} (etä)", "{sharee} (email)" : "{sharee} (sähköposti)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Jaa", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaa muille kirjoittamalla käyttäjä tai ryhmä, federoidun pilven tunniste tai sähköpostiosoite.", - "Share with other people by entering a user or group or a federated cloud ID." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai federoidun pilven tunniste.", - "Share with other people by entering a user or group or an email address." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai sähköpostiosoite.", "Name or email address..." : "Nimi tai sähköpostiosoite...", "Name or federated cloud ID..." : "Nimi tai federoidun pilven tunniste...", "Name, federated cloud ID or email address..." : "Nimi, federoidun pilven tunniste tai sähköpostiosoite...", @@ -224,7 +235,8 @@ OC.L10N.register( "Line: %s" : "Rivi: %s", "Trace" : "Jälki", "Security warning" : "Turvallisuusvaroitus", - "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datakansiosi ja tiedostosi ovat mitä luultavimmin muiden saavutettavissa Internetistä, koska .htaccess-tiedosto ei toimi.", + "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datakansiosi ja tiedostosi ovat mitä luultavimmin muiden nähtävissä Internetistä, koska .htaccess-tiedosto ei toimi.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">documentation</a>." : "Lisätietoja palvelimen kunnollisista asetuksista on <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">ohjeissa</a>.", "Create an <strong>admin account</strong>" : "Luo <strong>ylläpitäjän tunnus</strong>", "Username" : "Käyttäjätunnus", "Storage & database" : "Tallennus ja tietokanta", @@ -232,7 +244,7 @@ OC.L10N.register( "Configure the database" : "Määritä tietokanta", "Only %s is available." : "Vain %s on käytettävissä.", "Install and activate additional PHP modules to choose other database types." : "Asenna ja aktivoi erillisiä PHP-moduuleja valitaksesi muita tietokantatyyppejä.", - "For more details check out the documentation." : "Lisätietoja on saatavilla dokumentaatiossa.", + "For more details check out the documentation." : "Lue lisätiedot ohjeista.", "Database user" : "Tietokannan käyttäjä", "Database password" : "Tietokannan salasana", "Database name" : "Tietokannan nimi", @@ -246,11 +258,11 @@ OC.L10N.register( "Finish setup" : "Viimeistele asennus", "Finishing …" : "Viimeistellään…", "Need help?" : "Tarvitsetko apua?", - "See the documentation" : "Tutustu dokumentaatioon", + "See the documentation" : "Tutustu ohjeisiin", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Tämä sovellus vaatii toimiakseen JavaScript-tuen. {linkstart}Ota JavaScript käyttöön{linkend} ja päivitä sivu.", "More apps" : "Lisää sovelluksia", "Search" : "Etsi", - "Reset search" : "Nollaa haku", + "Reset search" : "Tyhjennä haku", "Confirm your password" : "Vahvista salasanasi", "Server side authentication failed!" : "Palvelimen puoleinen tunnistautuminen epäonnistui!", "Please contact your administrator." : "Ota yhteys ylläpitäjään.", @@ -259,12 +271,15 @@ OC.L10N.register( "Username or email" : "Käyttäjätunnus tai sähköpostiosoite", "Log in" : "Kirjaudu sisään", "Wrong password." : "Väärä salasana.", + "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Useita virheellisiä kirjautumisyrityksiä havaittiin IP-osoitteestasi. Siksi seuraava yritys sallitaan vasta 30:n sekunnin päästä.", "Stay logged in" : "Pysy sisäänkirjautuneena", "Forgot password?" : "Unohditko salasanasi?", + "Back to login" : "Palaa kirjautumiseen", "Account access" : "Tilin käyttö", + "You are about to grant %s access to your %s account." : "Olet antamassa lupaa laitteelle %s päästä sinun %s tilille.", "Grant access" : "Myönnä pääsy", "App token" : "Sovellusvaltuutus", - "Alternative login using app token" : "Vaihtoehtoinen kirjautuminen käyttäen sovellusvaltuutusta", + "Alternative login using app token" : "Kirjaudu vaihtoehtoisella tavalla sovellusvaltuutusta käyttämällä", "Redirecting …" : "Ohjataan uudelleen…", "New password" : "Uusi salasana", "New Password" : "Uusi salasana", @@ -273,6 +288,8 @@ OC.L10N.register( "Cancel log in" : "Peru kirjautuminen", "Use backup code" : "Käytä varakoodia", "Error while validating your second factor" : "Tunnistuksen toisen vaiheen tarkistus epäonnistui", + "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." : "Ota yhteys ylläpitoon, tai jos olet tämän palvelun ylläpitäjä, määritä \"trusted_domains\"-asetus config/config.php-tiedostossa. Esimerkkimääritys on tiedostossa config/config.sample.php.", + "Depending on your configuration, this button could also work to trust the domain:" : "Asetuksista riippuen, ylläpitäjänä saatat pystyä alla olevalla painikkeella lisäämään tämän verkkotunnuksen luotetuksi.", "Add \"%s\" as trusted domain" : "Lisää \"%s\" luotetuksi verkkotunnukseksi", "App update required" : "Sovelluksen päivittäminen vaaditaan", "%s will be updated to version %s" : "%s päivitetään versioon %s", @@ -285,18 +302,43 @@ OC.L10N.register( "Detailed logs" : "Yksityiskohtainen loki", "Update needed" : "Päivitys vaaditaan", "Please use the command line updater because you have a big instance with more than 50 users." : "Käytä komentorivipäivitintä, koska käyttäjiä on yli 50.", + "For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Jos tarvitset apua, katso <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">ohjeista</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." : "Tiedän että jos jatkan päivittämistä web-liittymän kautta, saatan menettää kaikki tiedostot, mikäli päivitys epäonnistuu. Onneksi olen tehnyt varmuuskopion ja osaan sen myös palauttaa tarvittaessa.", "Upgrade via web on my own risk" : "Internetin kautta päivittäminen omalla vastuulla", "This %s instance is currently in maintenance mode, which may take a while." : "Tämä %s-instanssi on parhaillaan huoltotilassa, huollossa saattaa kestää hetki.", "This page will refresh itself when the %s instance is available again." : "Tämä sivu päivittää itsensä, kun %s on jälleen käytettävissä.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Ota yhteys järjestelmän ylläpitäjään, jos tämä viesti ilmenee uudelleen tai odottamatta.", "Thank you for your patience." : "Kiitos kärsivällisyydestäsi.", + "%s (3rdparty)" : "%s (3. osapuolen)", "There was an error loading your contacts" : "Virhe yhteystietojasi ladattaessa", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Web-palvelintasi ei ole määritetty oikein tiedostojen synkronoinnin sallimiseksi, koska WebDAV-liitäntä vaikuttaa olevan rikki.", + "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>." : "HTTP-palvelinta ei ole määritelty oikein tunnistamaan osoitetta \"{url}\". Lisätietoja <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ohjeissa</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>." : "Välimuistia ei ole määritelty. Suorituskykyä parantaaksesi, määrittele memcache, jos käytettävissä. Lisätietoja saat <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ohjeista</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 ei ole PHP:n luettavissa. Tämä ei ole suositeltavaa tietoturvasyistä. Lisätietoja <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ohjeissa</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." : "Käytössä on PHP {version}. Suosittelemme päivittämään PHP:n hyötyäksesi <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">PHP Group:n suorituskyky- ja tietoturvapäivityksistä</a> niin pian kuin jakelusi sitä tukee.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached on määritelty hajautetuksi välimuistiksi, mutta väärä PHP-moduli \"memcache\" on asennettu. \\OC\\Memcache\\Memcached tukee vain modulia \"memcached\", mutta ei modulia \"memcache\". Katso <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wikiä molemmista moduleista</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>)" : "Jotkin tiedostot eivät läpäisseet eheystarkistusta. Katso lisätietoa ongelman korjaamiseksi <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ohjeista</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Listaa virheelliset tiedostot… </a>/ <a href=\"{rescanEndpoint}\">Skannaa uudelleen…</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 ei ole määritelty oikein. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Suosittelemme käyttämään paremman suorituskyvyn saavuttamiseksi ↗</a> seuraavia asetuksia <code>php.ini</code>-asetustiedostossa:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "PHP-funktio \"set_time_limit\" ei ole käytettävissä. Tämä saattaa johtaa siihen, että skriptien suoritus jää puolitiehen, ja seurauksena on Nextcloud-asennuksen rikkoutuminen. On suositeltavaa ottaa kyseinen funktio käyttöön.", + "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." : "Data-hakemistosi ja tiedostosi ovat luultavasti käytettävissä suoraan Internetistä. .htaccess-tiedosto ei toimi oikein. Suosittelemme määrittämään HTTP-palvelimen asetukset siten, ettei data-hakemisto ole suoraan käytettävissä Internetistä tai siirtämään data-hakemiston HTTP-palvelimen juurihakemiston ulkopuolelle.", + "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." : "HTTP-header \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten on suositeltavaa muuttaa asetuksen arvoa.", + "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>." : "HTTP-header \"Strict-Transport-Security\" ei ole määritelty vähintään \"{seconds}\" sekuntiin. Paremman tietoturvan vuoksi on suositeltavaa määritellä HSTS, kuten <a href=\"{docUrl}\" rel=\"noreferrer\">tietoturvavinkeissä</a> neuvotaan.", + "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>." : "Käytät sivustoa HTTP-yhteydellä. On suositeltavaa, että palvelin vaatii HTTPS-yhteyden, kuten <a href=\"{docUrl}\">tietoturvavinkeissä</a> neuvotaan.", + "Shared with {recipients}" : "Jaettu henkilöiden {recipients} kanssa", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaa muille kirjoittamalla käyttäjä tai ryhmä, federoidun pilven tunniste tai sähköpostiosoite.", + "Share with other people by entering a user or group or a federated cloud ID." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai federoidun pilven tunniste.", + "Share with other people by entering a user or group or an email address." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai sähköpostiosoite.", "The server encountered an internal error and was unable to complete your request." : "Palvelimella tapahtui sisäinen virhe, eikä pyyntöäsi voitu käsitellä.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Ota yhteys palvelimen ylläpitäjään, jos tämä virhe ilmenee useita kertoja. Sisällytä alla olevat tekniset tiedot ilmoitukseesi.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Lisätietoja palvelimen kunnollisista asetuksista on <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">ohjeissa</a>.", "This action requires you to confirm your password:" : "Tämä toiminto vaatii, että vahvistat salasanasi:", "Wrong password. Reset it?" : "Väärä salasana. Nollataanko se?", "Alternative Logins" : "Vaihtoehtoiset kirjautumistavat", + "You are accessing the server from an untrusted domain." : "Olet yhteydessä palvelimeen epäluotettavasta verkko-osoitteesta.", + "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Ota yhteys ylläpitoon, tai jos olet tämän palvelun ylläpitäjä, määritä \"trusted_domains\"-asetus config/config.php-tiedostossa. Esimerkkimääritys on tiedostossa config/config.sample.php.", + "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Asetuksista riippuen, ylläpitäjänä saatat pystyä alla olevalla painikkeella lisäämään tämän verkkotunnuksen luotetuksi.", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Jos tarvitset apua, katso <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">ohjeista</a>.", + "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP:ssäsi ei ole freetype-tukea. Tämä johtaa rikkinäisiin profiilikuviin ja rikkinäiseen asetuskäyttöliittymään.", "Back to log in" : "Palaa kirjautumiseen" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/fi.json b/core/l10n/fi.json index 2b4eff4425f..3d2a447ff6a 100644 --- a/core/l10n/fi.json +++ b/core/l10n/fi.json @@ -2,7 +2,7 @@ "Please select a file." : "Valitse tiedosto.", "File is too big" : "Tiedosto on liian suuri", "The selected file is not an image." : "Valittu tiedosto ei ole kuva.", - "The selected file cannot be read." : "Valittua tiedostoa ei voida lukea.", + "The selected file cannot be read." : "Valittua tiedostoa ei voi lukea.", "Invalid file provided" : "Määritetty virheellinen tiedosto", "No image or file provided" : "Kuvaa tai tiedostoa ei määritelty", "Unknown filetype" : "Tuntematon tiedostotyyppi", @@ -60,7 +60,7 @@ "No action available" : "Toimintoa ei saatavilla", "Error fetching contact actions" : "Virhe yhteystiedon toimintojen haussa", "Settings" : "Asetukset", - "Connection to server lost" : "Yhteys palvelimelle menetetty", + "Connection to server lost" : "Yhteys palvelimelle katkesi", "_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Ongelma sivun lataamisessa, päivitetään %n sekunnin kuluttua","Ongelma sivun lataamisessa, päivitetään %n sekunnin kuluttua"], "Saving..." : "Tallennetaan...", "Dismiss" : "Hylkää", @@ -106,10 +106,23 @@ "So-so password" : "Kohtalainen salasana", "Good password" : "Hyvä salasana", "Strong password" : "Vahva salasana", - "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "HTTP-palvelintasi ei ole määritetty oikein tiedostojen synkronointia varten, koska WebDAV-liitäntä vaikuttaa olevan rikki.", - "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP-funktio \"set_time_limit\" ei ole käytettävissä. Tämä saattaa johtaa siihen, että skriptien suoritus päättyy ennenaikaisesti ja Nextcloud-asennus rikkoutuu. Suosittelemme kovasti ottamaan tämän funktion käyttöön.", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Palvelintasi ei ole määritetty oikein tiedostojen synkronointia varten, koska WebDAV-liitäntä vaikuttaa olevan rikki.", + "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Palvelinta ei ole määritelty oikein tunnistamaan osoitetta \"{url}\". Katso lisätiedot <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">ohjeista</a>.", + "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Välimuistia ei ole asennettu oikein. Suorituskykyä parantaaksesi, asenna memcache, jos käytettävissä. Katso lisätiedot <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">ohjeista</a>.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "/dev/urandom ei ole PHP:n luettavissa. Tämä ei ole suositeltavaa tietoturvasyistä. Lisätietoja <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">ohjeissa</a>.", + "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "Käytössä on PHP {version}. Suosittelemme päivittämään PHP:n hyötyäksesi <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">PHP Group:n suorituskyky- ja tietoturvapäivityksistä</a> niin pian kuin jakelusi sitä tukee.", + "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Käytössä on PHP 5.6. Nykyinen Nextcloudversio on viimeinen, mikä sitä tukee. Suositeltavaa on päivittää versioon 7.0+, jotta päivitys onnistuisi Nextcloud 14:än sen ilmestyessä.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached on määritelty hajautetuksi välimuistiksi, mutta väärä PHP-moduli \"memcache\" on asennettu. \\OC\\Memcache\\Memcached tukee vain modulia \"memcached\", mutta ei modulia \"memcache\". Katso <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wikiä molemmista moduleista</a>.", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Jotkin tiedostot eivät läpäisseet eheystarkistusta. Katso lisätietoa ongelman korjaamiseksi <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">ohjeista</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Listaa virheelliset tiedostot…</a> / <a href=\"{rescanEndpoint}\">Skannaa uudelleen…</a>)", + "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP Opcache ei ole määritelty oikein. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">Suosittelemme käyttämään paremman suorituskyvyn saavuttamiseksi ↗</a> seuraavia asetuksia <code>php.ini</code>-asetustiedostossa:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "PHP-funktio \"set_time_limit\" ei ole käytettävissä. Tämä saattaa johtaa siihen, että skriptien suoritus päättyy ennenaikaisesti ja Nextcloud-asennus rikkoutuu. Funktion käyttäminen on erittäin suositeltavaa.", "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "PHP-asennuksessasi ei ole FreeType-tukea, ja siitä aiheutuu profiilikuvien sekä asetuskäyttöliittymän rikkoutuminen.", "Error occurred while checking server setup" : "Virhe palvelimen määrityksiä tarkistaessa", + "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "Data-hakemisto ja tiedostot ovat luultavasti käytettävissä suoraan Internetistä. .htaccess-tiedosto ei toimi oikein. Suosittelemme määrittämään HTTP-palvelimen asetukset siten, ettei data-hakemisto ole suoraan käytettävissä Internetistä tai siirtämään data-hakemiston HTTP-palvelimen juurihakemiston ulkopuolelle.", + "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "HTTP-header \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten on suositeltavaa muuttaa asetuksen arvoa.", + "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "HTTP-header \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Jotkin toiminnot eivät vättämättä toimi oikein, joten on suositeltavaa muuttaa asetuksen arvoa.", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP-header \"Strict-Transport-Security\" ei ole määritelty vähintään \"{seconds}\" sekuntiin. Paremman tietoturvan vuoksi on suositeltavaa määritellä HSTS:n, kuten <a href=\"{docUrl}\" rel=\"noreferrer noopener\">tietoturvavinkeissä</a> neuvotaan.", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "Käytät sivustoa HTTP-yhteydellä. On suositeltavaa, että palvelin vaatiii HTTPS-yhteyden, kuten <a href=\"{docUrl}\">tietoturvavinkeissä</a> neuvotaan.", "Shared" : "Jaettu", "Shared with" : "Jaettu", "Shared by" : "Jaettu", @@ -157,15 +170,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Lista on ehkä vajaa - uudelleen määritä hakutermisi nähdäksesi lisää tuloksia.", "No users or groups found for {search}" : "Haulla {search} ei löytynyt käyttäjiä tai ryhmiä", "No users found for {search}" : "Haulla {search} ei löytynyt käyttäjiä", + "An error occurred (\"{message}\"). Please try again" : "Tapahtui virhe (\"{message}\"). Yritä uudestaan", "An error occurred. Please try again" : "Tapahtui virhe, yritä uudelleen", "{sharee} (group)" : "{sharee} (ryhmä)", "{sharee} (remote)" : "{sharee} (etä)", "{sharee} (email)" : "{sharee} (sähköposti)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Jaa", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaa muille kirjoittamalla käyttäjä tai ryhmä, federoidun pilven tunniste tai sähköpostiosoite.", - "Share with other people by entering a user or group or a federated cloud ID." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai federoidun pilven tunniste.", - "Share with other people by entering a user or group or an email address." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai sähköpostiosoite.", "Name or email address..." : "Nimi tai sähköpostiosoite...", "Name or federated cloud ID..." : "Nimi tai federoidun pilven tunniste...", "Name, federated cloud ID or email address..." : "Nimi, federoidun pilven tunniste tai sähköpostiosoite...", @@ -222,7 +233,8 @@ "Line: %s" : "Rivi: %s", "Trace" : "Jälki", "Security warning" : "Turvallisuusvaroitus", - "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datakansiosi ja tiedostosi ovat mitä luultavimmin muiden saavutettavissa Internetistä, koska .htaccess-tiedosto ei toimi.", + "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Datakansiosi ja tiedostosi ovat mitä luultavimmin muiden nähtävissä Internetistä, koska .htaccess-tiedosto ei toimi.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">documentation</a>." : "Lisätietoja palvelimen kunnollisista asetuksista on <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">ohjeissa</a>.", "Create an <strong>admin account</strong>" : "Luo <strong>ylläpitäjän tunnus</strong>", "Username" : "Käyttäjätunnus", "Storage & database" : "Tallennus ja tietokanta", @@ -230,7 +242,7 @@ "Configure the database" : "Määritä tietokanta", "Only %s is available." : "Vain %s on käytettävissä.", "Install and activate additional PHP modules to choose other database types." : "Asenna ja aktivoi erillisiä PHP-moduuleja valitaksesi muita tietokantatyyppejä.", - "For more details check out the documentation." : "Lisätietoja on saatavilla dokumentaatiossa.", + "For more details check out the documentation." : "Lue lisätiedot ohjeista.", "Database user" : "Tietokannan käyttäjä", "Database password" : "Tietokannan salasana", "Database name" : "Tietokannan nimi", @@ -244,11 +256,11 @@ "Finish setup" : "Viimeistele asennus", "Finishing …" : "Viimeistellään…", "Need help?" : "Tarvitsetko apua?", - "See the documentation" : "Tutustu dokumentaatioon", + "See the documentation" : "Tutustu ohjeisiin", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Tämä sovellus vaatii toimiakseen JavaScript-tuen. {linkstart}Ota JavaScript käyttöön{linkend} ja päivitä sivu.", "More apps" : "Lisää sovelluksia", "Search" : "Etsi", - "Reset search" : "Nollaa haku", + "Reset search" : "Tyhjennä haku", "Confirm your password" : "Vahvista salasanasi", "Server side authentication failed!" : "Palvelimen puoleinen tunnistautuminen epäonnistui!", "Please contact your administrator." : "Ota yhteys ylläpitäjään.", @@ -257,12 +269,15 @@ "Username or email" : "Käyttäjätunnus tai sähköpostiosoite", "Log in" : "Kirjaudu sisään", "Wrong password." : "Väärä salasana.", + "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Useita virheellisiä kirjautumisyrityksiä havaittiin IP-osoitteestasi. Siksi seuraava yritys sallitaan vasta 30:n sekunnin päästä.", "Stay logged in" : "Pysy sisäänkirjautuneena", "Forgot password?" : "Unohditko salasanasi?", + "Back to login" : "Palaa kirjautumiseen", "Account access" : "Tilin käyttö", + "You are about to grant %s access to your %s account." : "Olet antamassa lupaa laitteelle %s päästä sinun %s tilille.", "Grant access" : "Myönnä pääsy", "App token" : "Sovellusvaltuutus", - "Alternative login using app token" : "Vaihtoehtoinen kirjautuminen käyttäen sovellusvaltuutusta", + "Alternative login using app token" : "Kirjaudu vaihtoehtoisella tavalla sovellusvaltuutusta käyttämällä", "Redirecting …" : "Ohjataan uudelleen…", "New password" : "Uusi salasana", "New Password" : "Uusi salasana", @@ -271,6 +286,8 @@ "Cancel log in" : "Peru kirjautuminen", "Use backup code" : "Käytä varakoodia", "Error while validating your second factor" : "Tunnistuksen toisen vaiheen tarkistus epäonnistui", + "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." : "Ota yhteys ylläpitoon, tai jos olet tämän palvelun ylläpitäjä, määritä \"trusted_domains\"-asetus config/config.php-tiedostossa. Esimerkkimääritys on tiedostossa config/config.sample.php.", + "Depending on your configuration, this button could also work to trust the domain:" : "Asetuksista riippuen, ylläpitäjänä saatat pystyä alla olevalla painikkeella lisäämään tämän verkkotunnuksen luotetuksi.", "Add \"%s\" as trusted domain" : "Lisää \"%s\" luotetuksi verkkotunnukseksi", "App update required" : "Sovelluksen päivittäminen vaaditaan", "%s will be updated to version %s" : "%s päivitetään versioon %s", @@ -283,18 +300,43 @@ "Detailed logs" : "Yksityiskohtainen loki", "Update needed" : "Päivitys vaaditaan", "Please use the command line updater because you have a big instance with more than 50 users." : "Käytä komentorivipäivitintä, koska käyttäjiä on yli 50.", + "For help, see the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">documentation</a>." : "Jos tarvitset apua, katso <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">ohjeista</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." : "Tiedän että jos jatkan päivittämistä web-liittymän kautta, saatan menettää kaikki tiedostot, mikäli päivitys epäonnistuu. Onneksi olen tehnyt varmuuskopion ja osaan sen myös palauttaa tarvittaessa.", "Upgrade via web on my own risk" : "Internetin kautta päivittäminen omalla vastuulla", "This %s instance is currently in maintenance mode, which may take a while." : "Tämä %s-instanssi on parhaillaan huoltotilassa, huollossa saattaa kestää hetki.", "This page will refresh itself when the %s instance is available again." : "Tämä sivu päivittää itsensä, kun %s on jälleen käytettävissä.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Ota yhteys järjestelmän ylläpitäjään, jos tämä viesti ilmenee uudelleen tai odottamatta.", "Thank you for your patience." : "Kiitos kärsivällisyydestäsi.", + "%s (3rdparty)" : "%s (3. osapuolen)", "There was an error loading your contacts" : "Virhe yhteystietojasi ladattaessa", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Web-palvelintasi ei ole määritetty oikein tiedostojen synkronoinnin sallimiseksi, koska WebDAV-liitäntä vaikuttaa olevan rikki.", + "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>." : "HTTP-palvelinta ei ole määritelty oikein tunnistamaan osoitetta \"{url}\". Lisätietoja <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ohjeissa</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>." : "Välimuistia ei ole määritelty. Suorituskykyä parantaaksesi, määrittele memcache, jos käytettävissä. Lisätietoja saat <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ohjeista</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 ei ole PHP:n luettavissa. Tämä ei ole suositeltavaa tietoturvasyistä. Lisätietoja <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ohjeissa</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." : "Käytössä on PHP {version}. Suosittelemme päivittämään PHP:n hyötyäksesi <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">PHP Group:n suorituskyky- ja tietoturvapäivityksistä</a> niin pian kuin jakelusi sitä tukee.", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached on määritelty hajautetuksi välimuistiksi, mutta väärä PHP-moduli \"memcache\" on asennettu. \\OC\\Memcache\\Memcached tukee vain modulia \"memcached\", mutta ei modulia \"memcache\". Katso <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wikiä molemmista moduleista</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>)" : "Jotkin tiedostot eivät läpäisseet eheystarkistusta. Katso lisätietoa ongelman korjaamiseksi <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ohjeista</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Listaa virheelliset tiedostot… </a>/ <a href=\"{rescanEndpoint}\">Skannaa uudelleen…</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 ei ole määritelty oikein. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">Suosittelemme käyttämään paremman suorituskyvyn saavuttamiseksi ↗</a> seuraavia asetuksia <code>php.ini</code>-asetustiedostossa:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "PHP-funktio \"set_time_limit\" ei ole käytettävissä. Tämä saattaa johtaa siihen, että skriptien suoritus jää puolitiehen, ja seurauksena on Nextcloud-asennuksen rikkoutuminen. On suositeltavaa ottaa kyseinen funktio käyttöön.", + "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." : "Data-hakemistosi ja tiedostosi ovat luultavasti käytettävissä suoraan Internetistä. .htaccess-tiedosto ei toimi oikein. Suosittelemme määrittämään HTTP-palvelimen asetukset siten, ettei data-hakemisto ole suoraan käytettävissä Internetistä tai siirtämään data-hakemiston HTTP-palvelimen juurihakemiston ulkopuolelle.", + "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." : "HTTP-header \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten on suositeltavaa muuttaa asetuksen arvoa.", + "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>." : "HTTP-header \"Strict-Transport-Security\" ei ole määritelty vähintään \"{seconds}\" sekuntiin. Paremman tietoturvan vuoksi on suositeltavaa määritellä HSTS, kuten <a href=\"{docUrl}\" rel=\"noreferrer\">tietoturvavinkeissä</a> neuvotaan.", + "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>." : "Käytät sivustoa HTTP-yhteydellä. On suositeltavaa, että palvelin vaatii HTTPS-yhteyden, kuten <a href=\"{docUrl}\">tietoturvavinkeissä</a> neuvotaan.", + "Shared with {recipients}" : "Jaettu henkilöiden {recipients} kanssa", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Jaa muille kirjoittamalla käyttäjä tai ryhmä, federoidun pilven tunniste tai sähköpostiosoite.", + "Share with other people by entering a user or group or a federated cloud ID." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai federoidun pilven tunniste.", + "Share with other people by entering a user or group or an email address." : "Jaa muille kirjoittamalla käyttäjä, ryhmä tai sähköpostiosoite.", "The server encountered an internal error and was unable to complete your request." : "Palvelimella tapahtui sisäinen virhe, eikä pyyntöäsi voitu käsitellä.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Ota yhteys palvelimen ylläpitäjään, jos tämä virhe ilmenee useita kertoja. Sisällytä alla olevat tekniset tiedot ilmoitukseesi.", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Lisätietoja palvelimen kunnollisista asetuksista on <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">ohjeissa</a>.", "This action requires you to confirm your password:" : "Tämä toiminto vaatii, että vahvistat salasanasi:", "Wrong password. Reset it?" : "Väärä salasana. Nollataanko se?", "Alternative Logins" : "Vaihtoehtoiset kirjautumistavat", + "You are accessing the server from an untrusted domain." : "Olet yhteydessä palvelimeen epäluotettavasta verkko-osoitteesta.", + "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domains\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Ota yhteys ylläpitoon, tai jos olet tämän palvelun ylläpitäjä, määritä \"trusted_domains\"-asetus config/config.php-tiedostossa. Esimerkkimääritys on tiedostossa config/config.sample.php.", + "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Asetuksista riippuen, ylläpitäjänä saatat pystyä alla olevalla painikkeella lisäämään tämän verkkotunnuksen luotetuksi.", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Jos tarvitset apua, katso <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">ohjeista</a>.", + "Your PHP does not have freetype support. This will result in broken profile pictures and settings interface." : "PHP:ssäsi ei ole freetype-tukea. Tämä johtaa rikkinäisiin profiilikuviin ja rikkinäiseen asetuskäyttöliittymään.", "Back to log in" : "Palaa kirjautumiseen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/core/l10n/fr.js b/core/l10n/fr.js index ce849c1eb23..44b13350d32 100644 --- a/core/l10n/fr.js +++ b/core/l10n/fr.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Des résultats peuvent avoir été omis. Affinez votre recherche pour en voir plus.", "No users or groups found for {search}" : "Pas d'utilisateur ou de groupe trouvé pour {search}", "No users found for {search}" : "Aucun utilisateur trouvé pour {search}", + "An error occurred (\"{message}\"). Please try again" : "Une erreur est survenue (\"{message}\"). Veuillez réessayer", "An error occurred. Please try again" : "Une erreur est survenue. Merci de réessayer", "{sharee} (group)" : "{sharee} (groupe)", "{sharee} (remote)" : "{sharee} (distant)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Partager", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partager avec d'autres personnes en indiquant un nom d'utilisateur, un groupe, un identifiant de cloud fédéré ou une adresse email.", - "Share with other people by entering a user or group or a federated cloud ID." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou un identifiant de cloud fédéré.", - "Share with other people by entering a user or group or an email address." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou une adresse email.", "Name or email address..." : "Nom ou adresse mail...", "Name or federated cloud ID..." : "Nom ou ID du cloud fédéré...", "Name, federated cloud ID or email address..." : "Nom, ID du cloud fédéré ou adresse mail...", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à au moins \"{seconds}\" secondes. Pour renforcer la sécurité nous recommandons d'activer HSTS comme décrit dans nos <a href=\"{docUrl}\" rel=\"noreferrer\">conseils de sécurisation</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>." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation du HTTPS, comme expliqué dans nos <a href=\"{docUrl}\">conseils de sécurisation</a>.", "Shared with {recipients}" : "Partagé avec {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partager avec d'autres personnes en indiquant un nom d'utilisateur, un groupe, un identifiant de cloud fédéré ou une adresse email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou un identifiant de cloud fédéré.", + "Share with other people by entering a user or group or an email address." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou une adresse email.", "The server encountered an internal error and was unable to complete your request." : "Le serveur a rencontré une erreur interne et est incapable d'exécuter votre requête.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Veuillez contacter l'administrateur du serveur si cette erreur apparaît plusieurs fois. Veuillez joindre les détails techniques ci-dessous dans votre rapport.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Pour savoir comment configurer correctement votre serveur, veuillez lire la <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>.", diff --git a/core/l10n/fr.json b/core/l10n/fr.json index 4cc032da169..2ab1fe86f87 100644 --- a/core/l10n/fr.json +++ b/core/l10n/fr.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Des résultats peuvent avoir été omis. Affinez votre recherche pour en voir plus.", "No users or groups found for {search}" : "Pas d'utilisateur ou de groupe trouvé pour {search}", "No users found for {search}" : "Aucun utilisateur trouvé pour {search}", + "An error occurred (\"{message}\"). Please try again" : "Une erreur est survenue (\"{message}\"). Veuillez réessayer", "An error occurred. Please try again" : "Une erreur est survenue. Merci de réessayer", "{sharee} (group)" : "{sharee} (groupe)", "{sharee} (remote)" : "{sharee} (distant)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Partager", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partager avec d'autres personnes en indiquant un nom d'utilisateur, un groupe, un identifiant de cloud fédéré ou une adresse email.", - "Share with other people by entering a user or group or a federated cloud ID." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou un identifiant de cloud fédéré.", - "Share with other people by entering a user or group or an email address." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou une adresse email.", "Name or email address..." : "Nom ou adresse mail...", "Name or federated cloud ID..." : "Nom ou ID du cloud fédéré...", "Name, federated cloud ID or email address..." : "Nom, ID du cloud fédéré ou adresse mail...", @@ -331,6 +329,9 @@ "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>." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à au moins \"{seconds}\" secondes. Pour renforcer la sécurité nous recommandons d'activer HSTS comme décrit dans nos <a href=\"{docUrl}\" rel=\"noreferrer\">conseils de sécurisation</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>." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation du HTTPS, comme expliqué dans nos <a href=\"{docUrl}\">conseils de sécurisation</a>.", "Shared with {recipients}" : "Partagé avec {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partager avec d'autres personnes en indiquant un nom d'utilisateur, un groupe, un identifiant de cloud fédéré ou une adresse email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou un identifiant de cloud fédéré.", + "Share with other people by entering a user or group or an email address." : "Partager avec d'autres personnes en indiquant un utilisateur, un groupe ou une adresse email.", "The server encountered an internal error and was unable to complete your request." : "Le serveur a rencontré une erreur interne et est incapable d'exécuter votre requête.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Veuillez contacter l'administrateur du serveur si cette erreur apparaît plusieurs fois. Veuillez joindre les détails techniques ci-dessous dans votre rapport.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Pour savoir comment configurer correctement votre serveur, veuillez lire la <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>.", diff --git a/core/l10n/he.js b/core/l10n/he.js index 0270ed96f8f..1ddec262f6d 100644 --- a/core/l10n/he.js +++ b/core/l10n/he.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "יתכן שזו רשימה מקוצרת - נא למקד את ביטוי החיפוש שלך כדי להציג תוצאות נוספות.", "No users or groups found for {search}" : "לא אותרו משתמשים או קבוצות עבור {search}", "No users found for {search}" : "לא אותרו משתמשים עבור {search}", + "An error occurred (\"{message}\"). Please try again" : "אירעה שגיאה (\"{message}\"). נא לנסות שוב", "An error occurred. Please try again" : "אירעה שגיאה. יש לנסות שנית", "{sharee} (group)" : "{sharee} (קבוצה)", "{sharee} (remote)" : "{sharee} (מרוחק)", "{sharee} (email)" : "{sharee} (דוא״ל)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "שתף", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד או כתובת דוא״ל.", - "Share with other people by entering a user or group or a federated cloud ID." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד.", - "Share with other people by entering a user or group or an email address." : "ניתן לשתף עם אנשים אחרים על ידי הקלדת משתמש או קבוצה או כתובת דוא״ל.", "Name or email address..." : "שם או כתובת דוא״ל…", "Name or federated cloud ID..." : "שם או מזהה ענן מאוגד…", "Name, federated cloud ID or email address..." : "שם, מזהה ענן מאוגד או כתובת דוא״ל…", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "כותרת ה־HTTP בשם „Strict-Transport-Security” אינה מוגדרת עד לפחות „{seconds}” שניות. לטובת אבטחה מוגברת אנו ממליצים להפעיל HSTS כפי שמתואר ב<a href=\"{docUrl}\" rel=\"noreferrer\">עצות האבטחה</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>." : "הגישה שלך לאתר זה מתבצעת דרך HTTP. אנו ממליצים בחום להגדיר את השרת שלך לדרוש HTTPS במקום כפי שמתואר ב<a href=\"{docUrl}\">עצות האבטחה</a> שלנו.", "Shared with {recipients}" : "משותף עם {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד או כתובת דוא״ל.", + "Share with other people by entering a user or group or a federated cloud ID." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד.", + "Share with other people by entering a user or group or an email address." : "ניתן לשתף עם אנשים אחרים על ידי הקלדת משתמש או קבוצה או כתובת דוא״ל.", "The server encountered an internal error and was unable to complete your request." : "השרת נתקל בשגיאה פנימית ועקב כך הבקשה שלך לא הושלמה.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "נא ליצור קשר עם מנהל השרת אם שגיאה זו מופיעה מספר פעמים, מוטב גם לכלול את הפרטים הטכניים שלהלן בדיווח שלך.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "למידע בנוגע להגדרת השרת שלך כראוי, נא לעיין ב<a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">תיעוד</a>.", diff --git a/core/l10n/he.json b/core/l10n/he.json index b6e542f2d7f..4629f36a562 100644 --- a/core/l10n/he.json +++ b/core/l10n/he.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "יתכן שזו רשימה מקוצרת - נא למקד את ביטוי החיפוש שלך כדי להציג תוצאות נוספות.", "No users or groups found for {search}" : "לא אותרו משתמשים או קבוצות עבור {search}", "No users found for {search}" : "לא אותרו משתמשים עבור {search}", + "An error occurred (\"{message}\"). Please try again" : "אירעה שגיאה (\"{message}\"). נא לנסות שוב", "An error occurred. Please try again" : "אירעה שגיאה. יש לנסות שנית", "{sharee} (group)" : "{sharee} (קבוצה)", "{sharee} (remote)" : "{sharee} (מרוחק)", "{sharee} (email)" : "{sharee} (דוא״ל)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "שתף", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד או כתובת דוא״ל.", - "Share with other people by entering a user or group or a federated cloud ID." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד.", - "Share with other people by entering a user or group or an email address." : "ניתן לשתף עם אנשים אחרים על ידי הקלדת משתמש או קבוצה או כתובת דוא״ל.", "Name or email address..." : "שם או כתובת דוא״ל…", "Name or federated cloud ID..." : "שם או מזהה ענן מאוגד…", "Name, federated cloud ID or email address..." : "שם, מזהה ענן מאוגד או כתובת דוא״ל…", @@ -331,6 +329,9 @@ "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>." : "כותרת ה־HTTP בשם „Strict-Transport-Security” אינה מוגדרת עד לפחות „{seconds}” שניות. לטובת אבטחה מוגברת אנו ממליצים להפעיל HSTS כפי שמתואר ב<a href=\"{docUrl}\" rel=\"noreferrer\">עצות האבטחה</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>." : "הגישה שלך לאתר זה מתבצעת דרך HTTP. אנו ממליצים בחום להגדיר את השרת שלך לדרוש HTTPS במקום כפי שמתואר ב<a href=\"{docUrl}\">עצות האבטחה</a> שלנו.", "Shared with {recipients}" : "משותף עם {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד או כתובת דוא״ל.", + "Share with other people by entering a user or group or a federated cloud ID." : "ניתן לשתף אחרים על ידי הקלדת משתמש או קבוצה או מזהה ענן מאוגד.", + "Share with other people by entering a user or group or an email address." : "ניתן לשתף עם אנשים אחרים על ידי הקלדת משתמש או קבוצה או כתובת דוא״ל.", "The server encountered an internal error and was unable to complete your request." : "השרת נתקל בשגיאה פנימית ועקב כך הבקשה שלך לא הושלמה.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "נא ליצור קשר עם מנהל השרת אם שגיאה זו מופיעה מספר פעמים, מוטב גם לכלול את הפרטים הטכניים שלהלן בדיווח שלך.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "למידע בנוגע להגדרת השרת שלך כראוי, נא לעיין ב<a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">תיעוד</a>.", diff --git a/core/l10n/hu.js b/core/l10n/hu.js index ea542a35f43..55e4bf29b7e 100644 --- a/core/l10n/hu.js +++ b/core/l10n/hu.js @@ -181,9 +181,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (e-mail)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Megosztás", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Megosztás más emberekkel név vagy csoport, egy egységes felhőazonosító vagy e-mailcím megadásával.", - "Share with other people by entering a user or group or a federated cloud ID." : "Megosztás más emberekkel felhasználó, csoport vagy egyesített felhőazonosító megadásával.", - "Share with other people by entering a user or group or an email address." : "Megosztás más emberekkel név, csoport vagy e-mailcím megadásával.", "Name or email address..." : "Név vagy e-mail cím...", "Name or federated cloud ID..." : "Név vagy egyesített felhőazonosító...", "Name, federated cloud ID or email address..." : "Név, egyesített felhőazonosító vagy e-mail cím...", @@ -333,6 +330,9 @@ OC.L10N.register( "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>." : "A \"Strict-Transport-Security\" HTTP fejléc nincs beállítva hogy \"{seconds}\" másodpercig tartson. Biztonsági okokból ajánljuk, hogy engedélyezze a HSTS, ahogyan ezt részletezzük a <a href=\"{docUrl}\" rel=\"noreferrer\">biztonsági tippek</a> dokumentációban.", "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>." : "Jelenleg HTTP-vel éri el a weboldalt. Erősen ajánlott a HTTPS konfiguráció használata ehelyett, ahogyan ezt részleteztük a <a href=\"{docUrl}\">biztonsági tippek</a> dokumentációban", "Shared with {recipients}" : "Megosztva ővelük: {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Megosztás más emberekkel név vagy csoport, egy egységes felhőazonosító vagy e-mailcím megadásával.", + "Share with other people by entering a user or group or a federated cloud ID." : "Megosztás más emberekkel felhasználó, csoport vagy egyesített felhőazonosító megadásával.", + "Share with other people by entering a user or group or an email address." : "Megosztás más emberekkel név, csoport vagy e-mailcím megadásával.", "The server encountered an internal error and was unable to complete your request." : "A szerver belső hibával találkozott és nem tudja teljesíteni a kérést.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Kérjük keresse fel a szerver rendszergazdáját, ha ez a hiba ismételten, többször előfordulna. Kérjük, mellékelje a technikai részleteket a lenti jelentésbe.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "A szerver megfelelő beállításához kérjük olvassa el a <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentációt</a>.", diff --git a/core/l10n/hu.json b/core/l10n/hu.json index 2cb950c95f6..16e610d0fba 100644 --- a/core/l10n/hu.json +++ b/core/l10n/hu.json @@ -179,9 +179,6 @@ "{sharee} (email)" : "{sharee} (e-mail)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Megosztás", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Megosztás más emberekkel név vagy csoport, egy egységes felhőazonosító vagy e-mailcím megadásával.", - "Share with other people by entering a user or group or a federated cloud ID." : "Megosztás más emberekkel felhasználó, csoport vagy egyesített felhőazonosító megadásával.", - "Share with other people by entering a user or group or an email address." : "Megosztás más emberekkel név, csoport vagy e-mailcím megadásával.", "Name or email address..." : "Név vagy e-mail cím...", "Name or federated cloud ID..." : "Név vagy egyesített felhőazonosító...", "Name, federated cloud ID or email address..." : "Név, egyesített felhőazonosító vagy e-mail cím...", @@ -331,6 +328,9 @@ "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>." : "A \"Strict-Transport-Security\" HTTP fejléc nincs beállítva hogy \"{seconds}\" másodpercig tartson. Biztonsági okokból ajánljuk, hogy engedélyezze a HSTS, ahogyan ezt részletezzük a <a href=\"{docUrl}\" rel=\"noreferrer\">biztonsági tippek</a> dokumentációban.", "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>." : "Jelenleg HTTP-vel éri el a weboldalt. Erősen ajánlott a HTTPS konfiguráció használata ehelyett, ahogyan ezt részleteztük a <a href=\"{docUrl}\">biztonsági tippek</a> dokumentációban", "Shared with {recipients}" : "Megosztva ővelük: {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Megosztás más emberekkel név vagy csoport, egy egységes felhőazonosító vagy e-mailcím megadásával.", + "Share with other people by entering a user or group or a federated cloud ID." : "Megosztás más emberekkel felhasználó, csoport vagy egyesített felhőazonosító megadásával.", + "Share with other people by entering a user or group or an email address." : "Megosztás más emberekkel név, csoport vagy e-mailcím megadásával.", "The server encountered an internal error and was unable to complete your request." : "A szerver belső hibával találkozott és nem tudja teljesíteni a kérést.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Kérjük keresse fel a szerver rendszergazdáját, ha ez a hiba ismételten, többször előfordulna. Kérjük, mellékelje a technikai részleteket a lenti jelentésbe.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "A szerver megfelelő beállításához kérjük olvassa el a <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentációt</a>.", diff --git a/core/l10n/is.js b/core/l10n/is.js index fbe9d10a215..f8c24b99219 100644 --- a/core/l10n/is.js +++ b/core/l10n/is.js @@ -181,9 +181,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (tölvupóstur)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Deila", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp, skýjasambandsauðkenni eða tölvupóstfang.", - "Share with other people by entering a user or group or a federated cloud ID." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða skýjasambandsauðkenni.", - "Share with other people by entering a user or group or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða tölvupóstfang.", "Name or email address..." : "Nafn eða tölvupóstfang...", "Name or federated cloud ID..." : "Nafn eða skýjasambandsauðkenni (Federated Cloud ID)...", "Name, federated cloud ID or email address..." : "Nafn, skýjasambandsauðkenni eða tölvupóstfang...", @@ -333,6 +330,9 @@ OC.L10N.register( "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>." : "\"Strict-Transport-Security\" HTTP-hausinn er ekki stilltur á að minnsa kosti \"{seconds}\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í <a href=\"{docUrl}\" rel=\"noreferrer\">öryggisleiðbeiningum</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>." : " Þú ert að tengjast þessu vefsvæði með HTTP. Við mælum eindregið með að þú stillir þjóninn á að krefjast HTTPS í staðinn eins og lýst er í <a href=\"{docUrl}\">öryggisleiðbeiningunum</a> okkar.", "Shared with {recipients}" : "Deilt með {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp, skýjasambandsauðkenni eða tölvupóstfang.", + "Share with other people by entering a user or group or a federated cloud ID." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða skýjasambandsauðkenni.", + "Share with other people by entering a user or group or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða tölvupóstfang.", "The server encountered an internal error and was unable to complete your request." : "Innri villa kom upp á þjóninum og ekki náðist að afgreiða beiðnina.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Hafðu samband við kerfisstjóra ef þessi villa birtist oft aftur, láttu þá tæknilegu upplýsingarnar hér að neðan fylgja með.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Til að fá upplýsingar hvernig á að stilla miðlara almennilega, skaltu skoða <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">hjálparskjölin</a>.", diff --git a/core/l10n/is.json b/core/l10n/is.json index 7c7f35f84b2..0554bc1c15c 100644 --- a/core/l10n/is.json +++ b/core/l10n/is.json @@ -179,9 +179,6 @@ "{sharee} (email)" : "{sharee} (tölvupóstur)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Deila", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp, skýjasambandsauðkenni eða tölvupóstfang.", - "Share with other people by entering a user or group or a federated cloud ID." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða skýjasambandsauðkenni.", - "Share with other people by entering a user or group or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða tölvupóstfang.", "Name or email address..." : "Nafn eða tölvupóstfang...", "Name or federated cloud ID..." : "Nafn eða skýjasambandsauðkenni (Federated Cloud ID)...", "Name, federated cloud ID or email address..." : "Nafn, skýjasambandsauðkenni eða tölvupóstfang...", @@ -331,6 +328,9 @@ "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>." : "\"Strict-Transport-Security\" HTTP-hausinn er ekki stilltur á að minnsa kosti \"{seconds}\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í <a href=\"{docUrl}\" rel=\"noreferrer\">öryggisleiðbeiningum</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>." : " Þú ert að tengjast þessu vefsvæði með HTTP. Við mælum eindregið með að þú stillir þjóninn á að krefjast HTTPS í staðinn eins og lýst er í <a href=\"{docUrl}\">öryggisleiðbeiningunum</a> okkar.", "Shared with {recipients}" : "Deilt með {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp, skýjasambandsauðkenni eða tölvupóstfang.", + "Share with other people by entering a user or group or a federated cloud ID." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða skýjasambandsauðkenni.", + "Share with other people by entering a user or group or an email address." : "Deildu með öðru fólki með því að setja inn notanda, hóp eða tölvupóstfang.", "The server encountered an internal error and was unable to complete your request." : "Innri villa kom upp á þjóninum og ekki náðist að afgreiða beiðnina.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Hafðu samband við kerfisstjóra ef þessi villa birtist oft aftur, láttu þá tæknilegu upplýsingarnar hér að neðan fylgja með.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Til að fá upplýsingar hvernig á að stilla miðlara almennilega, skaltu skoða <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">hjálparskjölin</a>.", diff --git a/core/l10n/it.js b/core/l10n/it.js index fb325da9069..86f0c857ec0 100644 --- a/core/l10n/it.js +++ b/core/l10n/it.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Questa lista potrebbe essere troncata - correggi i termini di ricerca per molti altri risultati.", "No users or groups found for {search}" : "Nessun utente o gruppo trovato per {search}", "No users found for {search}" : "Nessun utente trovato per {search}", + "An error occurred (\"{message}\"). Please try again" : "Si è verificato un errore (\"{message}\"). Prova ancora", "An error occurred. Please try again" : "Si è verificato un errore. Prova ancora", "{sharee} (group)" : "{sharee} (group)", "{sharee} (remote)" : "{sharee} (remote)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Condividi", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Condividi con altre persone digitando un utente o un gruppo, un ID di cloud federata o un indirizzo di posta elettronica.", - "Share with other people by entering a user or group or a federated cloud ID." : "Condividi con altre persone digitando un utente, un gruppo o un ID di cloud federata.", - "Share with other people by entering a user or group or an email address." : "Condividi con altre persone digitando un utente, un gruppo o un indirizzo di posta elettronica.", "Name or email address..." : "Nome o indirizzo email...", "Name or federated cloud ID..." : "Nome o ID di cloud federata...", "Name, federated cloud ID or email address..." : "Nome, ID di cloud federata o indirizzo email...", @@ -276,7 +274,7 @@ OC.L10N.register( "Username or email" : "Nome utente o email", "Log in" : "Accedi", "Wrong password." : "Password errata.", - "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Abbiamo rilevato molti tentativi di autenticazione falliti dal tuo indirizzo IP. Di conseguenza il prossimo tentativo è ritardato di 30 secondi.", + "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Abbiamo rilevato molti tentativi di autenticazione non riusciti dal tuo indirizzo IP. Di conseguenza, il prossimo tentativo è ritardato di 30 secondi.", "Stay logged in" : "Rimani collegato", "Forgot password?" : "Hai dimenticato la password?", "Back to login" : "Torna alla schermata di accesso", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore di almeno \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei nostri <a href=\"{docUrl}\" rel=\"noreferrer\">consigli sulla sicurezza</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>." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece l'utilizzo del protocollo HTTPS, come descritto nei nostri <a href=\"{docUrl}\">consigli sulla sicurezza</a>.", "Shared with {recipients}" : "Condiviso con {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Condividi con altre persone digitando un utente o un gruppo, un ID di cloud federata o un indirizzo di posta elettronica.", + "Share with other people by entering a user or group or a federated cloud ID." : "Condividi con altre persone digitando un utente, un gruppo o un ID di cloud federata.", + "Share with other people by entering a user or group or an email address." : "Condividi con altre persone digitando un utente, un gruppo o un indirizzo di posta elettronica.", "The server encountered an internal error and was unable to complete your request." : "Il server ha riscontrato un errore interno e non è stato in grado di completare la tua richiesta.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Contatta l'amministratore del server se questo errore riappare più volte, includendo i dettagli tecnici sotto riportati nella tua segnalazione.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Per informazioni su come configurare correttamente il tuo server, vedi la <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentazione</a>.", diff --git a/core/l10n/it.json b/core/l10n/it.json index 4a1b07bd438..79f154c6b16 100644 --- a/core/l10n/it.json +++ b/core/l10n/it.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Questa lista potrebbe essere troncata - correggi i termini di ricerca per molti altri risultati.", "No users or groups found for {search}" : "Nessun utente o gruppo trovato per {search}", "No users found for {search}" : "Nessun utente trovato per {search}", + "An error occurred (\"{message}\"). Please try again" : "Si è verificato un errore (\"{message}\"). Prova ancora", "An error occurred. Please try again" : "Si è verificato un errore. Prova ancora", "{sharee} (group)" : "{sharee} (group)", "{sharee} (remote)" : "{sharee} (remote)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Condividi", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Condividi con altre persone digitando un utente o un gruppo, un ID di cloud federata o un indirizzo di posta elettronica.", - "Share with other people by entering a user or group or a federated cloud ID." : "Condividi con altre persone digitando un utente, un gruppo o un ID di cloud federata.", - "Share with other people by entering a user or group or an email address." : "Condividi con altre persone digitando un utente, un gruppo o un indirizzo di posta elettronica.", "Name or email address..." : "Nome o indirizzo email...", "Name or federated cloud ID..." : "Nome o ID di cloud federata...", "Name, federated cloud ID or email address..." : "Nome, ID di cloud federata o indirizzo email...", @@ -274,7 +272,7 @@ "Username or email" : "Nome utente o email", "Log in" : "Accedi", "Wrong password." : "Password errata.", - "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Abbiamo rilevato molti tentativi di autenticazione falliti dal tuo indirizzo IP. Di conseguenza il prossimo tentativo è ritardato di 30 secondi.", + "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Abbiamo rilevato molti tentativi di autenticazione non riusciti dal tuo indirizzo IP. Di conseguenza, il prossimo tentativo è ritardato di 30 secondi.", "Stay logged in" : "Rimani collegato", "Forgot password?" : "Hai dimenticato la password?", "Back to login" : "Torna alla schermata di accesso", @@ -331,6 +329,9 @@ "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>." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore di almeno \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei nostri <a href=\"{docUrl}\" rel=\"noreferrer\">consigli sulla sicurezza</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>." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece l'utilizzo del protocollo HTTPS, come descritto nei nostri <a href=\"{docUrl}\">consigli sulla sicurezza</a>.", "Shared with {recipients}" : "Condiviso con {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Condividi con altre persone digitando un utente o un gruppo, un ID di cloud federata o un indirizzo di posta elettronica.", + "Share with other people by entering a user or group or a federated cloud ID." : "Condividi con altre persone digitando un utente, un gruppo o un ID di cloud federata.", + "Share with other people by entering a user or group or an email address." : "Condividi con altre persone digitando un utente, un gruppo o un indirizzo di posta elettronica.", "The server encountered an internal error and was unable to complete your request." : "Il server ha riscontrato un errore interno e non è stato in grado di completare la tua richiesta.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Contatta l'amministratore del server se questo errore riappare più volte, includendo i dettagli tecnici sotto riportati nella tua segnalazione.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Per informazioni su come configurare correttamente il tuo server, vedi la <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentazione</a>.", diff --git a/core/l10n/ja.js b/core/l10n/ja.js index 5943c55fb09..52af79bbe9d 100644 --- a/core/l10n/ja.js +++ b/core/l10n/ja.js @@ -161,9 +161,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (メール)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "共有", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "ユーザー名、グループ、クラウド統合ID、メールアドレスで共有", - "Share with other people by entering a user or group or a federated cloud ID." : "ユーザー名、グループ、クラウド統合IDで共有", - "Share with other people by entering a user or group or an email address." : "ユーザー名やグループ名、メールアドレスで共有", "Name or email address..." : "名前またはメールアドレス", "Name or federated cloud ID..." : "ユーザー名または、クラウド統合ID...", "Name, federated cloud ID or email address..." : "ユーザー名、クラウド統合ID、またはメールアドレス", @@ -284,6 +281,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "この画面は、サーバー %s の再起動後に自動的に更新されます。", "Contact your system administrator if this message persists or appeared unexpectedly." : "このメッセージが引き続きもしくは予期せず現れる場合は、システム管理者に問い合わせてください。", "Thank you for your patience." : "しばらくお待ちください。", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "ユーザー名、グループ、クラウド統合ID、メールアドレスで共有", + "Share with other people by entering a user or group or a federated cloud ID." : "ユーザー名、グループ、クラウド統合IDで共有", + "Share with other people by entering a user or group or an email address." : "ユーザー名やグループ名、メールアドレスで共有", "Alternative Logins" : "代替ログイン" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/ja.json b/core/l10n/ja.json index 2614d1fd019..c716166166a 100644 --- a/core/l10n/ja.json +++ b/core/l10n/ja.json @@ -159,9 +159,6 @@ "{sharee} (email)" : "{sharee} (メール)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "共有", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "ユーザー名、グループ、クラウド統合ID、メールアドレスで共有", - "Share with other people by entering a user or group or a federated cloud ID." : "ユーザー名、グループ、クラウド統合IDで共有", - "Share with other people by entering a user or group or an email address." : "ユーザー名やグループ名、メールアドレスで共有", "Name or email address..." : "名前またはメールアドレス", "Name or federated cloud ID..." : "ユーザー名または、クラウド統合ID...", "Name, federated cloud ID or email address..." : "ユーザー名、クラウド統合ID、またはメールアドレス", @@ -282,6 +279,9 @@ "This page will refresh itself when the %s instance is available again." : "この画面は、サーバー %s の再起動後に自動的に更新されます。", "Contact your system administrator if this message persists or appeared unexpectedly." : "このメッセージが引き続きもしくは予期せず現れる場合は、システム管理者に問い合わせてください。", "Thank you for your patience." : "しばらくお待ちください。", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "ユーザー名、グループ、クラウド統合ID、メールアドレスで共有", + "Share with other people by entering a user or group or a federated cloud ID." : "ユーザー名、グループ、クラウド統合IDで共有", + "Share with other people by entering a user or group or an email address." : "ユーザー名やグループ名、メールアドレスで共有", "Alternative Logins" : "代替ログイン" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/core/l10n/ka_GE.js b/core/l10n/ka_GE.js index 879913435b7..60d951aa766 100644 --- a/core/l10n/ka_GE.js +++ b/core/l10n/ka_GE.js @@ -181,9 +181,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (ელ-ფოსტა)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "გაზიარება", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "გაუზიარეთ სხვა ადამიანებს მოხმარებლის, ჯგუფის, ფედერალური ქლაუდ ID-ის ან ელ-ფოსტის მისამართის შეყვანით.", - "Share with other people by entering a user or group or a federated cloud ID." : "გაუზიარეთ სხვა ადამიანებს, მომხმარებლის, ჯგუფის ან ფედერალური ქლაუდ ID-ის შეყვანით.", - "Share with other people by entering a user or group or an email address." : "გაუზიარეთ სხვა ადამიანებს მომხმარებლის, ჯგუფის ან ელ-ფოსტის მისამართის შეყვანით.", "Name or email address..." : "სახელი ან ელ-ფოსტის მისამართი...", "Name or federated cloud ID..." : "სახელი ან ფედერალური ქლაუდ ID", "Name, federated cloud ID or email address..." : "სახელი, ფედერალური ქლაუდ ID ან ელ-ფოსტის მისამართი", @@ -332,6 +329,9 @@ OC.L10N.register( "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>." : "\"Strict-Transport-Security\" HTTP დასათაურება არაა კონფიგურირებული \"{seconds}\" წამამდე მაინც. გაუმჯობესებული თავდაცვის მიზნებისთვის რეკომენდაციას გიწევთ ჩართოთ HSTS როგორც აღწერილია ჩვენს <a href=\"{docUrl}\" rel=\"noreferrer\">თავდაცვის რეკომენდაციებში</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>." : "ამ საიტს უკავშირდებით HTTP-თი. მტკიცედ გირჩევთ გაუწიოთ სერვერს კონფიგურაცია, ისე რომ გამოიყენოთ HTTPS, როგორც აღწერილია ჩვენს <a href=\"{docUrl}\">თავდაცვის რეკომენდაციებში</a>.", "Shared with {recipients}" : "გაზიარებულია მიმღებებთან {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "გაუზიარეთ სხვა ადამიანებს მოხმარებლის, ჯგუფის, ფედერალური ქლაუდ ID-ის ან ელ-ფოსტის მისამართის შეყვანით.", + "Share with other people by entering a user or group or a federated cloud ID." : "გაუზიარეთ სხვა ადამიანებს, მომხმარებლის, ჯგუფის ან ფედერალური ქლაუდ ID-ის შეყვანით.", + "Share with other people by entering a user or group or an email address." : "გაუზიარეთ სხვა ადამიანებს მომხმარებლის, ჯგუფის ან ელ-ფოსტის მისამართის შეყვანით.", "The server encountered an internal error and was unable to complete your request." : "სერვერს შეექმნა შიდა შეცდომა და ვერ დაასრულა თქვენი მოთხოვნა.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "გთხოვთ დაუკავშირდეთ სერვერის ადმინისტრატორს, თუ ეს შეცდომა განმეორდება, გთხოვთ რეპორტში შეიტანოთ ქვემოთ მოცემული ტექნიკური დეტალებიც.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "ინფორმაციისთვის თუ როგორ გაუწიოთ სერვერს სწორი კონფიგურაცია იხილეთ <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">დოკუემტაცია</a>.", diff --git a/core/l10n/ka_GE.json b/core/l10n/ka_GE.json index c202a80df65..552fdb26c4e 100644 --- a/core/l10n/ka_GE.json +++ b/core/l10n/ka_GE.json @@ -179,9 +179,6 @@ "{sharee} (email)" : "{sharee} (ელ-ფოსტა)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "გაზიარება", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "გაუზიარეთ სხვა ადამიანებს მოხმარებლის, ჯგუფის, ფედერალური ქლაუდ ID-ის ან ელ-ფოსტის მისამართის შეყვანით.", - "Share with other people by entering a user or group or a federated cloud ID." : "გაუზიარეთ სხვა ადამიანებს, მომხმარებლის, ჯგუფის ან ფედერალური ქლაუდ ID-ის შეყვანით.", - "Share with other people by entering a user or group or an email address." : "გაუზიარეთ სხვა ადამიანებს მომხმარებლის, ჯგუფის ან ელ-ფოსტის მისამართის შეყვანით.", "Name or email address..." : "სახელი ან ელ-ფოსტის მისამართი...", "Name or federated cloud ID..." : "სახელი ან ფედერალური ქლაუდ ID", "Name, federated cloud ID or email address..." : "სახელი, ფედერალური ქლაუდ ID ან ელ-ფოსტის მისამართი", @@ -330,6 +327,9 @@ "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>." : "\"Strict-Transport-Security\" HTTP დასათაურება არაა კონფიგურირებული \"{seconds}\" წამამდე მაინც. გაუმჯობესებული თავდაცვის მიზნებისთვის რეკომენდაციას გიწევთ ჩართოთ HSTS როგორც აღწერილია ჩვენს <a href=\"{docUrl}\" rel=\"noreferrer\">თავდაცვის რეკომენდაციებში</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>." : "ამ საიტს უკავშირდებით HTTP-თი. მტკიცედ გირჩევთ გაუწიოთ სერვერს კონფიგურაცია, ისე რომ გამოიყენოთ HTTPS, როგორც აღწერილია ჩვენს <a href=\"{docUrl}\">თავდაცვის რეკომენდაციებში</a>.", "Shared with {recipients}" : "გაზიარებულია მიმღებებთან {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "გაუზიარეთ სხვა ადამიანებს მოხმარებლის, ჯგუფის, ფედერალური ქლაუდ ID-ის ან ელ-ფოსტის მისამართის შეყვანით.", + "Share with other people by entering a user or group or a federated cloud ID." : "გაუზიარეთ სხვა ადამიანებს, მომხმარებლის, ჯგუფის ან ფედერალური ქლაუდ ID-ის შეყვანით.", + "Share with other people by entering a user or group or an email address." : "გაუზიარეთ სხვა ადამიანებს მომხმარებლის, ჯგუფის ან ელ-ფოსტის მისამართის შეყვანით.", "The server encountered an internal error and was unable to complete your request." : "სერვერს შეექმნა შიდა შეცდომა და ვერ დაასრულა თქვენი მოთხოვნა.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "გთხოვთ დაუკავშირდეთ სერვერის ადმინისტრატორს, თუ ეს შეცდომა განმეორდება, გთხოვთ რეპორტში შეიტანოთ ქვემოთ მოცემული ტექნიკური დეტალებიც.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "ინფორმაციისთვის თუ როგორ გაუწიოთ სერვერს სწორი კონფიგურაცია იხილეთ <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">დოკუემტაცია</a>.", diff --git a/core/l10n/ko.js b/core/l10n/ko.js index e9444e85963..41cc09befec 100644 --- a/core/l10n/ko.js +++ b/core/l10n/ko.js @@ -181,9 +181,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee}(이메일)", "{sharee} ({type}, {owner})" : "{sharee}({type}, {owner})", "Share" : "공유", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "사용자나 그룹 이름, 연합 클라우드 ID 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.", - "Share with other people by entering a user or group or a federated cloud ID." : "사용자나 그룹 이름, 연합 클라우드 ID를 입력해서 다른 사람과 공유하십시오.", - "Share with other people by entering a user or group or an email address." : "사용자나 그룹 이름 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.", "Name or email address..." : "이름이나 이메일 주소...", "Name or federated cloud ID..." : "이름이나 연합 클라우드 ID...", "Name, federated cloud ID or email address..." : "이름, 연합 클라우드 ID 및 이메일 주소...", @@ -332,6 +329,9 @@ OC.L10N.register( "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>." : "\"Strict-Transport-Security\" HTTP 헤더가 \"{seconds}\"초 이상로 설정되어 있지 않습니다. <a href=\"{docUrl}\" rel=\"noreferrer\">보안 팁</a>에서 제안하는 것처럼 HSTS를 활성화하는 것을 추천합니다.", "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>." : "이 사이트를 HTTP로 접근하고 있습니다. <a href=\"{docUrl}\">보안 팁</a>에 나타난 것처럼 서버 설정을 변경하여 HTTPS를 사용하는 것을 강력히 추천합니다.", "Shared with {recipients}" : "{recipients} 님과 공유됨", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "사용자나 그룹 이름, 연합 클라우드 ID 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.", + "Share with other people by entering a user or group or a federated cloud ID." : "사용자나 그룹 이름, 연합 클라우드 ID를 입력해서 다른 사람과 공유하십시오.", + "Share with other people by entering a user or group or an email address." : "사용자나 그룹 이름 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.", "The server encountered an internal error and was unable to complete your request." : "서버에 내부 오류가 발생하여 요청을 처리할 수 없었습니다.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "이 오류가 여러 번 발생한다면 서버 관리자에게 연락해 주시고, 아래 기술적인 정보를 포함해 주십시오.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "서버를 올바르게 설정하는 방법에 대해서 더 알아보려면 <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">문서</a>를 참조하십시오.", diff --git a/core/l10n/ko.json b/core/l10n/ko.json index ecba88e59ba..62d661a27f6 100644 --- a/core/l10n/ko.json +++ b/core/l10n/ko.json @@ -179,9 +179,6 @@ "{sharee} (email)" : "{sharee}(이메일)", "{sharee} ({type}, {owner})" : "{sharee}({type}, {owner})", "Share" : "공유", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "사용자나 그룹 이름, 연합 클라우드 ID 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.", - "Share with other people by entering a user or group or a federated cloud ID." : "사용자나 그룹 이름, 연합 클라우드 ID를 입력해서 다른 사람과 공유하십시오.", - "Share with other people by entering a user or group or an email address." : "사용자나 그룹 이름 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.", "Name or email address..." : "이름이나 이메일 주소...", "Name or federated cloud ID..." : "이름이나 연합 클라우드 ID...", "Name, federated cloud ID or email address..." : "이름, 연합 클라우드 ID 및 이메일 주소...", @@ -330,6 +327,9 @@ "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>." : "\"Strict-Transport-Security\" HTTP 헤더가 \"{seconds}\"초 이상로 설정되어 있지 않습니다. <a href=\"{docUrl}\" rel=\"noreferrer\">보안 팁</a>에서 제안하는 것처럼 HSTS를 활성화하는 것을 추천합니다.", "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>." : "이 사이트를 HTTP로 접근하고 있습니다. <a href=\"{docUrl}\">보안 팁</a>에 나타난 것처럼 서버 설정을 변경하여 HTTPS를 사용하는 것을 강력히 추천합니다.", "Shared with {recipients}" : "{recipients} 님과 공유됨", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "사용자나 그룹 이름, 연합 클라우드 ID 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.", + "Share with other people by entering a user or group or a federated cloud ID." : "사용자나 그룹 이름, 연합 클라우드 ID를 입력해서 다른 사람과 공유하십시오.", + "Share with other people by entering a user or group or an email address." : "사용자나 그룹 이름 및 이메일 주소를 입력해서 다른 사람과 공유하십시오.", "The server encountered an internal error and was unable to complete your request." : "서버에 내부 오류가 발생하여 요청을 처리할 수 없었습니다.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "이 오류가 여러 번 발생한다면 서버 관리자에게 연락해 주시고, 아래 기술적인 정보를 포함해 주십시오.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "서버를 올바르게 설정하는 방법에 대해서 더 알아보려면 <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">문서</a>를 참조하십시오.", diff --git a/core/l10n/lt_LT.js b/core/l10n/lt_LT.js index b9744d86db0..227f087501e 100644 --- a/core/l10n/lt_LT.js +++ b/core/l10n/lt_LT.js @@ -163,9 +163,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (elektroninis paštas)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Dalintis", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą, NextCloud tinklo kompiuterio ID arba elektroninio pašto adresą.", - "Share with other people by entering a user or group or a federated cloud ID." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba NextCloud tinklo kompiuterio ID.", - "Share with other people by entering a user or group or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba elektroninio pašto adresą.", "Name or email address..." : "Vardas arba elektroninio pašto adresas...", "Name or federated cloud ID..." : "Vardas arba NextCloud tinklo kompiuterio ID...", "Name, federated cloud ID or email address..." : "Vardas, NextCloud tinklo kompiuterio ID arba elektroninio pašto adresas...", @@ -294,6 +291,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Šis puslapis bus įkeltas iš naujo, kai %s egzempliorius bus ir vėl prieinamas.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Susisiekite su savo sistemos administratoriumi jei šis pranešimas nedingsta arba jei jis pasirodė netikėtai.", "Thank you for your patience." : "Dėkojame už jūsų kantrumą.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą, NextCloud tinklo kompiuterio ID arba elektroninio pašto adresą.", + "Share with other people by entering a user or group or a federated cloud ID." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba NextCloud tinklo kompiuterio ID.", + "Share with other people by entering a user or group or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba elektroninio pašto adresą.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Išsamesnei informacijai apie tai kaip tinkamai sukonfigūruoti savo serverį, žiūrėkite <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentaciją</a>.", "This action requires you to confirm your password:" : "Šis veiksmas reikalauja, kad patvirtintumėte savo slaptažodį:", "Wrong password. Reset it?" : "Neteisingas slaptažodis. Atstatyti jį?", diff --git a/core/l10n/lt_LT.json b/core/l10n/lt_LT.json index b087a81e161..cad7353c9ce 100644 --- a/core/l10n/lt_LT.json +++ b/core/l10n/lt_LT.json @@ -161,9 +161,6 @@ "{sharee} (email)" : "{sharee} (elektroninis paštas)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Dalintis", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą, NextCloud tinklo kompiuterio ID arba elektroninio pašto adresą.", - "Share with other people by entering a user or group or a federated cloud ID." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba NextCloud tinklo kompiuterio ID.", - "Share with other people by entering a user or group or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba elektroninio pašto adresą.", "Name or email address..." : "Vardas arba elektroninio pašto adresas...", "Name or federated cloud ID..." : "Vardas arba NextCloud tinklo kompiuterio ID...", "Name, federated cloud ID or email address..." : "Vardas, NextCloud tinklo kompiuterio ID arba elektroninio pašto adresas...", @@ -292,6 +289,9 @@ "This page will refresh itself when the %s instance is available again." : "Šis puslapis bus įkeltas iš naujo, kai %s egzempliorius bus ir vėl prieinamas.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Susisiekite su savo sistemos administratoriumi jei šis pranešimas nedingsta arba jei jis pasirodė netikėtai.", "Thank you for your patience." : "Dėkojame už jūsų kantrumą.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą, NextCloud tinklo kompiuterio ID arba elektroninio pašto adresą.", + "Share with other people by entering a user or group or a federated cloud ID." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba NextCloud tinklo kompiuterio ID.", + "Share with other people by entering a user or group or an email address." : "Pasidalinti su kitais asmenimis galima įvedus vartotojo ar grupės vardą arba elektroninio pašto adresą.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Išsamesnei informacijai apie tai kaip tinkamai sukonfigūruoti savo serverį, žiūrėkite <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentaciją</a>.", "This action requires you to confirm your password:" : "Šis veiksmas reikalauja, kad patvirtintumėte savo slaptažodį:", "Wrong password. Reset it?" : "Neteisingas slaptažodis. Atstatyti jį?", diff --git a/core/l10n/lv.js b/core/l10n/lv.js index a19646c9c02..2509f3a4465 100644 --- a/core/l10n/lv.js +++ b/core/l10n/lv.js @@ -149,9 +149,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (e-pasts)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Koplietot", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu, federated cloud ID vai e-pasta adresi.", - "Share with other people by entering a user or group or a federated cloud ID." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai federated cloud ID.", - "Share with other people by entering a user or group or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai e-pasta adresi.", "Name or email address..." : "Vārds vai e-pasta adrese...", "Name or federated cloud ID..." : "Vārds vai federated cloud ID", "Name, federated cloud ID or email address..." : "Vārds, federated cloud ID vai e-pasta adrese...", @@ -267,6 +264,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Lapa tiks atsvaidzināta kad %s instance atkal ir pieejama.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Sazinieties ar sistēmas administratoru, ja šis ziņojums tiek rādīts.. vai parādījās negaidīti", "Thank you for your patience." : "Paldies par jūsu pacietību.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu, federated cloud ID vai e-pasta adresi.", + "Share with other people by entering a user or group or a federated cloud ID." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai federated cloud ID.", + "Share with other people by entering a user or group or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai e-pasta adresi.", "Alternative Logins" : "Alternatīvās pieteikšanās" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/core/l10n/lv.json b/core/l10n/lv.json index 2006f56a1d6..4b0339d13da 100644 --- a/core/l10n/lv.json +++ b/core/l10n/lv.json @@ -147,9 +147,6 @@ "{sharee} (email)" : "{sharee} (e-pasts)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Koplietot", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu, federated cloud ID vai e-pasta adresi.", - "Share with other people by entering a user or group or a federated cloud ID." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai federated cloud ID.", - "Share with other people by entering a user or group or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai e-pasta adresi.", "Name or email address..." : "Vārds vai e-pasta adrese...", "Name or federated cloud ID..." : "Vārds vai federated cloud ID", "Name, federated cloud ID or email address..." : "Vārds, federated cloud ID vai e-pasta adrese...", @@ -265,6 +262,9 @@ "This page will refresh itself when the %s instance is available again." : "Lapa tiks atsvaidzināta kad %s instance atkal ir pieejama.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Sazinieties ar sistēmas administratoru, ja šis ziņojums tiek rādīts.. vai parādījās negaidīti", "Thank you for your patience." : "Paldies par jūsu pacietību.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu, federated cloud ID vai e-pasta adresi.", + "Share with other people by entering a user or group or a federated cloud ID." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai federated cloud ID.", + "Share with other people by entering a user or group or an email address." : "Dalīties ar citiem cilvēkiem ievadot lietotāju, grupu vai e-pasta adresi.", "Alternative Logins" : "Alternatīvās pieteikšanās" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" }
\ No newline at end of file diff --git a/core/l10n/nb.js b/core/l10n/nb.js index a1aa829f60b..a5a194ad697 100644 --- a/core/l10n/nb.js +++ b/core/l10n/nb.js @@ -181,9 +181,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Del", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, en sammenknyttet sky-ID eller en e-postadresse.", - "Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved å skrive inn en bruker, en gruppe eller en sammenknyttet sky-ID", - "Share with other people by entering a user or group or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, eller en e-postadresse.", "Name or email address..." : "Navn eller e-postadresse…", "Name or federated cloud ID..." : "Navn eller sammenknyttet sky-ID…", "Name, federated cloud ID or email address..." : "Navn, sammenknyttet sky-ID eller e-postadresse…", @@ -333,6 +330,9 @@ OC.L10N.register( "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>." : "\"Strict-Transport-Security\"- (Streng transportsikkerhet) HTTP-hodet er ikke satt opp til minst \"{seconds}\" sekunder. For forbedret sikkerhet anbefales det å skru på HSTS som beskrevet i våre <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhetstips</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>." : "Du besøker denne nettsiden via HTTP. Vi anbefaler på det sterkeste at du konfigurerer tjeneren til å kreve HTTPS i stedet, som beskrevet i <a href=\"{docUrl}\">sikkerhetstips</a>.", "Shared with {recipients}" : "Delt med {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, en sammenknyttet sky-ID eller en e-postadresse.", + "Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved å skrive inn en bruker, en gruppe eller en sammenknyttet sky-ID", + "Share with other people by entering a user or group or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, eller en e-postadresse.", "The server encountered an internal error and was unable to complete your request." : "Tjeneren støtte på en intern feil og kunne ikke fullføre forespørselen din.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Kontakt tjeneradministratoren hvis denne feilen oppstår flere ganger. Ta med de tekniske detaljene nedenfor i rapporten din.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "For informasjon om hvordan du skal konfigurere tjeneren skikkelig, se i <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentasjonen</a>.", diff --git a/core/l10n/nb.json b/core/l10n/nb.json index 4cf24b669dd..1a5b4e3c518 100644 --- a/core/l10n/nb.json +++ b/core/l10n/nb.json @@ -179,9 +179,6 @@ "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Del", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, en sammenknyttet sky-ID eller en e-postadresse.", - "Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved å skrive inn en bruker, en gruppe eller en sammenknyttet sky-ID", - "Share with other people by entering a user or group or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, eller en e-postadresse.", "Name or email address..." : "Navn eller e-postadresse…", "Name or federated cloud ID..." : "Navn eller sammenknyttet sky-ID…", "Name, federated cloud ID or email address..." : "Navn, sammenknyttet sky-ID eller e-postadresse…", @@ -331,6 +328,9 @@ "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>." : "\"Strict-Transport-Security\"- (Streng transportsikkerhet) HTTP-hodet er ikke satt opp til minst \"{seconds}\" sekunder. For forbedret sikkerhet anbefales det å skru på HSTS som beskrevet i våre <a href=\"{docUrl}\" rel=\"noreferrer\">sikkerhetstips</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>." : "Du besøker denne nettsiden via HTTP. Vi anbefaler på det sterkeste at du konfigurerer tjeneren til å kreve HTTPS i stedet, som beskrevet i <a href=\"{docUrl}\">sikkerhetstips</a>.", "Shared with {recipients}" : "Delt med {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, en sammenknyttet sky-ID eller en e-postadresse.", + "Share with other people by entering a user or group or a federated cloud ID." : "Del med andre ved å skrive inn en bruker, en gruppe eller en sammenknyttet sky-ID", + "Share with other people by entering a user or group or an email address." : "Del med andre ved å skrive inn en bruker, en gruppe, eller en e-postadresse.", "The server encountered an internal error and was unable to complete your request." : "Tjeneren støtte på en intern feil og kunne ikke fullføre forespørselen din.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Kontakt tjeneradministratoren hvis denne feilen oppstår flere ganger. Ta med de tekniske detaljene nedenfor i rapporten din.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "For informasjon om hvordan du skal konfigurere tjeneren skikkelig, se i <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">dokumentasjonen</a>.", diff --git a/core/l10n/nl.js b/core/l10n/nl.js index 3e2330af92d..48b2ceddb1a 100644 --- a/core/l10n/nl.js +++ b/core/l10n/nl.js @@ -181,9 +181,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Delen", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deel met anderen door het invullen van een gebruiker, groep, gefedereerd cloud ID of een emailadres.", - "Share with other people by entering a user or group or a federated cloud ID." : "Deel met anderen door middel van gebruikers, groep of een gefedereerd cloud ID.", - "Share with other people by entering a user or group or an email address." : "Deel met anderen door het invullen van een gebruiker, groep of een emailadres.", "Name or email address..." : "Naam of emailadres...", "Name or federated cloud ID..." : "Naam of gefedereerd Cloud ID:", "Name, federated cloud ID or email address..." : "Naam, gefedereerde Cloud ID of een e-mailadres", @@ -333,6 +330,9 @@ OC.L10N.register( "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>." : "De \"Strict-Transport-Security\" HTTP header is niet ingesteld op minimaal \"{seconds}\" seconde. Voor een veiliger systeem raden we je aan om HSTS aan te zetten, zoals beschreven in onze <a href=\"{docUrl}\" rel=\"noreferrer\">beveiligingstips</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>." : "Je bezoekt deze site via een HTTP-verbinding. We raden je ten sterkste aan om je server beveiligde verbindingen (HTTPS) te verseisen, zoals beschreven in onze <a href=\"{docUrl}\">beveiligingstips</a>.", "Shared with {recipients}" : "Delen met {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deel met anderen door het invullen van een gebruiker, groep, gefedereerd cloud ID of een emailadres.", + "Share with other people by entering a user or group or a federated cloud ID." : "Deel met anderen door middel van gebruikers, groep of een gefedereerd cloud ID.", + "Share with other people by entering a user or group or an email address." : "Deel met anderen door het invullen van een gebruiker, groep of een emailadres.", "The server encountered an internal error and was unable to complete your request." : "Er is een interne fout opgetreden op de server en kon daarom je verzoek niet verwerken.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Neem alstublieft contact op met de serverbeheerder als deze foutmelding meerdere keren terugkomt, en neem onderstaande technische details hierin op. ", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Voor meer informatie over het correct instellen van je server, verwijzen we je graag naar onze <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentatie</a>.", diff --git a/core/l10n/nl.json b/core/l10n/nl.json index c0ed0329898..dee7475b078 100644 --- a/core/l10n/nl.json +++ b/core/l10n/nl.json @@ -179,9 +179,6 @@ "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Delen", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deel met anderen door het invullen van een gebruiker, groep, gefedereerd cloud ID of een emailadres.", - "Share with other people by entering a user or group or a federated cloud ID." : "Deel met anderen door middel van gebruikers, groep of een gefedereerd cloud ID.", - "Share with other people by entering a user or group or an email address." : "Deel met anderen door het invullen van een gebruiker, groep of een emailadres.", "Name or email address..." : "Naam of emailadres...", "Name or federated cloud ID..." : "Naam of gefedereerd Cloud ID:", "Name, federated cloud ID or email address..." : "Naam, gefedereerde Cloud ID of een e-mailadres", @@ -331,6 +328,9 @@ "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>." : "De \"Strict-Transport-Security\" HTTP header is niet ingesteld op minimaal \"{seconds}\" seconde. Voor een veiliger systeem raden we je aan om HSTS aan te zetten, zoals beschreven in onze <a href=\"{docUrl}\" rel=\"noreferrer\">beveiligingstips</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>." : "Je bezoekt deze site via een HTTP-verbinding. We raden je ten sterkste aan om je server beveiligde verbindingen (HTTPS) te verseisen, zoals beschreven in onze <a href=\"{docUrl}\">beveiligingstips</a>.", "Shared with {recipients}" : "Delen met {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Deel met anderen door het invullen van een gebruiker, groep, gefedereerd cloud ID of een emailadres.", + "Share with other people by entering a user or group or a federated cloud ID." : "Deel met anderen door middel van gebruikers, groep of een gefedereerd cloud ID.", + "Share with other people by entering a user or group or an email address." : "Deel met anderen door het invullen van een gebruiker, groep of een emailadres.", "The server encountered an internal error and was unable to complete your request." : "Er is een interne fout opgetreden op de server en kon daarom je verzoek niet verwerken.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Neem alstublieft contact op met de serverbeheerder als deze foutmelding meerdere keren terugkomt, en neem onderstaande technische details hierin op. ", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Voor meer informatie over het correct instellen van je server, verwijzen we je graag naar onze <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentatie</a>.", diff --git a/core/l10n/pl.js b/core/l10n/pl.js index 13ebb567034..ae040b6915e 100644 --- a/core/l10n/pl.js +++ b/core/l10n/pl.js @@ -180,9 +180,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (e-mail)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Udostępnij", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy, ID chmury stowarzyszonej lub adres e-mail.", - "Share with other people by entering a user or group or a federated cloud ID." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub ID chmury stowarzyszonej.", - "Share with other people by entering a user or group or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub adresu e-mail.", "Name or email address..." : "Nazwa lub adres e-mail...", "Name or federated cloud ID..." : "Nazwa lub ID chmury stowarzyszonej...", "Name, federated cloud ID or email address..." : "Nazwa, ID chmury stowarzyszonej lub adres e-mail...", @@ -315,6 +312,9 @@ OC.L10N.register( "There was an error loading your contacts" : "Wystąpił błąd podczas wczytywania twoich kontaktów", "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." : "Posiadasz aktualnie PHP w wersji {version}. Aby skorzystać z <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">aktualizacji dotyczących wydajności i bezpieczeństwa otrzymanych z PHP Group</a> zachęcamy do podniesienia wersji PHP, kiedy tylko twoja dystrybucja będzie je wspierała.", "Shared with {recipients}" : "Współdzielony z {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy, ID chmury stowarzyszonej lub adres e-mail.", + "Share with other people by entering a user or group or a federated cloud ID." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub ID chmury stowarzyszonej.", + "Share with other people by entering a user or group or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub adresu e-mail.", "This action requires you to confirm your password:" : "Ta akcja wymaga potwierdzenia Twojego hasła:", "Wrong password. Reset it?" : "Niepoprawne hasło? Zresetować je?", "Alternative Logins" : "Alternatywne loginy", diff --git a/core/l10n/pl.json b/core/l10n/pl.json index cd2379ce235..473b502fb40 100644 --- a/core/l10n/pl.json +++ b/core/l10n/pl.json @@ -178,9 +178,6 @@ "{sharee} (email)" : "{sharee} (e-mail)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Udostępnij", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy, ID chmury stowarzyszonej lub adres e-mail.", - "Share with other people by entering a user or group or a federated cloud ID." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub ID chmury stowarzyszonej.", - "Share with other people by entering a user or group or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub adresu e-mail.", "Name or email address..." : "Nazwa lub adres e-mail...", "Name or federated cloud ID..." : "Nazwa lub ID chmury stowarzyszonej...", "Name, federated cloud ID or email address..." : "Nazwa, ID chmury stowarzyszonej lub adres e-mail...", @@ -313,6 +310,9 @@ "There was an error loading your contacts" : "Wystąpił błąd podczas wczytywania twoich kontaktów", "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." : "Posiadasz aktualnie PHP w wersji {version}. Aby skorzystać z <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">aktualizacji dotyczących wydajności i bezpieczeństwa otrzymanych z PHP Group</a> zachęcamy do podniesienia wersji PHP, kiedy tylko twoja dystrybucja będzie je wspierała.", "Shared with {recipients}" : "Współdzielony z {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy, ID chmury stowarzyszonej lub adres e-mail.", + "Share with other people by entering a user or group or a federated cloud ID." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub ID chmury stowarzyszonej.", + "Share with other people by entering a user or group or an email address." : "Współdziel z innymi osobami przez wpisanie użytkownika lub grupy lub adresu e-mail.", "This action requires you to confirm your password:" : "Ta akcja wymaga potwierdzenia Twojego hasła:", "Wrong password. Reset it?" : "Niepoprawne hasło? Zresetować je?", "Alternative Logins" : "Alternatywne loginy", diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index 48138c3f9b0..2a19ba92116 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Esta lista pode estar truncada - por favor refina seus termos de pesquisa para ver mais resultados", "No users or groups found for {search}" : "Nenhum usuário ou grupo encontrado para {search}", "No users found for {search}" : "Nenhum usuário encontrado para {search}", + "An error occurred (\"{message}\"). Please try again" : "Ocorreu um erro (\"{message}\"). Tente novamente", "An error occurred. Please try again" : "Ocorreu um erro. Por favor tente novamente", "{sharee} (group)" : "{sharee} (grupo)", "{sharee} (remote)" : "{sharee} (remoto)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartilhar", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo, ID de cloud federada ou um e-mail.", - "Share with other people by entering a user or group or a federated cloud ID." : "Compartilhe com outras pessoas entrando um usuário, grupo ou ID de nuvem federada.", - "Share with other people by entering a user or group or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo ou um e-mail.", "Name or email address..." : "Nome ou endereço de e-mail...", "Name or federated cloud ID..." : "Nome ou ID de cloud federada...", "Name, federated cloud ID or email address..." : "Nome, ID de cloud federada ou e-mail...", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está configurado para ao menos \"{seconds}\" segundos. Para uma segurança aprimorada, recomendamos habilitar HSTS como descrito em nossas <a href=\"{docUrl}\" rel=\"noreferrer\">dicas de segurança</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>." : "Você está acessando este site via HTTP. Recomendamos que configure seu servidor para exigir o uso de HTTPS, conforme descrito em nossas <a href=\"{docUrl}\">dicas de segurança</a>.", "Shared with {recipients}" : "Compartilhado com {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo, ID de cloud federada ou um e-mail.", + "Share with other people by entering a user or group or a federated cloud ID." : "Compartilhe com outras pessoas entrando um usuário, grupo ou ID de nuvem federada.", + "Share with other people by entering a user or group or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo ou um e-mail.", "The server encountered an internal error and was unable to complete your request." : "O servidor encontrou um erro interno e não pode completar sua solicitação.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Entre em contato com o administrador se este erro aparecer várias vezes. Inclua os detalhes técnicos abaixo no seu relatório.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Para obter informações sobre como configurar corretamente o servidor, consulte a <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentação</a>.", diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index b7c2d48eeda..ba3b9e0d070 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Esta lista pode estar truncada - por favor refina seus termos de pesquisa para ver mais resultados", "No users or groups found for {search}" : "Nenhum usuário ou grupo encontrado para {search}", "No users found for {search}" : "Nenhum usuário encontrado para {search}", + "An error occurred (\"{message}\"). Please try again" : "Ocorreu um erro (\"{message}\"). Tente novamente", "An error occurred. Please try again" : "Ocorreu um erro. Por favor tente novamente", "{sharee} (group)" : "{sharee} (grupo)", "{sharee} (remote)" : "{sharee} (remoto)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Compartilhar", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo, ID de cloud federada ou um e-mail.", - "Share with other people by entering a user or group or a federated cloud ID." : "Compartilhe com outras pessoas entrando um usuário, grupo ou ID de nuvem federada.", - "Share with other people by entering a user or group or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo ou um e-mail.", "Name or email address..." : "Nome ou endereço de e-mail...", "Name or federated cloud ID..." : "Nome ou ID de cloud federada...", "Name, federated cloud ID or email address..." : "Nome, ID de cloud federada ou e-mail...", @@ -331,6 +329,9 @@ "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>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está configurado para ao menos \"{seconds}\" segundos. Para uma segurança aprimorada, recomendamos habilitar HSTS como descrito em nossas <a href=\"{docUrl}\" rel=\"noreferrer\">dicas de segurança</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>." : "Você está acessando este site via HTTP. Recomendamos que configure seu servidor para exigir o uso de HTTPS, conforme descrito em nossas <a href=\"{docUrl}\">dicas de segurança</a>.", "Shared with {recipients}" : "Compartilhado com {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo, ID de cloud federada ou um e-mail.", + "Share with other people by entering a user or group or a federated cloud ID." : "Compartilhe com outras pessoas entrando um usuário, grupo ou ID de nuvem federada.", + "Share with other people by entering a user or group or an email address." : "Compartilhe com outras pessoas entrando um usuário, grupo ou um e-mail.", "The server encountered an internal error and was unable to complete your request." : "O servidor encontrou um erro interno e não pode completar sua solicitação.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Entre em contato com o administrador se este erro aparecer várias vezes. Inclua os detalhes técnicos abaixo no seu relatório.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Para obter informações sobre como configurar corretamente o servidor, consulte a <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentação</a>.", diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js index 8e807924526..86467342255 100644 --- a/core/l10n/pt_PT.js +++ b/core/l10n/pt_PT.js @@ -181,9 +181,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Partilhar", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um identificador de federação ou um endereço de e-mail.", - "Share with other people by entering a user or group or a federated cloud ID." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um ID de cloud federada ou um endereço de e-mail.", - "Share with other people by entering a user or group or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo ou um endereço de e-mail.", "Name or email address..." : "Nome ou endereço de email...", "Name or federated cloud ID..." : "Nome ou ID de cloud federada", "Name, federated cloud ID or email address..." : "Nome, ID de cloud federada ou endereço de e-mail", @@ -332,6 +329,9 @@ OC.L10N.register( "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>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{segundos}\" segundos. Para melhorar a segurança recomendamos que active o HSTS como descrito em <a href=\"{docUrl}\" rel=\"noreferrer\">dicas de segurança</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>." : "Está a aceder a este site via HTTP. Recomendamos vivamente que configure o seu servidor para requerer a utilização de HTTPS como descrito nas nossas <a href=\"{docUrl}\">dicas de segurança</a>.", "Shared with {recipients}" : "Partilhado com receptores", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um identificador de federação ou um endereço de e-mail.", + "Share with other people by entering a user or group or a federated cloud ID." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um ID de cloud federada ou um endereço de e-mail.", + "Share with other people by entering a user or group or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo ou um endereço de e-mail.", "The server encountered an internal error and was unable to complete your request." : "Ocorreu um erro interno no servidor e não foi possível completar o pedido", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor contacte o administrador do servidor se o erro se repetir múltiplas vezes, incluindo os detalhes técnicos abaixo mencionados no seu relatório", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Para obter informação sobre como configurar correctamente o seu servidor, por favor veja a <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentação</a>.", diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json index 20794be8934..744ebddbba0 100644 --- a/core/l10n/pt_PT.json +++ b/core/l10n/pt_PT.json @@ -179,9 +179,6 @@ "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Partilhar", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um identificador de federação ou um endereço de e-mail.", - "Share with other people by entering a user or group or a federated cloud ID." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um ID de cloud federada ou um endereço de e-mail.", - "Share with other people by entering a user or group or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo ou um endereço de e-mail.", "Name or email address..." : "Nome ou endereço de email...", "Name or federated cloud ID..." : "Nome ou ID de cloud federada", "Name, federated cloud ID or email address..." : "Nome, ID de cloud federada ou endereço de e-mail", @@ -330,6 +327,9 @@ "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>." : "O cabeçalho HTTP \"Strict-Transport-Security\" não está definido para pelo menos \"{segundos}\" segundos. Para melhorar a segurança recomendamos que active o HSTS como descrito em <a href=\"{docUrl}\" rel=\"noreferrer\">dicas de segurança</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>." : "Está a aceder a este site via HTTP. Recomendamos vivamente que configure o seu servidor para requerer a utilização de HTTPS como descrito nas nossas <a href=\"{docUrl}\">dicas de segurança</a>.", "Shared with {recipients}" : "Partilhado com receptores", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um identificador de federação ou um endereço de e-mail.", + "Share with other people by entering a user or group or a federated cloud ID." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo, um ID de cloud federada ou um endereço de e-mail.", + "Share with other people by entering a user or group or an email address." : "Partilhar com terceiros introduzindo um nome de utilizador ou grupo ou um endereço de e-mail.", "The server encountered an internal error and was unable to complete your request." : "Ocorreu um erro interno no servidor e não foi possível completar o pedido", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Por favor contacte o administrador do servidor se o erro se repetir múltiplas vezes, incluindo os detalhes técnicos abaixo mencionados no seu relatório", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Para obter informação sobre como configurar correctamente o seu servidor, por favor veja a <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentação</a>.", diff --git a/core/l10n/ro.js b/core/l10n/ro.js index fd91ebbfb31..c2c4a6c6f0d 100644 --- a/core/l10n/ro.js +++ b/core/l10n/ro.js @@ -159,9 +159,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Partajează", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup, a unui ID de cloud federalizat sau a unei adrese de email.", - "Share with other people by entering a user or group or a federated cloud ID." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unui ID de cloud federalizat.", - "Share with other people by entering a user or group or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unei adrese de email.", "Name or email address..." : "Nume sau adresă de email...", "Name or federated cloud ID..." : "Nume sau ID de cloud federalizat...", "Name, federated cloud ID or email address..." : "Nume, ID de cloud federalizat sau adresă de email...", @@ -285,6 +282,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Această pagină se va reîmprospăta atunci când %s instance e disponibil din nou.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contactează-ți administratorul de sistem dacă acest mesaj persistă sau a apărut neașteptat.", "Thank you for your patience." : "Îți mulțumim pentru răbdare.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup, a unui ID de cloud federalizat sau a unei adrese de email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unui ID de cloud federalizat.", + "Share with other people by entering a user or group or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unei adrese de email.", "Alternative Logins" : "Conectări alternative" }, "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/core/l10n/ro.json b/core/l10n/ro.json index c0ab29fd535..3e5bb2c5ab9 100644 --- a/core/l10n/ro.json +++ b/core/l10n/ro.json @@ -157,9 +157,6 @@ "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Partajează", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup, a unui ID de cloud federalizat sau a unei adrese de email.", - "Share with other people by entering a user or group or a federated cloud ID." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unui ID de cloud federalizat.", - "Share with other people by entering a user or group or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unei adrese de email.", "Name or email address..." : "Nume sau adresă de email...", "Name or federated cloud ID..." : "Nume sau ID de cloud federalizat...", "Name, federated cloud ID or email address..." : "Nume, ID de cloud federalizat sau adresă de email...", @@ -283,6 +280,9 @@ "This page will refresh itself when the %s instance is available again." : "Această pagină se va reîmprospăta atunci când %s instance e disponibil din nou.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Contactează-ți administratorul de sistem dacă acest mesaj persistă sau a apărut neașteptat.", "Thank you for your patience." : "Îți mulțumim pentru răbdare.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup, a unui ID de cloud federalizat sau a unei adrese de email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unui ID de cloud federalizat.", + "Share with other people by entering a user or group or an email address." : "Partajează cu alte persoane prin introducerea unui utilizator sau grup sau a unei adrese de email.", "Alternative Logins" : "Conectări alternative" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" }
\ No newline at end of file diff --git a/core/l10n/ru.js b/core/l10n/ru.js index 64928abe6c4..c407ae3fae9 100644 --- a/core/l10n/ru.js +++ b/core/l10n/ru.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Этот список может быть показан не полностью - уточните запрос что бы просмотреть больше результатов.", "No users or groups found for {search}" : "Не найдено пользователей или групп по запросу {search}", "No users found for {search}" : "Не найдено пользователей по запросу {search}", + "An error occurred (\"{message}\"). Please try again" : "Произошла ошибка («{message}»). Попробуйте ещё раз", "An error occurred. Please try again" : "Произошла ошибка. Попробуйте ещё раз", "{sharee} (group)" : "{sharee} (группа)", "{sharee} (remote)" : "{sharee} (на другом сервере)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Поделиться", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Поделиться, указав имя пользователя или группы, либо ID федеративного облачного хранилища или адрес email.", - "Share with other people by entering a user or group or a federated cloud ID." : "Поделиться, указав имя пользователя или группы, либо ID федеративного облачного хранилища.", - "Share with other people by entering a user or group or an email address." : "Поделиться, указав имя пользователя или группы, либо адрес email.", "Name or email address..." : "Имя или адрес email…", "Name or federated cloud ID..." : "Имя или ID федеративного облачного хранилища…", "Name, federated cloud ID or email address..." : "Имя, ID федеративного облачного хранилища или адрес email…", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "Значение HTTP-заголовка «Strict-Transport-Security» должно быть настроено минимум на «{seconds}» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим <a href=\"{docUrl}\">советам по безопасности</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>." : "Используется небезопасное соподчинение по протоколу HTTP. Настоятельно рекомендуется настроить сервер на использование HTTPS согласно нашим <a href=\"{docUrl}\">советам по безопасности</a>.", "Shared with {recipients}" : "Вы поделились с {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Поделиться, указав имя пользователя или группы, либо ID федеративного облачного хранилища или адрес email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Поделиться, указав имя пользователя или группы, либо ID федеративного облачного хранилища.", + "Share with other people by entering a user or group or an email address." : "Поделиться, указав имя пользователя или группы, либо адрес email.", "The server encountered an internal error and was unable to complete your request." : "Запрос не выполнен, на сервере произошла ошибка.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Пожалуйста, свяжитесь с администратором сервера если эта ошибка будет повторяться. Прикрепите указанную ниже техническую информацию к своему сообщению.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Информацию о правильной настройке сервера можно найти в <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">документации</a>.", diff --git a/core/l10n/ru.json b/core/l10n/ru.json index 1c21ac6e80b..5451ae73ef6 100644 --- a/core/l10n/ru.json +++ b/core/l10n/ru.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Этот список может быть показан не полностью - уточните запрос что бы просмотреть больше результатов.", "No users or groups found for {search}" : "Не найдено пользователей или групп по запросу {search}", "No users found for {search}" : "Не найдено пользователей по запросу {search}", + "An error occurred (\"{message}\"). Please try again" : "Произошла ошибка («{message}»). Попробуйте ещё раз", "An error occurred. Please try again" : "Произошла ошибка. Попробуйте ещё раз", "{sharee} (group)" : "{sharee} (группа)", "{sharee} (remote)" : "{sharee} (на другом сервере)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Поделиться", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Поделиться, указав имя пользователя или группы, либо ID федеративного облачного хранилища или адрес email.", - "Share with other people by entering a user or group or a federated cloud ID." : "Поделиться, указав имя пользователя или группы, либо ID федеративного облачного хранилища.", - "Share with other people by entering a user or group or an email address." : "Поделиться, указав имя пользователя или группы, либо адрес email.", "Name or email address..." : "Имя или адрес email…", "Name or federated cloud ID..." : "Имя или ID федеративного облачного хранилища…", "Name, federated cloud ID or email address..." : "Имя, ID федеративного облачного хранилища или адрес email…", @@ -331,6 +329,9 @@ "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>." : "Значение HTTP-заголовка «Strict-Transport-Security» должно быть настроено минимум на «{seconds}» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим <a href=\"{docUrl}\">советам по безопасности</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>." : "Используется небезопасное соподчинение по протоколу HTTP. Настоятельно рекомендуется настроить сервер на использование HTTPS согласно нашим <a href=\"{docUrl}\">советам по безопасности</a>.", "Shared with {recipients}" : "Вы поделились с {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Поделиться, указав имя пользователя или группы, либо ID федеративного облачного хранилища или адрес email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Поделиться, указав имя пользователя или группы, либо ID федеративного облачного хранилища.", + "Share with other people by entering a user or group or an email address." : "Поделиться, указав имя пользователя или группы, либо адрес email.", "The server encountered an internal error and was unable to complete your request." : "Запрос не выполнен, на сервере произошла ошибка.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Пожалуйста, свяжитесь с администратором сервера если эта ошибка будет повторяться. Прикрепите указанную ниже техническую информацию к своему сообщению.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Информацию о правильной настройке сервера можно найти в <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">документации</a>.", diff --git a/core/l10n/sk.js b/core/l10n/sk.js index 9749fd3b209..f7454f10950 100644 --- a/core/l10n/sk.js +++ b/core/l10n/sk.js @@ -56,6 +56,7 @@ OC.L10N.register( "Search contacts …" : "Prehľadať kontakty...", "No contacts found" : "Kontakty nenájdené", "Show all contacts …" : "Zobraziť všetky kontakty...", + "Could not load your contacts" : "Nie je možné načítať Vaše kontakty", "Loading your contacts …" : "Otvárajú sa kontakty...", "Looking for {term} …" : "Hľadá sa výraz {term}...", "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Pri kontrole integrity kódu sa vyskytli chyby. Viac informácií…</a>", @@ -108,6 +109,8 @@ OC.L10N.register( "So-so password" : "Priemerné heslo", "Good password" : "Dobré heslo", "Strong password" : "Silné heslo", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Váš webový server nie je zatiaľ správne nastavený, aby umožnil synchronizáciu súborov, pretože rozhranie WebDAV sa zdá byť nefunkčné.", + "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Vśš webový server nie je správne nastavený na spracovanie \"{url}\". Viac informácií môžete nájsť v našej <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentácii</a>.", "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached je nakonfigurovaný ako distribuovaná vyrovnávacia pamäť, ale v PHP je nainštalovaný nesprávny modul - \"memcache\". \\OC\\Memcache\\Memcached podporuje len modul \"memcached\", \"memcache\" nie je podporovaný. Viac informácií nájdete na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki stránke o oboch moduloch</a>.", "Error occurred while checking server setup" : "Počas kontroly nastavenia serveru sa stala chyba", "Shared" : "Sprístupnené", @@ -157,15 +160,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Tento zoznam môže byť skrátený - upresnite hľadaný výraz, aby ste získali viac výsledkov.", "No users or groups found for {search}" : "Výrazu {search} nezodpovedá žiadny používateľ ani skupina", "No users found for {search}" : "Výrazu {search} nezodpovedá žiadny používateľ", + "An error occurred (\"{message}\"). Please try again" : "Nastala chyba (\"{message}\"). Prosím, skúste znova", "An error occurred. Please try again" : "Nastala chyba. Skúste to prosím znovu", "{sharee} (group)" : "{sharee} (skupina)", "{sharee} (remote)" : "{sharee} (vzdialene)", "{sharee} (email)" : "{sharee} (pošta)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Sprístupniť", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID alebo e-mailovej adresy.", - "Share with other people by entering a user or group or a federated cloud ID." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID.", - "Share with other people by entering a user or group or an email address." : "Sprístupniť iným ľuďom zadaním používateľa, skupiny alebo e-mailovej adresy.", "Name or email address..." : "Meno alebo e-mailová adresa...", "Name or federated cloud ID..." : "Meno alebo federatívny cloud ID...", "Name, federated cloud ID or email address..." : "Meno, federatívny cloud ID alebo e-mailová adresa...", @@ -258,8 +259,10 @@ OC.L10N.register( "Username or email" : "používateľské meno alebo e-mail", "Log in" : "Prihlásiť sa", "Wrong password." : "Nesprávne heslo.", + "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Zaznamenali sme viacnásobné chybné prihlásenie z Vašej IP adresy. Vaše nasledujúce prihlásenie bude pozdržané o 30 sekúnd.", "Stay logged in" : "Zostať prihlásený", "Forgot password?" : "Zabudli ste heslo?", + "Back to login" : "Späť na prihlásenie", "Account access" : "Prístup k účtu", "You are about to grant %s access to your %s account." : "Chystáte sa udeliť %s prístup k svojmu %s účtu.", "Grant access" : "Povoliť prístup", @@ -295,6 +298,15 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Táto stránka sa obnoví sama hneď ako bude %s inštancia znovu dostupná.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktujte prosím správcu systému, ak sa táto správa objavuje opakovane alebo neočakávane.", "Thank you for your patience." : "Ďakujeme za Vašu trpezlivosť.", + "There was an error loading your contacts" : "Pri otváraní kontaktov došlo k chybe", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Váš webový server nie je zatiaľ správne nastavený, aby umožnil synchronizáciu súborov, pretože rozhranie WebDAV sa zdá byť nefunkčné.", + "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>." : "Váš web server nie je správne nastavený, aby správne rozpoznával \"{url}\". Viac informácií nájdete v našej <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentácii</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." : "Server nemá funkčné pripojenie k internetu. Niektoré moduly ako napr. externé úložisko, oznámenie o dostupných aktualizáciách alebo inštalácia aplikácií tretích strán nebudú fungovať. Vzdialený prístup k súborom a odosielanie oznamovacích emailov tiež nemusí fungovať. Ak chcete využívať všetky funkcie, odporúčame povoliť tomuto serveru pripojenie k internetu.", + "/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 nie je prístupný na čítanie procesom PHP, čo z bezpečnostných dôvodov nie je odporúčané. Viac informácií nájdete v našej <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentácii</a>.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID alebo e-mailovej adresy.", + "Share with other people by entering a user or group or a federated cloud ID." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID.", + "Share with other people by entering a user or group or an email address." : "Sprístupniť iným ľuďom zadaním používateľa, skupiny alebo e-mailovej adresy.", + "Wrong password. Reset it?" : "Chybné heslo. Chcete ho obnoviť?", "Alternative Logins" : "Alternatívne prihlásenie" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/core/l10n/sk.json b/core/l10n/sk.json index 48c7763b95c..647f563d1a1 100644 --- a/core/l10n/sk.json +++ b/core/l10n/sk.json @@ -54,6 +54,7 @@ "Search contacts …" : "Prehľadať kontakty...", "No contacts found" : "Kontakty nenájdené", "Show all contacts …" : "Zobraziť všetky kontakty...", + "Could not load your contacts" : "Nie je možné načítať Vaše kontakty", "Loading your contacts …" : "Otvárajú sa kontakty...", "Looking for {term} …" : "Hľadá sa výraz {term}...", "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Pri kontrole integrity kódu sa vyskytli chyby. Viac informácií…</a>", @@ -106,6 +107,8 @@ "So-so password" : "Priemerné heslo", "Good password" : "Dobré heslo", "Strong password" : "Silné heslo", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Váš webový server nie je zatiaľ správne nastavený, aby umožnil synchronizáciu súborov, pretože rozhranie WebDAV sa zdá byť nefunkčné.", + "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "Vśš webový server nie je správne nastavený na spracovanie \"{url}\". Viac informácií môžete nájsť v našej <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">dokumentácii</a>.", "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Memcached je nakonfigurovaný ako distribuovaná vyrovnávacia pamäť, ale v PHP je nainštalovaný nesprávny modul - \"memcache\". \\OC\\Memcache\\Memcached podporuje len modul \"memcached\", \"memcache\" nie je podporovaný. Viac informácií nájdete na <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki stránke o oboch moduloch</a>.", "Error occurred while checking server setup" : "Počas kontroly nastavenia serveru sa stala chyba", "Shared" : "Sprístupnené", @@ -155,15 +158,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Tento zoznam môže byť skrátený - upresnite hľadaný výraz, aby ste získali viac výsledkov.", "No users or groups found for {search}" : "Výrazu {search} nezodpovedá žiadny používateľ ani skupina", "No users found for {search}" : "Výrazu {search} nezodpovedá žiadny používateľ", + "An error occurred (\"{message}\"). Please try again" : "Nastala chyba (\"{message}\"). Prosím, skúste znova", "An error occurred. Please try again" : "Nastala chyba. Skúste to prosím znovu", "{sharee} (group)" : "{sharee} (skupina)", "{sharee} (remote)" : "{sharee} (vzdialene)", "{sharee} (email)" : "{sharee} (pošta)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Sprístupniť", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID alebo e-mailovej adresy.", - "Share with other people by entering a user or group or a federated cloud ID." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID.", - "Share with other people by entering a user or group or an email address." : "Sprístupniť iným ľuďom zadaním používateľa, skupiny alebo e-mailovej adresy.", "Name or email address..." : "Meno alebo e-mailová adresa...", "Name or federated cloud ID..." : "Meno alebo federatívny cloud ID...", "Name, federated cloud ID or email address..." : "Meno, federatívny cloud ID alebo e-mailová adresa...", @@ -256,8 +257,10 @@ "Username or email" : "používateľské meno alebo e-mail", "Log in" : "Prihlásiť sa", "Wrong password." : "Nesprávne heslo.", + "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "Zaznamenali sme viacnásobné chybné prihlásenie z Vašej IP adresy. Vaše nasledujúce prihlásenie bude pozdržané o 30 sekúnd.", "Stay logged in" : "Zostať prihlásený", "Forgot password?" : "Zabudli ste heslo?", + "Back to login" : "Späť na prihlásenie", "Account access" : "Prístup k účtu", "You are about to grant %s access to your %s account." : "Chystáte sa udeliť %s prístup k svojmu %s účtu.", "Grant access" : "Povoliť prístup", @@ -293,6 +296,15 @@ "This page will refresh itself when the %s instance is available again." : "Táto stránka sa obnoví sama hneď ako bude %s inštancia znovu dostupná.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Kontaktujte prosím správcu systému, ak sa táto správa objavuje opakovane alebo neočakávane.", "Thank you for your patience." : "Ďakujeme za Vašu trpezlivosť.", + "There was an error loading your contacts" : "Pri otváraní kontaktov došlo k chybe", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Váš webový server nie je zatiaľ správne nastavený, aby umožnil synchronizáciu súborov, pretože rozhranie WebDAV sa zdá byť nefunkčné.", + "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>." : "Váš web server nie je správne nastavený, aby správne rozpoznával \"{url}\". Viac informácií nájdete v našej <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentácii</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." : "Server nemá funkčné pripojenie k internetu. Niektoré moduly ako napr. externé úložisko, oznámenie o dostupných aktualizáciách alebo inštalácia aplikácií tretích strán nebudú fungovať. Vzdialený prístup k súborom a odosielanie oznamovacích emailov tiež nemusí fungovať. Ak chcete využívať všetky funkcie, odporúčame povoliť tomuto serveru pripojenie k internetu.", + "/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 nie je prístupný na čítanie procesom PHP, čo z bezpečnostných dôvodov nie je odporúčané. Viac informácií nájdete v našej <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">dokumentácii</a>.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID alebo e-mailovej adresy.", + "Share with other people by entering a user or group or a federated cloud ID." : "Sprístupniť iným ľuďom zadaním používateľa alebo skupiny, federatívneho cloud ID.", + "Share with other people by entering a user or group or an email address." : "Sprístupniť iným ľuďom zadaním používateľa, skupiny alebo e-mailovej adresy.", + "Wrong password. Reset it?" : "Chybné heslo. Chcete ho obnoviť?", "Alternative Logins" : "Alternatívne prihlásenie" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }
\ No newline at end of file diff --git a/core/l10n/sq.js b/core/l10n/sq.js index 71c161c888c..13cbd53d059 100644 --- a/core/l10n/sq.js +++ b/core/l10n/sq.js @@ -156,9 +156,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Ndaje", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Shpërndaje me persona të tjerë duke vendosur një përdorues ose një grup, një ID reje të federuar ose një adresë emaili", - "Share with other people by entering a user or group or a federated cloud ID." : "Ndaj me njerëz të tjerë duke futur një pëdorues ose grup ose një ID reje federale.", - "Share with other people by entering a user or group or an email address." : "Shpërndaje me persona të tjerë duke vendosur një perdorues ose një grup ose një adresë emaili", "Name or email address..." : "Emri ose adresa e email-it", "Name or federated cloud ID..." : "Emri ose ID e resë të fedferuar", "Name, federated cloud ID or email address..." : "Emri, ID e resë të federuar ose adresën e email-it...", @@ -276,6 +273,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Kjo faqe do të rifreskohet vetiu, sapo instanca %s të jetë sërish gati.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Nëse ky mesazh shfaqet vazhdimisht ose u shfaq papritmas, lidhuni me përgjegjësin e sistemit.", "Thank you for your patience." : "Ju faleminderit për durimin.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Shpërndaje me persona të tjerë duke vendosur një përdorues ose një grup, një ID reje të federuar ose një adresë emaili", + "Share with other people by entering a user or group or a federated cloud ID." : "Ndaj me njerëz të tjerë duke futur një pëdorues ose grup ose një ID reje federale.", + "Share with other people by entering a user or group or an email address." : "Shpërndaje me persona të tjerë duke vendosur një perdorues ose një grup ose një adresë emaili", "Alternative Logins" : "Hyrje Alternative" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/sq.json b/core/l10n/sq.json index b3f95bb3bd2..d785c23bab6 100644 --- a/core/l10n/sq.json +++ b/core/l10n/sq.json @@ -154,9 +154,6 @@ "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Ndaje", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Shpërndaje me persona të tjerë duke vendosur një përdorues ose një grup, një ID reje të federuar ose një adresë emaili", - "Share with other people by entering a user or group or a federated cloud ID." : "Ndaj me njerëz të tjerë duke futur një pëdorues ose grup ose një ID reje federale.", - "Share with other people by entering a user or group or an email address." : "Shpërndaje me persona të tjerë duke vendosur një perdorues ose një grup ose një adresë emaili", "Name or email address..." : "Emri ose adresa e email-it", "Name or federated cloud ID..." : "Emri ose ID e resë të fedferuar", "Name, federated cloud ID or email address..." : "Emri, ID e resë të federuar ose adresën e email-it...", @@ -274,6 +271,9 @@ "This page will refresh itself when the %s instance is available again." : "Kjo faqe do të rifreskohet vetiu, sapo instanca %s të jetë sërish gati.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Nëse ky mesazh shfaqet vazhdimisht ose u shfaq papritmas, lidhuni me përgjegjësin e sistemit.", "Thank you for your patience." : "Ju faleminderit për durimin.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Shpërndaje me persona të tjerë duke vendosur një përdorues ose një grup, një ID reje të federuar ose një adresë emaili", + "Share with other people by entering a user or group or a federated cloud ID." : "Ndaj me njerëz të tjerë duke futur një pëdorues ose grup ose një ID reje federale.", + "Share with other people by entering a user or group or an email address." : "Shpërndaje me persona të tjerë duke vendosur një perdorues ose një grup ose një adresë emaili", "Alternative Logins" : "Hyrje Alternative" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/core/l10n/sr.js b/core/l10n/sr.js index fb2eb299e6e..b37b7d5f9d6 100644 --- a/core/l10n/sr.js +++ b/core/l10n/sr.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Ова листа је можда скраћена - претражите опет користећи мало специфичније изразе да бисте добили још резултата.", "No users or groups found for {search}" : "Није нађен ниједан корисник ни група за претрагу {search}", "No users found for {search}" : "Није нађен ниједан корисник за претрагу {search}", + "An error occurred (\"{message}\"). Please try again" : "Десила се грешка (\"{message}\"). Покушајте поново.", "An error occurred. Please try again" : "Дошло је до грешке. Покушајте поново", "{sharee} (group)" : "{sharee} (група)", "{sharee} (remote)" : "{sharee} (удаљено)", "{sharee} (email)" : "{sharee} (е-пошта)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Дели", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Делите са другим људима тако што унесете корисника, групу, ID здруженог облака или адресу е-поште. ", - "Share with other people by entering a user or group or a federated cloud ID." : "Делите са другим људима тако што унесете корисника, групу или ID здруженог облака.", - "Share with other people by entering a user or group or an email address." : "Делите са другим људима тако што унесете корисника или групу.", "Name or email address..." : "Име или адреса е-поште...", "Name or federated cloud ID..." : "Име или ID здруженог облака...", "Name, federated cloud ID or email address..." : "Име, ID здруженог облака или адреса е-поште...", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "\"Strict-Transport-Security\" HTTP заглавље није подешено да буде бар \"{seconds}\" секунди. За додатну сигурност, предлажемо да омогућите HSTS као што је описано у нашим <a href=\"{docUrl}\" rel=\"noreferrer\">сигурносним саветима</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>." : "Приступате овом сајту преко HTTP-а. Препоручујемо да подесите Ваш сервер да захтева HTTPS као што је описано у нашим <a href=\"{docUrl}\">безбедоносним саветима</a>.", "Shared with {recipients}" : "Дељено са {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Делите са другим људима тако што унесете корисника, групу, ID здруженог облака или адресу е-поште. ", + "Share with other people by entering a user or group or a federated cloud ID." : "Делите са другим људима тако што унесете корисника, групу или ID здруженог облака.", + "Share with other people by entering a user or group or an email address." : "Делите са другим људима тако што унесете корисника или групу.", "The server encountered an internal error and was unable to complete your request." : "Због интерне грешке на серверу, ваш захтев није могао бити довршен.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Контактирајте администратора ако се грешка понови више пута и укључите у извештај техничке појединости наведене испод.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "За информације како да правилно подесите Ваш сервер, погледајте <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">документацију</a>.", diff --git a/core/l10n/sr.json b/core/l10n/sr.json index 7d29341c5b6..d8135de556e 100644 --- a/core/l10n/sr.json +++ b/core/l10n/sr.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Ова листа је можда скраћена - претражите опет користећи мало специфичније изразе да бисте добили још резултата.", "No users or groups found for {search}" : "Није нађен ниједан корисник ни група за претрагу {search}", "No users found for {search}" : "Није нађен ниједан корисник за претрагу {search}", + "An error occurred (\"{message}\"). Please try again" : "Десила се грешка (\"{message}\"). Покушајте поново.", "An error occurred. Please try again" : "Дошло је до грешке. Покушајте поново", "{sharee} (group)" : "{sharee} (група)", "{sharee} (remote)" : "{sharee} (удаљено)", "{sharee} (email)" : "{sharee} (е-пошта)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Дели", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Делите са другим људима тако што унесете корисника, групу, ID здруженог облака или адресу е-поште. ", - "Share with other people by entering a user or group or a federated cloud ID." : "Делите са другим људима тако што унесете корисника, групу или ID здруженог облака.", - "Share with other people by entering a user or group or an email address." : "Делите са другим људима тако што унесете корисника или групу.", "Name or email address..." : "Име или адреса е-поште...", "Name or federated cloud ID..." : "Име или ID здруженог облака...", "Name, federated cloud ID or email address..." : "Име, ID здруженог облака или адреса е-поште...", @@ -331,6 +329,9 @@ "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>." : "\"Strict-Transport-Security\" HTTP заглавље није подешено да буде бар \"{seconds}\" секунди. За додатну сигурност, предлажемо да омогућите HSTS као што је описано у нашим <a href=\"{docUrl}\" rel=\"noreferrer\">сигурносним саветима</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>." : "Приступате овом сајту преко HTTP-а. Препоручујемо да подесите Ваш сервер да захтева HTTPS као што је описано у нашим <a href=\"{docUrl}\">безбедоносним саветима</a>.", "Shared with {recipients}" : "Дељено са {recipients}", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Делите са другим људима тако што унесете корисника, групу, ID здруженог облака или адресу е-поште. ", + "Share with other people by entering a user or group or a federated cloud ID." : "Делите са другим људима тако што унесете корисника, групу или ID здруженог облака.", + "Share with other people by entering a user or group or an email address." : "Делите са другим људима тако што унесете корисника или групу.", "The server encountered an internal error and was unable to complete your request." : "Због интерне грешке на серверу, ваш захтев није могао бити довршен.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Контактирајте администратора ако се грешка понови више пута и укључите у извештај техничке појединости наведене испод.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "За информације како да правилно подесите Ваш сервер, погледајте <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">документацију</a>.", diff --git a/core/l10n/sv.js b/core/l10n/sv.js index 48dec54ac22..0fbc09ad062 100644 --- a/core/l10n/sv.js +++ b/core/l10n/sv.js @@ -163,9 +163,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (e-post)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Dela", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dela med andra personer genom att ange användarnamn, grupp, ett federerat moln-ID eller en e-postadress.", - "Share with other people by entering a user or group or a federated cloud ID." : "Dela med andra personer genom att ange användarnamn, grupp eller ett federerat moln-ID.", - "Share with other people by entering a user or group or an email address." : "Dela med andra personer genom att ange användarnamn, grupp eller en e-postadress.", "Name or email address..." : "Namn eller e-postadress", "Name or federated cloud ID..." : "Namn eller federerat moln-ID", "Name, federated cloud ID or email address..." : "Namn, federerat moln-ID eller e-postadress...", @@ -295,6 +292,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Denna sida uppdaterar sig själv när %s-instansen är tillgänglig igen.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Hör av dig till din systemadministratör om detta meddelande fortsätter eller visas oväntat.", "Thank you for your patience." : "Tack för ditt tålamod.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dela med andra personer genom att ange användarnamn, grupp, ett federerat moln-ID eller en e-postadress.", + "Share with other people by entering a user or group or a federated cloud ID." : "Dela med andra personer genom att ange användarnamn, grupp eller ett federerat moln-ID.", + "Share with other people by entering a user or group or an email address." : "Dela med andra personer genom att ange användarnamn, grupp eller en e-postadress.", "Alternative Logins" : "Alternativa inloggningar", "Back to log in" : "Tillbaks till inloggning" }, diff --git a/core/l10n/sv.json b/core/l10n/sv.json index 35d6a919e94..a79eaa31e3e 100644 --- a/core/l10n/sv.json +++ b/core/l10n/sv.json @@ -161,9 +161,6 @@ "{sharee} (email)" : "{sharee} (e-post)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Dela", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dela med andra personer genom att ange användarnamn, grupp, ett federerat moln-ID eller en e-postadress.", - "Share with other people by entering a user or group or a federated cloud ID." : "Dela med andra personer genom att ange användarnamn, grupp eller ett federerat moln-ID.", - "Share with other people by entering a user or group or an email address." : "Dela med andra personer genom att ange användarnamn, grupp eller en e-postadress.", "Name or email address..." : "Namn eller e-postadress", "Name or federated cloud ID..." : "Namn eller federerat moln-ID", "Name, federated cloud ID or email address..." : "Namn, federerat moln-ID eller e-postadress...", @@ -293,6 +290,9 @@ "This page will refresh itself when the %s instance is available again." : "Denna sida uppdaterar sig själv när %s-instansen är tillgänglig igen.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Hör av dig till din systemadministratör om detta meddelande fortsätter eller visas oväntat.", "Thank you for your patience." : "Tack för ditt tålamod.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Dela med andra personer genom att ange användarnamn, grupp, ett federerat moln-ID eller en e-postadress.", + "Share with other people by entering a user or group or a federated cloud ID." : "Dela med andra personer genom att ange användarnamn, grupp eller ett federerat moln-ID.", + "Share with other people by entering a user or group or an email address." : "Dela med andra personer genom att ange användarnamn, grupp eller en e-postadress.", "Alternative Logins" : "Alternativa inloggningar", "Back to log in" : "Tillbaks till inloggning" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/tr.js b/core/l10n/tr.js index 5c0db413751..3eeec4894aa 100644 --- a/core/l10n/tr.js +++ b/core/l10n/tr.js @@ -175,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "Bu liste budanmış olabilir. Lütfen daha fazla sonuç görmek için arama ifadenizi daraltın.", "No users or groups found for {search}" : "{search} araması sonucunda uygun bir kullanıcı ya da grup bulunamadı", "No users found for {search}" : "{search} araması sonucunda uygun bir kullanıcı bulunamadı", + "An error occurred (\"{message}\"). Please try again" : "Bir sorun çıktı (\"{message}\"). Lütfen yeniden deneyin.", "An error occurred. Please try again" : "Bir sorun çıktı. Lütfen yeniden deneyin", "{sharee} (group)" : "{sharee} (grup)", "{sharee} (remote)" : "{sharee} (uzak)", "{sharee} (email)" : "{sharee} (e-posta)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Paylaş", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Bir kullanıcı, grup, birleşmiş bulut kodu ya da e-posta adresi yazarak başkaları ile paylaşın.", - "Share with other people by entering a user or group or a federated cloud ID." : "Bir kullanıcı, grup ya da birleşmiş bulut kodu yazarak başkaları ile paylaşın.", - "Share with other people by entering a user or group or an email address." : "Bir kullanıcı, grup ya da e-posta adresi yazarak başkaları ile paylaşın.", "Name or email address..." : "Ad ya da e-posta adresi...", "Name or federated cloud ID..." : "Ad ya da birleşmiş bulut kodu...", "Name, federated cloud ID or email address..." : "Ad, birleşmiş bulut kodu ya da e-posta adresi...", @@ -333,6 +331,9 @@ OC.L10N.register( "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>." : "\"Strict-Transport-Security\" HTTP üst bilgisi en azından\"{seconds}\" saniyedir yapılandırılmamış. Gelişmiş güvenlik sağlamak için <a href=\"{docUrl}\" rel=\"noreferrer\">güvenlik ipuçlarında</a> anlatıldığı şekilde HSTS özelliğinin etkinleştirilmesi önerilir.", "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>." : "Bu siteye HTTP üzerinde erişiyorsunuz. Sunucunuzu <a href=\"{docUrl}\">güvenlik ipuçlarında</a> anlatıldığı şekilde HTTPS kullanımını zorlayacak şekilde yapılandırmanız önemle önerilir.", "Shared with {recipients}" : "{recipients} ile paylaşılmış", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Bir kullanıcı, grup, birleşmiş bulut kodu ya da e-posta adresi yazarak başkaları ile paylaşın.", + "Share with other people by entering a user or group or a federated cloud ID." : "Bir kullanıcı, grup ya da birleşmiş bulut kodu yazarak başkaları ile paylaşın.", + "Share with other people by entering a user or group or an email address." : "Bir kullanıcı, grup ya da e-posta adresi yazarak başkaları ile paylaşın.", "The server encountered an internal error and was unable to complete your request." : "Sunucu içinde bir sorun çıktığından isteğiniz tamamlanamadı.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Bu sorun bir kereden çok ortaya çıktıysa aşağıdaki teknik ayrıntıları da ekleyerek sunucu yöneticisiyle görüşün.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Sunucunuzu nasıl yapılandıracağınız hakkında bilgi almak için <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">belgelere</a> bakabilirsiniz.", diff --git a/core/l10n/tr.json b/core/l10n/tr.json index 5e90d2c22ce..506e648d3ed 100644 --- a/core/l10n/tr.json +++ b/core/l10n/tr.json @@ -173,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "Bu liste budanmış olabilir. Lütfen daha fazla sonuç görmek için arama ifadenizi daraltın.", "No users or groups found for {search}" : "{search} araması sonucunda uygun bir kullanıcı ya da grup bulunamadı", "No users found for {search}" : "{search} araması sonucunda uygun bir kullanıcı bulunamadı", + "An error occurred (\"{message}\"). Please try again" : "Bir sorun çıktı (\"{message}\"). Lütfen yeniden deneyin.", "An error occurred. Please try again" : "Bir sorun çıktı. Lütfen yeniden deneyin", "{sharee} (group)" : "{sharee} (grup)", "{sharee} (remote)" : "{sharee} (uzak)", "{sharee} (email)" : "{sharee} (e-posta)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Paylaş", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Bir kullanıcı, grup, birleşmiş bulut kodu ya da e-posta adresi yazarak başkaları ile paylaşın.", - "Share with other people by entering a user or group or a federated cloud ID." : "Bir kullanıcı, grup ya da birleşmiş bulut kodu yazarak başkaları ile paylaşın.", - "Share with other people by entering a user or group or an email address." : "Bir kullanıcı, grup ya da e-posta adresi yazarak başkaları ile paylaşın.", "Name or email address..." : "Ad ya da e-posta adresi...", "Name or federated cloud ID..." : "Ad ya da birleşmiş bulut kodu...", "Name, federated cloud ID or email address..." : "Ad, birleşmiş bulut kodu ya da e-posta adresi...", @@ -331,6 +329,9 @@ "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>." : "\"Strict-Transport-Security\" HTTP üst bilgisi en azından\"{seconds}\" saniyedir yapılandırılmamış. Gelişmiş güvenlik sağlamak için <a href=\"{docUrl}\" rel=\"noreferrer\">güvenlik ipuçlarında</a> anlatıldığı şekilde HSTS özelliğinin etkinleştirilmesi önerilir.", "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>." : "Bu siteye HTTP üzerinde erişiyorsunuz. Sunucunuzu <a href=\"{docUrl}\">güvenlik ipuçlarında</a> anlatıldığı şekilde HTTPS kullanımını zorlayacak şekilde yapılandırmanız önemle önerilir.", "Shared with {recipients}" : "{recipients} ile paylaşılmış", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Bir kullanıcı, grup, birleşmiş bulut kodu ya da e-posta adresi yazarak başkaları ile paylaşın.", + "Share with other people by entering a user or group or a federated cloud ID." : "Bir kullanıcı, grup ya da birleşmiş bulut kodu yazarak başkaları ile paylaşın.", + "Share with other people by entering a user or group or an email address." : "Bir kullanıcı, grup ya da e-posta adresi yazarak başkaları ile paylaşın.", "The server encountered an internal error and was unable to complete your request." : "Sunucu içinde bir sorun çıktığından isteğiniz tamamlanamadı.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Bu sorun bir kereden çok ortaya çıktıysa aşağıdaki teknik ayrıntıları da ekleyerek sunucu yöneticisiyle görüşün.", "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "Sunucunuzu nasıl yapılandıracağınız hakkında bilgi almak için <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">belgelere</a> bakabilirsiniz.", diff --git a/core/l10n/uk.js b/core/l10n/uk.js index 8732d0a3777..2d7115aaf58 100644 --- a/core/l10n/uk.js +++ b/core/l10n/uk.js @@ -108,6 +108,8 @@ OC.L10N.register( "So-so password" : "Такий собі пароль", "Good password" : "Добрий пароль", "Strong password" : "Надійний пароль", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ваш веб-сервер ще не налаштований для синхронізації файлів тому, що WebDAV інтерфейс можливо поламаний.", + "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Ви використовуєте PHP версії 5.6. Поточна основна версія Nextcloud остання, яка підтримуватиме PHP версію 5.6. Рекомендуємо оновити PHP до версії 7.0+ щоб мати змогу оновитись до Nextcloud 14.", "Error occurred while checking server setup" : "При перевірці налаштувань серверу сталася помилка", "Shared" : "Опубліковано", "Shared with" : "Спільний доступ з", @@ -247,6 +249,7 @@ OC.L10N.register( "New Password" : "Новий пароль", "Two-factor authentication" : "дво-факторна аутентифікація", "Use backup code" : "Використати резервний код", + "Access through untrusted domain" : "Доступ з не довіреного домену", "Add \"%s\" as trusted domain" : "Додати \"%s\" як довірений домен", "App update required" : "Додаток потребує оновлення", "%s will be updated to version %s" : "%s буде оновлено до версії %s", @@ -258,11 +261,13 @@ OC.L10N.register( "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Щоб уникнути затримок у великих встановленнях, ви можете виконати наступну команду в каталозі встановлення:", "Detailed logs" : "Деталізований журнал", "Update needed" : "Оновлення необхідно", + "Upgrade via web on my own risk" : "Оновлення через web на мій власний ризик", "This %s instance is currently in maintenance mode, which may take a while." : "Цей %s знаходиться в режимі технічного обслуговування, яке може зайняти деякий час.", "This page will refresh itself when the %s instance is available again." : "Ця сторінка автоматично перезавантажиться коли екземпляр %s стане знову доступний.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Зверніться до вашого системного адміністратора якщо це повідомлення не зникає або з'являється несподівано.", "Thank you for your patience." : "Дякуємо за ваше терпіння.", "Alternative Logins" : "Альтернативні імена користувача", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Для допомоги, дивіться <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.", "Back to log in" : "Повернутися до сторінки авторизації" }, "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/core/l10n/uk.json b/core/l10n/uk.json index 9d17538f1f6..f33ce86404c 100644 --- a/core/l10n/uk.json +++ b/core/l10n/uk.json @@ -106,6 +106,8 @@ "So-so password" : "Такий собі пароль", "Good password" : "Добрий пароль", "Strong password" : "Надійний пароль", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Ваш веб-сервер ще не налаштований для синхронізації файлів тому, що WebDAV інтерфейс можливо поламаний.", + "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "Ви використовуєте PHP версії 5.6. Поточна основна версія Nextcloud остання, яка підтримуватиме PHP версію 5.6. Рекомендуємо оновити PHP до версії 7.0+ щоб мати змогу оновитись до Nextcloud 14.", "Error occurred while checking server setup" : "При перевірці налаштувань серверу сталася помилка", "Shared" : "Опубліковано", "Shared with" : "Спільний доступ з", @@ -245,6 +247,7 @@ "New Password" : "Новий пароль", "Two-factor authentication" : "дво-факторна аутентифікація", "Use backup code" : "Використати резервний код", + "Access through untrusted domain" : "Доступ з не довіреного домену", "Add \"%s\" as trusted domain" : "Додати \"%s\" як довірений домен", "App update required" : "Додаток потребує оновлення", "%s will be updated to version %s" : "%s буде оновлено до версії %s", @@ -256,11 +259,13 @@ "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Щоб уникнути затримок у великих встановленнях, ви можете виконати наступну команду в каталозі встановлення:", "Detailed logs" : "Деталізований журнал", "Update needed" : "Оновлення необхідно", + "Upgrade via web on my own risk" : "Оновлення через web на мій власний ризик", "This %s instance is currently in maintenance mode, which may take a while." : "Цей %s знаходиться в режимі технічного обслуговування, яке може зайняти деякий час.", "This page will refresh itself when the %s instance is available again." : "Ця сторінка автоматично перезавантажиться коли екземпляр %s стане знову доступний.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Зверніться до вашого системного адміністратора якщо це повідомлення не зникає або з'являється несподівано.", "Thank you for your patience." : "Дякуємо за ваше терпіння.", "Alternative Logins" : "Альтернативні імена користувача", + "For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Для допомоги, дивіться <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>.", "Back to log in" : "Повернутися до сторінки авторизації" },"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/core/l10n/uz.js b/core/l10n/uz.js index 729151ff094..03dc3d42abb 100644 --- a/core/l10n/uz.js +++ b/core/l10n/uz.js @@ -123,7 +123,6 @@ OC.L10N.register( "Error while sharing" : "Almashish paytida xatolik yuz berdi", "Share details could not be loaded for this item." : "Ushbu ma'lumot uchun almashish tafsilotlari yuklanmadi.", "An error occurred. Please try again" : "Xatolik yuz berdi. Iltimos, yana bir bor urinib ko'ring", - "Share with other people by entering a user or group or an email address." : "Biror foydalanuvchi yoki guruh yoki elektron pochta manzilini kiritish orqali boshqa odamlar bilan bo'lishing.", "Name or email address..." : "Ism yoki elektron pochta manzili...", "Name or federated cloud ID..." : "Nom yoki biriktirilgan bulut identifikatori...", "Name, federated cloud ID or email address..." : "Nomi, federation bulut identifikatori yoki elektron pochta manzili...", @@ -203,6 +202,7 @@ OC.L10N.register( "Wrong password." : "Noto'g'ri parol.", "Stay logged in" : "Kirishni unutmang", "Account access" : "Hisobga kirish", + "Share with other people by entering a user or group or an email address." : "Biror foydalanuvchi yoki guruh yoki elektron pochta manzilini kiritish orqali boshqa odamlar bilan bo'lishing.", "Alternative Logins" : "Shu bilan bir qatorda kirishlar", "Back to log in" : "Kirish uchun qaytib boring" }, diff --git a/core/l10n/uz.json b/core/l10n/uz.json index fefb605f89f..910ddb4b8f0 100644 --- a/core/l10n/uz.json +++ b/core/l10n/uz.json @@ -121,7 +121,6 @@ "Error while sharing" : "Almashish paytida xatolik yuz berdi", "Share details could not be loaded for this item." : "Ushbu ma'lumot uchun almashish tafsilotlari yuklanmadi.", "An error occurred. Please try again" : "Xatolik yuz berdi. Iltimos, yana bir bor urinib ko'ring", - "Share with other people by entering a user or group or an email address." : "Biror foydalanuvchi yoki guruh yoki elektron pochta manzilini kiritish orqali boshqa odamlar bilan bo'lishing.", "Name or email address..." : "Ism yoki elektron pochta manzili...", "Name or federated cloud ID..." : "Nom yoki biriktirilgan bulut identifikatori...", "Name, federated cloud ID or email address..." : "Nomi, federation bulut identifikatori yoki elektron pochta manzili...", @@ -201,6 +200,7 @@ "Wrong password." : "Noto'g'ri parol.", "Stay logged in" : "Kirishni unutmang", "Account access" : "Hisobga kirish", + "Share with other people by entering a user or group or an email address." : "Biror foydalanuvchi yoki guruh yoki elektron pochta manzilini kiritish orqali boshqa odamlar bilan bo'lishing.", "Alternative Logins" : "Shu bilan bir qatorda kirishlar", "Back to log in" : "Kirish uchun qaytib boring" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/core/l10n/vi.js b/core/l10n/vi.js index 1325d0617fd..45d9f4a4470 100644 --- a/core/l10n/vi.js +++ b/core/l10n/vi.js @@ -159,9 +159,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (thư điện tử)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Chia sẻ", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết hoặc địa chỉ email.", - "Share with other people by entering a user or group or a federated cloud ID." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết.", - "Share with other people by entering a user or group or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, hoặc địa chỉ email.", "Name or email address..." : "Tên hoặc địa chỉ email.", "Name or federated cloud ID..." : "Tên hoặc ID đám mây liên kết.", "Name, federated cloud ID or email address..." : "Tên người dùng, ID đám mây liên kết hoặc địa chỉ email.", @@ -287,6 +284,9 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "Trang này sẽ tự động được làm tươi khi bản cài đặt %s được sẵn sàng.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Liên hệ với người quản trị nếu lỗi này vẫn tồn tại hoặc xuất hiện bất ngờ.", "Thank you for your patience." : "Cảm ơn sự kiên nhẫn của bạn.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết hoặc địa chỉ email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết.", + "Share with other people by entering a user or group or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, hoặc địa chỉ email.", "Alternative Logins" : "Đăng nhập khác" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/vi.json b/core/l10n/vi.json index 01dcf7823b3..a5d4121f98b 100644 --- a/core/l10n/vi.json +++ b/core/l10n/vi.json @@ -157,9 +157,6 @@ "{sharee} (email)" : "{sharee} (thư điện tử)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "Chia sẻ", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết hoặc địa chỉ email.", - "Share with other people by entering a user or group or a federated cloud ID." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết.", - "Share with other people by entering a user or group or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, hoặc địa chỉ email.", "Name or email address..." : "Tên hoặc địa chỉ email.", "Name or federated cloud ID..." : "Tên hoặc ID đám mây liên kết.", "Name, federated cloud ID or email address..." : "Tên người dùng, ID đám mây liên kết hoặc địa chỉ email.", @@ -285,6 +282,9 @@ "This page will refresh itself when the %s instance is available again." : "Trang này sẽ tự động được làm tươi khi bản cài đặt %s được sẵn sàng.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Liên hệ với người quản trị nếu lỗi này vẫn tồn tại hoặc xuất hiện bất ngờ.", "Thank you for your patience." : "Cảm ơn sự kiên nhẫn của bạn.", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết hoặc địa chỉ email.", + "Share with other people by entering a user or group or a federated cloud ID." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, ID đám mây liên kết.", + "Share with other people by entering a user or group or an email address." : "Chia sẻ với người khác bằng cách nhập tên người dùng hoặc tên nhóm, hoặc địa chỉ email.", "Alternative Logins" : "Đăng nhập khác" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js index a796a2f207d..2af655a1b9b 100644 --- a/core/l10n/zh_CN.js +++ b/core/l10n/zh_CN.js @@ -116,6 +116,7 @@ OC.L10N.register( "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP 无法访问 /dev/urandom,出于安全原因这是强烈不推荐的。更多信息请参见<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。", "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "您当前正在运行 PHP 版本 {version}。我们建议您尽快在您的发行版支持新版本的时候进行升级,以获得<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">来自 PHP 官方的性能和安全</a>的提升。", "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "您目前正在运行PHP 5.6。 Nextcloud的当前主要版本是最后一个支持PHP 5.6的版本。 建议将PHP版本升级到7.0以便能够升级到Nextcloud 14。", + "The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "反向代理头部配置错误,或者您正在通过可信的代理访问 Nextcloud。如果您不是通过可信代理访问 Nextcloud,这是一个安全问题,它允许攻击者通过伪装 IP 地址访问 Nextcloud。更多信息请查看<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。", "Error occurred while checking server setup" : "检查服务器设置时出错", "Shared" : "已共享", "Shared with" : "分享给", @@ -169,9 +170,6 @@ OC.L10N.register( "{sharee} (email)" : "{sharee} (邮件)", "{sharee} ({type}, {owner})" : "{share}({type},{owner})", "Share" : "分享", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "通过输入用户或组,联合云ID或电子邮件地址与其他人分享。", - "Share with other people by entering a user or group or a federated cloud ID." : "通过输入用户或组或联合云ID与其他人共享。", - "Share with other people by entering a user or group or an email address." : "输入用户/组织或邮箱地址来分享给其他人", "Name or email address..." : "姓名或电子邮件地址...", "Name or federated cloud ID..." : "姓名或联合云 ID", "Name, federated cloud ID or email address..." : "姓名, 联合云 ID 或电子邮件地址...", @@ -302,6 +300,9 @@ OC.L10N.register( "Contact your system administrator if this message persists or appeared unexpectedly." : "如果这个消息一直存在或不停出现, 请联系你的系统管理员.", "Thank you for your patience." : "感谢您久等了.", "%s (3rdparty)" : "%s(第三方)", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "通过输入用户或组,联合云ID或电子邮件地址与其他人分享。", + "Share with other people by entering a user or group or a federated cloud ID." : "通过输入用户或组或联合云ID与其他人共享。", + "Share with other people by entering a user or group or an email address." : "输入用户/组织或邮箱地址来分享给其他人", "This action requires you to confirm your password:" : "此操作需要确认您的密码:", "Wrong password. Reset it?" : "密码错误。是否重置?", "Alternative Logins" : "其他登录方式", diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json index ad3b9829f07..151ecde8b8b 100644 --- a/core/l10n/zh_CN.json +++ b/core/l10n/zh_CN.json @@ -114,6 +114,7 @@ "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP 无法访问 /dev/urandom,出于安全原因这是强烈不推荐的。更多信息请参见<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。", "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "您当前正在运行 PHP 版本 {version}。我们建议您尽快在您的发行版支持新版本的时候进行升级,以获得<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">来自 PHP 官方的性能和安全</a>的提升。", "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "您目前正在运行PHP 5.6。 Nextcloud的当前主要版本是最后一个支持PHP 5.6的版本。 建议将PHP版本升级到7.0以便能够升级到Nextcloud 14。", + "The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "反向代理头部配置错误,或者您正在通过可信的代理访问 Nextcloud。如果您不是通过可信代理访问 Nextcloud,这是一个安全问题,它允许攻击者通过伪装 IP 地址访问 Nextcloud。更多信息请查看<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">文档</a>。", "Error occurred while checking server setup" : "检查服务器设置时出错", "Shared" : "已共享", "Shared with" : "分享给", @@ -167,9 +168,6 @@ "{sharee} (email)" : "{sharee} (邮件)", "{sharee} ({type}, {owner})" : "{share}({type},{owner})", "Share" : "分享", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "通过输入用户或组,联合云ID或电子邮件地址与其他人分享。", - "Share with other people by entering a user or group or a federated cloud ID." : "通过输入用户或组或联合云ID与其他人共享。", - "Share with other people by entering a user or group or an email address." : "输入用户/组织或邮箱地址来分享给其他人", "Name or email address..." : "姓名或电子邮件地址...", "Name or federated cloud ID..." : "姓名或联合云 ID", "Name, federated cloud ID or email address..." : "姓名, 联合云 ID 或电子邮件地址...", @@ -300,6 +298,9 @@ "Contact your system administrator if this message persists or appeared unexpectedly." : "如果这个消息一直存在或不停出现, 请联系你的系统管理员.", "Thank you for your patience." : "感谢您久等了.", "%s (3rdparty)" : "%s(第三方)", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "通过输入用户或组,联合云ID或电子邮件地址与其他人分享。", + "Share with other people by entering a user or group or a federated cloud ID." : "通过输入用户或组或联合云ID与其他人共享。", + "Share with other people by entering a user or group or an email address." : "输入用户/组织或邮箱地址来分享给其他人", "This action requires you to confirm your password:" : "此操作需要确认您的密码:", "Wrong password. Reset it?" : "密码错误。是否重置?", "Alternative Logins" : "其他登录方式", diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js index f3703252aec..a0d36656e68 100644 --- a/core/l10n/zh_TW.js +++ b/core/l10n/zh_TW.js @@ -49,7 +49,7 @@ OC.L10N.register( "Set log level to debug" : "設定紀錄變成除錯層級", "Reset log level" : "重設記錄層級", "Starting code integrity check" : "開始檢查程式碼完整性", - "Finished code integrity check" : "完成程式碼完整性檢查", + "Finished code integrity check" : "已完成程式碼完整性檢查", "%s (incompatible)" : "%s (不相容的)", "Following apps have been disabled: %s" : "以下應用程式已經被停用:%s", "Already up to date" : "已經是最新版", @@ -67,7 +67,7 @@ OC.L10N.register( "_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["載入頁面出錯,%n 秒後重新整理"], "Saving..." : "儲存中...", "Dismiss" : "知道了", - "This action requires you to confirm your password" : "這個動作需要您輸入密碼", + "This action requires you to confirm your password" : "這個動作需要您再次確認密碼", "Authentication required" : "需要認證", "Password" : "密碼", "Cancel" : "取消", @@ -109,19 +109,25 @@ OC.L10N.register( "So-so password" : "密碼強度普通", "Good password" : "密碼強度佳", "Strong password" : "密碼強度極佳", - "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的網頁伺服器設定不正確,因此無法啟用檔案同步,看來可能是 WebDAV 界面的設定有問題。", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的網頁伺服器無法提供檔案同步功能,因為 WebDAV 界面似乎是故障的", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "您的網頁伺服器設定不正確,因此無法解析 \"{url}\" ,請至<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>瞭解更多資訊。", - "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "您沒有設定記憶體快取,如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</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. Establish a connection from this server to the Internet to enjoy all features." : "伺服器沒有網際網路連線(無法與多個端點取得聯繫),有些功能,像是外部儲存、應用程式更新版通知將無法運作。從遠端存取資料或是寄送 email 通知可能也無法運作。建議您設定好網際網路連線以使用所有功能。", + "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "您沒有設定記憶體快取 (memcache),如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP 無法讀取 /dev/urandom,為保障安全,建議修正這個問題,進一步訊息可參考我們的<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>。", "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "您目前正運行 PHP {version} ,我們建議您升級 PHP 到您的發行版所支援的最新版本,以獲得 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">PHP 開發團隊提供的效能與安全性更新</a>。", "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "您目前正運行 PHP 5.6 ,目前使用的 Nextcloud 將會是最後一個支援 PHP 5.6 的版本,建議您升級至 PHP 7.0 以上以使用 Nextcloud 14。", "The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "偵測到您的反向代理標頭設定不正確,但也有可能是因為您目前正透過信任的代理伺服器存取 Nextcloud。若您目前不是透過信任的代理伺服器存取 Nextcloud,這就是一個安全性問題,允許攻擊者對 Nextcloud 假冒 IP 位址。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>。", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "您已經設定 Memcached 為分散式快取,但是您安裝了錯誤的 PHP 模組 \"memcache\" , Nextcloud 的 \\OC\\Memcache\\Memcached 元件不支援 \"memcache\" 模組,僅支援 \"memcached\" 模組。若想要更加瞭解這兩個模組,請閱讀 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki</a>。", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "有些檔案並未通過完整性檢查。可參閱詳細資訊,如我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>(<a href=\"{codeIntegrityDownloadEndpoint}\">無效檔案列表</a>/<a href=\"{rescanEndpoint}\">重新檢查</a>)以解決這些問題。", + "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP 的 OPcache 功能並未被妥善設定。<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">為了有更好的效能表現</a>,我們建議在 <code>php.ini</code> 設定檔中使用以下設定:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "無法取得 PHP 中的 \"set_time_limit\" 函式。這可能導致執行過程被終止並造成不完整安裝。我們強烈建議啟用該函式。", + "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "您的 PHP 並未啟用 FreeType 支援,導致大頭貼產生器和設定界面無法使用。", "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這是一個潛在的安全性和隱私風險,我們建議調整此項設定。", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這將讓某些功能無法正常運作,我們建議修正此項設定。", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全小祕訣</a>中有詳述並建議啟用 HSTS。", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全小祕訣</a>。", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全建議</a>中有詳述並建議啟用 HSTS。", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全建議</a>。", "Shared" : "已分享", "Shared with" : "分享給", "Shared by" : "分享自", @@ -169,15 +175,13 @@ OC.L10N.register( "This list is maybe truncated - please refine your search term to see more results." : "這個列表有可能並不完全 - 請使用更好的搜尋字眼以查看更多的結果", "No users or groups found for {search}" : "沒有群組或使用者符合 {search}", "No users found for {search}" : "沒有使用者符合 {search}", + "An error occurred (\"{message}\"). Please try again" : "發生錯誤({message}),請再試一次", "An error occurred. Please try again" : "發生錯誤,請再試一次", "{sharee} (group)" : "{sharee} (群組)", "{sharee} (remote)" : "{sharee} (遠端)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "分享", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "透過輸入使用者、群組名稱,聯盟式雲端ID或e-mail信箱來分享給其他人。 ", - "Share with other people by entering a user or group or a federated cloud ID." : "透過輸入使用者、群組名稱,聯盟式雲端ID來分享給其他人。", - "Share with other people by entering a user or group or an email address." : "透過輸入使用者、群組名稱或email來分享給其他人。", "Name or email address..." : "名字或電子郵件地址", "Name or federated cloud ID..." : "名稱或者聯盟式雲端ID...", "Name, federated cloud ID or email address..." : "名字、聯邦雲 ID 或是電子郵件地址", @@ -262,7 +266,7 @@ OC.L10N.register( "More apps" : "更多應用程式", "Search" : "搜尋", "Reset search" : "重置搜尋", - "Confirm your password" : "輸入密碼", + "Confirm your password" : "確認密碼", "Server side authentication failed!" : "伺服器端認證失敗!", "Please contact your administrator." : "請聯絡系統管理員", "An internal error occurred." : "發生內部錯誤", @@ -273,8 +277,9 @@ OC.L10N.register( "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "您的 IP 多次嘗試登入無效,下一次登入將會被延時30秒。", "Stay logged in" : "保持登入狀態", "Forgot password?" : "忘記密碼?", + "Back to login" : "回到登入畫面", "Account access" : "帳戶存取", - "You are about to grant %s access to your %s account." : "你已批准%s存取你的%s帳戶。", + "You are about to grant %s access to your %s account." : "您將授予「%s」存取您的 %s 帳戶", "Grant access" : "允許存取", "App token" : "App token", "Alternative login using app token" : "透過應用程式憑證的方式登入", @@ -308,7 +313,29 @@ OC.L10N.register( "This page will refresh itself when the %s instance is available again." : "%s 安裝恢復可用之後,本頁會自動重新整理", "Contact your system administrator if this message persists or appeared unexpectedly." : "若這個訊息持續出現,請聯絡系統管理員", "Thank you for your patience." : "感謝您的耐心", + "%s (3rdparty)" : "%s(第三方)", + "There was an error loading your contacts" : "載入聯絡人發生錯誤", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "您的網頁伺服器無法提供檔案同步功能,因為 WebDAV 界面似乎是故障的", + "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>." : "您沒有設定記憶體快取,如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "您已經設定 Memcached 為分散式快取,但是您安裝了錯誤的 PHP 模組 \"memcache\" , Nextcloud 的 \\OC\\Memcache\\Memcached 元件不支援 \"memcache\" 模組,僅支援 \"memcached\" 模組。若想要更加瞭解這兩個模組,請閱讀 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki</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>)" : "有些檔案並未通過完整性檢查。可參閱詳細資訊,如我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>(<a href=\"{codeIntegrityDownloadEndpoint}\">無效檔案列表</a>/<a href=\"{rescanEndpoint}\">重新檢查</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 功能並未被妥善設定。<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">為了有更好的效能表現</a>,我們建議在 <code>php.ini</code> 設定檔中使用以下設定:", + "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." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。", + "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." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這是一個潛在的安全性和隱私風險,我們建議調整此項設定。", + "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>." : "HTTP \"Strict-Transport-Security\" 標頭並未設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全建議</a>中有詳述並建議啟用 HSTS。", + "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>." : "您目前透過 HTTP 存取此網站,如我們的<a href=\"{docUrl}\">安全建議</a>所述,我們強烈建議設定您的伺服器要求使用 HTTPS。", + "Shared with {recipients}" : "與 {recipients} 分享", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "透過輸入使用者、群組名稱,聯盟式雲端ID或e-mail信箱來分享給其他人。 ", + "Share with other people by entering a user or group or a federated cloud ID." : "透過輸入使用者、群組名稱,聯盟式雲端ID來分享給其他人。", + "Share with other people by entering a user or group or an email address." : "透過輸入使用者、群組名稱或email來分享給其他人。", + "The server encountered an internal error and was unable to complete your request." : "伺服器遭遇內部錯誤,無法完成您的要求", + "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "如果這個錯誤重複出現,請聯絡系統管理員,並附上以下的錯誤細節", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "閱讀<a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">說明文件</a>來瞭解如何正確設定您的伺服器", + "This action requires you to confirm your password:" : "這個動作需要您再次確認密碼:", + "Wrong password. Reset it?" : "密碼錯誤,重設密碼?", "Alternative Logins" : "其他登入方法", + "You are about to grant \"%s\" access to your %s account." : "您將授予「%s」存取您的 %s 帳戶", + "You are accessing the server from an untrusted domain." : "你正在從一個未信任的網域存取伺服器", "Back to log in" : "回到登入頁面" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json index 885387cddf3..fe0f6b784c1 100644 --- a/core/l10n/zh_TW.json +++ b/core/l10n/zh_TW.json @@ -47,7 +47,7 @@ "Set log level to debug" : "設定紀錄變成除錯層級", "Reset log level" : "重設記錄層級", "Starting code integrity check" : "開始檢查程式碼完整性", - "Finished code integrity check" : "完成程式碼完整性檢查", + "Finished code integrity check" : "已完成程式碼完整性檢查", "%s (incompatible)" : "%s (不相容的)", "Following apps have been disabled: %s" : "以下應用程式已經被停用:%s", "Already up to date" : "已經是最新版", @@ -65,7 +65,7 @@ "_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["載入頁面出錯,%n 秒後重新整理"], "Saving..." : "儲存中...", "Dismiss" : "知道了", - "This action requires you to confirm your password" : "這個動作需要您輸入密碼", + "This action requires you to confirm your password" : "這個動作需要您再次確認密碼", "Authentication required" : "需要認證", "Password" : "密碼", "Cancel" : "取消", @@ -107,19 +107,25 @@ "So-so password" : "密碼強度普通", "Good password" : "密碼強度佳", "Strong password" : "密碼強度極佳", - "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的網頁伺服器設定不正確,因此無法啟用檔案同步,看來可能是 WebDAV 界面的設定有問題。", + "Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的網頁伺服器無法提供檔案同步功能,因為 WebDAV 界面似乎是故障的", "Your web server is not properly set up to resolve \"{url}\". Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "您的網頁伺服器設定不正確,因此無法解析 \"{url}\" ,請至<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>瞭解更多資訊。", - "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "您沒有設定記憶體快取,如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</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. Establish a connection from this server to the Internet to enjoy all features." : "伺服器沒有網際網路連線(無法與多個端點取得聯繫),有些功能,像是外部儲存、應用程式更新版通知將無法運作。從遠端存取資料或是寄送 email 通知可能也無法運作。建議您設定好網際網路連線以使用所有功能。", + "No memory cache has been configured. To enhance performance, please configure a memcache, if available. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "您沒有設定記憶體快取 (memcache),如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "PHP 無法讀取 /dev/urandom,為保障安全,建議修正這個問題,進一步訊息可參考我們的<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>。", "You are currently running PHP {version}. Upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "您目前正運行 PHP {version} ,我們建議您升級 PHP 到您的發行版所支援的最新版本,以獲得 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{phpLink}\">PHP 開發團隊提供的效能與安全性更新</a>。", "You are currently running PHP 5.6. The current major version of Nextcloud is the last that is supported on PHP 5.6. It is recommended to upgrade the PHP version to 7.0+ to be able to upgrade to Nextcloud 14." : "您目前正運行 PHP 5.6 ,目前使用的 Nextcloud 將會是最後一個支援 PHP 5.6 的版本,建議您升級至 PHP 7.0 以上以使用 Nextcloud 14。", "The reverse proxy header configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If not, this is a security issue and can allow an attacker to spoof their IP address as visible to the Nextcloud. Further information can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>." : "偵測到您的反向代理標頭設定不正確,但也有可能是因為您目前正透過信任的代理伺服器存取 Nextcloud。若您目前不是透過信任的代理伺服器存取 Nextcloud,這就是一個安全性問題,允許攻擊者對 Nextcloud 假冒 IP 位址。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">說明文件</a>。", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "您已經設定 Memcached 為分散式快取,但是您安裝了錯誤的 PHP 模組 \"memcache\" , Nextcloud 的 \\OC\\Memcache\\Memcached 元件不支援 \"memcache\" 模組,僅支援 \"memcached\" 模組。若想要更加瞭解這兩個模組,請閱讀 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki</a>。", + "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "有些檔案並未通過完整性檢查。可參閱詳細資訊,如我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>(<a href=\"{codeIntegrityDownloadEndpoint}\">無效檔案列表</a>/<a href=\"{rescanEndpoint}\">重新檢查</a>)以解決這些問題。", + "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{docLink}\">For better performance it is recommended</a> to use the following settings in the <code>php.ini</code>:" : "PHP 的 OPcache 功能並未被妥善設定。<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">為了有更好的效能表現</a>,我們建議在 <code>php.ini</code> 設定檔中使用以下設定:", + "The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended." : "無法取得 PHP 中的 \"set_time_limit\" 函式。這可能導致執行過程被終止並造成不完整安裝。我們強烈建議啟用該函式。", + "Your PHP does not have FreeType support, resulting in breakage of profile pictures and the settings interface." : "您的 PHP 並未啟用 FreeType 支援,導致大頭貼產生器和設定界面無法使用。", "Error occurred while checking server setup" : "檢查伺服器設定時發生錯誤", "Your data directory and files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server so that the data directory is no longer accessible, or move the data directory outside the web server document root." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。", "The \"{header}\" HTTP header is not set to \"{expected}\". This is a potential security or privacy risk, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這是一個潛在的安全性和隱私風險,我們建議調整此項設定。", "The \"{header}\" HTTP header is not set to \"{expected}\". Some features might not work correctly, as it is recommended to adjust this setting accordingly." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這將讓某些功能無法正常運作,我們建議修正此項設定。", - "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全小祕訣</a>中有詳述並建議啟用 HSTS。", - "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全小祕訣</a>。", + "The \"Strict-Transport-Security\" HTTP header is not set to at least \"{seconds}\" seconds. For enhanced security, it is recommended to enable HSTS as described in the <a href=\"{docUrl}\" rel=\"noreferrer noopener\">security tips</a>." : "HTTP \"Strict-Transport-Security\" 標頭並未被設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全建議</a>中有詳述並建議啟用 HSTS。", + "Accessing site insecurely via HTTP. You are strongly adviced to set up your server to require HTTPS instead, as described in the <a href=\"{docUrl}\">security tips</a>." : "正在透過不安全的 HTTP 存取站台,強烈建議您設定伺服器啟用 HTTPS ,更多資訊請查閱<a href=\"{docUrl}\">安全建議</a>。", "Shared" : "已分享", "Shared with" : "分享給", "Shared by" : "分享自", @@ -167,15 +173,13 @@ "This list is maybe truncated - please refine your search term to see more results." : "這個列表有可能並不完全 - 請使用更好的搜尋字眼以查看更多的結果", "No users or groups found for {search}" : "沒有群組或使用者符合 {search}", "No users found for {search}" : "沒有使用者符合 {search}", + "An error occurred (\"{message}\"). Please try again" : "發生錯誤({message}),請再試一次", "An error occurred. Please try again" : "發生錯誤,請再試一次", "{sharee} (group)" : "{sharee} (群組)", "{sharee} (remote)" : "{sharee} (遠端)", "{sharee} (email)" : "{sharee} (email)", "{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})", "Share" : "分享", - "Share with other people by entering a user or group, a federated cloud ID or an email address." : "透過輸入使用者、群組名稱,聯盟式雲端ID或e-mail信箱來分享給其他人。 ", - "Share with other people by entering a user or group or a federated cloud ID." : "透過輸入使用者、群組名稱,聯盟式雲端ID來分享給其他人。", - "Share with other people by entering a user or group or an email address." : "透過輸入使用者、群組名稱或email來分享給其他人。", "Name or email address..." : "名字或電子郵件地址", "Name or federated cloud ID..." : "名稱或者聯盟式雲端ID...", "Name, federated cloud ID or email address..." : "名字、聯邦雲 ID 或是電子郵件地址", @@ -260,7 +264,7 @@ "More apps" : "更多應用程式", "Search" : "搜尋", "Reset search" : "重置搜尋", - "Confirm your password" : "輸入密碼", + "Confirm your password" : "確認密碼", "Server side authentication failed!" : "伺服器端認證失敗!", "Please contact your administrator." : "請聯絡系統管理員", "An internal error occurred." : "發生內部錯誤", @@ -271,8 +275,9 @@ "We have detected multiple invalid login attempts from your IP. Therefore your next login is throttled up to 30 seconds." : "您的 IP 多次嘗試登入無效,下一次登入將會被延時30秒。", "Stay logged in" : "保持登入狀態", "Forgot password?" : "忘記密碼?", + "Back to login" : "回到登入畫面", "Account access" : "帳戶存取", - "You are about to grant %s access to your %s account." : "你已批准%s存取你的%s帳戶。", + "You are about to grant %s access to your %s account." : "您將授予「%s」存取您的 %s 帳戶", "Grant access" : "允許存取", "App token" : "App token", "Alternative login using app token" : "透過應用程式憑證的方式登入", @@ -306,7 +311,29 @@ "This page will refresh itself when the %s instance is available again." : "%s 安裝恢復可用之後,本頁會自動重新整理", "Contact your system administrator if this message persists or appeared unexpectedly." : "若這個訊息持續出現,請聯絡系統管理員", "Thank you for your patience." : "感謝您的耐心", + "%s (3rdparty)" : "%s(第三方)", + "There was an error loading your contacts" : "載入聯絡人發生錯誤", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "您的網頁伺服器無法提供檔案同步功能,因為 WebDAV 界面似乎是故障的", + "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>." : "您沒有設定記憶體快取,如果可以,請完成設定來提升效能。更多資訊請查閱<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>", + "Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "您已經設定 Memcached 為分散式快取,但是您安裝了錯誤的 PHP 模組 \"memcache\" , Nextcloud 的 \\OC\\Memcache\\Memcached 元件不支援 \"memcache\" 模組,僅支援 \"memcached\" 模組。若想要更加瞭解這兩個模組,請閱讀 <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"{wikiLink}\">memcached wiki</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>)" : "有些檔案並未通過完整性檢查。可參閱詳細資訊,如我們的<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">說明文件</a>(<a href=\"{codeIntegrityDownloadEndpoint}\">無效檔案列表</a>/<a href=\"{rescanEndpoint}\">重新檢查</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 功能並未被妥善設定。<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">為了有更好的效能表現</a>,我們建議在 <code>php.ini</code> 設定檔中使用以下設定:", + "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." : "您的資料目錄和檔案看來可以被公開存取,這表示 .htaccess 設定檔並未生效,我們強烈建議您設定網頁伺服器,拒絕公開存取資料目錄,或者將您的資料目錄移出網頁伺服器根目錄。", + "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." : "目前 HTTP 的 {header} 標頭設定並不是 \"{expected}\" ,這是一個潛在的安全性和隱私風險,我們建議調整此項設定。", + "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>." : "HTTP \"Strict-Transport-Security\" 標頭並未設定持續至少 {seconds} 秒。為了提高安全性,我們在<a href=\"{docUrl}\" rel=\"noreferrer\">安全建議</a>中有詳述並建議啟用 HSTS。", + "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>." : "您目前透過 HTTP 存取此網站,如我們的<a href=\"{docUrl}\">安全建議</a>所述,我們強烈建議設定您的伺服器要求使用 HTTPS。", + "Shared with {recipients}" : "與 {recipients} 分享", + "Share with other people by entering a user or group, a federated cloud ID or an email address." : "透過輸入使用者、群組名稱,聯盟式雲端ID或e-mail信箱來分享給其他人。 ", + "Share with other people by entering a user or group or a federated cloud ID." : "透過輸入使用者、群組名稱,聯盟式雲端ID來分享給其他人。", + "Share with other people by entering a user or group or an email address." : "透過輸入使用者、群組名稱或email來分享給其他人。", + "The server encountered an internal error and was unable to complete your request." : "伺服器遭遇內部錯誤,無法完成您的要求", + "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "如果這個錯誤重複出現,請聯絡系統管理員,並附上以下的錯誤細節", + "For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">documentation</a>." : "閱讀<a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">說明文件</a>來瞭解如何正確設定您的伺服器", + "This action requires you to confirm your password:" : "這個動作需要您再次確認密碼:", + "Wrong password. Reset it?" : "密碼錯誤,重設密碼?", "Alternative Logins" : "其他登入方法", + "You are about to grant \"%s\" access to your %s account." : "您將授予「%s」存取您的 %s 帳戶", + "You are accessing the server from an untrusted domain." : "你正在從一個未信任的網域存取伺服器", "Back to log in" : "回到登入頁面" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/core/routes.php b/core/routes.php index 87c265d8098..1c7be78bc78 100644 --- a/core/routes.php +++ b/core/routes.php @@ -64,7 +64,6 @@ $application->registerRoutes($this, [ ['name' => 'Js#getJs', 'url' => '/js/{appName}/{fileName}', 'verb' => 'GET'], ['name' => 'contactsMenu#index', 'url' => '/contactsmenu/contacts', 'verb' => 'POST'], ['name' => 'contactsMenu#findOne', 'url' => '/contactsmenu/findOne', 'verb' => 'POST'], - ['name' => 'AutoComplete#get', 'url' => 'autocomplete/get', 'verb' => 'GET'], ['name' => 'WalledGarden#get', 'url' => '/204', 'verb' => 'GET'], ['name' => 'Search#search', 'url' => '/core/search', 'verb' => 'GET'], ], @@ -75,6 +74,7 @@ $application->registerRoutes($this, [ ['root' => '/identityproof', 'name' => 'OCS#getIdentityProof', 'url' => '/key/{cloudId}', 'verb' => 'GET'], ['root' => '/core', 'name' => 'Navigation#getAppsNavigation', 'url' => '/navigation/apps', 'verb' => 'GET'], ['root' => '/core', 'name' => 'Navigation#getSettingsNavigation', 'url' => '/navigation/settings', 'verb' => 'GET'], + ['root' => '/core', 'name' => 'AutoComplete#get', 'url' => '/autocomplete/get', 'verb' => 'GET'], ], ]); diff --git a/lib/base.php b/lib/base.php index 0c78d235c59..8af674e7ee8 100644 --- a/lib/base.php +++ b/lib/base.php @@ -944,8 +944,8 @@ class OC { && $request->getMethod() === 'POST' && ((array)$request->getParam('appid')) !== '' ) { - \OCP\JSON::callCheck(); - \OCP\JSON::checkAdminUser(); + \OC_JSON::callCheck(); + \OC_JSON::checkAdminUser(); $appIds = (array)$request->getParam('appid'); foreach($appIds as $appId) { $appId = \OC_App::cleanAppId($appId); diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index 3331d57e131..320113612d6 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -98,7 +98,6 @@ return array( 'OCP\\Contacts\\ContactsMenu\\ILinkAction' => $baseDir . '/lib/public/Contacts/ContactsMenu/ILinkAction.php', 'OCP\\Contacts\\ContactsMenu\\IProvider' => $baseDir . '/lib/public/Contacts/ContactsMenu/IProvider.php', 'OCP\\Contacts\\IManager' => $baseDir . '/lib/public/Contacts/IManager.php', - 'OCP\\DB' => $baseDir . '/lib/public/DB.php', 'OCP\\DB\\ISchemaWrapper' => $baseDir . '/lib/public/DB/ISchemaWrapper.php', 'OCP\\DB\\QueryBuilder\\ICompositeExpression' => $baseDir . '/lib/public/DB/QueryBuilder/ICompositeExpression.php', 'OCP\\DB\\QueryBuilder\\IExpressionBuilder' => $baseDir . '/lib/public/DB/QueryBuilder/IExpressionBuilder.php', @@ -140,6 +139,7 @@ return array( 'OCP\\Files\\FileNameTooLongException' => $baseDir . '/lib/public/Files/FileNameTooLongException.php', 'OCP\\Files\\Folder' => $baseDir . '/lib/public/Files/Folder.php', 'OCP\\Files\\ForbiddenException' => $baseDir . '/lib/public/Files/ForbiddenException.php', + 'OCP\\Files\\GenericFileException' => $baseDir . '/lib/public/Files/GenericFileException.php', 'OCP\\Files\\IAppData' => $baseDir . '/lib/public/Files/IAppData.php', 'OCP\\Files\\IHomeStorage' => $baseDir . '/lib/public/Files/IHomeStorage.php', 'OCP\\Files\\IMimeTypeDetector' => $baseDir . '/lib/public/Files/IMimeTypeDetector.php', @@ -222,7 +222,6 @@ return array( 'OCP\\IUserManager' => $baseDir . '/lib/public/IUserManager.php', 'OCP\\IUserSession' => $baseDir . '/lib/public/IUserSession.php', 'OCP\\Image' => $baseDir . '/lib/public/Image.php', - 'OCP\\JSON' => $baseDir . '/lib/public/JSON.php', 'OCP\\L10N\\IFactory' => $baseDir . '/lib/public/L10N/IFactory.php', 'OCP\\LDAP\\IDeletionFlagSupport' => $baseDir . '/lib/public/LDAP/IDeletionFlagSupport.php', 'OCP\\LDAP\\ILDAPProvider' => $baseDir . '/lib/public/LDAP/ILDAPProvider.php', @@ -255,7 +254,6 @@ return array( 'OCP\\Remote\\IInstance' => $baseDir . '/lib/public/Remote/IInstance.php', 'OCP\\Remote\\IInstanceFactory' => $baseDir . '/lib/public/Remote/IInstanceFactory.php', 'OCP\\Remote\\IUser' => $baseDir . '/lib/public/Remote/IUser.php', - 'OCP\\Response' => $baseDir . '/lib/public/Response.php', 'OCP\\RichObjectStrings\\Definitions' => $baseDir . '/lib/public/RichObjectStrings/Definitions.php', 'OCP\\RichObjectStrings\\IValidator' => $baseDir . '/lib/public/RichObjectStrings/IValidator.php', 'OCP\\RichObjectStrings\\InvalidObjectExeption' => $baseDir . '/lib/public/RichObjectStrings/InvalidObjectExeption.php', @@ -303,6 +301,15 @@ return array( 'OCP\\Template' => $baseDir . '/lib/public/Template.php', 'OCP\\User' => $baseDir . '/lib/public/User.php', 'OCP\\UserInterface' => $baseDir . '/lib/public/UserInterface.php', + 'OCP\\User\\Backend\\ABackend' => $baseDir . '/lib/public/User/Backend/ABackend.php', + 'OCP\\User\\Backend\\ICheckPasswordBackend' => $baseDir . '/lib/public/User/Backend/ICheckPasswordBackend.php', + 'OCP\\User\\Backend\\ICountUsersBackend' => $baseDir . '/lib/public/User/Backend/ICountUsersBackend.php', + 'OCP\\User\\Backend\\ICreateUserBackend' => $baseDir . '/lib/public/User/Backend/ICreateUserBackend.php', + 'OCP\\User\\Backend\\IGetDisplayNameBackend' => $baseDir . '/lib/public/User/Backend/IGetDisplayNameBackend.php', + 'OCP\\User\\Backend\\IGetHomeBackend' => $baseDir . '/lib/public/User/Backend/IGetHomeBackend.php', + 'OCP\\User\\Backend\\IProvideAvatarBackend' => $baseDir . '/lib/public/User/Backend/IProvideAvatarBackend.php', + 'OCP\\User\\Backend\\ISetDisplayNameBackend' => $baseDir . '/lib/public/User/Backend/ISetDisplayNameBackend.php', + 'OCP\\User\\Backend\\ISetPasswordBackend' => $baseDir . '/lib/public/User/Backend/ISetPasswordBackend.php', 'OCP\\Util' => $baseDir . '/lib/public/Util.php', 'OCP\\WorkflowEngine\\ICheck' => $baseDir . '/lib/public/WorkflowEngine/ICheck.php', 'OCP\\WorkflowEngine\\IManager' => $baseDir . '/lib/public/WorkflowEngine/IManager.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index e35ef7d7a09..ee94cd3ee81 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -128,7 +128,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OCP\\Contacts\\ContactsMenu\\ILinkAction' => __DIR__ . '/../../..' . '/lib/public/Contacts/ContactsMenu/ILinkAction.php', 'OCP\\Contacts\\ContactsMenu\\IProvider' => __DIR__ . '/../../..' . '/lib/public/Contacts/ContactsMenu/IProvider.php', 'OCP\\Contacts\\IManager' => __DIR__ . '/../../..' . '/lib/public/Contacts/IManager.php', - 'OCP\\DB' => __DIR__ . '/../../..' . '/lib/public/DB.php', 'OCP\\DB\\ISchemaWrapper' => __DIR__ . '/../../..' . '/lib/public/DB/ISchemaWrapper.php', 'OCP\\DB\\QueryBuilder\\ICompositeExpression' => __DIR__ . '/../../..' . '/lib/public/DB/QueryBuilder/ICompositeExpression.php', 'OCP\\DB\\QueryBuilder\\IExpressionBuilder' => __DIR__ . '/../../..' . '/lib/public/DB/QueryBuilder/IExpressionBuilder.php', @@ -170,6 +169,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OCP\\Files\\FileNameTooLongException' => __DIR__ . '/../../..' . '/lib/public/Files/FileNameTooLongException.php', 'OCP\\Files\\Folder' => __DIR__ . '/../../..' . '/lib/public/Files/Folder.php', 'OCP\\Files\\ForbiddenException' => __DIR__ . '/../../..' . '/lib/public/Files/ForbiddenException.php', + 'OCP\\Files\\GenericFileException' => __DIR__ . '/../../..' . '/lib/public/Files/GenericFileException.php', 'OCP\\Files\\IAppData' => __DIR__ . '/../../..' . '/lib/public/Files/IAppData.php', 'OCP\\Files\\IHomeStorage' => __DIR__ . '/../../..' . '/lib/public/Files/IHomeStorage.php', 'OCP\\Files\\IMimeTypeDetector' => __DIR__ . '/../../..' . '/lib/public/Files/IMimeTypeDetector.php', @@ -252,7 +252,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OCP\\IUserManager' => __DIR__ . '/../../..' . '/lib/public/IUserManager.php', 'OCP\\IUserSession' => __DIR__ . '/../../..' . '/lib/public/IUserSession.php', 'OCP\\Image' => __DIR__ . '/../../..' . '/lib/public/Image.php', - 'OCP\\JSON' => __DIR__ . '/../../..' . '/lib/public/JSON.php', 'OCP\\L10N\\IFactory' => __DIR__ . '/../../..' . '/lib/public/L10N/IFactory.php', 'OCP\\LDAP\\IDeletionFlagSupport' => __DIR__ . '/../../..' . '/lib/public/LDAP/IDeletionFlagSupport.php', 'OCP\\LDAP\\ILDAPProvider' => __DIR__ . '/../../..' . '/lib/public/LDAP/ILDAPProvider.php', @@ -285,7 +284,6 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OCP\\Remote\\IInstance' => __DIR__ . '/../../..' . '/lib/public/Remote/IInstance.php', 'OCP\\Remote\\IInstanceFactory' => __DIR__ . '/../../..' . '/lib/public/Remote/IInstanceFactory.php', 'OCP\\Remote\\IUser' => __DIR__ . '/../../..' . '/lib/public/Remote/IUser.php', - 'OCP\\Response' => __DIR__ . '/../../..' . '/lib/public/Response.php', 'OCP\\RichObjectStrings\\Definitions' => __DIR__ . '/../../..' . '/lib/public/RichObjectStrings/Definitions.php', 'OCP\\RichObjectStrings\\IValidator' => __DIR__ . '/../../..' . '/lib/public/RichObjectStrings/IValidator.php', 'OCP\\RichObjectStrings\\InvalidObjectExeption' => __DIR__ . '/../../..' . '/lib/public/RichObjectStrings/InvalidObjectExeption.php', @@ -333,6 +331,15 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c 'OCP\\Template' => __DIR__ . '/../../..' . '/lib/public/Template.php', 'OCP\\User' => __DIR__ . '/../../..' . '/lib/public/User.php', 'OCP\\UserInterface' => __DIR__ . '/../../..' . '/lib/public/UserInterface.php', + 'OCP\\User\\Backend\\ABackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ABackend.php', + 'OCP\\User\\Backend\\ICheckPasswordBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ICheckPasswordBackend.php', + 'OCP\\User\\Backend\\ICountUsersBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ICountUsersBackend.php', + 'OCP\\User\\Backend\\ICreateUserBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ICreateUserBackend.php', + 'OCP\\User\\Backend\\IGetDisplayNameBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/IGetDisplayNameBackend.php', + 'OCP\\User\\Backend\\IGetHomeBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/IGetHomeBackend.php', + 'OCP\\User\\Backend\\IProvideAvatarBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/IProvideAvatarBackend.php', + 'OCP\\User\\Backend\\ISetDisplayNameBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ISetDisplayNameBackend.php', + 'OCP\\User\\Backend\\ISetPasswordBackend' => __DIR__ . '/../../..' . '/lib/public/User/Backend/ISetPasswordBackend.php', 'OCP\\Util' => __DIR__ . '/../../..' . '/lib/public/Util.php', 'OCP\\WorkflowEngine\\ICheck' => __DIR__ . '/../../..' . '/lib/public/WorkflowEngine/ICheck.php', 'OCP\\WorkflowEngine\\IManager' => __DIR__ . '/../../..' . '/lib/public/WorkflowEngine/IManager.php', diff --git a/lib/l10n/ca.js b/lib/l10n/ca.js index 567911aa4d3..e47de1f81a5 100644 --- a/lib/l10n/ca.js +++ b/lib/l10n/ca.js @@ -10,36 +10,68 @@ OC.L10N.register( "%1$s, %2$s and %3$s" : "%1$s, %2$s i %3$s", "%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s i %4$s", "%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s i %5$s", + "Education Edition" : "Edició educativa", + "Enterprise bundle" : "Paquet empresarial", + "Groupware bundle" : "Paquet de treball en grup", + "Social sharing bundle" : "Paquet social", "PHP %s or higher is required." : "Es requereix PHP %s o superior.", + "PHP with a version lower than %s is required." : "Es requereix php amb versió menor a %s.", "%sbit or higher PHP required." : "Es requereix PHP %s o superior.", + "Following databases are supported: %s" : "Es suporten les següents bases de dades: %s", + "The command line tool %s could not be found" : "No s'ha pogut trobar l'eina per intèrpret de comandes %s", "Server version %s or higher is required." : "Es requereix una versió de servidor %s o superior", "Server version %s or lower is required." : "Es requereix una versió de servidor %s o inferior", "Unknown filetype" : "Tipus de fitxer desconegut", "Invalid image" : "Imatge no vàlida", "Avatar image is not square" : "La imatge de perfil no és quadrada", "today" : "avui", + "tomorrow" : "demà", "yesterday" : "ahir", + "_in %n day_::_in %n days_" : ["d'aquí %n dia","d'aquí %n dies"], "_%n day ago_::_%n days ago_" : ["fa %n dia","fa %n dies"], + "next month" : "mes següent", "last month" : "el mes passat", + "_in %n month_::_in %n months_" : ["d'aquí %n mesos","d'aquí %n mesos"], "_%n month ago_::_%n months ago_" : ["fa %n mes","fa %n mesos"], + "next year" : "any següent", "last year" : "l'any passat", + "_in %n year_::_in %n years_" : ["d'aquí %n any","d'aquí %n anys"], "_%n year ago_::_%n years ago_" : ["fa %n any","fa %n anys"], + "_in %n hour_::_in %n hours_" : ["d'aquí %n hora","d'aquí %n hores"], "_%n hour ago_::_%n hours ago_" : ["fa %n hora","fa %n hores"], + "_in %n minute_::_in %n minutes_" : ["d'aquí %n minut","d'aquí %n minuts"], "_%n minute ago_::_%n minutes ago_" : ["fa %n minut","fa %n minuts"], + "in a few seconds" : "en uns segons", "seconds ago" : "segons enrere", + "File name is a reserved word" : "El nom de fitxer és una paraula reservada", "File name contains at least one invalid character" : "El nom del fitxer conté al menys un caràcter invàlid", "File name is too long" : "el nom del fitxer es massa gran", + "Dot files are not allowed" : "No estan permesos fitxers amb punt", + "Empty filename is not allowed" : "Mo estan permesos noms buits", "Help" : "Ajuda", "Apps" : "Aplicacions", + "Settings" : "Preferències", + "Log out" : "Surt", "Users" : "Usuaris", "Unknown user" : "Usuari desconegut", "APCu" : "APCu", "Redis" : "Redis", + "Create" : "Crea", + "Change" : "Modifica", + "Delete" : "Esborra", + "Share" : "Comparteix", + "Basic settings" : "Configuració bàsica", "Sharing" : "Compartir", + "Security" : "Seguretat", "Encryption" : "Xifrat", "Additional settings" : "Configuració adicional", "Tips & tricks" : "Consells i trucs", + "Personal info" : "Informació personal", + "Unlimited" : "Il·limitat", "__language_name__" : "Català", + "Verifying" : "Verificant", + "Verifying …" : "Verificant ...", + "Verify" : "Verifica", "%s enter the database username and name." : "%s escriviu el nom d'usuari i el nom de la base de dades.", "%s enter the database username." : "%s escriviu el nom d'usuari de la base de dades.", "%s enter the database name." : "%s escriviu el nom de la base de dades.", @@ -124,6 +156,7 @@ OC.L10N.register( "A valid username must be provided" : "Heu de facilitar un nom d'usuari vàlid", "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida", "The username is already being used" : "El nom d'usuari ja està en ús", + "Could not create user" : "No s'ha pogut crear l'usuari", "User disabled" : "Usuari desactivat", "Login canceled by app" : "Accés cancel·lat per l'App", "a safe home for all your data" : "un lloc segur per a les teves dades", @@ -144,6 +177,7 @@ OC.L10N.register( "PostgreSQL >= 9 required" : "Es requereix PostgreSQL >= 9", "Please upgrade your database version" : "Actualitzeu la versió de la base de dades", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Canvieu els permisos a 0770 per tal que la carpeta no es pugui llistar per altres usuaris.", - "Could not obtain lock type %d on \"%s\"." : "No s'ha pogut obtenir un bloqueig tipus %d a \"%s\"." + "Could not obtain lock type %d on \"%s\"." : "No s'ha pogut obtenir un bloqueig tipus %d a \"%s\".", + "Personal" : "Personal" }, "nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/ca.json b/lib/l10n/ca.json index 66b1dc74385..69efeef3988 100644 --- a/lib/l10n/ca.json +++ b/lib/l10n/ca.json @@ -8,36 +8,68 @@ "%1$s, %2$s and %3$s" : "%1$s, %2$s i %3$s", "%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s i %4$s", "%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s i %5$s", + "Education Edition" : "Edició educativa", + "Enterprise bundle" : "Paquet empresarial", + "Groupware bundle" : "Paquet de treball en grup", + "Social sharing bundle" : "Paquet social", "PHP %s or higher is required." : "Es requereix PHP %s o superior.", + "PHP with a version lower than %s is required." : "Es requereix php amb versió menor a %s.", "%sbit or higher PHP required." : "Es requereix PHP %s o superior.", + "Following databases are supported: %s" : "Es suporten les següents bases de dades: %s", + "The command line tool %s could not be found" : "No s'ha pogut trobar l'eina per intèrpret de comandes %s", "Server version %s or higher is required." : "Es requereix una versió de servidor %s o superior", "Server version %s or lower is required." : "Es requereix una versió de servidor %s o inferior", "Unknown filetype" : "Tipus de fitxer desconegut", "Invalid image" : "Imatge no vàlida", "Avatar image is not square" : "La imatge de perfil no és quadrada", "today" : "avui", + "tomorrow" : "demà", "yesterday" : "ahir", + "_in %n day_::_in %n days_" : ["d'aquí %n dia","d'aquí %n dies"], "_%n day ago_::_%n days ago_" : ["fa %n dia","fa %n dies"], + "next month" : "mes següent", "last month" : "el mes passat", + "_in %n month_::_in %n months_" : ["d'aquí %n mesos","d'aquí %n mesos"], "_%n month ago_::_%n months ago_" : ["fa %n mes","fa %n mesos"], + "next year" : "any següent", "last year" : "l'any passat", + "_in %n year_::_in %n years_" : ["d'aquí %n any","d'aquí %n anys"], "_%n year ago_::_%n years ago_" : ["fa %n any","fa %n anys"], + "_in %n hour_::_in %n hours_" : ["d'aquí %n hora","d'aquí %n hores"], "_%n hour ago_::_%n hours ago_" : ["fa %n hora","fa %n hores"], + "_in %n minute_::_in %n minutes_" : ["d'aquí %n minut","d'aquí %n minuts"], "_%n minute ago_::_%n minutes ago_" : ["fa %n minut","fa %n minuts"], + "in a few seconds" : "en uns segons", "seconds ago" : "segons enrere", + "File name is a reserved word" : "El nom de fitxer és una paraula reservada", "File name contains at least one invalid character" : "El nom del fitxer conté al menys un caràcter invàlid", "File name is too long" : "el nom del fitxer es massa gran", + "Dot files are not allowed" : "No estan permesos fitxers amb punt", + "Empty filename is not allowed" : "Mo estan permesos noms buits", "Help" : "Ajuda", "Apps" : "Aplicacions", + "Settings" : "Preferències", + "Log out" : "Surt", "Users" : "Usuaris", "Unknown user" : "Usuari desconegut", "APCu" : "APCu", "Redis" : "Redis", + "Create" : "Crea", + "Change" : "Modifica", + "Delete" : "Esborra", + "Share" : "Comparteix", + "Basic settings" : "Configuració bàsica", "Sharing" : "Compartir", + "Security" : "Seguretat", "Encryption" : "Xifrat", "Additional settings" : "Configuració adicional", "Tips & tricks" : "Consells i trucs", + "Personal info" : "Informació personal", + "Unlimited" : "Il·limitat", "__language_name__" : "Català", + "Verifying" : "Verificant", + "Verifying …" : "Verificant ...", + "Verify" : "Verifica", "%s enter the database username and name." : "%s escriviu el nom d'usuari i el nom de la base de dades.", "%s enter the database username." : "%s escriviu el nom d'usuari de la base de dades.", "%s enter the database name." : "%s escriviu el nom de la base de dades.", @@ -122,6 +154,7 @@ "A valid username must be provided" : "Heu de facilitar un nom d'usuari vàlid", "A valid password must be provided" : "Heu de facilitar una contrasenya vàlida", "The username is already being used" : "El nom d'usuari ja està en ús", + "Could not create user" : "No s'ha pogut crear l'usuari", "User disabled" : "Usuari desactivat", "Login canceled by app" : "Accés cancel·lat per l'App", "a safe home for all your data" : "un lloc segur per a les teves dades", @@ -142,6 +175,7 @@ "PostgreSQL >= 9 required" : "Es requereix PostgreSQL >= 9", "Please upgrade your database version" : "Actualitzeu la versió de la base de dades", "Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Canvieu els permisos a 0770 per tal que la carpeta no es pugui llistar per altres usuaris.", - "Could not obtain lock type %d on \"%s\"." : "No s'ha pogut obtenir un bloqueig tipus %d a \"%s\"." + "Could not obtain lock type %d on \"%s\"." : "No s'ha pogut obtenir un bloqueig tipus %d a \"%s\".", + "Personal" : "Personal" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js index 03436b3c2cd..8e83955040b 100644 --- a/lib/l10n/es_MX.js +++ b/lib/l10n/es_MX.js @@ -62,7 +62,7 @@ OC.L10N.register( "Help" : "Ayuda", "Apps" : "Aplicaciones", "Settings" : "Configuraciones", - "Log out" : "Salir", + "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", "APCu" : "APCu", diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json index c944ba0153a..e6c4b4bc6e1 100644 --- a/lib/l10n/es_MX.json +++ b/lib/l10n/es_MX.json @@ -60,7 +60,7 @@ "Help" : "Ayuda", "Apps" : "Aplicaciones", "Settings" : "Configuraciones", - "Log out" : "Salir", + "Log out" : "Cerrar sesión", "Users" : "Usuarios", "Unknown user" : "Ususario desconocido", "APCu" : "APCu", diff --git a/lib/l10n/fi.js b/lib/l10n/fi.js index d474e7c8df2..ee1ed07051f 100644 --- a/lib/l10n/fi.js +++ b/lib/l10n/fi.js @@ -22,6 +22,7 @@ OC.L10N.register( "Following platforms are supported: %s" : "Seuraavat alustat ovat tuettuja: %s", "Server version %s or higher is required." : "Palvelinversio %s tai sitä uudempi vaaditaan.", "Server version %s or lower is required." : "Palvelinversio %s tai alhaisempi vaaditaan.", + "Logged in user must be an admin" : "Sisäänkirjautuneen käyttäjän tulee olla ylläpitäjä", "Unknown filetype" : "Tuntematon tiedostotyyppi", "Invalid image" : "Virheellinen kuva", "Avatar image is not square" : "Avatar-kuva ei ole neliö", diff --git a/lib/l10n/fi.json b/lib/l10n/fi.json index e03f2c3b1ee..8806183f8b3 100644 --- a/lib/l10n/fi.json +++ b/lib/l10n/fi.json @@ -20,6 +20,7 @@ "Following platforms are supported: %s" : "Seuraavat alustat ovat tuettuja: %s", "Server version %s or higher is required." : "Palvelinversio %s tai sitä uudempi vaaditaan.", "Server version %s or lower is required." : "Palvelinversio %s tai alhaisempi vaaditaan.", + "Logged in user must be an admin" : "Sisäänkirjautuneen käyttäjän tulee olla ylläpitäjä", "Unknown filetype" : "Tuntematon tiedostotyyppi", "Invalid image" : "Virheellinen kuva", "Avatar image is not square" : "Avatar-kuva ei ole neliö", diff --git a/lib/l10n/sk.js b/lib/l10n/sk.js index ddd0c1de7f4..5b5f93ce175 100644 --- a/lib/l10n/sk.js +++ b/lib/l10n/sk.js @@ -66,6 +66,9 @@ OC.L10N.register( "Unknown user" : "Neznámy používateľ", "APCu" : "APCu", "Redis" : "Redis", + "Create" : "Vytvoriť", + "Delete" : "Zmazať", + "Share" : "Zdieľať", "Basic settings" : "Základné nastavenia", "Sharing" : "Sprístupnenie", "Security" : "Zabezpečenie", @@ -227,6 +230,8 @@ OC.L10N.register( "Storage incomplete configuration. %s" : "Neplatná konfigurácia úložiska. %s", "Storage connection error. %s" : "Chyba pripojenia k úložisku. %s", "Storage is temporarily not available" : "Úložisko je dočasne nedostupné", - "Storage connection timeout. %s" : "Vypršanie pripojenia k úložisku. %s" + "Storage connection timeout. %s" : "Vypršanie pripojenia k úložisku. %s", + "Personal" : "Osobné", + "App '%s' could not be installed!" : "Aplikáciu '%s' nebolo možné nainštalovať!" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/lib/l10n/sk.json b/lib/l10n/sk.json index a9b9e1e6957..107c44a73c3 100644 --- a/lib/l10n/sk.json +++ b/lib/l10n/sk.json @@ -64,6 +64,9 @@ "Unknown user" : "Neznámy používateľ", "APCu" : "APCu", "Redis" : "Redis", + "Create" : "Vytvoriť", + "Delete" : "Zmazať", + "Share" : "Zdieľať", "Basic settings" : "Základné nastavenia", "Sharing" : "Sprístupnenie", "Security" : "Zabezpečenie", @@ -225,6 +228,8 @@ "Storage incomplete configuration. %s" : "Neplatná konfigurácia úložiska. %s", "Storage connection error. %s" : "Chyba pripojenia k úložisku. %s", "Storage is temporarily not available" : "Úložisko je dočasne nedostupné", - "Storage connection timeout. %s" : "Vypršanie pripojenia k úložisku. %s" + "Storage connection timeout. %s" : "Vypršanie pripojenia k úložisku. %s", + "Personal" : "Osobné", + "App '%s' could not be installed!" : "Aplikáciu '%s' nebolo možné nainštalovať!" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }
\ No newline at end of file diff --git a/lib/private/App/AppManager.php b/lib/private/App/AppManager.php index 81f1369cb5e..4d0859b1988 100644 --- a/lib/private/App/AppManager.php +++ b/lib/private/App/AppManager.php @@ -204,7 +204,9 @@ class AppManager implements IAppManager { } /** - * Check if an app is installed in the instance + * Check if an app is enabled in the instance + * + * Notice: This actually checks if the app is enabled and not only if it is installed. * * @param string $appId * @return bool @@ -356,7 +358,7 @@ class AppManager implements IAppManager { * * @param bool $path * @param null $lang - * @return array app info + * @return array|null app info */ public function getAppInfo(string $appId, bool $path = false, $lang = null) { if ($path) { @@ -409,7 +411,9 @@ class AppManager implements IAppManager { $incompatibleApps = array(); foreach ($apps as $appId) { $info = $this->getAppInfo($appId); - if (!\OC_App::isAppCompatible($version, $info)) { + if ($info === null) { + $incompatibleApps[] = ['id' => $appId]; + } else if (!\OC_App::isAppCompatible($version, $info)) { $incompatibleApps[] = $info; } } diff --git a/lib/private/App/CodeChecker/DeprecationCheck.php b/lib/private/App/CodeChecker/DeprecationCheck.php index 3e843e4f91a..518ab1ec380 100644 --- a/lib/private/App/CodeChecker/DeprecationCheck.php +++ b/lib/private/App/CodeChecker/DeprecationCheck.php @@ -46,6 +46,7 @@ class DeprecationCheck extends AbstractCheck { 'OCP\User' => '13.0.0', 'OCP\BackgroundJob' => '14.0.0', 'OCP\App' => '14.0.0', + 'OCP\Files' => '14.0.0', ]; } @@ -174,6 +175,13 @@ class DeprecationCheck extends AbstractCheck { 'OCP\Util::mb_substr_replace' => '8.2.0', 'OCP\Util::sendMail' => '8.1.0', 'OCP\Util::writeLog' => '13.0.0', + + 'OCP\Files::rmdirr' => '14.0.0', + 'OCP\Files::getMimeType' => '14.0.0', + 'OCP\Files::searchByMime' => '14.0.0', + 'OCP\Files::streamCopy' => '14.0.0', + 'OCP\Files::buildNotExistingFileName' => '14.0.0', + 'OCP\Files::getStorage' => '14.0.0', ]; } } diff --git a/lib/private/Config.php b/lib/private/Config.php index 2abf00a718c..c881e485006 100644 --- a/lib/private/Config.php +++ b/lib/private/Config.php @@ -37,7 +37,7 @@ namespace OC; /** * This class is responsible for reading and writing config.php, the very basic - * configuration file of ownCloud. + * configuration file of Nextcloud. */ class Config { diff --git a/lib/private/Encryption/Util.php b/lib/private/Encryption/Util.php index fc0adbbd47b..ddd19ac6345 100644 --- a/lib/private/Encryption/Util.php +++ b/lib/private/Encryption/Util.php @@ -35,6 +35,7 @@ use OC\Files\Filesystem; use OC\Files\View; use OCP\Encryption\IEncryptionModule; use OCP\IConfig; +use OCP\IUser; class Util { @@ -271,9 +272,12 @@ class Util { } public function getUserWithAccessToMountPoint($users, $groups) { - $result = array(); + $result = []; if (in_array('all', $users)) { - $result = \OCP\User::getUsers(); + $users = $this->userManager->search('', null, null); + $result = array_map(function(IUser $user) { + return $user->getUID(); + }, $users); } else { $result = array_merge($result, $users); diff --git a/lib/private/Files/Filesystem.php b/lib/private/Files/Filesystem.php index 95703eab925..b9f0813c84a 100644 --- a/lib/private/Files/Filesystem.php +++ b/lib/private/Files/Filesystem.php @@ -794,7 +794,7 @@ class Filesystem { */ public static function normalizePath($path, $stripTrailingSlash = true, $isAbsolutePath = false, $keepUnicode = false) { if (is_null(self::$normalizedPathCache)) { - self::$normalizedPathCache = new CappedMemoryCache(); + self::$normalizedPathCache = new CappedMemoryCache(2048); } /** diff --git a/lib/private/Files/Mount/Manager.php b/lib/private/Files/Mount/Manager.php index 7bd888a6389..019dda03a40 100644 --- a/lib/private/Files/Mount/Manager.php +++ b/lib/private/Files/Mount/Manager.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @copyright Copyright (c) 2016, ownCloud, Inc. * @@ -25,69 +26,86 @@ namespace OC\Files\Mount; -use \OC\Files\Filesystem; +use OC\Cache\CappedMemoryCache; +use OC\Files\Filesystem; use OCP\Files\Mount\IMountManager; use OCP\Files\Mount\IMountPoint; class Manager implements IMountManager { - /** - * @var MountPoint[] - */ - private $mounts = array(); + /** @var MountPoint[] */ + private $mounts = []; + + /** @var CappedMemoryCache */ + private $pathCache; + + public function __construct() { + $this->pathCache = new CappedMemoryCache(); + } /** * @param IMountPoint $mount */ public function addMount(IMountPoint $mount) { $this->mounts[$mount->getMountPoint()] = $mount; + $this->pathCache->clear(); } /** * @param string $mountPoint */ - public function removeMount($mountPoint) { + public function removeMount(string $mountPoint) { $mountPoint = Filesystem::normalizePath($mountPoint); - if (strlen($mountPoint) > 1) { + if (\strlen($mountPoint) > 1) { $mountPoint .= '/'; } unset($this->mounts[$mountPoint]); + $this->pathCache->clear(); } /** * @param string $mountPoint * @param string $target */ - public function moveMount($mountPoint, $target){ + public function moveMount(string $mountPoint, string $target){ $this->mounts[$target] = $this->mounts[$mountPoint]; unset($this->mounts[$mountPoint]); + $this->pathCache->clear(); } /** * Find the mount for $path * * @param string $path - * @return MountPoint + * @return MountPoint|null */ - public function find($path) { + public function find(string $path) { \OC_Util::setupFS(); $path = $this->formatPath($path); if (isset($this->mounts[$path])) { return $this->mounts[$path]; } - \OC_Hook::emit('OC_Filesystem', 'get_mountpoint', array('path' => $path)); + if (isset($this->pathCache[$path])) { + return $this->pathCache[$path]; + } + + \OC_Hook::emit('OC_Filesystem', 'get_mountpoint', ['path' => $path]); $foundMountPoint = ''; $mountPoints = array_keys($this->mounts); + $foundMountPointLength = 0; foreach ($mountPoints as $mountpoint) { - if (strpos($path, $mountpoint) === 0 and strlen($mountpoint) > strlen($foundMountPoint)) { + if (\strlen($mountpoint) > $foundMountPointLength && strpos($path, $mountpoint) === 0) { $foundMountPoint = $mountpoint; + $foundMountPointLength = \strlen($foundMountPoint); } } + if (isset($this->mounts[$foundMountPoint])) { + $this->pathCache[$path] = $this->mounts[$foundMountPoint]; return $this->mounts[$foundMountPoint]; - } else { - return null; } + + return null; } /** @@ -96,14 +114,14 @@ class Manager implements IMountManager { * @param string $path * @return MountPoint[] */ - public function findIn($path) { + public function findIn(string $path): array { \OC_Util::setupFS(); $path = $this->formatPath($path); - $result = array(); - $pathLength = strlen($path); + $result = []; + $pathLength = \strlen($path); $mountPoints = array_keys($this->mounts); foreach ($mountPoints as $mountPoint) { - if (substr($mountPoint, 0, $pathLength) === $path and strlen($mountPoint) > $pathLength) { + if (substr($mountPoint, 0, $pathLength) === $path && \strlen($mountPoint) > $pathLength) { $result[] = $this->mounts[$mountPoint]; } } @@ -111,7 +129,8 @@ class Manager implements IMountManager { } public function clear() { - $this->mounts = array(); + $this->mounts = []; + $this->pathCache->clear(); } /** @@ -120,12 +139,12 @@ class Manager implements IMountManager { * @param string $id * @return MountPoint[] */ - public function findByStorageId($id) { + public function findByStorageId(string $id): array { \OC_Util::setupFS(); - if (strlen($id) > 64) { + if (\strlen($id) > 64) { $id = md5($id); } - $result = array(); + $result = []; foreach ($this->mounts as $mount) { if ($mount->getStorageId() === $id) { $result[] = $mount; @@ -137,7 +156,7 @@ class Manager implements IMountManager { /** * @return MountPoint[] */ - public function getAll() { + public function getAll(): array { return $this->mounts; } @@ -147,7 +166,7 @@ class Manager implements IMountManager { * @param int $id * @return MountPoint[] */ - public function findByNumericId($id) { + public function findByNumericId(int $id): array { $storageId = \OC\Files\Cache\Storage::getStorageId($id); return $this->findByStorageId($storageId); } @@ -156,9 +175,9 @@ class Manager implements IMountManager { * @param string $path * @return string */ - private function formatPath($path) { + private function formatPath(string $path): string { $path = Filesystem::normalizePath($path); - if (strlen($path) > 1) { + if (\strlen($path) > 1) { $path .= '/'; } return $path; diff --git a/lib/private/Files/Node/File.php b/lib/private/Files/Node/File.php index 4bfa5d583f7..2ddbac97dce 100644 --- a/lib/private/Files/Node/File.php +++ b/lib/private/Files/Node/File.php @@ -26,6 +26,7 @@ namespace OC\Files\Node; +use OCP\Files\GenericFileException; use OCP\Files\NotPermittedException; class File extends Node implements \OCP\Files\File { @@ -57,11 +58,14 @@ class File extends Node implements \OCP\Files\File { /** * @param string $data * @throws \OCP\Files\NotPermittedException + * @throws \OCP\Files\GenericFileException */ public function putContent($data) { if ($this->checkPermissions(\OCP\Constants::PERMISSION_UPDATE)) { $this->sendHooks(array('preWrite')); - $this->view->file_put_contents($this->path, $data); + if ($this->view->file_put_contents($this->path, $data) === false) { + throw new GenericFileException('file_put_contents failed'); + } $this->fileInfo = null; $this->sendHooks(array('postWrite')); } else { diff --git a/lib/private/Files/Node/Folder.php b/lib/private/Files/Node/Folder.php index fcadbe27393..95ceeee3698 100644 --- a/lib/private/Files/Node/Folder.php +++ b/lib/private/Files/Node/Folder.php @@ -302,18 +302,15 @@ class Folder extends Node implements \OCP\Files\Folder { return []; } - // we only need to get the cache info once, since all mounts we found point to the same storage - - $mount = $folderMounts[$mountsContainingFile[0]->getMountPoint()]; - $cacheEntry = $mount->getStorage()->getCache()->get((int)$id); - if (!$cacheEntry) { - return []; - } - // cache jails will hide the "true" internal path - $internalPath = ltrim($mountsContainingFile[0]->getRootInternalPath() . '/' . $cacheEntry->getPath(), '/'); - - $nodes = array_map(function (ICachedMountInfo $cachedMountInfo) use ($cacheEntry, $folderMounts, $internalPath) { + $nodes = array_map(function (ICachedMountInfo $cachedMountInfo) use ($folderMounts, $id) { $mount = $folderMounts[$cachedMountInfo->getMountPoint()]; + $cacheEntry = $mount->getStorage()->getCache()->get((int)$id); + if (!$cacheEntry) { + return null; + } + + // cache jails will hide the "true" internal path + $internalPath = ltrim($cachedMountInfo->getRootInternalPath() . '/' . $cacheEntry->getPath(), '/'); $pathRelativeToMount = substr($internalPath, strlen($cachedMountInfo->getRootInternalPath())); $pathRelativeToMount = ltrim($pathRelativeToMount, '/'); $absolutePath = $cachedMountInfo->getMountPoint() . $pathRelativeToMount; @@ -323,6 +320,8 @@ class Folder extends Node implements \OCP\Files\Folder { )); }, $mountsContainingFile); + $nodes = array_filter($nodes); + return array_filter($nodes, function (Node $node) { return $this->getRelativePath($node->getPath()); }); diff --git a/lib/private/Files/Storage/Wrapper/Encryption.php b/lib/private/Files/Storage/Wrapper/Encryption.php index b65db054055..488218e8e74 100644 --- a/lib/private/Files/Storage/Wrapper/Encryption.php +++ b/lib/private/Files/Storage/Wrapper/Encryption.php @@ -652,13 +652,14 @@ class Encryption extends Wrapper { * @param string $sourceInternalPath * @param string $targetInternalPath * @param bool $isRename + * @param bool $keepEncryptionVersion */ - private function updateEncryptedVersion(Storage\IStorage $sourceStorage, $sourceInternalPath, $targetInternalPath, $isRename) { - $isEncrypted = $this->encryptionManager->isEnabled() && $this->shouldEncrypt($targetInternalPath) ? 1 : 0; + private function updateEncryptedVersion(Storage\IStorage $sourceStorage, $sourceInternalPath, $targetInternalPath, $isRename, $keepEncryptionVersion) { + $isEncrypted = $this->encryptionManager->isEnabled() && $this->shouldEncrypt($targetInternalPath); $cacheInformation = [ - 'encrypted' => (bool)$isEncrypted, + 'encrypted' => $isEncrypted, ]; - if($isEncrypted === 1) { + if($isEncrypted) { $encryptedVersion = $sourceStorage->getCache()->get($sourceInternalPath)['encryptedVersion']; // In case of a move operation from an unencrypted to an encrypted @@ -666,7 +667,7 @@ class Encryption extends Wrapper { // correct value would be "1". Thus we manually set the value to "1" // for those cases. // See also https://github.com/owncloud/core/issues/23078 - if($encryptedVersion === 0) { + if($encryptedVersion === 0 || !$keepEncryptionVersion) { $encryptedVersion = 1; } @@ -714,7 +715,7 @@ class Encryption extends Wrapper { $info['size'] ); } - $this->updateEncryptedVersion($sourceStorage, $sourceInternalPath, $targetInternalPath, $isRename); + $this->updateEncryptedVersion($sourceStorage, $sourceInternalPath, $targetInternalPath, $isRename, true); } return $result; } @@ -757,7 +758,7 @@ class Encryption extends Wrapper { if ($preserveMtime) { $this->touch($targetInternalPath, $sourceStorage->filemtime($sourceInternalPath)); } - $this->updateEncryptedVersion($sourceStorage, $sourceInternalPath, $targetInternalPath, $isRename); + $this->updateEncryptedVersion($sourceStorage, $sourceInternalPath, $targetInternalPath, $isRename, false); } else { // delete partially written target file $this->unlink($targetInternalPath); diff --git a/lib/private/Group/Database.php b/lib/private/Group/Database.php index a439a978cce..abd7f6ee6ee 100644 --- a/lib/private/Group/Database.php +++ b/lib/private/Group/Database.php @@ -40,23 +40,25 @@ namespace OC\Group; +use OCP\IDBConnection; + /** * Class for group management in a SQL Database (e.g. MySQL, SQLite) */ -class Database extends \OC\Group\Backend { +class Database extends Backend { /** @var string[] */ private $groupCache = []; - /** @var \OCP\IDBConnection */ + /** @var IDBConnection */ private $dbConn; /** * \OC\Group\Database constructor. * - * @param \OCP\IDBConnection|null $dbConn + * @param IDBConnection|null $dbConn */ - public function __construct(\OCP\IDBConnection $dbConn = null) { + public function __construct(IDBConnection $dbConn = null) { $this->dbConn = $dbConn; } @@ -219,7 +221,7 @@ class Database extends \OC\Group\Backend { $groups = []; while( $row = $cursor->fetch()) { - $groups[] = $row["gid"]; + $groups[] = $row['gid']; $this->groupCache[$row['gid']] = $row['gid']; } $cursor->closeCursor(); @@ -237,19 +239,29 @@ class Database extends \OC\Group\Backend { * Returns a list with all groups */ public function getGroups($search = '', $limit = null, $offset = null) { - $parameters = []; - $searchLike = ''; + $this->fixDI(); + + $query = $this->dbConn->getQueryBuilder(); + $query->select('gid') + ->from('groups') + ->orderBy('gid', 'ASC'); + if ($search !== '') { - $parameters[] = '%' . $search . '%'; - $searchLike = ' WHERE LOWER(`gid`) LIKE LOWER(?)'; + $query->where($query->expr()->iLike('gid', $query->createNamedParameter( + '%' . $this->dbConn->escapeLikeParameter($search) . '%' + ))); } - $stmt = \OC_DB::prepare('SELECT `gid` FROM `*PREFIX*groups`' . $searchLike . ' ORDER BY `gid` ASC', $limit, $offset); - $result = $stmt->execute($parameters); - $groups = array(); - while ($row = $result->fetchRow()) { + $query->setMaxResults($limit) + ->setFirstResult($offset); + $result = $query->execute(); + + $groups = []; + while ($row = $result->fetch()) { $groups[] = $row['gid']; } + $result->closeCursor(); + return $groups; } @@ -290,21 +302,30 @@ class Database extends \OC\Group\Backend { * @return array an array of user ids */ public function usersInGroup($gid, $search = '', $limit = null, $offset = null) { - $parameters = [$gid]; - $searchLike = ''; + $this->fixDI(); + + $query = $this->dbConn->getQueryBuilder(); + $query->select('uid') + ->from('group_user') + ->where($query->expr()->eq('gid', $query->createNamedParameter($gid))) + ->orderBy('uid', 'ASC'); + if ($search !== '') { - $parameters[] = '%' . $this->dbConn->escapeLikeParameter($search) . '%'; - $searchLike = ' AND `uid` LIKE ?'; + $query->andWhere($query->expr()->like('uid', $query->createNamedParameter( + '%' . $this->dbConn->escapeLikeParameter($search) . '%' + ))); } - $stmt = \OC_DB::prepare('SELECT `uid` FROM `*PREFIX*group_user` WHERE `gid` = ?' . $searchLike . ' ORDER BY `uid` ASC', - $limit, - $offset); - $result = $stmt->execute($parameters); - $users = array(); - while ($row = $result->fetchRow()) { + $query->setMaxResults($limit) + ->setFirstResult($offset); + $result = $query->execute(); + + $users = []; + while ($row = $result->fetch()) { $users[] = $row['uid']; } + $result->closeCursor(); + return $users; } @@ -313,20 +334,26 @@ class Database extends \OC\Group\Backend { * @param string $gid * @param string $search * @return int|false - * @throws \OC\DatabaseException */ public function countUsersInGroup($gid, $search = '') { - $parameters = [$gid]; - $searchLike = ''; + $this->fixDI(); + + $query = $this->dbConn->getQueryBuilder(); + $query->selectAlias($query->createFunction('COUNT(*)'), 'num_users') + ->from('group_user') + ->where($query->expr()->eq('gid', $query->createNamedParameter($gid))); + if ($search !== '') { - $parameters[] = '%' . $this->dbConn->escapeLikeParameter($search) . '%'; - $searchLike = ' AND `uid` LIKE ?'; + $query->andWhere($query->expr()->like('uid', $query->createNamedParameter( + '%' . $this->dbConn->escapeLikeParameter($search) . '%' + ))); } - $stmt = \OC_DB::prepare('SELECT COUNT(`uid`) AS `count` FROM `*PREFIX*group_user` WHERE `gid` = ?' . $searchLike); - $result = $stmt->execute($parameters); - $count = $result->fetchOne(); - if($count !== false) { + $result = $query->execute(); + $count = $result->fetchColumn(); + $result->closeCursor(); + + if ($count !== false) { $count = (int)$count; } return $count; diff --git a/lib/private/Installer.php b/lib/private/Installer.php index ab0ef836fbb..1b40b4955d6 100644 --- a/lib/private/Installer.php +++ b/lib/private/Installer.php @@ -166,17 +166,6 @@ class Installer { } /** - * @brief checks whether or not an app is installed - * @param string $app app - * @returns bool - * - * Checks whether or not an app is installed, i.e. registered in apps table. - */ - public static function isInstalled( $app ) { - return (\OC::$server->getConfig()->getAppValue($app, "installed_version", null) !== null); - } - - /** * Updates the specified app from the appstore * * @param string $appId @@ -510,17 +499,19 @@ class Installer { * @return array Array of error messages (appid => Exception) */ public static function installShippedApps($softErrors = false) { + $appManager = \OC::$server->getAppManager(); + $config = \OC::$server->getConfig(); $errors = []; foreach(\OC::$APPSROOTS as $app_dir) { if($dir = opendir( $app_dir['path'] )) { while( false !== ( $filename = readdir( $dir ))) { if( $filename[0] !== '.' and is_dir($app_dir['path']."/$filename") ) { if( file_exists( $app_dir['path']."/$filename/appinfo/info.xml" )) { - if(!Installer::isInstalled($filename)) { + if($config->getAppValue($filename, "installed_version", null) === null) { $info=OC_App::getAppInfo($filename); $enabled = isset($info['default_enable']); - if (($enabled || in_array($filename, \OC::$server->getAppManager()->getAlwaysEnabledApps())) - && \OC::$server->getConfig()->getAppValue($filename, 'enabled') !== 'no') { + if (($enabled || in_array($filename, $appManager->getAlwaysEnabledApps())) + && $config->getAppValue($filename, 'enabled') !== 'no') { if ($softErrors) { try { Installer::installShippedApp($filename); @@ -534,7 +525,7 @@ class Installer { } else { Installer::installShippedApp($filename); } - \OC::$server->getConfig()->setAppValue($filename, 'enabled', 'yes'); + $config->setAppValue($filename, 'enabled', 'yes'); } } } diff --git a/lib/private/Share/Share.php b/lib/private/Share/Share.php index 90a05ac51a8..9c82fcc268b 100644 --- a/lib/private/Share/Share.php +++ b/lib/private/Share/Share.php @@ -1238,7 +1238,8 @@ class Share extends Constants { $row['share_with_displayname'] = $row['share_with']; if ( isset($row['share_with']) && $row['share_with'] != '' && $row['share_type'] === self::SHARE_TYPE_USER) { - $row['share_with_displayname'] = \OCP\User::getDisplayName($row['share_with']); + $shareWithUser = \OC::$server->getUserManager()->get($row['share_with']); + $row['share_with_displayname'] = $shareWithUser === null ? $row['share_with'] : $shareWithUser->getDisplayName(); } else if(isset($row['share_with']) && $row['share_with'] != '' && $row['share_type'] === self::SHARE_TYPE_REMOTE) { $addressBookEntries = \OC::$server->getContactsManager()->search($row['share_with'], ['CLOUD']); @@ -1251,7 +1252,8 @@ class Share extends Constants { } } if ( isset($row['uid_owner']) && $row['uid_owner'] != '') { - $row['displayname_owner'] = \OCP\User::getDisplayName($row['uid_owner']); + $ownerUser = \OC::$server->getUserManager()->get($row['uid_owner']); + $row['displayname_owner'] = $ownerUser === null ? $row['uid_owner'] : $ownerUser->getDisplayName(); } if ($row['permissions'] > 0) { diff --git a/lib/private/Tags.php b/lib/private/Tags.php index 2bc5572c40f..c78297e5290 100644 --- a/lib/private/Tags.php +++ b/lib/private/Tags.php @@ -237,7 +237,7 @@ class Tags implements \OCP\ITags { $entries[$objId][] = $row['category']; } if ($result === null) { - \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OCP\DB::getErrorMessage(), \OCP\Util::ERROR); + \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OC::$server->getDatabaseConnection()->getError(), \OCP\Util::ERROR); return false; } } @@ -288,10 +288,10 @@ class Tags implements \OCP\ITags { . '` WHERE `categoryid` = ?'; try { - $stmt = \OCP\DB::prepare($sql); + $stmt = \OC_DB::prepare($sql); $result = $stmt->execute(array($tagId)); if ($result === null) { - \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OCP\DB::getErrorMessage(), \OCP\Util::ERROR); + \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OC::$server->getDatabaseConnection()->getError(), \OCP\Util::ERROR); return false; } } catch(\Exception $e) { @@ -530,11 +530,11 @@ class Tags implements \OCP\ITags { // Find all objectid/tagId pairs. $result = null; try { - $stmt = \OCP\DB::prepare('SELECT `id` FROM `' . self::TAG_TABLE . '` ' + $stmt = \OC_DB::prepare('SELECT `id` FROM `' . self::TAG_TABLE . '` ' . 'WHERE `uid` = ?'); $result = $stmt->execute(array($arguments['uid'])); if ($result === null) { - \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OCP\DB::getErrorMessage(), \OCP\Util::ERROR); + \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OC::$server->getDatabaseConnection()->getError(), \OCP\Util::ERROR); } } catch(\Exception $e) { \OC::$server->getLogger()->logException($e, [ @@ -546,7 +546,7 @@ class Tags implements \OCP\ITags { if(!is_null($result)) { try { - $stmt = \OCP\DB::prepare('DELETE FROM `' . self::RELATION_TABLE . '` ' + $stmt = \OC_DB::prepare('DELETE FROM `' . self::RELATION_TABLE . '` ' . 'WHERE `categoryid` = ?'); while( $row = $result->fetchRow()) { try { @@ -568,11 +568,11 @@ class Tags implements \OCP\ITags { } } try { - $stmt = \OCP\DB::prepare('DELETE FROM `' . self::TAG_TABLE . '` ' + $stmt = \OC_DB::prepare('DELETE FROM `' . self::TAG_TABLE . '` ' . 'WHERE `uid` = ?'); $result = $stmt->execute(array($arguments['uid'])); if ($result === null) { - \OCP\Util::writeLog('core', __METHOD__. ', DB error: ' . \OCP\DB::getErrorMessage(), \OCP\Util::ERROR); + \OCP\Util::writeLog('core', __METHOD__. ', DB error: ' . \OC::$server->getDatabaseConnection()->getError(), \OCP\Util::ERROR); } } catch(\Exception $e) { \OC::$server->getLogger()->logException($e, [ @@ -600,10 +600,10 @@ class Tags implements \OCP\ITags { $query .= 'WHERE `objid` IN (' . str_repeat('?,', count($ids)-1) . '?) '; $query .= 'AND `type`= ?'; $updates[] = $this->type; - $stmt = \OCP\DB::prepare($query); + $stmt = \OC_DB::prepare($query); $result = $stmt->execute($updates); if ($result === null) { - \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OCP\DB::getErrorMessage(), \OCP\Util::ERROR); + \OCP\Util::writeLog('core', __METHOD__. 'DB error: ' . \OC::$server->getDatabaseConnection()->getError(), \OCP\Util::ERROR); return false; } } catch(\Exception $e) { @@ -719,7 +719,7 @@ class Tags implements \OCP\ITags { try { $sql = 'DELETE FROM `' . self::RELATION_TABLE . '` ' . 'WHERE `objid` = ? AND `categoryid` = ? AND `type` = ?'; - $stmt = \OCP\DB::prepare($sql); + $stmt = \OC_DB::prepare($sql); $stmt->execute(array($objid, $tagId, $this->type)); } catch(\Exception $e) { \OC::$server->getLogger()->logException($e, [ @@ -769,11 +769,11 @@ class Tags implements \OCP\ITags { try { $sql = 'DELETE FROM `' . self::RELATION_TABLE . '` ' . 'WHERE `categoryid` = ?'; - $stmt = \OCP\DB::prepare($sql); + $stmt = \OC_DB::prepare($sql); $result = $stmt->execute(array($id)); if ($result === null) { \OCP\Util::writeLog('core', - __METHOD__. 'DB error: ' . \OCP\DB::getErrorMessage(), + __METHOD__. 'DB error: ' . \OC::$server->getDatabaseConnection()->getError(), \OCP\Util::ERROR); return false; } diff --git a/lib/private/Template/SCSSCacher.php b/lib/private/Template/SCSSCacher.php index 0f5be9643b4..6fb9d11953b 100644 --- a/lib/private/Template/SCSSCacher.php +++ b/lib/private/Template/SCSSCacher.php @@ -112,7 +112,7 @@ class SCSSCacher { $path = explode('/', $root . '/' . $file); $fileNameSCSS = array_pop($path); - $fileNameCSS = $this->prependBaseurlPrefix(str_replace('.scss', '.css', $fileNameSCSS)); + $fileNameCSS = $this->prependVersionPrefix($this->prependBaseurlPrefix(str_replace('.scss', '.css', $fileNameSCSS)), $app); $path = implode('/', $path); $webDir = $this->getWebDir($path, $app, $this->serverRoot, \OC::$WEBROOT); @@ -138,7 +138,8 @@ class SCSSCacher { */ public function getCachedCSS(string $appName, string $fileName): ISimpleFile { $folder = $this->appData->getFolder($appName); - return $folder->getFile($this->prependBaseurlPrefix($fileName)); + $cachedFileName = $this->prependVersionPrefix($this->prependBaseurlPrefix($fileName), $appName); + return $folder->getFile($cachedFileName); } /** @@ -322,19 +323,34 @@ class SCSSCacher { public function getCachedSCSS(string $appName, string $fileName): string { $tmpfileLoc = explode('/', $fileName); $fileName = array_pop($tmpfileLoc); - $fileName = $this->prependBaseurlPrefix(str_replace('.scss', '.css', $fileName)); + $fileName = $this->prependVersionPrefix($this->prependBaseurlPrefix(str_replace('.scss', '.css', $fileName)), $appName); return substr($this->urlGenerator->linkToRoute('core.Css.getCss', ['fileName' => $fileName, 'appName' => $appName]), strlen(\OC::$WEBROOT) + 1); } /** * Prepend hashed base url to the css file - * @param string$cssFile + * @param string $cssFile * @return string */ private function prependBaseurlPrefix(string $cssFile): string { $frontendController = ($this->config->getSystemValue('htaccess.IgnoreFrontController', false) === true || getenv('front_controller_active') === 'true'); - return substr(md5($this->urlGenerator->getBaseUrl() . $frontendController), 0, 8) . '-' . $cssFile; + return substr(md5($this->urlGenerator->getBaseUrl() . $frontendController), 0, 4) . '-' . $cssFile; + } + + /** + * Prepend hashed app version hash + * @param string $cssFile + * @param string $appId + * @return string + */ + private function prependVersionPrefix(string $cssFile, string $appId): string { + $appVersion = \OC_App::getAppVersion($appId); + if ($appVersion !== '0') { + return substr(md5($appVersion), 0, 4) . '-' . $cssFile; + } + $coreVersion = \OC_Util::getVersionString(); + return substr(md5($coreVersion), 0, 4) . '-' . $cssFile; } /** diff --git a/lib/private/Updater.php b/lib/private/Updater.php index 4dc8edc0272..49a4a1094ed 100644 --- a/lib/private/Updater.php +++ b/lib/private/Updater.php @@ -391,7 +391,7 @@ class Updater extends BasicEmitter { foreach ($apps as $app) { // check if the app is compatible with this version of ownCloud $info = OC_App::getAppInfo($app); - if(!OC_App::isAppCompatible($version, $info)) { + if($info === null || !OC_App::isAppCompatible($version, $info)) { if ($appManager->isShipped($app)) { throw new \UnexpectedValueException('The files of the app "' . $app . '" were not correctly replaced before running the update'); } diff --git a/lib/private/Updater/VersionCheck.php b/lib/private/Updater/VersionCheck.php index c7b829c9ec5..5cfc3c81a14 100644 --- a/lib/private/Updater/VersionCheck.php +++ b/lib/private/Updater/VersionCheck.php @@ -98,6 +98,7 @@ class VersionCheck { $tmp['url'] = (string)$data->url; $tmp['web'] = (string)$data->web; $tmp['autoupdater'] = (string)$data->autoupdater; + $tmp['eol'] = isset($data->eol) ? (string)$data->eol : '0'; } else { libxml_clear_errors(); } diff --git a/lib/private/User/Database.php b/lib/private/User/Database.php index 8dad3ef5fcd..d92390cdc96 100644 --- a/lib/private/User/Database.php +++ b/lib/private/User/Database.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @copyright Copyright (c) 2016, ownCloud, Inc. * @@ -57,8 +58,14 @@ namespace OC\User; use OC\Cache\CappedMemoryCache; -use OC\DB\QueryBuilder\Literal; -use OCP\IUserBackend; +use OCP\User\Backend\ABackend; +use OCP\User\Backend\ICheckPasswordBackend; +use OCP\User\Backend\ICountUsersBackend; +use OCP\User\Backend\ICreateUserBackend; +use OCP\User\Backend\IGetDisplayNameBackend; +use OCP\User\Backend\IGetHomeBackend; +use OCP\User\Backend\ISetDisplayNameBackend; +use OCP\User\Backend\ISetPasswordBackend; use OCP\Util; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\GenericEvent; @@ -66,7 +73,14 @@ use Symfony\Component\EventDispatcher\GenericEvent; /** * Class for user management in a SQL Database (e.g. MySQL, SQLite) */ -class Database extends Backend implements IUserBackend { +class Database extends ABackend + implements ICreateUserBackend, + ISetPasswordBackend, + ISetDisplayNameBackend, + IGetDisplayNameBackend, + ICheckPasswordBackend, + IGetHomeBackend, + ICountUsersBackend { /** @var CappedMemoryCache */ private $cache; @@ -93,13 +107,13 @@ class Database extends Backend implements IUserBackend { * Creates a new user. Basic checking of username is done in OC_User * itself, not in its subclasses. */ - public function createUser($uid, $password) { + public function createUser(string $uid, string $password): bool { if (!$this->userExists($uid)) { $event = new GenericEvent($password); $this->eventDispatcher->dispatch('OCP\PasswordPolicy::validate', $event); $query = \OC_DB::prepare('INSERT INTO `*PREFIX*users` ( `uid`, `password` ) VALUES( ?, ? )'); try { - $result = $query->execute(array($uid, \OC::$server->getHasher()->hash($password))); + $result = $query->execute([$uid, \OC::$server->getHasher()->hash($password)]); } catch (\Exception $e) { $result = false; } @@ -124,7 +138,7 @@ class Database extends Backend implements IUserBackend { public function deleteUser($uid) { // Delete user-group-relation $query = \OC_DB::prepare('DELETE FROM `*PREFIX*users` WHERE `uid` = ?'); - $result = $query->execute(array($uid)); + $result = $query->execute([$uid]); if (isset($this->cache[$uid])) { unset($this->cache[$uid]); @@ -142,12 +156,12 @@ class Database extends Backend implements IUserBackend { * * Change the password of a user */ - public function setPassword($uid, $password) { + public function setPassword(string $uid, string $password): bool { if ($this->userExists($uid)) { $event = new GenericEvent($password); $this->eventDispatcher->dispatch('OCP\PasswordPolicy::validate', $event); $query = \OC_DB::prepare('UPDATE `*PREFIX*users` SET `password` = ? WHERE `uid` = ?'); - $result = $query->execute(array(\OC::$server->getHasher()->hash($password), $uid)); + $result = $query->execute([\OC::$server->getHasher()->hash($password), $uid]); return $result ? true : false; } @@ -164,10 +178,10 @@ class Database extends Backend implements IUserBackend { * * Change the display name of a user */ - public function setDisplayName($uid, $displayName) { + public function setDisplayName(string $uid, string $displayName): bool { if ($this->userExists($uid)) { $query = \OC_DB::prepare('UPDATE `*PREFIX*users` SET `displayname` = ? WHERE LOWER(`uid`) = LOWER(?)'); - $query->execute(array($displayName, $uid)); + $query->execute([$displayName, $uid]); $this->cache[$uid]['displayname'] = $displayName; return true; @@ -182,7 +196,7 @@ class Database extends Backend implements IUserBackend { * @param string $uid user ID of the user * @return string display name */ - public function getDisplayName($uid) { + public function getDisplayName($uid): string { $this->loadUser($uid); return empty($this->cache[$uid]['displayname']) ? $uid : $this->cache[$uid]['displayname']; } @@ -235,9 +249,9 @@ class Database extends Backend implements IUserBackend { * Check if the password is correct without logging in the user * returns the user id or false */ - public function checkPassword($uid, $password) { + public function checkPassword(string $uid, string $password) { $query = \OC_DB::prepare('SELECT `uid`, `password` FROM `*PREFIX*users` WHERE LOWER(`uid`) = LOWER(?)'); - $result = $query->execute(array($uid)); + $result = $query->execute([$uid]); $row = $result->fetchRow(); if ($row) { @@ -271,7 +285,7 @@ class Database extends Backend implements IUserBackend { } $query = \OC_DB::prepare('SELECT `uid`, `displayname` FROM `*PREFIX*users` WHERE LOWER(`uid`) = LOWER(?)'); - $result = $query->execute(array($uid)); + $result = $query->execute([$uid]); if ($result === false) { Util::writeLog('core', \OC_DB::getErrorMessage(), Util::ERROR); @@ -326,9 +340,9 @@ class Database extends Backend implements IUserBackend { * @param string $uid the username * @return string|false */ - public function getHome($uid) { + public function getHome(string $uid) { if ($this->userExists($uid)) { - return \OC::$server->getConfig()->getSystemValue("datadirectory", \OC::$SERVERROOT . "/data") . '/' . $uid; + return \OC::$server->getConfig()->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/' . $uid; } return false; diff --git a/lib/private/User/Manager.php b/lib/private/User/Manager.php index 5f2a010561c..abc7a45e6bc 100644 --- a/lib/private/User/Manager.php +++ b/lib/private/User/Manager.php @@ -478,6 +478,7 @@ class Manager extends PublicEmitter implements IUserManager { if ($return === false) { return; } + break; } } } @@ -488,7 +489,7 @@ class Manager extends PublicEmitter implements IUserManager { * Getting all userIds that have a listLogin value requires checking the * value in php because on oracle you cannot use a clob in a where clause, * preventing us from doing a not null or length(value) > 0 check. - * + * * @param int $limit * @param int $offset * @return string[] with user ids diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php index bc450ffa25d..cabeed1d62d 100644 --- a/lib/private/legacy/app.php +++ b/lib/private/legacy/app.php @@ -383,6 +383,7 @@ class OC_App { array $groups = []) { // Check if app is already downloaded + /** @var Installer $installer */ $installer = \OC::$server->query(Installer::class); $isDownloaded = $installer->isDownloaded($appId); diff --git a/lib/private/legacy/defaults.php b/lib/private/legacy/defaults.php index c541e53a48d..3a22c91a8df 100644 --- a/lib/private/legacy/defaults.php +++ b/lib/private/legacy/defaults.php @@ -54,15 +54,16 @@ class OC_Defaults { public function __construct() { $this->l = \OC::$server->getL10N('lib'); + $config = \OC::$server->getConfig(); $this->defaultEntity = 'Nextcloud'; /* e.g. company name, used for footers and copyright notices */ $this->defaultName = 'Nextcloud'; /* short name, used when referring to the software */ $this->defaultTitle = 'Nextcloud'; /* can be a longer name, for titles */ $this->defaultBaseUrl = 'https://nextcloud.com'; - $this->defaultSyncClientUrl = 'https://nextcloud.com/install/#install-clients'; - $this->defaultiOSClientUrl = 'https://geo.itunes.apple.com/us/app/nextcloud/id1125420102?mt=8'; - $this->defaultiTunesAppId = '1125420102'; - $this->defaultAndroidClientUrl = 'https://play.google.com/store/apps/details?id=com.nextcloud.client'; + $this->defaultSyncClientUrl = $config->getSystemValue('customclient_desktop', 'https://nextcloud.com/install/#install-clients'); + $this->defaultiOSClientUrl = $config->getSystemValue('customclient_ios', 'https://geo.itunes.apple.com/us/app/nextcloud/id1125420102?mt=8'); + $this->defaultiTunesAppId = $config->getSystemValue('customclient_ios_appid', '1125420102'); + $this->defaultAndroidClientUrl = $config->getSystemValue('customclient_android', 'https://play.google.com/store/apps/details?id=com.nextcloud.client'); $this->defaultDocBaseUrl = 'https://docs.nextcloud.com'; $this->defaultDocVersion = '14'; // used to generate doc links $this->defaultSlogan = $this->l->t('a safe home for all your data'); diff --git a/lib/private/legacy/eventsource.php b/lib/private/legacy/eventsource.php index 1a8061c0ed2..1e68dd24af0 100644 --- a/lib/private/legacy/eventsource.php +++ b/lib/private/legacy/eventsource.php @@ -110,13 +110,13 @@ class OC_EventSource implements \OCP\IEventSource { } if ($this->fallback) { $response = '<script type="text/javascript">window.parent.OC.EventSource.fallBackCallBack(' - . $this->fallBackId . ',"' . $type . '",' . OCP\JSON::encode($data) . ')</script>' . PHP_EOL; + . $this->fallBackId . ',"' . $type . '",' . OC_JSON::encode($data) . ')</script>' . PHP_EOL; echo $response; } else { if ($type) { echo 'event: ' . $type . PHP_EOL; } - echo 'data: ' . OCP\JSON::encode($data) . PHP_EOL; + echo 'data: ' . OC_JSON::encode($data) . PHP_EOL; } echo PHP_EOL; flush(); diff --git a/lib/private/legacy/group/backend.php b/lib/private/legacy/group/backend.php deleted file mode 100644 index 534004c97e9..00000000000 --- a/lib/private/legacy/group/backend.php +++ /dev/null @@ -1,56 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2016, ownCloud, Inc. - * - * @author Arthur Schiwon <blizzz@arthur-schiwon.de> - * @author Bart Visscher <bartv@thisnet.nl> - * @author Jakob Sack <mail@jakobsack.de> - * @author Joas Schilling <coding@schilljs.com> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <robin@icewind.nl> - * @author Roeland Jago Douma <roeland@famdouma.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/> - * - */ - -/** - * error code for functions not provided by the group backend - * @deprecated Use \OC_Group_Backend::NOT_IMPLEMENTED instead - */ -define('OC_GROUP_BACKEND_NOT_IMPLEMENTED', -501); - -/** - * actions that user backends can define - */ -/** @deprecated Use \OC_Group_Backend::CREATE_GROUP instead */ -define('OC_GROUP_BACKEND_CREATE_GROUP', 0x00000001); -/** @deprecated Use \OC_Group_Backend::DELETE_GROUP instead */ -define('OC_GROUP_BACKEND_DELETE_GROUP', 0x00000010); -/** @deprecated Use \OC_Group_Backend::ADD_TO_GROUP instead */ -define('OC_GROUP_BACKEND_ADD_TO_GROUP', 0x00000100); -/** @deprecated Use \OC_Group_Backend::REMOVE_FROM_GOUP instead */ -define('OC_GROUP_BACKEND_REMOVE_FROM_GOUP', 0x00001000); -/** @deprecated Obsolete */ -define('OC_GROUP_BACKEND_GET_DISPLAYNAME', 0x00010000); //OBSOLETE -/** @deprecated Use \OC_Group_Backend::COUNT_USERS instead */ -define('OC_GROUP_BACKEND_COUNT_USERS', 0x00100000); - -/** - * Abstract base class for user management - * @deprecated Since 9.1.0 use \OC\Group\Backend - */ -abstract class OC_Group_Backend extends \OC\Group\Backend { -} diff --git a/lib/private/legacy/json.php b/lib/private/legacy/json.php index b02e5c879fc..9588834e934 100644 --- a/lib/private/legacy/json.php +++ b/lib/private/legacy/json.php @@ -37,18 +37,6 @@ * @deprecated Use a AppFramework JSONResponse instead */ class OC_JSON{ - static protected $send_content_type_header = false; - /** - * set Content-Type header to jsonrequest - * @deprecated Use a AppFramework JSONResponse instead - */ - public static function setContentTypeHeader($type='application/json') { - if (!self::$send_content_type_header) { - // We send json data - header( 'Content-Type: '.$type . '; charset=utf-8'); - self::$send_content_type_header = true; - } - } /** * Check if the app is enabled, send json error msg if not @@ -137,7 +125,8 @@ class OC_JSON{ */ public static function error($data = array()) { $data['status'] = 'error'; - self::encodedPrint($data); + header( 'Content-Type: application/json; charset=utf-8'); + echo self::encode($data); } /** @@ -147,7 +136,8 @@ class OC_JSON{ */ public static function success($data = array()) { $data['status'] = 'success'; - self::encodedPrint($data); + header( 'Content-Type: application/json; charset=utf-8'); + echo self::encode($data); } /** @@ -160,18 +150,6 @@ class OC_JSON{ } /** - * Encode and print $data in json format - * @deprecated Use a AppFramework JSONResponse instead - * @suppress PhanDeprecatedFunction - */ - public static function encodedPrint($data, $setContentType=true) { - if($setContentType) { - self::setContentTypeHeader(); - } - echo self::encode($data); - } - - /** * Encode JSON * @deprecated Use a AppFramework JSONResponse instead */ diff --git a/lib/private/legacy/user.php b/lib/private/legacy/user.php index 8f342281adb..9c877f22a46 100644 --- a/lib/private/legacy/user.php +++ b/lib/private/legacy/user.php @@ -312,6 +312,8 @@ class OC_User { * * @param string $uid * @return string|bool uid or false + * @deprecated 8.1.0 fetch \OCP\IUser (has getDisplayName()) by using method + * get() of \OCP\IUserManager - \OC::$server->getUserManager() */ public static function getDisplayName($uid = null) { if ($uid) { @@ -367,25 +369,6 @@ class OC_User { } /** - * Get a list of all users - * - * @return array an array of all uids - * - * Get a list of all users. - * @param string $search - * @param integer $limit - * @param integer $offset - */ - public static function getUsers($search = '', $limit = null, $offset = null) { - $users = \OC::$server->getUserManager()->search($search, $limit, $offset); - $uids = array(); - foreach ($users as $user) { - $uids[] = $user->getUID(); - } - return $uids; - } - - /** * Get a list of all users display name * * @param string $search diff --git a/lib/public/App/IAppManager.php b/lib/public/App/IAppManager.php index f0f14061e35..4840d71d756 100644 --- a/lib/public/App/IAppManager.php +++ b/lib/public/App/IAppManager.php @@ -67,7 +67,9 @@ interface IAppManager { public function isEnabledForUser($appId, $user = null); /** - * Check if an app is installed in the instance + * Check if an app is enabled in the instance + * + * Notice: This actually checks if the app is enabled and not only if it is installed. * * @param string $appId * @return bool diff --git a/lib/public/Authentication/TwoFactorAuth/IProvider.php b/lib/public/Authentication/TwoFactorAuth/IProvider.php index c4c481a2f32..84752cecc77 100644 --- a/lib/public/Authentication/TwoFactorAuth/IProvider.php +++ b/lib/public/Authentication/TwoFactorAuth/IProvider.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @copyright Copyright (c) 2016, ownCloud, Inc. * @@ -43,7 +44,7 @@ interface IProvider { * * @return string */ - public function getId(); + public function getId(): string; /** * Get the display name for selecting the 2FA provider @@ -54,7 +55,7 @@ interface IProvider { * * @return string */ - public function getDisplayName(); + public function getDisplayName(): string; /** * Get the description for selecting the 2FA provider @@ -65,7 +66,7 @@ interface IProvider { * * @return string */ - public function getDescription(); + public function getDescription(): string; /** * Get the template for rending the 2FA provider view @@ -75,7 +76,7 @@ interface IProvider { * @param IUser $user * @return Template */ - public function getTemplate(IUser $user); + public function getTemplate(IUser $user): Template; /** * Verify the given challenge @@ -84,8 +85,9 @@ interface IProvider { * * @param IUser $user * @param string $challenge + * @return bool */ - public function verifyChallenge(IUser $user, $challenge); + public function verifyChallenge(IUser $user, string $challenge): bool; /** * Decides whether 2FA is enabled for the given user @@ -93,7 +95,7 @@ interface IProvider { * @since 9.1.0 * * @param IUser $user - * @return boolean + * @return bool */ - public function isTwoFactorAuthEnabledForUser(IUser $user); + public function isTwoFactorAuthEnabledForUser(IUser $user): bool; } diff --git a/lib/public/Authentication/TwoFactorAuth/IProvidesCustomCSP.php b/lib/public/Authentication/TwoFactorAuth/IProvidesCustomCSP.php index 2a498adc0b8..3b477dc53fe 100644 --- a/lib/public/Authentication/TwoFactorAuth/IProvidesCustomCSP.php +++ b/lib/public/Authentication/TwoFactorAuth/IProvidesCustomCSP.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * * @@ -35,5 +36,5 @@ interface IProvidesCustomCSP { * * @since 13.0.0 */ - public function getCSP(); + public function getCSP(): ContentSecurityPolicy; } diff --git a/lib/public/Authentication/TwoFactorAuth/TwoFactorException.php b/lib/public/Authentication/TwoFactorAuth/TwoFactorException.php index a18b9e8c4a8..d94c3e61465 100644 --- a/lib/public/Authentication/TwoFactorAuth/TwoFactorException.php +++ b/lib/public/Authentication/TwoFactorAuth/TwoFactorException.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @copyright Copyright (c) 2016, ownCloud GmbH. * diff --git a/lib/public/DB.php b/lib/public/DB.php deleted file mode 100644 index 23ebdceccd0..00000000000 --- a/lib/public/DB.php +++ /dev/null @@ -1,93 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2016, ownCloud, Inc. - * - * @author Bart Visscher <bartv@thisnet.nl> - * @author Dan Bartram <daneybartram@gmail.com> - * @author Frank Karlitschek <frank@karlitschek.de> - * @author Joas Schilling <coding@schilljs.com> - * @author Jörn Friedrich Dreyer <jfd@butonic.de> - * @author Lukas Reschke <lukas@statuscode.ch> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <robin@icewind.nl> - * @author Roeland Jago Douma <roeland@famdouma.nl> - * @author Thomas Müller <thomas.mueller@tmit.eu> - * @author Thomas Tanghus <thomas@tanghus.net> - * - * @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/> - * - */ - -/** - * Public interface of ownCloud for apps to use. - * DB Class - * - */ - -// use OCP namespace for all classes that are considered public. -// This means that they should be used by apps instead of the internal ownCloud classes -namespace OCP; - -/** - * This class provides access to the internal database system. Use this class exlusively if you want to access databases - * @deprecated 8.1.0 use methods of \OCP\IDBConnection - \OC::$server->getDatabaseConnection() - * @since 4.5.0 - */ -class DB { - /** - * Prepare a SQL query - * @param string $query Query string - * @param int $limit Limit of the SQL statement - * @param int $offset Offset of the SQL statement - * @return \OC_DB_StatementWrapper prepared SQL query - * - * SQL query via Doctrine prepare(), needs to be execute()'d! - * @deprecated 8.1.0 use prepare() of \OCP\IDBConnection - \OC::$server->getDatabaseConnection() - * @since 4.5.0 - */ - static public function prepare( $query, $limit=null, $offset=null ) { - return \OC_DB::prepare($query, $limit, $offset); - } - - /** - * Start a transaction - * @deprecated 8.1.0 use beginTransaction() of \OCP\IDBConnection - \OC::$server->getDatabaseConnection() - * @since 4.5.0 - */ - public static function beginTransaction() { - \OC::$server->getDatabaseConnection()->beginTransaction(); - } - - /** - * Commit the database changes done during a transaction that is in progress - * @deprecated 8.1.0 use commit() of \OCP\IDBConnection - \OC::$server->getDatabaseConnection() - * @since 4.5.0 - */ - public static function commit() { - \OC::$server->getDatabaseConnection()->commit(); - } - - /** - * returns the error code and message as a string for logging - * works with DoctrineException - * @return string - * @deprecated 8.1.0 use getError() of \OCP\IDBConnection - \OC::$server->getDatabaseConnection() - * @since 6.0.0 - */ - public static function getErrorMessage() { - return \OC::$server->getDatabaseConnection()->getError(); - } - -} diff --git a/lib/public/Files.php b/lib/public/Files.php index 7b1b1921ed9..1cfd73fb288 100644 --- a/lib/public/Files.php +++ b/lib/public/Files.php @@ -44,12 +44,14 @@ namespace OCP; * This class provides access to the internal filesystem abstraction layer. Use * this class exlusively if you want to access files * @since 5.0.0 + * @deprecated 14.0.0 */ class Files { /** * Recusive deletion of folders * @return bool * @since 5.0.0 + * @deprecated 14.0.0 */ static public function rmdirr( $dir ) { return \OC_Helper::rmdirr( $dir ); @@ -61,6 +63,7 @@ class Files { * @return string * does NOT work for ownClouds filesystem, use OC_FileSystem::getMimeType instead * @since 5.0.0 + * @deprecated 14.0.0 */ static public function getMimeType( $path ) { return \OC::$server->getMimeTypeDetector()->detect($path); @@ -71,6 +74,7 @@ class Files { * @param string $mimetype * @return array * @since 6.0.0 + * @deprecated 14.0.0 */ static public function searchByMime($mimetype) { return \OC\Files\Filesystem::searchByMime($mimetype); @@ -82,6 +86,7 @@ class Files { * @param resource $target * @return int the number of bytes copied * @since 5.0.0 + * @deprecated 14.0.0 */ public static function streamCopy( $source, $target ) { list($count, ) = \OC_Helper::streamCopy( $source, $target ); @@ -94,6 +99,7 @@ class Files { * @param string $filename * @return string * @since 5.0.0 + * @deprecated 14.0.0 use getNonExistingName of the OCP\Files\Folder object */ public static function buildNotExistingFileName($path, $filename) { return \OC_Helper::buildNotExistingFileName($path, $filename); @@ -105,6 +111,7 @@ class Files { * @param string $app * @return \OC\Files\View * @since 5.0.0 + * @deprecated 14.0.0 use IAppData instead */ public static function getStorage($app) { return \OC_App::getStorage( $app ); diff --git a/lib/public/Files/File.php b/lib/public/Files/File.php index 8b57b3cfd87..0f052bc66ad 100644 --- a/lib/public/Files/File.php +++ b/lib/public/Files/File.php @@ -53,7 +53,7 @@ interface File extends Node { * * @param string $data * @throws \OCP\Files\NotPermittedException - * @return void + * @throws \OCP\Files\GenericFileException * @since 6.0.0 */ public function putContent($data); diff --git a/lib/public/Files/Folder.php b/lib/public/Files/Folder.php index 52a4b303196..425813c7e21 100644 --- a/lib/public/Files/Folder.php +++ b/lib/public/Files/Folder.php @@ -145,6 +145,9 @@ interface Folder extends Node { /** * get a file or folder inside the folder by it's internal id * + * This method could return multiple entries. For example once the file/folder + * is shared or mounted (files_external) to the user multiple times. + * * @param int $id * @return \OCP\Files\Node[] * @since 6.0.0 diff --git a/lib/public/Files/GenericFileException.php b/lib/public/Files/GenericFileException.php new file mode 100644 index 00000000000..b5da4aabebd --- /dev/null +++ b/lib/public/Files/GenericFileException.php @@ -0,0 +1,33 @@ +<?php +/** + * @copyright 2018, Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @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\Files; + +/** + * Class GenericFileException + * + * @package OCP\Files + * @since 14.0.0 + */ +class GenericFileException extends \Exception { + +} diff --git a/lib/public/Files/Mount/IMountManager.php b/lib/public/Files/Mount/IMountManager.php index 2b6458bf7c8..b9ec85bc1d4 100644 --- a/lib/public/Files/Mount/IMountManager.php +++ b/lib/public/Files/Mount/IMountManager.php @@ -1,4 +1,5 @@ <?php +declare(strict_types=1); /** * @copyright Copyright (c) 2016, ownCloud, Inc. * @@ -45,7 +46,7 @@ interface IMountManager { * @param string $mountPoint * @since 8.2.0 */ - public function removeMount($mountPoint); + public function removeMount(string $mountPoint); /** * Change the location of a mount @@ -54,16 +55,16 @@ interface IMountManager { * @param string $target * @since 8.2.0 */ - public function moveMount($mountPoint, $target); + public function moveMount(string $mountPoint, string $target); /** * Find the mount for $path * * @param string $path - * @return \OCP\Files\Mount\IMountPoint + * @return \OCP\Files\Mount\IMountPoint|null * @since 8.2.0 */ - public function find($path); + public function find(string $path); /** * Find all mounts in $path @@ -72,7 +73,7 @@ interface IMountManager { * @return \OCP\Files\Mount\IMountPoint[] * @since 8.2.0 */ - public function findIn($path); + public function findIn(string $path): array; /** * Remove all registered mounts @@ -88,13 +89,13 @@ interface IMountManager { * @return \OCP\Files\Mount\IMountPoint[] * @since 8.2.0 */ - public function findByStorageId($id); + public function findByStorageId(string $id): array; /** * @return \OCP\Files\Mount\IMountPoint[] * @since 8.2.0 */ - public function getAll(); + public function getAll(): array; /** * Find mounts by numeric storage id @@ -103,5 +104,5 @@ interface IMountManager { * @return \OCP\Files\Mount\IMountPoint[] * @since 8.2.0 */ - public function findByNumericId($id); + public function findByNumericId(int $id): array; } diff --git a/lib/public/JSON.php b/lib/public/JSON.php deleted file mode 100644 index 151a590b294..00000000000 --- a/lib/public/JSON.php +++ /dev/null @@ -1,177 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2016, ownCloud, Inc. - * - * @author Bart Visscher <bartv@thisnet.nl> - * @author Frank Karlitschek <frank@karlitschek.de> - * @author Lukas Reschke <lukas@statuscode.ch> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Roeland Jago Douma <roeland@famdouma.nl> - * @author Thomas Müller <thomas.mueller@tmit.eu> - * @author Thomas Tanghus <thomas@tanghus.net> - * @author Vincent Petry <pvince81@owncloud.com> - * - * @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/> - * - */ - -/** - * Public interface of ownCloud for apps to use. - * JSON Class - */ - -// use OCP namespace for all classes that are considered public. -// This means that they should be used by apps instead of the internal ownCloud classes -namespace OCP; - -/** - * This class provides convenient functions to generate and send JSON data. Useful for Ajax calls - * @deprecated 8.1.0 Use a AppFramework JSONResponse instead - */ -class JSON { - /** - * Check if the user is logged in, send json error msg if not. - * - * This method checks if a user is logged in. If not, a json error - * response will be return and the method will exit from execution - * of the script. - * The returned json will be in the format: - * - * {"status":"error","data":{"message":"Authentication error."}} - * - * Add this call to the start of all ajax method files that requires - * an authenticated user. - * @deprecated 8.1.0 Use annotation based ACLs from the AppFramework instead - * - * @suppress PhanDeprecatedFunction - */ - public static function checkLoggedIn() { - \OC_JSON::checkLoggedIn(); - } - - /** - * Check an ajax get/post call if the request token is valid. - * - * This method checks for a valid variable 'requesttoken' in $_GET, - * $_POST and $_SERVER. If a valid token is not found, a json error - * response will be return and the method will exit from execution - * of the script. - * The returned json will be in the format: - * - * {"status":"error","data":{"message":"Token expired. Please reload page."}} - * - * Add this call to the start of all ajax method files that creates, - * updates or deletes anything. - * In cases where you e.g. use an ajax call to load a dialog containing - * a submittable form, you will need to add the requesttoken first as a - * parameter to the ajax call, then assign it to the template and finally - * add a hidden input field also named 'requesttoken' containing the value. - * @deprecated 8.1.0 Use annotation based CSRF checks from the AppFramework instead - * - * @suppress PhanDeprecatedFunction - */ - public static function callCheck() { - \OC_JSON::callCheck(); - } - - /** - * Send json success msg - * - * Return a json success message with optional extra data. - * @see \OCP\JSON::error() for the format to use. - * - * @param array $data The data to use - * @deprecated 8.1.0 Use a AppFramework JSONResponse instead - * @suppress PhanDeprecatedFunction - */ - public static function success( $data = array() ) { - \OC_JSON::success($data); - } - - /** - * Send json error msg - * - * Return a json error message with optional extra data for - * error message or app specific data. - * - * Example use: - * - * $id = [some value] - * OCP\JSON::error(array('data':array('message':'An error happened', 'id': $id))); - * - * Will return the json formatted string: - * - * {"status":"error","data":{"message":"An error happened", "id":[some value]}} - * - * @param array $data The data to use - * @deprecated 8.1.0 Use a AppFramework JSONResponse instead - * @suppress PhanDeprecatedFunction - */ - public static function error( $data = array() ) { - \OC_JSON::error($data); - } - - /** - * Check if the App is enabled and send JSON error message instead - * - * This method checks if a specific app is enabled. If not, a json error - * response will be return and the method will exit from execution - * of the script. - * The returned json will be in the format: - * - * {"status":"error","data":{"message":"Application is not enabled."}} - * - * Add this call to the start of all ajax method files that requires - * a specific app to be enabled. - * - * @param string $app The app to check - * @deprecated 8.1.0 Use the AppFramework instead. It will automatically check if the app is enabled. - * @suppress PhanDeprecatedFunction - */ - public static function checkAppEnabled( $app ) { - \OC_JSON::checkAppEnabled($app); - } - - /** - * Check if the user is a admin, send json error msg if not - * - * This method checks if the current user has admin rights. If not, a json error - * response will be return and the method will exit from execution - * of the script. - * The returned json will be in the format: - * - * {"status":"error","data":{"message":"Authentication error."}} - * - * Add this call to the start of all ajax method files that requires - * administrative rights. - * - * @deprecated 8.1.0 Use annotation based ACLs from the AppFramework instead - * @suppress PhanDeprecatedFunction - */ - public static function checkAdminUser() { - \OC_JSON::checkAdminUser(); - } - - /** - * Encode JSON - * @param array $data - * @return string - * @deprecated 8.1.0 Use a AppFramework JSONResponse instead - * @suppress PhanDeprecatedFunction - */ - public static function encode($data) { - return \OC_JSON::encode($data); - } -} diff --git a/lib/public/Response.php b/lib/public/Response.php deleted file mode 100644 index 782dcb88626..00000000000 --- a/lib/public/Response.php +++ /dev/null @@ -1,66 +0,0 @@ -<?php -/** - * @copyright Copyright (c) 2016, ownCloud, Inc. - * - * @author Andreas Fischer <bantu@owncloud.com> - * @author Bart Visscher <bartv@thisnet.nl> - * @author Frank Karlitschek <frank@karlitschek.de> - * @author Lukas Reschke <lukas@statuscode.ch> - * @author Morris Jobke <hey@morrisjobke.de> - * @author Robin Appelman <robin@icewind.nl> - * @author Stefan Weil <sw@weilnetz.de> - * @author Thomas Müller <thomas.mueller@tmit.eu> - * @author Vincent Petry <pvince81@owncloud.com> - * - * @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/> - * - */ - -/** - * Public interface of ownCloud for apps to use. - * Response Class. - * - */ - -// use OCP namespace for all classes that are considered public. -// This means that they should be used by apps instead of the internal ownCloud classes -namespace OCP; - -/** - * This class provides convenient functions to send the correct http response headers - * @since 4.0.0 - * @deprecated 8.1.0 - Use AppFramework controllers instead and modify the response object - */ -class Response { - - /** - * Sets the content disposition header (with possible workarounds) - * @param string $filename file name - * @param string $type disposition type, either 'attachment' or 'inline' - * @since 7.0.0 - */ - static public function setContentDispositionHeader( $filename, $type = 'attachment' ) { - \OC_Response::setContentDispositionHeader( $filename, $type ); - } - - /** - * Sets the content length header (with possible workarounds) - * @param string|int|float $length Length to be sent - * @since 8.1.0 - */ - static public function setContentLengthHeader($length) { - \OC_Response::setContentLengthHeader($length); - } -} diff --git a/lib/public/User.php b/lib/public/User.php index 2fdf540b958..a669a3a06fc 100644 --- a/lib/public/User.php +++ b/lib/public/User.php @@ -58,45 +58,6 @@ class User { } /** - * Get a list of all users - * @param string $search search pattern - * @param int|null $limit - * @param int|null $offset - * @return array an array of all uids - * @deprecated 8.1.0 use method search() of \OCP\IUserManager - \OC::$server->getUserManager() - * @since 5.0.0 - */ - public static function getUsers( $search = '', $limit = null, $offset = null ) { - return \OC_User::getUsers( $search, $limit, $offset ); - } - - /** - * Get the user display name of the user currently logged in. - * @param string|null $user user id or null for current user - * @return string display name - * @deprecated 8.1.0 fetch \OCP\IUser (has getDisplayName()) by using method - * get() of \OCP\IUserManager - \OC::$server->getUserManager() - * @since 5.0.0 - */ - public static function getDisplayName( $user = null ) { - return \OC_User::getDisplayName( $user ); - } - - /** - * Get a list of all display names and user ids. - * @param string $search search pattern - * @param int|null $limit - * @param int|null $offset - * @return array an array of all display names (value) and the correspondig uids (key) - * @deprecated 8.1.0 use method searchDisplayName() of \OCP\IUserManager - \OC::$server->getUserManager() - * @since 5.0.0 - * @suppress PhanDeprecatedFunction - */ - public static function getDisplayNames( $search = '', $limit = null, $offset = null ) { - return \OC_User::getDisplayNames( $search, $limit, $offset ); - } - - /** * Check if the user is logged in * @return boolean * @since 5.0.0 @@ -107,18 +68,6 @@ class User { } /** - * Check if a user exists - * @param string $uid the username - * @param string $excludingBackend (default none) - * @return boolean - * @deprecated 8.1.0 use method userExists() of \OCP\IUserManager - \OC::$server->getUserManager() - * @since 5.0.0 - */ - public static function userExists($uid, $excludingBackend = null) { - return \OC::$server->getUserManager()->userExists($uid); - } - - /** * Check if the user is a admin, redirects to home if not * @since 5.0.0 * @deprecated 13.0.0 Use annotation based ACLs from the AppFramework instead diff --git a/lib/public/User/Backend/ABackend.php b/lib/public/User/Backend/ABackend.php new file mode 100644 index 00000000000..a110ba5202a --- /dev/null +++ b/lib/public/User/Backend/ABackend.php @@ -0,0 +1,72 @@ +<?php +declare(strict_types=1); +/** +* @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> +* +* @author Roeland Jago Douma <roeland@famdouma.nl> +* +* @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\User\Backend; + +use OC\User\Backend; +use OCP\IUserBackend; +use OCP\UserInterface; + +/** + * @since 14.0.0 + */ +abstract class ABackend implements IUserBackend, UserInterface { + + /** + * @deprecated 14.0.0 + * + * @param int $actions The action to check for + * @return bool + */ + public function implementsActions($actions): bool { + $implements = 0; + + if ($this instanceof ICreateUserBackend) { + $implements |= Backend::CREATE_USER; + } + if ($this instanceof ISetPasswordBackend) { + $implements |= Backend::SET_PASSWORD; + } + if ($this instanceof ICheckPasswordBackend) { + $implements |= Backend::CHECK_PASSWORD; + } + if ($this instanceof IGetHomeBackend) { + $implements |= Backend::GET_HOME; + } + if ($this instanceof IGetDisplayNameBackend) { + $implements |= Backend::GET_DISPLAYNAME; + } + if ($this instanceof ISetDisplayNameBackend) { + $implements |= Backend::SET_DISPLAYNAME; + } + if ($this instanceof IProvideAvatarBackend) { + $implements |= Backend::PROVIDE_AVATAR; + } + if ($this instanceof ICountUsersBackend) { + $implements |= Backend::COUNT_USERS; + } + + return (bool)($actions & $implements); + } +} diff --git a/lib/public/User/Backend/ICheckPasswordBackend.php b/lib/public/User/Backend/ICheckPasswordBackend.php new file mode 100644 index 00000000000..b28c94f1a6c --- /dev/null +++ b/lib/public/User/Backend/ICheckPasswordBackend.php @@ -0,0 +1,39 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @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\User\Backend; + +/** + * @since 14.0.0 + */ +interface ICheckPasswordBackend { + /** + * @since 14.0.0 + * + * @param string $uid The username + * @param string $password The password + * @return string|bool The uid on success false on failure + */ + public function checkPassword(string $loginName, string $password); +} diff --git a/lib/public/User/Backend/ICountUsersBackend.php b/lib/public/User/Backend/ICountUsersBackend.php new file mode 100644 index 00000000000..1cb46712aa0 --- /dev/null +++ b/lib/public/User/Backend/ICountUsersBackend.php @@ -0,0 +1,38 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @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\User\Backend; + +/** + * @since 14.0.0 + */ +interface ICountUsersBackend { + + /** + * @since 14.0.0 + * + * @return int|bool The number of users on success false on failure + */ + public function countUsers(); +} diff --git a/lib/public/User/Backend/ICreateUserBackend.php b/lib/public/User/Backend/ICreateUserBackend.php new file mode 100644 index 00000000000..09a20e12453 --- /dev/null +++ b/lib/public/User/Backend/ICreateUserBackend.php @@ -0,0 +1,40 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @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\User\Backend; + +/** + * @since 14.0.0 + */ +interface ICreateUserBackend { + + /** + * @since 14.0.0 + * + * @param string $uid The username of the user to create + * @param string $password The password of the new user + * @return bool + */ + public function createUser(string $uid, string $password): bool; +} diff --git a/lib/public/User/Backend/IGetDisplayNameBackend.php b/lib/public/User/Backend/IGetDisplayNameBackend.php new file mode 100644 index 00000000000..6382ddd6eb6 --- /dev/null +++ b/lib/public/User/Backend/IGetDisplayNameBackend.php @@ -0,0 +1,39 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @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\User\Backend; + +/** + * @since 14.0.0 + */ +interface IGetDisplayNameBackend { + + /** + * @since 14.0.0 + * + * @param string $uid user ID of the user + * @return string display name + */ + public function getDisplayName($uid): string; +} diff --git a/lib/public/User/Backend/IGetHomeBackend.php b/lib/public/User/Backend/IGetHomeBackend.php new file mode 100644 index 00000000000..20fcd004bba --- /dev/null +++ b/lib/public/User/Backend/IGetHomeBackend.php @@ -0,0 +1,39 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @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\User\Backend; + +/** + * @since 14.0.0 + */ +interface IGetHomeBackend { + + /** + * @since 14.0.0 + * + * @param string $uid the username + * @return string|bool Datadir on success false on failure + */ + public function getHome(string $uid); +} diff --git a/lib/public/User/Backend/IProvideAvatarBackend.php b/lib/public/User/Backend/IProvideAvatarBackend.php new file mode 100644 index 00000000000..328c7450b40 --- /dev/null +++ b/lib/public/User/Backend/IProvideAvatarBackend.php @@ -0,0 +1,39 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @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\User\Backend; + +/** + * @since 14.0.0 + */ +interface IProvideAvatarBackend { + + /** + * @since 14.0.0 + * + * @param string $uid + * @return bool + */ + public function canChangeAvatar(string $uid): bool; +} diff --git a/lib/public/User/Backend/ISetDisplayNameBackend.php b/lib/public/User/Backend/ISetDisplayNameBackend.php new file mode 100644 index 00000000000..ac41cd3e2c3 --- /dev/null +++ b/lib/public/User/Backend/ISetDisplayNameBackend.php @@ -0,0 +1,40 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @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\User\Backend; + +/** + * @since 14.0.0 + */ +interface ISetDisplayNameBackend { + + /** + * @since 14.0.0 + * + * @param string $uid The username + * @param string $displayName The new display name + * @return bool + */ + public function setDisplayName(string $uid, string $displayName): bool; +} diff --git a/lib/public/User/Backend/ISetPasswordBackend.php b/lib/public/User/Backend/ISetPasswordBackend.php new file mode 100644 index 00000000000..687ac5f70bb --- /dev/null +++ b/lib/public/User/Backend/ISetPasswordBackend.php @@ -0,0 +1,40 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2018 Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @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\User\Backend; + +/** + * @since 14.0.0 + */ +interface ISetPasswordBackend { + + /** + * @since 14.0.0 + * + * @param string $uid The username + * @param string $password The new password + * @return bool + */ + public function setPassword(string $uid, string $password): bool; +} diff --git a/lib/public/UserInterface.php b/lib/public/UserInterface.php index 61136783b3c..b82fc6ba550 100644 --- a/lib/public/UserInterface.php +++ b/lib/public/UserInterface.php @@ -48,6 +48,7 @@ interface UserInterface { * Returns the supported actions as int to be * compared with \OC\User\Backend::CREATE_USER etc. * @since 4.5.0 + * @deprecated 14.0.0 Switch to the interfaces from OCP\User\Backend */ public function implementsActions($actions); diff --git a/settings/ajax/disableapp.php b/settings/ajax/disableapp.php index 1d9cb984e2a..d719c3e9f23 100644 --- a/settings/ajax/disableapp.php +++ b/settings/ajax/disableapp.php @@ -21,8 +21,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\JSON::checkAdminUser(); -OCP\JSON::callCheck(); +\OC_JSON::checkAdminUser(); +\OC_JSON::callCheck(); $lastConfirm = (int) \OC::$server->getSession()->get('last-password-confirm'); if ($lastConfirm < (time() - 30 * 60 + 15)) { // allow 15 seconds delay diff --git a/settings/ajax/enableapp.php b/settings/ajax/enableapp.php index edcccf9b0b9..efe5ee3374f 100644 --- a/settings/ajax/enableapp.php +++ b/settings/ajax/enableapp.php @@ -25,7 +25,7 @@ * */ OC_JSON::checkAdminUser(); -OCP\JSON::callCheck(); +\OC_JSON::callCheck(); $lastConfirm = (int) \OC::$server->getSession()->get('last-password-confirm'); if ($lastConfirm < (time() - 30 * 60 + 15)) { // allow 15 seconds delay diff --git a/settings/ajax/navigationdetect.php b/settings/ajax/navigationdetect.php index 043e10da559..35cc25f19ff 100644 --- a/settings/ajax/navigationdetect.php +++ b/settings/ajax/navigationdetect.php @@ -21,8 +21,8 @@ * */ OC_Util::checkAdminUser(); -OCP\JSON::callCheck(); +\OC_JSON::callCheck(); $navigation = \OC::$server->getNavigationManager()->getAll(); -OCP\JSON::success(['nav_entries' => $navigation]); +\OC_JSON::success(['nav_entries' => $navigation]); diff --git a/settings/ajax/setquota.php b/settings/ajax/setquota.php index c3fde409c00..b1155ee0f97 100644 --- a/settings/ajax/setquota.php +++ b/settings/ajax/setquota.php @@ -31,7 +31,7 @@ */ OC_JSON::checkSubAdminUser(); -OCP\JSON::callCheck(); +\OC_JSON::callCheck(); $lastConfirm = (int) \OC::$server->getSession()->get('last-password-confirm'); if ($lastConfirm < (time() - 30 * 60 + 15)) { // allow 15 seconds delay diff --git a/settings/ajax/togglesubadmins.php b/settings/ajax/togglesubadmins.php index 4fee0530dd1..c115568bca7 100644 --- a/settings/ajax/togglesubadmins.php +++ b/settings/ajax/togglesubadmins.php @@ -24,7 +24,7 @@ * */ OC_JSON::checkAdminUser(); -OCP\JSON::callCheck(); +\OC_JSON::callCheck(); $lastConfirm = (int) \OC::$server->getSession()->get('last-password-confirm'); if ($lastConfirm < (time() - 30 * 60 + 15)) { // allow 15 seconds delay diff --git a/settings/ajax/uninstallapp.php b/settings/ajax/uninstallapp.php index 63107905b02..26100d3b066 100644 --- a/settings/ajax/uninstallapp.php +++ b/settings/ajax/uninstallapp.php @@ -22,8 +22,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\JSON::checkAdminUser(); -OCP\JSON::callCheck(); +\OC_JSON::checkAdminUser(); +\OC_JSON::callCheck(); $lastConfirm = (int) \OC::$server->getSession()->get('last-password-confirm'); if ($lastConfirm < (time() - 30 * 60 + 15)) { // allow 15 seconds delay diff --git a/settings/ajax/updateapp.php b/settings/ajax/updateapp.php index 3431c68dbd7..d37e1cfcaed 100644 --- a/settings/ajax/updateapp.php +++ b/settings/ajax/updateapp.php @@ -25,11 +25,11 @@ * along with this program. If not, see <http://www.gnu.org/licenses/> * */ -OCP\JSON::checkAdminUser(); -OCP\JSON::callCheck(); +\OC_JSON::checkAdminUser(); +\OC_JSON::callCheck(); if (!array_key_exists('appid', $_POST)) { - OCP\JSON::error(array( + \OC_JSON::error(array( 'message' => 'No AppId given!' )); return; diff --git a/settings/css/settings.scss b/settings/css/settings.scss index 21dc76fcac3..b5b4ecf1e37 100644 --- a/settings/css/settings.scss +++ b/settings/css/settings.scss @@ -754,6 +754,7 @@ span.version { } a { padding: 10px; + margin: -6px; white-space: nowrap; } .official { diff --git a/settings/l10n/es_MX.js b/settings/l10n/es_MX.js index 4f792aa724c..25ca5657794 100644 --- a/settings/l10n/es_MX.js +++ b/settings/l10n/es_MX.js @@ -160,6 +160,7 @@ OC.L10N.register( "Good password" : "Buena contraseña", "Strong password" : "Contraseña fuerte", "Groups" : "Grupos", + "Unable to retrieve the group list" : "No fue posible recuperar la lista del grupo", "Unable to delete {objName}" : "No fue posible borrar {objName}", "Error creating group: {message}" : "Se presentó un error al crear el grupo: {message}", "A valid group name must be provided" : "Debes proporcionar un nombre de grupo válido", diff --git a/settings/l10n/es_MX.json b/settings/l10n/es_MX.json index ef41efc2a43..5089973cea8 100644 --- a/settings/l10n/es_MX.json +++ b/settings/l10n/es_MX.json @@ -158,6 +158,7 @@ "Good password" : "Buena contraseña", "Strong password" : "Contraseña fuerte", "Groups" : "Grupos", + "Unable to retrieve the group list" : "No fue posible recuperar la lista del grupo", "Unable to delete {objName}" : "No fue posible borrar {objName}", "Error creating group: {message}" : "Se presentó un error al crear el grupo: {message}", "A valid group name must be provided" : "Debes proporcionar un nombre de grupo válido", diff --git a/settings/l10n/fi.js b/settings/l10n/fi.js index d571ad05af7..67675041202 100644 --- a/settings/l10n/fi.js +++ b/settings/l10n/fi.js @@ -101,6 +101,8 @@ OC.L10N.register( "Error: This app can not be enabled because it makes the server unstable" : "Virhe: tätä sovellusta ei voi ottaa käyttöön, koska se tekee palvelimesta epävakaan", "Error while disabling broken app" : "Virhe rikkinäistä sovellusta käytöstä poistaessa", "App up to date" : "Sovellus ajan tasalla", + "Updating …" : "Päivitetään ...", + "Could not update app" : "Sovellusta ei voitu päivittää", "Updated" : "Päivitetty", "Removing …" : "Poistetaan…", "Could not remove app" : "Sovellusta ei voitu poistaa", @@ -271,6 +273,7 @@ OC.L10N.register( "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Salli käyttäjätunnusten automaattinen täydentäminen jakoikkunassa. Jos tämä asetus on pois käytöstä, tulee käyttäjän kirjoittaa käyttäjätunnus tai sähköpostiosoite kokonaan.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Näytä vastuuvapauslauseke julkisen linkin lähetyssivulla. (Näytetään vain, kun tiedostolista on piilotettu.)", "This text will be shown on the public link upload page when the file list is hidden." : "Tämä teksti näytetään julkisen linkin lähetyssivulla, kun tiedostolista on piilotettu.", + "Default share permissions" : "Oletusjako-oikeudet", "Tips & tricks" : "Vinkit", "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLitea käytetään tällä hetkellä taustaosan tietokantana. Laajoja asennuksia varten on suositeltavaa käyttää jotain muuta tietokantaa.", "This is particularly recommended when using the desktop client for file synchronisation." : "Tämä on suositeltavaa erityisesti silloin, kun työpöytäsovellusta käytetään tiedostojen synkronointiin.", diff --git a/settings/l10n/fi.json b/settings/l10n/fi.json index 92777da4584..69b336af69f 100644 --- a/settings/l10n/fi.json +++ b/settings/l10n/fi.json @@ -99,6 +99,8 @@ "Error: This app can not be enabled because it makes the server unstable" : "Virhe: tätä sovellusta ei voi ottaa käyttöön, koska se tekee palvelimesta epävakaan", "Error while disabling broken app" : "Virhe rikkinäistä sovellusta käytöstä poistaessa", "App up to date" : "Sovellus ajan tasalla", + "Updating …" : "Päivitetään ...", + "Could not update app" : "Sovellusta ei voitu päivittää", "Updated" : "Päivitetty", "Removing …" : "Poistetaan…", "Could not remove app" : "Sovellusta ei voitu poistaa", @@ -269,6 +271,7 @@ "Allow username autocompletion in share dialog. If this is disabled the full username or email address needs to be entered." : "Salli käyttäjätunnusten automaattinen täydentäminen jakoikkunassa. Jos tämä asetus on pois käytöstä, tulee käyttäjän kirjoittaa käyttäjätunnus tai sähköpostiosoite kokonaan.", "Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Näytä vastuuvapauslauseke julkisen linkin lähetyssivulla. (Näytetään vain, kun tiedostolista on piilotettu.)", "This text will be shown on the public link upload page when the file list is hidden." : "Tämä teksti näytetään julkisen linkin lähetyssivulla, kun tiedostolista on piilotettu.", + "Default share permissions" : "Oletusjako-oikeudet", "Tips & tricks" : "Vinkit", "SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLitea käytetään tällä hetkellä taustaosan tietokantana. Laajoja asennuksia varten on suositeltavaa käyttää jotain muuta tietokantaa.", "This is particularly recommended when using the desktop client for file synchronisation." : "Tämä on suositeltavaa erityisesti silloin, kun työpöytäsovellusta käytetään tiedostojen synkronointiin.", diff --git a/settings/l10n/he.js b/settings/l10n/he.js index 8950dbaa848..145a9d63475 100644 --- a/settings/l10n/he.js +++ b/settings/l10n/he.js @@ -1,6 +1,13 @@ OC.L10N.register( "settings", { + "{actor} changed your password" : "הססמה שלך הוחלפה על ידי {actor}", + "You changed your password" : "שינית את הססמה שלך", + "Your password was reset by an administrator" : "הססמה שלך אופסה על ידי מנהל", + "{actor} changed your email address" : "כתובת הדוא״ל שלך נערכה על ידי {actor}", + "You changed your email address" : "שינית את כתובת הדוא״ל שלך", + "Your email address was changed by an administrator" : "כתובת הדוא״ל שלך נערכה על ידי המנהל", + "Security" : "אבטחה", "Wrong password" : "סיסמא שגוייה", "Saved" : "נשמר", "No user supplied" : "לא סופק שם משתמש", diff --git a/settings/l10n/he.json b/settings/l10n/he.json index e3f87877e6a..21a7e0f53f5 100644 --- a/settings/l10n/he.json +++ b/settings/l10n/he.json @@ -1,4 +1,11 @@ { "translations": { + "{actor} changed your password" : "הססמה שלך הוחלפה על ידי {actor}", + "You changed your password" : "שינית את הססמה שלך", + "Your password was reset by an administrator" : "הססמה שלך אופסה על ידי מנהל", + "{actor} changed your email address" : "כתובת הדוא״ל שלך נערכה על ידי {actor}", + "You changed your email address" : "שינית את כתובת הדוא״ל שלך", + "Your email address was changed by an administrator" : "כתובת הדוא״ל שלך נערכה על ידי המנהל", + "Security" : "אבטחה", "Wrong password" : "סיסמא שגוייה", "Saved" : "נשמר", "No user supplied" : "לא סופק שם משתמש", diff --git a/settings/l10n/hu.js b/settings/l10n/hu.js index 5bca7d49921..abeb45f3283 100644 --- a/settings/l10n/hu.js +++ b/settings/l10n/hu.js @@ -160,6 +160,7 @@ OC.L10N.register( "Good password" : "Jó jelszó", "Strong password" : "Erős jelszó", "Groups" : "Csoportok", + "Unable to retrieve the group list" : "Csoportlista betöltése sikertelen", "Unable to delete {objName}" : "Ezt nem sikerült törölni: {objName}", "Error creating group: {message}" : "Hiba történt a csoport létrehozásakor: {message}", "A valid group name must be provided" : "Érvényes csoportnevet kell megadni", diff --git a/settings/l10n/hu.json b/settings/l10n/hu.json index 8c2a8b1c736..c94d3c64f73 100644 --- a/settings/l10n/hu.json +++ b/settings/l10n/hu.json @@ -158,6 +158,7 @@ "Good password" : "Jó jelszó", "Strong password" : "Erős jelszó", "Groups" : "Csoportok", + "Unable to retrieve the group list" : "Csoportlista betöltése sikertelen", "Unable to delete {objName}" : "Ezt nem sikerült törölni: {objName}", "Error creating group: {message}" : "Hiba történt a csoport létrehozásakor: {message}", "A valid group name must be provided" : "Érvényes csoportnevet kell megadni", diff --git a/settings/l10n/it.js b/settings/l10n/it.js index 0e6d7cfe113..03a68def11a 100644 --- a/settings/l10n/it.js +++ b/settings/l10n/it.js @@ -88,7 +88,7 @@ OC.L10N.register( "Email sent" : "Email inviata", "Official" : "Ufficiale", "All" : "Tutti", - "Update to %s" : "Aggiornato a %s", + "Update to %s" : "Aggiorna a %s", "No apps found for your version" : "Nessuna applicazione trovata per la tua versione", "The app will be downloaded from the app store" : "L'applicazione sarà scaricata dallo store delle applicazioni", "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "Le applicazioni ufficiali sono sviluppate dalla comunità. Esse offrono nuove funzionalità e sono pronte per l'uso in produzione.", diff --git a/settings/l10n/it.json b/settings/l10n/it.json index d290a1949f1..180fc49d71c 100644 --- a/settings/l10n/it.json +++ b/settings/l10n/it.json @@ -86,7 +86,7 @@ "Email sent" : "Email inviata", "Official" : "Ufficiale", "All" : "Tutti", - "Update to %s" : "Aggiornato a %s", + "Update to %s" : "Aggiorna a %s", "No apps found for your version" : "Nessuna applicazione trovata per la tua versione", "The app will be downloaded from the app store" : "L'applicazione sarà scaricata dallo store delle applicazioni", "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "Le applicazioni ufficiali sono sviluppate dalla comunità. Esse offrono nuove funzionalità e sono pronte per l'uso in produzione.", diff --git a/settings/l10n/sk.js b/settings/l10n/sk.js index b3039da4cfb..8e70c315ad5 100644 --- a/settings/l10n/sk.js +++ b/settings/l10n/sk.js @@ -103,6 +103,7 @@ OC.L10N.register( "Error: Could not disable broken app" : "Chyba: nebolo možné zakázať poškodenú aplikáciu", "Error while disabling broken app" : "Nastala chyba počas zakazovania poškodenej aplikácie", "App up to date" : "Aplikácia je aktuálna", + "Updating …" : "Aktualizuje sa...", "Updated" : "Aktualizované", "Removing …" : "Odstraňujem ...", "Could not remove app" : "Aplikáciu nie je možné zmazať", diff --git a/settings/l10n/sk.json b/settings/l10n/sk.json index 7f241c39657..715a8b44a4f 100644 --- a/settings/l10n/sk.json +++ b/settings/l10n/sk.json @@ -101,6 +101,7 @@ "Error: Could not disable broken app" : "Chyba: nebolo možné zakázať poškodenú aplikáciu", "Error while disabling broken app" : "Nastala chyba počas zakazovania poškodenej aplikácie", "App up to date" : "Aplikácia je aktuálna", + "Updating …" : "Aktualizuje sa...", "Updated" : "Aktualizované", "Removing …" : "Odstraňujem ...", "Could not remove app" : "Aplikáciu nie je možné zmazať", diff --git a/settings/l10n/sr.js b/settings/l10n/sr.js index edac50c5714..cddcb5e5360 100644 --- a/settings/l10n/sr.js +++ b/settings/l10n/sr.js @@ -160,6 +160,7 @@ OC.L10N.register( "Good password" : "Добра лозинка", "Strong password" : "Јака лозинка", "Groups" : "Групе", + "Unable to retrieve the group list" : "Није могуће дохватити списак група", "Unable to delete {objName}" : "Не могу да обришем {objName}", "Error creating group: {message}" : "Грешка при прављењу групе: {message}", "A valid group name must be provided" : "Мора бити наведено исправно име групе", diff --git a/settings/l10n/sr.json b/settings/l10n/sr.json index 70228a26c3c..b89afcea758 100644 --- a/settings/l10n/sr.json +++ b/settings/l10n/sr.json @@ -158,6 +158,7 @@ "Good password" : "Добра лозинка", "Strong password" : "Јака лозинка", "Groups" : "Групе", + "Unable to retrieve the group list" : "Није могуће дохватити списак група", "Unable to delete {objName}" : "Не могу да обришем {objName}", "Error creating group: {message}" : "Грешка при прављењу групе: {message}", "A valid group name must be provided" : "Мора бити наведено исправно име групе", diff --git a/settings/templates/apps.php b/settings/templates/apps.php index 9e2f9cf2df4..3b22e99a015 100644 --- a/settings/templates/apps.php +++ b/settings/templates/apps.php @@ -58,7 +58,7 @@ $urlGenerator = $_['urlGenerator']; </div> <div class="app-version">{{version}}</div> <div class="app-level"> - {{{level}}}{{#unless internal}}<a href="https://apps.nextcloud.com/apps/{{id}}"><?php p($l->t('View in store'));?> ↗</a>{{/unless}} + {{{level}}}{{#unless internal}}<a href="https://apps.nextcloud.com/apps/{{id}}" target="_blank"><?php p($l->t('View in store'));?> ↗</a>{{/unless}} </div> <div class="app-groups"> diff --git a/tests/Core/Controller/CssControllerTest.php b/tests/Core/Controller/CssControllerTest.php index c78233d8917..8ec15f449a0 100644 --- a/tests/Core/Controller/CssControllerTest.php +++ b/tests/Core/Controller/CssControllerTest.php @@ -109,10 +109,10 @@ class CssControllerTest extends TestCase { ->willReturn($file); $expected = new FileDisplayResponse($file, Http::STATUS_OK, ['Content-Type' => 'text/css']); - $expected->cacheFor(86400); + $expected->addHeader('Cache-Control', 'max-age=31536000, immutable'); $expires = new \DateTime(); $expires->setTimestamp(1337); - $expires->add(new \DateInterval('PT24H')); + $expires->add(new \DateInterval('PT31536000S')); $expected->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $expected->addHeader('Pragma', 'cache'); @@ -137,10 +137,10 @@ class CssControllerTest extends TestCase { $expected = new FileDisplayResponse($gzipFile, Http::STATUS_OK, ['Content-Type' => 'text/css']); $expected->addHeader('Content-Encoding', 'gzip'); - $expected->cacheFor(86400); + $expected->addHeader('Cache-Control', 'max-age=31536000, immutable'); $expires = new \DateTime(); $expires->setTimestamp(1337); - $expires->add(new \DateInterval('PT24H')); + $expires->add(new \DateInterval('PT31536000S')); $expected->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $expected->addHeader('Pragma', 'cache'); @@ -170,10 +170,10 @@ class CssControllerTest extends TestCase { ->willReturn('gzip, deflate'); $expected = new FileDisplayResponse($file, Http::STATUS_OK, ['Content-Type' => 'text/css']); - $expected->cacheFor(86400); + $expected->addHeader('Cache-Control', 'max-age=31536000, immutable'); $expires = new \DateTime(); $expires->setTimestamp(1337); - $expires->add(new \DateInterval('PT24H')); + $expires->add(new \DateInterval('PT31536000S')); $expected->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $expected->addHeader('Pragma', 'cache'); diff --git a/tests/Core/Controller/JsControllerTest.php b/tests/Core/Controller/JsControllerTest.php index 571318c89d0..3910045276b 100644 --- a/tests/Core/Controller/JsControllerTest.php +++ b/tests/Core/Controller/JsControllerTest.php @@ -109,10 +109,10 @@ class JsControllerTest extends TestCase { ->willReturn($file); $expected = new FileDisplayResponse($file, Http::STATUS_OK, ['Content-Type' => 'application/javascript']); - $expected->cacheFor(86400); + $expected->addHeader('Cache-Control', 'max-age=31536000, immutable'); $expires = new \DateTime(); $expires->setTimestamp(1337); - $expires->add(new \DateInterval('PT24H')); + $expires->add(new \DateInterval('PT31536000S')); $expected->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $expected->addHeader('Pragma', 'cache'); @@ -137,10 +137,10 @@ class JsControllerTest extends TestCase { $expected = new FileDisplayResponse($gzipFile, Http::STATUS_OK, ['Content-Type' => 'application/javascript']); $expected->addHeader('Content-Encoding', 'gzip'); - $expected->cacheFor(86400); + $expected->addHeader('Cache-Control', 'max-age=31536000, immutable'); $expires = new \DateTime(); $expires->setTimestamp(1337); - $expires->add(new \DateInterval('PT24H')); + $expires->add(new \DateInterval('PT31536000S')); $expected->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $expected->addHeader('Pragma', 'cache'); @@ -170,10 +170,10 @@ class JsControllerTest extends TestCase { ->willReturn('gzip, deflate'); $expected = new FileDisplayResponse($file, Http::STATUS_OK, ['Content-Type' => 'application/javascript']); - $expected->cacheFor(86400); + $expected->addHeader('Cache-Control', 'max-age=31536000, immutable'); $expires = new \DateTime(); $expires->setTimestamp(1337); - $expires->add(new \DateInterval('PT24H')); + $expires->add(new \DateInterval('PT31536000S')); $expected->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $expected->addHeader('Pragma', 'cache'); diff --git a/tests/lib/ContactsManagerTest.php b/tests/lib/ContactsManagerTest.php index 89a9cb95b97..c460330e7eb 100644 --- a/tests/lib/ContactsManagerTest.php +++ b/tests/lib/ContactsManagerTest.php @@ -2,6 +2,8 @@ namespace Test; +use OCP\IAddressBook; + class ContactsManagerTest extends \Test\TestCase { /** @var \OC\ContactsManager */ @@ -61,6 +63,7 @@ class ContactsManagerTest extends \Test\TestCase { * @dataProvider searchProvider */ public function testSearch($search1, $search2, $expectedResult ){ + /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */ $addressbook1 = $this->getMockBuilder('\OCP\IAddressBook') ->disableOriginalConstructor() ->getMock(); @@ -94,6 +97,7 @@ class ContactsManagerTest extends \Test\TestCase { public function testDeleteHavePermission(){ + /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */ $addressbook = $this->getMockBuilder('\OCP\IAddressBook') ->disableOriginalConstructor() ->getMock(); @@ -113,6 +117,7 @@ class ContactsManagerTest extends \Test\TestCase { } public function testDeleteNoPermission(){ + /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */ $addressbook = $this->getMockBuilder('\OCP\IAddressBook') ->disableOriginalConstructor() ->getMock(); @@ -130,6 +135,7 @@ class ContactsManagerTest extends \Test\TestCase { } public function testDeleteNoAddressbook(){ + /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */ $addressbook = $this->getMockBuilder('\OCP\IAddressBook') ->disableOriginalConstructor() ->getMock(); @@ -144,6 +150,7 @@ class ContactsManagerTest extends \Test\TestCase { } public function testCreateOrUpdateHavePermission(){ + /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */ $addressbook = $this->getMockBuilder('\OCP\IAddressBook') ->disableOriginalConstructor() ->getMock(); @@ -162,6 +169,7 @@ class ContactsManagerTest extends \Test\TestCase { } public function testCreateOrUpdateNoPermission(){ + /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */ $addressbook = $this->getMockBuilder('\OCP\IAddressBook') ->disableOriginalConstructor() ->getMock(); @@ -180,6 +188,7 @@ class ContactsManagerTest extends \Test\TestCase { } public function testCreateOrUpdateNOAdressbook(){ + /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */ $addressbook = $this->getMockBuilder('\OCP\IAddressBook') ->disableOriginalConstructor() ->getMock(); @@ -198,6 +207,7 @@ class ContactsManagerTest extends \Test\TestCase { } public function testIsEnabledIfSo(){ + /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */ $addressbook = $this->getMockBuilder('\OCP\IAddressBook') ->disableOriginalConstructor() ->getMock(); @@ -207,4 +217,26 @@ class ContactsManagerTest extends \Test\TestCase { $this->assertTrue($result); } + public function testAddressBookEnumeration() { + // create mock for the addressbook + /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $addressbook */ + $addressbook = $this->getMockBuilder('\OCP\IAddressBook') + ->disableOriginalConstructor() + ->getMock(); + + // setup return for method calls + $addressbook->expects($this->any()) + ->method('getKey') + ->will($this->returnValue('SIMPLE_ADDRESS_BOOK')); + $addressbook->expects($this->any()) + ->method('getDisplayName') + ->will($this->returnValue('A very simple Addressbook')); + + // register the address book + $this->cm->registerAddressBook($addressbook); + $all_books = $this->cm->getAddressBooks(); + + $this->assertEquals(1, count($all_books)); + $this->assertEquals('A very simple Addressbook', $all_books['SIMPLE_ADDRESS_BOOK']); + } } diff --git a/tests/lib/Files/Node/FolderTest.php b/tests/lib/Files/Node/FolderTest.php index 6479dad58d3..c924c090232 100644 --- a/tests/lib/Files/Node/FolderTest.php +++ b/tests/lib/Files/Node/FolderTest.php @@ -682,7 +682,7 @@ class FolderTest extends NodeTest { $fileInfo = new CacheEntry(['path' => 'foo/qwerty', 'mimetype' => 'text/plain'], null); - $storage->expects($this->once()) + $storage->expects($this->exactly(2)) ->method('getCache') ->will($this->returnValue($cache)); diff --git a/tests/lib/Files/Storage/Wrapper/EncryptionTest.php b/tests/lib/Files/Storage/Wrapper/EncryptionTest.php index 5bcff56e373..22c93ee0a91 100644 --- a/tests/lib/Files/Storage/Wrapper/EncryptionTest.php +++ b/tests/lib/Files/Storage/Wrapper/EncryptionTest.php @@ -730,6 +730,8 @@ class EncryptionTest extends Storage { $temp = \OC::$server->getTempManager(); return fopen($temp->getTemporaryFile(), $mode); }); + $storage2->method('getId') + ->willReturn('stroage2'); $cache = $this->createMock(ICache::class); $cache->expects($this->once()) ->method('get') @@ -777,6 +779,8 @@ class EncryptionTest extends Storage { $temp = \OC::$server->getTempManager(); return fopen($temp->getTemporaryFile(), $mode); }); + $storage2->method('getId') + ->willReturn('stroage2'); if($expectedEncrypted) { $cache = $this->createMock(ICache::class); $cache->expects($this->once()) @@ -802,7 +806,7 @@ class EncryptionTest extends Storage { 'encrypted' => $expectedEncrypted, ]; if($expectedEncrypted === true) { - $expectedCachePut['encryptedVersion'] = 12345; + $expectedCachePut['encryptedVersion'] = 1; } $this->arrayCache->expects($this->never())->method('set'); diff --git a/tests/lib/InstallerTest.php b/tests/lib/InstallerTest.php index c7e4bfeacfb..824682740e2 100644 --- a/tests/lib/InstallerTest.php +++ b/tests/lib/InstallerTest.php @@ -103,9 +103,9 @@ class InstallerTest extends TestCase { \OC::$server->getLogger(), \OC::$server->getConfig() ); - $installer->installApp(self::$appid); - $isInstalled = Installer::isInstalled(self::$appid); - $this->assertTrue($isInstalled); + $this->assertNull(\OC::$server->getConfig()->getAppValue('testapp', 'enabled', null), 'Check that the app is not listed before installation'); + $this->assertSame('testapp', $installer->installApp(self::$appid)); + $this->assertSame('no', \OC::$server->getConfig()->getAppValue('testapp', 'enabled', null), 'Check that the app is listed after installation'); $this->assertSame('0.9', \OC::$server->getConfig()->getAppValue('testapp', 'installed_version')); $installer->removeApp(self::$appid); } diff --git a/tests/lib/PublicNamespace/ContactsTest.php b/tests/lib/PublicNamespace/ContactsTest.php deleted file mode 100644 index 58e3deea614..00000000000 --- a/tests/lib/PublicNamespace/ContactsTest.php +++ /dev/null @@ -1,130 +0,0 @@ -<?php -/** - * ownCloud - * - * @author Thomas Müller - * @copyright 2012 Thomas Müller thomas.mueller@tmit.eu - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE - * License as published by the Free Software Foundation; either - * version 3 of the License, or any later version. - * - * This library 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 library. If not, see <http://www.gnu.org/licenses/>. - */ - -namespace Test\PublicNamespace; - -use OCP\IAddressBook; - -class ContactsTest extends \Test\TestCase { - protected function setUp() { - parent::setUp(); - \OC::$server->getContactsManager()->clear(); - } - - public function testDisabledIfEmpty() { - // pretty simple - $this->assertFalse(\OC::$server->getContactsManager()->isEnabled()); - } - - public function testEnabledAfterRegister() { - $cm = \OC::$server->getContactsManager(); - - // create mock for the addressbook - /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $stub */ - $stub = $this->getMockForAbstractClass("OCP\IAddressBook", array('getKey')); - - // we expect getKey to be called twice: - // first time on register - // second time on un-register - $stub->expects($this->exactly(2)) - ->method('getKey'); - - // not enabled before register - $this->assertFalse($cm->isEnabled()); - - // register the address book - $cm->registerAddressBook($stub); - - // contacts api shall be enabled - $this->assertTrue($cm->isEnabled()); - - // unregister the address book - $cm->unregisterAddressBook($stub); - - // not enabled after register - $this->assertFalse($cm->isEnabled()); - } - - public function testAddressBookEnumeration() { - // create mock for the addressbook - /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $stub */ - $stub = $this->getMockForAbstractClass("OCP\IAddressBook", array('getKey', 'getDisplayName')); - - // setup return for method calls - $stub->expects($this->any()) - ->method('getKey') - ->will($this->returnValue('SIMPLE_ADDRESS_BOOK')); - $stub->expects($this->any()) - ->method('getDisplayName') - ->will($this->returnValue('A very simple Addressbook')); - - // register the address book - $cm = \OC::$server->getContactsManager(); - $cm->registerAddressBook($stub); - $all_books = $cm->getAddressBooks(); - - $this->assertEquals(1, count($all_books)); - $this->assertEquals('A very simple Addressbook', $all_books['SIMPLE_ADDRESS_BOOK']); - } - - public function testSearchInAddressBook() { - // create mock for the addressbook - /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $stub1 */ - $stub1 = $this->getMockForAbstractClass("OCP\IAddressBook", array('getKey', 'getDisplayName', 'search')); - /** @var \PHPUnit_Framework_MockObject_MockObject|IAddressBook $stub2 */ - $stub2 = $this->getMockForAbstractClass("OCP\IAddressBook", array('getKey', 'getDisplayName', 'search')); - - $searchResult1 = array( - array('id' => 0, 'FN' => 'Frank Karlitschek', 'EMAIL' => 'a@b.c', 'GEO' => '37.386013;-122.082932'), - array('id' => 5, 'FN' => 'Klaas Freitag', 'EMAIL' => array('d@e.f', 'g@h.i')), - ); - $searchResult2 = array( - array('id' => 0, 'FN' => 'Thomas Müller', 'EMAIL' => 'a@b.c'), - array('id' => 5, 'FN' => 'Thomas Tanghus', 'EMAIL' => array('d@e.f', 'g@h.i')), - ); - - // setup return for method calls for $stub1 - $stub1->expects($this->any())->method('getKey')->will($this->returnValue('SIMPLE_ADDRESS_BOOK1')); - $stub1->expects($this->any())->method('getDisplayName')->will($this->returnValue('Address book ownCloud Inc')); - $stub1->expects($this->any())->method('search')->will($this->returnValue($searchResult1)); - - // setup return for method calls for $stub2 - $stub2->expects($this->any())->method('getKey')->will($this->returnValue('SIMPLE_ADDRESS_BOOK2')); - $stub2->expects($this->any())->method('getDisplayName')->will($this->returnValue('Address book ownCloud Community')); - $stub2->expects($this->any())->method('search')->will($this->returnValue($searchResult2)); - - // register the address books - $cm = \OC::$server->getContactsManager(); - $cm->registerAddressBook($stub1); - $cm->registerAddressBook($stub2); - $all_books = $cm->getAddressBooks(); - - // assert the count - doesn't hurt - $this->assertEquals(2, count($all_books)); - - // perform the search - $result = $cm->search('x', array()); - - // we expect 4 hits - $this->assertEquals(4, count($result)); - - } -} diff --git a/tests/lib/Template/SCSSCacherTest.php b/tests/lib/Template/SCSSCacherTest.php index 169ee26802a..a55ba30711b 100644 --- a/tests/lib/Template/SCSSCacherTest.php +++ b/tests/lib/Template/SCSSCacherTest.php @@ -35,6 +35,7 @@ use OCP\ICacheFactory; use OCP\IConfig; use OCP\ILogger; use OCP\IURLGenerator; +use OC_App; class SCSSCacherTest extends \Test\TestCase { /** @var ILogger|\PHPUnit_Framework_MockObject_MockObject */ @@ -58,17 +59,26 @@ class SCSSCacherTest extends \Test\TestCase { parent::setUp(); $this->logger = $this->createMock(ILogger::class); $this->appData = $this->createMock(IAppData::class); + /** @var Factory|\PHPUnit_Framework_MockObject_MockObject $factory */ $factory = $this->createMock(Factory::class); $factory->method('get')->with('css')->willReturn($this->appData); + $this->urlGenerator = $this->createMock(IURLGenerator::class); + $this->urlGenerator->expects($this->any()) + ->method('getBaseUrl') + ->willReturn('http://localhost/nextcloud'); + $this->config = $this->createMock(IConfig::class); $this->cacheFactory = $this->createMock(ICacheFactory::class); $this->depsCache = $this->createMock(ICache::class); $this->cacheFactory->expects($this->at(0)) ->method('createDistributed') ->willReturn($this->depsCache); + $this->themingDefaults = $this->createMock(ThemingDefaults::class); + $this->themingDefaults->expects($this->any())->method('getScssVariables')->willReturn([]); + $this->scssCacher = new SCSSCacher( $this->logger, $factory, @@ -78,11 +88,6 @@ class SCSSCacherTest extends \Test\TestCase { \OC::$SERVERROOT, $this->cacheFactory ); - $this->themingDefaults->expects($this->any())->method('getScssVariables')->willReturn([]); - - $this->urlGenerator->expects($this->any()) - ->method('getBaseUrl') - ->willReturn('http://localhost/nextcloud'); } public function testProcessUncachedFileNoAppDataFolder() { @@ -96,7 +101,8 @@ class SCSSCacherTest extends \Test\TestCase { $fileDeps = $this->createMock(ISimpleFile::class); $gzfile = $this->createMock(ISimpleFile::class); - $filePrefix = substr(md5('http://localhost/nextcloud'), 0, 8) . '-'; + $filePrefix = substr(md5(\OC_Util::getVersionString('core')), 0, 4) . '-' . + substr(md5('http://localhost/nextcloud'), 0, 4) . '-'; $folder->method('getFile') ->will($this->returnCallback(function($path) use ($file, $gzfile, $filePrefix) { @@ -131,7 +137,8 @@ class SCSSCacherTest extends \Test\TestCase { $file->expects($this->any())->method('getSize')->willReturn(1); $fileDeps = $this->createMock(ISimpleFile::class); $gzfile = $this->createMock(ISimpleFile::class); - $filePrefix = substr(md5('http://localhost/nextcloud'), 0, 8) . '-'; + $filePrefix = substr(md5(\OC_Util::getVersionString('core')), 0, 4) . '-' . + substr(md5('http://localhost/nextcloud'), 0, 4) . '-'; $folder->method('getFile') ->will($this->returnCallback(function($path) use ($file, $gzfile, $filePrefix) { @@ -162,7 +169,8 @@ class SCSSCacherTest extends \Test\TestCase { $fileDeps = $this->createMock(ISimpleFile::class); $fileDeps->expects($this->any())->method('getSize')->willReturn(1); $gzFile = $this->createMock(ISimpleFile::class); - $filePrefix = substr(md5('http://localhost/nextcloud'), 0, 8) . '-'; + $filePrefix = substr(md5(\OC_Util::getVersionString('core')), 0, 4) . '-' . + substr(md5('http://localhost/nextcloud'), 0, 4) . '-'; $folder->method('getFile') ->will($this->returnCallback(function($name) use ($file, $fileDeps, $gzFile, $filePrefix) { @@ -197,6 +205,8 @@ class SCSSCacherTest extends \Test\TestCase { $gzFile = $this->createMock(ISimpleFile::class); $filePrefix = substr(md5('http://localhost/nextcloud'), 0, 8) . '-'; + $filePrefix = substr(md5(\OC_Util::getVersionString('core')), 0, 4) . '-' . + substr(md5('http://localhost/nextcloud'), 0, 4) . '-'; $folder->method('getFile') ->will($this->returnCallback(function($name) use ($file, $fileDeps, $gzFile, $filePrefix) { if ($name === $filePrefix.'styles.css') { @@ -382,8 +392,8 @@ class SCSSCacherTest extends \Test\TestCase { public function dataGetCachedSCSS() { return [ - ['core', 'core/css/styles.scss', '/css/core/styles.css'], - ['files', 'apps/files/css/styles.scss', '/css/files/styles.css'] + ['core', 'core/css/styles.scss', '/css/core/styles.css', \OC_Util::getVersionString()], + ['files', 'apps/files/css/styles.scss', '/css/files/styles.css', \OC_App::getAppVersion('files')] ]; } @@ -393,11 +403,12 @@ class SCSSCacherTest extends \Test\TestCase { * @param $result * @dataProvider dataGetCachedSCSS */ - public function testGetCachedSCSS($appName, $fileName, $result) { + public function testGetCachedSCSS($appName, $fileName, $result, $version) { $this->urlGenerator->expects($this->once()) ->method('linkToRoute') ->with('core.Css.getCss', [ - 'fileName' => substr(md5('http://localhost/nextcloud'), 0, 8) . '-styles.css', + 'fileName' => substr(md5($version), 0, 4) . '-' . + substr(md5('http://localhost/nextcloud'), 0, 4) . '-styles.css', 'appName' => $appName ]) ->willReturn(\OC::$WEBROOT . $result); diff --git a/tests/lib/Updater/VersionCheckTest.php b/tests/lib/Updater/VersionCheckTest.php index 89a335722d7..216510b6628 100644 --- a/tests/lib/Updater/VersionCheckTest.php +++ b/tests/lib/Updater/VersionCheckTest.php @@ -85,6 +85,7 @@ class VersionCheckTest extends \Test\TestCase { 'url' => 'https://download.example.org/community/owncloud-8.0.4.zip', 'web' => 'http://doc.example.org/server/8.0/admin_manual/maintenance/upgrade.html', 'autoupdater' => '0', + 'eol' => '1', ]; $this->config @@ -123,6 +124,7 @@ class VersionCheckTest extends \Test\TestCase { <url>https://download.example.org/community/owncloud-8.0.4.zip</url> <web>http://doc.example.org/server/8.0/admin_manual/maintenance/upgrade.html</web> <autoupdater>0</autoupdater> + <eol>1</eol> </owncloud>'; $this->updater ->expects($this->once()) @@ -180,6 +182,7 @@ class VersionCheckTest extends \Test\TestCase { 'url' => '', 'web' => '', 'autoupdater' => '', + 'eol' => '0', ]; $this->config @@ -273,6 +276,7 @@ class VersionCheckTest extends \Test\TestCase { 'url' => '', 'web' => '', 'autoupdater' => '', + 'eol' => '0', ]; $this->config diff --git a/themes/example/defaults.php b/themes/example/defaults.php index 39006c94ad2..8ed4761c660 100644 --- a/themes/example/defaults.php +++ b/themes/example/defaults.php @@ -29,38 +29,6 @@ class OC_Theme { } /** - * Returns the URL where the sync clients are listed - * @return string URL - */ - public function getSyncClientUrl() { - return 'https://nextcloud.com/install/#install-clients'; - } - - /** - * Returns the URL to the App Store for the iOS Client - * @return string URL - */ - public function getiOSClientUrl() { - return 'https://geo.itunes.apple.com/us/app/nextcloud/id1125420102?mt=8'; - } - - /** - * Returns the AppId for the App Store for the iOS Client - * @return string AppId - */ - public function getiTunesAppId() { - return '1125420102'; - } - - /** - * Returns the URL to Google Play for the Android Client - * @return string URL - */ - public function getAndroidClientUrl() { - return 'https://play.google.com/store/apps/details?id=com.nextcloud.client'; - } - - /** * Returns the documentation URL * @return string URL */ |