summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.md2
-rw-r--r--apps/comments/l10n/bg_BG.js33
-rw-r--r--apps/comments/l10n/bg_BG.json33
-rw-r--r--apps/comments/l10n/cs_CZ.js8
-rw-r--r--apps/comments/l10n/cs_CZ.json8
-rw-r--r--apps/comments/l10n/sq.js2
-rw-r--r--apps/comments/l10n/sq.json2
-rw-r--r--apps/dav/lib/CalDAV/CalendarHome.php7
-rw-r--r--apps/dav/lib/CalDAV/Schedule/Plugin.php59
-rw-r--r--apps/federatedfilesharing/templates/settings-admin.php2
-rw-r--r--apps/files/l10n/bg_BG.js43
-rw-r--r--apps/files/l10n/bg_BG.json43
-rw-r--r--apps/files/l10n/nl.js5
-rw-r--r--apps/files/l10n/nl.json5
-rw-r--r--apps/files/l10n/pt_BR.js5
-rw-r--r--apps/files/l10n/pt_BR.json5
-rw-r--r--apps/files/l10n/ru.js5
-rw-r--r--apps/files/l10n/ru.json5
-rw-r--r--apps/files_versions/l10n/bg_BG.js1
-rw-r--r--apps/files_versions/l10n/bg_BG.json1
-rw-r--r--apps/files_versions/l10n/lt_LT.js5
-rw-r--r--apps/files_versions/l10n/lt_LT.json5
-rw-r--r--apps/theming/lib/Controller/IconController.php3
-rw-r--r--apps/theming/lib/IconBuilder.php9
-rw-r--r--apps/twofactor_backupcodes/l10n/fr.js2
-rw-r--r--apps/twofactor_backupcodes/l10n/fr.json2
-rw-r--r--apps/updatenotification/l10n/it.js1
-rw-r--r--apps/updatenotification/l10n/it.json1
-rw-r--r--apps/updatenotification/l10n/pt_BR.js1
-rw-r--r--apps/updatenotification/l10n/pt_BR.json1
-rw-r--r--apps/user_ldap/l10n/fr.js2
-rw-r--r--apps/user_ldap/l10n/fr.json2
-rw-r--r--apps/workflowengine/l10n/bg_BG.js71
-rw-r--r--apps/workflowengine/l10n/bg_BG.json69
-rw-r--r--core/Controller/LoginController.php9
-rw-r--r--core/js/oc-dialogs.js16
-rw-r--r--core/js/visitortimezone.js2
-rw-r--r--core/l10n/bg_BG.js332
-rw-r--r--core/l10n/bg_BG.json330
-rw-r--r--core/l10n/en_GB.js13
-rw-r--r--core/l10n/en_GB.json13
-rw-r--r--core/l10n/ru.js2
-rw-r--r--core/l10n/ru.json2
-rw-r--r--core/templates/login.php2
-rw-r--r--lib/private/Installer.php2
-rw-r--r--lib/private/Setup/PostgreSQL.php10
-rw-r--r--lib/private/URLGenerator.php2
-rw-r--r--lib/private/legacy/app.php11
-rw-r--r--settings/Controller/AppSettingsController.php9
-rw-r--r--settings/l10n/bg_BG.js9
-rw-r--r--settings/l10n/bg_BG.json9
-rw-r--r--settings/l10n/fr.js4
-rw-r--r--settings/l10n/fr.json4
-rw-r--r--settings/l10n/lt_LT.js70
-rw-r--r--settings/l10n/lt_LT.json70
-rw-r--r--settings/l10n/ru.js1
-rw-r--r--settings/l10n/ru.json1
-rw-r--r--settings/templates/apps.php2
-rw-r--r--tests/Core/Controller/LoginControllerTest.php15
-rw-r--r--tests/lib/InstallerTest.php4
-rw-r--r--version.php4
61 files changed, 1321 insertions, 75 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7bdd79b7097..2ed7920a830 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -58,7 +58,7 @@ like `git config --global alias.ci 'commit -s'`. Now you can commit with
In case you are not sure how to add or update the license header correctly please have a look at [contribute/HowToApplyALicense.md][applyalicense]
-[devmanual]: https://docs.nextcloud.org/server/10/developer_manual/
+[devmanual]: https://docs.nextcloud.org/server/11/developer_manual/
[dcofile]: https://github.com/nextcloud/server/blob/master/contribute/developer-certificate-of-origin
[applyalicense]: https://github.com/nextcloud/server/blob/master/contribute/HowToApplyALicense.md
diff --git a/apps/comments/l10n/bg_BG.js b/apps/comments/l10n/bg_BG.js
index ca60bb48bf6..6aa5a63fa28 100644
--- a/apps/comments/l10n/bg_BG.js
+++ b/apps/comments/l10n/bg_BG.js
@@ -1,20 +1,39 @@
OC.L10N.register(
"comments",
{
- "Type in a new comment..." : "Напиши нов коментар...",
+ "Comments" : "Коментари",
+ "Unknown user" : "Непознат потребител",
+ "New comment …" : "Нов коментар...",
"Delete comment" : "Изтрий коментар",
"Post" : "Публикация",
"Cancel" : "Отказ",
"Edit comment" : "Редактирай коментра",
"[Deleted user]" : "[Изтрит потребител]",
- "Comments" : "Коментари",
- "No other comments available" : "Няма други коментари",
- "More comments..." : "Още коментари...",
+ "No comments yet, start the conversation!" : "Все-още няма коментари, започни разговор!",
+ "More comments …" : "Още коментари...",
"Save" : "Запазване",
"Allowed characters {count} of {max}" : "Позволени символи {count} от {max}",
- "{count} unread comments" : "{count} нечетени коментари",
+ "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 непрочетен коментар","%n непрочетени коментари"],
"Comment" : "Коментар",
- "<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Коментари</strong> на файлове <em>(винаги изписвани в stream-а)</em>",
- "You commented" : "Вие коментирахте"
+ "You commented" : "Вие коментирахте",
+ "%1$s commented" : "%1$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",
+ "{author} commented on {file}" : "{author} коментира за {file}",
+ "<strong>Comments</strong> for files" : "<strong>Коментари</strong> за файлове",
+ "A (now) deleted user mentioned you in a comment on “%s”" : "(Токущо) изтрит потребител те коментира в “%s”",
+ "A (now) deleted user mentioned you in a comment on “{file}”" : "(Токущо) изтрит потребител те спомена в коментар за “{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}”",
+ "Type in a new comment..." : "Напиши нов коментар...",
+ "No other comments available" : "Няма други коментари",
+ "More comments..." : "Още коментари...",
+ "{count} unread comments" : "{count} непрочетени коментари",
+ "You commented on %2$s" : "Ти коментира за %2$s"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/bg_BG.json b/apps/comments/l10n/bg_BG.json
index 2b79857f6bb..dc3ed5416a9 100644
--- a/apps/comments/l10n/bg_BG.json
+++ b/apps/comments/l10n/bg_BG.json
@@ -1,18 +1,37 @@
{ "translations": {
- "Type in a new comment..." : "Напиши нов коментар...",
+ "Comments" : "Коментари",
+ "Unknown user" : "Непознат потребител",
+ "New comment …" : "Нов коментар...",
"Delete comment" : "Изтрий коментар",
"Post" : "Публикация",
"Cancel" : "Отказ",
"Edit comment" : "Редактирай коментра",
"[Deleted user]" : "[Изтрит потребител]",
- "Comments" : "Коментари",
- "No other comments available" : "Няма други коментари",
- "More comments..." : "Още коментари...",
+ "No comments yet, start the conversation!" : "Все-още няма коментари, започни разговор!",
+ "More comments …" : "Още коментари...",
"Save" : "Запазване",
"Allowed characters {count} of {max}" : "Позволени символи {count} от {max}",
- "{count} unread comments" : "{count} нечетени коментари",
+ "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 непрочетен коментар","%n непрочетени коментари"],
"Comment" : "Коментар",
- "<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Коментари</strong> на файлове <em>(винаги изписвани в stream-а)</em>",
- "You commented" : "Вие коментирахте"
+ "You commented" : "Вие коментирахте",
+ "%1$s commented" : "%1$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",
+ "{author} commented on {file}" : "{author} коментира за {file}",
+ "<strong>Comments</strong> for files" : "<strong>Коментари</strong> за файлове",
+ "A (now) deleted user mentioned you in a comment on “%s”" : "(Токущо) изтрит потребител те коментира в “%s”",
+ "A (now) deleted user mentioned you in a comment on “{file}”" : "(Токущо) изтрит потребител те спомена в коментар за “{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}”",
+ "Type in a new comment..." : "Напиши нов коментар...",
+ "No other comments available" : "Няма други коментари",
+ "More comments..." : "Още коментари...",
+ "{count} unread comments" : "{count} непрочетени коментари",
+ "You commented on %2$s" : "Ти коментира за %2$s"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/comments/l10n/cs_CZ.js b/apps/comments/l10n/cs_CZ.js
index 17231a3fa45..da14fcf91b8 100644
--- a/apps/comments/l10n/cs_CZ.js
+++ b/apps/comments/l10n/cs_CZ.js
@@ -20,8 +20,16 @@ OC.L10N.register(
"Comment" : "Komentář",
"You commented" : "Okomentoval(a) jsi",
"%1$s commented" : "%1$s okomentován",
+ "{author} commented" : "{author} okomentoval(a)",
+ "You commented on %1$s" : "Okomentoval(a) jste %1$s",
+ "You commented on {file}" : "Okomentoval(a) jste {file}",
"%1$s commented on %2$s" : "%1$s okomentoval %2$s",
+ "{author} commented on {file}" : "{author} okomentoval(a) {file}",
"<strong>Comments</strong> for files" : "<strong>Komentáře</strong> souborů",
+ "A (now) deleted user mentioned you in a comment on “%s”" : "A (now) deleted user mentioned you in a comment on “%s”",
+ "A (now) deleted user mentioned you in a comment on “{file}”" : "Nyní již smazaný uživatel vás zmínil v komentáři u \"{file}\"",
+ "%1$s mentioned you in a comment on “%2$s”" : "%1$s vás zmínil(a) v komentáři u %2$s",
+ "{user} mentioned you in a comment on “{file}”" : "{user} vás zmínil v komentáři u “{file}”",
"Type in a new comment..." : "Zadat nový komentář...",
"No other comments available" : "Nejsou dostupné žádné další komentáře",
"More comments..." : "Více komentářů...",
diff --git a/apps/comments/l10n/cs_CZ.json b/apps/comments/l10n/cs_CZ.json
index a1435f9b3bf..1f1a84b6c09 100644
--- a/apps/comments/l10n/cs_CZ.json
+++ b/apps/comments/l10n/cs_CZ.json
@@ -18,8 +18,16 @@
"Comment" : "Komentář",
"You commented" : "Okomentoval(a) jsi",
"%1$s commented" : "%1$s okomentován",
+ "{author} commented" : "{author} okomentoval(a)",
+ "You commented on %1$s" : "Okomentoval(a) jste %1$s",
+ "You commented on {file}" : "Okomentoval(a) jste {file}",
"%1$s commented on %2$s" : "%1$s okomentoval %2$s",
+ "{author} commented on {file}" : "{author} okomentoval(a) {file}",
"<strong>Comments</strong> for files" : "<strong>Komentáře</strong> souborů",
+ "A (now) deleted user mentioned you in a comment on “%s”" : "A (now) deleted user mentioned you in a comment on “%s”",
+ "A (now) deleted user mentioned you in a comment on “{file}”" : "Nyní již smazaný uživatel vás zmínil v komentáři u \"{file}\"",
+ "%1$s mentioned you in a comment on “%2$s”" : "%1$s vás zmínil(a) v komentáři u %2$s",
+ "{user} mentioned you in a comment on “{file}”" : "{user} vás zmínil v komentáři u “{file}”",
"Type in a new comment..." : "Zadat nový komentář...",
"No other comments available" : "Nejsou dostupné žádné další komentáře",
"More comments..." : "Více komentářů...",
diff --git a/apps/comments/l10n/sq.js b/apps/comments/l10n/sq.js
index 2297b7dd768..9691305f096 100644
--- a/apps/comments/l10n/sq.js
+++ b/apps/comments/l10n/sq.js
@@ -24,7 +24,7 @@ OC.L10N.register(
"You commented on {file}" : "Ju komentuat në {file}",
"%1$s commented on %2$s" : "%1$s komentoi te %2$s",
"{author} commented on {file}" : "{autori} komentoj në {file}",
- "<strong>Comments</strong> for files" : "<strong>Komente</strong> për file-et",
+ "<strong>Comments</strong> for files" : "<strong>Komente</strong> për skedarët",
"Type in a new comment..." : "Shtypni një koment të ri…",
"No other comments available" : "S’ka komente të tjera",
"More comments..." : "Më tepër komente…",
diff --git a/apps/comments/l10n/sq.json b/apps/comments/l10n/sq.json
index 98d68f922a1..2d7c900680e 100644
--- a/apps/comments/l10n/sq.json
+++ b/apps/comments/l10n/sq.json
@@ -22,7 +22,7 @@
"You commented on {file}" : "Ju komentuat në {file}",
"%1$s commented on %2$s" : "%1$s komentoi te %2$s",
"{author} commented on {file}" : "{autori} komentoj në {file}",
- "<strong>Comments</strong> for files" : "<strong>Komente</strong> për file-et",
+ "<strong>Comments</strong> for files" : "<strong>Komente</strong> për skedarët",
"Type in a new comment..." : "Shtypni një koment të ri…",
"No other comments available" : "S’ka komente të tjera",
"More comments..." : "Më tepër komente…",
diff --git a/apps/dav/lib/CalDAV/CalendarHome.php b/apps/dav/lib/CalDAV/CalendarHome.php
index f84b0c863c6..7320754e6df 100644
--- a/apps/dav/lib/CalDAV/CalendarHome.php
+++ b/apps/dav/lib/CalDAV/CalendarHome.php
@@ -42,6 +42,13 @@ class CalendarHome extends \Sabre\CalDAV\CalendarHome {
}
/**
+ * @return BackendInterface
+ */
+ public function getCalDAVBackend() {
+ return $this->caldavBackend;
+ }
+
+ /**
* @inheritdoc
*/
function getChildren() {
diff --git a/apps/dav/lib/CalDAV/Schedule/Plugin.php b/apps/dav/lib/CalDAV/Schedule/Plugin.php
index ad55a2756b0..34df666637c 100644
--- a/apps/dav/lib/CalDAV/Schedule/Plugin.php
+++ b/apps/dav/lib/CalDAV/Schedule/Plugin.php
@@ -1,7 +1,9 @@
<?php
/**
* @copyright Copyright (c) 2016, Roeland Jago Douma <roeland@famdouma.nl>
+ * @copyright Copyright (c) 2016, Joas Schilling <coding@schilljs.com>
*
+ * @author Joas Schilling <coding@schilljs.com>
* @author Roeland Jago Douma <roeland@famdouma.nl>
*
* @license GNU AGPL version 3 or any later version
@@ -22,9 +24,28 @@
*/
namespace OCA\DAV\CalDAV\Schedule;
+use OCA\DAV\CalDAV\CalDavBackend;
+use OCA\DAV\CalDAV\CalendarHome;
+use Sabre\DAV\INode;
+use Sabre\DAV\PropFind;
+use Sabre\DAV\Server;
+use Sabre\DAV\Xml\Property\LocalHref;
+use Sabre\DAVACL\IPrincipal;
+
class Plugin extends \Sabre\CalDAV\Schedule\Plugin {
/**
+ * Initializes the plugin
+ *
+ * @param Server $server
+ * @return void
+ */
+ function initialize(Server $server) {
+ parent::initialize($server);
+ $server->on('propFind', [$this, 'propFindDefaultCalendarUrl'], 90);
+ }
+
+ /**
* Returns a list of addresses that are associated with a principal.
*
* @param string $principal
@@ -39,4 +60,42 @@ class Plugin extends \Sabre\CalDAV\Schedule\Plugin {
return $result;
}
+
+ /**
+ * Always use the personal calendar as target for scheduled events
+ *
+ * @param PropFind $propFind
+ * @param INode $node
+ * @return void
+ */
+ function propFindDefaultCalendarUrl(PropFind $propFind, INode $node) {
+ if ($node instanceof IPrincipal) {
+ $propFind->handle('{' . self::NS_CALDAV . '}schedule-default-calendar-URL', function() use ($node) {
+ /** @var \OCA\DAV\CalDAV\Plugin $caldavPlugin */
+ $caldavPlugin = $this->server->getPlugin('caldav');
+ $principalUrl = $node->getPrincipalUrl();
+
+ $calendarHomePath = $caldavPlugin->getCalendarHomeForPrincipal($principalUrl);
+
+ if (!$calendarHomePath) {
+ return null;
+ }
+
+ /** @var CalendarHome $calendarHome */
+ $calendarHome = $this->server->tree->getNodeForPath($calendarHomePath);
+ if (!$calendarHome->childExists(CalDavBackend::PERSONAL_CALENDAR_URI)) {
+ $calendarHome->getCalDAVBackend()->createCalendar($principalUrl, CalDavBackend::PERSONAL_CALENDAR_URI, [
+ '{DAV:}displayname' => CalDavBackend::PERSONAL_CALENDAR_NAME,
+ ]);
+ }
+
+ $result = $this->server->getPropertiesForPath($calendarHomePath . '/' . CalDavBackend::PERSONAL_CALENDAR_URI, [], 1);
+ if (empty($result)) {
+ return null;
+ }
+
+ return new LocalHref($result[0]['href']);
+ });
+ }
+ }
}
diff --git a/apps/federatedfilesharing/templates/settings-admin.php b/apps/federatedfilesharing/templates/settings-admin.php
index 0670553e061..d71ce20d13c 100644
--- a/apps/federatedfilesharing/templates/settings-admin.php
+++ b/apps/federatedfilesharing/templates/settings-admin.php
@@ -29,7 +29,7 @@ script('federatedfilesharing', 'settings-admin');
<input type="checkbox" name="lookupServerEnabled" id="lookupServerEnabled" class="checkbox"
value="1" <?php if ($_['lookupServerEnabled']) print_unescaped('checked="checked"'); ?> />
<label for="lookupServerEnabled">
- <?php p($l->t('Enable lookups on lookup server'));?>
+ <?php p($l->t('Search global and public address book for users'));?>
</label><br/>
</p>
</div>
diff --git a/apps/files/l10n/bg_BG.js b/apps/files/l10n/bg_BG.js
index 2e49223c297..e46244321a9 100644
--- a/apps/files/l10n/bg_BG.js
+++ b/apps/files/l10n/bg_BG.js
@@ -6,6 +6,8 @@ OC.L10N.register(
"Unknown error" : "Неизвестна грешка",
"Files" : "Файлове",
"All files" : "Всички файлове",
+ "Recent" : "Скорошен",
+ "File could not be found" : "Файлът не може да бъде открит",
"Home" : "Домашен",
"Close" : "Затвори",
"Favorites" : "Любими",
@@ -13,16 +15,25 @@ 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..." : "Качване...",
"..." : "...",
+ "{hours}:{minutes}:{seconds} hour{plural_s} left" : "{hours}:{minutes}:{seconds} час{plural_s} остават",
+ "{hours}:{minutes}h" : "{hours}:{minutes}ч",
+ "{minutes}:{seconds} minute{plural_s} left" : "{minutes}:{seconds} минут{plural_s} остават",
+ "{minutes}:{seconds}m" : "{minutes}:{seconds}м",
+ "{seconds} second{plural_s} left" : "{seconds} секунд{plural_s} остават",
+ "{seconds}s" : "{seconds}и",
"Any moment now..." : "Всеки момент...",
"Soon..." : "Скоро...",
+ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} от {totalSize} ({bitrate})",
"File upload is in progress. Leaving the page now will cancel the upload." : "Извършва се качване на файлове. Затварянето на тази страница ще прекъсне качването.",
"Actions" : "Действия",
"Download" : "Изтегли",
"Rename" : "Преименуване",
"Move" : "Преместване",
+ "Target folder" : "Целева папка",
"Delete" : "Изтриване",
"Disconnect storage" : "Извади хранилището",
"Unshare" : "Прекратяване на споделяне",
@@ -42,6 +53,7 @@ OC.L10N.register(
"Could not create file \"{file}\" because it already exists" : "Файлът \"{file}\" не може да бъде създаден защото вече съществува",
"Could not create folder \"{dir}\" because it already exists" : "Папката \"{dir}\" не може да бъде създадена защото вече съществува",
"Error deleting file \"{fileName}\"." : "Грешка при изтриването на файла \"{fileName}\".",
+ "No search results in other folders for '{tag}{filter}{endtag}'" : "Няма резултати от търсенето в други папки за '{tag}{filter}{endtag}'",
"Name" : "Име",
"Size" : "Размер",
"Modified" : "Променен на",
@@ -59,23 +71,53 @@ OC.L10N.register(
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Хранилището на {owner} е почти запълнено ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Вашето хранилище е почти запълнено ({usedSpacePercent}%).",
"_matches '{filter}'_::_match '{filter}'_" : ["пасва на '{filter}'","пасват на '{filter}'\n "],
+ "View in folder" : "Преглед в папка",
"Path" : "Път",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"Favorited" : "Отбелязано в любими",
"Favorite" : "Любими",
+ "Copy local link" : "Копиране на локална връзка",
"Folder" : "Папка",
"New folder" : "Нова папка",
"Upload" : "Качване",
"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}",
+ "You created {file}" : "Вие създадохте {file}",
+ "{user} created {file}" : "{user} създаде {file}",
+ "{file} was created in a public folder" : "{file} беше създаден в публична папка",
+ "You changed {file}" : "Променихте {file}",
+ "{user} changed {file}" : "{user} промени {file}",
+ "You deleted {file}" : "Вие изтрихте {file}",
+ "{user} deleted {file}" : "{user} изтри {file}",
+ "You restored {file}" : "Възстановихте {file}",
+ "{user} restored {file}" : "{user} възстанови {file}",
+ "You renamed {oldfile} to {newfile}" : "Преименувахте {oldfile} на {newfile}",
+ "{user} renamed {oldfile} to {newfile}" : "{user} преименува {oldfile} на {newfile}",
+ "You moved {oldfile} to {newfile}" : "Преместихте {oldfile} в {newfile}",
+ "{user} moved {oldfile} to {newfile}" : "{user} премести {oldfile} в {newfile}",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Файл беше добавен или премахнат от <strong>предпочитанията</strong> ви",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "<strong>Промяна</strong> или <strong>преименуване</strong> на файл / папка",
"A new file or folder has been <strong>created</strong>" : "<strong>Създаване</strong> на нов файл / папка",
+ "A new file or folder has been <strong>deleted</strong>" : "Нов файл или папка беше <strong>изтрит/а</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Изпращай известия само при създаване / промяна на <strong>любими файлове</strong> <em>(Само за потока)</em>",
+ "A new file or folder has been <strong>restored</strong>" : "Нов файл или папка беше <strong>възстановен/а</strong>",
"Upload (max. %s)" : "Качи (макс. %s)",
"File handling" : "Операция с файла",
"Maximum upload size" : "Максимален размер",
"max. possible: " : "максимално:",
"Save" : "Запис",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Ако ползвате PHP-FPM прилагането на една промяна може да отнеме 5 минути.",
+ "Missing permissions to edit from here." : "Липсва разрешение за редакция от тук.",
"Settings" : "Настройки",
"Show hidden files" : "Показвай и скрити файлове",
"WebDAV" : "WebDAV",
@@ -115,6 +157,7 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Грешка при качването на файла \"{fileName}\": {message}",
"Could not get result from server." : "Не се получи резултат от сървърът.",
"No entries in this folder match '{filter}'" : "Нищо в тази папка не пасва на '{filter}'",
+ "Local link" : "Локална връзка",
"{newname} already exists" : "{newname} вече съществува",
"A file or folder has been <strong>changed</strong>" : "<strong>Промяна</strong> на файл / папка",
"A file or folder has been <strong>deleted</strong>" : "<strong>Изтриване</strong> на файл / папка",
diff --git a/apps/files/l10n/bg_BG.json b/apps/files/l10n/bg_BG.json
index 953a095ec08..89837eeedc5 100644
--- a/apps/files/l10n/bg_BG.json
+++ b/apps/files/l10n/bg_BG.json
@@ -4,6 +4,8 @@
"Unknown error" : "Неизвестна грешка",
"Files" : "Файлове",
"All files" : "Всички файлове",
+ "Recent" : "Скорошен",
+ "File could not be found" : "Файлът не може да бъде открит",
"Home" : "Домашен",
"Close" : "Затвори",
"Favorites" : "Любими",
@@ -11,16 +13,25 @@
"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..." : "Качване...",
"..." : "...",
+ "{hours}:{minutes}:{seconds} hour{plural_s} left" : "{hours}:{minutes}:{seconds} час{plural_s} остават",
+ "{hours}:{minutes}h" : "{hours}:{minutes}ч",
+ "{minutes}:{seconds} minute{plural_s} left" : "{minutes}:{seconds} минут{plural_s} остават",
+ "{minutes}:{seconds}m" : "{minutes}:{seconds}м",
+ "{seconds} second{plural_s} left" : "{seconds} секунд{plural_s} остават",
+ "{seconds}s" : "{seconds}и",
"Any moment now..." : "Всеки момент...",
"Soon..." : "Скоро...",
+ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} от {totalSize} ({bitrate})",
"File upload is in progress. Leaving the page now will cancel the upload." : "Извършва се качване на файлове. Затварянето на тази страница ще прекъсне качването.",
"Actions" : "Действия",
"Download" : "Изтегли",
"Rename" : "Преименуване",
"Move" : "Преместване",
+ "Target folder" : "Целева папка",
"Delete" : "Изтриване",
"Disconnect storage" : "Извади хранилището",
"Unshare" : "Прекратяване на споделяне",
@@ -40,6 +51,7 @@
"Could not create file \"{file}\" because it already exists" : "Файлът \"{file}\" не може да бъде създаден защото вече съществува",
"Could not create folder \"{dir}\" because it already exists" : "Папката \"{dir}\" не може да бъде създадена защото вече съществува",
"Error deleting file \"{fileName}\"." : "Грешка при изтриването на файла \"{fileName}\".",
+ "No search results in other folders for '{tag}{filter}{endtag}'" : "Няма резултати от търсенето в други папки за '{tag}{filter}{endtag}'",
"Name" : "Име",
"Size" : "Размер",
"Modified" : "Променен на",
@@ -57,23 +69,53 @@
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Хранилището на {owner} е почти запълнено ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Вашето хранилище е почти запълнено ({usedSpacePercent}%).",
"_matches '{filter}'_::_match '{filter}'_" : ["пасва на '{filter}'","пасват на '{filter}'\n "],
+ "View in folder" : "Преглед в папка",
"Path" : "Път",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"Favorited" : "Отбелязано в любими",
"Favorite" : "Любими",
+ "Copy local link" : "Копиране на локална връзка",
"Folder" : "Папка",
"New folder" : "Нова папка",
"Upload" : "Качване",
"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}",
+ "You created {file}" : "Вие създадохте {file}",
+ "{user} created {file}" : "{user} създаде {file}",
+ "{file} was created in a public folder" : "{file} беше създаден в публична папка",
+ "You changed {file}" : "Променихте {file}",
+ "{user} changed {file}" : "{user} промени {file}",
+ "You deleted {file}" : "Вие изтрихте {file}",
+ "{user} deleted {file}" : "{user} изтри {file}",
+ "You restored {file}" : "Възстановихте {file}",
+ "{user} restored {file}" : "{user} възстанови {file}",
+ "You renamed {oldfile} to {newfile}" : "Преименувахте {oldfile} на {newfile}",
+ "{user} renamed {oldfile} to {newfile}" : "{user} преименува {oldfile} на {newfile}",
+ "You moved {oldfile} to {newfile}" : "Преместихте {oldfile} в {newfile}",
+ "{user} moved {oldfile} to {newfile}" : "{user} премести {oldfile} в {newfile}",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Файл беше добавен или премахнат от <strong>предпочитанията</strong> ви",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "<strong>Промяна</strong> или <strong>преименуване</strong> на файл / папка",
"A new file or folder has been <strong>created</strong>" : "<strong>Създаване</strong> на нов файл / папка",
+ "A new file or folder has been <strong>deleted</strong>" : "Нов файл или папка беше <strong>изтрит/а</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Изпращай известия само при създаване / промяна на <strong>любими файлове</strong> <em>(Само за потока)</em>",
+ "A new file or folder has been <strong>restored</strong>" : "Нов файл или папка беше <strong>възстановен/а</strong>",
"Upload (max. %s)" : "Качи (макс. %s)",
"File handling" : "Операция с файла",
"Maximum upload size" : "Максимален размер",
"max. possible: " : "максимално:",
"Save" : "Запис",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Ако ползвате PHP-FPM прилагането на една промяна може да отнеме 5 минути.",
+ "Missing permissions to edit from here." : "Липсва разрешение за редакция от тук.",
"Settings" : "Настройки",
"Show hidden files" : "Показвай и скрити файлове",
"WebDAV" : "WebDAV",
@@ -113,6 +155,7 @@
"Error uploading file \"{fileName}\": {message}" : "Грешка при качването на файла \"{fileName}\": {message}",
"Could not get result from server." : "Не се получи резултат от сървърът.",
"No entries in this folder match '{filter}'" : "Нищо в тази папка не пасва на '{filter}'",
+ "Local link" : "Локална връзка",
"{newname} already exists" : "{newname} вече съществува",
"A file or folder has been <strong>changed</strong>" : "<strong>Промяна</strong> на файл / папка",
"A file or folder has been <strong>deleted</strong>" : "<strong>Изтриване</strong> на файл / папка",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index add29dec382..db2af9cf43b 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -81,6 +81,10 @@ OC.L10N.register(
"New folder" : "Nieuwe map",
"Upload" : "Uploaden",
"An error occurred while trying to update the tags" : "Er trad een fout op bij uw poging de markeringen bij te werken",
+ "Added to favorites" : "Toevoegen aan favorieten",
+ "Removed from favorites" : "Verwijderen uit favorieten",
+ "You added {file} to your favorites" : "Je voegde {file} toe aan favorieten",
+ "You removed {file} from your favorites" : "Je verwijderde {file} van favorieten",
"File changes" : "Bestandswijzigingen",
"Created by {user}" : "Gecreëerd door {user}",
"Changed by {user}" : "Gewijzigd door {user}",
@@ -101,6 +105,7 @@ OC.L10N.register(
"{user} renamed {oldfile} to {newfile}" : "{user} hernoemde {oldfile} naar {newfile}",
"You moved {oldfile} to {newfile}" : "Je verplaatste {oldfile} naar {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} verplaatste {oldfile} naar {newfile}",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Een bestand werd toegevoegd of verwijderd van je <strong>favorieten</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Een bestand of map is <strong>gewijzigd</strong> of <strong>hernoemd</strong>",
"A new file or folder has been <strong>created</strong>" : "Een nieuw bestand of map is <strong>aangemaakt</strong>",
"A new file or folder has been <strong>deleted</strong>" : "Een nieuw bestand of nieuwe map is <strong>verwijderd</strong>",
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 4bede5304cc..12349fb41ca 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -79,6 +79,10 @@
"New folder" : "Nieuwe map",
"Upload" : "Uploaden",
"An error occurred while trying to update the tags" : "Er trad een fout op bij uw poging de markeringen bij te werken",
+ "Added to favorites" : "Toevoegen aan favorieten",
+ "Removed from favorites" : "Verwijderen uit favorieten",
+ "You added {file} to your favorites" : "Je voegde {file} toe aan favorieten",
+ "You removed {file} from your favorites" : "Je verwijderde {file} van favorieten",
"File changes" : "Bestandswijzigingen",
"Created by {user}" : "Gecreëerd door {user}",
"Changed by {user}" : "Gewijzigd door {user}",
@@ -99,6 +103,7 @@
"{user} renamed {oldfile} to {newfile}" : "{user} hernoemde {oldfile} naar {newfile}",
"You moved {oldfile} to {newfile}" : "Je verplaatste {oldfile} naar {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} verplaatste {oldfile} naar {newfile}",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Een bestand werd toegevoegd of verwijderd van je <strong>favorieten</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Een bestand of map is <strong>gewijzigd</strong> of <strong>hernoemd</strong>",
"A new file or folder has been <strong>created</strong>" : "Een nieuw bestand of map is <strong>aangemaakt</strong>",
"A new file or folder has been <strong>deleted</strong>" : "Een nieuw bestand of nieuwe map is <strong>verwijderd</strong>",
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index 55a9cdc34d0..a6c93bd5b8a 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -81,6 +81,10 @@ OC.L10N.register(
"New folder" : "Nova pasta",
"Upload" : "Enviar",
"An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas",
+ "Added to favorites" : "Adicionado aos favoritos",
+ "Removed from favorites" : "Removido dos favoritos",
+ "You added {file} to your favorites" : "Você adicionou {file} aos seus favoritos",
+ "You removed {file} from your favorites" : "Você removeu {file} dos seus favoritos",
"File changes" : "Alterações do arquivo",
"Created by {user}" : "Criado por {user}",
"Changed by {user}" : "Modificado por {user}",
@@ -101,6 +105,7 @@ OC.L10N.register(
"{user} renamed {oldfile} to {newfile}" : "O usuário {user} renomeou o arquivo antigo {oldfile} para {newfile}",
"You moved {oldfile} to {newfile}" : "Você moveu o arquivo antigo {oldfile} para {newfile}",
"{user} moved {oldfile} to {newfile}" : "O usuário {user} moveu o arquivo antigo {oldfile} para {newfile}",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Um arquivo foi adicionado ou removido de seus <strong>favoritos</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Um arquivo ou pasta foi <strong>alterado</strong> ou <strong>renomeado</strong>",
"A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>",
"A new file or folder has been <strong>deleted</strong>" : "Um novo arquivo ou pasta foi <strong> deletado </strong>",
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index 36ea0ded320..0e6b7050fc2 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -79,6 +79,10 @@
"New folder" : "Nova pasta",
"Upload" : "Enviar",
"An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas",
+ "Added to favorites" : "Adicionado aos favoritos",
+ "Removed from favorites" : "Removido dos favoritos",
+ "You added {file} to your favorites" : "Você adicionou {file} aos seus favoritos",
+ "You removed {file} from your favorites" : "Você removeu {file} dos seus favoritos",
"File changes" : "Alterações do arquivo",
"Created by {user}" : "Criado por {user}",
"Changed by {user}" : "Modificado por {user}",
@@ -99,6 +103,7 @@
"{user} renamed {oldfile} to {newfile}" : "O usuário {user} renomeou o arquivo antigo {oldfile} para {newfile}",
"You moved {oldfile} to {newfile}" : "Você moveu o arquivo antigo {oldfile} para {newfile}",
"{user} moved {oldfile} to {newfile}" : "O usuário {user} moveu o arquivo antigo {oldfile} para {newfile}",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Um arquivo foi adicionado ou removido de seus <strong>favoritos</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Um arquivo ou pasta foi <strong>alterado</strong> ou <strong>renomeado</strong>",
"A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>",
"A new file or folder has been <strong>deleted</strong>" : "Um novo arquivo ou pasta foi <strong> deletado </strong>",
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index d9fb7b477ae..9c04ebf2740 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -81,7 +81,12 @@ OC.L10N.register(
"New folder" : "Новый каталог",
"Upload" : "Загрузить",
"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" : "Файлы изменены",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Файл был добавлен или удален из вашего <strong>избранного</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Фаил или каталог <strong>изменён</strong> или <strong>переименован</strong>",
"A new file or folder has been <strong>created</strong>" : "<strong>Создан</strong> новый файл или каталог",
"A new file or folder has been <strong>deleted</strong>" : "Новый файл или каталог был <strong>удален</strong>",
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index d77a0f7e6cb..8101188d7aa 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -79,7 +79,12 @@
"New folder" : "Новый каталог",
"Upload" : "Загрузить",
"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" : "Файлы изменены",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "Файл был добавлен или удален из вашего <strong>избранного</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Фаил или каталог <strong>изменён</strong> или <strong>переименован</strong>",
"A new file or folder has been <strong>created</strong>" : "<strong>Создан</strong> новый файл или каталог",
"A new file or folder has been <strong>deleted</strong>" : "Новый файл или каталог был <strong>удален</strong>",
diff --git a/apps/files_versions/l10n/bg_BG.js b/apps/files_versions/l10n/bg_BG.js
index ea6d2fccec5..8a43466c7ea 100644
--- a/apps/files_versions/l10n/bg_BG.js
+++ b/apps/files_versions/l10n/bg_BG.js
@@ -6,6 +6,7 @@ OC.L10N.register(
"Failed to revert {file} to revision {timestamp}." : "Грешка при връщане на {file} към версия {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"Restore" : "Възтановяване",
+ "No versions available" : "Няма налични версии",
"More versions..." : "Още версии...",
"No other versions available" : "Няма други налични версии"
},
diff --git a/apps/files_versions/l10n/bg_BG.json b/apps/files_versions/l10n/bg_BG.json
index 02056b635e2..9ebd62d82cc 100644
--- a/apps/files_versions/l10n/bg_BG.json
+++ b/apps/files_versions/l10n/bg_BG.json
@@ -4,6 +4,7 @@
"Failed to revert {file} to revision {timestamp}." : "Грешка при връщане на {file} към версия {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"Restore" : "Възтановяване",
+ "No versions available" : "Няма налични версии",
"More versions..." : "Още версии...",
"No other versions available" : "Няма други налични версии"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_versions/l10n/lt_LT.js b/apps/files_versions/l10n/lt_LT.js
index 7d7cfa98e34..5e119064661 100644
--- a/apps/files_versions/l10n/lt_LT.js
+++ b/apps/files_versions/l10n/lt_LT.js
@@ -1,11 +1,12 @@
OC.L10N.register(
"files_versions",
{
- "Could not revert: %s" : "Nepavyko atstatyti: %s",
+ "Could not revert: %s" : "Nepavyko sugrąžinti: %s",
"Versions" : "Versijos",
- "Failed to revert {file} to revision {timestamp}." : "Nepavyko atstatyti {file} į būseną {timestamp}.",
+ "Failed to revert {file} to revision {timestamp}." : "Nepavyko sugrąžinti {file} į {timestamp} būseną.",
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų"],
"Restore" : "Atkurti",
+ "No versions available" : "Nėra prieinama jokių versijų",
"More versions..." : "Daugiau versijų...",
"No other versions available" : "Daugiau nėra prieinama kitų versijų"
},
diff --git a/apps/files_versions/l10n/lt_LT.json b/apps/files_versions/l10n/lt_LT.json
index 2f061ecc252..0d673d6ac19 100644
--- a/apps/files_versions/l10n/lt_LT.json
+++ b/apps/files_versions/l10n/lt_LT.json
@@ -1,9 +1,10 @@
{ "translations": {
- "Could not revert: %s" : "Nepavyko atstatyti: %s",
+ "Could not revert: %s" : "Nepavyko sugrąžinti: %s",
"Versions" : "Versijos",
- "Failed to revert {file} to revision {timestamp}." : "Nepavyko atstatyti {file} į būseną {timestamp}.",
+ "Failed to revert {file} to revision {timestamp}." : "Nepavyko sugrąžinti {file} į {timestamp} būseną.",
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų"],
"Restore" : "Atkurti",
+ "No versions available" : "Nėra prieinama jokių versijų",
"More versions..." : "Daugiau versijų...",
"No other versions available" : "Daugiau nėra prieinama kitų versijų"
},"pluralForm" :"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/lib/Controller/IconController.php b/apps/theming/lib/Controller/IconController.php
index 4c25d911e5e..7c4e209d0df 100644
--- a/apps/theming/lib/Controller/IconController.php
+++ b/apps/theming/lib/Controller/IconController.php
@@ -94,6 +94,9 @@ class IconController extends Controller {
$iconFile = $this->imageManager->getCachedImage("icon-" . $app . '-' . str_replace("/","_",$image));
} catch (NotFoundException $exception) {
$icon = $this->iconBuilder->colorSvg($app, $image);
+ if ($icon === false || $icon === "") {
+ return new NotFoundResponse();
+ }
$iconFile = $this->imageManager->setCachedImage("icon-" . $app . '-' . str_replace("/","_",$image), $icon);
}
if ($iconFile !== false) {
diff --git a/apps/theming/lib/IconBuilder.php b/apps/theming/lib/IconBuilder.php
index 9cf0d051304..39a7722f0a5 100644
--- a/apps/theming/lib/IconBuilder.php
+++ b/apps/theming/lib/IconBuilder.php
@@ -159,7 +159,12 @@ class IconBuilder {
$finalIconFile->setImageArtifact('compose:args', "1,0,-0.5,0.5");
$finalIconFile->compositeImage($appIconFile, Imagick::COMPOSITE_ATOP, $offset_w, $offset_h);
$finalIconFile->setImageFormat('png24');
- $finalIconFile->resizeImage($size, $size, Imagick::INTERPOLATE_BICUBIC, 1, false);
+ if (defined("Imagick::INTERPOLATE_BICUBIC") === true) {
+ $filter = Imagick::INTERPOLATE_BICUBIC;
+ } else {
+ $filter = Imagick::FILTER_LANCZOS;
+ }
+ $finalIconFile->resizeImage($size, $size, $filter, 1, false);
$appIconFile->destroy();
return $finalIconFile;
@@ -172,7 +177,7 @@ class IconBuilder {
return false;
}
$svg = file_get_contents($imageFile);
- if ($svg !== false) {
+ if ($svg !== false && $svg !== "") {
$color = $this->util->elementColor($this->themingDefaults->getMailHeaderColor());
$svg = $this->util->colorizeSvg($svg, $color);
return $svg;
diff --git a/apps/twofactor_backupcodes/l10n/fr.js b/apps/twofactor_backupcodes/l10n/fr.js
index 56b14ae0f6a..26dd596d44d 100644
--- a/apps/twofactor_backupcodes/l10n/fr.js
+++ b/apps/twofactor_backupcodes/l10n/fr.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Generate backup codes" : "Générer des codes de récupération",
"Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Les codes de récupération ont été générés. {{used}} codes sur {{total}} ont été utilisés.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Voici vos codes de récupération. Veuillez les sauvegarder et/ou les imprimer car vous ne pouvez plus y avoir accès ultérieurement",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Voici vos codes de récupération. Veuillez les sauvegarder et/ou les imprimer car vous ne pourrez plus y avoir accès ultérieurement",
"Save backup codes" : "Sauvegarder les codes de récupération",
"Print backup codes" : "Imprimer les codes de récupération",
"Regenerate backup codes" : "Régénérer les codes de récupération",
diff --git a/apps/twofactor_backupcodes/l10n/fr.json b/apps/twofactor_backupcodes/l10n/fr.json
index 275fbb7e2f2..a7f2df0d377 100644
--- a/apps/twofactor_backupcodes/l10n/fr.json
+++ b/apps/twofactor_backupcodes/l10n/fr.json
@@ -1,7 +1,7 @@
{ "translations": {
"Generate backup codes" : "Générer des codes de récupération",
"Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Les codes de récupération ont été générés. {{used}} codes sur {{total}} ont été utilisés.",
- "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Voici vos codes de récupération. Veuillez les sauvegarder et/ou les imprimer car vous ne pouvez plus y avoir accès ultérieurement",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Voici vos codes de récupération. Veuillez les sauvegarder et/ou les imprimer car vous ne pourrez plus y avoir accès ultérieurement",
"Save backup codes" : "Sauvegarder les codes de récupération",
"Print backup codes" : "Imprimer les codes de récupération",
"Regenerate backup codes" : "Régénérer les codes de récupération",
diff --git a/apps/updatenotification/l10n/it.js b/apps/updatenotification/l10n/it.js
index ed4e253e3aa..ecb27999b46 100644
--- a/apps/updatenotification/l10n/it.js
+++ b/apps/updatenotification/l10n/it.js
@@ -19,6 +19,7 @@ OC.L10N.register(
"Only notification for app updates are available." : "Sono disponibili solo le notifiche per gli aggiornamenti delle applicazioni.",
"The selected update channel makes dedicated notifications for the server obsolete." : "Il canale di aggiornamento selezionato rende obsolete le notifiche dedicate al server.",
"The selected update channel does not support updates of the server." : "Il canale di aggiornamento selezionato non supporta gli aggiornamenti del server.",
+ "You are running PHP %s. To allow you to upgrade to Nextcloud 11 and higher you need to run at least PHP 5.6. Once you upgraded your PHP version you will be able to receive update notifications for these newer versions." : "Stai eseguendo PHP %s. Per consentirti di aggiornare a Nextcloud 11 e successivi, devi eseguire almeno PHP 5.6. Una volta aggiornata la tua versione di PHP, sarai in grado di ricevere notifiche di aggiornamento per questo versioni più recenti.",
"Updater" : "Strumento di aggiornamento"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/it.json b/apps/updatenotification/l10n/it.json
index 5415f3ed40d..7f05112bda0 100644
--- a/apps/updatenotification/l10n/it.json
+++ b/apps/updatenotification/l10n/it.json
@@ -17,6 +17,7 @@
"Only notification for app updates are available." : "Sono disponibili solo le notifiche per gli aggiornamenti delle applicazioni.",
"The selected update channel makes dedicated notifications for the server obsolete." : "Il canale di aggiornamento selezionato rende obsolete le notifiche dedicate al server.",
"The selected update channel does not support updates of the server." : "Il canale di aggiornamento selezionato non supporta gli aggiornamenti del server.",
+ "You are running PHP %s. To allow you to upgrade to Nextcloud 11 and higher you need to run at least PHP 5.6. Once you upgraded your PHP version you will be able to receive update notifications for these newer versions." : "Stai eseguendo PHP %s. Per consentirti di aggiornare a Nextcloud 11 e successivi, devi eseguire almeno PHP 5.6. Una volta aggiornata la tua versione di PHP, sarai in grado di ricevere notifiche di aggiornamento per questo versioni più recenti.",
"Updater" : "Strumento di aggiornamento"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/pt_BR.js b/apps/updatenotification/l10n/pt_BR.js
index f55dec6b790..f8288635fbd 100644
--- a/apps/updatenotification/l10n/pt_BR.js
+++ b/apps/updatenotification/l10n/pt_BR.js
@@ -19,6 +19,7 @@ OC.L10N.register(
"Only notification for app updates are available." : "Só está disponível notificação para atualizações de aplicativos.",
"The selected update channel makes dedicated notifications for the server obsolete." : "O canal de atualização selecionado fornece notificações dedicadas para o servidor desatualizado.",
"The selected update channel does not support updates of the server." : "O canal de atualização selecionado não fornece suporte a atualizações do servidor.",
+ "You are running PHP %s. To allow you to upgrade to Nextcloud 11 and higher you need to run at least PHP 5.6. Once you upgraded your PHP version you will be able to receive update notifications for these newer versions." : "Você está rodando o PHP %s. Para poder atualizar para Nextcloud11 ou maior é necessário a utilização a partir do PHP 5.6. Assim que você atualizar seu PHP será possível receber avisos de atualização para novas versões.",
"Updater" : "Atualizador"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/updatenotification/l10n/pt_BR.json b/apps/updatenotification/l10n/pt_BR.json
index 72768436c62..37cb75e43b4 100644
--- a/apps/updatenotification/l10n/pt_BR.json
+++ b/apps/updatenotification/l10n/pt_BR.json
@@ -17,6 +17,7 @@
"Only notification for app updates are available." : "Só está disponível notificação para atualizações de aplicativos.",
"The selected update channel makes dedicated notifications for the server obsolete." : "O canal de atualização selecionado fornece notificações dedicadas para o servidor desatualizado.",
"The selected update channel does not support updates of the server." : "O canal de atualização selecionado não fornece suporte a atualizações do servidor.",
+ "You are running PHP %s. To allow you to upgrade to Nextcloud 11 and higher you need to run at least PHP 5.6. Once you upgraded your PHP version you will be able to receive update notifications for these newer versions." : "Você está rodando o PHP %s. Para poder atualizar para Nextcloud11 ou maior é necessário a utilização a partir do PHP 5.6. Assim que você atualizar seu PHP será possível receber avisos de atualização para novas versões.",
"Updater" : "Atualizador"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js
index 037adac7ac3..7ede968376b 100644
--- a/apps/user_ldap/l10n/fr.js
+++ b/apps/user_ldap/l10n/fr.js
@@ -5,7 +5,7 @@ OC.L10N.register(
"Failed to delete the server configuration" : "Échec de la suppression de la configuration du serveur",
"The configuration is invalid: anonymous bind is not allowed." : "La configuration n'est pas valide : le lien anonyme n'est pas autorisé.",
"The configuration is valid and the connection could be established!" : "La configuration est valide et la connexion peut être établie !",
- "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "La configuration est valable, mais le bind a échoué. Veuillez vérifier les paramètres du serveur ainsi que vos identifiants de connexion.",
+ "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "La configuration est valable, mais le Bind a échoué. Veuillez vérifier les paramètres du serveur ainsi que vos identifiants de connexion.",
"The configuration is invalid. Please have a look at the logs for further details." : "La configuration n'est pas valable. Veuillez consulter les logs pour plus de détails.",
"No action specified" : "Aucune action spécifiée",
"No configuration specified" : "Aucune configuration spécifiée",
diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json
index 89d9190fa32..8a85822fbf7 100644
--- a/apps/user_ldap/l10n/fr.json
+++ b/apps/user_ldap/l10n/fr.json
@@ -3,7 +3,7 @@
"Failed to delete the server configuration" : "Échec de la suppression de la configuration du serveur",
"The configuration is invalid: anonymous bind is not allowed." : "La configuration n'est pas valide : le lien anonyme n'est pas autorisé.",
"The configuration is valid and the connection could be established!" : "La configuration est valide et la connexion peut être établie !",
- "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "La configuration est valable, mais le bind a échoué. Veuillez vérifier les paramètres du serveur ainsi que vos identifiants de connexion.",
+ "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "La configuration est valable, mais le Bind a échoué. Veuillez vérifier les paramètres du serveur ainsi que vos identifiants de connexion.",
"The configuration is invalid. Please have a look at the logs for further details." : "La configuration n'est pas valable. Veuillez consulter les logs pour plus de détails.",
"No action specified" : "Aucune action spécifiée",
"No configuration specified" : "Aucune configuration spécifiée",
diff --git a/apps/workflowengine/l10n/bg_BG.js b/apps/workflowengine/l10n/bg_BG.js
new file mode 100644
index 00000000000..d0392051f60
--- /dev/null
+++ b/apps/workflowengine/l10n/bg_BG.js
@@ -0,0 +1,71 @@
+OC.L10N.register(
+ "workflowengine",
+ {
+ "Successfully saved" : "Успешно запазен",
+ "Saving failed:" : "Запазването се провали:",
+ "File mime type" : "Разширения",
+ "is" : "е",
+ "is not" : "не е",
+ "matches" : "съвпадения",
+ "does not match" : "не съвпада",
+ "Example: {placeholder}" : "Пример: {placeholder}",
+ "File size (upload)" : "Големина на файл (качване)",
+ "less" : "по-малко",
+ "less or equals" : "по-малко или равно",
+ "greater or equals" : "по-голямо или равно",
+ "greater" : "равно",
+ "File system tag" : "Таг на файлова система",
+ "is tagged with" : "е тагнат с",
+ "is not tagged with" : "не е тагнат с",
+ "Select tag…" : "Избери таг...",
+ "Request remote address" : "Искане на отдалечен адрес",
+ "matches IPv4" : "съвпада IPv4",
+ "does not match IPv4" : "не съвпада IPv4",
+ "matches IPv6" : "съвпада IPv6",
+ "does not match IPv6" : "не съвпада IPv6",
+ "Request time" : "Врене ба заявка",
+ "between" : "между",
+ "not between" : "не между",
+ "Start" : "Начало",
+ "End" : "Край",
+ "Select timezone…" : "Изберете часови пояс...",
+ "Request URL" : "URL на заявка",
+ "Predefined URLs" : "Предефинирани URL-и",
+ "Files WebDAV" : "Файлове WebDAV",
+ "Request user agent" : "Потребителски агент на заявка",
+ "Sync clients" : "Синхронизиране на клиенти",
+ "Android client" : "Android клиент",
+ "iOS client" : "iOS клиент",
+ "Desktop client" : "Клиент за настолен компютър",
+ "User group membership" : "Членство към потребителска група",
+ "is member of" : "е член на",
+ "is not member of" : "не е член на",
+ "The given operator is invalid" : "Даденият оператор е невалиден",
+ "The given regular expression is invalid" : "Даденият израз е невалиден",
+ "The given file size is invalid" : "Даденият размер на файла не е валиден",
+ "The given tag id is invalid" : "Даденият таг код не е валиден",
+ "The given IP range is invalid" : "Даденият IP диапазон е невалиден",
+ "The given IP range is not valid for IPv4" : "Даденият IP диапазон не е валиден за IPv4",
+ "The given IP range is not valid for IPv6" : "Даденият IP диапазон не е валиден за IPv6",
+ "The given time span is invalid" : "Даденият период е невалиден",
+ "The given start time is invalid" : "Даденият начален час е невалиден",
+ "The given end time is invalid" : "Даденият краен час е невалиден",
+ "The given group does not exist" : "Дадената група не съществува",
+ "Check %s is invalid or does not exist" : "Проверка %s не е валидна или несъществува",
+ "Operation #%s does not exist" : "Операция #%s не съществува",
+ "Operation %s does not exist" : "Операция %s не съществува",
+ "Operation %s is invalid" : "Операция %s е невалидна",
+ "Check %s does not exist" : "Проверка %s не съществува",
+ "Check %s is invalid" : "Проверка %s е невалидна",
+ "Check #%s does not exist" : "Проверка #%s не съществува",
+ "Workflow" : "Работен процес",
+ "Open documentation" : "Отвори документация",
+ "Add rule group" : "Добави група правила",
+ "Short rule description" : "Кратко описание на правило",
+ "Add rule" : "Добави правило",
+ "Reset" : "Възстанови",
+ "Save" : "Запази",
+ "Saving…" : "Запазване...",
+ "Loading…" : "Зареждане..."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/workflowengine/l10n/bg_BG.json b/apps/workflowengine/l10n/bg_BG.json
new file mode 100644
index 00000000000..e4c15879e0f
--- /dev/null
+++ b/apps/workflowengine/l10n/bg_BG.json
@@ -0,0 +1,69 @@
+{ "translations": {
+ "Successfully saved" : "Успешно запазен",
+ "Saving failed:" : "Запазването се провали:",
+ "File mime type" : "Разширения",
+ "is" : "е",
+ "is not" : "не е",
+ "matches" : "съвпадения",
+ "does not match" : "не съвпада",
+ "Example: {placeholder}" : "Пример: {placeholder}",
+ "File size (upload)" : "Големина на файл (качване)",
+ "less" : "по-малко",
+ "less or equals" : "по-малко или равно",
+ "greater or equals" : "по-голямо или равно",
+ "greater" : "равно",
+ "File system tag" : "Таг на файлова система",
+ "is tagged with" : "е тагнат с",
+ "is not tagged with" : "не е тагнат с",
+ "Select tag…" : "Избери таг...",
+ "Request remote address" : "Искане на отдалечен адрес",
+ "matches IPv4" : "съвпада IPv4",
+ "does not match IPv4" : "не съвпада IPv4",
+ "matches IPv6" : "съвпада IPv6",
+ "does not match IPv6" : "не съвпада IPv6",
+ "Request time" : "Врене ба заявка",
+ "between" : "между",
+ "not between" : "не между",
+ "Start" : "Начало",
+ "End" : "Край",
+ "Select timezone…" : "Изберете часови пояс...",
+ "Request URL" : "URL на заявка",
+ "Predefined URLs" : "Предефинирани URL-и",
+ "Files WebDAV" : "Файлове WebDAV",
+ "Request user agent" : "Потребителски агент на заявка",
+ "Sync clients" : "Синхронизиране на клиенти",
+ "Android client" : "Android клиент",
+ "iOS client" : "iOS клиент",
+ "Desktop client" : "Клиент за настолен компютър",
+ "User group membership" : "Членство към потребителска група",
+ "is member of" : "е член на",
+ "is not member of" : "не е член на",
+ "The given operator is invalid" : "Даденият оператор е невалиден",
+ "The given regular expression is invalid" : "Даденият израз е невалиден",
+ "The given file size is invalid" : "Даденият размер на файла не е валиден",
+ "The given tag id is invalid" : "Даденият таг код не е валиден",
+ "The given IP range is invalid" : "Даденият IP диапазон е невалиден",
+ "The given IP range is not valid for IPv4" : "Даденият IP диапазон не е валиден за IPv4",
+ "The given IP range is not valid for IPv6" : "Даденият IP диапазон не е валиден за IPv6",
+ "The given time span is invalid" : "Даденият период е невалиден",
+ "The given start time is invalid" : "Даденият начален час е невалиден",
+ "The given end time is invalid" : "Даденият краен час е невалиден",
+ "The given group does not exist" : "Дадената група не съществува",
+ "Check %s is invalid or does not exist" : "Проверка %s не е валидна или несъществува",
+ "Operation #%s does not exist" : "Операция #%s не съществува",
+ "Operation %s does not exist" : "Операция %s не съществува",
+ "Operation %s is invalid" : "Операция %s е невалидна",
+ "Check %s does not exist" : "Проверка %s не съществува",
+ "Check %s is invalid" : "Проверка %s е невалидна",
+ "Check #%s does not exist" : "Проверка #%s не съществува",
+ "Workflow" : "Работен процес",
+ "Open documentation" : "Отвори документация",
+ "Add rule group" : "Добави група правила",
+ "Short rule description" : "Кратко описание на правило",
+ "Add rule" : "Добави правило",
+ "Reset" : "Възстанови",
+ "Save" : "Запази",
+ "Saving…" : "Запазване...",
+ "Loading…" : "Зареждане..."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/core/Controller/LoginController.php b/core/Controller/LoginController.php
index c3ccac37f78..b6add48ef61 100644
--- a/core/Controller/LoginController.php
+++ b/core/Controller/LoginController.php
@@ -200,9 +200,11 @@ class LoginController extends Controller {
* @param string $password
* @param string $redirect_url
* @param boolean $remember_login
+ * @param string $timezone
+ * @param string $timezone_offset
* @return RedirectResponse
*/
- public function tryLogin($user, $password, $redirect_url, $remember_login = false) {
+ public function tryLogin($user, $password, $redirect_url, $remember_login = false, $timezone = '', $timezone_offset = '') {
$currentDelay = $this->throttler->getDelay($this->request->getRemoteAddress());
$this->throttler->sleepDelay($this->request->getRemoteAddress());
@@ -247,6 +249,11 @@ class LoginController extends Controller {
$this->session->set('last-password-confirm', $loginResult->getLastLogin());
+ if ($timezone_offset !== '') {
+ $this->config->setUserValue($loginResult->getUID(), 'core', 'timezone', $timezone);
+ $this->session->set('timezone', $timezone_offset);
+ }
+
if ($this->twoFactorManager->isTwoFactorAuthenticated($loginResult)) {
$this->twoFactorManager->prepareTwoFactorLogin($loginResult, $remember_login);
diff --git a/core/js/oc-dialogs.js b/core/js/oc-dialogs.js
index 7476c93ba45..7e059b4bbc0 100644
--- a/core/js/oc-dialogs.js
+++ b/core/js/oc-dialogs.js
@@ -124,6 +124,14 @@ var OCdialogs = {
modal = false;
}
$('body').append($dlg);
+
+ // wrap callback in _.once():
+ // only call callback once and not twice (button handler and close
+ // event) but call it for the close event, if ESC or the x is hit
+ if (callback !== undefined) {
+ callback = _.once(callback);
+ }
+
var buttonlist = [{
text : t('core', 'No'),
click: function () {
@@ -147,7 +155,13 @@ var OCdialogs = {
$(dialogId).ocdialog({
closeOnEscape: true,
modal : modal,
- buttons : buttonlist
+ buttons : buttonlist,
+ close : function() {
+ // callback is already fired if Yes/No is clicked directly
+ if (callback !== undefined) {
+ callback(false, input.val());
+ }
+ }
});
input.focus();
OCdialogs.dialogsCounter++;
diff --git a/core/js/visitortimezone.js b/core/js/visitortimezone.js
index e6e99ee7e20..e984c90a894 100644
--- a/core/js/visitortimezone.js
+++ b/core/js/visitortimezone.js
@@ -1,6 +1,6 @@
/* global jstz */
$(document).ready(function () {
- $('#timezone-offset').val((-new Date().getTimezoneOffset() / 60));
+ $('#timezone_offset').val((-new Date().getTimezoneOffset() / 60));
$('#timezone').val(jstz.determine().name());
// only enable the submit button once we are sure that the timezone is set
diff --git a/core/l10n/bg_BG.js b/core/l10n/bg_BG.js
new file mode 100644
index 00000000000..74aeefeedf8
--- /dev/null
+++ b/core/l10n/bg_BG.js
@@ -0,0 +1,332 @@
+OC.L10N.register(
+ "core",
+ {
+ "Please select a file." : "Моля изберете файл.",
+ "File is too big" : "Файлът е твърде голям",
+ "The selected file is not an image." : "Избраният файл не е изображение.",
+ "The selected file cannot be read." : "Избраният файл не може да бъде отворен.",
+ "Invalid file provided" : "Предоставен е невалиден файл",
+ "No image or file provided" : "Не бяха доставени картинка или файл",
+ "Unknown filetype" : "Непознат тип файл",
+ "Invalid image" : "Невалидно изображение",
+ "An error occurred. Please contact your admin." : "Възникна неизвестна грешка. Свържете с администратора.",
+ "No temporary profile picture available, try again" : "Не е налична временна профилна снимка, опитайте отново",
+ "No crop data provided" : "Липсват данни за изрязването",
+ "No valid crop data provided" : "Липсват данни за изрязването",
+ "Crop is not square" : "Областта не е квадратна",
+ "Couldn't reset password because the token is invalid" : "Нулирането на паролата е невъзможно, защото връзката за удостоверение е невалидна",
+ "Couldn't reset password because the token is expired" : "Нулирането на паролата е невъзможно, защото връзката за удостоверение е изтекла",
+ "Couldn't send reset email. Please make sure your username is correct." : "Неуспешно изпращане на имейл за възстановяване на паролата. Моля, уверете се, че потребителското име е правилно.",
+ "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Имейлът за възстановяване на паролата не може да бъде изпратен защо потребителят няма имейл адрес. Свържете се с администратора.",
+ "%s password reset" : "Паролата на %s е променена",
+ "Couldn't send reset email. Please contact your administrator." : "Неуспешно изпращане на имейл за възстановяване на паролата. Моля, свържете се с вашия администратор.",
+ "Preparing update" : "Подготовка за актуализиране",
+ "[%d / %d]: %s" : "[%d / %d]: %s",
+ "Repair warning: " : "Предупреждение при поправка:",
+ "Repair error: " : "Грешка при поправка:",
+ "Please use the command line updater because automatic updating is disabled in the config.php." : "Моля използвайте съветникът за обновяване в команден ред, защото автоматичният е забранен в config.php.",
+ "[%d / %d]: Checking table %s" : "[%d / %d]: Проверка на таблица %s",
+ "Turned on maintenance mode" : "Режимът за поддръжка е включен",
+ "Turned off maintenance mode" : "Режимът за поддръжка е изключен",
+ "Updating database schema" : "Актуализиране на схемата на базата данни",
+ "Updated database" : "Базата данни е обоновена",
+ "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Проверка дали схемата на базата данни може да се актуализира (възможно е да отнеме повече време в зависимост от големината на базата данни)",
+ "Checked database schema update" : "Обновяването на схемата на базата данни е проверено",
+ "Checking updates of apps" : "Проверка на актуализациите за добавките",
+ "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Проверка дали схемата на базата данни %s може да бъде актуализирана (това може да отнеме повече време в зависимост от големината на базата данни)",
+ "Checked database schema update for apps" : "Обновяването на схемата на базата данни за приложения е проверено",
+ "Updated \"%s\" to %s" : "Обновен \"%s\" до %s",
+ "%s (incompatible)" : "%s (несъвместим)",
+ "Following apps have been disabled: %s" : "Следната добавка беше изключена: %s",
+ "Settings" : "Настройки",
+ "Connection to server lost" : "Връзката със сървъра е загубена",
+ "Problem loading page, reloading in 5 seconds" : "Проблем при зареждане на страницата, презареждане след 5 секунди",
+ "Saving..." : "Запазване...",
+ "Dismiss" : "Отхвърляне",
+ "This action requires you to confirm your password" : "Това действие изисква да потвърдите паролата си",
+ "Password" : "Парола",
+ "Cancel" : "Отказ",
+ "Confirm" : "Потвърди",
+ "seconds ago" : "преди секунди",
+ "Logging in …" : "Вписване ...",
+ "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Връзката за възстановяване на паролата беше изпратена до вашия имейл. Ако не я получите в разумен период от време, проверете спам и junk папките.<br>Ако не я откривате и там, се свържете с местния администратор.",
+ "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Файловете Ви са криптирани. Ако не сте настроили ключ за възстановяване, няма да можете да възстановите данните си след смяна на паролата.<br />Ако не сте сигурни какво да направите, моля, свържете се с Вашия администратор преди да продължите. <br/>Наистина ли желаете да продължите?",
+ "I know what I'm doing" : "Знам какво правя",
+ "Password can not be changed. Please contact your administrator." : "Паролата не може да бъде промена. Моля, свържете се с администратора.",
+ "No" : "Не",
+ "Yes" : "Да",
+ "No files in here" : "Тук няма файлове",
+ "Choose" : "Избиране",
+ "Error loading file picker template: {error}" : "Грешка при зареждането на шаблон за избор на файл: {error}",
+ "Ok" : "Добре",
+ "Error loading message template: {error}" : "Грешка при зареждането на шаблон за съобщения: {error}",
+ "read-only" : "Само за четене",
+ "_{count} file conflict_::_{count} file conflicts_" : ["{count} файлов конфликт","{count} файлови кофликта"],
+ "One file conflict" : "Един файлов конфликт",
+ "New Files" : "Нови файлове",
+ "Already existing files" : "Вече съществуващи файлове",
+ "Which files do you want to keep?" : "Кои файлове желете да запазите?",
+ "If you select both versions, the copied file will have a number added to its name." : "Ако изберете и двете версии, към името на копирания файл ще бъде добавено число.",
+ "Continue" : "Продължаване",
+ "(all selected)" : "(всички избрани)",
+ "({count} selected)" : "({count} избрани)",
+ "Error loading file exists template" : "Грешка при зареждането на шаблон за вече съществуващ файл",
+ "Pending" : "Чакащо",
+ "Very weak password" : "Много слаба парола",
+ "Weak password" : "Слаба парола",
+ "So-so password" : "Не особено добра парола",
+ "Good password" : "Добра парола",
+ "Strong password" : "Сигурна парола",
+ "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Вашият уеб сървър все още не е удачно настроен да позволява синхронизация на файлове, защото WebDAV интерфейсът не работи.",
+ "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." : "Сървърът няма работеща интернет връзка. Това означава, че някои функции като прикачването на външни дискови устройства, уведомления за обновяване или инсталиране на външни приложения няма да работят. Достъпът на файлове отвън или изпращане на имейли за уведомление вероятно също няма да работят. Препоръчваме да включиш интернет връзката за този сървър ако искаш да използваш всички тези функции.",
+ "Error occurred while checking server setup" : "Възникна грешка при проверката на настройките на сървъра.",
+ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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 файлът не функционира. Силно препоръчваме да настроите уеб сървъра по такъв начин, че директорията за данни да не бъде достъпна или я преместете извън директорията на уеб сървъра.",
+ "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" : "Споделено",
+ "Shared with {recipients}" : "Споделено с {recipients}",
+ "Error" : "Грешка",
+ "Error while sharing" : "Грешка при споделяне",
+ "Error while unsharing" : "Грешка при премахване на споделянето",
+ "Error setting expiration date" : "Грешка при настройване на датата за изтичане",
+ "The public link will expire no later than {days} days after it is created" : "Общодостъпната връзка ще изтече не по-късно от {days} дни след създаването ѝ.",
+ "Set expiration date" : "Задаване на дата на изтичане",
+ "Expiration" : "Изтичане",
+ "Expiration date" : "Дата на изтичане",
+ "Choose a password for the public link" : "Изберете парола за общодостъпната връзка",
+ "Copied!" : "Копирано!",
+ "Copy" : "Копиране",
+ "Not supported!" : "Не се поддържа!",
+ "Press ⌘-C to copy." : "За копиране натиснете ⌘-C.",
+ "Press Ctrl-C to copy." : "За копиране натиснете Ctrl-C.",
+ "Resharing is not allowed" : "Повторно споделяне не е разрешено.",
+ "Share link" : "Връзка за споделяне",
+ "Link" : "Връзка",
+ "Password protect" : "Защитено с парола",
+ "Allow upload and editing" : "Позволи обновяване и редактиране",
+ "Email link to person" : "Имейл връзка към човек",
+ "Send" : "Изпращане",
+ "Shared with you and the group {group} by {owner}" : "Споделено от {owner} с вас и групата {group}",
+ "Shared with you by {owner}" : "Споделено с вас от {owner}",
+ "{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} споделен с връзка",
+ "group" : "група",
+ "remote" : "отдалечен",
+ "email" : "имейл",
+ "Unshare" : "Прекратяване на споделяне",
+ "can reshare" : "може да споделя",
+ "can edit" : "може да променя",
+ "can create" : "може да създава",
+ "can change" : "може да ",
+ "can delete" : "може да изтрива",
+ "access control" : "контрол на достъпа",
+ "Could not unshare" : "Споделянето не е прекратено",
+ "Share details could not be loaded for this item." : "Данните за споделяне не могат да бъдат заредени",
+ "No users or groups found for {search}" : "Няма потребители или групи за {search}",
+ "No users found for {search}" : "Няма потребители за {search}",
+ "An error occurred. Please try again" : "Възникна грешка. Моля, опитайте отново.",
+ "{sharee} (group)" : "{sharee} (група)",
+ "{sharee} (remote)" : "{sharee} (отдалечен)",
+ "{sharee} (email)" : "{sharee} (email)",
+ "Share" : "Споделяне",
+ "Share with users or by mail..." : "Споделяне с потребители или чрез имейл...",
+ "Share with users or remote users..." : "Споделяне с потребители или с отдалечени потребители...",
+ "Share with users, remote users or by mail..." : "Споделяне с потребители, отдалечени потребители или с имейл...",
+ "Share with users or groups..." : "Споделяне с потребители или групи...",
+ "Share with users, groups or by mail..." : "Споделяне с потребители, групи или чрез имейл...",
+ "Share with users, groups or remote users..." : "Споделяне с потребители, групи или отдалечени потребители...",
+ "Share with users, groups, remote users or by mail..." : "Споделяне с потребители, групи, отдалечени потребители или чрез имейл...",
+ "Share with users..." : "Споделяне с потребители...",
+ "Error removing share" : "Грешка при махане на споделяне",
+ "Non-existing tag #{tag}" : "Не-съществуващ етикет #{tag}",
+ "restricted" : "ограничен",
+ "invisible" : "невидим",
+ "({scope})" : "({scope})",
+ "Delete" : "Изтриване",
+ "Rename" : "Преименуване",
+ "No tags found" : "Няма открити етикети",
+ "The object type is not specified." : "Типът на обекта не е избран.",
+ "Enter new" : "Въвеждане на нов",
+ "Add" : "Добавяне",
+ "Edit tags" : "Промяна на етикетите",
+ "Error loading dialog template: {error}" : "Грешка при зареждането на шаблон за диалог: {error}.",
+ "No tags selected for deletion." : "Не са избрани етикети за изтриване.",
+ "unknown text" : "непознат текст",
+ "Hello world!" : "Здравей Свят!",
+ "sunny" : "слънчево",
+ "Hello {name}, the weather is {weather}" : "Здравей {name}, времето е {weather}",
+ "Hello {name}" : "Здравейте, {name}",
+ "new" : "нов",
+ "_download %n file_::_download %n files_" : ["изтегли %n файл","изтегли %n файла"],
+ "The update is in progress, leaving this page might interrupt the process in some environments." : "Актуализирането е в процес, в някой среди - напускането на тази страница може да прекъсне процеса.",
+ "Update to {version}" : "Обнови до {version}",
+ "An error occurred." : "Възникна грешка.",
+ "Please reload the page." : "Моля, презаредете страницата.",
+ "Continue to Nextcloud" : "Продължете към Nextcloud",
+ "The update was successful. Redirecting you to Nextcloud now." : "Обновяването беше успешно. Сега те пренасочваме към Nextcloud.",
+ "Searching other places" : "Търсене на друго място",
+ "No search results in other folders for '{tag}{filter}{endtag}'" : "Няма резултати от търсенето в други папки за '{tag}{filter}{endtag}'",
+ "_{count} search result in another folder_::_{count} search results in other folders_" : ["{count} търсен резултат в друга папка","{count} търсени резултати в други папки"],
+ "Personal" : "Лични",
+ "Users" : "Потребители",
+ "Apps" : "Приложения",
+ "Admin" : "Админ",
+ "Help" : "Помощ",
+ "Access forbidden" : "Достъпът е забранен",
+ "File not found" : "Файлът не е открит",
+ "The specified document has not been found on the server." : "Избраният документ не е намерен на сървъра.",
+ "You can click here to return to %s." : "Можете да натиснете тук, за да се върнете на %s.",
+ "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Здравейте,\n\nсамо да ви уведомяваме, че %s сподели %s с вас.\nРазгледай го: %s\n\n",
+ "The share will expire on %s." : "Споделянето ще изтече на %s.",
+ "Cheers!" : "Поздрави!",
+ "Internal Server Error" : "Вътрешна системна грешка",
+ "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." : "Моля, свържете се със сървърния администратор, ако тази грешка се появи отново. Също така Ви Молим да включите техническите данни, показани в доклада по-долу.",
+ "More details can be found in the server log." : "Повече детайли могат да бъдат намерени в сървърния журнал.",
+ "Technical details" : "Технически детайли",
+ "Remote Address: %s" : "Отдалечен адрес: %s",
+ "Request ID: %s" : "ID на заявка: %s",
+ "Type: %s" : "Тип: %s",
+ "Code: %s" : "Код: %s",
+ "Message: %s" : "Съобщение: %s",
+ "File: %s" : "Файл: %s",
+ "Line: %s" : "Линия: %s",
+ "Trace" : "Проследяване на грешките",
+ "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Вашата директория за данни и файлове Ви вероятно са достъпни от интернет, поради това, че файлът \".htaccess\" не функционира.",
+ "Create an <strong>admin account</strong>" : "Създаване на <strong>администраторски профил</strong>.",
+ "Username" : "Потребител",
+ "Storage & database" : "Хранилища и бази данни",
+ "Data folder" : "Директория за данни",
+ "Configure the database" : "Конфигуриране на базата данни",
+ "Only %s is available." : "Само %s е наличен.",
+ "For more details check out the documentation." : "За повече детайли проверете документацията.",
+ "Database user" : "Потребител за базата данни",
+ "Database password" : "Парола за базата данни",
+ "Database name" : "Име на базата данни",
+ "Database host" : "Хост за базата данни",
+ "Performance warning" : "Предупреждение за производителност",
+ "SQLite will be used as database." : "Ще бъде използвана SQLite за база данни.",
+ "For larger installations we recommend to choose a different database backend." : "За по- големи инсталации Ви препоръчваме да изберете друг сървър за бази данни.",
+ "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Използването на SQLite не се препоръчва, особено ако ползвате клиента за настолен компютър.",
+ "Finish setup" : "Завършване на настройките",
+ "Finishing …" : "Завършване...",
+ "Need help?" : "Нуждаете се от помощ?",
+ "See the documentation" : "Прегледайте документацията",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "За да функционира приложението изисква JavaScript. Моля, {linkstart}включете JavaScript{linkend} и презаредете страницата.",
+ "Log out" : "Отписване",
+ "Search" : "Търсене",
+ "This action requires you to confirm your password:" : "Това действие изисква да потвърдите паролата си:",
+ "Confirm your password" : "Потвърдете паролата си",
+ "Server side authentication failed!" : "Удостоверяването от страна на сървъра е неуспешно!",
+ "Please contact your administrator." : "Моля, свържете се с администратора.",
+ "An internal error occurred." : "Възникна вътрешна грешка.",
+ "Please try again or contact your administrator." : "Опитайте отново или се свържете с администраотра.",
+ "Username or email" : "Потребител или имейл",
+ "Wrong password. Reset it?" : "Грешна парола. Желаете ли нова парола?",
+ "Wrong password." : "Грешна парола",
+ "Log in" : "Вписване",
+ "Stay logged in" : "Остани вписан",
+ "Alternative Logins" : "Алтернативни методи на вписване",
+ "Use the following link to reset your password: {link}" : "Използвайте следната връзка, за да възстановите паролата си: {link}",
+ "New password" : "Нова парола",
+ "New Password" : "Нова парола",
+ "Reset password" : "Възстановяване на паролата",
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Здравейте,<br><br>само ви уведомяваме, че %s сподели <strong>%s</strong> с вас.\n<br><a href=\"%s\">Разгледай го!</a><br><br>.",
+ "This Nextcloud instance is currently in single user mode." : "В момента този Nextcloud е в режим допускащ само един потребител.",
+ "This means only administrators can use the instance." : "Това означава, че само администраторът може да го използва.",
+ "Contact your system administrator if this message persists or appeared unexpectedly." : "Свържете се със системния администратор ако това съобщение се задържи твърде дълго или се е появило неочаквано.",
+ "Thank you for your patience." : "Благодарим за търпението.",
+ "Cancel log in" : "Откажи вписване",
+ "Use backup code" : "Използвай код за възстановяване",
+ "You are accessing the server from an untrusted domain." : "Свръзвате се със сървъра от домейн, който не е отбелязан като сигурен.",
+ "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "В зависимост от конфигурацията, като администратор натискайки долния бутон можете да маркирате домейна като сигурен.",
+ "Add \"%s\" as trusted domain" : "Добави \"%s\" като сигурен домейн",
+ "%s will be updated to version %s" : "%s ще бъде обновен до версия %s",
+ "These apps will be updated:" : "Следните добавки ще бъдат обновени:",
+ "These incompatible apps will be disabled:" : "Следните несъвместими добавки ще бъдат деактивирани:",
+ "The theme %s has been disabled." : "Темата %s е изключена.",
+ "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Моля, уверете се, че сте направили копия на базата данни, папките с настройки и данните, преди да продължите.",
+ "Start update" : "Начало на обновяването",
+ "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "За да избегнеш таймаутове при по-големи инсталации, можеш да изпълниш следните команди в инсталанционната директория:",
+ "Update needed" : "Нужно е обновяване",
+ "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 е отново на линия.",
+ "Error loading tags" : "Грешка при зареждане на етикети",
+ "Tag already exists" : "Етикетът вече съществува",
+ "Error deleting tag(s)" : "Грешка при изтриване на етикет(и)",
+ "Error tagging" : "Грешка при задаване на етикета",
+ "Error untagging" : "Грешка при премахване на етикета",
+ "Error favoriting" : "Грешка при добавяне в любими",
+ "Error unfavoriting" : "Грешка при премахване от любими",
+ "Couldn't send mail to following users: %s " : "Изпращането на имейл до следните потребители не е възможно: %s",
+ "Sunday" : "неделя",
+ "Monday" : "понеделник",
+ "Tuesday" : "вторник",
+ "Wednesday" : "сряда",
+ "Thursday" : "четвъртък",
+ "Friday" : "петък",
+ "Saturday" : "събота",
+ "Sun." : "нед",
+ "Mon." : "пон",
+ "Tue." : "вт",
+ "Wed." : "ср",
+ "Thu." : "чет",
+ "Fri." : "пет",
+ "Sat." : "съб",
+ "Su" : "нд",
+ "Mo" : "пн",
+ "Tu" : "вт",
+ "We" : "ср",
+ "Th" : "чт",
+ "Fr" : "пт",
+ "Sa" : "сб",
+ "January" : "януари",
+ "February" : "февруару",
+ "March" : "март",
+ "April" : "април",
+ "May" : "май",
+ "June" : "юни",
+ "July" : "юли",
+ "August" : "август",
+ "September" : "септември",
+ "October" : "октомври",
+ "November" : "ноември",
+ "December" : "декември",
+ "Jan." : "яну",
+ "Feb." : "фев",
+ "Mar." : "мар",
+ "Apr." : "апр",
+ "May." : "май",
+ "Jun." : "юни",
+ "Jul." : "юли",
+ "Aug." : "авг",
+ "Sep." : "сеп",
+ "Oct." : "окт",
+ "Nov." : "ное",
+ "Dec." : "дек",
+ "Allow editing" : "Позволяване на редактиране",
+ "Hide file listing" : "Скрий показването на файлове",
+ "Sending ..." : "Изпращане ...",
+ "Email sent" : "Имейла е изпратен",
+ "Send link via email" : "Сподели връзка с имейл",
+ "notify by email" : "уведомяване по електронна поща",
+ "can share" : "може да споделя",
+ "create" : "създаване",
+ "change" : "промяна",
+ "delete" : "изтриване",
+ "{sharee} (at {server})" : "{sharee} (в {server})",
+ "Share with users…" : "Споделяне с потребители...",
+ "Share with users, groups or remote users…" : "Споделяне с потребители, групи и отдалечени потребители...",
+ "Share with users or groups…" : "Споделяне с потребители или групи...",
+ "Share with users or remote users…" : "Споделяне с потребители или с отдалечени потребители...",
+ "Warning" : "Предупреждение",
+ "Error while sending notification" : "Грешка при изпращане на уведомление",
+ "The upgrade is in progress, leaving this page might interrupt the process in some environments." : "Актуализирането е в процес, в някой среди - напускането на тази страница може да прекъсне процеса.",
+ "Updating to {version}" : "Обновяване до {version}",
+ "The update was successful. There were warnings." : "Обновяването мина успешно. Има предупреждения.",
+ "No search results in other folders" : "Няма търсени резултати в други папки",
+ "Cancel login" : "Откажи вписване",
+ "An error occured. Please try again" : "Възникна грешка. Опитайте отново.",
+ "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Споделяй с хора от друг ownCloud-ове като използвате синтаксис username@example.com/owncloud",
+ "Updating {productName} to version {version}, this may take a while." : "Обновяване на {productName} до версия {version}, това може да отнеме известно време.",
+ "An internal error occured." : "Възникна вътрешна грешка."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/core/l10n/bg_BG.json b/core/l10n/bg_BG.json
new file mode 100644
index 00000000000..1a0a219b550
--- /dev/null
+++ b/core/l10n/bg_BG.json
@@ -0,0 +1,330 @@
+{ "translations": {
+ "Please select a file." : "Моля изберете файл.",
+ "File is too big" : "Файлът е твърде голям",
+ "The selected file is not an image." : "Избраният файл не е изображение.",
+ "The selected file cannot be read." : "Избраният файл не може да бъде отворен.",
+ "Invalid file provided" : "Предоставен е невалиден файл",
+ "No image or file provided" : "Не бяха доставени картинка или файл",
+ "Unknown filetype" : "Непознат тип файл",
+ "Invalid image" : "Невалидно изображение",
+ "An error occurred. Please contact your admin." : "Възникна неизвестна грешка. Свържете с администратора.",
+ "No temporary profile picture available, try again" : "Не е налична временна профилна снимка, опитайте отново",
+ "No crop data provided" : "Липсват данни за изрязването",
+ "No valid crop data provided" : "Липсват данни за изрязването",
+ "Crop is not square" : "Областта не е квадратна",
+ "Couldn't reset password because the token is invalid" : "Нулирането на паролата е невъзможно, защото връзката за удостоверение е невалидна",
+ "Couldn't reset password because the token is expired" : "Нулирането на паролата е невъзможно, защото връзката за удостоверение е изтекла",
+ "Couldn't send reset email. Please make sure your username is correct." : "Неуспешно изпращане на имейл за възстановяване на паролата. Моля, уверете се, че потребителското име е правилно.",
+ "Could not send reset email because there is no email address for this username. Please contact your administrator." : "Имейлът за възстановяване на паролата не може да бъде изпратен защо потребителят няма имейл адрес. Свържете се с администратора.",
+ "%s password reset" : "Паролата на %s е променена",
+ "Couldn't send reset email. Please contact your administrator." : "Неуспешно изпращане на имейл за възстановяване на паролата. Моля, свържете се с вашия администратор.",
+ "Preparing update" : "Подготовка за актуализиране",
+ "[%d / %d]: %s" : "[%d / %d]: %s",
+ "Repair warning: " : "Предупреждение при поправка:",
+ "Repair error: " : "Грешка при поправка:",
+ "Please use the command line updater because automatic updating is disabled in the config.php." : "Моля използвайте съветникът за обновяване в команден ред, защото автоматичният е забранен в config.php.",
+ "[%d / %d]: Checking table %s" : "[%d / %d]: Проверка на таблица %s",
+ "Turned on maintenance mode" : "Режимът за поддръжка е включен",
+ "Turned off maintenance mode" : "Режимът за поддръжка е изключен",
+ "Updating database schema" : "Актуализиране на схемата на базата данни",
+ "Updated database" : "Базата данни е обоновена",
+ "Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "Проверка дали схемата на базата данни може да се актуализира (възможно е да отнеме повече време в зависимост от големината на базата данни)",
+ "Checked database schema update" : "Обновяването на схемата на базата данни е проверено",
+ "Checking updates of apps" : "Проверка на актуализациите за добавките",
+ "Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Проверка дали схемата на базата данни %s може да бъде актуализирана (това може да отнеме повече време в зависимост от големината на базата данни)",
+ "Checked database schema update for apps" : "Обновяването на схемата на базата данни за приложения е проверено",
+ "Updated \"%s\" to %s" : "Обновен \"%s\" до %s",
+ "%s (incompatible)" : "%s (несъвместим)",
+ "Following apps have been disabled: %s" : "Следната добавка беше изключена: %s",
+ "Settings" : "Настройки",
+ "Connection to server lost" : "Връзката със сървъра е загубена",
+ "Problem loading page, reloading in 5 seconds" : "Проблем при зареждане на страницата, презареждане след 5 секунди",
+ "Saving..." : "Запазване...",
+ "Dismiss" : "Отхвърляне",
+ "This action requires you to confirm your password" : "Това действие изисква да потвърдите паролата си",
+ "Password" : "Парола",
+ "Cancel" : "Отказ",
+ "Confirm" : "Потвърди",
+ "seconds ago" : "преди секунди",
+ "Logging in …" : "Вписване ...",
+ "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Връзката за възстановяване на паролата беше изпратена до вашия имейл. Ако не я получите в разумен период от време, проверете спам и junk папките.<br>Ако не я откривате и там, се свържете с местния администратор.",
+ "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Файловете Ви са криптирани. Ако не сте настроили ключ за възстановяване, няма да можете да възстановите данните си след смяна на паролата.<br />Ако не сте сигурни какво да направите, моля, свържете се с Вашия администратор преди да продължите. <br/>Наистина ли желаете да продължите?",
+ "I know what I'm doing" : "Знам какво правя",
+ "Password can not be changed. Please contact your administrator." : "Паролата не може да бъде промена. Моля, свържете се с администратора.",
+ "No" : "Не",
+ "Yes" : "Да",
+ "No files in here" : "Тук няма файлове",
+ "Choose" : "Избиране",
+ "Error loading file picker template: {error}" : "Грешка при зареждането на шаблон за избор на файл: {error}",
+ "Ok" : "Добре",
+ "Error loading message template: {error}" : "Грешка при зареждането на шаблон за съобщения: {error}",
+ "read-only" : "Само за четене",
+ "_{count} file conflict_::_{count} file conflicts_" : ["{count} файлов конфликт","{count} файлови кофликта"],
+ "One file conflict" : "Един файлов конфликт",
+ "New Files" : "Нови файлове",
+ "Already existing files" : "Вече съществуващи файлове",
+ "Which files do you want to keep?" : "Кои файлове желете да запазите?",
+ "If you select both versions, the copied file will have a number added to its name." : "Ако изберете и двете версии, към името на копирания файл ще бъде добавено число.",
+ "Continue" : "Продължаване",
+ "(all selected)" : "(всички избрани)",
+ "({count} selected)" : "({count} избрани)",
+ "Error loading file exists template" : "Грешка при зареждането на шаблон за вече съществуващ файл",
+ "Pending" : "Чакащо",
+ "Very weak password" : "Много слаба парола",
+ "Weak password" : "Слаба парола",
+ "So-so password" : "Не особено добра парола",
+ "Good password" : "Добра парола",
+ "Strong password" : "Сигурна парола",
+ "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Вашият уеб сървър все още не е удачно настроен да позволява синхронизация на файлове, защото WebDAV интерфейсът не работи.",
+ "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." : "Сървърът няма работеща интернет връзка. Това означава, че някои функции като прикачването на външни дискови устройства, уведомления за обновяване или инсталиране на външни приложения няма да работят. Достъпът на файлове отвън или изпращане на имейли за уведомление вероятно също няма да работят. Препоръчваме да включиш интернет връзката за този сървър ако искаш да използваш всички тези функции.",
+ "Error occurred while checking server setup" : "Възникна грешка при проверката на настройките на сървъра.",
+ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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 файлът не функционира. Силно препоръчваме да настроите уеб сървъра по такъв начин, че директорията за данни да не бъде достъпна или я преместете извън директорията на уеб сървъра.",
+ "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" : "Споделено",
+ "Shared with {recipients}" : "Споделено с {recipients}",
+ "Error" : "Грешка",
+ "Error while sharing" : "Грешка при споделяне",
+ "Error while unsharing" : "Грешка при премахване на споделянето",
+ "Error setting expiration date" : "Грешка при настройване на датата за изтичане",
+ "The public link will expire no later than {days} days after it is created" : "Общодостъпната връзка ще изтече не по-късно от {days} дни след създаването ѝ.",
+ "Set expiration date" : "Задаване на дата на изтичане",
+ "Expiration" : "Изтичане",
+ "Expiration date" : "Дата на изтичане",
+ "Choose a password for the public link" : "Изберете парола за общодостъпната връзка",
+ "Copied!" : "Копирано!",
+ "Copy" : "Копиране",
+ "Not supported!" : "Не се поддържа!",
+ "Press ⌘-C to copy." : "За копиране натиснете ⌘-C.",
+ "Press Ctrl-C to copy." : "За копиране натиснете Ctrl-C.",
+ "Resharing is not allowed" : "Повторно споделяне не е разрешено.",
+ "Share link" : "Връзка за споделяне",
+ "Link" : "Връзка",
+ "Password protect" : "Защитено с парола",
+ "Allow upload and editing" : "Позволи обновяване и редактиране",
+ "Email link to person" : "Имейл връзка към човек",
+ "Send" : "Изпращане",
+ "Shared with you and the group {group} by {owner}" : "Споделено от {owner} с вас и групата {group}",
+ "Shared with you by {owner}" : "Споделено с вас от {owner}",
+ "{{shareInitiatorDisplayName}} shared via link" : "{{shareInitiatorDisplayName}} споделен с връзка",
+ "group" : "група",
+ "remote" : "отдалечен",
+ "email" : "имейл",
+ "Unshare" : "Прекратяване на споделяне",
+ "can reshare" : "може да споделя",
+ "can edit" : "може да променя",
+ "can create" : "може да създава",
+ "can change" : "може да ",
+ "can delete" : "може да изтрива",
+ "access control" : "контрол на достъпа",
+ "Could not unshare" : "Споделянето не е прекратено",
+ "Share details could not be loaded for this item." : "Данните за споделяне не могат да бъдат заредени",
+ "No users or groups found for {search}" : "Няма потребители или групи за {search}",
+ "No users found for {search}" : "Няма потребители за {search}",
+ "An error occurred. Please try again" : "Възникна грешка. Моля, опитайте отново.",
+ "{sharee} (group)" : "{sharee} (група)",
+ "{sharee} (remote)" : "{sharee} (отдалечен)",
+ "{sharee} (email)" : "{sharee} (email)",
+ "Share" : "Споделяне",
+ "Share with users or by mail..." : "Споделяне с потребители или чрез имейл...",
+ "Share with users or remote users..." : "Споделяне с потребители или с отдалечени потребители...",
+ "Share with users, remote users or by mail..." : "Споделяне с потребители, отдалечени потребители или с имейл...",
+ "Share with users or groups..." : "Споделяне с потребители или групи...",
+ "Share with users, groups or by mail..." : "Споделяне с потребители, групи или чрез имейл...",
+ "Share with users, groups or remote users..." : "Споделяне с потребители, групи или отдалечени потребители...",
+ "Share with users, groups, remote users or by mail..." : "Споделяне с потребители, групи, отдалечени потребители или чрез имейл...",
+ "Share with users..." : "Споделяне с потребители...",
+ "Error removing share" : "Грешка при махане на споделяне",
+ "Non-existing tag #{tag}" : "Не-съществуващ етикет #{tag}",
+ "restricted" : "ограничен",
+ "invisible" : "невидим",
+ "({scope})" : "({scope})",
+ "Delete" : "Изтриване",
+ "Rename" : "Преименуване",
+ "No tags found" : "Няма открити етикети",
+ "The object type is not specified." : "Типът на обекта не е избран.",
+ "Enter new" : "Въвеждане на нов",
+ "Add" : "Добавяне",
+ "Edit tags" : "Промяна на етикетите",
+ "Error loading dialog template: {error}" : "Грешка при зареждането на шаблон за диалог: {error}.",
+ "No tags selected for deletion." : "Не са избрани етикети за изтриване.",
+ "unknown text" : "непознат текст",
+ "Hello world!" : "Здравей Свят!",
+ "sunny" : "слънчево",
+ "Hello {name}, the weather is {weather}" : "Здравей {name}, времето е {weather}",
+ "Hello {name}" : "Здравейте, {name}",
+ "new" : "нов",
+ "_download %n file_::_download %n files_" : ["изтегли %n файл","изтегли %n файла"],
+ "The update is in progress, leaving this page might interrupt the process in some environments." : "Актуализирането е в процес, в някой среди - напускането на тази страница може да прекъсне процеса.",
+ "Update to {version}" : "Обнови до {version}",
+ "An error occurred." : "Възникна грешка.",
+ "Please reload the page." : "Моля, презаредете страницата.",
+ "Continue to Nextcloud" : "Продължете към Nextcloud",
+ "The update was successful. Redirecting you to Nextcloud now." : "Обновяването беше успешно. Сега те пренасочваме към Nextcloud.",
+ "Searching other places" : "Търсене на друго място",
+ "No search results in other folders for '{tag}{filter}{endtag}'" : "Няма резултати от търсенето в други папки за '{tag}{filter}{endtag}'",
+ "_{count} search result in another folder_::_{count} search results in other folders_" : ["{count} търсен резултат в друга папка","{count} търсени резултати в други папки"],
+ "Personal" : "Лични",
+ "Users" : "Потребители",
+ "Apps" : "Приложения",
+ "Admin" : "Админ",
+ "Help" : "Помощ",
+ "Access forbidden" : "Достъпът е забранен",
+ "File not found" : "Файлът не е открит",
+ "The specified document has not been found on the server." : "Избраният документ не е намерен на сървъра.",
+ "You can click here to return to %s." : "Можете да натиснете тук, за да се върнете на %s.",
+ "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Здравейте,\n\nсамо да ви уведомяваме, че %s сподели %s с вас.\nРазгледай го: %s\n\n",
+ "The share will expire on %s." : "Споделянето ще изтече на %s.",
+ "Cheers!" : "Поздрави!",
+ "Internal Server Error" : "Вътрешна системна грешка",
+ "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." : "Моля, свържете се със сървърния администратор, ако тази грешка се появи отново. Също така Ви Молим да включите техническите данни, показани в доклада по-долу.",
+ "More details can be found in the server log." : "Повече детайли могат да бъдат намерени в сървърния журнал.",
+ "Technical details" : "Технически детайли",
+ "Remote Address: %s" : "Отдалечен адрес: %s",
+ "Request ID: %s" : "ID на заявка: %s",
+ "Type: %s" : "Тип: %s",
+ "Code: %s" : "Код: %s",
+ "Message: %s" : "Съобщение: %s",
+ "File: %s" : "Файл: %s",
+ "Line: %s" : "Линия: %s",
+ "Trace" : "Проследяване на грешките",
+ "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Вашата директория за данни и файлове Ви вероятно са достъпни от интернет, поради това, че файлът \".htaccess\" не функционира.",
+ "Create an <strong>admin account</strong>" : "Създаване на <strong>администраторски профил</strong>.",
+ "Username" : "Потребител",
+ "Storage & database" : "Хранилища и бази данни",
+ "Data folder" : "Директория за данни",
+ "Configure the database" : "Конфигуриране на базата данни",
+ "Only %s is available." : "Само %s е наличен.",
+ "For more details check out the documentation." : "За повече детайли проверете документацията.",
+ "Database user" : "Потребител за базата данни",
+ "Database password" : "Парола за базата данни",
+ "Database name" : "Име на базата данни",
+ "Database host" : "Хост за базата данни",
+ "Performance warning" : "Предупреждение за производителност",
+ "SQLite will be used as database." : "Ще бъде използвана SQLite за база данни.",
+ "For larger installations we recommend to choose a different database backend." : "За по- големи инсталации Ви препоръчваме да изберете друг сървър за бази данни.",
+ "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Използването на SQLite не се препоръчва, особено ако ползвате клиента за настолен компютър.",
+ "Finish setup" : "Завършване на настройките",
+ "Finishing …" : "Завършване...",
+ "Need help?" : "Нуждаете се от помощ?",
+ "See the documentation" : "Прегледайте документацията",
+ "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "За да функционира приложението изисква JavaScript. Моля, {linkstart}включете JavaScript{linkend} и презаредете страницата.",
+ "Log out" : "Отписване",
+ "Search" : "Търсене",
+ "This action requires you to confirm your password:" : "Това действие изисква да потвърдите паролата си:",
+ "Confirm your password" : "Потвърдете паролата си",
+ "Server side authentication failed!" : "Удостоверяването от страна на сървъра е неуспешно!",
+ "Please contact your administrator." : "Моля, свържете се с администратора.",
+ "An internal error occurred." : "Възникна вътрешна грешка.",
+ "Please try again or contact your administrator." : "Опитайте отново или се свържете с администраотра.",
+ "Username or email" : "Потребител или имейл",
+ "Wrong password. Reset it?" : "Грешна парола. Желаете ли нова парола?",
+ "Wrong password." : "Грешна парола",
+ "Log in" : "Вписване",
+ "Stay logged in" : "Остани вписан",
+ "Alternative Logins" : "Алтернативни методи на вписване",
+ "Use the following link to reset your password: {link}" : "Използвайте следната връзка, за да възстановите паролата си: {link}",
+ "New password" : "Нова парола",
+ "New Password" : "Нова парола",
+ "Reset password" : "Възстановяване на паролата",
+ "Hey there,<br><br>just letting you know that %s shared <strong>%s</strong> with you.<br><a href=\"%s\">View it!</a><br><br>" : "Здравейте,<br><br>само ви уведомяваме, че %s сподели <strong>%s</strong> с вас.\n<br><a href=\"%s\">Разгледай го!</a><br><br>.",
+ "This Nextcloud instance is currently in single user mode." : "В момента този Nextcloud е в режим допускащ само един потребител.",
+ "This means only administrators can use the instance." : "Това означава, че само администраторът може да го използва.",
+ "Contact your system administrator if this message persists or appeared unexpectedly." : "Свържете се със системния администратор ако това съобщение се задържи твърде дълго или се е появило неочаквано.",
+ "Thank you for your patience." : "Благодарим за търпението.",
+ "Cancel log in" : "Откажи вписване",
+ "Use backup code" : "Използвай код за възстановяване",
+ "You are accessing the server from an untrusted domain." : "Свръзвате се със сървъра от домейн, който не е отбелязан като сигурен.",
+ "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "В зависимост от конфигурацията, като администратор натискайки долния бутон можете да маркирате домейна като сигурен.",
+ "Add \"%s\" as trusted domain" : "Добави \"%s\" като сигурен домейн",
+ "%s will be updated to version %s" : "%s ще бъде обновен до версия %s",
+ "These apps will be updated:" : "Следните добавки ще бъдат обновени:",
+ "These incompatible apps will be disabled:" : "Следните несъвместими добавки ще бъдат деактивирани:",
+ "The theme %s has been disabled." : "Темата %s е изключена.",
+ "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Моля, уверете се, че сте направили копия на базата данни, папките с настройки и данните, преди да продължите.",
+ "Start update" : "Начало на обновяването",
+ "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "За да избегнеш таймаутове при по-големи инсталации, можеш да изпълниш следните команди в инсталанционната директория:",
+ "Update needed" : "Нужно е обновяване",
+ "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 е отново на линия.",
+ "Error loading tags" : "Грешка при зареждане на етикети",
+ "Tag already exists" : "Етикетът вече съществува",
+ "Error deleting tag(s)" : "Грешка при изтриване на етикет(и)",
+ "Error tagging" : "Грешка при задаване на етикета",
+ "Error untagging" : "Грешка при премахване на етикета",
+ "Error favoriting" : "Грешка при добавяне в любими",
+ "Error unfavoriting" : "Грешка при премахване от любими",
+ "Couldn't send mail to following users: %s " : "Изпращането на имейл до следните потребители не е възможно: %s",
+ "Sunday" : "неделя",
+ "Monday" : "понеделник",
+ "Tuesday" : "вторник",
+ "Wednesday" : "сряда",
+ "Thursday" : "четвъртък",
+ "Friday" : "петък",
+ "Saturday" : "събота",
+ "Sun." : "нед",
+ "Mon." : "пон",
+ "Tue." : "вт",
+ "Wed." : "ср",
+ "Thu." : "чет",
+ "Fri." : "пет",
+ "Sat." : "съб",
+ "Su" : "нд",
+ "Mo" : "пн",
+ "Tu" : "вт",
+ "We" : "ср",
+ "Th" : "чт",
+ "Fr" : "пт",
+ "Sa" : "сб",
+ "January" : "януари",
+ "February" : "февруару",
+ "March" : "март",
+ "April" : "април",
+ "May" : "май",
+ "June" : "юни",
+ "July" : "юли",
+ "August" : "август",
+ "September" : "септември",
+ "October" : "октомври",
+ "November" : "ноември",
+ "December" : "декември",
+ "Jan." : "яну",
+ "Feb." : "фев",
+ "Mar." : "мар",
+ "Apr." : "апр",
+ "May." : "май",
+ "Jun." : "юни",
+ "Jul." : "юли",
+ "Aug." : "авг",
+ "Sep." : "сеп",
+ "Oct." : "окт",
+ "Nov." : "ное",
+ "Dec." : "дек",
+ "Allow editing" : "Позволяване на редактиране",
+ "Hide file listing" : "Скрий показването на файлове",
+ "Sending ..." : "Изпращане ...",
+ "Email sent" : "Имейла е изпратен",
+ "Send link via email" : "Сподели връзка с имейл",
+ "notify by email" : "уведомяване по електронна поща",
+ "can share" : "може да споделя",
+ "create" : "създаване",
+ "change" : "промяна",
+ "delete" : "изтриване",
+ "{sharee} (at {server})" : "{sharee} (в {server})",
+ "Share with users…" : "Споделяне с потребители...",
+ "Share with users, groups or remote users…" : "Споделяне с потребители, групи и отдалечени потребители...",
+ "Share with users or groups…" : "Споделяне с потребители или групи...",
+ "Share with users or remote users…" : "Споделяне с потребители или с отдалечени потребители...",
+ "Warning" : "Предупреждение",
+ "Error while sending notification" : "Грешка при изпращане на уведомление",
+ "The upgrade is in progress, leaving this page might interrupt the process in some environments." : "Актуализирането е в процес, в някой среди - напускането на тази страница може да прекъсне процеса.",
+ "Updating to {version}" : "Обновяване до {version}",
+ "The update was successful. There were warnings." : "Обновяването мина успешно. Има предупреждения.",
+ "No search results in other folders" : "Няма търсени резултати в други папки",
+ "Cancel login" : "Откажи вписване",
+ "An error occured. Please try again" : "Възникна грешка. Опитайте отново.",
+ "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Споделяй с хора от друг ownCloud-ове като използвате синтаксис username@example.com/owncloud",
+ "Updating {productName} to version {version}, this may take a while." : "Обновяване на {productName} до версия {version}, това може да отнеме известно време.",
+ "An internal error occured." : "Възникна вътрешна грешка."
+},"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 ec47db08055..b0d6f1a3098 100644
--- a/core/l10n/en_GB.js
+++ b/core/l10n/en_GB.js
@@ -3,6 +3,8 @@ OC.L10N.register(
{
"Please select a file." : "Please select a file.",
"File is too big" : "File is too big",
+ "The selected file is not an image." : "The selected file is not an image.",
+ "The selected file cannot be read." : "The selected file cannot be read.",
"Invalid file provided" : "Invalid file provided",
"No image or file provided" : "No image or file provided",
"Unknown filetype" : "Unknown filetype",
@@ -45,18 +47,25 @@ OC.L10N.register(
"Already up to date" : "Already up to date",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>",
"Settings" : "Settings",
+ "Connection to server lost" : "Connection to server lost",
"Problem loading page, reloading in 5 seconds" : "Problem loading page, reloading in 5 seconds",
"Saving..." : "Saving...",
"Dismiss" : "Dismiss",
+ "This action requires you to confirm your password" : "This action requires you to confirm your password",
+ "Authentication required" : "Authentication required",
"Password" : "Password",
"Cancel" : "Cancel",
+ "Confirm" : "Confirm",
+ "Failed to authenticate, try again" : "Failed to authenticate, try again",
"seconds ago" : "seconds ago",
+ "Logging in …" : "Logging in …",
"The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator.",
"Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?",
"I know what I'm doing" : "I know what I'm doing",
"Password can not be changed. Please contact your administrator." : "Password can not be changed. Please contact your administrator.",
"No" : "No",
"Yes" : "Yes",
+ "No files in here" : "No files in here",
"Choose" : "Choose",
"Error loading file picker template: {error}" : "Error loading file picker template: {error}",
"Ok" : "OK",
@@ -72,6 +81,7 @@ OC.L10N.register(
"(all selected)" : "(all selected)",
"({count} selected)" : "({count} selected)",
"Error loading file exists template" : "Error loading file exists template",
+ "Pending" : "Pending",
"Very weak password" : "Very weak password",
"Weak password" : "Weak password",
"So-so password" : "So-so password",
@@ -79,9 +89,11 @@ OC.L10N.register(
"Strong password" : "Strong password",
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Your web server is not yet set up properly to allow file synchronisation because the WebDAV interface seems to be broken.",
"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>." : "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>.",
+ "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features.",
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.",
"You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it.",
+ "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.",
"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 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>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)",
"Error occurred while checking server setup" : "Error occurred whilst checking server setup",
@@ -100,6 +112,7 @@ OC.L10N.register(
"Expiration" : "Expiration",
"Expiration date" : "Expiration date",
"Choose a password for the public link" : "Choose a password for the public link",
+ "Copied!" : "Copied!",
"Resharing is not allowed" : "Resharing is not allowed",
"Share link" : "Share link",
"Link" : "Link",
diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json
index 3742d7a46d7..19e3b8e50cd 100644
--- a/core/l10n/en_GB.json
+++ b/core/l10n/en_GB.json
@@ -1,6 +1,8 @@
{ "translations": {
"Please select a file." : "Please select a file.",
"File is too big" : "File is too big",
+ "The selected file is not an image." : "The selected file is not an image.",
+ "The selected file cannot be read." : "The selected file cannot be read.",
"Invalid file provided" : "Invalid file provided",
"No image or file provided" : "No image or file provided",
"Unknown filetype" : "Unknown filetype",
@@ -43,18 +45,25 @@
"Already up to date" : "Already up to date",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>",
"Settings" : "Settings",
+ "Connection to server lost" : "Connection to server lost",
"Problem loading page, reloading in 5 seconds" : "Problem loading page, reloading in 5 seconds",
"Saving..." : "Saving...",
"Dismiss" : "Dismiss",
+ "This action requires you to confirm your password" : "This action requires you to confirm your password",
+ "Authentication required" : "Authentication required",
"Password" : "Password",
"Cancel" : "Cancel",
+ "Confirm" : "Confirm",
+ "Failed to authenticate, try again" : "Failed to authenticate, try again",
"seconds ago" : "seconds ago",
+ "Logging in …" : "Logging in …",
"The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator.",
"Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?" : "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.<br />If you are not sure what to do, please contact your administrator before you continue. <br />Do you really want to continue?",
"I know what I'm doing" : "I know what I'm doing",
"Password can not be changed. Please contact your administrator." : "Password can not be changed. Please contact your administrator.",
"No" : "No",
"Yes" : "Yes",
+ "No files in here" : "No files in here",
"Choose" : "Choose",
"Error loading file picker template: {error}" : "Error loading file picker template: {error}",
"Ok" : "OK",
@@ -70,6 +79,7 @@
"(all selected)" : "(all selected)",
"({count} selected)" : "({count} selected)",
"Error loading file exists template" : "Error loading file exists template",
+ "Pending" : "Pending",
"Very weak password" : "Very weak password",
"Weak password" : "Weak password",
"So-so password" : "So-so password",
@@ -77,9 +87,11 @@
"Strong password" : "Strong password",
"Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Your web server is not yet set up properly to allow file synchronisation because the WebDAV interface seems to be broken.",
"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>." : "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>.",
+ "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "This server has no working Internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features.",
"No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.",
"/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.",
"You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it." : "You are currently running PHP {version}. We encourage you to upgrade your PHP version to take advantage of <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">performance and security updates provided by the PHP Group</a> as soon as your distribution supports it.",
+ "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>.",
"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 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>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)",
"Error occurred while checking server setup" : "Error occurred whilst checking server setup",
@@ -98,6 +110,7 @@
"Expiration" : "Expiration",
"Expiration date" : "Expiration date",
"Choose a password for the public link" : "Choose a password for the public link",
+ "Copied!" : "Copied!",
"Resharing is not allowed" : "Resharing is not allowed",
"Share link" : "Share link",
"Link" : "Link",
diff --git a/core/l10n/ru.js b/core/l10n/ru.js
index 2ca9bdd2e71..6b277875762 100644
--- a/core/l10n/ru.js
+++ b/core/l10n/ru.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Authentication required" : "Требуется аутентификация ",
"Password" : "Пароль",
"Cancel" : "Отмена",
+ "Failed to authenticate, try again" : "Ошибка аутентификации. Попробуйте снова.",
"seconds ago" : "несколько секунд назад",
"Logging in …" : "Вход в систему …",
"The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Ссылка для сброса пароля была отправлена на ваш email. Если вы не получили письмо в течении разумного промежутка времени, проверьте папку со спамом.<br>Если письма там нет, то обратитесь к вашему администратору.",
@@ -90,6 +91,7 @@ OC.L10N.register(
"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>." : "Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация в нашей <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">документации</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>." : "PHP не имеет доступа на чтение к /dev/urandom, что крайне нежелательно по соображениям безопасности. Дополнительную информацию можно найти в нашей <a target=\"_blank\" href=\"{docLink}\"> документации </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." : "Вы используете PHP {version}. Рекомендуется обновить версию PHP, чтобы воспользоваться <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">улучшениями производительности и безопасности, внедрёнными PHP Group</a> как только новая версия будет доступна в Вашем дистрибутиве. ",
+ "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Заголовки обратного прокси настроены неправильно, либо вы пытаетесь получить доступ к NextCloud через доверенный прокси. Если NextCloud открыт не через доверенный прокси, это проблема безопасности, которая может позволить атакующему подделать IP-адрес, который видит NextCloud. Для получения дополнительной информации смотрите нашу <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\". \\OC\\Memcache\\Memcached поддерживает только модуль \"memcached\", но не \"memcache\". Больше информации на <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">wiki странице memcached о обоих модулях</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>)",
"Error occurred while checking server setup" : "Произошла ошибка при проверке настроек сервера",
diff --git a/core/l10n/ru.json b/core/l10n/ru.json
index 8f94cd5e323..0c8d22fabaa 100644
--- a/core/l10n/ru.json
+++ b/core/l10n/ru.json
@@ -52,6 +52,7 @@
"Authentication required" : "Требуется аутентификация ",
"Password" : "Пароль",
"Cancel" : "Отмена",
+ "Failed to authenticate, try again" : "Ошибка аутентификации. Попробуйте снова.",
"seconds ago" : "несколько секунд назад",
"Logging in …" : "Вход в систему …",
"The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator." : "Ссылка для сброса пароля была отправлена на ваш email. Если вы не получили письмо в течении разумного промежутка времени, проверьте папку со спамом.<br>Если письма там нет, то обратитесь к вашему администратору.",
@@ -88,6 +89,7 @@
"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>." : "Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробная информация в нашей <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">документации</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>." : "PHP не имеет доступа на чтение к /dev/urandom, что крайне нежелательно по соображениям безопасности. Дополнительную информацию можно найти в нашей <a target=\"_blank\" href=\"{docLink}\"> документации </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." : "Вы используете PHP {version}. Рекомендуется обновить версию PHP, чтобы воспользоваться <a target=\"_blank\" rel=\"noreferrer\" href=\"{phpLink}\">улучшениями производительности и безопасности, внедрёнными PHP Group</a> как только новая версия будет доступна в Вашем дистрибутиве. ",
+ "The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Заголовки обратного прокси настроены неправильно, либо вы пытаетесь получить доступ к NextCloud через доверенный прокси. Если NextCloud открыт не через доверенный прокси, это проблема безопасности, которая может позволить атакующему подделать IP-адрес, который видит NextCloud. Для получения дополнительной информации смотрите нашу <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\". \\OC\\Memcache\\Memcached поддерживает только модуль \"memcached\", но не \"memcache\". Больше информации на <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">wiki странице memcached о обоих модулях</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>)",
"Error occurred while checking server setup" : "Произошла ошибка при проверке настроек сервера",
diff --git a/core/templates/login.php b/core/templates/login.php
index 46045f86b50..c200dfe366b 100644
--- a/core/templates/login.php
+++ b/core/templates/login.php
@@ -80,7 +80,7 @@ script('core', [
<?php endif; ?>
</div>
- <input type="hidden" name="timezone-offset" id="timezone-offset"/>
+ <input type="hidden" name="timezone_offset" id="timezone_offset"/>
<input type="hidden" name="timezone" id="timezone"/>
<input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']) ?>">
</fieldset>
diff --git a/lib/private/Installer.php b/lib/private/Installer.php
index db71f7b1432..38d0ce13684 100644
--- a/lib/private/Installer.php
+++ b/lib/private/Installer.php
@@ -121,7 +121,7 @@ class Installer {
OC_App::executeRepairSteps($appId, $appData['repair-steps']['install']);
//set the installed version
- \OC::$server->getConfig()->setAppValue($info['id'], 'installed_version', OC_App::getAppVersion($info['id']));
+ \OC::$server->getConfig()->setAppValue($info['id'], 'installed_version', OC_App::getAppVersion($info['id'], false));
\OC::$server->getConfig()->setAppValue($info['id'], 'enabled', 'no');
//set remote/public handlers
diff --git a/lib/private/Setup/PostgreSQL.php b/lib/private/Setup/PostgreSQL.php
index 4f4f8a03231..085e8609ab2 100644
--- a/lib/private/Setup/PostgreSQL.php
+++ b/lib/private/Setup/PostgreSQL.php
@@ -60,7 +60,7 @@ class PostgreSQL extends AbstractDatabase {
//use the admin login data for the new database user
//add prefix to the postgresql user name to prevent collisions
- $this->dbUser = 'oc_' . $username;
+ $this->dbUser = 'oc_' . strtolower($username);
//create a new password so we don't need to store the admin config in the config file
$this->dbPassword = \OC::$server->getSecureRandom()->generate(30, \OCP\Security\ISecureRandom::CHAR_LOWER . \OCP\Security\ISecureRandom::CHAR_DIGITS);
@@ -111,7 +111,7 @@ class PostgreSQL extends AbstractDatabase {
private function createDatabase(IDBConnection $connection) {
if (!$this->databaseExists($connection)) {
//The database does not exists... let's create it
- $query = $connection->prepare("CREATE DATABASE \"" . addslashes($this->dbName) . "\" OWNER '" . addslashes($this->dbUser) . "'");
+ $query = $connection->prepare("CREATE DATABASE " . addslashes($this->dbName) . " OWNER " . addslashes($this->dbUser));
try {
$query->execute();
} catch (DatabaseException $e) {
@@ -119,7 +119,7 @@ class PostgreSQL extends AbstractDatabase {
$this->logger->logException($e);
}
} else {
- $query = $connection->prepare("REVOKE ALL PRIVILEGES ON DATABASE \"" . addslashes($this->dbName) . "\" FROM PUBLIC");
+ $query = $connection->prepare("REVOKE ALL PRIVILEGES ON DATABASE " . addslashes($this->dbName) . " FROM PUBLIC");
try {
$query->execute();
} catch (DatabaseException $e) {
@@ -153,10 +153,10 @@ class PostgreSQL extends AbstractDatabase {
try {
if ($this->userExists($connection)) {
// change the password
- $query = $connection->prepare("ALTER ROLE \"" . addslashes($this->dbUser) . "\" WITH CREATEDB PASSWORD '" . addslashes($this->dbPassword) . "'");
+ $query = $connection->prepare("ALTER ROLE " . addslashes($this->dbUser) . " WITH CREATEDB PASSWORD '" . addslashes($this->dbPassword) . "'");
} else {
// create the user
- $query = $connection->prepare("CREATE USER \"" . addslashes($this->dbUser) . "\" CREATEDB PASSWORD '" . addslashes($this->dbPassword) . "'");
+ $query = $connection->prepare("CREATE USER " . addslashes($this->dbUser) . " CREATEDB PASSWORD '" . addslashes($this->dbPassword) . "'");
}
$query->execute();
} catch (DatabaseException $e) {
diff --git a/lib/private/URLGenerator.php b/lib/private/URLGenerator.php
index c6f1ebd4594..d954153ab88 100644
--- a/lib/private/URLGenerator.php
+++ b/lib/private/URLGenerator.php
@@ -158,7 +158,7 @@ class URLGenerator implements IURLGenerator {
// Check if the app is in the app folder
$path = '';
- $themingEnabled = $this->config->getSystemValue('installed', false) && \OCP\App::isEnabled('theming');
+ $themingEnabled = $this->config->getSystemValue('installed', false) && \OCP\App::isEnabled('theming') && \OC_App::isAppLoaded('theming');
if($themingEnabled && $image === "favicon.ico" && \OC::$server->getThemingDefaults()->shouldReplaceIcons()) {
$cacheBusterValue = $this->config->getAppValue('theming', 'cachebuster', '0');
if($app==="") { $app = "core"; }
diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php
index 0d9adfa9d2b..adf29601ac6 100644
--- a/lib/private/legacy/app.php
+++ b/lib/private/legacy/app.php
@@ -653,13 +653,16 @@ class OC_App {
* get the last version of the app from appinfo/info.xml
*
* @param string $appId
+ * @param bool $useCache
* @return string
*/
- public static function getAppVersion($appId) {
- if (!isset(self::$appVersion[$appId])) {
- $file = self::getAppPath($appId);
- self::$appVersion[$appId] = ($file !== false) ? self::getAppVersionByPath($file) : '0';
+ public static function getAppVersion($appId, $useCache = true) {
+ if($useCache && isset(self::$appVersion[$appId])) {
+ return self::$appVersion[$appId];
}
+
+ $file = self::getAppPath($appId);
+ self::$appVersion[$appId] = ($file !== false) ? self::getAppVersionByPath($file) : '0';
return self::$appVersion[$appId];
}
diff --git a/settings/Controller/AppSettingsController.php b/settings/Controller/AppSettingsController.php
index fe050332fc8..6a5b5210c0f 100644
--- a/settings/Controller/AppSettingsController.php
+++ b/settings/Controller/AppSettingsController.php
@@ -296,6 +296,15 @@ class AppSettingsController extends Controller {
$apps = array_filter($apps, function ($app) {
return !$app['active'];
});
+
+ $apps = array_map(function ($app) {
+ $newVersion = \OC\Installer::isUpdateAvailable($app['id'], $this->appFetcher);
+ if ($newVersion !== false) {
+ $app['update'] = $newVersion;
+ }
+ return $app;
+ }, $apps);
+
usort($apps, function ($a, $b) {
$a = (string)$a['name'];
$b = (string)$b['name'];
diff --git a/settings/l10n/bg_BG.js b/settings/l10n/bg_BG.js
index c2f219b0c48..3a97ceb0093 100644
--- a/settings/l10n/bg_BG.js
+++ b/settings/l10n/bg_BG.js
@@ -52,22 +52,29 @@ OC.L10N.register(
"Uninstalling ...." : "Премахване ...",
"Error while uninstalling app" : "Грешка при премахването на приложението",
"Uninstall" : "Премахване",
+ "Approved" : "Одобрен",
+ "Experimental" : "Ексериментален",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
"Google Chrome" : "Google Chrome",
"Safari" : "Safari",
"Google Chrome for Android" : "Google Chrome за Android",
+ "iPhone iOS" : "iPhone iOS",
+ "iPad iOS" : "iPad iOS",
"iOS Client" : "iOS клиент",
"Android Client" : "Android клиент",
"This session" : "Текуща сесия",
"Copy" : "Копиране",
+ "Copied!" : "Копирано!",
"Not supported!" : "Не се поддържа!",
"Press ⌘-C to copy." : "За копиране натиснете ⌘-C",
"Press Ctrl-C to copy." : "За копиране натиснете Ctrl-C",
"Valid until {date}" : "Далидна до {date}",
"Delete" : "Изтриване",
+ "Local" : "Локално",
"Contacts" : "Контакти",
+ "Public" : "Публичен",
"Select a profile picture" : "Избиране на профилна снимка",
"Very weak password" : "Много слаба парола",
"Weak password" : "Слаба парола",
@@ -213,6 +220,7 @@ OC.L10N.register(
"Default quota" : "Стандартна квота",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Моля, въведете квота за хранилището (напр. \"512 MB\" или \"12 GB\")",
"Other" : "Друга...",
+ "Group admin for" : "Групов администратор за",
"Quota" : "Квота",
"Storage location" : "Дисково пространство",
"Last login" : "Последно вписване",
@@ -242,6 +250,7 @@ OC.L10N.register(
"Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Здрасти,\n\nСамо да ти кажа, че имаш %s профил.\n\nПотребителя ти е: %s\nДостъпи го: %s\n",
"Group" : "Група",
"Default Quota" : "Стандартна квота",
+ "Group Admin for" : "Групов Администратор за",
"Storage Location" : "Дисково пространство",
"Last Login" : "Последно вписване",
"Redis" : "Redis",
diff --git a/settings/l10n/bg_BG.json b/settings/l10n/bg_BG.json
index 80b654888f2..64d76926da1 100644
--- a/settings/l10n/bg_BG.json
+++ b/settings/l10n/bg_BG.json
@@ -50,22 +50,29 @@
"Uninstalling ...." : "Премахване ...",
"Error while uninstalling app" : "Грешка при премахването на приложението",
"Uninstall" : "Премахване",
+ "Approved" : "Одобрен",
+ "Experimental" : "Ексериментален",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
"Google Chrome" : "Google Chrome",
"Safari" : "Safari",
"Google Chrome for Android" : "Google Chrome за Android",
+ "iPhone iOS" : "iPhone iOS",
+ "iPad iOS" : "iPad iOS",
"iOS Client" : "iOS клиент",
"Android Client" : "Android клиент",
"This session" : "Текуща сесия",
"Copy" : "Копиране",
+ "Copied!" : "Копирано!",
"Not supported!" : "Не се поддържа!",
"Press ⌘-C to copy." : "За копиране натиснете ⌘-C",
"Press Ctrl-C to copy." : "За копиране натиснете Ctrl-C",
"Valid until {date}" : "Далидна до {date}",
"Delete" : "Изтриване",
+ "Local" : "Локално",
"Contacts" : "Контакти",
+ "Public" : "Публичен",
"Select a profile picture" : "Избиране на профилна снимка",
"Very weak password" : "Много слаба парола",
"Weak password" : "Слаба парола",
@@ -211,6 +218,7 @@
"Default quota" : "Стандартна квота",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Моля, въведете квота за хранилището (напр. \"512 MB\" или \"12 GB\")",
"Other" : "Друга...",
+ "Group admin for" : "Групов администратор за",
"Quota" : "Квота",
"Storage location" : "Дисково пространство",
"Last login" : "Последно вписване",
@@ -240,6 +248,7 @@
"Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Здрасти,\n\nСамо да ти кажа, че имаш %s профил.\n\nПотребителя ти е: %s\nДостъпи го: %s\n",
"Group" : "Група",
"Default Quota" : "Стандартна квота",
+ "Group Admin for" : "Групов Администратор за",
"Storage Location" : "Дисково пространство",
"Last Login" : "Последно вписване",
"Redis" : "Redis",
diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js
index ec4c11ff7cc..e4c11119214 100644
--- a/settings/l10n/fr.js
+++ b/settings/l10n/fr.js
@@ -364,7 +364,7 @@ OC.L10N.register(
"Enable experimental apps" : "Activer les applications expérimentales",
"Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Bonjour,<br><br>Un compte %s a été créé pour vous.<br><br>Votre nom d'utilisateur est : %s<br>Visitez votre compte : <a href=\"%s\">%s</a><br><br>",
"Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Bonjour,<br><br>Un compte %s a été créé pour vous.<br><br>Votre nom d'utilisateur est : %s<br>Visitez votre compte : %s<br><br>\n",
- "If you want to support the project\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\t<or></or>\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Si vous voulez appuyer ce projet\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">rejoindre le dévellopement</a>\n<or></or>\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">partager</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\t<or></or>\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Si vous voulez appuyer ce projet\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">rejoindre le développement</a>\n<or></or>\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">partager</a>!",
"Add Group" : "Ajouter groupe",
"Group" : "Groupe",
"Default Quota" : "Quota par défaut",
@@ -389,7 +389,7 @@ OC.L10N.register(
"To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers une autre base de données utiliser la ligne de commande: 'occ db:convert-type', ou regardez la <a target=\"_blank\" href=\"%s\">documentation</a>",
"This app has no minimum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Cette application n'a pas de version maximum Nextcloud exigée. Ce sera considéré comme une erreur dans Nextcloud 11 et supérieur.",
"This app has no maximum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Cette application n'a pas de version maximum Nextcloud exigée. Ce sera considéré comme une erreur dans Nextcloud 11 et supérieur.",
- "If you want to support the project\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://help.nextcloud.com/\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">help other users</a>!" : "Si vous voulez supporter le projet\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">rejoindre le dévellopement</a>\nou\n<a href=\"https://help.nextcloud.com/\"\n<a href=\"https://help.nextcloud.com/\"\ntarget=\"_blank\" rel=\"noreferrer\">aider les autres utilisateurs</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://help.nextcloud.com/\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">help other users</a>!" : "Si vous voulez supporter le projet\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">rejoindre le développement</a>\nou\n<a href=\"https://help.nextcloud.com/\"\n<a href=\"https://help.nextcloud.com/\"\ntarget=\"_blank\" rel=\"noreferrer\">aider les autres utilisateurs</a>!",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Développé par la {communityopen}communauté Nextcloud{linkclose}, le {githubopen}code source{linkclose} est sous licence {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}."
},
"nplurals=2; plural=(n > 1);");
diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json
index 296a67524ff..2e54dd4cf57 100644
--- a/settings/l10n/fr.json
+++ b/settings/l10n/fr.json
@@ -362,7 +362,7 @@
"Enable experimental apps" : "Activer les applications expérimentales",
"Hey there,<br><br>just letting you know that you now have an %s account.<br><br>Your username: %s<br>Access it: <a href=\"%s\">%s</a><br><br>" : "Bonjour,<br><br>Un compte %s a été créé pour vous.<br><br>Votre nom d'utilisateur est : %s<br>Visitez votre compte : <a href=\"%s\">%s</a><br><br>",
"Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Bonjour,<br><br>Un compte %s a été créé pour vous.<br><br>Votre nom d'utilisateur est : %s<br>Visitez votre compte : %s<br><br>\n",
- "If you want to support the project\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\t<or></or>\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Si vous voulez appuyer ce projet\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">rejoindre le dévellopement</a>\n<or></or>\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">partager</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\t<or></or>\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">spread the word</a>!" : "Si vous voulez appuyer ce projet\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">rejoindre le développement</a>\n<or></or>\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">partager</a>!",
"Add Group" : "Ajouter groupe",
"Group" : "Groupe",
"Default Quota" : "Quota par défaut",
@@ -387,7 +387,7 @@
"To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers une autre base de données utiliser la ligne de commande: 'occ db:convert-type', ou regardez la <a target=\"_blank\" href=\"%s\">documentation</a>",
"This app has no minimum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Cette application n'a pas de version maximum Nextcloud exigée. Ce sera considéré comme une erreur dans Nextcloud 11 et supérieur.",
"This app has no maximum Nextcloud version assigned. This will be an error in Nextcloud 11 and later." : "Cette application n'a pas de version maximum Nextcloud exigée. Ce sera considéré comme une erreur dans Nextcloud 11 et supérieur.",
- "If you want to support the project\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://help.nextcloud.com/\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">help other users</a>!" : "Si vous voulez supporter le projet\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">rejoindre le dévellopement</a>\nou\n<a href=\"https://help.nextcloud.com/\"\n<a href=\"https://help.nextcloud.com/\"\ntarget=\"_blank\" rel=\"noreferrer\">aider les autres utilisateurs</a>!",
+ "If you want to support the project\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://help.nextcloud.com/\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">help other users</a>!" : "Si vous voulez supporter le projet\n<a href=\"https://nextcloud.com/contribute\"\ntarget=\"_blank\" rel=\"noreferrer\">rejoindre le développement</a>\nou\n<a href=\"https://help.nextcloud.com/\"\n<a href=\"https://help.nextcloud.com/\"\ntarget=\"_blank\" rel=\"noreferrer\">aider les autres utilisateurs</a>!",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}." : "Développé par la {communityopen}communauté Nextcloud{linkclose}, le {githubopen}code source{linkclose} est sous licence {licenseopen}<abbr title=\"Affero General Public License\">AGPL</abbr>{linkclose}."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/settings/l10n/lt_LT.js b/settings/l10n/lt_LT.js
index 12b90bd2ac4..349e6a32051 100644
--- a/settings/l10n/lt_LT.js
+++ b/settings/l10n/lt_LT.js
@@ -19,38 +19,55 @@ OC.L10N.register(
"Invalid mail address" : "Neteisingas pašto adresas",
"A user with that name already exists." : "Toks naudotojas jau yra.",
"Unable to create user." : "Nepavyko sukurti naudotojo.",
- "Your %s account was created" : "Tavo paskyra %s sukurta",
+ "Your %s account was created" : "Jūsų paskyra %s sukurta",
"Unable to delete user." : "Nepavyko ištrinti naudotojo.",
+ "Settings saved" : "Nustatymai įrašyti",
"Unable to change full name" : "Nepavyko pakeisti pilno vardo",
"Your full name has been changed." : "Pilnas vardas pakeistas.",
"Invalid user" : "Neteisingas naudotojas",
"Unable to change mail address" : "Nepavyko pakeisti el. pašto adresą",
"Email saved" : "El. paštas įrašytas",
+ "Password confirmation is required" : "Reikalingas slaptažodžio patvirtinimas",
"Couldn't remove app." : "Nepavyko pašalinti programėlės.",
"Admins can't remove themself from the admin group" : "Administratoriai negali pašalinti savęs iš administratorių grupės",
"Unable to add user to group %s" : "Nepavyko pridėti naudotojo į grupę %s",
"Unable to remove user from group %s" : "Nepavyko pašalinti naudotojo iš grupės %s",
- "Couldn't update app." : "Nepavyko atnaujinti programos.",
+ "Couldn't update app." : "Nepavyko atnaujinti programėlės.",
"Not saved" : "Neišsaugota",
"Sending..." : "Siunčiama...",
"Official" : "Oficiali",
"All" : "Viskas",
"Update to %s" : "Atnaujinti į %s",
"Please wait...." : "Prašome palaukti...",
- "Error while disabling app" : "Klaida išjungiant programą",
+ "Error while disabling app" : "Klaida, išjungiant programėlę",
"Disable" : "Išjungti",
"Enable" : "Įjungti",
- "Error while enabling app" : "Klaida įjungiant programą",
+ "Error while enabling app" : "Klaida, įjungiant programėlę",
"Updating...." : "Atnaujinama...",
"Error while updating app" : "Įvyko klaida atnaujinant programą",
"Updated" : "Atnaujinta",
"Approved" : "Patvirtinta",
"Experimental" : "Eksperimentinė",
+ "Internet Explorer" : "Internet Explorer",
+ "Edge" : "Edge",
+ "Firefox" : "Firefox",
+ "Google Chrome" : "Google Chrome",
+ "Safari" : "Safari",
+ "Google Chrome for Android" : "Google Chrome, skirta Android",
+ "iPhone iOS" : "iPhone iOS",
+ "iPad iOS" : "iPad iOS",
+ "iOS Client" : "iOS klientas",
+ "Android Client" : "Android klientas",
+ "This session" : "Šis seansas",
+ "Copy" : "Kopijuoti",
"Copied!" : "Nukopijuota!",
"Not supported!" : "Nepalaikoma!",
"Valid until {date}" : "Galioja iki {date}",
"Delete" : "Ištrinti",
- "Select a profile picture" : "Pažymėkite profilio paveikslą",
+ "Only visible to local users" : "Matoma tik vietiniams naudotojams",
+ "Only visible to you" : "Matoma tik jums",
+ "Visible to local users and to trusted servers" : "Matoma tik vietiniams naudotojams ir patikimiems serveriams",
+ "Select a profile picture" : "Pasirinkite profilio paveikslą",
"Very weak password" : "Labai silpnas slaptažodis",
"Weak password" : "Silpnas slaptažodis",
"So-so password" : "Neblogas slaptažodis",
@@ -59,19 +76,27 @@ OC.L10N.register(
"Groups" : "Grupės",
"undo" : "anuliuoti",
"never" : "niekada",
+ "Password successfully changed" : "Slaptažodis sėkmingai pakeistas",
+ "Changing the password will result in data loss, because data recovery is not available for this user" : "Slaptažodžio pakeitimas sąlygos duomenų praradimą, kadangi šiam naudotojui nėra prieinamas duomenų atkūrimas",
"A valid username must be provided" : "Privalo būti pateiktas tinkamas naudotojo vardas",
"A valid password must be provided" : "Slaptažodis turi būti tinkamas",
"__language_name__" : "Lietuvių",
"Unlimited" : "Neribotai",
+ "Personal info" : "Asmeninė informacija",
+ "Sessions" : "Seansai",
+ "App passwords" : "Programėlių slaptažodžiai",
"None" : "Nieko",
"Login" : "Prisijungti",
- "Email server" : "Pašto serveris",
- "Open documentation" : "Atverti dokumentą",
+ "SSL/TLS" : "SSL/TLS",
+ "STARTTLS" : "STARTTLS",
+ "Email server" : "El. pašto serveris",
+ "Open documentation" : "Atverti dokumentaciją",
"Encryption" : "Šifravimas",
"Authentication required" : "Reikalinga autentikacija",
"Server address" : "Serverio adresas",
"Port" : "Prievadas",
"SMTP Username" : "SMTP naudotojo vardas",
+ "SMTP Password" : "SMTP slaptažodis",
"Server-side encryption" : "Šifravimas serveryje",
"Security & setup warnings" : "Saugos ir diegimo perspėjimai",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Trūksta PHP modulio „fileinfo“. Labai rekomenduojame įjungti šį modulį, kad gauti geriausius rezultatus nustatant mime-tipą.",
@@ -85,15 +110,27 @@ OC.L10N.register(
"days" : "dienos",
"Allow resharing" : "Leisti dalintis",
"Tips & tricks" : "Patarimai ir gudrybės",
+ "Show description …" : "Rodyti aprašą …",
+ "Hide description …" : "Slėpti aprašą …",
+ "This app has an update available." : "Šiai programėlei yra prieinamas atnaujinimas.",
"Cheers!" : "Sveikinimai!",
"Forum" : "Forumas",
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Jūs naudojate <strong>%s</strong> iš <strong>%s</strong>",
"Profile picture" : "Profilio paveikslas",
"Upload new" : "Įkelti naują",
- "Remove image" : "Pašalinti paveikslėlį",
+ "Remove image" : "Šalinti paveikslą",
+ "png or jpg, max. 20 MB" : "png arba jpg, daugiausiai 20 MB",
"Cancel" : "Atsisakyti",
"Email" : "El. Paštas",
"Your email address" : "Jūsų el. pašto adresas",
+ "For password recovery and notifications" : "Skirtas slaptažodžio atkūrimui ir pranešimams",
+ "Phone number" : "Telefono numeris",
+ "Your phone number" : "Jūsų telefono numeris",
+ "Address" : "Adresas",
+ "Website" : "Svetainė",
+ "Your website" : "Jūsų svetainė",
+ "Twitter" : "Twitter",
+ "You are member of the following groups:" : "Jūs esate šių grupių narys:",
"Password" : "Slaptažodis",
"Current password" : "Dabartinis slaptažodis",
"New password" : "Naujas slaptažodis",
@@ -104,9 +141,16 @@ OC.L10N.register(
"Desktop client" : "Darbastalio klientas",
"Android app" : "Android programa",
"iOS app" : "iOS programa",
- "Show First Run Wizard again" : "Rodyti pirmo karto vedlį dar kartą",
+ "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Jeigu norite palaikyti projektą, tuomet {contributeopen}prisijunkite prie kūrimo{linkclose} arba {contributeopen}skleiskite žinią kitiems{linkclose}!",
+ "Show First Run Wizard again" : "Dar kartą rodyti pirmojo paleidimo vediklį",
+ "Web, desktop and mobile clients currently logged in to your account." : "Saityno, darbalaukio ir mobilieji klientai, kurie šiuo metu yra prisijungę prie jūsų paskyros.",
+ "Device" : "Įrenginys",
+ "Last activity" : "Paskutinė veikla",
"Name" : "Pavadinimas",
+ "App name" : "Programėlės pavadinimas",
+ "Create new app password" : "Sukurti naują programėlės slaptažodį",
"Username" : "Naudotojo vardas",
+ "Done" : "Atlikta",
"Create" : "Sukurti",
"Admin Recovery Password" : "Administracinis atkūrimo slaptažodis",
"Enter the recovery password in order to recover the users files during password change" : "Įveskite atkūrimo slaptažodį, kad atkurtumėte naudotojo failus keičiant slaptažodį",
@@ -116,14 +160,18 @@ OC.L10N.register(
"set new password" : "nustatyti naują slaptažodį",
"Default" : "Numatytasis",
"Language changed" : "Kalba pakeista",
- "Fatal issues only" : "Tik kritinės problemos",
+ "iPhone" : "iPhone",
+ "Fatal issues only" : "Tik lemtingosios klaidos",
"Log" : "Žurnalas",
"More" : "Daugiau",
"Less" : "Mažiau",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Žurnalo failo dydis yra daugiau nei 100 MB. Jo atsiuntimas gali šiek tiek užtrukti!",
"Group" : "Grupė",
"APCu" : "APCu",
"Redis" : "Redis",
"External Storage" : "Išorinės saugyklos",
- "Updates" : "Atnaujinimai"
+ "Updates" : "Atnaujinimai",
+ "An error occurred: {message}" : "Įvyko klaida: {message}",
+ "If you want to support the project\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://help.nextcloud.com/\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">help other users</a>!" : "Jeigu norite palaikyti projektą, tuomet\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">prisijunkite prie kūrimo</a>\n\t\tarba\n\t\t<a href=\"https://help.nextcloud.com/\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">padėkite kitiems naudotojams</a>!"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/settings/l10n/lt_LT.json b/settings/l10n/lt_LT.json
index fb9cb6240eb..98b3fc749b4 100644
--- a/settings/l10n/lt_LT.json
+++ b/settings/l10n/lt_LT.json
@@ -17,38 +17,55 @@
"Invalid mail address" : "Neteisingas pašto adresas",
"A user with that name already exists." : "Toks naudotojas jau yra.",
"Unable to create user." : "Nepavyko sukurti naudotojo.",
- "Your %s account was created" : "Tavo paskyra %s sukurta",
+ "Your %s account was created" : "Jūsų paskyra %s sukurta",
"Unable to delete user." : "Nepavyko ištrinti naudotojo.",
+ "Settings saved" : "Nustatymai įrašyti",
"Unable to change full name" : "Nepavyko pakeisti pilno vardo",
"Your full name has been changed." : "Pilnas vardas pakeistas.",
"Invalid user" : "Neteisingas naudotojas",
"Unable to change mail address" : "Nepavyko pakeisti el. pašto adresą",
"Email saved" : "El. paštas įrašytas",
+ "Password confirmation is required" : "Reikalingas slaptažodžio patvirtinimas",
"Couldn't remove app." : "Nepavyko pašalinti programėlės.",
"Admins can't remove themself from the admin group" : "Administratoriai negali pašalinti savęs iš administratorių grupės",
"Unable to add user to group %s" : "Nepavyko pridėti naudotojo į grupę %s",
"Unable to remove user from group %s" : "Nepavyko pašalinti naudotojo iš grupės %s",
- "Couldn't update app." : "Nepavyko atnaujinti programos.",
+ "Couldn't update app." : "Nepavyko atnaujinti programėlės.",
"Not saved" : "Neišsaugota",
"Sending..." : "Siunčiama...",
"Official" : "Oficiali",
"All" : "Viskas",
"Update to %s" : "Atnaujinti į %s",
"Please wait...." : "Prašome palaukti...",
- "Error while disabling app" : "Klaida išjungiant programą",
+ "Error while disabling app" : "Klaida, išjungiant programėlę",
"Disable" : "Išjungti",
"Enable" : "Įjungti",
- "Error while enabling app" : "Klaida įjungiant programą",
+ "Error while enabling app" : "Klaida, įjungiant programėlę",
"Updating...." : "Atnaujinama...",
"Error while updating app" : "Įvyko klaida atnaujinant programą",
"Updated" : "Atnaujinta",
"Approved" : "Patvirtinta",
"Experimental" : "Eksperimentinė",
+ "Internet Explorer" : "Internet Explorer",
+ "Edge" : "Edge",
+ "Firefox" : "Firefox",
+ "Google Chrome" : "Google Chrome",
+ "Safari" : "Safari",
+ "Google Chrome for Android" : "Google Chrome, skirta Android",
+ "iPhone iOS" : "iPhone iOS",
+ "iPad iOS" : "iPad iOS",
+ "iOS Client" : "iOS klientas",
+ "Android Client" : "Android klientas",
+ "This session" : "Šis seansas",
+ "Copy" : "Kopijuoti",
"Copied!" : "Nukopijuota!",
"Not supported!" : "Nepalaikoma!",
"Valid until {date}" : "Galioja iki {date}",
"Delete" : "Ištrinti",
- "Select a profile picture" : "Pažymėkite profilio paveikslą",
+ "Only visible to local users" : "Matoma tik vietiniams naudotojams",
+ "Only visible to you" : "Matoma tik jums",
+ "Visible to local users and to trusted servers" : "Matoma tik vietiniams naudotojams ir patikimiems serveriams",
+ "Select a profile picture" : "Pasirinkite profilio paveikslą",
"Very weak password" : "Labai silpnas slaptažodis",
"Weak password" : "Silpnas slaptažodis",
"So-so password" : "Neblogas slaptažodis",
@@ -57,19 +74,27 @@
"Groups" : "Grupės",
"undo" : "anuliuoti",
"never" : "niekada",
+ "Password successfully changed" : "Slaptažodis sėkmingai pakeistas",
+ "Changing the password will result in data loss, because data recovery is not available for this user" : "Slaptažodžio pakeitimas sąlygos duomenų praradimą, kadangi šiam naudotojui nėra prieinamas duomenų atkūrimas",
"A valid username must be provided" : "Privalo būti pateiktas tinkamas naudotojo vardas",
"A valid password must be provided" : "Slaptažodis turi būti tinkamas",
"__language_name__" : "Lietuvių",
"Unlimited" : "Neribotai",
+ "Personal info" : "Asmeninė informacija",
+ "Sessions" : "Seansai",
+ "App passwords" : "Programėlių slaptažodžiai",
"None" : "Nieko",
"Login" : "Prisijungti",
- "Email server" : "Pašto serveris",
- "Open documentation" : "Atverti dokumentą",
+ "SSL/TLS" : "SSL/TLS",
+ "STARTTLS" : "STARTTLS",
+ "Email server" : "El. pašto serveris",
+ "Open documentation" : "Atverti dokumentaciją",
"Encryption" : "Šifravimas",
"Authentication required" : "Reikalinga autentikacija",
"Server address" : "Serverio adresas",
"Port" : "Prievadas",
"SMTP Username" : "SMTP naudotojo vardas",
+ "SMTP Password" : "SMTP slaptažodis",
"Server-side encryption" : "Šifravimas serveryje",
"Security & setup warnings" : "Saugos ir diegimo perspėjimai",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Trūksta PHP modulio „fileinfo“. Labai rekomenduojame įjungti šį modulį, kad gauti geriausius rezultatus nustatant mime-tipą.",
@@ -83,15 +108,27 @@
"days" : "dienos",
"Allow resharing" : "Leisti dalintis",
"Tips & tricks" : "Patarimai ir gudrybės",
+ "Show description …" : "Rodyti aprašą …",
+ "Hide description …" : "Slėpti aprašą …",
+ "This app has an update available." : "Šiai programėlei yra prieinamas atnaujinimas.",
"Cheers!" : "Sveikinimai!",
"Forum" : "Forumas",
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Jūs naudojate <strong>%s</strong> iš <strong>%s</strong>",
"Profile picture" : "Profilio paveikslas",
"Upload new" : "Įkelti naują",
- "Remove image" : "Pašalinti paveikslėlį",
+ "Remove image" : "Šalinti paveikslą",
+ "png or jpg, max. 20 MB" : "png arba jpg, daugiausiai 20 MB",
"Cancel" : "Atsisakyti",
"Email" : "El. Paštas",
"Your email address" : "Jūsų el. pašto adresas",
+ "For password recovery and notifications" : "Skirtas slaptažodžio atkūrimui ir pranešimams",
+ "Phone number" : "Telefono numeris",
+ "Your phone number" : "Jūsų telefono numeris",
+ "Address" : "Adresas",
+ "Website" : "Svetainė",
+ "Your website" : "Jūsų svetainė",
+ "Twitter" : "Twitter",
+ "You are member of the following groups:" : "Jūs esate šių grupių narys:",
"Password" : "Slaptažodis",
"Current password" : "Dabartinis slaptažodis",
"New password" : "Naujas slaptažodis",
@@ -102,9 +139,16 @@
"Desktop client" : "Darbastalio klientas",
"Android app" : "Android programa",
"iOS app" : "iOS programa",
- "Show First Run Wizard again" : "Rodyti pirmo karto vedlį dar kartą",
+ "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Jeigu norite palaikyti projektą, tuomet {contributeopen}prisijunkite prie kūrimo{linkclose} arba {contributeopen}skleiskite žinią kitiems{linkclose}!",
+ "Show First Run Wizard again" : "Dar kartą rodyti pirmojo paleidimo vediklį",
+ "Web, desktop and mobile clients currently logged in to your account." : "Saityno, darbalaukio ir mobilieji klientai, kurie šiuo metu yra prisijungę prie jūsų paskyros.",
+ "Device" : "Įrenginys",
+ "Last activity" : "Paskutinė veikla",
"Name" : "Pavadinimas",
+ "App name" : "Programėlės pavadinimas",
+ "Create new app password" : "Sukurti naują programėlės slaptažodį",
"Username" : "Naudotojo vardas",
+ "Done" : "Atlikta",
"Create" : "Sukurti",
"Admin Recovery Password" : "Administracinis atkūrimo slaptažodis",
"Enter the recovery password in order to recover the users files during password change" : "Įveskite atkūrimo slaptažodį, kad atkurtumėte naudotojo failus keičiant slaptažodį",
@@ -114,14 +158,18 @@
"set new password" : "nustatyti naują slaptažodį",
"Default" : "Numatytasis",
"Language changed" : "Kalba pakeista",
- "Fatal issues only" : "Tik kritinės problemos",
+ "iPhone" : "iPhone",
+ "Fatal issues only" : "Tik lemtingosios klaidos",
"Log" : "Žurnalas",
"More" : "Daugiau",
"Less" : "Mažiau",
+ "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Žurnalo failo dydis yra daugiau nei 100 MB. Jo atsiuntimas gali šiek tiek užtrukti!",
"Group" : "Grupė",
"APCu" : "APCu",
"Redis" : "Redis",
"External Storage" : "Išorinės saugyklos",
- "Updates" : "Atnaujinimai"
+ "Updates" : "Atnaujinimai",
+ "An error occurred: {message}" : "Įvyko klaida: {message}",
+ "If you want to support the project\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">join development</a>\n\t\tor\n\t\t<a href=\"https://help.nextcloud.com/\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">help other users</a>!" : "Jeigu norite palaikyti projektą, tuomet\n\t\t<a href=\"https://nextcloud.com/contribute\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">prisijunkite prie kūrimo</a>\n\t\tarba\n\t\t<a href=\"https://help.nextcloud.com/\"\n\t\t\ttarget=\"_blank\" rel=\"noreferrer\">padėkite kitiems naudotojams</a>!"
},"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/settings/l10n/ru.js b/settings/l10n/ru.js
index 5b7eabaafb8..fc6a289e9a2 100644
--- a/settings/l10n/ru.js
+++ b/settings/l10n/ru.js
@@ -74,7 +74,6 @@ OC.L10N.register(
"Experimental" : "Экспериментальное",
"No apps found for {query}" : "Приложения не найдены по {query}",
"Disconnect" : "Отключить",
- "Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
"Google Chrome" : "Google Chrome",
diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json
index 2cb3d187414..6dd34834297 100644
--- a/settings/l10n/ru.json
+++ b/settings/l10n/ru.json
@@ -72,7 +72,6 @@
"Experimental" : "Экспериментальное",
"No apps found for {query}" : "Приложения не найдены по {query}",
"Disconnect" : "Отключить",
- "Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
"Google Chrome" : "Google Chrome",
diff --git a/settings/templates/apps.php b/settings/templates/apps.php
index 2f7d66cdf28..a5a98ea506f 100644
--- a/settings/templates/apps.php
+++ b/settings/templates/apps.php
@@ -24,7 +24,7 @@ script(
<?php if($_['appstoreEnabled']): ?>
<li>
- <a class="app-external" target="_blank" rel="noreferrer" href="https://docs.nextcloud.org/server/10/developer_manual/"><?php p($l->t('Developer documentation'));?> ↗</a>
+ <a class="app-external" target="_blank" rel="noreferrer" href="https://docs.nextcloud.org/server/11/developer_manual/"><?php p($l->t('Developer documentation'));?> ↗</a>
</li>
<?php endif; ?>
</script>
diff --git a/tests/Core/Controller/LoginControllerTest.php b/tests/Core/Controller/LoginControllerTest.php
index d16b9b114f3..600179a1dc5 100644
--- a/tests/Core/Controller/LoginControllerTest.php
+++ b/tests/Core/Controller/LoginControllerTest.php
@@ -337,6 +337,9 @@ class LoginControllerTest extends TestCase {
$user->expects($this->any())
->method('getUID')
->will($this->returnValue('uid'));
+ $user->expects($this->any())
+ ->method('getLastLogin')
+ ->willReturn(123456);
$password = 'secret';
$indexPageUrl = \OC_Util::getDefaultPageUrl();
@@ -373,11 +376,21 @@ class LoginControllerTest extends TestCase {
$this->config->expects($this->once())
->method('deleteUserValue')
->with('uid', 'core', 'lostpassword');
+ $this->config->expects($this->once())
+ ->method('setUserValue')
+ ->with('uid', 'core', 'timezone', 'Europe/Berlin');
$this->userSession->expects($this->never())
->method('createRememberMeToken');
+ $this->session->expects($this->exactly(2))
+ ->method('set')
+ ->withConsecutive(
+ ['last-password-confirm', 123456],
+ ['timezone', '1']
+ );
+
$expected = new \OCP\AppFramework\Http\RedirectResponse($indexPageUrl);
- $this->assertEquals($expected, $this->loginController->tryLogin($user, $password, null));
+ $this->assertEquals($expected, $this->loginController->tryLogin($user, $password, null, false, 'Europe/Berlin', '1'));
}
public function testLoginWithValidCredentialsAndRememberMe() {
diff --git a/tests/lib/InstallerTest.php b/tests/lib/InstallerTest.php
index dadaffe1879..d1923970588 100644
--- a/tests/lib/InstallerTest.php
+++ b/tests/lib/InstallerTest.php
@@ -73,6 +73,9 @@ class InstallerTest extends TestCase {
}
public function testInstallApp() {
+ // Read the current version of the app to check for bug #2572
+ \OC_App::getAppVersion('testapp');
+
// Extract app
$pathOfTestApp = __DIR__ . '/../data/testapp.zip';
$tar = new ZIP($pathOfTestApp);
@@ -88,6 +91,7 @@ class InstallerTest extends TestCase {
$installer->installApp(self::$appid);
$isInstalled = Installer::isInstalled(self::$appid);
$this->assertTrue($isInstalled);
+ $this->assertSame('0.9', \OC::$server->getConfig()->getAppValue('testapp', 'installed_version'));
$installer->removeApp(self::$appid);
}
diff --git a/version.php b/version.php
index 10eac196be7..c4121409e93 100644
--- a/version.php
+++ b/version.php
@@ -26,10 +26,10 @@
// between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel
// when updating major/minor version number.
-$OC_Version = array(11, 0, 0, 6);
+$OC_Version = array(11, 0, 0, 7);
// The human readable string
-$OC_VersionString = '11.0 RC1';
+$OC_VersionString = '11.0 RC2';
$OC_VersionCanBeUpgradedFrom = array(9, 1);