summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/encryption/appinfo/register_command.php7
-rw-r--r--apps/encryption/command/enablemasterkey.php86
-rw-r--r--apps/encryption/l10n/cs_CZ.js1
-rw-r--r--apps/encryption/l10n/cs_CZ.json1
-rw-r--r--apps/encryption/l10n/es.js3
-rw-r--r--apps/encryption/l10n/es.json3
-rw-r--r--apps/encryption/l10n/et_EE.js8
-rw-r--r--apps/encryption/l10n/et_EE.json8
-rw-r--r--apps/encryption/l10n/fr.js3
-rw-r--r--apps/encryption/l10n/fr.json3
-rw-r--r--apps/encryption/l10n/id.js3
-rw-r--r--apps/encryption/l10n/id.json3
-rw-r--r--apps/encryption/l10n/th_TH.js3
-rw-r--r--apps/encryption/l10n/th_TH.json3
-rw-r--r--apps/encryption/l10n/tr.js3
-rw-r--r--apps/encryption/l10n/tr.json3
-rw-r--r--apps/encryption/lib/crypto/encryption.php39
-rw-r--r--apps/encryption/lib/keymanager.php80
-rw-r--r--apps/encryption/lib/users/setup.php1
-rw-r--r--apps/encryption/lib/util.php10
-rw-r--r--apps/encryption/tests/command/testenablemasterkey.php103
-rw-r--r--apps/encryption/tests/lib/KeyManagerTest.php150
-rw-r--r--apps/encryption/tests/lib/UtilTest.php21
-rw-r--r--apps/encryption/tests/lib/users/SetupTest.php2
-rw-r--r--apps/files/css/detailsView.css21
-rw-r--r--apps/files/css/files.css140
-rw-r--r--apps/files/css/upload.css14
-rw-r--r--apps/files/index.php1
-rw-r--r--apps/files/js/detailsview.js2
-rw-r--r--apps/files/js/detailtabview.js7
-rw-r--r--apps/files/js/file-upload.js149
-rw-r--r--apps/files/js/fileactionsmenu.js4
-rw-r--r--apps/files/js/fileinfomodel.js20
-rw-r--r--apps/files/js/filelist.js205
-rw-r--r--apps/files/js/mainfileinfodetailview.js48
-rw-r--r--apps/files/js/newfilemenu.js235
-rw-r--r--apps/files/js/tagsplugin.js24
-rw-r--r--apps/files/l10n/af_ZA.js4
-rw-r--r--apps/files/l10n/af_ZA.json4
-rw-r--r--apps/files/l10n/ar.js12
-rw-r--r--apps/files/l10n/ar.json12
-rw-r--r--apps/files/l10n/ast.js17
-rw-r--r--apps/files/l10n/ast.json17
-rw-r--r--apps/files/l10n/az.js17
-rw-r--r--apps/files/l10n/az.json17
-rw-r--r--apps/files/l10n/bg_BG.js17
-rw-r--r--apps/files/l10n/bg_BG.json17
-rw-r--r--apps/files/l10n/bn_BD.js12
-rw-r--r--apps/files/l10n/bn_BD.json12
-rw-r--r--apps/files/l10n/bn_IN.js4
-rw-r--r--apps/files/l10n/bn_IN.json4
-rw-r--r--apps/files/l10n/bs.js17
-rw-r--r--apps/files/l10n/bs.json17
-rw-r--r--apps/files/l10n/ca.js17
-rw-r--r--apps/files/l10n/ca.json17
-rw-r--r--apps/files/l10n/cs_CZ.js17
-rw-r--r--apps/files/l10n/cs_CZ.json17
-rw-r--r--apps/files/l10n/cy_GB.js10
-rw-r--r--apps/files/l10n/cy_GB.json10
-rw-r--r--apps/files/l10n/da.js17
-rw-r--r--apps/files/l10n/da.json17
-rw-r--r--apps/files/l10n/de.js17
-rw-r--r--apps/files/l10n/de.json17
-rw-r--r--apps/files/l10n/de_AT.js4
-rw-r--r--apps/files/l10n/de_AT.json4
-rw-r--r--apps/files/l10n/de_DE.js17
-rw-r--r--apps/files/l10n/de_DE.json17
-rw-r--r--apps/files/l10n/el.js19
-rw-r--r--apps/files/l10n/el.json19
-rw-r--r--apps/files/l10n/en_GB.js17
-rw-r--r--apps/files/l10n/en_GB.json17
-rw-r--r--apps/files/l10n/eo.js17
-rw-r--r--apps/files/l10n/eo.json17
-rw-r--r--apps/files/l10n/es.js19
-rw-r--r--apps/files/l10n/es.json19
-rw-r--r--apps/files/l10n/es_AR.js17
-rw-r--r--apps/files/l10n/es_AR.json17
-rw-r--r--apps/files/l10n/es_CL.js4
-rw-r--r--apps/files/l10n/es_CL.json4
-rw-r--r--apps/files/l10n/es_MX.js17
-rw-r--r--apps/files/l10n/es_MX.json17
-rw-r--r--apps/files/l10n/et_EE.js17
-rw-r--r--apps/files/l10n/et_EE.json17
-rw-r--r--apps/files/l10n/eu.js17
-rw-r--r--apps/files/l10n/eu.json17
-rw-r--r--apps/files/l10n/fa.js12
-rw-r--r--apps/files/l10n/fa.json12
-rw-r--r--apps/files/l10n/fi_FI.js19
-rw-r--r--apps/files/l10n/fi_FI.json19
-rw-r--r--apps/files/l10n/fr.js19
-rw-r--r--apps/files/l10n/fr.json19
-rw-r--r--apps/files/l10n/gl.js17
-rw-r--r--apps/files/l10n/gl.json17
-rw-r--r--apps/files/l10n/he.js12
-rw-r--r--apps/files/l10n/he.json12
-rw-r--r--apps/files/l10n/hi.js6
-rw-r--r--apps/files/l10n/hi.json6
-rw-r--r--apps/files/l10n/hr.js17
-rw-r--r--apps/files/l10n/hr.json17
-rw-r--r--apps/files/l10n/hu_HU.js19
-rw-r--r--apps/files/l10n/hu_HU.json19
-rw-r--r--apps/files/l10n/ia.js10
-rw-r--r--apps/files/l10n/ia.json10
-rw-r--r--apps/files/l10n/id.js17
-rw-r--r--apps/files/l10n/id.json17
-rw-r--r--apps/files/l10n/is.js10
-rw-r--r--apps/files/l10n/is.json10
-rw-r--r--apps/files/l10n/it.js19
-rw-r--r--apps/files/l10n/it.json19
-rw-r--r--apps/files/l10n/ja.js17
-rw-r--r--apps/files/l10n/ja.json17
-rw-r--r--apps/files/l10n/ka_GE.js12
-rw-r--r--apps/files/l10n/ka_GE.json12
-rw-r--r--apps/files/l10n/km.js12
-rw-r--r--apps/files/l10n/km.json12
-rw-r--r--apps/files/l10n/kn.js17
-rw-r--r--apps/files/l10n/kn.json17
-rw-r--r--apps/files/l10n/ko.js17
-rw-r--r--apps/files/l10n/ko.json17
-rw-r--r--apps/files/l10n/ku_IQ.js6
-rw-r--r--apps/files/l10n/ku_IQ.json6
-rw-r--r--apps/files/l10n/lb.js10
-rw-r--r--apps/files/l10n/lb.json10
-rw-r--r--apps/files/l10n/lt_LT.js17
-rw-r--r--apps/files/l10n/lt_LT.json17
-rw-r--r--apps/files/l10n/lv.js17
-rw-r--r--apps/files/l10n/lv.json17
-rw-r--r--apps/files/l10n/mk.js16
-rw-r--r--apps/files/l10n/mk.json16
-rw-r--r--apps/files/l10n/mn.js4
-rw-r--r--apps/files/l10n/mn.json4
-rw-r--r--apps/files/l10n/ms_MY.js8
-rw-r--r--apps/files/l10n/ms_MY.json8
-rw-r--r--apps/files/l10n/nb_NO.js17
-rw-r--r--apps/files/l10n/nb_NO.json17
-rw-r--r--apps/files/l10n/nl.js19
-rw-r--r--apps/files/l10n/nl.json19
-rw-r--r--apps/files/l10n/nn_NO.js12
-rw-r--r--apps/files/l10n/nn_NO.json12
-rw-r--r--apps/files/l10n/oc.js17
-rw-r--r--apps/files/l10n/oc.json17
-rw-r--r--apps/files/l10n/pa.js2
-rw-r--r--apps/files/l10n/pa.json2
-rw-r--r--apps/files/l10n/pl.js17
-rw-r--r--apps/files/l10n/pl.json17
-rw-r--r--apps/files/l10n/pt_BR.js19
-rw-r--r--apps/files/l10n/pt_BR.json19
-rw-r--r--apps/files/l10n/pt_PT.js17
-rw-r--r--apps/files/l10n/pt_PT.json17
-rw-r--r--apps/files/l10n/ro.js17
-rw-r--r--apps/files/l10n/ro.json17
-rw-r--r--apps/files/l10n/ru.js17
-rw-r--r--apps/files/l10n/ru.json17
-rw-r--r--apps/files/l10n/si_LK.js8
-rw-r--r--apps/files/l10n/si_LK.json8
-rw-r--r--apps/files/l10n/sk_SK.js17
-rw-r--r--apps/files/l10n/sk_SK.json17
-rw-r--r--apps/files/l10n/sl.js17
-rw-r--r--apps/files/l10n/sl.json17
-rw-r--r--apps/files/l10n/sq.js17
-rw-r--r--apps/files/l10n/sq.json17
-rw-r--r--apps/files/l10n/sr.js17
-rw-r--r--apps/files/l10n/sr.json17
-rw-r--r--apps/files/l10n/sr@latin.js17
-rw-r--r--apps/files/l10n/sr@latin.json17
-rw-r--r--apps/files/l10n/sv.js17
-rw-r--r--apps/files/l10n/sv.json17
-rw-r--r--apps/files/l10n/ta_IN.js6
-rw-r--r--apps/files/l10n/ta_IN.json6
-rw-r--r--apps/files/l10n/ta_LK.js10
-rw-r--r--apps/files/l10n/ta_LK.json10
-rw-r--r--apps/files/l10n/te.js4
-rw-r--r--apps/files/l10n/te.json4
-rw-r--r--apps/files/l10n/th_TH.js19
-rw-r--r--apps/files/l10n/th_TH.json19
-rw-r--r--apps/files/l10n/tr.js20
-rw-r--r--apps/files/l10n/tr.json20
-rw-r--r--apps/files/l10n/ug.js12
-rw-r--r--apps/files/l10n/ug.json12
-rw-r--r--apps/files/l10n/uk.js17
-rw-r--r--apps/files/l10n/uk.json17
-rw-r--r--apps/files/l10n/vi.js17
-rw-r--r--apps/files/l10n/vi.json17
-rw-r--r--apps/files/l10n/zh_CN.js20
-rw-r--r--apps/files/l10n/zh_CN.json20
-rw-r--r--apps/files/l10n/zh_HK.js8
-rw-r--r--apps/files/l10n/zh_HK.json8
-rw-r--r--apps/files/l10n/zh_TW.js21
-rw-r--r--apps/files/l10n/zh_TW.json21
-rw-r--r--apps/files/templates/list.php52
-rw-r--r--apps/files/tests/js/fileUploadSpec.js51
-rw-r--r--apps/files/tests/js/filelistSpec.js119
-rw-r--r--apps/files/tests/js/mainfileinfodetailviewSpec.js66
-rw-r--r--apps/files/tests/js/newfilemenuSpec.js119
-rw-r--r--apps/files/tests/js/tagspluginspec.js33
-rw-r--r--apps/files_external/js/settings.js7
-rw-r--r--apps/files_external/l10n/cs_CZ.js17
-rw-r--r--apps/files_external/l10n/cs_CZ.json17
-rw-r--r--apps/files_external/l10n/fr.js7
-rw-r--r--apps/files_external/l10n/fr.json7
-rw-r--r--apps/files_external/l10n/id.js22
-rw-r--r--apps/files_external/l10n/id.json22
-rw-r--r--apps/files_external/l10n/pt_PT.js38
-rw-r--r--apps/files_external/l10n/pt_PT.json38
-rw-r--r--apps/files_external/l10n/tr.js22
-rw-r--r--apps/files_external/l10n/tr.json22
-rw-r--r--apps/files_external/lib/google.php2
-rw-r--r--apps/files_sharing/ajax/external.php1
-rw-r--r--apps/files_sharing/api/local.php4
-rw-r--r--apps/files_sharing/api/remote.php4
-rw-r--r--apps/files_sharing/api/server2server.php23
-rw-r--r--apps/files_sharing/api/sharees.php409
-rw-r--r--apps/files_sharing/appinfo/app.php11
-rw-r--r--apps/files_sharing/appinfo/application.php1
-rw-r--r--apps/files_sharing/appinfo/install.php22
-rw-r--r--apps/files_sharing/appinfo/routes.php13
-rw-r--r--apps/files_sharing/appinfo/update.php1
-rw-r--r--apps/files_sharing/appinfo/version2
-rw-r--r--apps/files_sharing/js/settings-personal.js4
-rw-r--r--apps/files_sharing/l10n/cs_CZ.js2
-rw-r--r--apps/files_sharing/l10n/cs_CZ.json2
-rw-r--r--apps/files_sharing/l10n/da.js3
-rw-r--r--apps/files_sharing/l10n/da.json3
-rw-r--r--apps/files_sharing/l10n/de.js2
-rw-r--r--apps/files_sharing/l10n/de.json2
-rw-r--r--apps/files_sharing/l10n/de_DE.js2
-rw-r--r--apps/files_sharing/l10n/de_DE.json2
-rw-r--r--apps/files_sharing/l10n/el.js3
-rw-r--r--apps/files_sharing/l10n/el.json3
-rw-r--r--apps/files_sharing/l10n/en_GB.js1
-rw-r--r--apps/files_sharing/l10n/en_GB.json1
-rw-r--r--apps/files_sharing/l10n/eo.js1
-rw-r--r--apps/files_sharing/l10n/eo.json1
-rw-r--r--apps/files_sharing/l10n/es.js3
-rw-r--r--apps/files_sharing/l10n/es.json3
-rw-r--r--apps/files_sharing/l10n/et_EE.js6
-rw-r--r--apps/files_sharing/l10n/et_EE.json6
-rw-r--r--apps/files_sharing/l10n/fi_FI.js3
-rw-r--r--apps/files_sharing/l10n/fi_FI.json3
-rw-r--r--apps/files_sharing/l10n/fr.js3
-rw-r--r--apps/files_sharing/l10n/fr.json3
-rw-r--r--apps/files_sharing/l10n/gl.js2
-rw-r--r--apps/files_sharing/l10n/gl.json2
-rw-r--r--apps/files_sharing/l10n/hu_HU.js3
-rw-r--r--apps/files_sharing/l10n/hu_HU.json3
-rw-r--r--apps/files_sharing/l10n/id.js2
-rw-r--r--apps/files_sharing/l10n/id.json2
-rw-r--r--apps/files_sharing/l10n/it.js3
-rw-r--r--apps/files_sharing/l10n/it.json3
-rw-r--r--apps/files_sharing/l10n/ja.js2
-rw-r--r--apps/files_sharing/l10n/ja.json2
-rw-r--r--apps/files_sharing/l10n/ko.js2
-rw-r--r--apps/files_sharing/l10n/ko.json2
-rw-r--r--apps/files_sharing/l10n/nb_NO.js2
-rw-r--r--apps/files_sharing/l10n/nb_NO.json2
-rw-r--r--apps/files_sharing/l10n/nl.js3
-rw-r--r--apps/files_sharing/l10n/nl.json3
-rw-r--r--apps/files_sharing/l10n/pl.js1
-rw-r--r--apps/files_sharing/l10n/pl.json1
-rw-r--r--apps/files_sharing/l10n/pt_BR.js3
-rw-r--r--apps/files_sharing/l10n/pt_BR.json3
-rw-r--r--apps/files_sharing/l10n/pt_PT.js33
-rw-r--r--apps/files_sharing/l10n/pt_PT.json33
-rw-r--r--apps/files_sharing/l10n/ru.js2
-rw-r--r--apps/files_sharing/l10n/ru.json2
-rw-r--r--apps/files_sharing/l10n/sk_SK.js2
-rw-r--r--apps/files_sharing/l10n/sk_SK.json2
-rw-r--r--apps/files_sharing/l10n/sl.js1
-rw-r--r--apps/files_sharing/l10n/sl.json1
-rw-r--r--apps/files_sharing/l10n/sr.js1
-rw-r--r--apps/files_sharing/l10n/sr.json1
-rw-r--r--apps/files_sharing/l10n/sv.js1
-rw-r--r--apps/files_sharing/l10n/sv.json1
-rw-r--r--apps/files_sharing/l10n/th_TH.js3
-rw-r--r--apps/files_sharing/l10n/th_TH.json3
-rw-r--r--apps/files_sharing/l10n/tr.js2
-rw-r--r--apps/files_sharing/l10n/tr.json2
-rw-r--r--apps/files_sharing/l10n/uk.js1
-rw-r--r--apps/files_sharing/l10n/uk.json1
-rw-r--r--apps/files_sharing/lib/cache.php6
-rw-r--r--apps/files_sharing/lib/external/manager.php24
-rw-r--r--apps/files_sharing/lib/hooks.php1
-rw-r--r--apps/files_sharing/lib/mountprovider.php6
-rw-r--r--apps/files_sharing/lib/notifier.php86
-rw-r--r--apps/files_sharing/lib/propagation/recipientpropagator.php8
-rw-r--r--apps/files_sharing/lib/sharedmount.php2
-rw-r--r--apps/files_sharing/lib/sharedstorage.php7
-rw-r--r--apps/files_sharing/templates/public.php1
-rw-r--r--apps/files_sharing/templates/settings-personal.php11
-rw-r--r--apps/files_sharing/tests/api.php138
-rw-r--r--apps/files_sharing/tests/api/shareestest.php995
-rw-r--r--apps/files_sharing/tests/external/managertest.php1
-rw-r--r--apps/files_sharing/tests/server2server.php1
-rw-r--r--apps/files_versions/ajax/getVersions.php2
-rw-r--r--apps/files_versions/ajax/preview.php5
-rw-r--r--apps/files_versions/appinfo/app.php1
-rw-r--r--apps/files_versions/css/versions.css27
-rw-r--r--apps/files_versions/js/filesplugin.js34
-rw-r--r--apps/files_versions/js/versioncollection.js91
-rw-r--r--apps/files_versions/js/versionmodel.js77
-rw-r--r--apps/files_versions/js/versions.js193
-rw-r--r--apps/files_versions/js/versionstabview.js198
-rw-r--r--apps/files_versions/lib/hooks.php12
-rw-r--r--apps/files_versions/tests/js/versioncollectionSpec.js161
-rw-r--r--apps/files_versions/tests/js/versionmodelSpec.js96
-rw-r--r--apps/files_versions/tests/js/versionstabviewSpec.js208
-rw-r--r--apps/provisioning_api/lib/apps.php29
-rw-r--r--apps/provisioning_api/lib/groups.php39
-rw-r--r--apps/provisioning_api/lib/users.php56
-rw-r--r--apps/user_ldap/appinfo/app.php3
-rw-r--r--apps/user_ldap/appinfo/install.php3
-rw-r--r--apps/user_ldap/appinfo/update.php3
-rw-r--r--apps/user_ldap/appinfo/version2
-rw-r--r--apps/user_ldap/l10n/tr.js12
-rw-r--r--apps/user_ldap/l10n/tr.json12
-rw-r--r--apps/user_ldap/lib/connection.php4
-rw-r--r--apps/user_ldap/lib/proxy.php4
317 files changed, 5645 insertions, 1865 deletions
diff --git a/apps/encryption/appinfo/register_command.php b/apps/encryption/appinfo/register_command.php
index 4fdf7ecec38..0f03b63560a 100644
--- a/apps/encryption/appinfo/register_command.php
+++ b/apps/encryption/appinfo/register_command.php
@@ -21,10 +21,17 @@
*/
use OCA\Encryption\Command\MigrateKeys;
+use Symfony\Component\Console\Helper\QuestionHelper;
$userManager = OC::$server->getUserManager();
$view = new \OC\Files\View();
$config = \OC::$server->getConfig();
+$userSession = \OC::$server->getUserSession();
$connection = \OC::$server->getDatabaseConnection();
$logger = \OC::$server->getLogger();
+$questionHelper = new QuestionHelper();
+$crypt = new \OCA\Encryption\Crypto\Crypt($logger, $userSession, $config);
+$util = new \OCA\Encryption\Util($view, $crypt, $logger, $userSession, $config, $userManager);
+
$application->add(new MigrateKeys($userManager, $view, $connection, $config, $logger));
+$application->add(new \OCA\Encryption\Command\EnableMasterKey($util, $config, $questionHelper));
diff --git a/apps/encryption/command/enablemasterkey.php b/apps/encryption/command/enablemasterkey.php
new file mode 100644
index 00000000000..f49579a3b81
--- /dev/null
+++ b/apps/encryption/command/enablemasterkey.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * @author Björn Schießle <schiessle@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+
+namespace OCA\Encryption\Command;
+
+
+use OCA\Encryption\Util;
+use OCP\IConfig;
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Helper\QuestionHelper;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Console\Question\ConfirmationQuestion;
+
+class EnableMasterKey extends Command {
+
+ /** @var Util */
+ protected $util;
+
+ /** @var IConfig */
+ protected $config;
+
+ /** @var QuestionHelper */
+ protected $questionHelper;
+
+ /**
+ * @param Util $util
+ * @param IConfig $config
+ * @param QuestionHelper $questionHelper
+ */
+ public function __construct(Util $util,
+ IConfig $config,
+ QuestionHelper $questionHelper) {
+
+ $this->util = $util;
+ $this->config = $config;
+ $this->questionHelper = $questionHelper;
+ parent::__construct();
+ }
+
+ protected function configure() {
+ $this
+ ->setName('encryption:enable-master-key')
+ ->setDescription('Enable the master key. Only available for fresh installations with no existing encrypted data! There is also no way to disable it again.');
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output) {
+
+ $isAlreadyEnabled = $this->util->isMasterKeyEnabled();
+
+ if($isAlreadyEnabled) {
+ $output->writeln('Master key already enabled');
+ } else {
+ $question = new ConfirmationQuestion(
+ 'Warning: Only available for fresh installations with no existing encrypted data! '
+ . 'There is also no way to disable it again. Do you want to continue? (y/n) ', false);
+ if ($this->questionHelper->ask($input, $output, $question)) {
+ $this->config->setAppValue('encryption', 'useMasterKey', '1');
+ $output->writeln('Master key successfully enabled.');
+ } else {
+ $output->writeln('aborted.');
+ }
+ }
+
+ }
+
+}
diff --git a/apps/encryption/l10n/cs_CZ.js b/apps/encryption/l10n/cs_CZ.js
index e9477dd54db..661731c31d3 100644
--- a/apps/encryption/l10n/cs_CZ.js
+++ b/apps/encryption/l10n/cs_CZ.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chybný soukromý klíč pro šifrovací aplikaci. Aktualizujte prosím heslo svého soukromého klíče ve vašem osobním nastavení, abyste znovu získali přístup k vašim zašifrovaným souborům.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikace pro šifrování je zapnuta, ale vaše klíče nejsou inicializované. Prosím odhlaste se a znovu přihlaste",
"Encryption App is enabled and ready" : "Aplikace šifrování je již povolena",
+ "one-time password for server-side-encryption" : "jednorázové heslo pro šifrování na straně serveru",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento soubor se nepodařilo dešifrovat, pravděpodobně je sdílený. Požádejte prosím majitele souboru, aby jej s vámi znovu sdílel.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Soubor nelze načíst, pravděpodobně se jedná o sdílený soubor. Požádejte prosím vlastníka souboru, aby vám jej znovu sdílel.",
"The share will expire on %s." : "Sdílení vyprší %s.",
diff --git a/apps/encryption/l10n/cs_CZ.json b/apps/encryption/l10n/cs_CZ.json
index ed75239894e..1b530d137ed 100644
--- a/apps/encryption/l10n/cs_CZ.json
+++ b/apps/encryption/l10n/cs_CZ.json
@@ -23,6 +23,7 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chybný soukromý klíč pro šifrovací aplikaci. Aktualizujte prosím heslo svého soukromého klíče ve vašem osobním nastavení, abyste znovu získali přístup k vašim zašifrovaným souborům.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikace pro šifrování je zapnuta, ale vaše klíče nejsou inicializované. Prosím odhlaste se a znovu přihlaste",
"Encryption App is enabled and ready" : "Aplikace šifrování je již povolena",
+ "one-time password for server-side-encryption" : "jednorázové heslo pro šifrování na straně serveru",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento soubor se nepodařilo dešifrovat, pravděpodobně je sdílený. Požádejte prosím majitele souboru, aby jej s vámi znovu sdílel.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Soubor nelze načíst, pravděpodobně se jedná o sdílený soubor. Požádejte prosím vlastníka souboru, aby vám jej znovu sdílel.",
"The share will expire on %s." : "Sdílení vyprší %s.",
diff --git a/apps/encryption/l10n/es.js b/apps/encryption/l10n/es.js
index 516722cdc0f..cadedbcc0d4 100644
--- a/apps/encryption/l10n/es.js
+++ b/apps/encryption/l10n/es.js
@@ -25,10 +25,13 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clave privada no es válida para la app de cifrado. Por favor, actualiza la contraseña de tu clave privada en tus ajustes personales para recuperar el acceso a tus archivos cifrados.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La app de cifrado está habilitada pero sus claves no se han inicializado, por favor, cierre la sesión y vuelva a iniciarla de nuevo.",
"Encryption App is enabled and ready" : "Cifrado App está habilitada y lista",
+ "one-time password for server-side-encryption" : "Contraseña de un solo uso para el cifrado en el lado servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No fue posible descifrar este archivo, probablemente se trate de un archivo compartido. Solicite al propietario del mismo que vuelva a compartirlo con usted.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No se puede leer este archivo, probablemente sea un archivo compartido. Consulte con el propietario del mismo y que lo vuelva a compartir con usted.",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hola,\n\nEl administrador ha habilitado el cifrado del lado servidor. Sus archivos serán cifrados usando como contraseña: '%s'.\n\nPor favor logese en el interfaz web, vaya a la sección , 'Modulo básico de cifrado' de sus opciones personales y actualice su contraseña tecleando esta contraseña en el campo 'contraseña antigua' e introduciendo la neva en su correspondiente campo.\n\n",
"The share will expire on %s." : "El objeto dejará de ser compartido el %s.",
"Cheers!" : "¡Saludos!",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hola,\n<br><br>\nEl administrador ha habilitado el cifrado del lado servidor. Sus archivos serán cifrados usando como contraseña: <strong>%s</strong>\n<br><br>\nPor favor logese en el interfaz web, vaya a la sección , 'Modulo básico de cifrado' de sus opciones personales y actualice su contraseña tecleando esta contraseña en el campo 'contraseña antigua' e introduciendo la neva en su correspondiente campo.<br><br>",
"Enable recovery key" : "Activa la clave de recuperación",
"Disable recovery key" : "Desactiva la clave de recuperación",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clave de recuperación es una clave de cifrado extra que se usa para cifrar ficheros. Permite la recuperación de los ficheros de un usuario si él o ella olvida su contraseña.",
diff --git a/apps/encryption/l10n/es.json b/apps/encryption/l10n/es.json
index b070b9393a3..9bdad94cb6d 100644
--- a/apps/encryption/l10n/es.json
+++ b/apps/encryption/l10n/es.json
@@ -23,10 +23,13 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "La clave privada no es válida para la app de cifrado. Por favor, actualiza la contraseña de tu clave privada en tus ajustes personales para recuperar el acceso a tus archivos cifrados.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "La app de cifrado está habilitada pero sus claves no se han inicializado, por favor, cierre la sesión y vuelva a iniciarla de nuevo.",
"Encryption App is enabled and ready" : "Cifrado App está habilitada y lista",
+ "one-time password for server-side-encryption" : "Contraseña de un solo uso para el cifrado en el lado servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No fue posible descifrar este archivo, probablemente se trate de un archivo compartido. Solicite al propietario del mismo que vuelva a compartirlo con usted.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No se puede leer este archivo, probablemente sea un archivo compartido. Consulte con el propietario del mismo y que lo vuelva a compartir con usted.",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hola,\n\nEl administrador ha habilitado el cifrado del lado servidor. Sus archivos serán cifrados usando como contraseña: '%s'.\n\nPor favor logese en el interfaz web, vaya a la sección , 'Modulo básico de cifrado' de sus opciones personales y actualice su contraseña tecleando esta contraseña en el campo 'contraseña antigua' e introduciendo la neva en su correspondiente campo.\n\n",
"The share will expire on %s." : "El objeto dejará de ser compartido el %s.",
"Cheers!" : "¡Saludos!",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hola,\n<br><br>\nEl administrador ha habilitado el cifrado del lado servidor. Sus archivos serán cifrados usando como contraseña: <strong>%s</strong>\n<br><br>\nPor favor logese en el interfaz web, vaya a la sección , 'Modulo básico de cifrado' de sus opciones personales y actualice su contraseña tecleando esta contraseña en el campo 'contraseña antigua' e introduciendo la neva en su correspondiente campo.<br><br>",
"Enable recovery key" : "Activa la clave de recuperación",
"Disable recovery key" : "Desactiva la clave de recuperación",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clave de recuperación es una clave de cifrado extra que se usa para cifrar ficheros. Permite la recuperación de los ficheros de un usuario si él o ella olvida su contraseña.",
diff --git a/apps/encryption/l10n/et_EE.js b/apps/encryption/l10n/et_EE.js
index f7e7e1de12c..501772c2808 100644
--- a/apps/encryption/l10n/et_EE.js
+++ b/apps/encryption/l10n/et_EE.js
@@ -14,6 +14,8 @@ OC.L10N.register(
"Please repeat the new recovery password" : "Palun korda uut taastevõtme parooli",
"Password successfully changed." : "Parool edukalt vahetatud.",
"Could not change the password. Maybe the old password was not correct." : "Ei suutnud vahetada parooli. Võib-olla on vana parool valesti sisestatud.",
+ "Recovery Key disabled" : "Taastevõti on välja lülitatud",
+ "Recovery Key enabled" : "Taastevõti on sisse lülitatud",
"Could not update the private key password." : "Ei suutnud uuendada privaatse võtme parooli.",
"The old password was not correct, please try again." : "Vana parool polnud õige, palun proovi uuesti.",
"The current log-in password was not correct, please try again." : "Praeguse sisselogimise parool polnud õige, palun proovi uuesti.",
@@ -23,8 +25,14 @@ OC.L10N.register(
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Sa ei saa seda faili dekrüpteerida, see on tõenäoliselt jagatud fail. Palun lase omanikul seda faili sinuga uuesti jagada.",
"The share will expire on %s." : "Jagamine aegub %s.",
"Cheers!" : "Terekest!",
+ "Enable recovery key" : "Luba taastevõtme kasutamine",
+ "Disable recovery key" : "Keela taastevõtme kasutamine",
"Recovery key password" : "Taastevõtme parool",
+ "Repeat recovery key password" : "Korda taastevõtme parooli",
"Change recovery key password:" : "Muuda taastevõtme parooli:",
+ "Old recovery key password" : "Vana taastevõtme parool",
+ "New recovery key password" : "Uus taastevõtme parool",
+ "Repeat new recovery key password" : "Korda uut taastevõtme parooli",
"Change Password" : "Muuda parooli",
"Your private key password no longer matches your log-in password." : "Sinu provaatvõtme parool ei kattu enam sinu sisselogimise parooliga.",
"Set your old private key password to your current log-in password:" : "Pane oma vana privaatvõtme parooliks oma praegune sisselogimise parool.",
diff --git a/apps/encryption/l10n/et_EE.json b/apps/encryption/l10n/et_EE.json
index ab02c63a71e..14d4c59f9fc 100644
--- a/apps/encryption/l10n/et_EE.json
+++ b/apps/encryption/l10n/et_EE.json
@@ -12,6 +12,8 @@
"Please repeat the new recovery password" : "Palun korda uut taastevõtme parooli",
"Password successfully changed." : "Parool edukalt vahetatud.",
"Could not change the password. Maybe the old password was not correct." : "Ei suutnud vahetada parooli. Võib-olla on vana parool valesti sisestatud.",
+ "Recovery Key disabled" : "Taastevõti on välja lülitatud",
+ "Recovery Key enabled" : "Taastevõti on sisse lülitatud",
"Could not update the private key password." : "Ei suutnud uuendada privaatse võtme parooli.",
"The old password was not correct, please try again." : "Vana parool polnud õige, palun proovi uuesti.",
"The current log-in password was not correct, please try again." : "Praeguse sisselogimise parool polnud õige, palun proovi uuesti.",
@@ -21,8 +23,14 @@
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Sa ei saa seda faili dekrüpteerida, see on tõenäoliselt jagatud fail. Palun lase omanikul seda faili sinuga uuesti jagada.",
"The share will expire on %s." : "Jagamine aegub %s.",
"Cheers!" : "Terekest!",
+ "Enable recovery key" : "Luba taastevõtme kasutamine",
+ "Disable recovery key" : "Keela taastevõtme kasutamine",
"Recovery key password" : "Taastevõtme parool",
+ "Repeat recovery key password" : "Korda taastevõtme parooli",
"Change recovery key password:" : "Muuda taastevõtme parooli:",
+ "Old recovery key password" : "Vana taastevõtme parool",
+ "New recovery key password" : "Uus taastevõtme parool",
+ "Repeat new recovery key password" : "Korda uut taastevõtme parooli",
"Change Password" : "Muuda parooli",
"Your private key password no longer matches your log-in password." : "Sinu provaatvõtme parool ei kattu enam sinu sisselogimise parooliga.",
"Set your old private key password to your current log-in password:" : "Pane oma vana privaatvõtme parooliks oma praegune sisselogimise parool.",
diff --git a/apps/encryption/l10n/fr.js b/apps/encryption/l10n/fr.js
index 68063f083fc..0de35f8ec1c 100644
--- a/apps/encryption/l10n/fr.js
+++ b/apps/encryption/l10n/fr.js
@@ -25,10 +25,13 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Votre clef privée de chiffrement n'est pas valide ! Veuillez mettre à jour le mot de passe de la clef privée dans vos paramètres personnels pour récupérer l'accès à vos fichiers chiffrés.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.",
"Encryption App is enabled and ready" : "L'application de chiffrement est activée et prête",
+ "one-time password for server-side-encryption" : "Mot de passe à usage unique pour le chiffrement côté serveur",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de déchiffrer ce fichier : il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le partager à nouveau avec vous.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de lire ce fichier, il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le repartager avec vous. ",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Bonjour,\n\nL'administrateur a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe '%s'.\n\nVeuillez vous connecté dans l'interface web, allez dans la section \"Module de chiffrement de base d'ownCloud\" de vos paramètres personnels. De là mettez à jour votre mot de passe de chiffrement en entrant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" et votre mot de passe de connexion actuel.\n",
"The share will expire on %s." : "Le partage expirera le %s.",
"Cheers!" : "À bientôt !",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Bonjour,<br><br>L'administrateur a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe <strong>%s</strong>. <br><br>Veuillez vous connecté dans l'interface web, allez dans la section \"Module de chiffrement de base d'ownCloud\" de vos paramètres personnels. De là mettez à jour votre mot de passe de chiffrement en entrant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" et votre mot de passe de connexion actuel. <br><br>",
"Enable recovery key" : "Activer la clé de récupération",
"Disable recovery key" : "Désactiver la clé de récupération",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clé de récupération est une clé supplémentaire utilisée pour chiffrer les fichiers. Elle permet de récupérer les fichiers des utilisateurs s'ils oublient leur mot de passe.",
diff --git a/apps/encryption/l10n/fr.json b/apps/encryption/l10n/fr.json
index 49616502217..3fa598a72ce 100644
--- a/apps/encryption/l10n/fr.json
+++ b/apps/encryption/l10n/fr.json
@@ -23,10 +23,13 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Votre clef privée de chiffrement n'est pas valide ! Veuillez mettre à jour le mot de passe de la clef privée dans vos paramètres personnels pour récupérer l'accès à vos fichiers chiffrés.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.",
"Encryption App is enabled and ready" : "L'application de chiffrement est activée et prête",
+ "one-time password for server-side-encryption" : "Mot de passe à usage unique pour le chiffrement côté serveur",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de déchiffrer ce fichier : il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le partager à nouveau avec vous.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de lire ce fichier, il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le repartager avec vous. ",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Bonjour,\n\nL'administrateur a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe '%s'.\n\nVeuillez vous connecté dans l'interface web, allez dans la section \"Module de chiffrement de base d'ownCloud\" de vos paramètres personnels. De là mettez à jour votre mot de passe de chiffrement en entrant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" et votre mot de passe de connexion actuel.\n",
"The share will expire on %s." : "Le partage expirera le %s.",
"Cheers!" : "À bientôt !",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Bonjour,<br><br>L'administrateur a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe <strong>%s</strong>. <br><br>Veuillez vous connecté dans l'interface web, allez dans la section \"Module de chiffrement de base d'ownCloud\" de vos paramètres personnels. De là mettez à jour votre mot de passe de chiffrement en entrant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" et votre mot de passe de connexion actuel. <br><br>",
"Enable recovery key" : "Activer la clé de récupération",
"Disable recovery key" : "Désactiver la clé de récupération",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clé de récupération est une clé supplémentaire utilisée pour chiffrer les fichiers. Elle permet de récupérer les fichiers des utilisateurs s'ils oublient leur mot de passe.",
diff --git a/apps/encryption/l10n/id.js b/apps/encryption/l10n/id.js
index c0eb1576f11..1247b35bad6 100644
--- a/apps/encryption/l10n/id.js
+++ b/apps/encryption/l10n/id.js
@@ -25,10 +25,13 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Kunci privat tidak sah untuk Aplikasi Enskripsi. Silakan perbarui sandi kunci privat anda pada pengaturan pribadi untuk memulihkan akses ke berkas anda yang dienskripsi.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikasi Enskripsi telah diaktifkan tetapi kunci tidak diinisialisasi, silakan log-out dan log-in lagi",
"Encryption App is enabled and ready" : "Apl Enkripsi telah diaktifkan dan siap",
+ "one-time password for server-side-encryption" : "Sandi sekali pakai untuk server-side-encryption",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tidak dapat mendekripsi berkas ini, mungkin ini adalah berkas bersama. Silakan meminta pemilik berkas ini untuk membagikan kembali dengan Anda.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tidak dapat membaca berkas ini, kemungkinan merupakan berkas berbagi. Silakan minta pemilik berkas untuk membagikan ulang kepada Anda.",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hai,\n\nadmin mengaktifkan server-side-encryption. Berkas-berkas Anda dienkripsi menggunakan sandi '%s'.\n\nSilakan masuk di antarmuka web, pergi ke bagian 'modul enkripsi dasar ownCloud' pada pengaturan pribadi Anda dan perbarui sandi enkripsi Anda dengan memasukkan sandi ini kedalam kolom 'sandi masuk yang lama' dan sandi-masuk saat ini.\n\n",
"The share will expire on %s." : "Pembagian akan berakhir pada %s.",
"Cheers!" : "Horee!",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hai,<br><br>admin mengaktifkan server-side-encryption. Berkas-berkas Anda dienkripsi menggunakan sandi <strong>%s</strong>.<br><br>Silakan masuk di antarmuka web, pergi ke bagian 'modul enkripsi dasar ownCloud' pada pengaturan pribadi Anda dan perbarui sandi enkripsi Anda dengan memasukkan sandi ini kedalam kolom 'sandi masuk yang lama' dan sandi masuk yang baru.<br><br>",
"Enable recovery key" : "Aktifkan kunci pemulihan",
"Disable recovery key" : "Nonaktifkan kunci pemulihan",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Kunci pemulihan adalah kunci enkripsi tambahan yang digunakan untuk mengenkripsi berkas. Kunci pemulihan memungkinkan untuk memulihkan berkas-berkas pengguna ketika pengguna tersebut melupakan sandi mereka.",
diff --git a/apps/encryption/l10n/id.json b/apps/encryption/l10n/id.json
index 59f39b2ea3a..3771f7e935f 100644
--- a/apps/encryption/l10n/id.json
+++ b/apps/encryption/l10n/id.json
@@ -23,10 +23,13 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Kunci privat tidak sah untuk Aplikasi Enskripsi. Silakan perbarui sandi kunci privat anda pada pengaturan pribadi untuk memulihkan akses ke berkas anda yang dienskripsi.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikasi Enskripsi telah diaktifkan tetapi kunci tidak diinisialisasi, silakan log-out dan log-in lagi",
"Encryption App is enabled and ready" : "Apl Enkripsi telah diaktifkan dan siap",
+ "one-time password for server-side-encryption" : "Sandi sekali pakai untuk server-side-encryption",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tidak dapat mendekripsi berkas ini, mungkin ini adalah berkas bersama. Silakan meminta pemilik berkas ini untuk membagikan kembali dengan Anda.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tidak dapat membaca berkas ini, kemungkinan merupakan berkas berbagi. Silakan minta pemilik berkas untuk membagikan ulang kepada Anda.",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hai,\n\nadmin mengaktifkan server-side-encryption. Berkas-berkas Anda dienkripsi menggunakan sandi '%s'.\n\nSilakan masuk di antarmuka web, pergi ke bagian 'modul enkripsi dasar ownCloud' pada pengaturan pribadi Anda dan perbarui sandi enkripsi Anda dengan memasukkan sandi ini kedalam kolom 'sandi masuk yang lama' dan sandi-masuk saat ini.\n\n",
"The share will expire on %s." : "Pembagian akan berakhir pada %s.",
"Cheers!" : "Horee!",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hai,<br><br>admin mengaktifkan server-side-encryption. Berkas-berkas Anda dienkripsi menggunakan sandi <strong>%s</strong>.<br><br>Silakan masuk di antarmuka web, pergi ke bagian 'modul enkripsi dasar ownCloud' pada pengaturan pribadi Anda dan perbarui sandi enkripsi Anda dengan memasukkan sandi ini kedalam kolom 'sandi masuk yang lama' dan sandi masuk yang baru.<br><br>",
"Enable recovery key" : "Aktifkan kunci pemulihan",
"Disable recovery key" : "Nonaktifkan kunci pemulihan",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Kunci pemulihan adalah kunci enkripsi tambahan yang digunakan untuk mengenkripsi berkas. Kunci pemulihan memungkinkan untuk memulihkan berkas-berkas pengguna ketika pengguna tersebut melupakan sandi mereka.",
diff --git a/apps/encryption/l10n/th_TH.js b/apps/encryption/l10n/th_TH.js
index 82db7a6e8b3..3c4a5d696fa 100644
--- a/apps/encryption/l10n/th_TH.js
+++ b/apps/encryption/l10n/th_TH.js
@@ -25,10 +25,13 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "รหัสส่วนตัวไม่ถูกต้องสำหรับการเข้ารหัสแอพฯ กรุณาอัพเดทรหัสการเข้ารหัสผ่านส่วนตัวของคุณในการตั้งค่าส่วนบุคคลและในการกู้คืนการเข้าถึงไฟล์ที่มีการเข้ารหัสของคุณ",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "การเข้ารหัสแอพฯ ถูกเปิดใช้งานแต่รหัสของคุณยังไม่ได้เริ่มต้นใช้ โปรดออกและเข้าสู่ระบบอีกครั้ง",
"Encryption App is enabled and ready" : "เข้ารหัสแอพถูกเปิดใช้งานและพร้อมทำงาน",
+ "one-time password for server-side-encryption" : "รหัสผ่านเพียงครั้งเดียว สำหรับเข้ารหัสฝั่งเซิร์ฟเวอร์",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "ไม่สามารถถอดรหัสไฟล์นี้ มันอาจเป็นไฟล์ที่ใช้งานร่วมกัน กรุณาถามเจ้าของไฟล์เพื่อยกเลิกการใช้งานร่วมกัน ",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "ไม่สามารถอ่านไฟล์นี้ มันอาจเป็นไฟล์ที่ใช้งานร่วมกัน กรุณาสอบถามเจ้าของไฟล์เพื่อแชร์ไฟล์กับคุณ",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "นี่คุณ<br>\n<br> \nผู้ดูแลระบบเปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์ ไฟล์ของคุณจะถูกเข้ารหัสโดยใช้รหัสผ่าน <strong>%s</strong><br>\n<br>\nกรุณาเข้าสู่ระบบเว็บอินเตอร์เฟซไปที่ส่วน \"โมดูลการเข้ารหัส ownCloud พื้นฐาน\" ของการตั้งค่าส่วนบุคคลของคุณและอัพเดทการเข้ารหัสรหัสผ่านของคุณโดย ป้อนรหัสผ่านนี้ในช่อง \"รหัสผ่านเก่าที่เข้าสู่ระบบ\" และเข้าสู่ระบบด้วยรหัสผ่านปัจจุบันของคุณ<br>\n<br>\n",
"The share will expire on %s." : "การแชร์จะหมดอายุในวันที่ %s",
"Cheers!" : "ไชโย!",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "นี่คุณ <br><br> ผู้ดูแลระบบเปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์ ไฟล์ของคุณจะถูกเข้ารหัสโดยใช้รหัสผ่าน <strong>%s</strong> <br><br>กรุณาเข้าสู่ระบบเว็บอินเตอร์เฟซไปที่ส่วน \"โมดูลการเข้ารหัส ownCloud พื้นฐาน\" ของการตั้งค่าส่วนบุคคลของคุณและอัพเดทการเข้ารหัสรหัสผ่านของคุณโดย ป้อนรหัสผ่านนี้ในช่อง \"รหัสผ่านเก่าที่เข้าสู่ระบบ\" และเข้าสู่ระบบด้วยรหัสผ่านปัจจุบันของคุณ<br><br>",
"Enable recovery key" : "เปิดใช้งานการกู้คืนรหัส",
"Disable recovery key" : "ปิดใช้งานรหัสการกู้คืนรหัส",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "รหัสการกู้คืนเป็นการเข้ารหัสลับพิเศษจะใช้ในการเข้ารหัสไฟล์ มันจะช่วยเรื่องการกู้คืนไฟล์ของผู้ใช้ที่ลืมรหัสผ่าน",
diff --git a/apps/encryption/l10n/th_TH.json b/apps/encryption/l10n/th_TH.json
index 11fd75b87e1..b69cdb8a871 100644
--- a/apps/encryption/l10n/th_TH.json
+++ b/apps/encryption/l10n/th_TH.json
@@ -23,10 +23,13 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "รหัสส่วนตัวไม่ถูกต้องสำหรับการเข้ารหัสแอพฯ กรุณาอัพเดทรหัสการเข้ารหัสผ่านส่วนตัวของคุณในการตั้งค่าส่วนบุคคลและในการกู้คืนการเข้าถึงไฟล์ที่มีการเข้ารหัสของคุณ",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "การเข้ารหัสแอพฯ ถูกเปิดใช้งานแต่รหัสของคุณยังไม่ได้เริ่มต้นใช้ โปรดออกและเข้าสู่ระบบอีกครั้ง",
"Encryption App is enabled and ready" : "เข้ารหัสแอพถูกเปิดใช้งานและพร้อมทำงาน",
+ "one-time password for server-side-encryption" : "รหัสผ่านเพียงครั้งเดียว สำหรับเข้ารหัสฝั่งเซิร์ฟเวอร์",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "ไม่สามารถถอดรหัสไฟล์นี้ มันอาจเป็นไฟล์ที่ใช้งานร่วมกัน กรุณาถามเจ้าของไฟล์เพื่อยกเลิกการใช้งานร่วมกัน ",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "ไม่สามารถอ่านไฟล์นี้ มันอาจเป็นไฟล์ที่ใช้งานร่วมกัน กรุณาสอบถามเจ้าของไฟล์เพื่อแชร์ไฟล์กับคุณ",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "นี่คุณ<br>\n<br> \nผู้ดูแลระบบเปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์ ไฟล์ของคุณจะถูกเข้ารหัสโดยใช้รหัสผ่าน <strong>%s</strong><br>\n<br>\nกรุณาเข้าสู่ระบบเว็บอินเตอร์เฟซไปที่ส่วน \"โมดูลการเข้ารหัส ownCloud พื้นฐาน\" ของการตั้งค่าส่วนบุคคลของคุณและอัพเดทการเข้ารหัสรหัสผ่านของคุณโดย ป้อนรหัสผ่านนี้ในช่อง \"รหัสผ่านเก่าที่เข้าสู่ระบบ\" และเข้าสู่ระบบด้วยรหัสผ่านปัจจุบันของคุณ<br>\n<br>\n",
"The share will expire on %s." : "การแชร์จะหมดอายุในวันที่ %s",
"Cheers!" : "ไชโย!",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "นี่คุณ <br><br> ผู้ดูแลระบบเปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์ ไฟล์ของคุณจะถูกเข้ารหัสโดยใช้รหัสผ่าน <strong>%s</strong> <br><br>กรุณาเข้าสู่ระบบเว็บอินเตอร์เฟซไปที่ส่วน \"โมดูลการเข้ารหัส ownCloud พื้นฐาน\" ของการตั้งค่าส่วนบุคคลของคุณและอัพเดทการเข้ารหัสรหัสผ่านของคุณโดย ป้อนรหัสผ่านนี้ในช่อง \"รหัสผ่านเก่าที่เข้าสู่ระบบ\" และเข้าสู่ระบบด้วยรหัสผ่านปัจจุบันของคุณ<br><br>",
"Enable recovery key" : "เปิดใช้งานการกู้คืนรหัส",
"Disable recovery key" : "ปิดใช้งานรหัสการกู้คืนรหัส",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "รหัสการกู้คืนเป็นการเข้ารหัสลับพิเศษจะใช้ในการเข้ารหัสไฟล์ มันจะช่วยเรื่องการกู้คืนไฟล์ของผู้ใช้ที่ลืมรหัสผ่าน",
diff --git a/apps/encryption/l10n/tr.js b/apps/encryption/l10n/tr.js
index 2c8eff7e62b..96db8f91209 100644
--- a/apps/encryption/l10n/tr.js
+++ b/apps/encryption/l10n/tr.js
@@ -25,10 +25,13 @@ OC.L10N.register(
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Şifreleme Uygulaması için geçersiz özel anahtar. Lütfen şifreli dosyalarınıza erişimi tekrar kazanabilmek için kişisel ayarlarınızdan özel anahtar parolanızı güncelleyin.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme Uygulaması etkin ancak anahtarlarınız başlatılmamış. Lütfen oturumu kapatıp yeniden açın",
"Encryption App is enabled and ready" : "Şifreleme Uygulaması etkin ve hazır",
+ "one-time password for server-side-encryption" : "sunucu tarafında şifleme için tek kullanımlık parola",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan şifrelemesi kaldırılamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan okunamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Selam,\n\nsistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız '%s' parolası kullanılarak şifrelendi.\n\nLütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan 'ownCloud temel şifreleme modülü'ne giderek 'eski oturum parolası' alanına bu parolayı girerek şifreleme parolanızı ve mevcut oturum açma parolanızı güncelleyin.\n\n",
"The share will expire on %s." : "Bu paylaşım %s tarihinde sona erecek.",
"Cheers!" : "Hoşçakalın!",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Selam,<br><br>sistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız <strong>%s</strong> parolası kullanılarak şifrelendi.<br><br>Lütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan 'ownCloud temel şifreleme modülü'ne giderek 'eski oturum parolası' alanına bu parolayı girerek şifreleme parolanızı ve mevcut oturum açma parolanızı güncelleyin.<br><br>",
"Enable recovery key" : "Kurtarma anahtarını etkinleştir",
"Disable recovery key" : "Kurtarma anahtarını devre dışı bırak",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Kurtarma anahtarı, dosyaların şifrelenmesi için daha fazla \nşifreleme sunar. Bu kullanıcının dosyasının şifresini unuttuğunda kurtarmasına imkan verir.",
diff --git a/apps/encryption/l10n/tr.json b/apps/encryption/l10n/tr.json
index a1bb9b6a5d9..be6f6a5dfdd 100644
--- a/apps/encryption/l10n/tr.json
+++ b/apps/encryption/l10n/tr.json
@@ -23,10 +23,13 @@
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Şifreleme Uygulaması için geçersiz özel anahtar. Lütfen şifreli dosyalarınıza erişimi tekrar kazanabilmek için kişisel ayarlarınızdan özel anahtar parolanızı güncelleyin.",
"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme Uygulaması etkin ancak anahtarlarınız başlatılmamış. Lütfen oturumu kapatıp yeniden açın",
"Encryption App is enabled and ready" : "Şifreleme Uygulaması etkin ve hazır",
+ "one-time password for server-side-encryption" : "sunucu tarafında şifleme için tek kullanımlık parola",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan şifrelemesi kaldırılamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya muhtemelen bir paylaşılan dosya olduğundan okunamıyor. Lütfen dosyayı sizinle bir daha paylaşması için dosya sahibi ile iletişime geçin.",
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'ownCloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Selam,\n\nsistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız '%s' parolası kullanılarak şifrelendi.\n\nLütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan 'ownCloud temel şifreleme modülü'ne giderek 'eski oturum parolası' alanına bu parolayı girerek şifreleme parolanızı ve mevcut oturum açma parolanızı güncelleyin.\n\n",
"The share will expire on %s." : "Bu paylaşım %s tarihinde sona erecek.",
"Cheers!" : "Hoşçakalın!",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"ownCloud basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Selam,<br><br>sistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız <strong>%s</strong> parolası kullanılarak şifrelendi.<br><br>Lütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan 'ownCloud temel şifreleme modülü'ne giderek 'eski oturum parolası' alanına bu parolayı girerek şifreleme parolanızı ve mevcut oturum açma parolanızı güncelleyin.<br><br>",
"Enable recovery key" : "Kurtarma anahtarını etkinleştir",
"Disable recovery key" : "Kurtarma anahtarını devre dışı bırak",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "Kurtarma anahtarı, dosyaların şifrelenmesi için daha fazla \nşifreleme sunar. Bu kullanıcının dosyasının şifresini unuttuğunda kurtarmasına imkan verir.",
diff --git a/apps/encryption/lib/crypto/encryption.php b/apps/encryption/lib/crypto/encryption.php
index 1bd6af2eca7..d2925e1b6be 100644
--- a/apps/encryption/lib/crypto/encryption.php
+++ b/apps/encryption/lib/crypto/encryption.php
@@ -84,6 +84,9 @@ class Encryption implements IEncryptionModule {
/** @var EncryptAll */
private $encryptAll;
+ /** @var bool */
+ private $useMasterPassword;
+
/**
*
* @param Crypt $crypt
@@ -105,6 +108,7 @@ class Encryption implements IEncryptionModule {
$this->encryptAll = $encryptAll;
$this->logger = $logger;
$this->l = $il10n;
+ $this->useMasterPassword = $util->isMasterKeyEnabled();
}
/**
@@ -193,23 +197,26 @@ class Encryption implements IEncryptionModule {
$this->writeCache = '';
}
$publicKeys = array();
- foreach ($this->accessList['users'] as $uid) {
- try {
- $publicKeys[$uid] = $this->keyManager->getPublicKey($uid);
- } catch (PublicKeyMissingException $e) {
- $this->logger->warning(
- 'no public key found for user "{uid}", user will not be able to read the file',
- ['app' => 'encryption', 'uid' => $uid]
- );
- // if the public key of the owner is missing we should fail
- if ($uid === $this->user) {
- throw $e;
+ if ($this->useMasterPassword === true) {
+ $publicKeys[$this->keyManager->getMasterKeyId()] = $this->keyManager->getPublicMasterKey();
+ } else {
+ foreach ($this->accessList['users'] as $uid) {
+ try {
+ $publicKeys[$uid] = $this->keyManager->getPublicKey($uid);
+ } catch (PublicKeyMissingException $e) {
+ $this->logger->warning(
+ 'no public key found for user "{uid}", user will not be able to read the file',
+ ['app' => 'encryption', 'uid' => $uid]
+ );
+ // if the public key of the owner is missing we should fail
+ if ($uid === $this->user) {
+ throw $e;
+ }
}
}
}
$publicKeys = $this->keyManager->addSystemKeys($this->accessList, $publicKeys, $this->user);
-
$encryptedKeyfiles = $this->crypt->multiKeyEncrypt($this->fileKey, $publicKeys);
$this->keyManager->setAllFileKeys($this->path, $encryptedKeyfiles);
}
@@ -318,8 +325,12 @@ class Encryption implements IEncryptionModule {
if (!empty($fileKey)) {
$publicKeys = array();
- foreach ($accessList['users'] as $user) {
- $publicKeys[$user] = $this->keyManager->getPublicKey($user);
+ if ($this->useMasterPassword === true) {
+ $publicKeys[$this->keyManager->getMasterKeyId()] = $this->keyManager->getPublicMasterKey();
+ } else {
+ foreach ($accessList['users'] as $user) {
+ $publicKeys[$user] = $this->keyManager->getPublicKey($user);
+ }
}
$publicKeys = $this->keyManager->addSystemKeys($accessList, $publicKeys, $uid);
diff --git a/apps/encryption/lib/keymanager.php b/apps/encryption/lib/keymanager.php
index 6c793e5964f..c4507228878 100644
--- a/apps/encryption/lib/keymanager.php
+++ b/apps/encryption/lib/keymanager.php
@@ -55,6 +55,10 @@ class KeyManager {
*/
private $publicShareKeyId;
/**
+ * @var string
+ */
+ private $masterKeyId;
+ /**
* @var string UserID
*/
private $keyId;
@@ -131,10 +135,20 @@ class KeyManager {
$this->config->setAppValue('encryption', 'publicShareKeyId', $this->publicShareKeyId);
}
+ $this->masterKeyId = $this->config->getAppValue('encryption',
+ 'masterKeyId');
+ if (empty($this->masterKeyId)) {
+ $this->masterKeyId = 'master_' . substr(md5(time()), 0, 8);
+ $this->config->setAppValue('encryption', 'masterKeyId', $this->masterKeyId);
+ }
+
$this->keyId = $userSession && $userSession->isLoggedIn() ? $userSession->getUser()->getUID() : false;
$this->log = $log;
}
+ /**
+ * check if key pair for public link shares exists, if not we create one
+ */
public function validateShareKey() {
$shareKey = $this->getPublicShareKey();
if (empty($shareKey)) {
@@ -153,6 +167,26 @@ class KeyManager {
}
/**
+ * check if a key pair for the master key exists, if not we create one
+ */
+ public function validateMasterKey() {
+ $masterKey = $this->getPublicMasterKey();
+ if (empty($masterKey)) {
+ $keyPair = $this->crypt->createKeyPair();
+
+ // Save public key
+ $this->keyStorage->setSystemUserKey(
+ $this->masterKeyId . '.publicKey', $keyPair['publicKey'],
+ Encryption::ID);
+
+ // Encrypt private key with system password
+ $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $this->getMasterKeyPassword(), $this->masterKeyId);
+ $header = $this->crypt->generateHeader();
+ $this->setSystemPrivateKey($this->masterKeyId, $header . $encryptedKey);
+ }
+ }
+
+ /**
* @return bool
*/
public function recoveryKeyExists() {
@@ -304,8 +338,15 @@ class KeyManager {
$this->session->setStatus(Session::INIT_EXECUTED);
+
try {
- $privateKey = $this->getPrivateKey($uid);
+ if($this->util->isMasterKeyEnabled()) {
+ $uid = $this->getMasterKeyId();
+ $passPhrase = $this->getMasterKeyPassword();
+ $privateKey = $this->getSystemPrivateKey($uid);
+ } else {
+ $privateKey = $this->getPrivateKey($uid);
+ }
$privateKey = $this->crypt->decryptPrivateKey($privateKey, $passPhrase, $uid);
} catch (PrivateKeyMissingException $e) {
return false;
@@ -345,6 +386,10 @@ class KeyManager {
public function getFileKey($path, $uid) {
$encryptedFileKey = $this->keyStorage->getFileKey($path, $this->fileKeyId, Encryption::ID);
+ if ($this->util->isMasterKeyEnabled()) {
+ $uid = $this->getMasterKeyId();
+ }
+
if (is_null($uid)) {
$uid = $this->getPublicShareKeyId();
$shareKey = $this->getShareKey($path, $uid);
@@ -566,4 +611,37 @@ class KeyManager {
return $publicKeys;
}
+
+ /**
+ * get master key password
+ *
+ * @return string
+ * @throws \Exception
+ */
+ protected function getMasterKeyPassword() {
+ $password = $this->config->getSystemValue('secret');
+ if (empty($password)){
+ throw new \Exception('Can not get secret from ownCloud instance');
+ }
+
+ return $password;
+ }
+
+ /**
+ * return master key id
+ *
+ * @return string
+ */
+ public function getMasterKeyId() {
+ return $this->masterKeyId;
+ }
+
+ /**
+ * get public master key
+ *
+ * @return string
+ */
+ public function getPublicMasterKey() {
+ return $this->keyStorage->getSystemUserKey($this->masterKeyId . '.publicKey', Encryption::ID);
+ }
}
diff --git a/apps/encryption/lib/users/setup.php b/apps/encryption/lib/users/setup.php
index 433ea824c9b..d4f7c374547 100644
--- a/apps/encryption/lib/users/setup.php
+++ b/apps/encryption/lib/users/setup.php
@@ -84,6 +84,7 @@ class Setup {
*/
public function setupServerSide($uid, $password) {
$this->keyManager->validateShareKey();
+ $this->keyManager->validateMasterKey();
// Check if user already has keys
if (!$this->keyManager->userHasKeys($uid)) {
return $this->keyManager->storeKeyPair($uid, $password,
diff --git a/apps/encryption/lib/util.php b/apps/encryption/lib/util.php
index fbedc5d6077..e9f916eff38 100644
--- a/apps/encryption/lib/util.php
+++ b/apps/encryption/lib/util.php
@@ -102,6 +102,16 @@ class Util {
}
/**
+ * check if master key is enabled
+ *
+ * @return bool
+ */
+ public function isMasterKeyEnabled() {
+ $userMasterKey = $this->config->getAppValue('encryption', 'useMasterKey', '0');
+ return ($userMasterKey === '1');
+ }
+
+ /**
* @param $enabled
* @return bool
*/
diff --git a/apps/encryption/tests/command/testenablemasterkey.php b/apps/encryption/tests/command/testenablemasterkey.php
new file mode 100644
index 00000000000..c905329269e
--- /dev/null
+++ b/apps/encryption/tests/command/testenablemasterkey.php
@@ -0,0 +1,103 @@
+<?php
+/**
+ * @author Björn Schießle <schiessle@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+
+namespace OCA\Encryption\Tests\Command;
+
+
+use OCA\Encryption\Command\EnableMasterKey;
+use Test\TestCase;
+
+class TestEnableMasterKey extends TestCase {
+
+ /** @var EnableMasterKey */
+ protected $enableMasterKey;
+
+ /** @var Util | \PHPUnit_Framework_MockObject_MockObject */
+ protected $util;
+
+ /** @var \OCP\IConfig | \PHPUnit_Framework_MockObject_MockObject */
+ protected $config;
+
+ /** @var \Symfony\Component\Console\Helper\QuestionHelper | \PHPUnit_Framework_MockObject_MockObject */
+ protected $questionHelper;
+
+ /** @var \Symfony\Component\Console\Output\OutputInterface | \PHPUnit_Framework_MockObject_MockObject */
+ protected $output;
+
+ /** @var \Symfony\Component\Console\Input\InputInterface | \PHPUnit_Framework_MockObject_MockObject */
+ protected $input;
+
+ public function setUp() {
+ parent::setUp();
+
+ $this->util = $this->getMockBuilder('OCA\Encryption\Util')
+ ->disableOriginalConstructor()->getMock();
+ $this->config = $this->getMockBuilder('OCP\IConfig')
+ ->disableOriginalConstructor()->getMock();
+ $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper')
+ ->disableOriginalConstructor()->getMock();
+ $this->output = $this->getMockBuilder('Symfony\Component\Console\Output\OutputInterface')
+ ->disableOriginalConstructor()->getMock();
+ $this->input = $this->getMockBuilder('Symfony\Component\Console\Input\InputInterface')
+ ->disableOriginalConstructor()->getMock();
+
+ $this->enableMasterKey = new EnableMasterKey($this->util, $this->config, $this->questionHelper);
+ }
+
+ /**
+ * @dataProvider dataTestExecute
+ *
+ * @param bool $isAlreadyEnabled
+ * @param string $answer
+ */
+ public function testExecute($isAlreadyEnabled, $answer) {
+
+ $this->util->expects($this->once())->method('isMasterKeyEnabled')
+ ->willReturn($isAlreadyEnabled);
+
+ if ($isAlreadyEnabled) {
+ $this->output->expects($this->once())->method('writeln')
+ ->with('Master key already enabled');
+ } else {
+ if ($answer === 'y') {
+ $this->questionHelper->expects($this->once())->method('ask')->willReturn(true);
+ $this->config->expects($this->once())->method('setAppValue')
+ ->with('encryption', 'useMasterKey', '1');
+ } else {
+ $this->questionHelper->expects($this->once())->method('ask')->willReturn(false);
+ $this->config->expects($this->never())->method('setAppValue');
+
+ }
+ }
+
+ $this->invokePrivate($this->enableMasterKey, 'execute', [$this->input, $this->output]);
+ }
+
+ public function dataTestExecute() {
+ return [
+ [true, ''],
+ [false, 'y'],
+ [false, 'n'],
+ [false, '']
+ ];
+ }
+}
diff --git a/apps/encryption/tests/lib/KeyManagerTest.php b/apps/encryption/tests/lib/KeyManagerTest.php
index 71b00cf254a..8f1da623efb 100644
--- a/apps/encryption/tests/lib/KeyManagerTest.php
+++ b/apps/encryption/tests/lib/KeyManagerTest.php
@@ -27,6 +27,7 @@ namespace OCA\Encryption\Tests;
use OCA\Encryption\KeyManager;
+use OCA\Encryption\Session;
use Test\TestCase;
class KeyManagerTest extends TestCase {
@@ -237,24 +238,62 @@ class KeyManagerTest extends TestCase {
}
+ /**
+ * @dataProvider dataTestInit
+ *
+ * @param bool $useMasterKey
+ */
+ public function testInit($useMasterKey) {
+
+ $instance = $this->getMockBuilder('OCA\Encryption\KeyManager')
+ ->setConstructorArgs(
+ [
+ $this->keyStorageMock,
+ $this->cryptMock,
+ $this->configMock,
+ $this->userMock,
+ $this->sessionMock,
+ $this->logMock,
+ $this->utilMock
+ ]
+ )->setMethods(['getMasterKeyId', 'getMasterKeyPassword', 'getSystemPrivateKey', 'getPrivateKey'])
+ ->getMock();
- public function testInit() {
- $this->keyStorageMock->expects($this->any())
- ->method('getUserKey')
- ->with($this->equalTo($this->userId), $this->equalTo('privateKey'))
- ->willReturn('privateKey');
- $this->cryptMock->expects($this->any())
- ->method('decryptPrivateKey')
- ->with($this->equalTo('privateKey'), $this->equalTo('pass'))
- ->willReturn('decryptedPrivateKey');
+ $this->utilMock->expects($this->once())->method('isMasterKeyEnabled')
+ ->willReturn($useMasterKey);
+
+ $this->sessionMock->expects($this->at(0))->method('setStatus')
+ ->with(Session::INIT_EXECUTED);
+
+ $instance->expects($this->any())->method('getMasterKeyId')->willReturn('masterKeyId');
+ $instance->expects($this->any())->method('getMasterKeyPassword')->willReturn('masterKeyPassword');
+ $instance->expects($this->any())->method('getSystemPrivateKey')->with('masterKeyId')->willReturn('privateMasterKey');
+ $instance->expects($this->any())->method('getPrivateKey')->with($this->userId)->willReturn('privateUserKey');
+
+ if($useMasterKey) {
+ $this->cryptMock->expects($this->once())->method('decryptPrivateKey')
+ ->with('privateMasterKey', 'masterKeyPassword', 'masterKeyId')
+ ->willReturn('key');
+ } else {
+ $this->cryptMock->expects($this->once())->method('decryptPrivateKey')
+ ->with('privateUserKey', 'pass', $this->userId)
+ ->willReturn('key');
+ }
+ $this->sessionMock->expects($this->once())->method('setPrivateKey')
+ ->with('key');
- $this->assertTrue(
- $this->instance->init($this->userId, 'pass')
- );
+ $this->assertTrue($instance->init($this->userId, 'pass'));
+ }
+ public function dataTestInit() {
+ return [
+ [true],
+ [false]
+ ];
}
+
public function testSetRecoveryKey() {
$this->keyStorageMock->expects($this->exactly(2))
->method('setSystemUserKey')
@@ -401,5 +440,92 @@ class KeyManagerTest extends TestCase {
);
}
+ public function testGetMasterKeyId() {
+ $this->assertSame('systemKeyId', $this->instance->getMasterKeyId());
+ }
+
+ public function testGetPublicMasterKey() {
+ $this->keyStorageMock->expects($this->once())->method('getSystemUserKey')
+ ->with('systemKeyId.publicKey', \OCA\Encryption\Crypto\Encryption::ID)
+ ->willReturn(true);
+
+ $this->assertTrue(
+ $this->instance->getPublicMasterKey()
+ );
+ }
+
+ public function testGetMasterKeyPassword() {
+ $this->configMock->expects($this->once())->method('getSystemValue')->with('secret')
+ ->willReturn('password');
+
+ $this->assertSame('password',
+ $this->invokePrivate($this->instance, 'getMasterKeyPassword', [])
+ );
+ }
+
+ /**
+ * @expectedException \Exception
+ */
+ public function testGetMasterKeyPasswordException() {
+ $this->configMock->expects($this->once())->method('getSystemValue')->with('secret')
+ ->willReturn('');
+
+ $this->invokePrivate($this->instance, 'getMasterKeyPassword', []);
+ }
+
+ /**
+ * @dataProvider dataTestValidateMasterKey
+ *
+ * @param $masterKey
+ */
+ public function testValidateMasterKey($masterKey) {
+
+ /** @var \OCA\Encryption\KeyManager | \PHPUnit_Framework_MockObject_MockObject $instance */
+ $instance = $this->getMockBuilder('OCA\Encryption\KeyManager')
+ ->setConstructorArgs(
+ [
+ $this->keyStorageMock,
+ $this->cryptMock,
+ $this->configMock,
+ $this->userMock,
+ $this->sessionMock,
+ $this->logMock,
+ $this->utilMock
+ ]
+ )->setMethods(['getPublicMasterKey', 'setSystemPrivateKey', 'getMasterKeyPassword'])
+ ->getMock();
+
+ $instance->expects($this->once())->method('getPublicMasterKey')
+ ->willReturn($masterKey);
+
+ $instance->expects($this->any())->method('getMasterKeyPassword')->willReturn('masterKeyPassword');
+ $this->cryptMock->expects($this->any())->method('generateHeader')->willReturn('header');
+
+ if(empty($masterKey)) {
+ $this->cryptMock->expects($this->once())->method('createKeyPair')
+ ->willReturn(['publicKey' => 'public', 'privateKey' => 'private']);
+ $this->keyStorageMock->expects($this->once())->method('setSystemUserKey')
+ ->with('systemKeyId.publicKey', 'public', \OCA\Encryption\Crypto\Encryption::ID);
+ $this->cryptMock->expects($this->once())->method('encryptPrivateKey')
+ ->with('private', 'masterKeyPassword', 'systemKeyId')
+ ->willReturn('EncryptedKey');
+ $instance->expects($this->once())->method('setSystemPrivateKey')
+ ->with('systemKeyId', 'headerEncryptedKey');
+ } else {
+ $this->cryptMock->expects($this->never())->method('createKeyPair');
+ $this->keyStorageMock->expects($this->never())->method('setSystemUserKey');
+ $this->cryptMock->expects($this->never())->method('encryptPrivateKey');
+ $instance->expects($this->never())->method('setSystemPrivateKey');
+ }
+
+ $instance->validateMasterKey();
+ }
+
+ public function dataTestValidateMasterKey() {
+ return [
+ ['masterKey'],
+ ['']
+ ];
+ }
}
diff --git a/apps/encryption/tests/lib/UtilTest.php b/apps/encryption/tests/lib/UtilTest.php
index e75e8ea36b4..9988ff93f43 100644
--- a/apps/encryption/tests/lib/UtilTest.php
+++ b/apps/encryption/tests/lib/UtilTest.php
@@ -132,4 +132,25 @@ class UtilTest extends TestCase {
return $default ?: null;
}
+ /**
+ * @dataProvider dataTestIsMasterKeyEnabled
+ *
+ * @param string $value
+ * @param bool $expect
+ */
+ public function testIsMasterKeyEnabled($value, $expect) {
+ $this->configMock->expects($this->once())->method('getAppValue')
+ ->with('encryption', 'useMasterKey', '0')->willReturn($value);
+ $this->assertSame($expect,
+ $this->instance->isMasterKeyEnabled()
+ );
+ }
+
+ public function dataTestIsMasterKeyEnabled() {
+ return [
+ ['0', false],
+ ['1', true]
+ ];
+ }
+
}
diff --git a/apps/encryption/tests/lib/users/SetupTest.php b/apps/encryption/tests/lib/users/SetupTest.php
index e6936c5c12e..bca3ff58b07 100644
--- a/apps/encryption/tests/lib/users/SetupTest.php
+++ b/apps/encryption/tests/lib/users/SetupTest.php
@@ -43,6 +43,8 @@ class SetupTest extends TestCase {
private $instance;
public function testSetupServerSide() {
+ $this->keyManagerMock->expects($this->exactly(2))->method('validateShareKey');
+ $this->keyManagerMock->expects($this->exactly(2))->method('validateMasterKey');
$this->keyManagerMock->expects($this->exactly(2))
->method('userHasKeys')
->with('admin')
diff --git a/apps/files/css/detailsView.css b/apps/files/css/detailsView.css
index ffead923124..8eded7acda1 100644
--- a/apps/files/css/detailsView.css
+++ b/apps/files/css/detailsView.css
@@ -19,6 +19,27 @@
float: left;
}
+#app-sidebar .thumbnailContainer.image {
+ margin-left: -15px;
+ margin-right: -35px; /* 15 + 20 for the close button */
+ margin-top: -15px;
+}
+
+#app-sidebar .image .thumbnail {
+ width:100%;
+ display:block;
+ height: 250px;
+ background-repeat: no-repeat;
+ background-position: 50% top;
+ background-size: 100%;
+ float: none;
+ margin: 0;
+}
+
+#app-sidebar .image.portrait .thumbnail {
+ background-size: contain;
+}
+
#app-sidebar .thumbnail {
width: 75px;
height: 75px;
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index 375666141ba..05033dc2fed 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -18,11 +18,6 @@
z-index: -30;
}
-#new {
- z-index: 1010;
- float: left;
- padding: 0 !important; /* override default control bar button padding */
-}
#trash {
margin-right: 8px;
float: right;
@@ -30,49 +25,8 @@
padding: 10px;
font-weight: normal;
}
-#new > a {
- padding: 14px 10px;
- position: relative;
- top: 7px;
-}
-#new.active {
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
- border-bottom: none;
- background: #f8f8f8;
-}
-#new > ul {
- display: none;
- position: fixed;
- min-width: 112px;
- z-index: -10;
- padding: 8px;
- padding-bottom: 0;
- margin-top: 13.5px;
- margin-left: -1px;
- text-align: left;
- background: #f8f8f8;
- border: 1px solid #ddd;
- border: 1px solid rgba(240, 240, 240, 0.9);
- border-radius: 5px;
- border-top-left-radius: 0;
- box-shadow: 0 2px 7px rgba(170,170,170,.4);
-}
-#new > ul > li {
- height: 36px;
- margin: 5px;
- padding-left: 42px;
- padding-bottom: 2px;
- background-position: left center;
- cursor: pointer;
-}
-#new > ul > li > p {
- cursor: pointer;
- padding-top: 7px;
- padding-bottom: 7px;
-}
-#new .error, #fileList .error {
+.newFileMenu .error, #fileList .error {
color: #e9322d;
border-color: #e9322d;
-webkit-box-shadow: 0 0 6px #f8b9b7;
@@ -144,6 +98,30 @@
margin-bottom: 44px;
}
+#app-navigation .nav-files a.nav-icon-files {
+ width: auto;
+}
+/* button needs overrides due to navigation styles */
+#app-navigation .nav-files a.new {
+ width: 40px;
+ height: 32px;
+ padding: 0 10px;
+ margin: 0;
+ cursor: pointer;
+}
+
+#app-navigation .nav-files a {
+ display: inline-block;
+}
+
+#app-navigation .nav-files a.new.hidden {
+ display: none;
+}
+
+#app-navigation .nav-files a.new.disabled {
+ opacity: 0.3;
+}
+
#filestable tbody tr {
background-color: #fff;
height: 40px;
@@ -600,7 +578,8 @@ a.action > img {
#fileList a.action.action-menu {
padding: 17px 14px;
}
-#fileList .fileActionsMenu {
+
+#fileList .popovermenu {
margin-right: 21px;
}
@@ -655,13 +634,13 @@ a.action > img {
}
/* properly display actions in the popover menu */
-#fileList .fileActionsMenu .action {
+#fileList .popovermenu .action {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)" !important;
filter: alpha(opacity=50) !important;
opacity: .5 !important;
}
-#fileList .fileActionsMenu .action:hover,
-#fileList .fileActionsMenu .action:focus {
+#fileList .popovermenu .action:hover,
+#fileList .popovermenu .action:focus {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" !important;
filter: alpha(opacity=100) !important;
opacity: 1 !important;
@@ -745,43 +724,56 @@ table.dragshadow td.size {
opacity: 0;
}
-.fileActionsMenu {
- padding: 4px 12px;
-}
-.fileActionsMenu li {
- padding: 5px 0;
-}
-#fileList .fileActionsMenu a.action img {
+#fileList .popovermenu a.action img {
padding: initial;
}
-#fileList .fileActionsMenu a.action {
+
+#fileList .popovermenu a.action {
padding: 10px;
margin: -10px;
}
-.fileActionsMenu.hidden {
- display: none;
+.newFileMenu {
+ width: 140px;
+ margin-left: -56px;
+ margin-top: 25px;
}
-#fileList .fileActionsMenu .action {
- display: block;
- line-height: 30px;
- padding-left: 5px;
- color: #000;
+.newFileMenu .menuitem {
+ white-space: nowrap;
+ overflow: hidden;
+}
+.newFileMenu.popovermenu .menuitem .icon {
+ margin-bottom: -2px;
+}
+.newFileMenu.popovermenu a.menuitem,
+.newFileMenu.popovermenu label.menuitem,
+.newFileMenu.popovermenu .menuitem {
padding: 0;
+ margin: 0;
+}
+
+.newFileMenu.bubble:after {
+ left: 75px;
+ right: auto;
+}
+.newFileMenu.bubble:before {
+ left: 75px;
+ right: auto;
}
-.fileActionsMenu .action img,
-.fileActionsMenu .action .no-icon {
+.newFileMenu .filenameform {
display: inline-block;
- width: 16px;
- margin-right: 5px;
}
-.fileActionsMenu .action {
- opacity: 0.5;
+.newFileMenu .filenameform input {
+ width: 100px;
}
-.fileActionsMenu li:hover .action {
- opacity: 1;
+#fileList .popovermenu .action {
+ display: block;
+ line-height: 30px;
+ padding-left: 5px;
+ color: #000;
+ padding: 0;
}
diff --git a/apps/files/css/upload.css b/apps/files/css/upload.css
index bd60f831388..07b788b937f 100644
--- a/apps/files/css/upload.css
+++ b/apps/files/css/upload.css
@@ -24,20 +24,6 @@
}
.file_upload_target { display:none; }
.file_upload_form { display:inline; float:left; margin:0; padding:0; cursor:pointer; overflow:visible; }
-#file_upload_start {
- position: relative;
- left: 0;
- top: 0;
- width: 44px;
- height: 44px;
- margin: -5px -3px;
- padding: 0;
- font-size: 16px;
- -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0;
- z-index: 20;
- cursor: pointer;
- overflow: hidden;
-}
#uploadprogresswrapper, #uploadprogresswrapper * {
-moz-box-sizing: border-box;
diff --git a/apps/files/index.php b/apps/files/index.php
index a73caa50fbe..cc007ebdb07 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -38,6 +38,7 @@ OCP\Util::addStyle('files', 'upload');
OCP\Util::addStyle('files', 'mobile');
OCP\Util::addscript('files', 'app');
OCP\Util::addscript('files', 'file-upload');
+OCP\Util::addscript('files', 'newfilemenu');
OCP\Util::addscript('files', 'jquery.iframe-transport');
OCP\Util::addscript('files', 'jquery.fileupload');
OCP\Util::addscript('files', 'jquery-visibility');
diff --git a/apps/files/js/detailsview.js b/apps/files/js/detailsview.js
index 83d7fd4a178..3a775c29ec6 100644
--- a/apps/files/js/detailsview.js
+++ b/apps/files/js/detailsview.js
@@ -35,7 +35,7 @@
var DetailsView = OC.Backbone.View.extend({
id: 'app-sidebar',
tabName: 'div',
- className: 'detailsView',
+ className: 'detailsView scroll-container',
_template: null,
diff --git a/apps/files/js/detailtabview.js b/apps/files/js/detailtabview.js
index b0e170bc4e7..449047cf252 100644
--- a/apps/files/js/detailtabview.js
+++ b/apps/files/js/detailtabview.js
@@ -84,6 +84,13 @@
*/
getFileInfo: function() {
return this.model;
+ },
+
+ /**
+ * Load the next page of results
+ */
+ nextPage: function() {
+ // load the next page, if applicable
}
});
DetailTabView._TAB_COUNT = 0;
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index 6b6acdb5e01..17f0f777169 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -551,155 +551,6 @@ OC.Upload = {
$('#file_upload_start').attr('multiple', 'multiple');
}
- $(document).click(function(ev) {
- // do not close when clicking in the dropdown
- if ($(ev.target).closest('#new').length){
- return;
- }
- $('#new>ul').hide();
- $('#new').removeClass('active');
- if ($('#new .error').length > 0) {
- $('#new .error').tipsy('hide');
- }
- $('#new li').each(function(i,element) {
- if ($(element).children('p').length === 0) {
- $(element).children('form').remove();
- $(element).append('<p>' + $(element).data('text') + '</p>');
- }
- });
- });
- $('#new').click(function(event) {
- event.stopPropagation();
- });
- $('#new>a').click(function() {
- $('#new>ul').toggle();
- $('#new').toggleClass('active');
- });
- $('#new li').click(function() {
- if ($(this).children('p').length === 0) {
- return;
- }
-
- $('#new .error').tipsy('hide');
-
- $('#new li').each(function(i, element) {
- if ($(element).children('p').length === 0) {
- $(element).children('form').remove();
- $(element).append('<p>' + $(element).data('text') + '</p>');
- }
- });
-
- var type = $(this).data('type');
- var text = $(this).children('p').text();
- $(this).data('text', text);
- $(this).children('p').remove();
-
- // add input field
- var form = $('<form></form>');
- var input = $('<input type="text">');
- var newName = $(this).attr('data-newname') || '';
- var fileType = 'input-' + $(this).attr('data-type');
- if (newName) {
- input.val(newName);
- input.attr('id', fileType);
- }
- var label = $('<label class="hidden-visually" for="">' + escapeHTML(newName) + '</label>');
- label.attr('for', fileType);
-
- form.append(label).append(input);
- $(this).append(form);
- var lastPos;
- var checkInput = function () {
- var filename = input.val();
- if (!Files.isFileNameValid(filename)) {
- // Files.isFileNameValid(filename) throws an exception itself
- } else if (FileList.inList(filename)) {
- throw t('files', '{new_name} already exists', {new_name: filename});
- } else {
- return true;
- }
- };
-
- // verify filename on typing
- input.keyup(function(event) {
- try {
- checkInput();
- input.tipsy('hide');
- input.removeClass('error');
- } catch (error) {
- input.attr('title', error);
- input.tipsy({gravity: 'w', trigger: 'manual'});
- input.tipsy('show');
- input.addClass('error');
- }
- });
-
- input.focus();
- // pre select name up to the extension
- lastPos = newName.lastIndexOf('.');
- if (lastPos === -1) {
- lastPos = newName.length;
- }
- input.selectRange(0, lastPos);
- form.submit(function(event) {
- event.stopPropagation();
- event.preventDefault();
- try {
- checkInput();
- var newname = input.val();
- if (FileList.lastAction) {
- FileList.lastAction();
- }
- var name = FileList.getUniqueName(newname);
- switch(type) {
- case 'file':
- $.post(
- OC.filePath('files', 'ajax', 'newfile.php'),
- {
- dir: FileList.getCurrentDirectory(),
- filename: name
- },
- function(result) {
- if (result.status === 'success') {
- FileList.add(result.data, {animate: true, scrollTo: true});
- } else {
- OC.dialogs.alert(result.data.message, t('core', 'Could not create file'));
- }
- }
- );
- break;
- case 'folder':
- $.post(
- OC.filePath('files','ajax','newfolder.php'),
- {
- dir: FileList.getCurrentDirectory(),
- foldername: name
- },
- function(result) {
- if (result.status === 'success') {
- FileList.add(result.data, {animate: true, scrollTo: true});
- } else {
- OC.dialogs.alert(result.data.message, t('core', 'Could not create folder'));
- }
- }
- );
- break;
- }
- var li = form.parent();
- form.remove();
- /* workaround for IE 9&10 click event trap, 2 lines: */
- $('input').first().focus();
- $('#content').focus();
- li.append('<p>' + li.data('text') + '</p>');
- $('#new>a').click();
- } catch (error) {
- input.attr('title', error);
- input.tipsy({gravity: 'w', trigger: 'manual'});
- input.tipsy('show');
- input.addClass('error');
- }
- });
- });
window.file_upload_param = file_upload_param;
return file_upload_param;
}
diff --git a/apps/files/js/fileactionsmenu.js b/apps/files/js/fileactionsmenu.js
index 623ebde5442..5ab0e42f93e 100644
--- a/apps/files/js/fileactionsmenu.js
+++ b/apps/files/js/fileactionsmenu.js
@@ -14,7 +14,7 @@
'<ul>' +
'{{#each items}}' +
'<li>' +
- '<a href="#" class="action action-{{nameLowerCase}} permanent" data-action="{{name}}">{{#if icon}}<img src="{{icon}}"/>{{else}}<span class="no-icon"></span>{{/if}}<span>{{displayName}}</span></a>' +
+ '<a href="#" class="menuitem action action-{{nameLowerCase}} permanent" data-action="{{name}}">{{#if icon}}<img class="icon" src="{{icon}}"/>{{else}}<span class="no-icon"></span>{{/if}}<span>{{displayName}}</span></a>' +
'</li>' +
'{{/each}}' +
'</ul>';
@@ -26,7 +26,7 @@
*/
var FileActionsMenu = OC.Backbone.View.extend({
tagName: 'div',
- className: 'fileActionsMenu bubble hidden open menu',
+ className: 'fileActionsMenu popovermenu bubble hidden open menu',
/**
* Current context
diff --git a/apps/files/js/fileinfomodel.js b/apps/files/js/fileinfomodel.js
index 05060854fba..22b1ca9ff0c 100644
--- a/apps/files/js/fileinfomodel.js
+++ b/apps/files/js/fileinfomodel.js
@@ -31,16 +31,15 @@
*/
var FileInfoModel = OC.Backbone.Model.extend({
+ defaults: {
+ mimetype: 'application/octet-stream',
+ path: ''
+ },
+
initialize: function(data) {
if (!_.isUndefined(data.id)) {
data.id = parseInt(data.id, 10);
}
-
- // TODO: normalize path
- data.path = data.path || '';
- data.name = data.name;
-
- data.mimetype = data.mimetype || 'application/octet-stream';
},
/**
@@ -53,6 +52,15 @@
},
/**
+ * Returns whether this file is an image
+ *
+ * @return {boolean} true if this is an image, false otherwise
+ */
+ isImage: function() {
+ return this.has('mimetype') ? this.get('mimetype').substr(0, 6) === 'image/' : false;
+ },
+
+ /**
* Returns the full path to this file
*
* @return {string} full path
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index ac96d587015..c52e414e3a7 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -9,6 +9,9 @@
*/
(function() {
+
+ var TEMPLATE_ADDBUTTON = '<a href="#" class="button new" title="{{addText}}"><img src="{{iconUrl}}"></img></a>';
+
/**
* @class OCA.Files.FileList
* @classdesc
@@ -220,6 +223,8 @@
this.$el.find('#controls').prepend(this.breadcrumb.$el);
+ this._renderNewButton();
+
this.$el.find('thead th .columntitle').click(_.bind(this._onClickHeader, this));
this._onResize = _.debounce(_.bind(this._onResize, this), 100);
@@ -262,6 +267,12 @@
* Destroy / uninitialize this instance.
*/
destroy: function() {
+ if (this._newFileMenu) {
+ this._newFileMenu.remove();
+ }
+ if (this._newButton) {
+ this._newButton.remove();
+ }
// TODO: also unregister other event handlers
this.fileActions.off('registerAction', this._onFileActionsUpdated);
this.fileActions.off('setDefault', this._onFileActionsUpdated);
@@ -291,6 +302,7 @@
* @return {OCA.Files.FileInfoModel} file info model
*/
getModelForFile: function(fileName) {
+ var self = this;
var $tr;
// jQuery object ?
if (fileName.is) {
@@ -318,6 +330,21 @@
if (!model.has('path')) {
model.set('path', this.getCurrentDirectory(), {silent: true});
}
+
+ model.on('change', function(model) {
+ // re-render row
+ var highlightState = $tr.hasClass('highlighted');
+ $tr = self.updateRow(
+ $tr,
+ _.extend({isPreviewAvailable: true}, model.toJSON()),
+ {updateSummary: true, silent: false, animate: true}
+ );
+ $tr.toggleClass('highlighted', highlightState);
+ });
+ model.on('busy', function(model, state) {
+ self.showFileBusyState($tr, state);
+ });
+
return model;
},
@@ -341,6 +368,9 @@
if (!fileName) {
OC.Apps.hideAppSidebar(this._detailsView.$el);
this._detailsView.setFileInfo(null);
+ if (this._currentFileModel) {
+ this._currentFileModel.off();
+ }
this._currentFileModel = null;
return;
}
@@ -1223,6 +1253,10 @@
reload: function() {
this._selectedFiles = {};
this._selectionSummary.clear();
+ if (this._currentFileModel) {
+ this._currentFileModel.off();
+ }
+ this._currentFileModel = null;
this.$el.find('.select-all').prop('checked', false);
this.showMask();
if (this._reloadCall) {
@@ -1359,6 +1393,12 @@
if (options.y) {
urlSpec.y = options.y;
}
+ if (options.a) {
+ urlSpec.a = options.a;
+ }
+ if (options.mode) {
+ urlSpec.mode = options.mode;
+ }
if (etag){
// use etag as cache buster
@@ -1377,9 +1417,14 @@
img.onload = function(){
// if loading the preview image failed (no preview for the mimetype) then img.width will < 5
if (img.width > 5) {
- ready(previewURL);
+ ready(previewURL, img);
+ } else if (options.error) {
+ options.error();
}
};
+ if (options.error) {
+ img.onerror = options.error;
+ }
img.src = previewURL;
},
@@ -1544,6 +1589,23 @@
},
/**
+ * Updates the given row with the given file info
+ *
+ * @param {Object} $tr row element
+ * @param {OCA.Files.FileInfo} fileInfo file info
+ * @param {Object} options options
+ *
+ * @return {Object} new row element
+ */
+ updateRow: function($tr, fileInfo, options) {
+ this.files.splice($tr.index(), 1);
+ $tr.remove();
+ $tr = this.add(fileInfo, _.extend({updateSummary: false, silent: true}, options));
+ this.$fileList.trigger($.Event('fileActionsReady', {fileList: this, $files: $tr}));
+ return $tr;
+ },
+
+ /**
* Triggers file rename input field for the given file name.
* If the user enters a new name, the file will be renamed.
*
@@ -1679,6 +1741,106 @@
form.trigger('submit');
});
},
+
+ /**
+ * Create an empty file inside the current directory.
+ *
+ * @param {string} name name of the file
+ *
+ * @return {Promise} promise that will be resolved after the
+ * file was created
+ *
+ * @since 8.2
+ */
+ createFile: function(name) {
+ var self = this;
+ var deferred = $.Deferred();
+ var promise = deferred.promise();
+
+ OCA.Files.Files.isFileNameValid(name);
+ name = this.getUniqueName(name);
+
+ if (this.lastAction) {
+ this.lastAction();
+ }
+
+ $.post(
+ OC.generateUrl('/apps/files/ajax/newfile.php'),
+ {
+ dir: this.getCurrentDirectory(),
+ filename: name
+ },
+ function(result) {
+ if (result.status === 'success') {
+ self.add(result.data, {animate: true, scrollTo: true});
+ deferred.resolve(result.status, result.data);
+ } else {
+ if (result.data && result.data.message) {
+ OC.Notification.showTemporary(result.data.message);
+ } else {
+ OC.Notification.showTemporary(t('core', 'Could not create file'));
+ }
+ deferred.reject(result.status, result.data);
+ }
+ }
+ );
+
+ return promise;
+ },
+
+ /**
+ * Create a directory inside the current directory.
+ *
+ * @param {string} name name of the directory
+ *
+ * @return {Promise} promise that will be resolved after the
+ * directory was created
+ *
+ * @since 8.2
+ */
+ createDirectory: function(name) {
+ var self = this;
+ var deferred = $.Deferred();
+ var promise = deferred.promise();
+
+ OCA.Files.Files.isFileNameValid(name);
+ name = this.getUniqueName(name);
+
+ if (this.lastAction) {
+ this.lastAction();
+ }
+
+ $.post(
+ OC.generateUrl('/apps/files/ajax/newfolder.php'),
+ {
+ dir: this.getCurrentDirectory(),
+ foldername: name
+ },
+ function(result) {
+ if (result.status === 'success') {
+ self.add(result.data, {animate: true, scrollTo: true});
+ deferred.resolve(result.status, result.data);
+ } else {
+ if (result.data && result.data.message) {
+ OC.Notification.showTemporary(result.data.message);
+ } else {
+ OC.Notification.showTemporary(t('core', 'Could not create folder'));
+ }
+ deferred.reject(result.status);
+ }
+ }
+ );
+
+ return promise;
+ },
+
+ /**
+ * Returns whether the given file name exists in the list
+ *
+ * @param {string} file file name
+ *
+ * @return {bool} true if the file exists in the list, false otherwise
+ */
inList:function(file) {
return this.findFileEl(file).length;
},
@@ -2340,6 +2502,47 @@
});
},
+ _renderNewButton: function() {
+ // if an upload button (legacy) already exists, skip
+ if ($('#controls .button.upload').length) {
+ return;
+ }
+ if (!this._addButtonTemplate) {
+ this._addButtonTemplate = Handlebars.compile(TEMPLATE_ADDBUTTON);
+ }
+ var $newButton = $(this._addButtonTemplate({
+ addText: t('files', 'New'),
+ iconUrl: OC.imagePath('core', 'actions/add')
+ }));
+
+ $('#controls .actions').prepend($newButton);
+ $newButton.tooltip({'placement': 'bottom'});
+
+ $newButton.click(_.bind(this._onClickNewButton, this));
+ this._newButton = $newButton;
+ },
+
+ _onClickNewButton: function(event) {
+ var $target = $(event.target);
+ if (!$target.hasClass('.button')) {
+ $target = $target.closest('.button');
+ }
+ this._newButton.tooltip('hide');
+ event.preventDefault();
+ if ($target.hasClass('disabled')) {
+ return false;
+ }
+ if (!this._newFileMenu) {
+ this._newFileMenu = new OCA.Files.NewFileMenu({
+ fileList: this
+ });
+ $('body').append(this._newFileMenu.$el);
+ }
+ this._newFileMenu.showAt($target);
+
+ return false;
+ },
+
/**
* Register a tab view to be added to all views
*/
diff --git a/apps/files/js/mainfileinfodetailview.js b/apps/files/js/mainfileinfodetailview.js
index f647a0de2a9..785eed8d712 100644
--- a/apps/files/js/mainfileinfodetailview.js
+++ b/apps/files/js/mainfileinfodetailview.js
@@ -10,7 +10,7 @@
(function() {
var TEMPLATE =
- '<a href="#" class="thumbnail action-default"></a>' +
+ '<div class="thumbnailContainer"><a href="#" class="thumbnail action-default"></a></div>' +
'<div class="file-details-container">' +
'<div class="fileName"><h3 title="{{name}}" class="ellipsis">{{name}}</h3></div>' +
' <div class="file-details ellipsis">' +
@@ -106,6 +106,7 @@
if (this.model) {
var isFavorite = (this.model.get('tags') || []).indexOf(OC.TAG_FAVORITE) >= 0;
this.$el.html(this.template({
+ type: this.model.isImage()? 'image': '',
nameLabel: t('files', 'Name'),
name: this.model.get('displayName') || this.model.get('name'),
pathLabel: t('files', 'Path'),
@@ -123,16 +124,51 @@
// TODO: we really need OC.Previews
var $iconDiv = this.$el.find('.thumbnail');
+ $iconDiv.addClass('icon-loading');
+ $container = this.$el.find('.thumbnailContainer');
if (!this.model.isDirectory()) {
this._fileList.lazyLoadPreview({
path: this.model.getFullPath(),
mime: this.model.get('mimetype'),
etag: this.model.get('etag'),
- x: 75,
- y: 75,
- callback: function(previewUrl) {
- $iconDiv.css('background-image', 'url("' + previewUrl + '")');
- }
+ y: this.model.isImage() ? 250: 75,
+ x: this.model.isImage() ? 99999 /* only limit on y */ : 75,
+ a: this.model.isImage() ? 1 : null,
+ callback: function(previewUrl, img) {
+ $iconDiv.previewImg = previewUrl;
+ if (img) {
+ $iconDiv.removeClass('icon-loading');
+ if(img.height > img.width) {
+ $container.addClass('portrait');
+ }
+ }
+ if (this.model.isImage() && img) {
+ $iconDiv.parent().addClass('image');
+ var targetHeight = img.height / window.devicePixelRatio;
+ if (targetHeight <= 75) {
+ $container.removeClass('image'); // small enough to fit in normaly
+ targetHeight = 75;
+ }
+ } else {
+ targetHeight = 75;
+ }
+
+ // only set background when we have an actual preview
+ // when we dont have a preview we show the mime icon in the error handler
+ if (img) {
+ $iconDiv.css({
+ 'background-image': 'url("' + previewUrl + '")',
+ 'height': targetHeight
+ });
+ }
+ }.bind(this),
+ error: function() {
+ $iconDiv.removeClass('icon-loading');
+ this.$el.find('.thumbnailContainer').removeClass('image'); //fall back to regular view
+ $iconDiv.css({
+ 'background-image': 'url("' + $iconDiv.previewImg + '")'
+ });
+ }.bind(this)
});
} else {
// TODO: special icons / shared / external
diff --git a/apps/files/js/newfilemenu.js b/apps/files/js/newfilemenu.js
new file mode 100644
index 00000000000..4c021e6b873
--- /dev/null
+++ b/apps/files/js/newfilemenu.js
@@ -0,0 +1,235 @@
+/*
+ * Copyright (c) 2014
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+
+/* global Files */
+
+(function() {
+
+ var TEMPLATE_MENU =
+ '<ul>' +
+ '<li>' +
+ '<label for="file_upload_start" class="menuitem" data-action="upload" title="{{uploadMaxHumanFilesize}}"><span class="svg icon icon-upload"></span><span class="displayname">{{uploadLabel}}</span></label>' +
+ '</li>' +
+ '{{#each items}}' +
+ '<li>' +
+ '<a href="#" class="menuitem" data-templatename="{{templateName}}" data-filetype="{{fileType}}" data-action="{{id}}"><span class="icon {{iconClass}} svg"></span><span class="displayname">{{displayName}}</span></a>' +
+ '</li>' +
+ '{{/each}}' +
+ '</ul>';
+
+ var TEMPLATE_FILENAME_FORM =
+ '<form class="filenameform">' +
+ '<label class="hidden-visually" for="{{cid}}-input-{{fileType}}">{{fileName}}</label>' +
+ '<input id="{{cid}}-input-{{fileType}}" type="text" value="{{fileName}}">' +
+ '</form>';
+
+ /**
+ * Construct a new NewFileMenu instance
+ * @constructs NewFileMenu
+ *
+ * @memberof OCA.Files
+ */
+ var NewFileMenu = OC.Backbone.View.extend({
+ tagName: 'div',
+ className: 'newFileMenu popovermenu bubble hidden open menu',
+
+ events: {
+ 'click .menuitem': '_onClickAction'
+ },
+
+ initialize: function(options) {
+ var self = this;
+ var $uploadEl = $('#file_upload_start');
+ if ($uploadEl.length) {
+ $uploadEl.on('fileuploadstart', function() {
+ self.trigger('actionPerformed', 'upload');
+ });
+ } else {
+ console.warn('Missing upload element "file_upload_start"');
+ }
+
+ this._fileList = options && options.fileList;
+ },
+
+ template: function(data) {
+ if (!OCA.Files.NewFileMenu._TEMPLATE) {
+ OCA.Files.NewFileMenu._TEMPLATE = Handlebars.compile(TEMPLATE_MENU);
+ }
+ return OCA.Files.NewFileMenu._TEMPLATE(data);
+ },
+
+ /**
+ * Event handler whenever an action has been clicked within the menu
+ *
+ * @param {Object} event event object
+ */
+ _onClickAction: function(event) {
+ var $target = $(event.target);
+ if (!$target.hasClass('menuitem')) {
+ $target = $target.closest('.menuitem');
+ }
+ var action = $target.attr('data-action');
+ // note: clicking the upload label will automatically
+ // set the focus on the "file_upload_start" hidden field
+ // which itself triggers the upload dialog.
+ // Currently the upload logic is still in file-upload.js and filelist.js
+ if (action === 'upload') {
+ OC.hideMenus();
+ } else {
+ event.preventDefault();
+ this._promptFileName($target);
+ }
+ },
+
+ _promptFileName: function($target) {
+ var self = this;
+ if (!OCA.Files.NewFileMenu._TEMPLATE_FORM) {
+ OCA.Files.NewFileMenu._TEMPLATE_FORM = Handlebars.compile(TEMPLATE_FILENAME_FORM);
+ }
+
+ if ($target.find('form').length) {
+ $target.find('input').focus();
+ return;
+ }
+
+ // discard other forms
+ this.$el.find('form').remove();
+ this.$el.find('.displayname').removeClass('hidden');
+
+ $target.find('.displayname').addClass('hidden');
+
+ var newName = $target.attr('data-templatename');
+ var fileType = $target.attr('data-filetype');
+ var $form = $(OCA.Files.NewFileMenu._TEMPLATE_FORM({
+ fileName: newName,
+ cid: this.cid,
+ fileType: fileType
+ }));
+
+ //this.trigger('actionPerformed', action);
+ $target.append($form);
+
+ // here comes the OLD code
+ var $input = $form.find('input');
+
+ var lastPos;
+ var checkInput = function () {
+ var filename = $input.val();
+ try {
+ if (!Files.isFileNameValid(filename)) {
+ // Files.isFileNameValid(filename) throws an exception itself
+ } else if (self._fileList.inList(filename)) {
+ throw t('files', '{newname} already exists', {newname: filename});
+ } else {
+ return true;
+ }
+ } catch (error) {
+ $input.attr('title', error);
+ $input.tooltip({placement: 'right', trigger: 'manual'});
+ $input.tooltip('show');
+ $input.addClass('error');
+ }
+ return false;
+ };
+
+ // verify filename on typing
+ $input.keyup(function() {
+ if (checkInput()) {
+ $input.tooltip('hide');
+ $input.removeClass('error');
+ }
+ });
+
+ $input.focus();
+ // pre select name up to the extension
+ lastPos = newName.lastIndexOf('.');
+ if (lastPos === -1) {
+ lastPos = newName.length;
+ }
+ $input.selectRange(0, lastPos);
+
+ $form.submit(function(event) {
+ event.stopPropagation();
+ event.preventDefault();
+
+ if (checkInput()) {
+ var newname = $input.val();
+ self._createFile(fileType, newname);
+ $form.remove();
+ $target.find('.displayname').removeClass('hidden');
+ OC.hideMenus();
+ }
+ });
+ },
+
+ /**
+ * Creates a file with the given type and name.
+ * This calls the matching methods on the attached file list.
+ *
+ * @param {string} fileType file type
+ * @param {string} name file name
+ */
+ _createFile: function(fileType, name) {
+ switch(fileType) {
+ case 'file':
+ this._fileList.createFile(name);
+ break;
+ case 'folder':
+ this._fileList.createDirectory(name);
+ break;
+ default:
+ console.warn('Unknown file type "' + fileType + '"');
+ }
+ },
+
+ /**
+ * Renders the menu with the currently set items
+ */
+ render: function() {
+ this.$el.html(this.template({
+ uploadMaxHumanFileSize: 'TODO',
+ uploadLabel: t('files', 'Upload'),
+ items: [{
+ id: 'file',
+ displayName: t('files', 'Text file'),
+ templateName: t('files', 'New text file.txt'),
+ iconClass: 'icon-filetype-text',
+ fileType: 'file'
+ }, {
+ id: 'folder',
+ displayName: t('files', 'Folder'),
+ templateName: t('files', 'New folder'),
+ iconClass: 'icon-folder',
+ fileType: 'folder'
+ }]
+ }));
+ },
+
+ /**
+ * Displays the menu under the given element
+ *
+ * @param {Object} $target target element
+ */
+ showAt: function($target) {
+ this.render();
+ var targetOffset = $target.offset();
+ this.$el.css({
+ left: targetOffset.left,
+ top: targetOffset.top + $target.height()
+ });
+ this.$el.removeClass('hidden');
+
+ OC.showMenu(null, this.$el);
+ }
+ });
+
+ OCA.Files.NewFileMenu = NewFileMenu;
+
+})();
diff --git a/apps/files/js/tagsplugin.js b/apps/files/js/tagsplugin.js
index ed1105a1706..9f45da9a6e2 100644
--- a/apps/files/js/tagsplugin.js
+++ b/apps/files/js/tagsplugin.js
@@ -92,6 +92,7 @@
actionHandler: function(fileName, context) {
var $actionEl = context.$file.find('.action-favorite');
var $file = context.$file;
+ var fileInfo = context.fileList.files[$file.index()];
var dir = context.dir || context.fileList.getCurrentDirectory();
var tags = $file.attr('data-tags');
if (_.isUndefined(tags)) {
@@ -106,9 +107,11 @@
} else {
tags.push(OC.TAG_FAVORITE);
}
+
+ // pre-toggle the star
toggleStar($actionEl, !isFavorite);
- context.fileInfoModel.set('tags', tags);
+ context.fileInfoModel.trigger('busy', context.fileInfoModel, true);
self.applyFileTags(
dir + '/' + fileName,
@@ -116,17 +119,16 @@
$actionEl,
isFavorite
).then(function(result) {
+ context.fileInfoModel.trigger('busy', context.fileInfoModel, false);
// response from server should contain updated tags
var newTags = result.tags;
if (_.isUndefined(newTags)) {
newTags = tags;
}
- var fileInfo = context.fileList.files[$file.index()];
- // read latest state from result
- toggleStar($actionEl, (newTags.indexOf(OC.TAG_FAVORITE) >= 0));
- $file.attr('data-tags', newTags.join('|'));
- $file.attr('data-favorite', !isFavorite);
- fileInfo.tags = newTags;
+ context.fileInfoModel.set({
+ 'tags': newTags,
+ 'favorite': !isFavorite
+ });
});
}
});
@@ -150,7 +152,13 @@
var oldElementToFile = fileList.elementToFile;
fileList.elementToFile = function($el) {
var fileInfo = oldElementToFile.apply(this, arguments);
- fileInfo.tags = $el.attr('data-tags') || [];
+ var tags = $el.attr('data-tags');
+ if (_.isUndefined(tags)) {
+ tags = '';
+ }
+ tags = tags.split('|');
+ tags = _.without(tags, '');
+ fileInfo.tags = tags;
return fileInfo;
};
},
diff --git a/apps/files/l10n/af_ZA.js b/apps/files/l10n/af_ZA.js
index 1844e8ad363..2061e5ec49c 100644
--- a/apps/files/l10n/af_ZA.js
+++ b/apps/files/l10n/af_ZA.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"files",
{
"Error" : "Fout",
- "Settings" : "Instellings",
- "Folder" : "Omslag"
+ "Folder" : "Omslag",
+ "Settings" : "Instellings"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/af_ZA.json b/apps/files/l10n/af_ZA.json
index 841c572bc7c..95096fd551b 100644
--- a/apps/files/l10n/af_ZA.json
+++ b/apps/files/l10n/af_ZA.json
@@ -1,6 +1,6 @@
{ "translations": {
"Error" : "Fout",
- "Settings" : "Instellings",
- "Folder" : "Omslag"
+ "Folder" : "Omslag",
+ "Settings" : "Instellings"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js
index d4960b2f370..6dab5f6ba27 100644
--- a/apps/files/l10n/ar.js
+++ b/apps/files/l10n/ar.js
@@ -27,12 +27,12 @@ OC.L10N.register(
"Upload cancelled." : "تم إلغاء عملية رفع الملفات .",
"Could not get result from server." : "تعذر الحصول على نتيجة من الخادم",
"File upload is in progress. Leaving the page now will cancel the upload." : "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.",
- "{new_name} already exists" : "{new_name} موجود مسبقا",
"Actions" : "* تطبيقات.\n* أنشطة.",
"Download" : "تحميل",
"Pending" : "قيد الانتظار",
"Error moving file" : "حدث خطأ أثناء نقل الملف",
"Error" : "خطأ",
+ "{new_name} already exists" : "{new_name} موجود مسبقا",
"Name" : "اسم",
"Size" : "حجم",
"Modified" : "معدل",
@@ -40,10 +40,15 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["لا يوجد ملفات %n","ملف %n","2 ملف %n","قليل من ملفات %n","الكثير من ملفات %n"," ملفات %n"],
"{dirs} and {files}" : "{dirs} و {files}",
"_Uploading %n file_::_Uploading %n files_" : ["لا يوجد ملفات %n لتحميلها","تحميل 1 ملف %n","تحميل 2 ملف %n","يتم تحميل عدد قليل من ملفات %n","يتم تحميل عدد كبير من ملفات %n","يتم تحميل ملفات %n"],
+ "New" : "جديد",
"File name cannot be empty." : "اسم الملف لا يجوز أن يكون فارغا",
"Your storage is full, files can not be updated or synced anymore!" : "مساحتك التخزينية ممتلئة, لا يمكم تحديث ملفاتك أو مزامنتها بعد الآن !",
"Your storage is almost full ({usedSpacePercent}%)" : "مساحتك التخزينية امتلأت تقريبا ",
"Favorite" : "المفضلة",
+ "Upload" : "رفع",
+ "Text file" : "ملف",
+ "Folder" : "مجلد",
+ "New folder" : "مجلد جديد",
"A new file or folder has been <strong>created</strong>" : "تم <strong> إنشاء</strong> ملف جديد أو مجلد ",
"A file or folder has been <strong>changed</strong>" : "تم <strong> تغيير</strong> ملف أو مجلد",
"A file or folder has been <strong>deleted</strong>" : "تم <strong>حذف </strong> ملف أو مجلد",
@@ -65,11 +70,6 @@ OC.L10N.register(
"Settings" : "إعدادات",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "استخدم هذا العنوان لـ <a href=\"%s\" target=\"_blank\">الدخول الى ملفاتك عن طريق WebDAV</a>",
- "New" : "جديد",
- "Text file" : "ملف",
- "New folder" : "مجلد جديد",
- "Folder" : "مجلد",
- "Upload" : "رفع",
"Cancel upload" : "إلغاء الرفع",
"Delete" : "إلغاء",
"Upload too large" : "حجم الترفيع أعلى من المسموح",
diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json
index 16d9732aaef..745d82dc19b 100644
--- a/apps/files/l10n/ar.json
+++ b/apps/files/l10n/ar.json
@@ -25,12 +25,12 @@
"Upload cancelled." : "تم إلغاء عملية رفع الملفات .",
"Could not get result from server." : "تعذر الحصول على نتيجة من الخادم",
"File upload is in progress. Leaving the page now will cancel the upload." : "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.",
- "{new_name} already exists" : "{new_name} موجود مسبقا",
"Actions" : "* تطبيقات.\n* أنشطة.",
"Download" : "تحميل",
"Pending" : "قيد الانتظار",
"Error moving file" : "حدث خطأ أثناء نقل الملف",
"Error" : "خطأ",
+ "{new_name} already exists" : "{new_name} موجود مسبقا",
"Name" : "اسم",
"Size" : "حجم",
"Modified" : "معدل",
@@ -38,10 +38,15 @@
"_%n file_::_%n files_" : ["لا يوجد ملفات %n","ملف %n","2 ملف %n","قليل من ملفات %n","الكثير من ملفات %n"," ملفات %n"],
"{dirs} and {files}" : "{dirs} و {files}",
"_Uploading %n file_::_Uploading %n files_" : ["لا يوجد ملفات %n لتحميلها","تحميل 1 ملف %n","تحميل 2 ملف %n","يتم تحميل عدد قليل من ملفات %n","يتم تحميل عدد كبير من ملفات %n","يتم تحميل ملفات %n"],
+ "New" : "جديد",
"File name cannot be empty." : "اسم الملف لا يجوز أن يكون فارغا",
"Your storage is full, files can not be updated or synced anymore!" : "مساحتك التخزينية ممتلئة, لا يمكم تحديث ملفاتك أو مزامنتها بعد الآن !",
"Your storage is almost full ({usedSpacePercent}%)" : "مساحتك التخزينية امتلأت تقريبا ",
"Favorite" : "المفضلة",
+ "Upload" : "رفع",
+ "Text file" : "ملف",
+ "Folder" : "مجلد",
+ "New folder" : "مجلد جديد",
"A new file or folder has been <strong>created</strong>" : "تم <strong> إنشاء</strong> ملف جديد أو مجلد ",
"A file or folder has been <strong>changed</strong>" : "تم <strong> تغيير</strong> ملف أو مجلد",
"A file or folder has been <strong>deleted</strong>" : "تم <strong>حذف </strong> ملف أو مجلد",
@@ -63,11 +68,6 @@
"Settings" : "إعدادات",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "استخدم هذا العنوان لـ <a href=\"%s\" target=\"_blank\">الدخول الى ملفاتك عن طريق WebDAV</a>",
- "New" : "جديد",
- "Text file" : "ملف",
- "New folder" : "مجلد جديد",
- "Folder" : "مجلد",
- "Upload" : "رفع",
"Cancel upload" : "إلغاء الرفع",
"Delete" : "إلغاء",
"Upload too large" : "حجم الترفيع أعلى من المسموح",
diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js
index 586d66d0c24..33bf5e37c0a 100644
--- a/apps/files/l10n/ast.js
+++ b/apps/files/l10n/ast.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Xuba encaboxada.",
"Could not get result from server." : "Nun pudo obtenese'l resultáu del sirvidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "La xuba del ficheru ta en progresu. Si dexes agora la páxina, va encaboxase la xuba.",
- "{new_name} already exists" : "{new_name} yá existe",
- "Could not create file" : "Nun pudo crease'l ficheru",
- "Could not create folder" : "Nun pudo crease la carpeta",
"Actions" : "Aiciones",
"Download" : "Descargar",
"Select" : "Esbillar",
@@ -48,7 +45,10 @@ OC.L10N.register(
"Error moving file." : "Fallu moviendo'l ficheru.",
"Error moving file" : "Fallu moviendo'l ficheru",
"Error" : "Fallu",
+ "{new_name} already exists" : "{new_name} yá existe",
"Could not rename file" : "Nun pudo renomase'l ficheru",
+ "Could not create file" : "Nun pudo crease'l ficheru",
+ "Could not create folder" : "Nun pudo crease la carpeta",
"Error deleting file." : "Fallu desaniciando'l ficheru.",
"Name" : "Nome",
"Size" : "Tamañu",
@@ -58,11 +58,16 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} y {files}",
"You don’t have permission to upload or create files here" : "Nun tienes permisu pa xubir o crear ficheros equí",
"_Uploading %n file_::_Uploading %n files_" : ["Xubiendo %n ficheru","Xubiendo %n ficheros"],
+ "New" : "Nuevu",
"\"{name}\" is an invalid file name." : "\"{name}\" ye un nome de ficheru inválidu.",
"File name cannot be empty." : "El nome de ficheru nun pue quedar baleru.",
"Your storage is full, files can not be updated or synced anymore!" : "L'almacenamientu ta completu, ¡yá nun se pueden anovar o sincronizar ficheros!",
"Your storage is almost full ({usedSpacePercent}%)" : "L'almacenamientu ta casi completu ({usedSpacePercent}%)",
"Favorite" : "Favoritu",
+ "Upload" : "Xubir",
+ "Text file" : "Ficheru de testu",
+ "Folder" : "Carpeta",
+ "New folder" : "Nueva carpeta",
"A new file or folder has been <strong>created</strong>" : "<strong>Creóse</strong> un ficheru o carpeta nuevos",
"A file or folder has been <strong>changed</strong>" : "<strong>Camudóse</strong> un ficheru o carpeta",
"A file or folder has been <strong>deleted</strong>" : "<strong>Desanicióse</strong> un ficheru o carpeta",
@@ -86,12 +91,6 @@ OC.L10N.register(
"Settings" : "Axustes",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Usa esta direición <a href=\"%s\" target=\"_blank\">p'acceder a los ficheros a traviés de WebDAV</a>",
- "New" : "Nuevu",
- "New text file" : "Ficheru de testu nuevu",
- "Text file" : "Ficheru de testu",
- "New folder" : "Nueva carpeta",
- "Folder" : "Carpeta",
- "Upload" : "Xubir",
"Cancel upload" : "Encaboxar xuba",
"Delete" : "Desaniciar",
"Upload too large" : "La xuba ye abondo grande",
diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json
index e9b411383a2..601bf2d85f1 100644
--- a/apps/files/l10n/ast.json
+++ b/apps/files/l10n/ast.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Xuba encaboxada.",
"Could not get result from server." : "Nun pudo obtenese'l resultáu del sirvidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "La xuba del ficheru ta en progresu. Si dexes agora la páxina, va encaboxase la xuba.",
- "{new_name} already exists" : "{new_name} yá existe",
- "Could not create file" : "Nun pudo crease'l ficheru",
- "Could not create folder" : "Nun pudo crease la carpeta",
"Actions" : "Aiciones",
"Download" : "Descargar",
"Select" : "Esbillar",
@@ -46,7 +43,10 @@
"Error moving file." : "Fallu moviendo'l ficheru.",
"Error moving file" : "Fallu moviendo'l ficheru",
"Error" : "Fallu",
+ "{new_name} already exists" : "{new_name} yá existe",
"Could not rename file" : "Nun pudo renomase'l ficheru",
+ "Could not create file" : "Nun pudo crease'l ficheru",
+ "Could not create folder" : "Nun pudo crease la carpeta",
"Error deleting file." : "Fallu desaniciando'l ficheru.",
"Name" : "Nome",
"Size" : "Tamañu",
@@ -56,11 +56,16 @@
"{dirs} and {files}" : "{dirs} y {files}",
"You don’t have permission to upload or create files here" : "Nun tienes permisu pa xubir o crear ficheros equí",
"_Uploading %n file_::_Uploading %n files_" : ["Xubiendo %n ficheru","Xubiendo %n ficheros"],
+ "New" : "Nuevu",
"\"{name}\" is an invalid file name." : "\"{name}\" ye un nome de ficheru inválidu.",
"File name cannot be empty." : "El nome de ficheru nun pue quedar baleru.",
"Your storage is full, files can not be updated or synced anymore!" : "L'almacenamientu ta completu, ¡yá nun se pueden anovar o sincronizar ficheros!",
"Your storage is almost full ({usedSpacePercent}%)" : "L'almacenamientu ta casi completu ({usedSpacePercent}%)",
"Favorite" : "Favoritu",
+ "Upload" : "Xubir",
+ "Text file" : "Ficheru de testu",
+ "Folder" : "Carpeta",
+ "New folder" : "Nueva carpeta",
"A new file or folder has been <strong>created</strong>" : "<strong>Creóse</strong> un ficheru o carpeta nuevos",
"A file or folder has been <strong>changed</strong>" : "<strong>Camudóse</strong> un ficheru o carpeta",
"A file or folder has been <strong>deleted</strong>" : "<strong>Desanicióse</strong> un ficheru o carpeta",
@@ -84,12 +89,6 @@
"Settings" : "Axustes",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Usa esta direición <a href=\"%s\" target=\"_blank\">p'acceder a los ficheros a traviés de WebDAV</a>",
- "New" : "Nuevu",
- "New text file" : "Ficheru de testu nuevu",
- "Text file" : "Ficheru de testu",
- "New folder" : "Nueva carpeta",
- "Folder" : "Carpeta",
- "Upload" : "Xubir",
"Cancel upload" : "Encaboxar xuba",
"Delete" : "Desaniciar",
"Upload too large" : "La xuba ye abondo grande",
diff --git a/apps/files/l10n/az.js b/apps/files/l10n/az.js
index ba3aa4e1b9f..7e80b0aa82d 100644
--- a/apps/files/l10n/az.js
+++ b/apps/files/l10n/az.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Yüklənmə dayandırıldı.",
"Could not get result from server." : "Nəticəni serverdən almaq mümkün olmur.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Faylın yüklənməsi gedir. Əgər səhifəni indi tərk etsəniz yüklənmə dayanacaq.",
- "{new_name} already exists" : "{new_name} artıq mövcuddur",
- "Could not create file" : "Faylı yaratmaq olmur",
- "Could not create folder" : "Qovluğu yaratmaq olmur",
"Download" : "Yüklə",
"Select" : "Seç",
"Pending" : "Gözləmə",
@@ -46,7 +43,10 @@ OC.L10N.register(
"Error moving file." : "Faylın köçürülməsində səhv baş verdi.",
"Error moving file" : "Faylın köçürülməsində səhv baş verdi",
"Error" : "Səhv",
+ "{new_name} already exists" : "{new_name} artıq mövcuddur",
"Could not rename file" : "Faylın adını dəyişmək mümkün olmadı",
+ "Could not create file" : "Faylı yaratmaq olmur",
+ "Could not create folder" : "Qovluğu yaratmaq olmur",
"Error deleting file." : "Faylın silinməsində səhv baş verdi.",
"No entries in this folder match '{filter}'" : "Bu qovluqda '{filter}' uyğunluğunda heç bir verilən tapılmadı",
"Name" : "Ad",
@@ -57,6 +57,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} və {files}",
"You don’t have permission to upload or create files here" : "Sizin burda yükləməyə və ya fayl yaratmağa yetkiniz yoxdur ",
"_Uploading %n file_::_Uploading %n files_" : ["%n fayllar yüklənilir","%n fayllar yüklənilir"],
+ "New" : "Yeni",
"\"{name}\" is an invalid file name." : "\"{name}\" yalnış fayl adıdır.",
"File name cannot be empty." : "Faylın adı boş ola bilməz.",
"Your storage is full, files can not be updated or synced anymore!" : "Sizin deponuz doludur, fayllar artıq yenilənə və sinxronizasiya edilə bilməz!",
@@ -64,6 +65,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["uyğun '{filter}'","uyğun '{filter}'"],
"Favorited" : "İstəkləndi",
"Favorite" : "İstəkli",
+ "Upload" : "Serverə yüklə",
+ "Text file" : "Tekst faylı",
+ "Folder" : "Qovluq",
+ "New folder" : "Yeni qovluq",
"An error occurred while trying to update the tags" : "Qeydlərin yenilənməsi müddətində səhv baş verdi ",
"A new file or folder has been <strong>created</strong>" : "Yeni fayl və ya direktoriya <strong>yaradılmışdır</strong>",
"A file or folder has been <strong>changed</strong>" : "Fayl və ya direktoriya <strong>dəyişdirilib</strong>",
@@ -90,12 +95,6 @@ OC.L10N.register(
"Settings" : "Quraşdırmalar",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Bu ünvanı <a href=\"%s\" target=\"_blank\">WebDAV vasitəsilə fayllarınızı əldə etmək üçün</a> istifadə edə bilərsiniz. ",
- "New" : "Yeni",
- "New text file" : "Yeni tekst faylı",
- "Text file" : "Tekst faylı",
- "New folder" : "Yeni qovluq",
- "Folder" : "Qovluq",
- "Upload" : "Serverə yüklə",
"Cancel upload" : "Yüklənməni dayandır",
"No files in here" : "Burda fayl yoxdur",
"Upload some content or sync with your devices!" : "Bezi kontenti yüklə yada, öz avadanlıqlarınızla sinxronizasiya edin!",
diff --git a/apps/files/l10n/az.json b/apps/files/l10n/az.json
index a9790ba8322..83347ae9a14 100644
--- a/apps/files/l10n/az.json
+++ b/apps/files/l10n/az.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Yüklənmə dayandırıldı.",
"Could not get result from server." : "Nəticəni serverdən almaq mümkün olmur.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Faylın yüklənməsi gedir. Əgər səhifəni indi tərk etsəniz yüklənmə dayanacaq.",
- "{new_name} already exists" : "{new_name} artıq mövcuddur",
- "Could not create file" : "Faylı yaratmaq olmur",
- "Could not create folder" : "Qovluğu yaratmaq olmur",
"Download" : "Yüklə",
"Select" : "Seç",
"Pending" : "Gözləmə",
@@ -44,7 +41,10 @@
"Error moving file." : "Faylın köçürülməsində səhv baş verdi.",
"Error moving file" : "Faylın köçürülməsində səhv baş verdi",
"Error" : "Səhv",
+ "{new_name} already exists" : "{new_name} artıq mövcuddur",
"Could not rename file" : "Faylın adını dəyişmək mümkün olmadı",
+ "Could not create file" : "Faylı yaratmaq olmur",
+ "Could not create folder" : "Qovluğu yaratmaq olmur",
"Error deleting file." : "Faylın silinməsində səhv baş verdi.",
"No entries in this folder match '{filter}'" : "Bu qovluqda '{filter}' uyğunluğunda heç bir verilən tapılmadı",
"Name" : "Ad",
@@ -55,6 +55,7 @@
"{dirs} and {files}" : "{dirs} və {files}",
"You don’t have permission to upload or create files here" : "Sizin burda yükləməyə və ya fayl yaratmağa yetkiniz yoxdur ",
"_Uploading %n file_::_Uploading %n files_" : ["%n fayllar yüklənilir","%n fayllar yüklənilir"],
+ "New" : "Yeni",
"\"{name}\" is an invalid file name." : "\"{name}\" yalnış fayl adıdır.",
"File name cannot be empty." : "Faylın adı boş ola bilməz.",
"Your storage is full, files can not be updated or synced anymore!" : "Sizin deponuz doludur, fayllar artıq yenilənə və sinxronizasiya edilə bilməz!",
@@ -62,6 +63,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["uyğun '{filter}'","uyğun '{filter}'"],
"Favorited" : "İstəkləndi",
"Favorite" : "İstəkli",
+ "Upload" : "Serverə yüklə",
+ "Text file" : "Tekst faylı",
+ "Folder" : "Qovluq",
+ "New folder" : "Yeni qovluq",
"An error occurred while trying to update the tags" : "Qeydlərin yenilənməsi müddətində səhv baş verdi ",
"A new file or folder has been <strong>created</strong>" : "Yeni fayl və ya direktoriya <strong>yaradılmışdır</strong>",
"A file or folder has been <strong>changed</strong>" : "Fayl və ya direktoriya <strong>dəyişdirilib</strong>",
@@ -88,12 +93,6 @@
"Settings" : "Quraşdırmalar",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Bu ünvanı <a href=\"%s\" target=\"_blank\">WebDAV vasitəsilə fayllarınızı əldə etmək üçün</a> istifadə edə bilərsiniz. ",
- "New" : "Yeni",
- "New text file" : "Yeni tekst faylı",
- "Text file" : "Tekst faylı",
- "New folder" : "Yeni qovluq",
- "Folder" : "Qovluq",
- "Upload" : "Serverə yüklə",
"Cancel upload" : "Yüklənməni dayandır",
"No files in here" : "Burda fayl yoxdur",
"Upload some content or sync with your devices!" : "Bezi kontenti yüklə yada, öz avadanlıqlarınızla sinxronizasiya edin!",
diff --git a/apps/files/l10n/bg_BG.js b/apps/files/l10n/bg_BG.js
index 1b79d6b2824..f21c5de9dc1 100644
--- a/apps/files/l10n/bg_BG.js
+++ b/apps/files/l10n/bg_BG.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Качването е прекъснато.",
"Could not get result from server." : "Не се получи резултат от сървърът.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Извършва се качване на файлове. Затварянето на тази страница ще прекъсне качването.",
- "{new_name} already exists" : "{new_name} вече съществува.",
- "Could not create file" : "Несупешно създаване на файла.",
- "Could not create folder" : "Неуспешно създаване на папка.",
"Actions" : "Действия",
"Download" : "Изтегли",
"Select" : "Избери",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Грешка при местенето на файла.",
"Error moving file" : "Грешка при преместването на файла.",
"Error" : "Грешка",
+ "{new_name} already exists" : "{new_name} вече съществува.",
"Could not rename file" : "Неуспешно преименуване на файла.",
+ "Could not create file" : "Несупешно създаване на файла.",
+ "Could not create folder" : "Неуспешно създаване на папка.",
"Error deleting file." : "Грешка при изтриването на файла.",
"No entries in this folder match '{filter}'" : "Нищо в тази папка не отговаря на '{filter}'",
"Name" : "Име",
@@ -58,6 +58,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} и {files}",
"You don’t have permission to upload or create files here" : "Нямаш разрешение да създаваш или качваш файлове тук.",
"_Uploading %n file_::_Uploading %n files_" : ["Качване на %n файл","Качване на %n файла."],
+ "New" : "Създай",
"\"{name}\" is an invalid file name." : "\"{name}\" е непозволено име за файл.",
"File name cannot be empty." : "Името на файла не може да бъде оставено празно.",
"Your storage is full, files can not be updated or synced anymore!" : "Заделеното място е запълнено, повече файлове не могат да бъдат синхронизирани или опреснени!",
@@ -65,6 +66,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["пасва на '{filter}'","пасват на '{filter}'\n "],
"Favorited" : "Отбелязано в любими",
"Favorite" : "Любими",
+ "Upload" : "Качване",
+ "Text file" : "Текстов файл",
+ "Folder" : "Папка",
+ "New folder" : "Нова папка",
"An error occurred while trying to update the tags" : "Настъпи грешка при опита за промяна на бележките",
"A new file or folder has been <strong>created</strong>" : "Нов файл или папка беше <strong>създаден/а</strong>",
"A file or folder has been <strong>changed</strong>" : "Файл или папка беше <strong>променен/а</strong>",
@@ -90,12 +95,6 @@ OC.L10N.register(
"Settings" : "Настройки",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Използвай този адрес, за да получиш <a href=\"%s\" target=\"_blank\">достъп до своите файлове чрез WebDAV</a>.",
- "New" : "Създай",
- "New text file" : "Нов текстов файл",
- "Text file" : "Текстов файл",
- "New folder" : "Нова папка",
- "Folder" : "Папка",
- "Upload" : "Качване",
"Cancel upload" : "Отказване на качването",
"No files in here" : "Тук няма файлове",
"Upload some content or sync with your devices!" : "Качи съдържание или синхронизирай с твоите устройства!",
diff --git a/apps/files/l10n/bg_BG.json b/apps/files/l10n/bg_BG.json
index 4493a450d66..6778eff6da8 100644
--- a/apps/files/l10n/bg_BG.json
+++ b/apps/files/l10n/bg_BG.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Качването е прекъснато.",
"Could not get result from server." : "Не се получи резултат от сървърът.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Извършва се качване на файлове. Затварянето на тази страница ще прекъсне качването.",
- "{new_name} already exists" : "{new_name} вече съществува.",
- "Could not create file" : "Несупешно създаване на файла.",
- "Could not create folder" : "Неуспешно създаване на папка.",
"Actions" : "Действия",
"Download" : "Изтегли",
"Select" : "Избери",
@@ -45,7 +42,10 @@
"Error moving file." : "Грешка при местенето на файла.",
"Error moving file" : "Грешка при преместването на файла.",
"Error" : "Грешка",
+ "{new_name} already exists" : "{new_name} вече съществува.",
"Could not rename file" : "Неуспешно преименуване на файла.",
+ "Could not create file" : "Несупешно създаване на файла.",
+ "Could not create folder" : "Неуспешно създаване на папка.",
"Error deleting file." : "Грешка при изтриването на файла.",
"No entries in this folder match '{filter}'" : "Нищо в тази папка не отговаря на '{filter}'",
"Name" : "Име",
@@ -56,6 +56,7 @@
"{dirs} and {files}" : "{dirs} и {files}",
"You don’t have permission to upload or create files here" : "Нямаш разрешение да създаваш или качваш файлове тук.",
"_Uploading %n file_::_Uploading %n files_" : ["Качване на %n файл","Качване на %n файла."],
+ "New" : "Създай",
"\"{name}\" is an invalid file name." : "\"{name}\" е непозволено име за файл.",
"File name cannot be empty." : "Името на файла не може да бъде оставено празно.",
"Your storage is full, files can not be updated or synced anymore!" : "Заделеното място е запълнено, повече файлове не могат да бъдат синхронизирани или опреснени!",
@@ -63,6 +64,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["пасва на '{filter}'","пасват на '{filter}'\n "],
"Favorited" : "Отбелязано в любими",
"Favorite" : "Любими",
+ "Upload" : "Качване",
+ "Text file" : "Текстов файл",
+ "Folder" : "Папка",
+ "New folder" : "Нова папка",
"An error occurred while trying to update the tags" : "Настъпи грешка при опита за промяна на бележките",
"A new file or folder has been <strong>created</strong>" : "Нов файл или папка беше <strong>създаден/а</strong>",
"A file or folder has been <strong>changed</strong>" : "Файл или папка беше <strong>променен/а</strong>",
@@ -88,12 +93,6 @@
"Settings" : "Настройки",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Използвай този адрес, за да получиш <a href=\"%s\" target=\"_blank\">достъп до своите файлове чрез WebDAV</a>.",
- "New" : "Създай",
- "New text file" : "Нов текстов файл",
- "Text file" : "Текстов файл",
- "New folder" : "Нова папка",
- "Folder" : "Папка",
- "Upload" : "Качване",
"Cancel upload" : "Отказване на качването",
"No files in here" : "Тук няма файлове",
"Upload some content or sync with your devices!" : "Качи съдържание или синхронизирай с твоите устройства!",
diff --git a/apps/files/l10n/bn_BD.js b/apps/files/l10n/bn_BD.js
index f21d44873f0..1272966209b 100644
--- a/apps/files/l10n/bn_BD.js
+++ b/apps/files/l10n/bn_BD.js
@@ -27,22 +27,27 @@ OC.L10N.register(
"Close" : "বন্ধ",
"Upload cancelled." : "আপলোড বাতিল করা হয়েছে।",
"File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।",
- "{new_name} already exists" : "{new_name} টি বিদ্যমান",
"Actions" : "পদক্ষেপসমূহ",
"Download" : "ডাউনলোড",
"Pending" : "মুলতুবি",
"Error moving file." : "ফাইল সরাতে সমস্যা হলো।",
"Error moving file" : "ফাইল সরাতে সমস্যা হলো",
"Error" : "সমস্যা",
+ "{new_name} already exists" : "{new_name} টি বিদ্যমান",
"Could not rename file" : "ফাইলের পূণঃনামকরণ করা গেলনা",
"Name" : "রাম",
"Size" : "আকার",
"Modified" : "পরিবর্তিত",
"_Uploading %n file_::_Uploading %n files_" : ["%n ফাইল আপলোড হচ্ছে","%n ফাইল আপলোড হচ্ছে"],
+ "New" : "নতুন",
"\"{name}\" is an invalid file name." : "\"{name}\" টি একটি অননুমোদিত ফাইল নাম।",
"File name cannot be empty." : "ফাইলের নামটি ফাঁকা রাখা যাবে না।",
"Your storage is almost full ({usedSpacePercent}%)" : "আপনার সংরক্ষণাধার প্রায় পরিপূর্ণ ({usedSpacePercent}%) ",
"Favorite" : "প্রিয়জন",
+ "Upload" : "আপলোড",
+ "Text file" : "টেক্সট ফাইল",
+ "Folder" : "ফোল্ডার",
+ "New folder" : "নব ফােলডার",
"A new file or folder has been <strong>created</strong>" : "একটি ফাইল বা ফোলডার <strong>তৈরি</strong> করা হয়েছে",
"A file or folder has been <strong>changed</strong>" : "একটি ফাইল বা ফোলডার <strong>পরিবরতন</strong> করা হয়েছে",
"A file or folder has been <strong>deleted</strong>" : "একটি ফাইল বা ফোলডার <strong>মোছা</strong> হয়েছে",
@@ -59,11 +64,6 @@ OC.L10N.register(
"Save" : "সংরক্ষণ",
"Settings" : "নিয়ামকসমূহ",
"WebDAV" : "WebDAV",
- "New" : "নতুন",
- "Text file" : "টেক্সট ফাইল",
- "New folder" : "নব ফােলডার",
- "Folder" : "ফোল্ডার",
- "Upload" : "আপলোড",
"Cancel upload" : "আপলোড বাতিল কর",
"Delete" : "মুছে",
"Upload too large" : "আপলোডের আকারটি অনেক বড়",
diff --git a/apps/files/l10n/bn_BD.json b/apps/files/l10n/bn_BD.json
index 740613e054d..472aae78865 100644
--- a/apps/files/l10n/bn_BD.json
+++ b/apps/files/l10n/bn_BD.json
@@ -25,22 +25,27 @@
"Close" : "বন্ধ",
"Upload cancelled." : "আপলোড বাতিল করা হয়েছে।",
"File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।",
- "{new_name} already exists" : "{new_name} টি বিদ্যমান",
"Actions" : "পদক্ষেপসমূহ",
"Download" : "ডাউনলোড",
"Pending" : "মুলতুবি",
"Error moving file." : "ফাইল সরাতে সমস্যা হলো।",
"Error moving file" : "ফাইল সরাতে সমস্যা হলো",
"Error" : "সমস্যা",
+ "{new_name} already exists" : "{new_name} টি বিদ্যমান",
"Could not rename file" : "ফাইলের পূণঃনামকরণ করা গেলনা",
"Name" : "রাম",
"Size" : "আকার",
"Modified" : "পরিবর্তিত",
"_Uploading %n file_::_Uploading %n files_" : ["%n ফাইল আপলোড হচ্ছে","%n ফাইল আপলোড হচ্ছে"],
+ "New" : "নতুন",
"\"{name}\" is an invalid file name." : "\"{name}\" টি একটি অননুমোদিত ফাইল নাম।",
"File name cannot be empty." : "ফাইলের নামটি ফাঁকা রাখা যাবে না।",
"Your storage is almost full ({usedSpacePercent}%)" : "আপনার সংরক্ষণাধার প্রায় পরিপূর্ণ ({usedSpacePercent}%) ",
"Favorite" : "প্রিয়জন",
+ "Upload" : "আপলোড",
+ "Text file" : "টেক্সট ফাইল",
+ "Folder" : "ফোল্ডার",
+ "New folder" : "নব ফােলডার",
"A new file or folder has been <strong>created</strong>" : "একটি ফাইল বা ফোলডার <strong>তৈরি</strong> করা হয়েছে",
"A file or folder has been <strong>changed</strong>" : "একটি ফাইল বা ফোলডার <strong>পরিবরতন</strong> করা হয়েছে",
"A file or folder has been <strong>deleted</strong>" : "একটি ফাইল বা ফোলডার <strong>মোছা</strong> হয়েছে",
@@ -57,11 +62,6 @@
"Save" : "সংরক্ষণ",
"Settings" : "নিয়ামকসমূহ",
"WebDAV" : "WebDAV",
- "New" : "নতুন",
- "Text file" : "টেক্সট ফাইল",
- "New folder" : "নব ফােলডার",
- "Folder" : "ফোল্ডার",
- "Upload" : "আপলোড",
"Cancel upload" : "আপলোড বাতিল কর",
"Delete" : "মুছে",
"Upload too large" : "আপলোডের আকারটি অনেক বড়",
diff --git a/apps/files/l10n/bn_IN.js b/apps/files/l10n/bn_IN.js
index 903dadca605..995c9ad45d1 100644
--- a/apps/files/l10n/bn_IN.js
+++ b/apps/files/l10n/bn_IN.js
@@ -20,6 +20,8 @@ OC.L10N.register(
"Error" : "ভুল",
"Name" : "নাম",
"Size" : "আকার",
+ "Folder" : "ফোল্ডার",
+ "New folder" : "নতুন ফোল্ডার",
"A new file or folder has been <strong>created</strong>" : "একটি নতুন ফাইল বা ফোল্ডার হয়েছে <strong>তৈরি</strong>",
"A file or folder has been <strong>changed</strong>" : "একটি নতুন ফাইল বা ফোল্ডার <strong>বদলানো হয়েছে</strong>",
"A file or folder has been <strong>deleted</strong>" : "একটি নতুন ফাইল বা ফোল্ডার <strong>মুছে ফেলা হয়েছে</strong>",
@@ -31,8 +33,6 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s মুছেছে %1$s কে",
"Save" : "সেভ",
"Settings" : "সেটিংস",
- "New folder" : "নতুন ফোল্ডার",
- "Folder" : "ফোল্ডার",
"Delete" : "মুছে ফেলা"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/bn_IN.json b/apps/files/l10n/bn_IN.json
index afdcf0b6f13..17ce39d023a 100644
--- a/apps/files/l10n/bn_IN.json
+++ b/apps/files/l10n/bn_IN.json
@@ -18,6 +18,8 @@
"Error" : "ভুল",
"Name" : "নাম",
"Size" : "আকার",
+ "Folder" : "ফোল্ডার",
+ "New folder" : "নতুন ফোল্ডার",
"A new file or folder has been <strong>created</strong>" : "একটি নতুন ফাইল বা ফোল্ডার হয়েছে <strong>তৈরি</strong>",
"A file or folder has been <strong>changed</strong>" : "একটি নতুন ফাইল বা ফোল্ডার <strong>বদলানো হয়েছে</strong>",
"A file or folder has been <strong>deleted</strong>" : "একটি নতুন ফাইল বা ফোল্ডার <strong>মুছে ফেলা হয়েছে</strong>",
@@ -29,8 +31,6 @@
"%2$s deleted %1$s" : "%2$s মুছেছে %1$s কে",
"Save" : "সেভ",
"Settings" : "সেটিংস",
- "New folder" : "নতুন ফোল্ডার",
- "Folder" : "ফোল্ডার",
"Delete" : "মুছে ফেলা"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/bs.js b/apps/files/l10n/bs.js
index 6fb4c6ed0e9..f10c87bfef8 100644
--- a/apps/files/l10n/bs.js
+++ b/apps/files/l10n/bs.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Učitavanje je prekinuto.",
"Could not get result from server." : "Nemoguće dobiti rezultat od servera.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Učitavanje datoteke je u toku. Napuštanje stranice prekinut će učitavanje.",
- "{new_name} already exists" : "{new_name} već postoji",
- "Could not create file" : "Datoteku nije moguće kreirati",
- "Could not create folder" : "Direktorij nije moguće kreirati",
"Actions" : "Radnje",
"Download" : "Preuzmi",
"Select" : "Izaberi",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Greška pri premještanju datoteke",
"Error moving file" : "Greška pri premještanju datoteke",
"Error" : "Greška",
+ "{new_name} already exists" : "{new_name} već postoji",
"Could not rename file" : "Nemoguće preimenovati datoteku",
+ "Could not create file" : "Datoteku nije moguće kreirati",
+ "Could not create folder" : "Direktorij nije moguće kreirati",
"Error deleting file." : "Greška pri brisanju datoteke",
"Name" : "Ime",
"Size" : "Veličina",
@@ -57,12 +57,17 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} i {files}",
"You don’t have permission to upload or create files here" : "Ovdje niste ovlašteni učitavati ili kreirati datoteke",
"_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteke"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.",
"File name cannot be empty." : "Naziv datoteke ne može biti prazan",
"Your storage is full, files can not be updated or synced anymore!" : "Vaša pohrana je puna, datoteke više nije moguće ažurirati niti sinhronizirati!",
"Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)",
"Favorited" : "Favorizovano",
"Favorite" : "Favorit",
+ "Upload" : "Učitaj",
+ "Text file" : "Tekstualna datoteka",
+ "Folder" : "Direktorij",
+ "New folder" : "Novi direktorij",
"%s could not be renamed as it has been deleted" : "%s nije moguće preimenovati jer je izbrisan",
"%s could not be renamed" : "%s nije moguće preimenovati",
"Upload (max. %s)" : "Učitaj (max. %s)",
@@ -73,12 +78,6 @@ OC.L10N.register(
"Settings" : "Postavke",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristi slijedeću adresu za <a href=\"%s\" target=\"_blank\">pristup vašim datotekama putem WebDAV-a</a>",
- "New" : "Novo",
- "New text file" : "Nova tekstualna datoteka",
- "Text file" : "Tekstualna datoteka",
- "New folder" : "Novi direktorij",
- "Folder" : "Direktorij",
- "Upload" : "Učitaj",
"Cancel upload" : "Prekini učitavanje",
"Upload some content or sync with your devices!" : "Učitaj neki sadržaj ili sinhronizuj sa tvojim uređajima!",
"Select all" : "Označi sve",
diff --git a/apps/files/l10n/bs.json b/apps/files/l10n/bs.json
index b398ca5a39b..7d8a87f6398 100644
--- a/apps/files/l10n/bs.json
+++ b/apps/files/l10n/bs.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Učitavanje je prekinuto.",
"Could not get result from server." : "Nemoguće dobiti rezultat od servera.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Učitavanje datoteke je u toku. Napuštanje stranice prekinut će učitavanje.",
- "{new_name} already exists" : "{new_name} već postoji",
- "Could not create file" : "Datoteku nije moguće kreirati",
- "Could not create folder" : "Direktorij nije moguće kreirati",
"Actions" : "Radnje",
"Download" : "Preuzmi",
"Select" : "Izaberi",
@@ -45,7 +42,10 @@
"Error moving file." : "Greška pri premještanju datoteke",
"Error moving file" : "Greška pri premještanju datoteke",
"Error" : "Greška",
+ "{new_name} already exists" : "{new_name} već postoji",
"Could not rename file" : "Nemoguće preimenovati datoteku",
+ "Could not create file" : "Datoteku nije moguće kreirati",
+ "Could not create folder" : "Direktorij nije moguće kreirati",
"Error deleting file." : "Greška pri brisanju datoteke",
"Name" : "Ime",
"Size" : "Veličina",
@@ -55,12 +55,17 @@
"{dirs} and {files}" : "{dirs} i {files}",
"You don’t have permission to upload or create files here" : "Ovdje niste ovlašteni učitavati ili kreirati datoteke",
"_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteke"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.",
"File name cannot be empty." : "Naziv datoteke ne može biti prazan",
"Your storage is full, files can not be updated or synced anymore!" : "Vaša pohrana je puna, datoteke više nije moguće ažurirati niti sinhronizirati!",
"Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)",
"Favorited" : "Favorizovano",
"Favorite" : "Favorit",
+ "Upload" : "Učitaj",
+ "Text file" : "Tekstualna datoteka",
+ "Folder" : "Direktorij",
+ "New folder" : "Novi direktorij",
"%s could not be renamed as it has been deleted" : "%s nije moguće preimenovati jer je izbrisan",
"%s could not be renamed" : "%s nije moguće preimenovati",
"Upload (max. %s)" : "Učitaj (max. %s)",
@@ -71,12 +76,6 @@
"Settings" : "Postavke",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristi slijedeću adresu za <a href=\"%s\" target=\"_blank\">pristup vašim datotekama putem WebDAV-a</a>",
- "New" : "Novo",
- "New text file" : "Nova tekstualna datoteka",
- "Text file" : "Tekstualna datoteka",
- "New folder" : "Novi direktorij",
- "Folder" : "Direktorij",
- "Upload" : "Učitaj",
"Cancel upload" : "Prekini učitavanje",
"Upload some content or sync with your devices!" : "Učitaj neki sadržaj ili sinhronizuj sa tvojim uređajima!",
"Select all" : "Označi sve",
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index 28261b62219..f8388534802 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "La pujada s'ha cancel·lat.",
"Could not get result from server." : "No hi ha resposta del servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.",
- "{new_name} already exists" : "{new_name} ja existeix",
- "Could not create file" : "No s'ha pogut crear el fitxer",
- "Could not create folder" : "No s'ha pogut crear la carpeta",
"Actions" : "Accions",
"Download" : "Baixa",
"Select" : "Selecciona",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Error en moure el fitxer.",
"Error moving file" : "Error en moure el fitxer",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} ja existeix",
"Could not rename file" : "No es pot canviar el nom de fitxer",
+ "Could not create file" : "No s'ha pogut crear el fitxer",
+ "Could not create folder" : "No s'ha pogut crear la carpeta",
"Error deleting file." : "Error en esborrar el fitxer.",
"No entries in this folder match '{filter}'" : "No hi ha resultats que coincideixin amb '{filter}'",
"Name" : "Nom",
@@ -58,6 +58,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} i {files}",
"You don’t have permission to upload or create files here" : "No teniu permisos per a pujar o crear els fitxers aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Pujant %n fitxer","Pujant %n fitxers"],
+ "New" : "Nou",
"\"{name}\" is an invalid file name." : "\"{name}\" no es un fitxer vàlid.",
"File name cannot be empty." : "El nom del fitxer no pot ser buit.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "L'emmagatzematge de {owner} està ple, els arxius no es poden actualitzar o sincronitzar més!",
@@ -67,6 +68,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["coincidències '{filter}'","coincidència '{filter}'"],
"Favorited" : "Agregat a favorits",
"Favorite" : "Preferits",
+ "Upload" : "Puja",
+ "Text file" : "Fitxer de text",
+ "Folder" : "Carpeta",
+ "New folder" : "Carpeta nova",
"An error occurred while trying to update the tags" : "S'ha produït un error en tractar d'actualitzar les etiquetes",
"A new file or folder has been <strong>created</strong>" : "S'ha <strong>creat</strong> un nou fitxer o una nova carpeta",
"A file or folder has been <strong>changed</strong>" : "S'ha <strong>canviat</strong> un fitxer o una carpeta",
@@ -93,12 +98,6 @@ OC.L10N.register(
"Settings" : "Arranjament",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Useu aquesta adreça per <a href=\"%s\" target=\"_blank\">accedir als fitxers via WebDAV</a>",
- "New" : "Nou",
- "New text file" : "Nou fitxer de text",
- "Text file" : "Fitxer de text",
- "New folder" : "Carpeta nova",
- "Folder" : "Carpeta",
- "Upload" : "Puja",
"Cancel upload" : "Cancel·la la pujada",
"No files in here" : "No hi ha arxius",
"Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.",
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 7fcc056717d..10a39fc941a 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "La pujada s'ha cancel·lat.",
"Could not get result from server." : "No hi ha resposta del servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.",
- "{new_name} already exists" : "{new_name} ja existeix",
- "Could not create file" : "No s'ha pogut crear el fitxer",
- "Could not create folder" : "No s'ha pogut crear la carpeta",
"Actions" : "Accions",
"Download" : "Baixa",
"Select" : "Selecciona",
@@ -45,7 +42,10 @@
"Error moving file." : "Error en moure el fitxer.",
"Error moving file" : "Error en moure el fitxer",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} ja existeix",
"Could not rename file" : "No es pot canviar el nom de fitxer",
+ "Could not create file" : "No s'ha pogut crear el fitxer",
+ "Could not create folder" : "No s'ha pogut crear la carpeta",
"Error deleting file." : "Error en esborrar el fitxer.",
"No entries in this folder match '{filter}'" : "No hi ha resultats que coincideixin amb '{filter}'",
"Name" : "Nom",
@@ -56,6 +56,7 @@
"{dirs} and {files}" : "{dirs} i {files}",
"You don’t have permission to upload or create files here" : "No teniu permisos per a pujar o crear els fitxers aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Pujant %n fitxer","Pujant %n fitxers"],
+ "New" : "Nou",
"\"{name}\" is an invalid file name." : "\"{name}\" no es un fitxer vàlid.",
"File name cannot be empty." : "El nom del fitxer no pot ser buit.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "L'emmagatzematge de {owner} està ple, els arxius no es poden actualitzar o sincronitzar més!",
@@ -65,6 +66,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["coincidències '{filter}'","coincidència '{filter}'"],
"Favorited" : "Agregat a favorits",
"Favorite" : "Preferits",
+ "Upload" : "Puja",
+ "Text file" : "Fitxer de text",
+ "Folder" : "Carpeta",
+ "New folder" : "Carpeta nova",
"An error occurred while trying to update the tags" : "S'ha produït un error en tractar d'actualitzar les etiquetes",
"A new file or folder has been <strong>created</strong>" : "S'ha <strong>creat</strong> un nou fitxer o una nova carpeta",
"A file or folder has been <strong>changed</strong>" : "S'ha <strong>canviat</strong> un fitxer o una carpeta",
@@ -91,12 +96,6 @@
"Settings" : "Arranjament",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Useu aquesta adreça per <a href=\"%s\" target=\"_blank\">accedir als fitxers via WebDAV</a>",
- "New" : "Nou",
- "New text file" : "Nou fitxer de text",
- "Text file" : "Fitxer de text",
- "New folder" : "Carpeta nova",
- "Folder" : "Carpeta",
- "Upload" : "Puja",
"Cancel upload" : "Cancel·la la pujada",
"No files in here" : "No hi ha arxius",
"Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.",
diff --git a/apps/files/l10n/cs_CZ.js b/apps/files/l10n/cs_CZ.js
index c12c66892d9..d462c1361de 100644
--- a/apps/files/l10n/cs_CZ.js
+++ b/apps/files/l10n/cs_CZ.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Odesílání zrušeno.",
"Could not get result from server." : "Nepodařilo se získat výsledek ze serveru.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Probíhá odesílání souboru. Opuštění stránky způsobí zrušení nahrávání.",
- "{new_name} already exists" : "{new_name} již existuje",
- "Could not create file" : "Nepodařilo se vytvořit soubor",
- "Could not create folder" : "Nepodařilo se vytvořit složku",
"Actions" : "Činnosti",
"Download" : "Stáhnout",
"Select" : "Vybrat",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Chyba při přesunu souboru.",
"Error moving file" : "Chyba při přesunu souboru",
"Error" : "Chyba",
+ "{new_name} already exists" : "{new_name} již existuje",
"Could not rename file" : "Nepodařilo se přejmenovat soubor",
+ "Could not create file" : "Nepodařilo se vytvořit soubor",
+ "Could not create folder" : "Nepodařilo se vytvořit složku",
"Error deleting file." : "Chyba při mazání souboru.",
"No entries in this folder match '{filter}'" : "V tomto adresáři nic nesouhlasí s '{filter}'",
"Name" : "Název",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} a {files}",
"You don’t have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo vytvářet soubory",
"_Uploading %n file_::_Uploading %n files_" : ["Nahrávám %n soubor","Nahrávám %n soubory","Nahrávám %n souborů"],
+ "New" : "Nový",
"\"{name}\" is an invalid file name." : "\"{name}\" je neplatným názvem souboru.",
"File name cannot be empty." : "Název souboru nemůže být prázdný řetězec.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložiště uživatele {owner} je zaplněné, soubory nelze aktualizovat a synchronizovat!",
@@ -71,6 +72,10 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů"],
"Favorited" : "Přidáno k oblíbeným",
"Favorite" : "Oblíbené",
+ "Upload" : "Odeslat",
+ "Text file" : "Textový soubor",
+ "Folder" : "Složka",
+ "New folder" : "Nová složka",
"An error occurred while trying to update the tags" : "Při pokusu o úpravu tagů nastala chyba",
"A new file or folder has been <strong>created</strong>" : "Byl <strong>vytvořen</strong> nový soubor nebo složka",
"A file or folder has been <strong>changed</strong>" : "Soubor nebo složka byla <strong>změněna</strong>",
@@ -98,12 +103,6 @@ OC.L10N.register(
"Settings" : "Nastavení",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Použijte tuto adresu pro <a href=\"%s\" target=\"_blank\">přístup k vašim souborům přes WebDAV</a>",
- "New" : "Nový",
- "New text file" : "Nový textový soubor",
- "Text file" : "Textový soubor",
- "New folder" : "Nová složka",
- "Folder" : "Složka",
- "Upload" : "Odeslat",
"Cancel upload" : "Zrušit odesílání",
"No files in here" : "Žádné soubory",
"Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo synchronizujte se svými přístroji!",
diff --git a/apps/files/l10n/cs_CZ.json b/apps/files/l10n/cs_CZ.json
index da8c653d37e..56695a52489 100644
--- a/apps/files/l10n/cs_CZ.json
+++ b/apps/files/l10n/cs_CZ.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Odesílání zrušeno.",
"Could not get result from server." : "Nepodařilo se získat výsledek ze serveru.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Probíhá odesílání souboru. Opuštění stránky způsobí zrušení nahrávání.",
- "{new_name} already exists" : "{new_name} již existuje",
- "Could not create file" : "Nepodařilo se vytvořit soubor",
- "Could not create folder" : "Nepodařilo se vytvořit složku",
"Actions" : "Činnosti",
"Download" : "Stáhnout",
"Select" : "Vybrat",
@@ -47,7 +44,10 @@
"Error moving file." : "Chyba při přesunu souboru.",
"Error moving file" : "Chyba při přesunu souboru",
"Error" : "Chyba",
+ "{new_name} already exists" : "{new_name} již existuje",
"Could not rename file" : "Nepodařilo se přejmenovat soubor",
+ "Could not create file" : "Nepodařilo se vytvořit soubor",
+ "Could not create folder" : "Nepodařilo se vytvořit složku",
"Error deleting file." : "Chyba při mazání souboru.",
"No entries in this folder match '{filter}'" : "V tomto adresáři nic nesouhlasí s '{filter}'",
"Name" : "Název",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} a {files}",
"You don’t have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo vytvářet soubory",
"_Uploading %n file_::_Uploading %n files_" : ["Nahrávám %n soubor","Nahrávám %n soubory","Nahrávám %n souborů"],
+ "New" : "Nový",
"\"{name}\" is an invalid file name." : "\"{name}\" je neplatným názvem souboru.",
"File name cannot be empty." : "Název souboru nemůže být prázdný řetězec.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložiště uživatele {owner} je zaplněné, soubory nelze aktualizovat a synchronizovat!",
@@ -69,6 +70,10 @@
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů"],
"Favorited" : "Přidáno k oblíbeným",
"Favorite" : "Oblíbené",
+ "Upload" : "Odeslat",
+ "Text file" : "Textový soubor",
+ "Folder" : "Složka",
+ "New folder" : "Nová složka",
"An error occurred while trying to update the tags" : "Při pokusu o úpravu tagů nastala chyba",
"A new file or folder has been <strong>created</strong>" : "Byl <strong>vytvořen</strong> nový soubor nebo složka",
"A file or folder has been <strong>changed</strong>" : "Soubor nebo složka byla <strong>změněna</strong>",
@@ -96,12 +101,6 @@
"Settings" : "Nastavení",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Použijte tuto adresu pro <a href=\"%s\" target=\"_blank\">přístup k vašim souborům přes WebDAV</a>",
- "New" : "Nový",
- "New text file" : "Nový textový soubor",
- "Text file" : "Textový soubor",
- "New folder" : "Nová složka",
- "Folder" : "Složka",
- "Upload" : "Odeslat",
"Cancel upload" : "Zrušit odesílání",
"No files in here" : "Žádné soubory",
"Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo synchronizujte se svými přístroji!",
diff --git a/apps/files/l10n/cy_GB.js b/apps/files/l10n/cy_GB.js
index f3a9825ea4c..bdf61e20f24 100644
--- a/apps/files/l10n/cy_GB.js
+++ b/apps/files/l10n/cy_GB.js
@@ -18,26 +18,26 @@ OC.L10N.register(
"Close" : "Cau",
"Upload cancelled." : "Diddymwyd llwytho i fyny.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.",
- "{new_name} already exists" : "{new_name} yn bodoli'n barod",
"Actions" : "Gweithredoedd",
"Download" : "Llwytho i lawr",
"Pending" : "I ddod",
"Error" : "Gwall",
+ "{new_name} already exists" : "{new_name} yn bodoli'n barod",
"Name" : "Enw",
"Size" : "Maint",
"Modified" : "Addaswyd",
+ "New" : "Newydd",
"File name cannot be empty." : "Does dim hawl cael enw ffeil gwag.",
"Your storage is full, files can not be updated or synced anymore!" : "Mae eich storfa'n llawn, ni ellir diweddaru a chydweddu ffeiliau mwyach!",
"Your storage is almost full ({usedSpacePercent}%)" : "Mae eich storfa bron a bod yn llawn ({usedSpacePercent}%)",
+ "Upload" : "Llwytho i fyny",
+ "Text file" : "Ffeil destun",
+ "Folder" : "Plygell",
"File handling" : "Trafod ffeiliau",
"Maximum upload size" : "Maint mwyaf llwytho i fyny",
"max. possible: " : "mwyaf. posib:",
"Save" : "Cadw",
"Settings" : "Gosodiadau",
- "New" : "Newydd",
- "Text file" : "Ffeil destun",
- "Folder" : "Plygell",
- "Upload" : "Llwytho i fyny",
"Cancel upload" : "Diddymu llwytho i fyny",
"Delete" : "Dileu",
"Upload too large" : "Maint llwytho i fyny'n rhy fawr",
diff --git a/apps/files/l10n/cy_GB.json b/apps/files/l10n/cy_GB.json
index e4c7a637625..eb66c24ec62 100644
--- a/apps/files/l10n/cy_GB.json
+++ b/apps/files/l10n/cy_GB.json
@@ -16,26 +16,26 @@
"Close" : "Cau",
"Upload cancelled." : "Diddymwyd llwytho i fyny.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.",
- "{new_name} already exists" : "{new_name} yn bodoli'n barod",
"Actions" : "Gweithredoedd",
"Download" : "Llwytho i lawr",
"Pending" : "I ddod",
"Error" : "Gwall",
+ "{new_name} already exists" : "{new_name} yn bodoli'n barod",
"Name" : "Enw",
"Size" : "Maint",
"Modified" : "Addaswyd",
+ "New" : "Newydd",
"File name cannot be empty." : "Does dim hawl cael enw ffeil gwag.",
"Your storage is full, files can not be updated or synced anymore!" : "Mae eich storfa'n llawn, ni ellir diweddaru a chydweddu ffeiliau mwyach!",
"Your storage is almost full ({usedSpacePercent}%)" : "Mae eich storfa bron a bod yn llawn ({usedSpacePercent}%)",
+ "Upload" : "Llwytho i fyny",
+ "Text file" : "Ffeil destun",
+ "Folder" : "Plygell",
"File handling" : "Trafod ffeiliau",
"Maximum upload size" : "Maint mwyaf llwytho i fyny",
"max. possible: " : "mwyaf. posib:",
"Save" : "Cadw",
"Settings" : "Gosodiadau",
- "New" : "Newydd",
- "Text file" : "Ffeil destun",
- "Folder" : "Plygell",
- "Upload" : "Llwytho i fyny",
"Cancel upload" : "Diddymu llwytho i fyny",
"Delete" : "Dileu",
"Upload too large" : "Maint llwytho i fyny'n rhy fawr",
diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js
index b82b69baf52..1ecbcb7e16f 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Upload afbrudt.",
"Could not get result from server." : "Kunne ikke hente resultat fra server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.",
- "{new_name} already exists" : "{new_name} eksisterer allerede",
- "Could not create file" : "Kunne ikke oprette fil",
- "Could not create folder" : "Kunne ikke oprette mappe",
"Actions" : "Handlinger",
"Download" : "Download",
"Select" : "Vælg",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Fejl ved flytning af fil",
"Error moving file" : "Fejl ved flytning af fil",
"Error" : "Fejl",
+ "{new_name} already exists" : "{new_name} eksisterer allerede",
"Could not rename file" : "Kunne ikke omdøbe filen",
+ "Could not create file" : "Kunne ikke oprette fil",
+ "Could not create folder" : "Kunne ikke oprette mappe",
"Error deleting file." : "Fejl ved sletnign af fil.",
"No entries in this folder match '{filter}'" : "Der er ingen poster i denne mappe, der matcher '{filter}'",
"Name" : "Navn",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} og {files}",
"You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her",
"_Uploading %n file_::_Uploading %n files_" : ["Uploader %n fil","Uploader %n filer"],
+ "New" : "Ny",
"\"{name}\" is an invalid file name." : "'{name}' er et ugyldigt filnavn.",
"File name cannot be empty." : "Filnavnet kan ikke stå tomt.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Opbevaringspladsen tilhørende {owner} er fyldt op - filer kan ikke længere opdateres eller synkroniseres!",
@@ -71,6 +72,10 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Gjort til foretrukken",
"Favorite" : "Foretrukken",
+ "Upload" : "Upload",
+ "Text file" : "Tekstfil",
+ "Folder" : "Mappe",
+ "New folder" : "Ny Mappe",
"An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne",
"A new file or folder has been <strong>created</strong>" : "En ny fil eller mapper er blevet <strong>oprettet</strong>",
"A file or folder has been <strong>changed</strong>" : "En fil eller mappe er blevet <strong>ændret</strong>",
@@ -98,12 +103,6 @@ OC.L10N.register(
"Settings" : "Indstillinger",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Brug denne adresse for at <a href=\"%s\" target=\"_blank\">tilgå dine filer via WebDAV</a>",
- "New" : "Ny",
- "New text file" : "Ny tekstfil",
- "Text file" : "Tekstfil",
- "New folder" : "Ny Mappe",
- "Folder" : "Mappe",
- "Upload" : "Upload",
"Cancel upload" : "Fortryd upload",
"No files in here" : "Her er ingen filer",
"Upload some content or sync with your devices!" : "Overfør indhold eller synkronisér med dine enheder!",
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index 85e0f872433..c85759c5640 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Upload afbrudt.",
"Could not get result from server." : "Kunne ikke hente resultat fra server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.",
- "{new_name} already exists" : "{new_name} eksisterer allerede",
- "Could not create file" : "Kunne ikke oprette fil",
- "Could not create folder" : "Kunne ikke oprette mappe",
"Actions" : "Handlinger",
"Download" : "Download",
"Select" : "Vælg",
@@ -47,7 +44,10 @@
"Error moving file." : "Fejl ved flytning af fil",
"Error moving file" : "Fejl ved flytning af fil",
"Error" : "Fejl",
+ "{new_name} already exists" : "{new_name} eksisterer allerede",
"Could not rename file" : "Kunne ikke omdøbe filen",
+ "Could not create file" : "Kunne ikke oprette fil",
+ "Could not create folder" : "Kunne ikke oprette mappe",
"Error deleting file." : "Fejl ved sletnign af fil.",
"No entries in this folder match '{filter}'" : "Der er ingen poster i denne mappe, der matcher '{filter}'",
"Name" : "Navn",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} og {files}",
"You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her",
"_Uploading %n file_::_Uploading %n files_" : ["Uploader %n fil","Uploader %n filer"],
+ "New" : "Ny",
"\"{name}\" is an invalid file name." : "'{name}' er et ugyldigt filnavn.",
"File name cannot be empty." : "Filnavnet kan ikke stå tomt.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Opbevaringspladsen tilhørende {owner} er fyldt op - filer kan ikke længere opdateres eller synkroniseres!",
@@ -69,6 +70,10 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Gjort til foretrukken",
"Favorite" : "Foretrukken",
+ "Upload" : "Upload",
+ "Text file" : "Tekstfil",
+ "Folder" : "Mappe",
+ "New folder" : "Ny Mappe",
"An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne",
"A new file or folder has been <strong>created</strong>" : "En ny fil eller mapper er blevet <strong>oprettet</strong>",
"A file or folder has been <strong>changed</strong>" : "En fil eller mappe er blevet <strong>ændret</strong>",
@@ -96,12 +101,6 @@
"Settings" : "Indstillinger",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Brug denne adresse for at <a href=\"%s\" target=\"_blank\">tilgå dine filer via WebDAV</a>",
- "New" : "Ny",
- "New text file" : "Ny tekstfil",
- "Text file" : "Tekstfil",
- "New folder" : "Ny Mappe",
- "Folder" : "Mappe",
- "Upload" : "Upload",
"Cancel upload" : "Fortryd upload",
"No files in here" : "Her er ingen filer",
"Upload some content or sync with your devices!" : "Overfør indhold eller synkronisér med dine enheder!",
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index 48e386308ec..5e22e05f80d 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Upload abgebrochen.",
"Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Du die Seite jetzt verlässt, wird der Upload abgebrochen.",
- "{new_name} already exists" : "{new_name} existiert bereits",
- "Could not create file" : "Die Datei konnte nicht erstellt werden",
- "Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Actions" : "Aktionen",
"Download" : "Herunterladen",
"Select" : "Auswählen",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Fehler beim Verschieben der Datei.",
"Error moving file" : "Fehler beim Verschieben der Datei",
"Error" : "Fehler",
+ "{new_name} already exists" : "{new_name} existiert bereits",
"Could not rename file" : "Die Datei konnte nicht umbenannt werden",
+ "Could not create file" : "Die Datei konnte nicht erstellt werden",
+ "Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Error deleting file." : "Fehler beim Löschen der Datei.",
"No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein",
"Name" : "Name",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} und {files}",
"You don’t have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
"_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hochgeladen","%n Dateien werden hochgeladen"],
+ "New" : "Neu",
"\"{name}\" is an invalid file name." : "»{name}« ist kein gültiger Dateiname.",
"File name cannot be empty." : "Der Dateiname darf nicht leer sein.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Der Speicher von {owner} ist voll, Dateien können nicht mehr aktualisiert oder synchronisiert werden!",
@@ -71,6 +72,10 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"],
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
+ "Upload" : "Hochladen",
+ "Text file" : "Textdatei",
+ "Folder" : "Ordner",
+ "New folder" : "Neuer Ordner",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>",
@@ -97,12 +102,6 @@ OC.L10N.register(
"Settings" : "Einstellungen",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Benutze diese Adresse, um <a href=\"%s\" target=\"_blank\">über WebDAV auf Deine Dateien zuzugreifen</a>",
- "New" : "Neu",
- "New text file" : "Neue Textdatei",
- "Text file" : "Textdatei",
- "New folder" : "Neuer Ordner",
- "Folder" : "Ordner",
- "Upload" : "Hochladen",
"Cancel upload" : "Upload abbrechen",
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Lade Inhalte hoch oder synchronisiere mit Deinen Geräten!",
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index fdf22ba9732..5e93d2b3856 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Upload abgebrochen.",
"Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Du die Seite jetzt verlässt, wird der Upload abgebrochen.",
- "{new_name} already exists" : "{new_name} existiert bereits",
- "Could not create file" : "Die Datei konnte nicht erstellt werden",
- "Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Actions" : "Aktionen",
"Download" : "Herunterladen",
"Select" : "Auswählen",
@@ -47,7 +44,10 @@
"Error moving file." : "Fehler beim Verschieben der Datei.",
"Error moving file" : "Fehler beim Verschieben der Datei",
"Error" : "Fehler",
+ "{new_name} already exists" : "{new_name} existiert bereits",
"Could not rename file" : "Die Datei konnte nicht umbenannt werden",
+ "Could not create file" : "Die Datei konnte nicht erstellt werden",
+ "Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Error deleting file." : "Fehler beim Löschen der Datei.",
"No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein",
"Name" : "Name",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} und {files}",
"You don’t have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
"_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hochgeladen","%n Dateien werden hochgeladen"],
+ "New" : "Neu",
"\"{name}\" is an invalid file name." : "»{name}« ist kein gültiger Dateiname.",
"File name cannot be empty." : "Der Dateiname darf nicht leer sein.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Der Speicher von {owner} ist voll, Dateien können nicht mehr aktualisiert oder synchronisiert werden!",
@@ -69,6 +70,10 @@
"_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"],
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
+ "Upload" : "Hochladen",
+ "Text file" : "Textdatei",
+ "Folder" : "Ordner",
+ "New folder" : "Neuer Ordner",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>",
@@ -95,12 +100,6 @@
"Settings" : "Einstellungen",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Benutze diese Adresse, um <a href=\"%s\" target=\"_blank\">über WebDAV auf Deine Dateien zuzugreifen</a>",
- "New" : "Neu",
- "New text file" : "Neue Textdatei",
- "Text file" : "Textdatei",
- "New folder" : "Neuer Ordner",
- "Folder" : "Ordner",
- "Upload" : "Hochladen",
"Cancel upload" : "Upload abbrechen",
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Lade Inhalte hoch oder synchronisiere mit Deinen Geräten!",
diff --git a/apps/files/l10n/de_AT.js b/apps/files/l10n/de_AT.js
index a6ff8843a63..70adef6bb08 100644
--- a/apps/files/l10n/de_AT.js
+++ b/apps/files/l10n/de_AT.js
@@ -5,6 +5,8 @@ OC.L10N.register(
"Files" : "Dateien",
"Download" : "Herunterladen",
"Error" : "Fehler",
+ "Upload" : "Hochladen",
+ "New folder" : "Neuer Ordner",
"A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner hat sich <strong>geändert</strong>",
"A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>",
@@ -16,8 +18,6 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s löschte %1$s",
"Save" : "Speichern",
"Settings" : "Einstellungen",
- "New folder" : "Neuer Ordner",
- "Upload" : "Hochladen",
"Cancel upload" : "Hochladen abbrechen",
"Delete" : "Löschen"
},
diff --git a/apps/files/l10n/de_AT.json b/apps/files/l10n/de_AT.json
index 0356e6650af..8766f264741 100644
--- a/apps/files/l10n/de_AT.json
+++ b/apps/files/l10n/de_AT.json
@@ -3,6 +3,8 @@
"Files" : "Dateien",
"Download" : "Herunterladen",
"Error" : "Fehler",
+ "Upload" : "Hochladen",
+ "New folder" : "Neuer Ordner",
"A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner hat sich <strong>geändert</strong>",
"A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>",
@@ -14,8 +16,6 @@
"%2$s deleted %1$s" : "%2$s löschte %1$s",
"Save" : "Speichern",
"Settings" : "Einstellungen",
- "New folder" : "Neuer Ordner",
- "Upload" : "Hochladen",
"Cancel upload" : "Hochladen abbrechen",
"Delete" : "Löschen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index bc2f764ae55..34c6c8fb4a6 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Upload abgebrochen.",
"Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.",
- "{new_name} already exists" : "{new_name} existiert bereits",
- "Could not create file" : "Die Datei konnte nicht erstellt werden",
- "Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Actions" : "Aktionen",
"Download" : "Herunterladen",
"Select" : "Auswählen",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Fehler beim Verschieben der Datei.",
"Error moving file" : "Fehler beim Verschieben der Datei",
"Error" : "Fehler",
+ "{new_name} already exists" : "{new_name} existiert bereits",
"Could not rename file" : "Die Datei konnte nicht umbenannt werden",
+ "Could not create file" : "Die Datei konnte nicht erstellt werden",
+ "Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Error deleting file." : "Fehler beim Löschen der Datei.",
"No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein",
"Name" : "Name",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} und {files}",
"You don’t have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
"_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hoch geladen","%n Dateien werden hoch geladen"],
+ "New" : "Neu",
"\"{name}\" is an invalid file name." : "„{name}“ ist kein gültiger Dateiname.",
"File name cannot be empty." : "Der Dateiname darf nicht leer sein.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Der Speicher von {owner} ist voll, Dateien können nicht mehr aktualisiert oder synchronisiert werden!",
@@ -69,6 +70,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["stimmt mit '{filter}' überein","stimmen mit '{filter}' überein"],
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
+ "Upload" : "Hochladen",
+ "Text file" : "Textdatei",
+ "Folder" : "Ordner",
+ "New folder" : "Neuer Ordner",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>",
@@ -95,12 +100,6 @@ OC.L10N.register(
"Settings" : "Einstellungen",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Benutzen Sie diese Adresse, um <a href=\"%s\" target=\"_blank\">über WebDAV auf Ihre Dateien zuzugreifen</a>",
- "New" : "Neu",
- "New text file" : "Neue Textdatei",
- "Text file" : "Textdatei",
- "New folder" : "Neuer Ordner",
- "Folder" : "Ordner",
- "Upload" : "Hochladen",
"Cancel upload" : "Upload abbrechen",
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie mit Ihren Geräten!",
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index 7e4ee06cb81..390e5e0e575 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Upload abgebrochen.",
"Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.",
- "{new_name} already exists" : "{new_name} existiert bereits",
- "Could not create file" : "Die Datei konnte nicht erstellt werden",
- "Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Actions" : "Aktionen",
"Download" : "Herunterladen",
"Select" : "Auswählen",
@@ -47,7 +44,10 @@
"Error moving file." : "Fehler beim Verschieben der Datei.",
"Error moving file" : "Fehler beim Verschieben der Datei",
"Error" : "Fehler",
+ "{new_name} already exists" : "{new_name} existiert bereits",
"Could not rename file" : "Die Datei konnte nicht umbenannt werden",
+ "Could not create file" : "Die Datei konnte nicht erstellt werden",
+ "Could not create folder" : "Der Ordner konnte nicht erstellt werden",
"Error deleting file." : "Fehler beim Löschen der Datei.",
"No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein",
"Name" : "Name",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} und {files}",
"You don’t have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen",
"_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hoch geladen","%n Dateien werden hoch geladen"],
+ "New" : "Neu",
"\"{name}\" is an invalid file name." : "„{name}“ ist kein gültiger Dateiname.",
"File name cannot be empty." : "Der Dateiname darf nicht leer sein.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Der Speicher von {owner} ist voll, Dateien können nicht mehr aktualisiert oder synchronisiert werden!",
@@ -67,6 +68,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["stimmt mit '{filter}' überein","stimmen mit '{filter}' überein"],
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
+ "Upload" : "Hochladen",
+ "Text file" : "Textdatei",
+ "Folder" : "Ordner",
+ "New folder" : "Neuer Ordner",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
"A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>",
@@ -93,12 +98,6 @@
"Settings" : "Einstellungen",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Benutzen Sie diese Adresse, um <a href=\"%s\" target=\"_blank\">über WebDAV auf Ihre Dateien zuzugreifen</a>",
- "New" : "Neu",
- "New text file" : "Neue Textdatei",
- "Text file" : "Textdatei",
- "New folder" : "Neuer Ordner",
- "Folder" : "Ordner",
- "Upload" : "Hochladen",
"Cancel upload" : "Upload abbrechen",
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie mit Ihren Geräten!",
diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js
index 1d0ac807d5f..fe65869c3bb 100644
--- a/apps/files/l10n/el.js
+++ b/apps/files/l10n/el.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Η αποστολή ακυρώθηκε.",
"Could not get result from server." : "Αδυναμία λήψης αποτελέσματος από το διακομιστή.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Η αποστολή του αρχείου βρίσκεται σε εξέλιξη. Το κλείσιμο της σελίδας θα ακυρώσει την αποστολή.",
- "{new_name} already exists" : "{new_name} υπάρχει ήδη",
- "Could not create file" : "Αδυναμία δημιουργίας αρχείου",
- "Could not create folder" : "Αδυναμία δημιουργίας φακέλου",
"Actions" : "Ενέργειες",
"Download" : "Λήψη",
"Select" : "Επιλογή",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Σφάλμα κατά τη μετακίνηση του αρχείου.",
"Error moving file" : "Σφάλμα κατά τη μετακίνηση του αρχείου",
"Error" : "Σφάλμα",
+ "{new_name} already exists" : "{new_name} υπάρχει ήδη",
"Could not rename file" : "Αδυναμία μετονομασίας αρχείου",
+ "Could not create file" : "Αδυναμία δημιουργίας αρχείου",
+ "Could not create folder" : "Αδυναμία δημιουργίας φακέλου",
"Error deleting file." : "Σφάλμα διαγραφής αρχείου.",
"No entries in this folder match '{filter}'" : "Δεν ταιριάζουν καταχωρήσεις σε αυτόν το φάκελο '{filter}'",
"Name" : "Όνομα",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{Κατάλογοι αρχείων} και {αρχεία}",
"You don’t have permission to upload or create files here" : "Δεν έχετε δικαιώματα φόρτωσης ή δημιουργίας αρχείων εδώ",
"_Uploading %n file_::_Uploading %n files_" : ["Ανέβασμα %n αρχείου","Ανέβασμα %n αρχείων"],
+ "New" : "Νέο",
"\"{name}\" is an invalid file name." : "Το \"{name}\" είναι μη έγκυρο όνομα αρχείου.",
"File name cannot be empty." : "Το όνομα αρχείου δεν μπορεί να είναι κενό.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Ο αποθηκευτικός χώρος του {owner} είναι πλήρης, τα αρχεία δεν δύναται να ενημερωθούν ή να συγχρονίσουν!",
@@ -71,6 +72,12 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Προτιμώμενα",
"Favorite" : "Αγαπημένο",
+ "{newname} already exists" : "το {newname} υπάρχει ήδη",
+ "Upload" : "Μεταφόρτωση",
+ "Text file" : "Αρχείο κειμένου",
+ "New text file.txt" : "Νέο αρχείο κειμένου.txt",
+ "Folder" : "Φάκελος",
+ "New folder" : "Νέος κατάλογος",
"An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών",
"A new file or folder has been <strong>created</strong>" : "Ένα νέο αρχείο ή κατάλογος έχουν <strong>δημιουργηθεί</strong>",
"A file or folder has been <strong>changed</strong>" : "Ένα αρχείο ή κατάλογος έχουν <strong>αλλάξει</strong>",
@@ -98,12 +105,6 @@ OC.L10N.register(
"Settings" : "Ρυθμίσεις",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Χρησιμοποιήστε αυτήν την διεύθυνση για να αποκτήσετε <a href=\"%s\" target=\"_blank\">πρόσβαση στα αρχεία σας μέσω WebDAV</a>",
- "New" : "Νέο",
- "New text file" : "Νέο αρχείο κειμένου",
- "Text file" : "Αρχείο κειμένου",
- "New folder" : "Νέος κατάλογος",
- "Folder" : "Φάκελος",
- "Upload" : "Μεταφόρτωση",
"Cancel upload" : "Ακύρωση μεταφόρτωσης",
"No files in here" : "Δεν υπάρχουν αρχεία",
"Upload some content or sync with your devices!" : "Μεταφόρτωση περιεχομένου ή συγχρονισμός με τις συσκευές σας!",
diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json
index d3ea79a5e40..37ff95b406e 100644
--- a/apps/files/l10n/el.json
+++ b/apps/files/l10n/el.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Η αποστολή ακυρώθηκε.",
"Could not get result from server." : "Αδυναμία λήψης αποτελέσματος από το διακομιστή.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Η αποστολή του αρχείου βρίσκεται σε εξέλιξη. Το κλείσιμο της σελίδας θα ακυρώσει την αποστολή.",
- "{new_name} already exists" : "{new_name} υπάρχει ήδη",
- "Could not create file" : "Αδυναμία δημιουργίας αρχείου",
- "Could not create folder" : "Αδυναμία δημιουργίας φακέλου",
"Actions" : "Ενέργειες",
"Download" : "Λήψη",
"Select" : "Επιλογή",
@@ -47,7 +44,10 @@
"Error moving file." : "Σφάλμα κατά τη μετακίνηση του αρχείου.",
"Error moving file" : "Σφάλμα κατά τη μετακίνηση του αρχείου",
"Error" : "Σφάλμα",
+ "{new_name} already exists" : "{new_name} υπάρχει ήδη",
"Could not rename file" : "Αδυναμία μετονομασίας αρχείου",
+ "Could not create file" : "Αδυναμία δημιουργίας αρχείου",
+ "Could not create folder" : "Αδυναμία δημιουργίας φακέλου",
"Error deleting file." : "Σφάλμα διαγραφής αρχείου.",
"No entries in this folder match '{filter}'" : "Δεν ταιριάζουν καταχωρήσεις σε αυτόν το φάκελο '{filter}'",
"Name" : "Όνομα",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{Κατάλογοι αρχείων} και {αρχεία}",
"You don’t have permission to upload or create files here" : "Δεν έχετε δικαιώματα φόρτωσης ή δημιουργίας αρχείων εδώ",
"_Uploading %n file_::_Uploading %n files_" : ["Ανέβασμα %n αρχείου","Ανέβασμα %n αρχείων"],
+ "New" : "Νέο",
"\"{name}\" is an invalid file name." : "Το \"{name}\" είναι μη έγκυρο όνομα αρχείου.",
"File name cannot be empty." : "Το όνομα αρχείου δεν μπορεί να είναι κενό.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Ο αποθηκευτικός χώρος του {owner} είναι πλήρης, τα αρχεία δεν δύναται να ενημερωθούν ή να συγχρονίσουν!",
@@ -69,6 +70,12 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Προτιμώμενα",
"Favorite" : "Αγαπημένο",
+ "{newname} already exists" : "το {newname} υπάρχει ήδη",
+ "Upload" : "Μεταφόρτωση",
+ "Text file" : "Αρχείο κειμένου",
+ "New text file.txt" : "Νέο αρχείο κειμένου.txt",
+ "Folder" : "Φάκελος",
+ "New folder" : "Νέος κατάλογος",
"An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών",
"A new file or folder has been <strong>created</strong>" : "Ένα νέο αρχείο ή κατάλογος έχουν <strong>δημιουργηθεί</strong>",
"A file or folder has been <strong>changed</strong>" : "Ένα αρχείο ή κατάλογος έχουν <strong>αλλάξει</strong>",
@@ -96,12 +103,6 @@
"Settings" : "Ρυθμίσεις",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Χρησιμοποιήστε αυτήν την διεύθυνση για να αποκτήσετε <a href=\"%s\" target=\"_blank\">πρόσβαση στα αρχεία σας μέσω WebDAV</a>",
- "New" : "Νέο",
- "New text file" : "Νέο αρχείο κειμένου",
- "Text file" : "Αρχείο κειμένου",
- "New folder" : "Νέος κατάλογος",
- "Folder" : "Φάκελος",
- "Upload" : "Μεταφόρτωση",
"Cancel upload" : "Ακύρωση μεταφόρτωσης",
"No files in here" : "Δεν υπάρχουν αρχεία",
"Upload some content or sync with your devices!" : "Μεταφόρτωση περιεχομένου ή συγχρονισμός με τις συσκευές σας!",
diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js
index 1433c5d9c18..decfe4dcd83 100644
--- a/apps/files/l10n/en_GB.js
+++ b/apps/files/l10n/en_GB.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Upload cancelled.",
"Could not get result from server." : "Could not get result from server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "File upload is in progress. Leaving the page now will cancel the upload.",
- "{new_name} already exists" : "{new_name} already exists",
- "Could not create file" : "Could not create file",
- "Could not create folder" : "Could not create folder",
"Actions" : "Actions",
"Download" : "Download",
"Select" : "Select",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Error moving file.",
"Error moving file" : "Error moving file",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} already exists",
"Could not rename file" : "Could not rename file",
+ "Could not create file" : "Could not create file",
+ "Could not create folder" : "Could not create folder",
"Error deleting file." : "Error deleting file.",
"No entries in this folder match '{filter}'" : "No entries in this folder match '{filter}'",
"Name" : "Name",
@@ -58,6 +58,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} and {files}",
"You don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here",
"_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"],
+ "New" : "New",
"\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.",
"File name cannot be empty." : "File name cannot be empty.",
"Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!",
@@ -65,6 +66,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["matches '{filter}'","match '{filter}'"],
"Favorited" : "Favourited",
"Favorite" : "Favourite",
+ "Upload" : "Upload",
+ "Text file" : "Text file",
+ "Folder" : "Folder",
+ "New folder" : "New folder",
"An error occurred while trying to update the tags" : "An error occurred whilst trying to update the tags",
"A new file or folder has been <strong>created</strong>" : "A new file or folder has been <strong>created</strong>",
"A file or folder has been <strong>changed</strong>" : "A file or folder has been <strong>changed</strong>",
@@ -91,12 +96,6 @@ OC.L10N.register(
"Settings" : "Settings",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>",
- "New" : "New",
- "New text file" : "New text file",
- "Text file" : "Text file",
- "New folder" : "New folder",
- "Folder" : "Folder",
- "Upload" : "Upload",
"Cancel upload" : "Cancel upload",
"No files in here" : "No files in here",
"Upload some content or sync with your devices!" : "Upload some content or sync with your devices!",
diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json
index 84feb344142..cf06affa55e 100644
--- a/apps/files/l10n/en_GB.json
+++ b/apps/files/l10n/en_GB.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Upload cancelled.",
"Could not get result from server." : "Could not get result from server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "File upload is in progress. Leaving the page now will cancel the upload.",
- "{new_name} already exists" : "{new_name} already exists",
- "Could not create file" : "Could not create file",
- "Could not create folder" : "Could not create folder",
"Actions" : "Actions",
"Download" : "Download",
"Select" : "Select",
@@ -45,7 +42,10 @@
"Error moving file." : "Error moving file.",
"Error moving file" : "Error moving file",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} already exists",
"Could not rename file" : "Could not rename file",
+ "Could not create file" : "Could not create file",
+ "Could not create folder" : "Could not create folder",
"Error deleting file." : "Error deleting file.",
"No entries in this folder match '{filter}'" : "No entries in this folder match '{filter}'",
"Name" : "Name",
@@ -56,6 +56,7 @@
"{dirs} and {files}" : "{dirs} and {files}",
"You don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here",
"_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"],
+ "New" : "New",
"\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.",
"File name cannot be empty." : "File name cannot be empty.",
"Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!",
@@ -63,6 +64,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["matches '{filter}'","match '{filter}'"],
"Favorited" : "Favourited",
"Favorite" : "Favourite",
+ "Upload" : "Upload",
+ "Text file" : "Text file",
+ "Folder" : "Folder",
+ "New folder" : "New folder",
"An error occurred while trying to update the tags" : "An error occurred whilst trying to update the tags",
"A new file or folder has been <strong>created</strong>" : "A new file or folder has been <strong>created</strong>",
"A file or folder has been <strong>changed</strong>" : "A file or folder has been <strong>changed</strong>",
@@ -89,12 +94,6 @@
"Settings" : "Settings",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>",
- "New" : "New",
- "New text file" : "New text file",
- "Text file" : "Text file",
- "New folder" : "New folder",
- "Folder" : "Folder",
- "Upload" : "Upload",
"Cancel upload" : "Cancel upload",
"No files in here" : "No files in here",
"Upload some content or sync with your devices!" : "Upload some content or sync with your devices!",
diff --git a/apps/files/l10n/eo.js b/apps/files/l10n/eo.js
index 0f6c7de8a31..3c208a6bc17 100644
--- a/apps/files/l10n/eo.js
+++ b/apps/files/l10n/eo.js
@@ -29,16 +29,16 @@ OC.L10N.register(
"Upload cancelled." : "La alŝuto nuliĝis.",
"Could not get result from server." : "Ne povis ekhaviĝi rezulto el la servilo.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dosieralŝuto plenumiĝas. Lasi la paĝon nun nuligus la alŝuton.",
- "{new_name} already exists" : "{new_name} jam ekzistas",
- "Could not create file" : "Ne povis kreiĝi dosiero",
- "Could not create folder" : "Ne povis kreiĝi dosierujo",
"Actions" : "Agoj",
"Download" : "Elŝuti",
"Select" : "Elekti",
"Pending" : "Traktotaj",
"Error moving file" : "Eraris movo de dosiero",
"Error" : "Eraro",
+ "{new_name} already exists" : "{new_name} jam ekzistas",
"Could not rename file" : "Ne povis alinomiĝi dosiero",
+ "Could not create file" : "Ne povis kreiĝi dosiero",
+ "Could not create folder" : "Ne povis kreiĝi dosierujo",
"Name" : "Nomo",
"Size" : "Grando",
"Modified" : "Modifita",
@@ -47,10 +47,15 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} kaj {files}",
"You don’t have permission to upload or create files here" : "Vi ne havas permeson alŝuti aŭ krei dosierojn ĉi tie",
"_Uploading %n file_::_Uploading %n files_" : ["Alŝutatas %n dosiero","Alŝutatas %n dosieroj"],
+ "New" : "Nova",
"File name cannot be empty." : "Dosiernomo devas ne malpleni.",
"Your storage is full, files can not be updated or synced anymore!" : "Via memoro plenas, ne plu eblas ĝisdatigi aŭ sinkronigi dosierojn!",
"Your storage is almost full ({usedSpacePercent}%)" : "Via memoro preskaŭ plenas ({usedSpacePercent}%)",
"Favorite" : "Favorato",
+ "Upload" : "Alŝuti",
+ "Text file" : "Tekstodosiero",
+ "Folder" : "Dosierujo",
+ "New folder" : "Nova dosierujo",
"You created %1$s" : "Vi kreis %1$s",
"%2$s created %1$s" : "%2$s kreis %1$s",
"%1$s was created in a public folder" : "%1$s kreiĝis en publika dosierujo",
@@ -68,12 +73,6 @@ OC.L10N.register(
"Settings" : "Agordo",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Uzu ĉi tiun adreson por <a href=\"%s\" target=\"_blank\">aliri viajn Dosierojn per WebDAV</a>",
- "New" : "Nova",
- "New text file" : "Nova tekstodosiero",
- "Text file" : "Tekstodosiero",
- "New folder" : "Nova dosierujo",
- "Folder" : "Dosierujo",
- "Upload" : "Alŝuti",
"Cancel upload" : "Nuligi alŝuton",
"No files in here" : "Neniu dosiero estas ĉi tie",
"Select all" : "Elekti ĉion",
diff --git a/apps/files/l10n/eo.json b/apps/files/l10n/eo.json
index 88639f33449..bf69b68d883 100644
--- a/apps/files/l10n/eo.json
+++ b/apps/files/l10n/eo.json
@@ -27,16 +27,16 @@
"Upload cancelled." : "La alŝuto nuliĝis.",
"Could not get result from server." : "Ne povis ekhaviĝi rezulto el la servilo.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dosieralŝuto plenumiĝas. Lasi la paĝon nun nuligus la alŝuton.",
- "{new_name} already exists" : "{new_name} jam ekzistas",
- "Could not create file" : "Ne povis kreiĝi dosiero",
- "Could not create folder" : "Ne povis kreiĝi dosierujo",
"Actions" : "Agoj",
"Download" : "Elŝuti",
"Select" : "Elekti",
"Pending" : "Traktotaj",
"Error moving file" : "Eraris movo de dosiero",
"Error" : "Eraro",
+ "{new_name} already exists" : "{new_name} jam ekzistas",
"Could not rename file" : "Ne povis alinomiĝi dosiero",
+ "Could not create file" : "Ne povis kreiĝi dosiero",
+ "Could not create folder" : "Ne povis kreiĝi dosierujo",
"Name" : "Nomo",
"Size" : "Grando",
"Modified" : "Modifita",
@@ -45,10 +45,15 @@
"{dirs} and {files}" : "{dirs} kaj {files}",
"You don’t have permission to upload or create files here" : "Vi ne havas permeson alŝuti aŭ krei dosierojn ĉi tie",
"_Uploading %n file_::_Uploading %n files_" : ["Alŝutatas %n dosiero","Alŝutatas %n dosieroj"],
+ "New" : "Nova",
"File name cannot be empty." : "Dosiernomo devas ne malpleni.",
"Your storage is full, files can not be updated or synced anymore!" : "Via memoro plenas, ne plu eblas ĝisdatigi aŭ sinkronigi dosierojn!",
"Your storage is almost full ({usedSpacePercent}%)" : "Via memoro preskaŭ plenas ({usedSpacePercent}%)",
"Favorite" : "Favorato",
+ "Upload" : "Alŝuti",
+ "Text file" : "Tekstodosiero",
+ "Folder" : "Dosierujo",
+ "New folder" : "Nova dosierujo",
"You created %1$s" : "Vi kreis %1$s",
"%2$s created %1$s" : "%2$s kreis %1$s",
"%1$s was created in a public folder" : "%1$s kreiĝis en publika dosierujo",
@@ -66,12 +71,6 @@
"Settings" : "Agordo",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Uzu ĉi tiun adreson por <a href=\"%s\" target=\"_blank\">aliri viajn Dosierojn per WebDAV</a>",
- "New" : "Nova",
- "New text file" : "Nova tekstodosiero",
- "Text file" : "Tekstodosiero",
- "New folder" : "Nova dosierujo",
- "Folder" : "Dosierujo",
- "Upload" : "Alŝuti",
"Cancel upload" : "Nuligi alŝuton",
"No files in here" : "Neniu dosiero estas ĉi tie",
"Select all" : "Elekti ĉion",
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index 39f4b8d0569..318a86e5884 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Subida cancelada.",
"Could not get result from server." : "No se pudo obtener respuesta del servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si sale de la página ahora, la subida será cancelada.",
- "{new_name} already exists" : "{new_name} ya existe",
- "Could not create file" : "No se pudo crear el archivo",
- "Could not create folder" : "No se pudo crear la carpeta",
"Actions" : "Acciones",
"Download" : "Descargar",
"Select" : "Seleccionar",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Error al mover el archivo.",
"Error moving file" : "Error moviendo archivo",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} ya existe",
"Could not rename file" : "No se pudo renombrar el archivo",
+ "Could not create file" : "No se pudo crear el archivo",
+ "Could not create folder" : "No se pudo crear la carpeta",
"Error deleting file." : "Error al borrar el archivo",
"No entries in this folder match '{filter}'" : "No hay resultados que coincidan con '{filter}'",
"Name" : "Nombre",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} y {files}",
"You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí.",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"],
+ "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido.",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "El almacén de {owner} está repleto, ¡los archivos no se actualizarán ni sincronizarán más!",
@@ -71,6 +72,12 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Agregado a Favoritos",
"Favorite" : "Favorito",
+ "{newname} already exists" : "{new_name} ya existe",
+ "Upload" : "Subir",
+ "Text file" : "Archivo de texto",
+ "New text file.txt" : "Nuevo archivo de texto.txt",
+ "Folder" : "Carpeta",
+ "New folder" : "Nueva carpeta",
"An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas",
"A new file or folder has been <strong>created</strong>" : "Se ha <strong>creado</strong> un nuevo archivo o carpeta",
"A file or folder has been <strong>changed</strong>" : "Se ha <strong>modificado</strong> un archivo o carpeta",
@@ -98,12 +105,6 @@ OC.L10N.register(
"Settings" : "Ajustes",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use esta URL <a href=\"%s\" target=\"_blank\">para acceder via WebDAV</a>",
- "New" : "Nuevo",
- "New text file" : "Nuevo archivo de texto",
- "Text file" : "Archivo de texto",
- "New folder" : "Nueva carpeta",
- "Folder" : "Carpeta",
- "Upload" : "Subir",
"Cancel upload" : "Cancelar la subida",
"No files in here" : "Aquí no hay archivos",
"Upload some content or sync with your devices!" : "Suba contenidos o sincronice sus dispositivos.",
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 064ffe3785d..26761bf2073 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Subida cancelada.",
"Could not get result from server." : "No se pudo obtener respuesta del servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si sale de la página ahora, la subida será cancelada.",
- "{new_name} already exists" : "{new_name} ya existe",
- "Could not create file" : "No se pudo crear el archivo",
- "Could not create folder" : "No se pudo crear la carpeta",
"Actions" : "Acciones",
"Download" : "Descargar",
"Select" : "Seleccionar",
@@ -47,7 +44,10 @@
"Error moving file." : "Error al mover el archivo.",
"Error moving file" : "Error moviendo archivo",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} ya existe",
"Could not rename file" : "No se pudo renombrar el archivo",
+ "Could not create file" : "No se pudo crear el archivo",
+ "Could not create folder" : "No se pudo crear la carpeta",
"Error deleting file." : "Error al borrar el archivo",
"No entries in this folder match '{filter}'" : "No hay resultados que coincidan con '{filter}'",
"Name" : "Nombre",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} y {files}",
"You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí.",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"],
+ "New" : "Nuevo",
"\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido.",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "El almacén de {owner} está repleto, ¡los archivos no se actualizarán ni sincronizarán más!",
@@ -69,6 +70,12 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Agregado a Favoritos",
"Favorite" : "Favorito",
+ "{newname} already exists" : "{new_name} ya existe",
+ "Upload" : "Subir",
+ "Text file" : "Archivo de texto",
+ "New text file.txt" : "Nuevo archivo de texto.txt",
+ "Folder" : "Carpeta",
+ "New folder" : "Nueva carpeta",
"An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas",
"A new file or folder has been <strong>created</strong>" : "Se ha <strong>creado</strong> un nuevo archivo o carpeta",
"A file or folder has been <strong>changed</strong>" : "Se ha <strong>modificado</strong> un archivo o carpeta",
@@ -96,12 +103,6 @@
"Settings" : "Ajustes",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use esta URL <a href=\"%s\" target=\"_blank\">para acceder via WebDAV</a>",
- "New" : "Nuevo",
- "New text file" : "Nuevo archivo de texto",
- "Text file" : "Archivo de texto",
- "New folder" : "Nueva carpeta",
- "Folder" : "Carpeta",
- "Upload" : "Subir",
"Cancel upload" : "Cancelar la subida",
"No files in here" : "Aquí no hay archivos",
"Upload some content or sync with your devices!" : "Suba contenidos o sincronice sus dispositivos.",
diff --git a/apps/files/l10n/es_AR.js b/apps/files/l10n/es_AR.js
index 8b277c3b9f5..f99464401b6 100644
--- a/apps/files/l10n/es_AR.js
+++ b/apps/files/l10n/es_AR.js
@@ -29,16 +29,16 @@ OC.L10N.register(
"Upload cancelled." : "La subida fue cancelada",
"Could not get result from server." : "No se pudo obtener resultados del servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará.",
- "{new_name} already exists" : "{new_name} ya existe",
- "Could not create file" : "No se pudo crear el archivo",
- "Could not create folder" : "No se pudo crear el directorio",
"Actions" : "Acciones",
"Download" : "Descargar",
"Select" : "Seleccionar",
"Pending" : "Pendientes",
"Error moving file" : "Error moviendo el archivo",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} ya existe",
"Could not rename file" : "No se pudo renombrar el archivo",
+ "Could not create file" : "No se pudo crear el archivo",
+ "Could not create folder" : "No se pudo crear el directorio",
"Error deleting file." : "Error al borrar el archivo.",
"Name" : "Nombre",
"Size" : "Tamaño",
@@ -48,10 +48,15 @@ OC.L10N.register(
"{dirs} and {files}" : "{carpetas} y {archivos}",
"You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"],
+ "New" : "Nuevo",
"File name cannot be empty." : "El nombre del archivo no puede quedar vacío.",
"Your storage is full, files can not be updated or synced anymore!" : "El almacenamiento está lleno, los archivos no se pueden seguir actualizando ni sincronizando",
"Your storage is almost full ({usedSpacePercent}%)" : "El almacenamiento está casi lleno ({usedSpacePercent}%)",
"Favorite" : "Favorito",
+ "Upload" : "Subir",
+ "Text file" : "Archivo de texto",
+ "Folder" : "Carpeta",
+ "New folder" : "Nueva Carpeta",
"A new file or folder has been <strong>created</strong>" : "Un archivo o carpeta ha sido <strong>creado</strong>",
"A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>modificado</strong>",
"A file or folder has been <strong>deleted</strong>" : "Un archivo o carpeta ha sido <strong>eliminado</strong>",
@@ -69,12 +74,6 @@ OC.L10N.register(
"Settings" : "Configuración",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Usar esta dirección para <a href=\"%s\" target=\"_blank\">acceder a tus archivos vía WebDAV</a>",
- "New" : "Nuevo",
- "New text file" : "Nuevo archivo de texto",
- "Text file" : "Archivo de texto",
- "New folder" : "Nueva Carpeta",
- "Folder" : "Carpeta",
- "Upload" : "Subir",
"Cancel upload" : "Cancelar subida",
"Delete" : "Borrar",
"Upload too large" : "El tamaño del archivo que querés subir es demasiado grande",
diff --git a/apps/files/l10n/es_AR.json b/apps/files/l10n/es_AR.json
index a9bd63269db..43dc9d35c3c 100644
--- a/apps/files/l10n/es_AR.json
+++ b/apps/files/l10n/es_AR.json
@@ -27,16 +27,16 @@
"Upload cancelled." : "La subida fue cancelada",
"Could not get result from server." : "No se pudo obtener resultados del servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará.",
- "{new_name} already exists" : "{new_name} ya existe",
- "Could not create file" : "No se pudo crear el archivo",
- "Could not create folder" : "No se pudo crear el directorio",
"Actions" : "Acciones",
"Download" : "Descargar",
"Select" : "Seleccionar",
"Pending" : "Pendientes",
"Error moving file" : "Error moviendo el archivo",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} ya existe",
"Could not rename file" : "No se pudo renombrar el archivo",
+ "Could not create file" : "No se pudo crear el archivo",
+ "Could not create folder" : "No se pudo crear el directorio",
"Error deleting file." : "Error al borrar el archivo.",
"Name" : "Nombre",
"Size" : "Tamaño",
@@ -46,10 +46,15 @@
"{dirs} and {files}" : "{carpetas} y {archivos}",
"You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"],
+ "New" : "Nuevo",
"File name cannot be empty." : "El nombre del archivo no puede quedar vacío.",
"Your storage is full, files can not be updated or synced anymore!" : "El almacenamiento está lleno, los archivos no se pueden seguir actualizando ni sincronizando",
"Your storage is almost full ({usedSpacePercent}%)" : "El almacenamiento está casi lleno ({usedSpacePercent}%)",
"Favorite" : "Favorito",
+ "Upload" : "Subir",
+ "Text file" : "Archivo de texto",
+ "Folder" : "Carpeta",
+ "New folder" : "Nueva Carpeta",
"A new file or folder has been <strong>created</strong>" : "Un archivo o carpeta ha sido <strong>creado</strong>",
"A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>modificado</strong>",
"A file or folder has been <strong>deleted</strong>" : "Un archivo o carpeta ha sido <strong>eliminado</strong>",
@@ -67,12 +72,6 @@
"Settings" : "Configuración",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Usar esta dirección para <a href=\"%s\" target=\"_blank\">acceder a tus archivos vía WebDAV</a>",
- "New" : "Nuevo",
- "New text file" : "Nuevo archivo de texto",
- "Text file" : "Archivo de texto",
- "New folder" : "Nueva Carpeta",
- "Folder" : "Carpeta",
- "Upload" : "Subir",
"Cancel upload" : "Cancelar subida",
"Delete" : "Borrar",
"Upload too large" : "El tamaño del archivo que querés subir es demasiado grande",
diff --git a/apps/files/l10n/es_CL.js b/apps/files/l10n/es_CL.js
index a33902178e1..c6269cdafd1 100644
--- a/apps/files/l10n/es_CL.js
+++ b/apps/files/l10n/es_CL.js
@@ -5,6 +5,8 @@ OC.L10N.register(
"Files" : "Archivos",
"Download" : "Descargar",
"Error" : "Error",
+ "Upload" : "Subir",
+ "New folder" : "Nuevo directorio",
"A new file or folder has been <strong>created</strong>" : "Un nuevo archivo o carpeta ha sido <strong>creado</strong>",
"A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>cambiado</strong>",
"A file or folder has been <strong>deleted</strong>" : "Un archivo o carpeta ha sido <strong>eliminado</strong>",
@@ -15,8 +17,6 @@ OC.L10N.register(
"You deleted %1$s" : "Ha borrado %1$s",
"%2$s deleted %1$s" : "%2$s borró %1$s",
"Settings" : "Configuración",
- "New folder" : "Nuevo directorio",
- "Upload" : "Subir",
"Cancel upload" : "cancelar subida"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/es_CL.json b/apps/files/l10n/es_CL.json
index 9703b5d68f9..75215c9cb7f 100644
--- a/apps/files/l10n/es_CL.json
+++ b/apps/files/l10n/es_CL.json
@@ -3,6 +3,8 @@
"Files" : "Archivos",
"Download" : "Descargar",
"Error" : "Error",
+ "Upload" : "Subir",
+ "New folder" : "Nuevo directorio",
"A new file or folder has been <strong>created</strong>" : "Un nuevo archivo o carpeta ha sido <strong>creado</strong>",
"A file or folder has been <strong>changed</strong>" : "Un archivo o carpeta ha sido <strong>cambiado</strong>",
"A file or folder has been <strong>deleted</strong>" : "Un archivo o carpeta ha sido <strong>eliminado</strong>",
@@ -13,8 +15,6 @@
"You deleted %1$s" : "Ha borrado %1$s",
"%2$s deleted %1$s" : "%2$s borró %1$s",
"Settings" : "Configuración",
- "New folder" : "Nuevo directorio",
- "Upload" : "Subir",
"Cancel upload" : "cancelar subida"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js
index 61438805521..b58037005aa 100644
--- a/apps/files/l10n/es_MX.js
+++ b/apps/files/l10n/es_MX.js
@@ -29,15 +29,15 @@ OC.L10N.register(
"Upload cancelled." : "Subida cancelada.",
"Could not get result from server." : "No se pudo obtener respuesta del servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si sale de la página ahora, la subida será cancelada.",
- "{new_name} already exists" : "{new_name} ya existe",
- "Could not create file" : "No se pudo crear el archivo",
- "Could not create folder" : "No se pudo crear la carpeta",
"Actions" : "Acciones",
"Download" : "Descargar",
"Pending" : "Pendiente",
"Error moving file" : "Error moviendo archivo",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} ya existe",
"Could not rename file" : "No se pudo renombrar el archivo",
+ "Could not create file" : "No se pudo crear el archivo",
+ "Could not create folder" : "No se pudo crear la carpeta",
"Error deleting file." : "Error borrando el archivo.",
"Name" : "Nombre",
"Size" : "Tamaño",
@@ -47,10 +47,15 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} y {files}",
"You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí.",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"],
+ "New" : "Nuevo",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"Your storage is full, files can not be updated or synced anymore!" : "Su almacenamiento está lleno, ¡los archivos no se actualizarán ni sincronizarán más!",
"Your storage is almost full ({usedSpacePercent}%)" : "Su almacenamiento está casi lleno ({usedSpacePercent}%)",
"Favorite" : "Favorito",
+ "Upload" : "Subir archivo",
+ "Text file" : "Archivo de texto",
+ "Folder" : "Carpeta",
+ "New folder" : "Nueva carpeta",
"%s could not be renamed" : "%s no pudo ser renombrado",
"File handling" : "Administración de archivos",
"Maximum upload size" : "Tamaño máximo de subida",
@@ -59,12 +64,6 @@ OC.L10N.register(
"Settings" : "Ajustes",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilice esta dirección para <a href=\"%s\" target=\"_blank\">acceder a sus archivos vía WebDAV</a>",
- "New" : "Nuevo",
- "New text file" : "Nuevo archivo de texto",
- "Text file" : "Archivo de texto",
- "New folder" : "Nueva carpeta",
- "Folder" : "Carpeta",
- "Upload" : "Subir archivo",
"Cancel upload" : "Cancelar subida",
"Delete" : "Eliminar",
"Upload too large" : "Subida demasido grande",
diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json
index 9bd2fe80f2b..5655fd4bf09 100644
--- a/apps/files/l10n/es_MX.json
+++ b/apps/files/l10n/es_MX.json
@@ -27,15 +27,15 @@
"Upload cancelled." : "Subida cancelada.",
"Could not get result from server." : "No se pudo obtener respuesta del servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "La subida del archivo está en proceso. Si sale de la página ahora, la subida será cancelada.",
- "{new_name} already exists" : "{new_name} ya existe",
- "Could not create file" : "No se pudo crear el archivo",
- "Could not create folder" : "No se pudo crear la carpeta",
"Actions" : "Acciones",
"Download" : "Descargar",
"Pending" : "Pendiente",
"Error moving file" : "Error moviendo archivo",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} ya existe",
"Could not rename file" : "No se pudo renombrar el archivo",
+ "Could not create file" : "No se pudo crear el archivo",
+ "Could not create folder" : "No se pudo crear la carpeta",
"Error deleting file." : "Error borrando el archivo.",
"Name" : "Nombre",
"Size" : "Tamaño",
@@ -45,10 +45,15 @@
"{dirs} and {files}" : "{dirs} y {files}",
"You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí.",
"_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"],
+ "New" : "Nuevo",
"File name cannot be empty." : "El nombre de archivo no puede estar vacío.",
"Your storage is full, files can not be updated or synced anymore!" : "Su almacenamiento está lleno, ¡los archivos no se actualizarán ni sincronizarán más!",
"Your storage is almost full ({usedSpacePercent}%)" : "Su almacenamiento está casi lleno ({usedSpacePercent}%)",
"Favorite" : "Favorito",
+ "Upload" : "Subir archivo",
+ "Text file" : "Archivo de texto",
+ "Folder" : "Carpeta",
+ "New folder" : "Nueva carpeta",
"%s could not be renamed" : "%s no pudo ser renombrado",
"File handling" : "Administración de archivos",
"Maximum upload size" : "Tamaño máximo de subida",
@@ -57,12 +62,6 @@
"Settings" : "Ajustes",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilice esta dirección para <a href=\"%s\" target=\"_blank\">acceder a sus archivos vía WebDAV</a>",
- "New" : "Nuevo",
- "New text file" : "Nuevo archivo de texto",
- "Text file" : "Archivo de texto",
- "New folder" : "Nueva carpeta",
- "Folder" : "Carpeta",
- "Upload" : "Subir archivo",
"Cancel upload" : "Cancelar subida",
"Delete" : "Eliminar",
"Upload too large" : "Subida demasido grande",
diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js
index 384bce053ef..173c6d5503a 100644
--- a/apps/files/l10n/et_EE.js
+++ b/apps/files/l10n/et_EE.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Üleslaadimine tühistati.",
"Could not get result from server." : "Serverist ei saadud tulemusi",
"File upload is in progress. Leaving the page now will cancel the upload." : "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise.",
- "{new_name} already exists" : "{new_name} on juba olemas",
- "Could not create file" : "Ei suuda luua faili",
- "Could not create folder" : "Ei suuda luua kataloogi",
"Actions" : "Tegevused",
"Download" : "Lae alla",
"Select" : "Vali",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Viga faili liigutamisel.",
"Error moving file" : "Viga faili eemaldamisel",
"Error" : "Viga",
+ "{new_name} already exists" : "{new_name} on juba olemas",
"Could not rename file" : "Ei suuda faili ümber nimetada",
+ "Could not create file" : "Ei suuda luua faili",
+ "Could not create folder" : "Ei suuda luua kataloogi",
"Error deleting file." : "Viga faili kustutamisel.",
"No entries in this folder match '{filter}'" : "Ükski sissekanne ei kattu filtriga '{filter}'",
"Name" : "Nimi",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} ja {files}",
"You don’t have permission to upload or create files here" : "Sul puuduvad õigused siia failide üleslaadimiseks või tekitamiseks",
"_Uploading %n file_::_Uploading %n files_" : ["Laadin üles %n faili","Laadin üles %n faili"],
+ "New" : "Uus",
"\"{name}\" is an invalid file name." : "\"{name}\" on vigane failinimi.",
"File name cannot be empty." : "Faili nimi ei saa olla tühi.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} andmemaht on täis! Faile ei uuendata ega sünkroniseerita!",
@@ -70,6 +71,10 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bait","%n baiti"],
"Favorited" : "Lemmikud",
"Favorite" : "Lemmik",
+ "Upload" : "Lae üles",
+ "Text file" : "Tekstifail",
+ "Folder" : "Kaust",
+ "New folder" : "Uus kaust",
"An error occurred while trying to update the tags" : "Siltide uuendamisel tekkis tõrge",
"A new file or folder has been <strong>created</strong>" : "Uus fail või kataloog on <strong>loodud</strong>",
"A file or folder has been <strong>changed</strong>" : "Fail või kataloog on <strong>muudetud</strong>",
@@ -96,12 +101,6 @@ OC.L10N.register(
"Settings" : "Seaded",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Kasuta seda aadressi <a href=\"%s\" target=\"_blank\">oma failidele ligipääsuks WebDAV kaudu</a>",
- "New" : "Uus",
- "New text file" : "Uus tekstifail",
- "Text file" : "Tekstifail",
- "New folder" : "Uus kaust",
- "Folder" : "Kaust",
- "Upload" : "Lae üles",
"Cancel upload" : "Tühista üleslaadimine",
"No files in here" : "Siin ei ole faile",
"Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!",
diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json
index d069982f8f6..d880d3d4720 100644
--- a/apps/files/l10n/et_EE.json
+++ b/apps/files/l10n/et_EE.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Üleslaadimine tühistati.",
"Could not get result from server." : "Serverist ei saadud tulemusi",
"File upload is in progress. Leaving the page now will cancel the upload." : "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise.",
- "{new_name} already exists" : "{new_name} on juba olemas",
- "Could not create file" : "Ei suuda luua faili",
- "Could not create folder" : "Ei suuda luua kataloogi",
"Actions" : "Tegevused",
"Download" : "Lae alla",
"Select" : "Vali",
@@ -47,7 +44,10 @@
"Error moving file." : "Viga faili liigutamisel.",
"Error moving file" : "Viga faili eemaldamisel",
"Error" : "Viga",
+ "{new_name} already exists" : "{new_name} on juba olemas",
"Could not rename file" : "Ei suuda faili ümber nimetada",
+ "Could not create file" : "Ei suuda luua faili",
+ "Could not create folder" : "Ei suuda luua kataloogi",
"Error deleting file." : "Viga faili kustutamisel.",
"No entries in this folder match '{filter}'" : "Ükski sissekanne ei kattu filtriga '{filter}'",
"Name" : "Nimi",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} ja {files}",
"You don’t have permission to upload or create files here" : "Sul puuduvad õigused siia failide üleslaadimiseks või tekitamiseks",
"_Uploading %n file_::_Uploading %n files_" : ["Laadin üles %n faili","Laadin üles %n faili"],
+ "New" : "Uus",
"\"{name}\" is an invalid file name." : "\"{name}\" on vigane failinimi.",
"File name cannot be empty." : "Faili nimi ei saa olla tühi.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} andmemaht on täis! Faile ei uuendata ega sünkroniseerita!",
@@ -68,6 +69,10 @@
"_%n byte_::_%n bytes_" : ["%n bait","%n baiti"],
"Favorited" : "Lemmikud",
"Favorite" : "Lemmik",
+ "Upload" : "Lae üles",
+ "Text file" : "Tekstifail",
+ "Folder" : "Kaust",
+ "New folder" : "Uus kaust",
"An error occurred while trying to update the tags" : "Siltide uuendamisel tekkis tõrge",
"A new file or folder has been <strong>created</strong>" : "Uus fail või kataloog on <strong>loodud</strong>",
"A file or folder has been <strong>changed</strong>" : "Fail või kataloog on <strong>muudetud</strong>",
@@ -94,12 +99,6 @@
"Settings" : "Seaded",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Kasuta seda aadressi <a href=\"%s\" target=\"_blank\">oma failidele ligipääsuks WebDAV kaudu</a>",
- "New" : "Uus",
- "New text file" : "Uus tekstifail",
- "Text file" : "Tekstifail",
- "New folder" : "Uus kaust",
- "Folder" : "Kaust",
- "Upload" : "Lae üles",
"Cancel upload" : "Tühista üleslaadimine",
"No files in here" : "Siin ei ole faile",
"Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!",
diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js
index e14be1ba264..249e73b1871 100644
--- a/apps/files/l10n/eu.js
+++ b/apps/files/l10n/eu.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Igoera ezeztatuta",
"Could not get result from server." : "Ezin da zerbitzaritik emaitzik lortu",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.",
- "{new_name} already exists" : "{new_name} dagoeneko existitzen da",
- "Could not create file" : "Ezin izan da fitxategia sortu",
- "Could not create folder" : "Ezin izan da karpeta sortu",
"Actions" : "Ekintzak",
"Download" : "Deskargatu",
"Select" : "hautatu",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Errorea fitxategia mugitzean.",
"Error moving file" : "Errorea fitxategia mugitzean",
"Error" : "Errorea",
+ "{new_name} already exists" : "{new_name} dagoeneko existitzen da",
"Could not rename file" : "Ezin izan da fitxategia berrizendatu",
+ "Could not create file" : "Ezin izan da fitxategia sortu",
+ "Could not create folder" : "Ezin izan da karpeta sortu",
"Error deleting file." : "Errorea fitxategia ezabatzerakoan.",
"No entries in this folder match '{filter}'" : "Karpeta honetan ez dago sarrerarik '{filter}' iragazkiarekin bat egiten dutenak",
"Name" : "Izena",
@@ -58,12 +58,17 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} eta {files}",
"You don’t have permission to upload or create files here" : "Ez duzu fitxategiak hona igotzeko edo hemen sortzeko baimenik",
"_Uploading %n file_::_Uploading %n files_" : ["Fitxategi %n igotzen","%n fitxategi igotzen"],
+ "New" : "Berria",
"\"{name}\" is an invalid file name." : "\"{name}\" ez da fitxategi izen baliogarria.",
"File name cannot be empty." : "Fitxategi izena ezin da hutsa izan.",
"Your storage is full, files can not be updated or synced anymore!" : "Zure biltegiratzea beterik dago, ezingo duzu aurrerantzean fitxategirik igo edo sinkronizatu!",
"Your storage is almost full ({usedSpacePercent}%)" : "Zure biltegiratzea nahiko beterik dago (%{usedSpacePercent})",
"Favorited" : "Gogokoa",
"Favorite" : "Gogokoa",
+ "Upload" : "Igo",
+ "Text file" : "Testu fitxategia",
+ "Folder" : "Karpeta",
+ "New folder" : "Karpeta berria",
"A new file or folder has been <strong>created</strong>" : "Fitxategi edo karpeta berri bat <strong>sortu da</strong>",
"A file or folder has been <strong>changed</strong>" : "Fitxategi edo karpeta bat <strong>aldatu da</strong>",
"A file or folder has been <strong>deleted</strong>" : "Fitxategi edo karpeta bat <strong>ezabatu da</strong>",
@@ -87,12 +92,6 @@ OC.L10N.register(
"Settings" : "Ezarpenak",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">helbidea erabili zure fitxategiak WebDAV bidez eskuratzeko</a>",
- "New" : "Berria",
- "New text file" : "Testu fitxategi berria",
- "Text file" : "Testu fitxategia",
- "New folder" : "Karpeta berria",
- "Folder" : "Karpeta",
- "Upload" : "Igo",
"Cancel upload" : "Ezeztatu igoera",
"Upload some content or sync with your devices!" : "Igo edukiren bat edo sinkronizatu zure gailuekin!",
"No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan",
diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json
index 3436235e79c..5e610f3f4fa 100644
--- a/apps/files/l10n/eu.json
+++ b/apps/files/l10n/eu.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Igoera ezeztatuta",
"Could not get result from server." : "Ezin da zerbitzaritik emaitzik lortu",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.",
- "{new_name} already exists" : "{new_name} dagoeneko existitzen da",
- "Could not create file" : "Ezin izan da fitxategia sortu",
- "Could not create folder" : "Ezin izan da karpeta sortu",
"Actions" : "Ekintzak",
"Download" : "Deskargatu",
"Select" : "hautatu",
@@ -45,7 +42,10 @@
"Error moving file." : "Errorea fitxategia mugitzean.",
"Error moving file" : "Errorea fitxategia mugitzean",
"Error" : "Errorea",
+ "{new_name} already exists" : "{new_name} dagoeneko existitzen da",
"Could not rename file" : "Ezin izan da fitxategia berrizendatu",
+ "Could not create file" : "Ezin izan da fitxategia sortu",
+ "Could not create folder" : "Ezin izan da karpeta sortu",
"Error deleting file." : "Errorea fitxategia ezabatzerakoan.",
"No entries in this folder match '{filter}'" : "Karpeta honetan ez dago sarrerarik '{filter}' iragazkiarekin bat egiten dutenak",
"Name" : "Izena",
@@ -56,12 +56,17 @@
"{dirs} and {files}" : "{dirs} eta {files}",
"You don’t have permission to upload or create files here" : "Ez duzu fitxategiak hona igotzeko edo hemen sortzeko baimenik",
"_Uploading %n file_::_Uploading %n files_" : ["Fitxategi %n igotzen","%n fitxategi igotzen"],
+ "New" : "Berria",
"\"{name}\" is an invalid file name." : "\"{name}\" ez da fitxategi izen baliogarria.",
"File name cannot be empty." : "Fitxategi izena ezin da hutsa izan.",
"Your storage is full, files can not be updated or synced anymore!" : "Zure biltegiratzea beterik dago, ezingo duzu aurrerantzean fitxategirik igo edo sinkronizatu!",
"Your storage is almost full ({usedSpacePercent}%)" : "Zure biltegiratzea nahiko beterik dago (%{usedSpacePercent})",
"Favorited" : "Gogokoa",
"Favorite" : "Gogokoa",
+ "Upload" : "Igo",
+ "Text file" : "Testu fitxategia",
+ "Folder" : "Karpeta",
+ "New folder" : "Karpeta berria",
"A new file or folder has been <strong>created</strong>" : "Fitxategi edo karpeta berri bat <strong>sortu da</strong>",
"A file or folder has been <strong>changed</strong>" : "Fitxategi edo karpeta bat <strong>aldatu da</strong>",
"A file or folder has been <strong>deleted</strong>" : "Fitxategi edo karpeta bat <strong>ezabatu da</strong>",
@@ -85,12 +90,6 @@
"Settings" : "Ezarpenak",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">helbidea erabili zure fitxategiak WebDAV bidez eskuratzeko</a>",
- "New" : "Berria",
- "New text file" : "Testu fitxategi berria",
- "Text file" : "Testu fitxategia",
- "New folder" : "Karpeta berria",
- "Folder" : "Karpeta",
- "Upload" : "Igo",
"Cancel upload" : "Ezeztatu igoera",
"Upload some content or sync with your devices!" : "Igo edukiren bat edo sinkronizatu zure gailuekin!",
"No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan",
diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js
index 5df2d0ccc3e..984c53c3740 100644
--- a/apps/files/l10n/fa.js
+++ b/apps/files/l10n/fa.js
@@ -22,18 +22,23 @@ OC.L10N.register(
"Close" : "بستن",
"Upload cancelled." : "بار گذاری لغو شد",
"File upload is in progress. Leaving the page now will cancel the upload." : "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ",
- "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.",
"Actions" : "فعالیت ها",
"Download" : "دانلود",
"Pending" : "در انتظار",
"Error" : "خطا",
+ "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.",
"Name" : "نام",
"Size" : "اندازه",
"Modified" : "تاریخ",
"_Uploading %n file_::_Uploading %n files_" : ["در حال بارگذاری %n فایل"],
+ "New" : "جدید",
"File name cannot be empty." : "نام پرونده نمی تواند خالی باشد.",
"Your storage is full, files can not be updated or synced anymore!" : "فضای ذخیره ی شما کاملا پر است، بیش از این فایلها بهنگام یا همگام سازی نمی توانند بشوند!",
"Your storage is almost full ({usedSpacePercent}%)" : "فضای ذخیره ی شما تقریبا پر است ({usedSpacePercent}%)",
+ "Upload" : "بارگزاری",
+ "Text file" : "فایل متنی",
+ "Folder" : "پوشه",
+ "New folder" : "پوشه جدید",
"A new file or folder has been <strong>created</strong>" : "فایل یا پوشه ای <strong>ایجاد</strong> شد",
"A file or folder has been <strong>changed</strong>" : "فایل یا پوشه ای به <strong>تغییر</strong> یافت",
"A file or folder has been <strong>deleted</strong>" : "فایل یا پوشه ای به <strong>حذف</strong> شد",
@@ -55,11 +60,6 @@ OC.L10N.register(
"Settings" : "تنظیمات",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "از این آدرس استفاده کنید تا <a href=\"%s\" target=\"_blank\">بتوانید به فایل‌های خود توسط WebDAV دسترسی پیدا کنید</a>",
- "New" : "جدید",
- "Text file" : "فایل متنی",
- "New folder" : "پوشه جدید",
- "Folder" : "پوشه",
- "Upload" : "بارگزاری",
"Cancel upload" : "متوقف کردن بار گذاری",
"Delete" : "حذف",
"Upload too large" : "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)",
diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json
index b36fee0090c..361dbee1a1f 100644
--- a/apps/files/l10n/fa.json
+++ b/apps/files/l10n/fa.json
@@ -20,18 +20,23 @@
"Close" : "بستن",
"Upload cancelled." : "بار گذاری لغو شد",
"File upload is in progress. Leaving the page now will cancel the upload." : "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ",
- "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.",
"Actions" : "فعالیت ها",
"Download" : "دانلود",
"Pending" : "در انتظار",
"Error" : "خطا",
+ "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.",
"Name" : "نام",
"Size" : "اندازه",
"Modified" : "تاریخ",
"_Uploading %n file_::_Uploading %n files_" : ["در حال بارگذاری %n فایل"],
+ "New" : "جدید",
"File name cannot be empty." : "نام پرونده نمی تواند خالی باشد.",
"Your storage is full, files can not be updated or synced anymore!" : "فضای ذخیره ی شما کاملا پر است، بیش از این فایلها بهنگام یا همگام سازی نمی توانند بشوند!",
"Your storage is almost full ({usedSpacePercent}%)" : "فضای ذخیره ی شما تقریبا پر است ({usedSpacePercent}%)",
+ "Upload" : "بارگزاری",
+ "Text file" : "فایل متنی",
+ "Folder" : "پوشه",
+ "New folder" : "پوشه جدید",
"A new file or folder has been <strong>created</strong>" : "فایل یا پوشه ای <strong>ایجاد</strong> شد",
"A file or folder has been <strong>changed</strong>" : "فایل یا پوشه ای به <strong>تغییر</strong> یافت",
"A file or folder has been <strong>deleted</strong>" : "فایل یا پوشه ای به <strong>حذف</strong> شد",
@@ -53,11 +58,6 @@
"Settings" : "تنظیمات",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "از این آدرس استفاده کنید تا <a href=\"%s\" target=\"_blank\">بتوانید به فایل‌های خود توسط WebDAV دسترسی پیدا کنید</a>",
- "New" : "جدید",
- "Text file" : "فایل متنی",
- "New folder" : "پوشه جدید",
- "Folder" : "پوشه",
- "Upload" : "بارگزاری",
"Cancel upload" : "متوقف کردن بار گذاری",
"Delete" : "حذف",
"Upload too large" : "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)",
diff --git a/apps/files/l10n/fi_FI.js b/apps/files/l10n/fi_FI.js
index 414312858a3..c6615a61234 100644
--- a/apps/files/l10n/fi_FI.js
+++ b/apps/files/l10n/fi_FI.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Lähetys peruttu.",
"Could not get result from server." : "Tuloksien saaminen palvelimelta ei onnistunut.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen.",
- "{new_name} already exists" : "{new_name} on jo olemassa",
- "Could not create file" : "Tiedoston luominen epäonnistui",
- "Could not create folder" : "Kansion luominen epäonnistui",
"Actions" : "Toiminnot",
"Download" : "Lataa",
"Select" : "Valitse",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Virhe tiedostoa siirrettäessä.",
"Error moving file" : "Virhe tiedostoa siirrettäessä",
"Error" : "Virhe",
+ "{new_name} already exists" : "{new_name} on jo olemassa",
"Could not rename file" : "Tiedoston nimeäminen uudelleen epäonnistui",
+ "Could not create file" : "Tiedoston luominen epäonnistui",
+ "Could not create folder" : "Kansion luominen epäonnistui",
"Error deleting file." : "Virhe tiedostoa poistaessa.",
"No entries in this folder match '{filter}'" : "Mikään tässä kansiossa ei vastaa suodatusta '{filter}'",
"Name" : "Nimi",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} ja {files}",
"You don’t have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai kansioiden luomiseen tähän sijaintiin",
"_Uploading %n file_::_Uploading %n files_" : ["Lähetetään %n tiedosto","Lähetetään %n tiedostoa"],
+ "New" : "Uusi",
"\"{name}\" is an invalid file name." : "\"{name}\" on virheellinen tiedostonimi.",
"File name cannot be empty." : "Tiedoston nimi ei voi olla tyhjä.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Käyttäjän {owner} tallennustila on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!",
@@ -71,6 +72,12 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
"Favorited" : "Lisätty suosikkeihin",
"Favorite" : "Suosikki",
+ "{newname} already exists" : "{newname} on jo olemassa",
+ "Upload" : "Lähetä",
+ "Text file" : "Tekstitiedosto",
+ "New text file.txt" : "Uusi tekstitiedosto.txt",
+ "Folder" : "Kansio",
+ "New folder" : "Uusi kansio",
"An error occurred while trying to update the tags" : "Tunnisteiden päivitystä yrittäessä tapahtui virhe",
"A new file or folder has been <strong>created</strong>" : "Uusi tiedosto tai kansio on <strong>luotu</strong>",
"A file or folder has been <strong>changed</strong>" : "Tiedostoa tai kansiota on <strong>muutettu</strong>",
@@ -98,12 +105,6 @@ OC.L10N.register(
"Settings" : "Asetukset",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Käytä tätä osoitetta <a href=\"%s\" target=\"_blank\">käyttääksesi tiedostojasi WebDAVin kautta</a>",
- "New" : "Uusi",
- "New text file" : "Uusi tekstitiedosto",
- "Text file" : "Tekstitiedosto",
- "New folder" : "Uusi kansio",
- "Folder" : "Kansio",
- "Upload" : "Lähetä",
"Cancel upload" : "Peru lähetys",
"No files in here" : "Täällä ei ole tiedostoja",
"Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!",
diff --git a/apps/files/l10n/fi_FI.json b/apps/files/l10n/fi_FI.json
index ade67816cc2..9be7c66d37a 100644
--- a/apps/files/l10n/fi_FI.json
+++ b/apps/files/l10n/fi_FI.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Lähetys peruttu.",
"Could not get result from server." : "Tuloksien saaminen palvelimelta ei onnistunut.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen.",
- "{new_name} already exists" : "{new_name} on jo olemassa",
- "Could not create file" : "Tiedoston luominen epäonnistui",
- "Could not create folder" : "Kansion luominen epäonnistui",
"Actions" : "Toiminnot",
"Download" : "Lataa",
"Select" : "Valitse",
@@ -47,7 +44,10 @@
"Error moving file." : "Virhe tiedostoa siirrettäessä.",
"Error moving file" : "Virhe tiedostoa siirrettäessä",
"Error" : "Virhe",
+ "{new_name} already exists" : "{new_name} on jo olemassa",
"Could not rename file" : "Tiedoston nimeäminen uudelleen epäonnistui",
+ "Could not create file" : "Tiedoston luominen epäonnistui",
+ "Could not create folder" : "Kansion luominen epäonnistui",
"Error deleting file." : "Virhe tiedostoa poistaessa.",
"No entries in this folder match '{filter}'" : "Mikään tässä kansiossa ei vastaa suodatusta '{filter}'",
"Name" : "Nimi",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} ja {files}",
"You don’t have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai kansioiden luomiseen tähän sijaintiin",
"_Uploading %n file_::_Uploading %n files_" : ["Lähetetään %n tiedosto","Lähetetään %n tiedostoa"],
+ "New" : "Uusi",
"\"{name}\" is an invalid file name." : "\"{name}\" on virheellinen tiedostonimi.",
"File name cannot be empty." : "Tiedoston nimi ei voi olla tyhjä.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Käyttäjän {owner} tallennustila on täynnä, tiedostoja ei voi enää päivittää tai synkronoida!",
@@ -69,6 +70,12 @@
"_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
"Favorited" : "Lisätty suosikkeihin",
"Favorite" : "Suosikki",
+ "{newname} already exists" : "{newname} on jo olemassa",
+ "Upload" : "Lähetä",
+ "Text file" : "Tekstitiedosto",
+ "New text file.txt" : "Uusi tekstitiedosto.txt",
+ "Folder" : "Kansio",
+ "New folder" : "Uusi kansio",
"An error occurred while trying to update the tags" : "Tunnisteiden päivitystä yrittäessä tapahtui virhe",
"A new file or folder has been <strong>created</strong>" : "Uusi tiedosto tai kansio on <strong>luotu</strong>",
"A file or folder has been <strong>changed</strong>" : "Tiedostoa tai kansiota on <strong>muutettu</strong>",
@@ -96,12 +103,6 @@
"Settings" : "Asetukset",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Käytä tätä osoitetta <a href=\"%s\" target=\"_blank\">käyttääksesi tiedostojasi WebDAVin kautta</a>",
- "New" : "Uusi",
- "New text file" : "Uusi tekstitiedosto",
- "Text file" : "Tekstitiedosto",
- "New folder" : "Uusi kansio",
- "Folder" : "Kansio",
- "Upload" : "Lähetä",
"Cancel upload" : "Peru lähetys",
"No files in here" : "Täällä ei ole tiedostoja",
"Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!",
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index 40ad266ecea..3b84a6c0c53 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Envoi annulé.",
"Could not get result from server." : "Ne peut recevoir les résultats du serveur.",
"File upload is in progress. Leaving the page now will cancel the upload." : "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.",
- "{new_name} already exists" : "{new_name} existe déjà",
- "Could not create file" : "Impossible de créer le fichier",
- "Could not create folder" : "Impossible de créer le dossier",
"Actions" : "Actions",
"Download" : "Télécharger",
"Select" : "Sélectionner",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Erreur lors du déplacement du fichier.",
"Error moving file" : "Erreur lors du déplacement du fichier",
"Error" : "Erreur",
+ "{new_name} already exists" : "{new_name} existe déjà",
"Could not rename file" : "Impossible de renommer le fichier",
+ "Could not create file" : "Impossible de créer le fichier",
+ "Could not create folder" : "Impossible de créer le dossier",
"Error deleting file." : "Erreur pendant la suppression du fichier.",
"No entries in this folder match '{filter}'" : "Aucune entrée de ce dossier ne correspond à '{filter}'",
"Name" : "Nom",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} et {files}",
"You don’t have permission to upload or create files here" : "Vous n'avez pas la permission d'ajouter des fichiers ici",
"_Uploading %n file_::_Uploading %n files_" : ["Téléversement de %n fichier","Téléversement de %n fichiers"],
+ "New" : "Nouveau",
"\"{name}\" is an invalid file name." : "\"{name}\" n'est pas un nom de fichier valide.",
"File name cannot be empty." : "Le nom de fichier ne peut être vide.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "L'espace de stockage de {owner} est plein. Les fichiers ne peuvent plus être mis à jour ou synchronisés!",
@@ -71,6 +72,12 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n octet","%n octets"],
"Favorited" : "Marqué comme favori",
"Favorite" : "Favoris",
+ "{newname} already exists" : "{newname} existe déjà",
+ "Upload" : "Chargement",
+ "Text file" : "Fichier texte",
+ "New text file.txt" : "Nouveau fichier texte \"file.txt\"",
+ "Folder" : "Dossier",
+ "New folder" : "Nouveau dossier",
"An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes",
"A new file or folder has been <strong>created</strong>" : "Un nouveau fichier ou répertoire a été <strong>créé</strong>",
"A file or folder has been <strong>changed</strong>" : "Un fichier ou un répertoire a été <strong>modifié</strong>",
@@ -98,12 +105,6 @@ OC.L10N.register(
"Settings" : "Paramètres",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilisez cette adresse pour <a href=\"%s\" target=\"_blank\">accéder à vos fichiers par WebDAV</a>",
- "New" : "Nouveau",
- "New text file" : "Nouveau fichier texte",
- "Text file" : "Fichier texte",
- "New folder" : "Nouveau dossier",
- "Folder" : "Dossier",
- "Upload" : "Chargement",
"Cancel upload" : "Annuler l'envoi",
"No files in here" : "Aucun fichier ici",
"Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !",
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index ca2ecebe5d2..4d05b5a42c3 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Envoi annulé.",
"Could not get result from server." : "Ne peut recevoir les résultats du serveur.",
"File upload is in progress. Leaving the page now will cancel the upload." : "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.",
- "{new_name} already exists" : "{new_name} existe déjà",
- "Could not create file" : "Impossible de créer le fichier",
- "Could not create folder" : "Impossible de créer le dossier",
"Actions" : "Actions",
"Download" : "Télécharger",
"Select" : "Sélectionner",
@@ -47,7 +44,10 @@
"Error moving file." : "Erreur lors du déplacement du fichier.",
"Error moving file" : "Erreur lors du déplacement du fichier",
"Error" : "Erreur",
+ "{new_name} already exists" : "{new_name} existe déjà",
"Could not rename file" : "Impossible de renommer le fichier",
+ "Could not create file" : "Impossible de créer le fichier",
+ "Could not create folder" : "Impossible de créer le dossier",
"Error deleting file." : "Erreur pendant la suppression du fichier.",
"No entries in this folder match '{filter}'" : "Aucune entrée de ce dossier ne correspond à '{filter}'",
"Name" : "Nom",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} et {files}",
"You don’t have permission to upload or create files here" : "Vous n'avez pas la permission d'ajouter des fichiers ici",
"_Uploading %n file_::_Uploading %n files_" : ["Téléversement de %n fichier","Téléversement de %n fichiers"],
+ "New" : "Nouveau",
"\"{name}\" is an invalid file name." : "\"{name}\" n'est pas un nom de fichier valide.",
"File name cannot be empty." : "Le nom de fichier ne peut être vide.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "L'espace de stockage de {owner} est plein. Les fichiers ne peuvent plus être mis à jour ou synchronisés!",
@@ -69,6 +70,12 @@
"_%n byte_::_%n bytes_" : ["%n octet","%n octets"],
"Favorited" : "Marqué comme favori",
"Favorite" : "Favoris",
+ "{newname} already exists" : "{newname} existe déjà",
+ "Upload" : "Chargement",
+ "Text file" : "Fichier texte",
+ "New text file.txt" : "Nouveau fichier texte \"file.txt\"",
+ "Folder" : "Dossier",
+ "New folder" : "Nouveau dossier",
"An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes",
"A new file or folder has been <strong>created</strong>" : "Un nouveau fichier ou répertoire a été <strong>créé</strong>",
"A file or folder has been <strong>changed</strong>" : "Un fichier ou un répertoire a été <strong>modifié</strong>",
@@ -96,12 +103,6 @@
"Settings" : "Paramètres",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilisez cette adresse pour <a href=\"%s\" target=\"_blank\">accéder à vos fichiers par WebDAV</a>",
- "New" : "Nouveau",
- "New text file" : "Nouveau fichier texte",
- "Text file" : "Fichier texte",
- "New folder" : "Nouveau dossier",
- "Folder" : "Dossier",
- "Upload" : "Chargement",
"Cancel upload" : "Annuler l'envoi",
"No files in here" : "Aucun fichier ici",
"Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !",
diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js
index 3f666f2b95b..4293b3ab9ba 100644
--- a/apps/files/l10n/gl.js
+++ b/apps/files/l10n/gl.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Envío cancelado.",
"Could not get result from server." : "Non foi posíbel obter o resultado do servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "O envío do ficheiro está en proceso. Saír agora da páxina cancelará o envío.",
- "{new_name} already exists" : "Xa existe un {new_name}",
- "Could not create file" : "Non foi posíbel crear o ficheiro",
- "Could not create folder" : "Non foi posíbel crear o cartafol",
"Actions" : "Accións",
"Download" : "Descargar",
"Select" : "Seleccionar",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Produciuse un erro ao mover o ficheiro.",
"Error moving file" : "Produciuse un erro ao mover o ficheiro",
"Error" : "Erro",
+ "{new_name} already exists" : "Xa existe un {new_name}",
"Could not rename file" : "Non foi posíbel renomear o ficheiro",
+ "Could not create file" : "Non foi posíbel crear o ficheiro",
+ "Could not create folder" : "Non foi posíbel crear o cartafol",
"Error deleting file." : "Produciuse un erro ao eliminar o ficheiro.",
"No entries in this folder match '{filter}'" : "Non hai entradas neste cartafol coincidentes con «{filter}»",
"Name" : "Nome",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} e {files}",
"You don’t have permission to upload or create files here" : "Non ten permisos para enviar ou crear ficheiros aquí.",
"_Uploading %n file_::_Uploading %n files_" : ["Cargando %n ficheiro","Cargando %n ficheiros"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "«{name}» é un nome incorrecto de ficheiro.",
"File name cannot be empty." : "O nome de ficheiro non pode estar baleiro",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "O espazo de almacenamento de {owner} está cheo, non é posíbel actualizar ou sincronizar máis os ficheiros!",
@@ -71,6 +72,10 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Marcado como favorito",
"Favorite" : "Favorito",
+ "Upload" : "Enviar",
+ "Text file" : "Ficheiro de texto",
+ "Folder" : "Cartafol",
+ "New folder" : "Novo cartafol",
"An error occurred while trying to update the tags" : "Produciuse un erro ao tentar actualizar as etiquetas",
"A new file or folder has been <strong>created</strong>" : "<strong>Creouse</strong> un novo ficheiro ou cartafol",
"A file or folder has been <strong>changed</strong>" : "<strong>Cambiouse</strong> un ficheiro ou cartafol",
@@ -97,12 +102,6 @@ OC.L10N.register(
"Settings" : "Axustes",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Empregue esta ligazón para <a href=\"%s\" target=\"_blank\">acceder aos seus ficheiros mediante WebDAV</a>",
- "New" : "Novo",
- "New text file" : "Ficheiro novo de texto",
- "Text file" : "Ficheiro de texto",
- "New folder" : "Novo cartafol",
- "Folder" : "Cartafol",
- "Upload" : "Enviar",
"Cancel upload" : "Cancelar o envío",
"No files in here" : "Aquí non hai ficheiros",
"Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!",
diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json
index f9fec770356..34eeaa6a369 100644
--- a/apps/files/l10n/gl.json
+++ b/apps/files/l10n/gl.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Envío cancelado.",
"Could not get result from server." : "Non foi posíbel obter o resultado do servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "O envío do ficheiro está en proceso. Saír agora da páxina cancelará o envío.",
- "{new_name} already exists" : "Xa existe un {new_name}",
- "Could not create file" : "Non foi posíbel crear o ficheiro",
- "Could not create folder" : "Non foi posíbel crear o cartafol",
"Actions" : "Accións",
"Download" : "Descargar",
"Select" : "Seleccionar",
@@ -47,7 +44,10 @@
"Error moving file." : "Produciuse un erro ao mover o ficheiro.",
"Error moving file" : "Produciuse un erro ao mover o ficheiro",
"Error" : "Erro",
+ "{new_name} already exists" : "Xa existe un {new_name}",
"Could not rename file" : "Non foi posíbel renomear o ficheiro",
+ "Could not create file" : "Non foi posíbel crear o ficheiro",
+ "Could not create folder" : "Non foi posíbel crear o cartafol",
"Error deleting file." : "Produciuse un erro ao eliminar o ficheiro.",
"No entries in this folder match '{filter}'" : "Non hai entradas neste cartafol coincidentes con «{filter}»",
"Name" : "Nome",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} e {files}",
"You don’t have permission to upload or create files here" : "Non ten permisos para enviar ou crear ficheiros aquí.",
"_Uploading %n file_::_Uploading %n files_" : ["Cargando %n ficheiro","Cargando %n ficheiros"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "«{name}» é un nome incorrecto de ficheiro.",
"File name cannot be empty." : "O nome de ficheiro non pode estar baleiro",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "O espazo de almacenamento de {owner} está cheo, non é posíbel actualizar ou sincronizar máis os ficheiros!",
@@ -69,6 +70,10 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Marcado como favorito",
"Favorite" : "Favorito",
+ "Upload" : "Enviar",
+ "Text file" : "Ficheiro de texto",
+ "Folder" : "Cartafol",
+ "New folder" : "Novo cartafol",
"An error occurred while trying to update the tags" : "Produciuse un erro ao tentar actualizar as etiquetas",
"A new file or folder has been <strong>created</strong>" : "<strong>Creouse</strong> un novo ficheiro ou cartafol",
"A file or folder has been <strong>changed</strong>" : "<strong>Cambiouse</strong> un ficheiro ou cartafol",
@@ -95,12 +100,6 @@
"Settings" : "Axustes",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Empregue esta ligazón para <a href=\"%s\" target=\"_blank\">acceder aos seus ficheiros mediante WebDAV</a>",
- "New" : "Novo",
- "New text file" : "Ficheiro novo de texto",
- "Text file" : "Ficheiro de texto",
- "New folder" : "Novo cartafol",
- "Folder" : "Cartafol",
- "Upload" : "Enviar",
"Cancel upload" : "Cancelar o envío",
"No files in here" : "Aquí non hai ficheiros",
"Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!",
diff --git a/apps/files/l10n/he.js b/apps/files/l10n/he.js
index 8918c8686c9..94956cbff0e 100644
--- a/apps/files/l10n/he.js
+++ b/apps/files/l10n/he.js
@@ -22,18 +22,23 @@ OC.L10N.register(
"Upload cancelled." : "ההעלאה בוטלה.",
"Could not get result from server." : "לא ניתן לגשת לתוצאות מהשרת.",
"File upload is in progress. Leaving the page now will cancel the upload." : "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.",
- "{new_name} already exists" : "{new_name} כבר קיים",
"Actions" : "פעולות",
"Download" : "הורדה",
"Select" : "בחר",
"Pending" : "ממתין",
"Error" : "שגיאה",
+ "{new_name} already exists" : "{new_name} כבר קיים",
"Name" : "שם",
"Size" : "גודל",
"Modified" : "זמן שינוי",
+ "New" : "חדש",
"File name cannot be empty." : "שם קובץ אינו יכול להיות ריק",
"Your storage is almost full ({usedSpacePercent}%)" : "שטח האחסון שלך כמעט מלא ({usedSpacePercent}%)",
"Favorite" : "מועדף",
+ "Upload" : "העלאה",
+ "Text file" : "קובץ טקסט",
+ "Folder" : "תיקייה",
+ "New folder" : "תיקייה חדשה",
"A new file or folder has been <strong>created</strong>" : "קובץ או תיקייה חדשים <strong>נוצרו<strong/>",
"A file or folder has been <strong>changed</strong>" : "קובץ או תיקייה <strong>שונו<strong/>",
"A file or folder has been <strong>deleted</strong>" : "קובץ או תיקייה <strong>נמחקו<strong/>",
@@ -51,11 +56,6 @@ OC.L10N.register(
"Save" : "שמירה",
"Settings" : "הגדרות",
"WebDAV" : "WebDAV",
- "New" : "חדש",
- "Text file" : "קובץ טקסט",
- "New folder" : "תיקייה חדשה",
- "Folder" : "תיקייה",
- "Upload" : "העלאה",
"Cancel upload" : "ביטול ההעלאה",
"Delete" : "מחיקה",
"Upload too large" : "העלאה גדולה מידי",
diff --git a/apps/files/l10n/he.json b/apps/files/l10n/he.json
index 38b8365eaa0..8dfc57f3276 100644
--- a/apps/files/l10n/he.json
+++ b/apps/files/l10n/he.json
@@ -20,18 +20,23 @@
"Upload cancelled." : "ההעלאה בוטלה.",
"Could not get result from server." : "לא ניתן לגשת לתוצאות מהשרת.",
"File upload is in progress. Leaving the page now will cancel the upload." : "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.",
- "{new_name} already exists" : "{new_name} כבר קיים",
"Actions" : "פעולות",
"Download" : "הורדה",
"Select" : "בחר",
"Pending" : "ממתין",
"Error" : "שגיאה",
+ "{new_name} already exists" : "{new_name} כבר קיים",
"Name" : "שם",
"Size" : "גודל",
"Modified" : "זמן שינוי",
+ "New" : "חדש",
"File name cannot be empty." : "שם קובץ אינו יכול להיות ריק",
"Your storage is almost full ({usedSpacePercent}%)" : "שטח האחסון שלך כמעט מלא ({usedSpacePercent}%)",
"Favorite" : "מועדף",
+ "Upload" : "העלאה",
+ "Text file" : "קובץ טקסט",
+ "Folder" : "תיקייה",
+ "New folder" : "תיקייה חדשה",
"A new file or folder has been <strong>created</strong>" : "קובץ או תיקייה חדשים <strong>נוצרו<strong/>",
"A file or folder has been <strong>changed</strong>" : "קובץ או תיקייה <strong>שונו<strong/>",
"A file or folder has been <strong>deleted</strong>" : "קובץ או תיקייה <strong>נמחקו<strong/>",
@@ -49,11 +54,6 @@
"Save" : "שמירה",
"Settings" : "הגדרות",
"WebDAV" : "WebDAV",
- "New" : "חדש",
- "Text file" : "קובץ טקסט",
- "New folder" : "תיקייה חדשה",
- "Folder" : "תיקייה",
- "Upload" : "העלאה",
"Cancel upload" : "ביטול ההעלאה",
"Delete" : "מחיקה",
"Upload too large" : "העלאה גדולה מידי",
diff --git a/apps/files/l10n/hi.js b/apps/files/l10n/hi.js
index 35ad6e5f688..c040105875d 100644
--- a/apps/files/l10n/hi.js
+++ b/apps/files/l10n/hi.js
@@ -4,9 +4,9 @@ OC.L10N.register(
"Files" : "फाइलें ",
"Close" : "बंद करें ",
"Error" : "त्रुटि",
- "Save" : "सहेजें",
- "Settings" : "सेटिंग्स",
+ "Upload" : "अपलोड ",
"New folder" : "नया फ़ोल्डर",
- "Upload" : "अपलोड "
+ "Save" : "सहेजें",
+ "Settings" : "सेटिंग्स"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/hi.json b/apps/files/l10n/hi.json
index 0bcf3ace1de..70db8f9d7f1 100644
--- a/apps/files/l10n/hi.json
+++ b/apps/files/l10n/hi.json
@@ -2,9 +2,9 @@
"Files" : "फाइलें ",
"Close" : "बंद करें ",
"Error" : "त्रुटि",
- "Save" : "सहेजें",
- "Settings" : "सेटिंग्स",
+ "Upload" : "अपलोड ",
"New folder" : "नया फ़ोल्डर",
- "Upload" : "अपलोड "
+ "Save" : "सहेजें",
+ "Settings" : "सेटिंग्स"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/hr.js b/apps/files/l10n/hr.js
index fb273f410cc..379d43f4dbd 100644
--- a/apps/files/l10n/hr.js
+++ b/apps/files/l10n/hr.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Učitavanje je prekinuto.",
"Could not get result from server." : "Nemoguće dobiti rezultat od poslužitelja.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Učitavanje datoteke je u tijeku. Napuštanje stranice prekinut će učitavanje.",
- "{new_name} already exists" : "{new_name} već postoji",
- "Could not create file" : "Datoteku nije moguće kreirati",
- "Could not create folder" : "Mapu nije moguće kreirati",
"Actions" : "Radnje",
"Download" : "Preuzimanje",
"Select" : "Selektiraj",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Pogrešno premještanje datoteke",
"Error moving file" : "Pogrešno premještanje datoteke",
"Error" : "Pogreška",
+ "{new_name} already exists" : "{new_name} već postoji",
"Could not rename file" : "Datoteku nije moguće preimenovati",
+ "Could not create file" : "Datoteku nije moguće kreirati",
+ "Could not create folder" : "Mapu nije moguće kreirati",
"Error deleting file." : "Pogrešno brisanje datoteke",
"No entries in this folder match '{filter}'" : "Nema zapisa u ovom folderu match '{filter}'",
"Name" : "Naziv",
@@ -58,12 +58,17 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} i {files}",
"You don’t have permission to upload or create files here" : "Ovdje vam nije dopušteno učitavati ili kreirati datoteke",
"_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteka"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.",
"File name cannot be empty." : "Naziv datoteke ne može biti prazan.",
"Your storage is full, files can not be updated or synced anymore!" : "Vaša je pohrana puna, datoteke više nije moguće ažurirati niti sinkronizirati!",
"Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)",
"Favorited" : "Favoritovan",
"Favorite" : "Favorit",
+ "Upload" : "Učitavanje",
+ "Text file" : "Tekstualna datoteka",
+ "Folder" : "Mapa",
+ "New folder" : "Nova mapa",
"A new file or folder has been <strong>created</strong>" : "Nova datoteka ili nova mapa su <strong>kreirani</strong>",
"A file or folder has been <strong>changed</strong>" : "Datoteka ili mapa su <strong>promijenjeni</strong>",
"A file or folder has been <strong>deleted</strong>" : "Datoteka ili mapa su <strong>izbrisani</strong>",
@@ -87,12 +92,6 @@ OC.L10N.register(
"Settings" : "Postavke",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristitet slijedeću adresu za <a href=\"%s\" target=\"_blank\">pristup vašim datotekama putem WebDAV-a</a>",
- "New" : "Novo",
- "New text file" : "Nova tekstualna datoteka",
- "Text file" : "Tekstualna datoteka",
- "New folder" : "Nova mapa",
- "Folder" : "Mapa",
- "Upload" : "Učitavanje",
"Cancel upload" : "Prekini upload",
"Upload some content or sync with your devices!" : "Aplodujte neki sadrzaj ili sinkronizirajte sa vasim uredjajem!",
"No entries found in this folder" : "Zapis nije pronadjen u ovom direktorijumu ",
diff --git a/apps/files/l10n/hr.json b/apps/files/l10n/hr.json
index 92e6b5d80e1..a8d935848ea 100644
--- a/apps/files/l10n/hr.json
+++ b/apps/files/l10n/hr.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Učitavanje je prekinuto.",
"Could not get result from server." : "Nemoguće dobiti rezultat od poslužitelja.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Učitavanje datoteke je u tijeku. Napuštanje stranice prekinut će učitavanje.",
- "{new_name} already exists" : "{new_name} već postoji",
- "Could not create file" : "Datoteku nije moguće kreirati",
- "Could not create folder" : "Mapu nije moguće kreirati",
"Actions" : "Radnje",
"Download" : "Preuzimanje",
"Select" : "Selektiraj",
@@ -45,7 +42,10 @@
"Error moving file." : "Pogrešno premještanje datoteke",
"Error moving file" : "Pogrešno premještanje datoteke",
"Error" : "Pogreška",
+ "{new_name} already exists" : "{new_name} već postoji",
"Could not rename file" : "Datoteku nije moguće preimenovati",
+ "Could not create file" : "Datoteku nije moguće kreirati",
+ "Could not create folder" : "Mapu nije moguće kreirati",
"Error deleting file." : "Pogrešno brisanje datoteke",
"No entries in this folder match '{filter}'" : "Nema zapisa u ovom folderu match '{filter}'",
"Name" : "Naziv",
@@ -56,12 +56,17 @@
"{dirs} and {files}" : "{dirs} i {files}",
"You don’t have permission to upload or create files here" : "Ovdje vam nije dopušteno učitavati ili kreirati datoteke",
"_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteka"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.",
"File name cannot be empty." : "Naziv datoteke ne može biti prazan.",
"Your storage is full, files can not be updated or synced anymore!" : "Vaša je pohrana puna, datoteke više nije moguće ažurirati niti sinkronizirati!",
"Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)",
"Favorited" : "Favoritovan",
"Favorite" : "Favorit",
+ "Upload" : "Učitavanje",
+ "Text file" : "Tekstualna datoteka",
+ "Folder" : "Mapa",
+ "New folder" : "Nova mapa",
"A new file or folder has been <strong>created</strong>" : "Nova datoteka ili nova mapa su <strong>kreirani</strong>",
"A file or folder has been <strong>changed</strong>" : "Datoteka ili mapa su <strong>promijenjeni</strong>",
"A file or folder has been <strong>deleted</strong>" : "Datoteka ili mapa su <strong>izbrisani</strong>",
@@ -85,12 +90,6 @@
"Settings" : "Postavke",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristitet slijedeću adresu za <a href=\"%s\" target=\"_blank\">pristup vašim datotekama putem WebDAV-a</a>",
- "New" : "Novo",
- "New text file" : "Nova tekstualna datoteka",
- "Text file" : "Tekstualna datoteka",
- "New folder" : "Nova mapa",
- "Folder" : "Mapa",
- "Upload" : "Učitavanje",
"Cancel upload" : "Prekini upload",
"Upload some content or sync with your devices!" : "Aplodujte neki sadrzaj ili sinkronizirajte sa vasim uredjajem!",
"No entries found in this folder" : "Zapis nije pronadjen u ovom direktorijumu ",
diff --git a/apps/files/l10n/hu_HU.js b/apps/files/l10n/hu_HU.js
index c7c7719db1c..8b9b7c17f15 100644
--- a/apps/files/l10n/hu_HU.js
+++ b/apps/files/l10n/hu_HU.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "A feltöltést megszakítottuk.",
"Could not get result from server." : "A kiszolgálótól nem kapható meg a művelet eredménye.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.",
- "{new_name} already exists" : "{new_name} már létezik",
- "Could not create file" : "Az állomány nem hozható létre",
- "Could not create folder" : "A mappa nem hozható létre",
"Actions" : "Műveletek",
"Download" : "Letöltés",
"Select" : "Kiválaszt",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Hiba történt a fájl áthelyezése közben.",
"Error moving file" : "Az állomány áthelyezése nem sikerült.",
"Error" : "Hiba",
+ "{new_name} already exists" : "{new_name} már létezik",
"Could not rename file" : "Az állomány nem nevezhető át",
+ "Could not create file" : "Az állomány nem hozható létre",
+ "Could not create folder" : "A mappa nem hozható létre",
"Error deleting file." : "Hiba a file törlése közben.",
"No entries in this folder match '{filter}'" : "Nincsenek egyező bejegyzések ebben a könyvtárban '{filter}'",
"Name" : "Név",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} és {files}",
"You don’t have permission to upload or create files here" : "Önnek nincs jogosultsága ahhoz, hogy ide állományokat töltsön föl, vagy itt újakat hozzon létre",
"_Uploading %n file_::_Uploading %n files_" : ["%n állomány feltöltése","%n állomány feltöltése"],
+ "New" : "Új",
"\"{name}\" is an invalid file name." : "\"{name}\" érvénytelen, mint fájlnév.",
"File name cannot be empty." : "A fájlnév nem lehet semmi.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "A {owner} felhasználó tárolója betelt, a fájlok nem frissíthetők és szinkronizálhatók többet!",
@@ -71,6 +72,12 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"],
"Favorited" : "Kedvenc",
"Favorite" : "Kedvenc",
+ "{newname} already exists" : "{newname} már létezik",
+ "Upload" : "Feltöltés",
+ "Text file" : "Szövegfájl",
+ "New text file.txt" : "Új szöveges fájl.txt",
+ "Folder" : "Mappa",
+ "New folder" : "Új mappa",
"An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket",
"A new file or folder has been <strong>created</strong>" : "Új fájl vagy könyvtár <strong>létrehozása</strong>",
"A file or folder has been <strong>changed</strong>" : "Fájl vagy könyvtár <strong>módosítása</strong>",
@@ -98,12 +105,6 @@ OC.L10N.register(
"Settings" : "Beállítások",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Ezt a címet használja, ha <a href=\"%s\" target=\"_blank\">WebDAV-on keresztül szeretné elérni a fájljait</a>",
- "New" : "Új",
- "New text file" : "Új szövegfájl",
- "Text file" : "Szövegfájl",
- "New folder" : "Új mappa",
- "Folder" : "Mappa",
- "Upload" : "Feltöltés",
"Cancel upload" : "A feltöltés megszakítása",
"No files in here" : "Itt nincsenek fájlok",
"Upload some content or sync with your devices!" : "Tölts fel néhány tartalmat, vagy szinkronizálj az eszközöddel!",
diff --git a/apps/files/l10n/hu_HU.json b/apps/files/l10n/hu_HU.json
index 08027509fb3..6d82cd60413 100644
--- a/apps/files/l10n/hu_HU.json
+++ b/apps/files/l10n/hu_HU.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "A feltöltést megszakítottuk.",
"Could not get result from server." : "A kiszolgálótól nem kapható meg a művelet eredménye.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.",
- "{new_name} already exists" : "{new_name} már létezik",
- "Could not create file" : "Az állomány nem hozható létre",
- "Could not create folder" : "A mappa nem hozható létre",
"Actions" : "Műveletek",
"Download" : "Letöltés",
"Select" : "Kiválaszt",
@@ -47,7 +44,10 @@
"Error moving file." : "Hiba történt a fájl áthelyezése közben.",
"Error moving file" : "Az állomány áthelyezése nem sikerült.",
"Error" : "Hiba",
+ "{new_name} already exists" : "{new_name} már létezik",
"Could not rename file" : "Az állomány nem nevezhető át",
+ "Could not create file" : "Az állomány nem hozható létre",
+ "Could not create folder" : "A mappa nem hozható létre",
"Error deleting file." : "Hiba a file törlése közben.",
"No entries in this folder match '{filter}'" : "Nincsenek egyező bejegyzések ebben a könyvtárban '{filter}'",
"Name" : "Név",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} és {files}",
"You don’t have permission to upload or create files here" : "Önnek nincs jogosultsága ahhoz, hogy ide állományokat töltsön föl, vagy itt újakat hozzon létre",
"_Uploading %n file_::_Uploading %n files_" : ["%n állomány feltöltése","%n állomány feltöltése"],
+ "New" : "Új",
"\"{name}\" is an invalid file name." : "\"{name}\" érvénytelen, mint fájlnév.",
"File name cannot be empty." : "A fájlnév nem lehet semmi.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "A {owner} felhasználó tárolója betelt, a fájlok nem frissíthetők és szinkronizálhatók többet!",
@@ -69,6 +70,12 @@
"_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"],
"Favorited" : "Kedvenc",
"Favorite" : "Kedvenc",
+ "{newname} already exists" : "{newname} már létezik",
+ "Upload" : "Feltöltés",
+ "Text file" : "Szövegfájl",
+ "New text file.txt" : "Új szöveges fájl.txt",
+ "Folder" : "Mappa",
+ "New folder" : "Új mappa",
"An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket",
"A new file or folder has been <strong>created</strong>" : "Új fájl vagy könyvtár <strong>létrehozása</strong>",
"A file or folder has been <strong>changed</strong>" : "Fájl vagy könyvtár <strong>módosítása</strong>",
@@ -96,12 +103,6 @@
"Settings" : "Beállítások",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Ezt a címet használja, ha <a href=\"%s\" target=\"_blank\">WebDAV-on keresztül szeretné elérni a fájljait</a>",
- "New" : "Új",
- "New text file" : "Új szövegfájl",
- "Text file" : "Szövegfájl",
- "New folder" : "Új mappa",
- "Folder" : "Mappa",
- "Upload" : "Feltöltés",
"Cancel upload" : "A feltöltés megszakítása",
"No files in here" : "Itt nincsenek fájlok",
"Upload some content or sync with your devices!" : "Tölts fel néhány tartalmat, vagy szinkronizálj az eszközöddel!",
diff --git a/apps/files/l10n/ia.js b/apps/files/l10n/ia.js
index d6d4b83cfca..9b5d321937e 100644
--- a/apps/files/l10n/ia.js
+++ b/apps/files/l10n/ia.js
@@ -13,7 +13,12 @@ OC.L10N.register(
"Name" : "Nomine",
"Size" : "Dimension",
"Modified" : "Modificate",
+ "New" : "Nove",
"File name cannot be empty." : "Le nomine de file non pote esser vacue.",
+ "Upload" : "Incargar",
+ "Text file" : "File de texto",
+ "Folder" : "Dossier",
+ "New folder" : "Nove dossier",
"A new file or folder has been <strong>created</strong>" : "Un nove file o dossier ha essite <strong>create</strong>",
"A file or folder has been <strong>changed</strong>" : "Un nove file o dossier ha essite <strong>modificate</strong>",
"A file or folder has been <strong>deleted</strong>" : "Un nove file o dossier ha essite <strong>delite</strong>",
@@ -31,11 +36,6 @@ OC.L10N.register(
"Maximum upload size" : "Dimension maxime de incargamento",
"Save" : "Salveguardar",
"Settings" : "Configurationes",
- "New" : "Nove",
- "Text file" : "File de texto",
- "New folder" : "Nove dossier",
- "Folder" : "Dossier",
- "Upload" : "Incargar",
"Delete" : "Deler",
"Upload too large" : "Incargamento troppo longe"
},
diff --git a/apps/files/l10n/ia.json b/apps/files/l10n/ia.json
index 0389c806b30..461634d526a 100644
--- a/apps/files/l10n/ia.json
+++ b/apps/files/l10n/ia.json
@@ -11,7 +11,12 @@
"Name" : "Nomine",
"Size" : "Dimension",
"Modified" : "Modificate",
+ "New" : "Nove",
"File name cannot be empty." : "Le nomine de file non pote esser vacue.",
+ "Upload" : "Incargar",
+ "Text file" : "File de texto",
+ "Folder" : "Dossier",
+ "New folder" : "Nove dossier",
"A new file or folder has been <strong>created</strong>" : "Un nove file o dossier ha essite <strong>create</strong>",
"A file or folder has been <strong>changed</strong>" : "Un nove file o dossier ha essite <strong>modificate</strong>",
"A file or folder has been <strong>deleted</strong>" : "Un nove file o dossier ha essite <strong>delite</strong>",
@@ -29,11 +34,6 @@
"Maximum upload size" : "Dimension maxime de incargamento",
"Save" : "Salveguardar",
"Settings" : "Configurationes",
- "New" : "Nove",
- "Text file" : "File de texto",
- "New folder" : "Nove dossier",
- "Folder" : "Dossier",
- "Upload" : "Incargar",
"Delete" : "Deler",
"Upload too large" : "Incargamento troppo longe"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js
index 8d57bacedf4..af35544da8a 100644
--- a/apps/files/l10n/id.js
+++ b/apps/files/l10n/id.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Pengunggahan dibatalkan.",
"Could not get result from server." : "Tidak mendapatkan hasil dari server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Berkas sedang diunggah. Meninggalkan halaman ini akan membatalkan proses.",
- "{new_name} already exists" : "{new_name} sudah ada",
- "Could not create file" : "Tidak dapat membuat berkas",
- "Could not create folder" : "Tidak dapat membuat folder",
"Actions" : "Tindakan",
"Download" : "Unduh",
"Select" : "Pilih",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Kesalahan saat memindahkan berkas.",
"Error moving file" : "Kesalahan saat memindahkan berkas",
"Error" : "Kesalahan ",
+ "{new_name} already exists" : "{new_name} sudah ada",
"Could not rename file" : "Tidak dapat mengubah nama berkas",
+ "Could not create file" : "Tidak dapat membuat berkas",
+ "Could not create folder" : "Tidak dapat membuat folder",
"Error deleting file." : "Kesalahan saat menghapus berkas.",
"No entries in this folder match '{filter}'" : "Tidak ada entri di folder ini yang cocok dengan '{filter}'",
"Name" : "Nama",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} dan {files}",
"You don’t have permission to upload or create files here" : "Anda tidak memiliki akses untuk mengunggah atau membuat berkas disini",
"_Uploading %n file_::_Uploading %n files_" : ["Mengunggah %n berkas"],
+ "New" : "Baru",
"\"{name}\" is an invalid file name." : "\"{name}\" adalah nama berkas yang tidak sah.",
"File name cannot be empty." : "Nama berkas tidak boleh kosong.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Penyimpanan {owner} penuh, berkas tidak dapat diperbarui atau disinkronisasikan lagi!",
@@ -71,6 +72,10 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte"],
"Favorited" : "Difavoritkan",
"Favorite" : "Favorit",
+ "Upload" : "Unggah",
+ "Text file" : "Berkas teks",
+ "Folder" : "Folder",
+ "New folder" : "Map baru",
"An error occurred while trying to update the tags" : "Terjadi kesalahan saat mencoba untuk memperbarui label",
"A new file or folder has been <strong>created</strong>" : "Sebuah berkas atau folder baru telah <strong>dibuat</strong>",
"A file or folder has been <strong>changed</strong>" : "Sebuah berkas atau folder telah <strong>diubah</strong>",
@@ -98,12 +103,6 @@ OC.L10N.register(
"Settings" : "Pengaturan",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gunakan alamat ini untuk <a href=\"%s\" target=\"_blank\">mengakses Berkas via WebDAV</a>",
- "New" : "Baru",
- "New text file" : "Berkas teks baru",
- "Text file" : "Berkas teks",
- "New folder" : "Map baru",
- "Folder" : "Folder",
- "Upload" : "Unggah",
"Cancel upload" : "Batal unggah",
"No files in here" : "Tidak ada berkas disini",
"Upload some content or sync with your devices!" : "Unggah beberapa konten dan sinkronisasikan dengan perangkat Anda!",
diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json
index c38ca149788..2c0f8274542 100644
--- a/apps/files/l10n/id.json
+++ b/apps/files/l10n/id.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Pengunggahan dibatalkan.",
"Could not get result from server." : "Tidak mendapatkan hasil dari server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Berkas sedang diunggah. Meninggalkan halaman ini akan membatalkan proses.",
- "{new_name} already exists" : "{new_name} sudah ada",
- "Could not create file" : "Tidak dapat membuat berkas",
- "Could not create folder" : "Tidak dapat membuat folder",
"Actions" : "Tindakan",
"Download" : "Unduh",
"Select" : "Pilih",
@@ -47,7 +44,10 @@
"Error moving file." : "Kesalahan saat memindahkan berkas.",
"Error moving file" : "Kesalahan saat memindahkan berkas",
"Error" : "Kesalahan ",
+ "{new_name} already exists" : "{new_name} sudah ada",
"Could not rename file" : "Tidak dapat mengubah nama berkas",
+ "Could not create file" : "Tidak dapat membuat berkas",
+ "Could not create folder" : "Tidak dapat membuat folder",
"Error deleting file." : "Kesalahan saat menghapus berkas.",
"No entries in this folder match '{filter}'" : "Tidak ada entri di folder ini yang cocok dengan '{filter}'",
"Name" : "Nama",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} dan {files}",
"You don’t have permission to upload or create files here" : "Anda tidak memiliki akses untuk mengunggah atau membuat berkas disini",
"_Uploading %n file_::_Uploading %n files_" : ["Mengunggah %n berkas"],
+ "New" : "Baru",
"\"{name}\" is an invalid file name." : "\"{name}\" adalah nama berkas yang tidak sah.",
"File name cannot be empty." : "Nama berkas tidak boleh kosong.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Penyimpanan {owner} penuh, berkas tidak dapat diperbarui atau disinkronisasikan lagi!",
@@ -69,6 +70,10 @@
"_%n byte_::_%n bytes_" : ["%n byte"],
"Favorited" : "Difavoritkan",
"Favorite" : "Favorit",
+ "Upload" : "Unggah",
+ "Text file" : "Berkas teks",
+ "Folder" : "Folder",
+ "New folder" : "Map baru",
"An error occurred while trying to update the tags" : "Terjadi kesalahan saat mencoba untuk memperbarui label",
"A new file or folder has been <strong>created</strong>" : "Sebuah berkas atau folder baru telah <strong>dibuat</strong>",
"A file or folder has been <strong>changed</strong>" : "Sebuah berkas atau folder telah <strong>diubah</strong>",
@@ -96,12 +101,6 @@
"Settings" : "Pengaturan",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gunakan alamat ini untuk <a href=\"%s\" target=\"_blank\">mengakses Berkas via WebDAV</a>",
- "New" : "Baru",
- "New text file" : "Berkas teks baru",
- "Text file" : "Berkas teks",
- "New folder" : "Map baru",
- "Folder" : "Folder",
- "Upload" : "Unggah",
"Cancel upload" : "Batal unggah",
"No files in here" : "Tidak ada berkas disini",
"Upload some content or sync with your devices!" : "Unggah beberapa konten dan sinkronisasikan dengan perangkat Anda!",
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index a3b44be4731..7ac24eba462 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -16,25 +16,25 @@ OC.L10N.register(
"Close" : "Loka",
"Upload cancelled." : "Hætt við innsendingu.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.",
- "{new_name} already exists" : "{new_name} er þegar til",
"Download" : "Niðurhal",
"Select" : "Velja",
"Pending" : "Bíður",
"Error" : "Villa",
+ "{new_name} already exists" : "{new_name} er þegar til",
"Name" : "Nafn",
"Size" : "Stærð",
"Modified" : "Breytt",
+ "New" : "Nýtt",
"File name cannot be empty." : "Nafn skráar má ekki vera tómt",
+ "Upload" : "Senda inn",
+ "Text file" : "Texta skrá",
+ "Folder" : "Mappa",
"File handling" : "Meðhöndlun skrár",
"Maximum upload size" : "Hámarks stærð innsendingar",
"max. possible: " : "hámark mögulegt: ",
"Save" : "Vista",
"Settings" : "Stillingar",
"WebDAV" : "WebDAV",
- "New" : "Nýtt",
- "Text file" : "Texta skrá",
- "Folder" : "Mappa",
- "Upload" : "Senda inn",
"Cancel upload" : "Hætta við innsendingu",
"No entries found in this folder" : "Engar skrár fundust í þessari möppu",
"Select all" : "Velja allt",
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index 9307f9b6df4..8e723d963a7 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -14,25 +14,25 @@
"Close" : "Loka",
"Upload cancelled." : "Hætt við innsendingu.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.",
- "{new_name} already exists" : "{new_name} er þegar til",
"Download" : "Niðurhal",
"Select" : "Velja",
"Pending" : "Bíður",
"Error" : "Villa",
+ "{new_name} already exists" : "{new_name} er þegar til",
"Name" : "Nafn",
"Size" : "Stærð",
"Modified" : "Breytt",
+ "New" : "Nýtt",
"File name cannot be empty." : "Nafn skráar má ekki vera tómt",
+ "Upload" : "Senda inn",
+ "Text file" : "Texta skrá",
+ "Folder" : "Mappa",
"File handling" : "Meðhöndlun skrár",
"Maximum upload size" : "Hámarks stærð innsendingar",
"max. possible: " : "hámark mögulegt: ",
"Save" : "Vista",
"Settings" : "Stillingar",
"WebDAV" : "WebDAV",
- "New" : "Nýtt",
- "Text file" : "Texta skrá",
- "Folder" : "Mappa",
- "Upload" : "Senda inn",
"Cancel upload" : "Hætta við innsendingu",
"No entries found in this folder" : "Engar skrár fundust í þessari möppu",
"Select all" : "Velja allt",
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index 2a7e998cced..aa92ffc0f70 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Caricamento annullato.",
"Could not get result from server." : "Impossibile ottenere il risultato dal server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.",
- "{new_name} already exists" : "{new_name} esiste già",
- "Could not create file" : "Impossibile creare il file",
- "Could not create folder" : "Impossibile creare la cartella",
"Actions" : "Azioni",
"Download" : "Scarica",
"Select" : "Seleziona",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Errore durante lo spostamento del file.",
"Error moving file" : "Errore durante lo spostamento del file",
"Error" : "Errore",
+ "{new_name} already exists" : "{new_name} esiste già",
"Could not rename file" : "Impossibile rinominare il file",
+ "Could not create file" : "Impossibile creare il file",
+ "Could not create folder" : "Impossibile creare la cartella",
"Error deleting file." : "Errore durante l'eliminazione del file.",
"No entries in this folder match '{filter}'" : "Nessuna voce in questa cartella corrisponde a '{filter}'",
"Name" : "Nome",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} e {files}",
"You don’t have permission to upload or create files here" : "Qui non hai i permessi di caricare o creare file",
"_Uploading %n file_::_Uploading %n files_" : ["Caricamento di %n file in corso","Caricamento di %n file in corso"],
+ "New" : "Nuovo",
"\"{name}\" is an invalid file name." : "\"{name}\" non è un nome file valido.",
"File name cannot be empty." : "Il nome del file non può essere vuoto.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Lo spazio di archiviazione di {owner} è pieno, i file non possono essere più aggiornati o sincronizzati!",
@@ -71,6 +72,12 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n byte"],
"Favorited" : "Preferiti",
"Favorite" : "Preferito",
+ "{newname} already exists" : "{newname} esiste già",
+ "Upload" : "Carica",
+ "Text file" : "File di testo",
+ "New text file.txt" : "Nuovo file di testo.txt",
+ "Folder" : "Cartella",
+ "New folder" : "Nuova cartella",
"An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette",
"A new file or folder has been <strong>created</strong>" : "Un nuovo file o cartella è stato <strong>creato</strong>",
"A file or folder has been <strong>changed</strong>" : "Un file o una cartella è stato <strong>modificato</strong>",
@@ -98,12 +105,6 @@ OC.L10N.register(
"Settings" : "Impostazioni",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilizza questo indirizzo per <a href=\"%s\" target=\"_blank\">accedere ai tuoi file con WebDAV</a>",
- "New" : "Nuovo",
- "New text file" : "Nuovo file di testo",
- "Text file" : "File di testo",
- "New folder" : "Nuova cartella",
- "Folder" : "Cartella",
- "Upload" : "Carica",
"Cancel upload" : "Annulla caricamento",
"No files in here" : "Qui non c'è alcun file",
"Upload some content or sync with your devices!" : "Carica alcuni contenuti o sincronizza con i tuoi dispositivi!",
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index b61fb39ae5f..8f18858b2eb 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Caricamento annullato.",
"Could not get result from server." : "Impossibile ottenere il risultato dal server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.",
- "{new_name} already exists" : "{new_name} esiste già",
- "Could not create file" : "Impossibile creare il file",
- "Could not create folder" : "Impossibile creare la cartella",
"Actions" : "Azioni",
"Download" : "Scarica",
"Select" : "Seleziona",
@@ -47,7 +44,10 @@
"Error moving file." : "Errore durante lo spostamento del file.",
"Error moving file" : "Errore durante lo spostamento del file",
"Error" : "Errore",
+ "{new_name} already exists" : "{new_name} esiste già",
"Could not rename file" : "Impossibile rinominare il file",
+ "Could not create file" : "Impossibile creare il file",
+ "Could not create folder" : "Impossibile creare la cartella",
"Error deleting file." : "Errore durante l'eliminazione del file.",
"No entries in this folder match '{filter}'" : "Nessuna voce in questa cartella corrisponde a '{filter}'",
"Name" : "Nome",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} e {files}",
"You don’t have permission to upload or create files here" : "Qui non hai i permessi di caricare o creare file",
"_Uploading %n file_::_Uploading %n files_" : ["Caricamento di %n file in corso","Caricamento di %n file in corso"],
+ "New" : "Nuovo",
"\"{name}\" is an invalid file name." : "\"{name}\" non è un nome file valido.",
"File name cannot be empty." : "Il nome del file non può essere vuoto.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Lo spazio di archiviazione di {owner} è pieno, i file non possono essere più aggiornati o sincronizzati!",
@@ -69,6 +70,12 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n byte"],
"Favorited" : "Preferiti",
"Favorite" : "Preferito",
+ "{newname} already exists" : "{newname} esiste già",
+ "Upload" : "Carica",
+ "Text file" : "File di testo",
+ "New text file.txt" : "Nuovo file di testo.txt",
+ "Folder" : "Cartella",
+ "New folder" : "Nuova cartella",
"An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette",
"A new file or folder has been <strong>created</strong>" : "Un nuovo file o cartella è stato <strong>creato</strong>",
"A file or folder has been <strong>changed</strong>" : "Un file o una cartella è stato <strong>modificato</strong>",
@@ -96,12 +103,6 @@
"Settings" : "Impostazioni",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilizza questo indirizzo per <a href=\"%s\" target=\"_blank\">accedere ai tuoi file con WebDAV</a>",
- "New" : "Nuovo",
- "New text file" : "Nuovo file di testo",
- "Text file" : "File di testo",
- "New folder" : "Nuova cartella",
- "Folder" : "Cartella",
- "Upload" : "Carica",
"Cancel upload" : "Annulla caricamento",
"No files in here" : "Qui non c'è alcun file",
"Upload some content or sync with your devices!" : "Carica alcuni contenuti o sincronizza con i tuoi dispositivi!",
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index 23326e2ab2e..91e75e6e76a 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "アップロードはキャンセルされました。",
"Could not get result from server." : "サーバーから結果を取得できませんでした。",
"File upload is in progress. Leaving the page now will cancel the upload." : "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。",
- "{new_name} already exists" : "{new_name} はすでに存在します",
- "Could not create file" : "ファイルを作成できませんでした",
- "Could not create folder" : "フォルダーを作成できませんでした",
"Actions" : "アクション",
"Download" : "ダウンロード",
"Select" : "選択",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "ファイル移動でエラー",
"Error moving file" : "ファイルの移動エラー",
"Error" : "エラー",
+ "{new_name} already exists" : "{new_name} はすでに存在します",
"Could not rename file" : "ファイルの名前変更ができませんでした",
+ "Could not create file" : "ファイルを作成できませんでした",
+ "Could not create folder" : "フォルダーを作成できませんでした",
"Error deleting file." : "ファイルの削除エラー。",
"No entries in this folder match '{filter}'" : "このフォルダー内で '{filter}' にマッチするものはありません",
"Name" : "名前",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} と {files}",
"You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません",
"_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"],
+ "New" : "新規作成",
"\"{name}\" is an invalid file name." : "\"{name}\" は無効なファイル名です。",
"File name cannot be empty." : "ファイル名を空にすることはできません。",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} のストレージは一杯です。ファイルの更新と同期はもうできません!",
@@ -71,6 +72,10 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n バイト"],
"Favorited" : "お気に入り済",
"Favorite" : "お気に入り",
+ "Upload" : "アップロード",
+ "Text file" : "テキストファイル",
+ "Folder" : "フォルダー",
+ "New folder" : "新しいフォルダー",
"An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました",
"A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーを<strong>作成</strong>したとき",
"A file or folder has been <strong>changed</strong>" : "ファイルまたはフォルダーを<strong>変更</strong>したとき",
@@ -98,12 +103,6 @@ OC.L10N.register(
"Settings" : "設定",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">WebDAV経由でのファイルアクセス</a>にはこのアドレスを利用してください",
- "New" : "新規作成",
- "New text file" : "新規のテキストファイル作成",
- "Text file" : "テキストファイル",
- "New folder" : "新しいフォルダー",
- "Folder" : "フォルダー",
- "Upload" : "アップロード",
"Cancel upload" : "アップロードをキャンセル",
"No files in here" : "ファイルがありません",
"Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。",
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index df2a7bd8058..7c0c94c0348 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "アップロードはキャンセルされました。",
"Could not get result from server." : "サーバーから結果を取得できませんでした。",
"File upload is in progress. Leaving the page now will cancel the upload." : "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。",
- "{new_name} already exists" : "{new_name} はすでに存在します",
- "Could not create file" : "ファイルを作成できませんでした",
- "Could not create folder" : "フォルダーを作成できませんでした",
"Actions" : "アクション",
"Download" : "ダウンロード",
"Select" : "選択",
@@ -47,7 +44,10 @@
"Error moving file." : "ファイル移動でエラー",
"Error moving file" : "ファイルの移動エラー",
"Error" : "エラー",
+ "{new_name} already exists" : "{new_name} はすでに存在します",
"Could not rename file" : "ファイルの名前変更ができませんでした",
+ "Could not create file" : "ファイルを作成できませんでした",
+ "Could not create folder" : "フォルダーを作成できませんでした",
"Error deleting file." : "ファイルの削除エラー。",
"No entries in this folder match '{filter}'" : "このフォルダー内で '{filter}' にマッチするものはありません",
"Name" : "名前",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} と {files}",
"You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません",
"_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"],
+ "New" : "新規作成",
"\"{name}\" is an invalid file name." : "\"{name}\" は無効なファイル名です。",
"File name cannot be empty." : "ファイル名を空にすることはできません。",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} のストレージは一杯です。ファイルの更新と同期はもうできません!",
@@ -69,6 +70,10 @@
"_%n byte_::_%n bytes_" : ["%n バイト"],
"Favorited" : "お気に入り済",
"Favorite" : "お気に入り",
+ "Upload" : "アップロード",
+ "Text file" : "テキストファイル",
+ "Folder" : "フォルダー",
+ "New folder" : "新しいフォルダー",
"An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました",
"A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーを<strong>作成</strong>したとき",
"A file or folder has been <strong>changed</strong>" : "ファイルまたはフォルダーを<strong>変更</strong>したとき",
@@ -96,12 +101,6 @@
"Settings" : "設定",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">WebDAV経由でのファイルアクセス</a>にはこのアドレスを利用してください",
- "New" : "新規作成",
- "New text file" : "新規のテキストファイル作成",
- "Text file" : "テキストファイル",
- "New folder" : "新しいフォルダー",
- "Folder" : "フォルダー",
- "Upload" : "アップロード",
"Cancel upload" : "アップロードをキャンセル",
"No files in here" : "ファイルがありません",
"Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。",
diff --git a/apps/files/l10n/ka_GE.js b/apps/files/l10n/ka_GE.js
index 68e142e74d5..33135feb7cc 100644
--- a/apps/files/l10n/ka_GE.js
+++ b/apps/files/l10n/ka_GE.js
@@ -20,29 +20,29 @@ OC.L10N.register(
"Close" : "დახურვა",
"Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.",
"File upload is in progress. Leaving the page now will cancel the upload." : "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას",
- "{new_name} already exists" : "{new_name} უკვე არსებობს",
"Actions" : "მოქმედებები",
"Download" : "ჩამოტვირთვა",
"Pending" : "მოცდის რეჟიმში",
"Error" : "შეცდომა",
+ "{new_name} already exists" : "{new_name} უკვე არსებობს",
"Name" : "სახელი",
"Size" : "ზომა",
"Modified" : "შეცვლილია",
+ "New" : "ახალი",
"File name cannot be empty." : "ფაილის სახელი არ შეიძლება იყოს ცარიელი.",
"Your storage is full, files can not be updated or synced anymore!" : "თქვენი საცავი გადაივსო. ფაილების განახლება და სინქრონიზირება ვერ მოხერხდება!",
"Your storage is almost full ({usedSpacePercent}%)" : "თქვენი საცავი თითქმის გადაივსო ({usedSpacePercent}%)",
"Favorite" : "ფავორიტი",
+ "Upload" : "ატვირთვა",
+ "Text file" : "ტექსტური ფაილი",
+ "Folder" : "საქაღალდე",
+ "New folder" : "ახალი ფოლდერი",
"File handling" : "ფაილის დამუშავება",
"Maximum upload size" : "მაქსიმუმ ატვირთის ზომა",
"max. possible: " : "მაქს. შესაძლებელი:",
"Save" : "შენახვა",
"Settings" : "პარამეტრები",
"WebDAV" : "WebDAV",
- "New" : "ახალი",
- "Text file" : "ტექსტური ფაილი",
- "New folder" : "ახალი ფოლდერი",
- "Folder" : "საქაღალდე",
- "Upload" : "ატვირთვა",
"Cancel upload" : "ატვირთვის გაუქმება",
"Delete" : "წაშლა",
"Upload too large" : "ასატვირთი ფაილი ძალიან დიდია",
diff --git a/apps/files/l10n/ka_GE.json b/apps/files/l10n/ka_GE.json
index 4cbe5e15fdd..ef3f109d306 100644
--- a/apps/files/l10n/ka_GE.json
+++ b/apps/files/l10n/ka_GE.json
@@ -18,29 +18,29 @@
"Close" : "დახურვა",
"Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.",
"File upload is in progress. Leaving the page now will cancel the upload." : "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას",
- "{new_name} already exists" : "{new_name} უკვე არსებობს",
"Actions" : "მოქმედებები",
"Download" : "ჩამოტვირთვა",
"Pending" : "მოცდის რეჟიმში",
"Error" : "შეცდომა",
+ "{new_name} already exists" : "{new_name} უკვე არსებობს",
"Name" : "სახელი",
"Size" : "ზომა",
"Modified" : "შეცვლილია",
+ "New" : "ახალი",
"File name cannot be empty." : "ფაილის სახელი არ შეიძლება იყოს ცარიელი.",
"Your storage is full, files can not be updated or synced anymore!" : "თქვენი საცავი გადაივსო. ფაილების განახლება და სინქრონიზირება ვერ მოხერხდება!",
"Your storage is almost full ({usedSpacePercent}%)" : "თქვენი საცავი თითქმის გადაივსო ({usedSpacePercent}%)",
"Favorite" : "ფავორიტი",
+ "Upload" : "ატვირთვა",
+ "Text file" : "ტექსტური ფაილი",
+ "Folder" : "საქაღალდე",
+ "New folder" : "ახალი ფოლდერი",
"File handling" : "ფაილის დამუშავება",
"Maximum upload size" : "მაქსიმუმ ატვირთის ზომა",
"max. possible: " : "მაქს. შესაძლებელი:",
"Save" : "შენახვა",
"Settings" : "პარამეტრები",
"WebDAV" : "WebDAV",
- "New" : "ახალი",
- "Text file" : "ტექსტური ფაილი",
- "New folder" : "ახალი ფოლდერი",
- "Folder" : "საქაღალდე",
- "Upload" : "ატვირთვა",
"Cancel upload" : "ატვირთვის გაუქმება",
"Delete" : "წაშლა",
"Upload too large" : "ასატვირთი ფაილი ძალიან დიდია",
diff --git a/apps/files/l10n/km.js b/apps/files/l10n/km.js
index d21f200dc09..6b8517e7229 100644
--- a/apps/files/l10n/km.js
+++ b/apps/files/l10n/km.js
@@ -9,14 +9,19 @@ OC.L10N.register(
"Files" : "ឯកសារ",
"Close" : "បិទ",
"Upload cancelled." : "បាន​បោះបង់​ការ​ផ្ទុក​ឡើង។",
- "{new_name} already exists" : "មាន​ឈ្មោះ {new_name} រួច​ហើយ",
"Download" : "ទាញយក",
"Pending" : "កំពុង​រង់ចាំ",
"Error" : "កំហុស",
+ "{new_name} already exists" : "មាន​ឈ្មោះ {new_name} រួច​ហើយ",
"Name" : "ឈ្មោះ",
"Size" : "ទំហំ",
"Modified" : "បាន​កែ​ប្រែ",
+ "New" : "ថ្មី",
"File name cannot be empty." : "ឈ្មោះ​ឯកសារ​មិន​អាច​នៅ​ទទេ​បាន​ឡើយ។",
+ "Upload" : "ផ្ទុក​ឡើង",
+ "Text file" : "ឯកសារ​អក្សរ",
+ "Folder" : "ថត",
+ "New folder" : "ថត​ថ្មី",
"You created %1$s" : "អ្នក​បាន​បង្កើត %1$s",
"%2$s created %1$s" : "%2$s បាន​បង្កើត %1$s",
"You changed %1$s" : "អ្នក​បាន​ផ្លាស់​ប្ដូរ %1$s",
@@ -27,11 +32,6 @@ OC.L10N.register(
"Save" : "រក្សាទុក",
"Settings" : "ការកំណត់",
"WebDAV" : "WebDAV",
- "New" : "ថ្មី",
- "Text file" : "ឯកសារ​អក្សរ",
- "New folder" : "ថត​ថ្មី",
- "Folder" : "ថត",
- "Upload" : "ផ្ទុក​ឡើង",
"Cancel upload" : "បោះបង់​ការ​ផ្ទុកឡើង",
"Delete" : "លុប",
"Upload too large" : "ផ្ទុក​ឡើង​ធំ​ពេក"
diff --git a/apps/files/l10n/km.json b/apps/files/l10n/km.json
index bd147f593d0..ebbb9a8b4ab 100644
--- a/apps/files/l10n/km.json
+++ b/apps/files/l10n/km.json
@@ -7,14 +7,19 @@
"Files" : "ឯកសារ",
"Close" : "បិទ",
"Upload cancelled." : "បាន​បោះបង់​ការ​ផ្ទុក​ឡើង។",
- "{new_name} already exists" : "មាន​ឈ្មោះ {new_name} រួច​ហើយ",
"Download" : "ទាញយក",
"Pending" : "កំពុង​រង់ចាំ",
"Error" : "កំហុស",
+ "{new_name} already exists" : "មាន​ឈ្មោះ {new_name} រួច​ហើយ",
"Name" : "ឈ្មោះ",
"Size" : "ទំហំ",
"Modified" : "បាន​កែ​ប្រែ",
+ "New" : "ថ្មី",
"File name cannot be empty." : "ឈ្មោះ​ឯកសារ​មិន​អាច​នៅ​ទទេ​បាន​ឡើយ។",
+ "Upload" : "ផ្ទុក​ឡើង",
+ "Text file" : "ឯកសារ​អក្សរ",
+ "Folder" : "ថត",
+ "New folder" : "ថត​ថ្មី",
"You created %1$s" : "អ្នក​បាន​បង្កើត %1$s",
"%2$s created %1$s" : "%2$s បាន​បង្កើត %1$s",
"You changed %1$s" : "អ្នក​បាន​ផ្លាស់​ប្ដូរ %1$s",
@@ -25,11 +30,6 @@
"Save" : "រក្សាទុក",
"Settings" : "ការកំណត់",
"WebDAV" : "WebDAV",
- "New" : "ថ្មី",
- "Text file" : "ឯកសារ​អក្សរ",
- "New folder" : "ថត​ថ្មី",
- "Folder" : "ថត",
- "Upload" : "ផ្ទុក​ឡើង",
"Cancel upload" : "បោះបង់​ការ​ផ្ទុកឡើង",
"Delete" : "លុប",
"Upload too large" : "ផ្ទុក​ឡើង​ធំ​ពេក"
diff --git a/apps/files/l10n/kn.js b/apps/files/l10n/kn.js
index 59e444e46c6..9bd8982fdaf 100644
--- a/apps/files/l10n/kn.js
+++ b/apps/files/l10n/kn.js
@@ -28,9 +28,6 @@ OC.L10N.register(
"Close" : "ಮುಚ್ಚು",
"Upload cancelled." : "ವರ್ಗಾವಣೆಯನ್ನು ರದ್ದು ಮಾಡಲಾಯಿತು.",
"Could not get result from server." : "ಪರಿಚಾರಕ ಕಣಕದಿಂದ ಫಲಿತಾಂಶವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.",
- "{new_name} already exists" : "ಈಗಾಗಲೇ {new_name} ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ",
- "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ",
- "Could not create folder" : "ಕೋಶವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ",
"Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ",
"Select" : "ಆಯ್ಕೆ ಮಾಡಿ",
"Pending" : "ಬಾಕಿ ಇದೆ",
@@ -38,7 +35,10 @@ OC.L10N.register(
"Error moving file." : "ಕಡತದ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸುವಾಗ ದೋಷವಾಗಿದೆ.",
"Error moving file" : "ಕಡತದ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸುವಾಗ ದೋಷವಾಗಿದೆ",
"Error" : "ತಪ್ಪಾಗಿದೆ",
+ "{new_name} already exists" : "ಈಗಾಗಲೇ {new_name} ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ",
"Could not rename file" : "ಕಡತ ಮರುಹೆಸರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ",
+ "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ",
+ "Could not create folder" : "ಕೋಶವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ",
"Error deleting file." : "ಕಡತವನ್ನು ಅಳಿಸುವಲ್ಲಿ ಲೋಪವಾದೆ",
"Name" : "ಹೆಸರು",
"Size" : " ಪ್ರಮಾಣ",
@@ -47,9 +47,14 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n ಕಡತ"],
"You don’t have permission to upload or create files here" : "ನಿಮಗೆ ಇಲ್ಲಿ ಅಪ್ಲೋಡ್ ಅಥವಾ ಕಡತಗಳನ್ನು ರಚಿಸವ ಅನುಮತಿ ಇಲ್ಲ",
"_Uploading %n file_::_Uploading %n files_" : ["%n 'ನೆ ಕಡತವನ್ನು ವರ್ಗಾಯಿಸಲಾಗುತ್ತಿದೆ"],
+ "New" : "ಹೊಸ",
"File name cannot be empty." : "ಕಡತ ಹೆಸರು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ.",
"Favorited" : "ಅಚ್ಚುಮೆಚ್ಚಿನವು",
"Favorite" : "ಅಚ್ಚುಮೆಚ್ಚಿನ",
+ "Upload" : "ವರ್ಗಾಯಿಸಿ",
+ "Text file" : "ಸರಳಾಕ್ಷರದ ಕಡತ",
+ "Folder" : "ಕಡತಕೋಶ",
+ "New folder" : "ಹೊಸ ಕಡತಕೋಶ",
"Upload (max. %s)" : "ವರ್ಗಾವಣೆ (ಗರಿಷ್ಠ %s)",
"File handling" : "ಕಡತ ನಿರ್ವಹಣೆ",
"Maximum upload size" : "ಗರಿಷ್ಠ ವರ್ಗಾವಣೆ ಗಾತ್ರ",
@@ -57,12 +62,6 @@ OC.L10N.register(
"Save" : "ಉಳಿಸಿ",
"Settings" : "ಆಯ್ಕೆ",
"WebDAV" : "WebDAV",
- "New" : "ಹೊಸ",
- "New text file" : "ಹೊಸ ಸರಳಾಕ್ಷರದ ಕಡತ ",
- "Text file" : "ಸರಳಾಕ್ಷರದ ಕಡತ",
- "New folder" : "ಹೊಸ ಕಡತಕೋಶ",
- "Folder" : "ಕಡತಕೋಶ",
- "Upload" : "ವರ್ಗಾಯಿಸಿ",
"Cancel upload" : "ವರ್ಗಾವಣೆ ರದ್ದು ಮಾಡಿ",
"Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ",
"Delete" : "ಅಳಿಸಿ",
diff --git a/apps/files/l10n/kn.json b/apps/files/l10n/kn.json
index d432dbdae33..803b1c87cf4 100644
--- a/apps/files/l10n/kn.json
+++ b/apps/files/l10n/kn.json
@@ -26,9 +26,6 @@
"Close" : "ಮುಚ್ಚು",
"Upload cancelled." : "ವರ್ಗಾವಣೆಯನ್ನು ರದ್ದು ಮಾಡಲಾಯಿತು.",
"Could not get result from server." : "ಪರಿಚಾರಕ ಕಣಕದಿಂದ ಫಲಿತಾಂಶವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.",
- "{new_name} already exists" : "ಈಗಾಗಲೇ {new_name} ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ",
- "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ",
- "Could not create folder" : "ಕೋಶವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ",
"Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ",
"Select" : "ಆಯ್ಕೆ ಮಾಡಿ",
"Pending" : "ಬಾಕಿ ಇದೆ",
@@ -36,7 +33,10 @@
"Error moving file." : "ಕಡತದ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸುವಾಗ ದೋಷವಾಗಿದೆ.",
"Error moving file" : "ಕಡತದ ಸ್ಥಾನವನ್ನು ಬದಲಾಯಿಸುವಾಗ ದೋಷವಾಗಿದೆ",
"Error" : "ತಪ್ಪಾಗಿದೆ",
+ "{new_name} already exists" : "ಈಗಾಗಲೇ {new_name} ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ",
"Could not rename file" : "ಕಡತ ಮರುಹೆಸರಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ",
+ "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ",
+ "Could not create folder" : "ಕೋಶವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ",
"Error deleting file." : "ಕಡತವನ್ನು ಅಳಿಸುವಲ್ಲಿ ಲೋಪವಾದೆ",
"Name" : "ಹೆಸರು",
"Size" : " ಪ್ರಮಾಣ",
@@ -45,9 +45,14 @@
"_%n file_::_%n files_" : ["%n ಕಡತ"],
"You don’t have permission to upload or create files here" : "ನಿಮಗೆ ಇಲ್ಲಿ ಅಪ್ಲೋಡ್ ಅಥವಾ ಕಡತಗಳನ್ನು ರಚಿಸವ ಅನುಮತಿ ಇಲ್ಲ",
"_Uploading %n file_::_Uploading %n files_" : ["%n 'ನೆ ಕಡತವನ್ನು ವರ್ಗಾಯಿಸಲಾಗುತ್ತಿದೆ"],
+ "New" : "ಹೊಸ",
"File name cannot be empty." : "ಕಡತ ಹೆಸರು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ.",
"Favorited" : "ಅಚ್ಚುಮೆಚ್ಚಿನವು",
"Favorite" : "ಅಚ್ಚುಮೆಚ್ಚಿನ",
+ "Upload" : "ವರ್ಗಾಯಿಸಿ",
+ "Text file" : "ಸರಳಾಕ್ಷರದ ಕಡತ",
+ "Folder" : "ಕಡತಕೋಶ",
+ "New folder" : "ಹೊಸ ಕಡತಕೋಶ",
"Upload (max. %s)" : "ವರ್ಗಾವಣೆ (ಗರಿಷ್ಠ %s)",
"File handling" : "ಕಡತ ನಿರ್ವಹಣೆ",
"Maximum upload size" : "ಗರಿಷ್ಠ ವರ್ಗಾವಣೆ ಗಾತ್ರ",
@@ -55,12 +60,6 @@
"Save" : "ಉಳಿಸಿ",
"Settings" : "ಆಯ್ಕೆ",
"WebDAV" : "WebDAV",
- "New" : "ಹೊಸ",
- "New text file" : "ಹೊಸ ಸರಳಾಕ್ಷರದ ಕಡತ ",
- "Text file" : "ಸರಳಾಕ್ಷರದ ಕಡತ",
- "New folder" : "ಹೊಸ ಕಡತಕೋಶ",
- "Folder" : "ಕಡತಕೋಶ",
- "Upload" : "ವರ್ಗಾಯಿಸಿ",
"Cancel upload" : "ವರ್ಗಾವಣೆ ರದ್ದು ಮಾಡಿ",
"Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ",
"Delete" : "ಅಳಿಸಿ",
diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js
index 65ca5780d6f..50126226933 100644
--- a/apps/files/l10n/ko.js
+++ b/apps/files/l10n/ko.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "업로드가 취소되었습니다.",
"Could not get result from server." : "서버에서 결과를 가져올 수 없습니다.",
"File upload is in progress. Leaving the page now will cancel the upload." : "파일 업로드가 진행 중입니다. 이 페이지를 벗어나면 업로드가 취소됩니다.",
- "{new_name} already exists" : "{new_name}이(가) 이미 존재함",
- "Could not create file" : "파일을 만들 수 없음",
- "Could not create folder" : "폴더를 만들 수 없음",
"Actions" : "작업",
"Download" : "다운로드",
"Select" : "선택",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "파일 이동 오류.",
"Error moving file" : "파일 이동 오류",
"Error" : "오류",
+ "{new_name} already exists" : "{new_name}이(가) 이미 존재함",
"Could not rename file" : "이름을 변경할 수 없음",
+ "Could not create file" : "파일을 만들 수 없음",
+ "Could not create folder" : "폴더를 만들 수 없음",
"Error deleting file." : "파일 삭제 오류.",
"No entries in this folder match '{filter}'" : "이 폴더에 '{filter}'와(과) 일치하는 항목 없음",
"Name" : "이름",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} 그리고 {files}",
"You don’t have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다",
"_Uploading %n file_::_Uploading %n files_" : ["파일 %n개 업로드 중"],
+ "New" : "새로 만들기",
"\"{name}\" is an invalid file name." : "\"{name}\"은(는) 잘못된 파일 이름입니다.",
"File name cannot be empty." : "파일 이름이 비어 있을 수 없습니다.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner}의 저장소가 가득 찼습니다. 파일을 더 이상 업데이트하거나 동기화할 수 없습니다!",
@@ -69,6 +70,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["'{filter}'와(과) 일치"],
"Favorited" : "책갈피에 추가됨",
"Favorite" : "즐겨찾기",
+ "Upload" : "업로드",
+ "Text file" : "텍스트 파일",
+ "Folder" : "폴더",
+ "New folder" : "새 폴더",
"An error occurred while trying to update the tags" : "태그를 업데이트하는 중 오류 발생",
"A new file or folder has been <strong>created</strong>" : "새 파일이나 폴더가 <strong>생성됨</strong>",
"A file or folder has been <strong>changed</strong>" : "파일이나 폴더가 <strong>변경됨</strong>",
@@ -95,12 +100,6 @@ OC.L10N.register(
"Settings" : "설정",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "WebDAV로 파일에 접근하려면 <a href=\"%s\" target=\"_blank\">이 주소를 사용하십시오</a>",
- "New" : "새로 만들기",
- "New text file" : "새 텍스트 파일",
- "Text file" : "텍스트 파일",
- "New folder" : "새 폴더",
- "Folder" : "폴더",
- "Upload" : "업로드",
"Cancel upload" : "업로드 취소",
"No files in here" : "여기에 파일 없음",
"Upload some content or sync with your devices!" : "파일을 업로드하거나 장치와 동기화하십시오!",
diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json
index 9139e78c0ac..95601323bd1 100644
--- a/apps/files/l10n/ko.json
+++ b/apps/files/l10n/ko.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "업로드가 취소되었습니다.",
"Could not get result from server." : "서버에서 결과를 가져올 수 없습니다.",
"File upload is in progress. Leaving the page now will cancel the upload." : "파일 업로드가 진행 중입니다. 이 페이지를 벗어나면 업로드가 취소됩니다.",
- "{new_name} already exists" : "{new_name}이(가) 이미 존재함",
- "Could not create file" : "파일을 만들 수 없음",
- "Could not create folder" : "폴더를 만들 수 없음",
"Actions" : "작업",
"Download" : "다운로드",
"Select" : "선택",
@@ -47,7 +44,10 @@
"Error moving file." : "파일 이동 오류.",
"Error moving file" : "파일 이동 오류",
"Error" : "오류",
+ "{new_name} already exists" : "{new_name}이(가) 이미 존재함",
"Could not rename file" : "이름을 변경할 수 없음",
+ "Could not create file" : "파일을 만들 수 없음",
+ "Could not create folder" : "폴더를 만들 수 없음",
"Error deleting file." : "파일 삭제 오류.",
"No entries in this folder match '{filter}'" : "이 폴더에 '{filter}'와(과) 일치하는 항목 없음",
"Name" : "이름",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} 그리고 {files}",
"You don’t have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다",
"_Uploading %n file_::_Uploading %n files_" : ["파일 %n개 업로드 중"],
+ "New" : "새로 만들기",
"\"{name}\" is an invalid file name." : "\"{name}\"은(는) 잘못된 파일 이름입니다.",
"File name cannot be empty." : "파일 이름이 비어 있을 수 없습니다.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner}의 저장소가 가득 찼습니다. 파일을 더 이상 업데이트하거나 동기화할 수 없습니다!",
@@ -67,6 +68,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["'{filter}'와(과) 일치"],
"Favorited" : "책갈피에 추가됨",
"Favorite" : "즐겨찾기",
+ "Upload" : "업로드",
+ "Text file" : "텍스트 파일",
+ "Folder" : "폴더",
+ "New folder" : "새 폴더",
"An error occurred while trying to update the tags" : "태그를 업데이트하는 중 오류 발생",
"A new file or folder has been <strong>created</strong>" : "새 파일이나 폴더가 <strong>생성됨</strong>",
"A file or folder has been <strong>changed</strong>" : "파일이나 폴더가 <strong>변경됨</strong>",
@@ -93,12 +98,6 @@
"Settings" : "설정",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "WebDAV로 파일에 접근하려면 <a href=\"%s\" target=\"_blank\">이 주소를 사용하십시오</a>",
- "New" : "새로 만들기",
- "New text file" : "새 텍스트 파일",
- "Text file" : "텍스트 파일",
- "New folder" : "새 폴더",
- "Folder" : "폴더",
- "Upload" : "업로드",
"Cancel upload" : "업로드 취소",
"No files in here" : "여기에 파일 없음",
"Upload some content or sync with your devices!" : "파일을 업로드하거나 장치와 동기화하십시오!",
diff --git a/apps/files/l10n/ku_IQ.js b/apps/files/l10n/ku_IQ.js
index 4e676ceaa81..32af16b3673 100644
--- a/apps/files/l10n/ku_IQ.js
+++ b/apps/files/l10n/ku_IQ.js
@@ -8,9 +8,9 @@ OC.L10N.register(
"Select" : "دیاریکردنی",
"Error" : "هه‌ڵه",
"Name" : "ناو",
- "Save" : "پاشکه‌وتکردن",
- "Settings" : "ڕێکخستنه‌کان",
+ "Upload" : "بارکردن",
"Folder" : "بوخچه",
- "Upload" : "بارکردن"
+ "Save" : "پاشکه‌وتکردن",
+ "Settings" : "ڕێکخستنه‌کان"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ku_IQ.json b/apps/files/l10n/ku_IQ.json
index 3a42444a605..4f1068bbb04 100644
--- a/apps/files/l10n/ku_IQ.json
+++ b/apps/files/l10n/ku_IQ.json
@@ -6,9 +6,9 @@
"Select" : "دیاریکردنی",
"Error" : "هه‌ڵه",
"Name" : "ناو",
- "Save" : "پاشکه‌وتکردن",
- "Settings" : "ڕێکخستنه‌کان",
+ "Upload" : "بارکردن",
"Folder" : "بوخچه",
- "Upload" : "بارکردن"
+ "Save" : "پاشکه‌وتکردن",
+ "Settings" : "ڕێکخستنه‌کان"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/lb.js b/apps/files/l10n/lb.js
index f6f28c15a77..513d802c1e4 100644
--- a/apps/files/l10n/lb.js
+++ b/apps/files/l10n/lb.js
@@ -20,16 +20,16 @@ OC.L10N.register(
"Name" : "Numm",
"Size" : "Gréisst",
"Modified" : "Geännert",
+ "New" : "Nei",
+ "Upload" : "Eroplueden",
+ "Text file" : "Text Fichier",
+ "Folder" : "Dossier",
+ "New folder" : "Neien Dossier",
"File handling" : "Fichier handling",
"Maximum upload size" : "Maximum Upload Gréisst ",
"max. possible: " : "max. méiglech:",
"Save" : "Späicheren",
"Settings" : "Astellungen",
- "New" : "Nei",
- "Text file" : "Text Fichier",
- "New folder" : "Neien Dossier",
- "Folder" : "Dossier",
- "Upload" : "Eroplueden",
"Cancel upload" : "Upload ofbriechen",
"No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt",
"Select all" : "All auswielen",
diff --git a/apps/files/l10n/lb.json b/apps/files/l10n/lb.json
index 07363a6ab6c..fb586a90991 100644
--- a/apps/files/l10n/lb.json
+++ b/apps/files/l10n/lb.json
@@ -18,16 +18,16 @@
"Name" : "Numm",
"Size" : "Gréisst",
"Modified" : "Geännert",
+ "New" : "Nei",
+ "Upload" : "Eroplueden",
+ "Text file" : "Text Fichier",
+ "Folder" : "Dossier",
+ "New folder" : "Neien Dossier",
"File handling" : "Fichier handling",
"Maximum upload size" : "Maximum Upload Gréisst ",
"max. possible: " : "max. méiglech:",
"Save" : "Späicheren",
"Settings" : "Astellungen",
- "New" : "Nei",
- "Text file" : "Text Fichier",
- "New folder" : "Neien Dossier",
- "Folder" : "Dossier",
- "Upload" : "Eroplueden",
"Cancel upload" : "Upload ofbriechen",
"No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt",
"Select all" : "All auswielen",
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index 272a92f99c4..26fb351f50d 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Įkėlimas atšauktas.",
"Could not get result from server." : "Nepavyko gauti rezultato iš serverio.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Failo įkėlimas pradėtas. Jei paliksite šį puslapį, įkėlimas nutrūks.",
- "{new_name} already exists" : "{new_name} jau egzistuoja",
- "Could not create file" : "Neįmanoma sukurti failo",
- "Could not create folder" : "Neįmanoma sukurti aplanko",
"Actions" : "Veiksmai",
"Download" : "Atsisiųsti",
"Select" : "Pasirinkiti",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Klaida perkeliant failą.",
"Error moving file" : "Klaida perkeliant failą",
"Error" : "Klaida",
+ "{new_name} already exists" : "{new_name} jau egzistuoja",
"Could not rename file" : "Neįmanoma pervadinti failo",
+ "Could not create file" : "Neįmanoma sukurti failo",
+ "Could not create folder" : "Neįmanoma sukurti aplanko",
"Error deleting file." : "Klaida trinant failą.",
"No entries in this folder match '{filter}'" : "Nėra įrašų šiame aplanko atitikmeniui „{filter}“",
"Name" : "Pavadinimas",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} ir {files}",
"You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus",
"_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"],
+ "New" : "Naujas",
"\"{name}\" is an invalid file name." : "„{name}“ yra netinkamas failo pavadinime.",
"File name cannot be empty." : "Failo pavadinimas negali būti tuščias.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} saugykla yra pilna, failai daugiau nebegali būti atnaujinti arba sinchronizuojami!",
@@ -69,6 +70,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["atitikmuo „{filter}“","atitikmenys „{filter}“","atitikmenų „{filter}“"],
"Favorited" : "Pažymėta mėgstamu",
"Favorite" : "Mėgiamas",
+ "Upload" : "Įkelti",
+ "Text file" : "Teksto failas",
+ "Folder" : "Katalogas",
+ "New folder" : "Naujas aplankas",
"An error occurred while trying to update the tags" : "Bandant atnaujinti žymes įvyko klaida",
"A new file or folder has been <strong>created</strong>" : "Naujas failas ar aplankas buvo <strong>sukurtas</strong>",
"A file or folder has been <strong>changed</strong>" : "Failas ar aplankas buvo <strong>pakeistas</strong>",
@@ -95,12 +100,6 @@ OC.L10N.register(
"Settings" : "Nustatymai",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Naudokite šį adresą, kad <a href=\"%s\" target=\"_blank\">pasiektumėte savo failus per WebDAV</a>",
- "New" : "Naujas",
- "New text file" : "Naujas tekstinis failas",
- "Text file" : "Teksto failas",
- "New folder" : "Naujas aplankas",
- "Folder" : "Katalogas",
- "Upload" : "Įkelti",
"Cancel upload" : "Atšaukti siuntimą",
"No files in here" : "Čia nėra failų",
"Upload some content or sync with your devices!" : "Įkelkite kokį nors turinį, arba sinchronizuokite su savo įrenginiais!",
diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index 65103d0cc03..ee8fb0480c2 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Įkėlimas atšauktas.",
"Could not get result from server." : "Nepavyko gauti rezultato iš serverio.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Failo įkėlimas pradėtas. Jei paliksite šį puslapį, įkėlimas nutrūks.",
- "{new_name} already exists" : "{new_name} jau egzistuoja",
- "Could not create file" : "Neįmanoma sukurti failo",
- "Could not create folder" : "Neįmanoma sukurti aplanko",
"Actions" : "Veiksmai",
"Download" : "Atsisiųsti",
"Select" : "Pasirinkiti",
@@ -47,7 +44,10 @@
"Error moving file." : "Klaida perkeliant failą.",
"Error moving file" : "Klaida perkeliant failą",
"Error" : "Klaida",
+ "{new_name} already exists" : "{new_name} jau egzistuoja",
"Could not rename file" : "Neįmanoma pervadinti failo",
+ "Could not create file" : "Neįmanoma sukurti failo",
+ "Could not create folder" : "Neįmanoma sukurti aplanko",
"Error deleting file." : "Klaida trinant failą.",
"No entries in this folder match '{filter}'" : "Nėra įrašų šiame aplanko atitikmeniui „{filter}“",
"Name" : "Pavadinimas",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} ir {files}",
"You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus",
"_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"],
+ "New" : "Naujas",
"\"{name}\" is an invalid file name." : "„{name}“ yra netinkamas failo pavadinime.",
"File name cannot be empty." : "Failo pavadinimas negali būti tuščias.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} saugykla yra pilna, failai daugiau nebegali būti atnaujinti arba sinchronizuojami!",
@@ -67,6 +68,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["atitikmuo „{filter}“","atitikmenys „{filter}“","atitikmenų „{filter}“"],
"Favorited" : "Pažymėta mėgstamu",
"Favorite" : "Mėgiamas",
+ "Upload" : "Įkelti",
+ "Text file" : "Teksto failas",
+ "Folder" : "Katalogas",
+ "New folder" : "Naujas aplankas",
"An error occurred while trying to update the tags" : "Bandant atnaujinti žymes įvyko klaida",
"A new file or folder has been <strong>created</strong>" : "Naujas failas ar aplankas buvo <strong>sukurtas</strong>",
"A file or folder has been <strong>changed</strong>" : "Failas ar aplankas buvo <strong>pakeistas</strong>",
@@ -93,12 +98,6 @@
"Settings" : "Nustatymai",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Naudokite šį adresą, kad <a href=\"%s\" target=\"_blank\">pasiektumėte savo failus per WebDAV</a>",
- "New" : "Naujas",
- "New text file" : "Naujas tekstinis failas",
- "Text file" : "Teksto failas",
- "New folder" : "Naujas aplankas",
- "Folder" : "Katalogas",
- "Upload" : "Įkelti",
"Cancel upload" : "Atšaukti siuntimą",
"No files in here" : "Čia nėra failų",
"Upload some content or sync with your devices!" : "Įkelkite kokį nors turinį, arba sinchronizuokite su savo įrenginiais!",
diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js
index b5963af978b..e86b2d335e7 100644
--- a/apps/files/l10n/lv.js
+++ b/apps/files/l10n/lv.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Augšupielāde ir atcelta.",
"Could not get result from server." : "Nevar saņemt rezultātus no servera",
"File upload is in progress. Leaving the page now will cancel the upload." : "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde.",
- "{new_name} already exists" : "{new_name} jau eksistē",
- "Could not create file" : "Neizdevās izveidot datni",
- "Could not create folder" : "Neizdevās izveidot mapi",
"Actions" : "Darbības",
"Download" : "Lejupielādēt",
"Select" : "Norādīt",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Kļūda, pārvietojot datni.",
"Error moving file" : "Kļūda, pārvietojot datni",
"Error" : "Kļūda",
+ "{new_name} already exists" : "{new_name} jau eksistē",
"Could not rename file" : "Neizdevās pārsaukt datni",
+ "Could not create file" : "Neizdevās izveidot datni",
+ "Could not create folder" : "Neizdevās izveidot mapi",
"Error deleting file." : "Kļūda, dzēšot datni.",
"No entries in this folder match '{filter}'" : "Šajā mapē nekas nav atrasts, meklējot pēc '{filter}'",
"Name" : "Nosaukums",
@@ -58,6 +58,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} un {files}",
"You don’t have permission to upload or create files here" : "Jums nav tiesību, augšupielādēt vai veidot, šeit datnes",
"_Uploading %n file_::_Uploading %n files_" : ["%n","Augšupielāde %n failu","Augšupielāde %n failus"],
+ "New" : "Jauna",
"\"{name}\" is an invalid file name." : "\"{name}\" ir nepareizs datnes nosaukums.",
"File name cannot be empty." : "Datnes nosaukums nevar būt tukšs.",
"Your storage is full, files can not be updated or synced anymore!" : "Jūsu krātuve ir pilna, datnes vairs nevar augšupielādēt vai sinhronizēt!",
@@ -65,6 +66,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["atrasts pēc '{filter}'","atrasts pēc '{filter}'","atrasti pēc '{filter}'"],
"Favorited" : "Favorīti",
"Favorite" : "Iecienītais",
+ "Upload" : "Augšupielādēt",
+ "Text file" : "Teksta datne",
+ "Folder" : "Mape",
+ "New folder" : "Jauna mape",
"An error occurred while trying to update the tags" : "Atjaunojot atzīmes notika kļūda",
"A new file or folder has been <strong>created</strong>" : "<strong>Izveidots</strong> jauns fails vai mape",
"A file or folder has been <strong>changed</strong>" : "<strong>Izmainīts</strong> fails vai mape",
@@ -89,12 +94,6 @@ OC.L10N.register(
"Settings" : "Iestatījumi",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Izmantojot šo adresi, <a href=\"%s\" target=\"_blank\">piekļūstiet saviem failiem, izmantojot WebDAV</a>",
- "New" : "Jauna",
- "New text file" : "Jauna teksta datne",
- "Text file" : "Teksta datne",
- "New folder" : "Jauna mape",
- "Folder" : "Mape",
- "Upload" : "Augšupielādēt",
"Cancel upload" : "Atcelt augšupielādi",
"Upload some content or sync with your devices!" : "Augšupielādē kaut ko vai sinhronizē saturu ar savām ierīcēm!",
"No entries found in this folder" : "Šajā mapē nekas nav atrasts",
diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json
index 5e9498ee6f7..7a5a53c1305 100644
--- a/apps/files/l10n/lv.json
+++ b/apps/files/l10n/lv.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Augšupielāde ir atcelta.",
"Could not get result from server." : "Nevar saņemt rezultātus no servera",
"File upload is in progress. Leaving the page now will cancel the upload." : "Notiek augšupielāde. Pametot lapu tagad, tiks atcelta augšupielāde.",
- "{new_name} already exists" : "{new_name} jau eksistē",
- "Could not create file" : "Neizdevās izveidot datni",
- "Could not create folder" : "Neizdevās izveidot mapi",
"Actions" : "Darbības",
"Download" : "Lejupielādēt",
"Select" : "Norādīt",
@@ -45,7 +42,10 @@
"Error moving file." : "Kļūda, pārvietojot datni.",
"Error moving file" : "Kļūda, pārvietojot datni",
"Error" : "Kļūda",
+ "{new_name} already exists" : "{new_name} jau eksistē",
"Could not rename file" : "Neizdevās pārsaukt datni",
+ "Could not create file" : "Neizdevās izveidot datni",
+ "Could not create folder" : "Neizdevās izveidot mapi",
"Error deleting file." : "Kļūda, dzēšot datni.",
"No entries in this folder match '{filter}'" : "Šajā mapē nekas nav atrasts, meklējot pēc '{filter}'",
"Name" : "Nosaukums",
@@ -56,6 +56,7 @@
"{dirs} and {files}" : "{dirs} un {files}",
"You don’t have permission to upload or create files here" : "Jums nav tiesību, augšupielādēt vai veidot, šeit datnes",
"_Uploading %n file_::_Uploading %n files_" : ["%n","Augšupielāde %n failu","Augšupielāde %n failus"],
+ "New" : "Jauna",
"\"{name}\" is an invalid file name." : "\"{name}\" ir nepareizs datnes nosaukums.",
"File name cannot be empty." : "Datnes nosaukums nevar būt tukšs.",
"Your storage is full, files can not be updated or synced anymore!" : "Jūsu krātuve ir pilna, datnes vairs nevar augšupielādēt vai sinhronizēt!",
@@ -63,6 +64,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["atrasts pēc '{filter}'","atrasts pēc '{filter}'","atrasti pēc '{filter}'"],
"Favorited" : "Favorīti",
"Favorite" : "Iecienītais",
+ "Upload" : "Augšupielādēt",
+ "Text file" : "Teksta datne",
+ "Folder" : "Mape",
+ "New folder" : "Jauna mape",
"An error occurred while trying to update the tags" : "Atjaunojot atzīmes notika kļūda",
"A new file or folder has been <strong>created</strong>" : "<strong>Izveidots</strong> jauns fails vai mape",
"A file or folder has been <strong>changed</strong>" : "<strong>Izmainīts</strong> fails vai mape",
@@ -87,12 +92,6 @@
"Settings" : "Iestatījumi",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Izmantojot šo adresi, <a href=\"%s\" target=\"_blank\">piekļūstiet saviem failiem, izmantojot WebDAV</a>",
- "New" : "Jauna",
- "New text file" : "Jauna teksta datne",
- "Text file" : "Teksta datne",
- "New folder" : "Jauna mape",
- "Folder" : "Mape",
- "Upload" : "Augšupielādēt",
"Cancel upload" : "Atcelt augšupielādi",
"Upload some content or sync with your devices!" : "Augšupielādē kaut ko vai sinhronizē saturu ar savām ierīcēm!",
"No entries found in this folder" : "Šajā mapē nekas nav atrasts",
diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js
index 6246b5b192b..b9225ac6708 100644
--- a/apps/files/l10n/mk.js
+++ b/apps/files/l10n/mk.js
@@ -26,23 +26,28 @@ OC.L10N.register(
"Upload cancelled." : "Преземањето е прекинато.",
"Could not get result from server." : "Не можам да добијам резултат од серверот.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Подигање на датотека е во тек. Напуштење на страницата ќе го прекине.",
- "{new_name} already exists" : "{new_name} веќе постои",
- "Could not create file" : "Не множам да креирам датотека",
- "Could not create folder" : "Не можам да креирам папка",
"Actions" : "Акции",
"Download" : "Преземи",
"Select" : "Избери",
"Pending" : "Чека",
"Error moving file" : "Грешка при префрлање на датотека",
"Error" : "Грешка",
+ "{new_name} already exists" : "{new_name} веќе постои",
"Could not rename file" : "Не можам да ја преименувам датотеката",
+ "Could not create file" : "Не множам да креирам датотека",
+ "Could not create folder" : "Не можам да креирам папка",
"Name" : "Име",
"Size" : "Големина",
"Modified" : "Променето",
"{dirs} and {files}" : "{dirs} и {files}",
+ "New" : "Ново",
"File name cannot be empty." : "Името на датотеката не може да биде празно.",
"Your storage is full, files can not be updated or synced anymore!" : "Вашиот сториџ е полн, датотеките веќе не можат да се освежуваат или синхронизираат!",
"Your storage is almost full ({usedSpacePercent}%)" : "Вашиот сториџ е скоро полн ({usedSpacePercent}%)",
+ "Upload" : "Подигни",
+ "Text file" : "Текстуална датотека",
+ "Folder" : "Папка",
+ "New folder" : "Нова папка",
"You created %1$s" : "Вие креиравте %1$s",
"%2$s created %1$s" : "%2$s креирано %1$s",
"You changed %1$s" : "Вие изменивте %1$s",
@@ -57,11 +62,6 @@ OC.L10N.register(
"Save" : "Сними",
"Settings" : "Подесувања",
"WebDAV" : "WebDAV",
- "New" : "Ново",
- "Text file" : "Текстуална датотека",
- "New folder" : "Нова папка",
- "Folder" : "Папка",
- "Upload" : "Подигни",
"Cancel upload" : "Откажи прикачување",
"Delete" : "Избриши",
"Upload too large" : "Фајлот кој се вчитува е преголем",
diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json
index 9ad1ea0706c..e6ce76ecb45 100644
--- a/apps/files/l10n/mk.json
+++ b/apps/files/l10n/mk.json
@@ -24,23 +24,28 @@
"Upload cancelled." : "Преземањето е прекинато.",
"Could not get result from server." : "Не можам да добијам резултат од серверот.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Подигање на датотека е во тек. Напуштење на страницата ќе го прекине.",
- "{new_name} already exists" : "{new_name} веќе постои",
- "Could not create file" : "Не множам да креирам датотека",
- "Could not create folder" : "Не можам да креирам папка",
"Actions" : "Акции",
"Download" : "Преземи",
"Select" : "Избери",
"Pending" : "Чека",
"Error moving file" : "Грешка при префрлање на датотека",
"Error" : "Грешка",
+ "{new_name} already exists" : "{new_name} веќе постои",
"Could not rename file" : "Не можам да ја преименувам датотеката",
+ "Could not create file" : "Не множам да креирам датотека",
+ "Could not create folder" : "Не можам да креирам папка",
"Name" : "Име",
"Size" : "Големина",
"Modified" : "Променето",
"{dirs} and {files}" : "{dirs} и {files}",
+ "New" : "Ново",
"File name cannot be empty." : "Името на датотеката не може да биде празно.",
"Your storage is full, files can not be updated or synced anymore!" : "Вашиот сториџ е полн, датотеките веќе не можат да се освежуваат или синхронизираат!",
"Your storage is almost full ({usedSpacePercent}%)" : "Вашиот сториџ е скоро полн ({usedSpacePercent}%)",
+ "Upload" : "Подигни",
+ "Text file" : "Текстуална датотека",
+ "Folder" : "Папка",
+ "New folder" : "Нова папка",
"You created %1$s" : "Вие креиравте %1$s",
"%2$s created %1$s" : "%2$s креирано %1$s",
"You changed %1$s" : "Вие изменивте %1$s",
@@ -55,11 +60,6 @@
"Save" : "Сними",
"Settings" : "Подесувања",
"WebDAV" : "WebDAV",
- "New" : "Ново",
- "Text file" : "Текстуална датотека",
- "New folder" : "Нова папка",
- "Folder" : "Папка",
- "Upload" : "Подигни",
"Cancel upload" : "Откажи прикачување",
"Delete" : "Избриши",
"Upload too large" : "Фајлот кој се вчитува е преголем",
diff --git a/apps/files/l10n/mn.js b/apps/files/l10n/mn.js
index d55fa0c2b29..994f002b48c 100644
--- a/apps/files/l10n/mn.js
+++ b/apps/files/l10n/mn.js
@@ -2,6 +2,7 @@ OC.L10N.register(
"files",
{
"Files" : "Файлууд",
+ "Upload" : "Байршуулах",
"A new file or folder has been <strong>created</strong>" : "Файл эсвэл хавтас амжилттай <strong>үүсгэгдлээ</strong>",
"A file or folder has been <strong>changed</strong>" : "Файл эсвэл хавтас амжилттай <strong>солигдлоо</strong>",
"A file or folder has been <strong>deleted</strong>" : "Файл эсвэл хавтас амжилттай <strong>устгагдлаа</strong>",
@@ -16,7 +17,6 @@ OC.L10N.register(
"You restored %1$s" : "Та %1$s-ийг сэргээлээ",
"%2$s restored %1$s" : "%2$s %1$s-ийг сэргээлээ",
"Save" : "Хадгалах",
- "Settings" : "Тохиргоо",
- "Upload" : "Байршуулах"
+ "Settings" : "Тохиргоо"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/mn.json b/apps/files/l10n/mn.json
index d2ff8f5fa4a..f1b58c7e13f 100644
--- a/apps/files/l10n/mn.json
+++ b/apps/files/l10n/mn.json
@@ -1,5 +1,6 @@
{ "translations": {
"Files" : "Файлууд",
+ "Upload" : "Байршуулах",
"A new file or folder has been <strong>created</strong>" : "Файл эсвэл хавтас амжилттай <strong>үүсгэгдлээ</strong>",
"A file or folder has been <strong>changed</strong>" : "Файл эсвэл хавтас амжилттай <strong>солигдлоо</strong>",
"A file or folder has been <strong>deleted</strong>" : "Файл эсвэл хавтас амжилттай <strong>устгагдлаа</strong>",
@@ -14,7 +15,6 @@
"You restored %1$s" : "Та %1$s-ийг сэргээлээ",
"%2$s restored %1$s" : "%2$s %1$s-ийг сэргээлээ",
"Save" : "Хадгалах",
- "Settings" : "Тохиргоо",
- "Upload" : "Байршуулах"
+ "Settings" : "Тохиргоо"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ms_MY.js b/apps/files/l10n/ms_MY.js
index bffc265c0fe..0bbbe400b28 100644
--- a/apps/files/l10n/ms_MY.js
+++ b/apps/files/l10n/ms_MY.js
@@ -18,6 +18,10 @@ OC.L10N.register(
"Name" : "Nama",
"Size" : "Saiz",
"Modified" : "Dimodifikasi",
+ "New" : "Baru",
+ "Upload" : "Muat naik",
+ "Text file" : "Fail teks",
+ "Folder" : "Folder",
"You created %1$s" : "Anda telah membina %1$s",
"%2$s created %1$s" : "%2$s membina %1$s",
"You changed %1$s" : "Anda menukar %1$s",
@@ -26,10 +30,6 @@ OC.L10N.register(
"max. possible: " : "maksimum:",
"Save" : "Simpan",
"Settings" : "Tetapan",
- "New" : "Baru",
- "Text file" : "Fail teks",
- "Folder" : "Folder",
- "Upload" : "Muat naik",
"Cancel upload" : "Batal muat naik",
"Delete" : "Padam",
"Upload too large" : "Muatnaik terlalu besar",
diff --git a/apps/files/l10n/ms_MY.json b/apps/files/l10n/ms_MY.json
index 30b8777b035..071fab23194 100644
--- a/apps/files/l10n/ms_MY.json
+++ b/apps/files/l10n/ms_MY.json
@@ -16,6 +16,10 @@
"Name" : "Nama",
"Size" : "Saiz",
"Modified" : "Dimodifikasi",
+ "New" : "Baru",
+ "Upload" : "Muat naik",
+ "Text file" : "Fail teks",
+ "Folder" : "Folder",
"You created %1$s" : "Anda telah membina %1$s",
"%2$s created %1$s" : "%2$s membina %1$s",
"You changed %1$s" : "Anda menukar %1$s",
@@ -24,10 +28,6 @@
"max. possible: " : "maksimum:",
"Save" : "Simpan",
"Settings" : "Tetapan",
- "New" : "Baru",
- "Text file" : "Fail teks",
- "Folder" : "Folder",
- "Upload" : "Muat naik",
"Cancel upload" : "Batal muat naik",
"Delete" : "Padam",
"Upload too large" : "Muatnaik terlalu besar",
diff --git a/apps/files/l10n/nb_NO.js b/apps/files/l10n/nb_NO.js
index 2dec11dd26a..6c7653d05e6 100644
--- a/apps/files/l10n/nb_NO.js
+++ b/apps/files/l10n/nb_NO.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Opplasting avbrutt.",
"Could not get result from server." : "Fikk ikke resultat fra serveren.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen.",
- "{new_name} already exists" : "{new_name} finnes allerede",
- "Could not create file" : "Klarte ikke å opprette fil",
- "Could not create folder" : "Klarte ikke å opprette mappe",
"Actions" : "Handlinger",
"Download" : "Last ned",
"Select" : "Velg",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Feil ved flytting av fil.",
"Error moving file" : "Feil ved flytting av fil",
"Error" : "Feil",
+ "{new_name} already exists" : "{new_name} finnes allerede",
"Could not rename file" : "Klarte ikke å gi nytt navn til fil",
+ "Could not create file" : "Klarte ikke å opprette fil",
+ "Could not create folder" : "Klarte ikke å opprette mappe",
"Error deleting file." : "Feil ved sletting av fil.",
"No entries in this folder match '{filter}'" : "Ingen oppføringer i denne mappen stemmer med '{filter}'",
"Name" : "Navn",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} og {files}",
"You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her",
"_Uploading %n file_::_Uploading %n files_" : ["Laster opp %n fil","Laster opp %n filer"],
+ "New" : "Ny",
"\"{name}\" is an invalid file name." : "\"{name}\" er et uglydig filnavn.",
"File name cannot be empty." : "Filnavn kan ikke være tomt.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Lagringsplass for {owner} er full, filer kan ikke oppdateres eller synkroniseres lenger!",
@@ -69,6 +70,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : [" stemmer med '{filter}'"," stemmer med '{filter}'"],
"Favorited" : "Er favoritt",
"Favorite" : "Gjør til favoritt",
+ "Upload" : "Last opp",
+ "Text file" : "Tekstfil",
+ "Folder" : "Mappe",
+ "New folder" : "Ny mappe",
"An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av taggene",
"A new file or folder has been <strong>created</strong>" : "En ny fil eller mappe ble <strong>opprettet</strong>",
"A file or folder has been <strong>changed</strong>" : "En fil eller mappe ble <strong>endret</strong>",
@@ -95,12 +100,6 @@ OC.L10N.register(
"Settings" : "Innstillinger",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Bruk denne adressen for å <a href=\"%s\" target=\"_blank\">få tilgang til filene dine via WebDAV</a>",
- "New" : "Ny",
- "New text file" : "Ny tekstfil",
- "Text file" : "Tekstfil",
- "New folder" : "Ny mappe",
- "Folder" : "Mappe",
- "Upload" : "Last opp",
"Cancel upload" : "Avbryt opplasting",
"No files in here" : "Ingen filer her",
"Upload some content or sync with your devices!" : "Last opp noe innhold eller synkroniser med enhetene dine!",
diff --git a/apps/files/l10n/nb_NO.json b/apps/files/l10n/nb_NO.json
index f5adc80f138..f75d26d6d1d 100644
--- a/apps/files/l10n/nb_NO.json
+++ b/apps/files/l10n/nb_NO.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Opplasting avbrutt.",
"Could not get result from server." : "Fikk ikke resultat fra serveren.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen.",
- "{new_name} already exists" : "{new_name} finnes allerede",
- "Could not create file" : "Klarte ikke å opprette fil",
- "Could not create folder" : "Klarte ikke å opprette mappe",
"Actions" : "Handlinger",
"Download" : "Last ned",
"Select" : "Velg",
@@ -47,7 +44,10 @@
"Error moving file." : "Feil ved flytting av fil.",
"Error moving file" : "Feil ved flytting av fil",
"Error" : "Feil",
+ "{new_name} already exists" : "{new_name} finnes allerede",
"Could not rename file" : "Klarte ikke å gi nytt navn til fil",
+ "Could not create file" : "Klarte ikke å opprette fil",
+ "Could not create folder" : "Klarte ikke å opprette mappe",
"Error deleting file." : "Feil ved sletting av fil.",
"No entries in this folder match '{filter}'" : "Ingen oppføringer i denne mappen stemmer med '{filter}'",
"Name" : "Navn",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} og {files}",
"You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her",
"_Uploading %n file_::_Uploading %n files_" : ["Laster opp %n fil","Laster opp %n filer"],
+ "New" : "Ny",
"\"{name}\" is an invalid file name." : "\"{name}\" er et uglydig filnavn.",
"File name cannot be empty." : "Filnavn kan ikke være tomt.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Lagringsplass for {owner} er full, filer kan ikke oppdateres eller synkroniseres lenger!",
@@ -67,6 +68,10 @@
"_matches '{filter}'_::_match '{filter}'_" : [" stemmer med '{filter}'"," stemmer med '{filter}'"],
"Favorited" : "Er favoritt",
"Favorite" : "Gjør til favoritt",
+ "Upload" : "Last opp",
+ "Text file" : "Tekstfil",
+ "Folder" : "Mappe",
+ "New folder" : "Ny mappe",
"An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av taggene",
"A new file or folder has been <strong>created</strong>" : "En ny fil eller mappe ble <strong>opprettet</strong>",
"A file or folder has been <strong>changed</strong>" : "En fil eller mappe ble <strong>endret</strong>",
@@ -93,12 +98,6 @@
"Settings" : "Innstillinger",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Bruk denne adressen for å <a href=\"%s\" target=\"_blank\">få tilgang til filene dine via WebDAV</a>",
- "New" : "Ny",
- "New text file" : "Ny tekstfil",
- "Text file" : "Tekstfil",
- "New folder" : "Ny mappe",
- "Folder" : "Mappe",
- "Upload" : "Last opp",
"Cancel upload" : "Avbryt opplasting",
"No files in here" : "Ingen filer her",
"Upload some content or sync with your devices!" : "Last opp noe innhold eller synkroniser med enhetene dine!",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index 8392da4c2eb..3470d011dc6 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Uploaden geannuleerd.",
"Could not get result from server." : "Kon het resultaat van de server niet terugkrijgen.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.",
- "{new_name} already exists" : "{new_name} bestaat al",
- "Could not create file" : "Kon bestand niet creëren",
- "Could not create folder" : "Kon niet creëren map",
"Actions" : "Acties",
"Download" : "Downloaden",
"Select" : "Selecteer",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Fout bij verplaatsen bestand.",
"Error moving file" : "Fout bij verplaatsen bestand",
"Error" : "Fout",
+ "{new_name} already exists" : "{new_name} bestaat al",
"Could not rename file" : "Kon de naam van het bestand niet wijzigen",
+ "Could not create file" : "Kon bestand niet creëren",
+ "Could not create folder" : "Kon niet creëren map",
"Error deleting file." : "Fout bij verwijderen bestand.",
"No entries in this folder match '{filter}'" : "Niets in deze map komt overeen met '{filter}'",
"Name" : "Naam",
@@ -59,6 +59,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} en {files}",
"You don’t have permission to upload or create files here" : "U hebt geen toestemming om hier te uploaden of bestanden te maken",
"_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"],
+ "New" : "Nieuw",
"\"{name}\" is an invalid file name." : "\"{name}\" is een ongeldige bestandsnaam.",
"File name cannot be empty." : "Bestandsnaam kan niet leeg zijn.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Opslagruimte van {owner} zit vol, bestanden kunnen niet meer worden ge-upload of gesynchroniseerd!",
@@ -70,6 +71,12 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favoriet",
"Favorite" : "Favoriet",
+ "{newname} already exists" : "{newname} bestaat al",
+ "Upload" : "Uploaden",
+ "Text file" : "Tekstbestand",
+ "New text file.txt" : "Nieuw tekstbestand.txt",
+ "Folder" : "Map",
+ "New folder" : "Nieuwe map",
"An error occurred while trying to update the tags" : "Er trad een fout op bij uw poging de tags bij te werken",
"A new file or folder has been <strong>created</strong>" : "Een nieuw bestand of map is <strong>aangemaakt</strong>",
"A file or folder has been <strong>changed</strong>" : "Een bestand of map is <strong>gewijzigd</strong>",
@@ -97,12 +104,6 @@ OC.L10N.register(
"Settings" : "Instellingen",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gebruik deze link <a href=\"%s\" target=\"_blank\">om uw bestanden via WebDAV te benaderen</a>",
- "New" : "Nieuw",
- "New text file" : "Nieuw tekstbestand",
- "Text file" : "Tekstbestand",
- "New folder" : "Nieuwe map",
- "Folder" : "Map",
- "Upload" : "Uploaden",
"Cancel upload" : "Upload afbreken",
"No files in here" : "Hier geen bestanden",
"Upload some content or sync with your devices!" : "Upload bestanden of synchroniseer met uw apparaten!",
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 532905c9c4a..04c0b7916b5 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Uploaden geannuleerd.",
"Could not get result from server." : "Kon het resultaat van de server niet terugkrijgen.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.",
- "{new_name} already exists" : "{new_name} bestaat al",
- "Could not create file" : "Kon bestand niet creëren",
- "Could not create folder" : "Kon niet creëren map",
"Actions" : "Acties",
"Download" : "Downloaden",
"Select" : "Selecteer",
@@ -47,7 +44,10 @@
"Error moving file." : "Fout bij verplaatsen bestand.",
"Error moving file" : "Fout bij verplaatsen bestand",
"Error" : "Fout",
+ "{new_name} already exists" : "{new_name} bestaat al",
"Could not rename file" : "Kon de naam van het bestand niet wijzigen",
+ "Could not create file" : "Kon bestand niet creëren",
+ "Could not create folder" : "Kon niet creëren map",
"Error deleting file." : "Fout bij verwijderen bestand.",
"No entries in this folder match '{filter}'" : "Niets in deze map komt overeen met '{filter}'",
"Name" : "Naam",
@@ -57,6 +57,7 @@
"{dirs} and {files}" : "{dirs} en {files}",
"You don’t have permission to upload or create files here" : "U hebt geen toestemming om hier te uploaden of bestanden te maken",
"_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"],
+ "New" : "Nieuw",
"\"{name}\" is an invalid file name." : "\"{name}\" is een ongeldige bestandsnaam.",
"File name cannot be empty." : "Bestandsnaam kan niet leeg zijn.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Opslagruimte van {owner} zit vol, bestanden kunnen niet meer worden ge-upload of gesynchroniseerd!",
@@ -68,6 +69,12 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favoriet",
"Favorite" : "Favoriet",
+ "{newname} already exists" : "{newname} bestaat al",
+ "Upload" : "Uploaden",
+ "Text file" : "Tekstbestand",
+ "New text file.txt" : "Nieuw tekstbestand.txt",
+ "Folder" : "Map",
+ "New folder" : "Nieuwe map",
"An error occurred while trying to update the tags" : "Er trad een fout op bij uw poging de tags bij te werken",
"A new file or folder has been <strong>created</strong>" : "Een nieuw bestand of map is <strong>aangemaakt</strong>",
"A file or folder has been <strong>changed</strong>" : "Een bestand of map is <strong>gewijzigd</strong>",
@@ -95,12 +102,6 @@
"Settings" : "Instellingen",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gebruik deze link <a href=\"%s\" target=\"_blank\">om uw bestanden via WebDAV te benaderen</a>",
- "New" : "Nieuw",
- "New text file" : "Nieuw tekstbestand",
- "Text file" : "Tekstbestand",
- "New folder" : "Nieuwe map",
- "Folder" : "Map",
- "Upload" : "Uploaden",
"Cancel upload" : "Upload afbreken",
"No files in here" : "Hier geen bestanden",
"Upload some content or sync with your devices!" : "Upload bestanden of synchroniseer met uw apparaten!",
diff --git a/apps/files/l10n/nn_NO.js b/apps/files/l10n/nn_NO.js
index b7523a465d9..cc993f5ca6d 100644
--- a/apps/files/l10n/nn_NO.js
+++ b/apps/files/l10n/nn_NO.js
@@ -26,12 +26,12 @@ OC.L10N.register(
"Upload cancelled." : "Opplasting avbroten.",
"Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.",
- "{new_name} already exists" : "{new_name} finst allereie",
"Actions" : "Handlingar",
"Download" : "Last ned",
"Pending" : "Under vegs",
"Error moving file" : "Feil ved flytting av fil",
"Error" : "Feil",
+ "{new_name} already exists" : "{new_name} finst allereie",
"Name" : "Namn",
"Size" : "Storleik",
"Modified" : "Endra",
@@ -39,10 +39,15 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n fil","%n filer"],
"{dirs} and {files}" : "{dirs} og {files}",
"_Uploading %n file_::_Uploading %n files_" : ["Lastar opp %n fil","Lastar opp %n filer"],
+ "New" : "Ny",
"File name cannot be empty." : "Filnamnet kan ikkje vera tomt.",
"Your storage is full, files can not be updated or synced anymore!" : "Lagringa di er full, kan ikkje lenger oppdatera eller synkronisera!",
"Your storage is almost full ({usedSpacePercent}%)" : "Lagringa di er nesten full ({usedSpacePercent} %)",
"Favorite" : "Favoritt",
+ "Upload" : "Last opp",
+ "Text file" : "Tekst fil",
+ "Folder" : "Mappe",
+ "New folder" : "Ny mappe",
"A new file or folder has been <strong>created</strong>" : "Ei ny fil eller mappe er <strong>oppretta</strong>",
"A file or folder has been <strong>changed</strong>" : "Ei fil eller mappe er <strong>endra</strong>",
"A file or folder has been <strong>deleted</strong>" : "Ei fil eller mappe er <strong>sletta</strong>",
@@ -60,11 +65,6 @@ OC.L10N.register(
"Save" : "Lagre",
"Settings" : "Innstillingar",
"WebDAV" : "WebDAV",
- "New" : "Ny",
- "Text file" : "Tekst fil",
- "New folder" : "Ny mappe",
- "Folder" : "Mappe",
- "Upload" : "Last opp",
"Cancel upload" : "Avbryt opplasting",
"Delete" : "Slett",
"Upload too large" : "For stor opplasting",
diff --git a/apps/files/l10n/nn_NO.json b/apps/files/l10n/nn_NO.json
index 05bef4cb9d2..62d1cfb2c50 100644
--- a/apps/files/l10n/nn_NO.json
+++ b/apps/files/l10n/nn_NO.json
@@ -24,12 +24,12 @@
"Upload cancelled." : "Opplasting avbroten.",
"Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.",
- "{new_name} already exists" : "{new_name} finst allereie",
"Actions" : "Handlingar",
"Download" : "Last ned",
"Pending" : "Under vegs",
"Error moving file" : "Feil ved flytting av fil",
"Error" : "Feil",
+ "{new_name} already exists" : "{new_name} finst allereie",
"Name" : "Namn",
"Size" : "Storleik",
"Modified" : "Endra",
@@ -37,10 +37,15 @@
"_%n file_::_%n files_" : ["%n fil","%n filer"],
"{dirs} and {files}" : "{dirs} og {files}",
"_Uploading %n file_::_Uploading %n files_" : ["Lastar opp %n fil","Lastar opp %n filer"],
+ "New" : "Ny",
"File name cannot be empty." : "Filnamnet kan ikkje vera tomt.",
"Your storage is full, files can not be updated or synced anymore!" : "Lagringa di er full, kan ikkje lenger oppdatera eller synkronisera!",
"Your storage is almost full ({usedSpacePercent}%)" : "Lagringa di er nesten full ({usedSpacePercent} %)",
"Favorite" : "Favoritt",
+ "Upload" : "Last opp",
+ "Text file" : "Tekst fil",
+ "Folder" : "Mappe",
+ "New folder" : "Ny mappe",
"A new file or folder has been <strong>created</strong>" : "Ei ny fil eller mappe er <strong>oppretta</strong>",
"A file or folder has been <strong>changed</strong>" : "Ei fil eller mappe er <strong>endra</strong>",
"A file or folder has been <strong>deleted</strong>" : "Ei fil eller mappe er <strong>sletta</strong>",
@@ -58,11 +63,6 @@
"Save" : "Lagre",
"Settings" : "Innstillingar",
"WebDAV" : "WebDAV",
- "New" : "Ny",
- "Text file" : "Tekst fil",
- "New folder" : "Ny mappe",
- "Folder" : "Mappe",
- "Upload" : "Last opp",
"Cancel upload" : "Avbryt opplasting",
"Delete" : "Slett",
"Upload too large" : "For stor opplasting",
diff --git a/apps/files/l10n/oc.js b/apps/files/l10n/oc.js
index a362dde52be..75bceacac3b 100644
--- a/apps/files/l10n/oc.js
+++ b/apps/files/l10n/oc.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Mandadís anullat.",
"Could not get result from server." : "Pòt pas recebre los resultats del servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Lo mandadís del fichièr es en cors. Quitar aquesta pagina ara anullarà lo mandadís del fichièr.",
- "{new_name} already exists" : "{new_name} existís ja",
- "Could not create file" : "Impossible de crear lo fichièr",
- "Could not create folder" : "Impossible de crear lo dorsièr",
"Actions" : "Accions",
"Download" : "Telecargar",
"Select" : "Seleccionar",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Error al moment del desplaçament del fichièr.",
"Error moving file" : "Error al moment del desplaçament del fichièr",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} existís ja",
"Could not rename file" : "Impossible de renomenar lo fichièr",
+ "Could not create file" : "Impossible de crear lo fichièr",
+ "Could not create folder" : "Impossible de crear lo dorsièr",
"Error deleting file." : "Error pendent la supression del fichièr.",
"No entries in this folder match '{filter}'" : "Cap d'entrada d'aqueste dorsièr correspond pas a '{filter}'",
"Name" : "Nom",
@@ -58,6 +58,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} e {files}",
"You don’t have permission to upload or create files here" : "Avètz pas la permission d'apondre de fichièrs aicí",
"_Uploading %n file_::_Uploading %n files_" : ["Mandadís de %n fichièr","Mandadís de %n fichièrs"],
+ "New" : "Novèl",
"\"{name}\" is an invalid file name." : "\"{name}\" es pas un nom de fichièr valid.",
"File name cannot be empty." : "Lo nom de fichièr pòt pas èsser void.",
"Your storage is full, files can not be updated or synced anymore!" : "Vòstre espaci d'emmagazinatge es plen, los fichièrs pòdon pas mai èsser aponduts o sincronizats !",
@@ -65,6 +66,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["correspond a '{filter}'","correspondon a '{filter}'"],
"Favorited" : "Marcat coma favorit",
"Favorite" : "Favorit",
+ "Upload" : "Cargament",
+ "Text file" : "Fichièr tèxte",
+ "Folder" : "Dorsièr",
+ "New folder" : "Novèl dorsièr",
"An error occurred while trying to update the tags" : "Una error s'es produsida al moment de la mesa a jorn de las etiquetas",
"A new file or folder has been <strong>created</strong>" : "Un novèl fichièr o repertòri es estat <strong>creat</strong>",
"A file or folder has been <strong>changed</strong>" : "Un fichièr o un repertòri es estat <strong>modificat</strong>",
@@ -91,12 +96,6 @@ OC.L10N.register(
"Settings" : "Paramètres",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilizatz aquesta adreça per <a href=\"%s\" target=\"_blank\">accedir a vòstres fichièrs per WebDAV</a>",
- "New" : "Novèl",
- "New text file" : "Novèl fichièr tèxte",
- "Text file" : "Fichièr tèxte",
- "New folder" : "Novèl dorsièr",
- "Folder" : "Dorsièr",
- "Upload" : "Cargament",
"Cancel upload" : "Anullar lo mandadís",
"No files in here" : "Pas cap de fichièr aicí",
"Upload some content or sync with your devices!" : "Depausatz de contengut o sincronizatz vòstres aparelhs !",
diff --git a/apps/files/l10n/oc.json b/apps/files/l10n/oc.json
index 3b89728ce9c..20b690a2ed8 100644
--- a/apps/files/l10n/oc.json
+++ b/apps/files/l10n/oc.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Mandadís anullat.",
"Could not get result from server." : "Pòt pas recebre los resultats del servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Lo mandadís del fichièr es en cors. Quitar aquesta pagina ara anullarà lo mandadís del fichièr.",
- "{new_name} already exists" : "{new_name} existís ja",
- "Could not create file" : "Impossible de crear lo fichièr",
- "Could not create folder" : "Impossible de crear lo dorsièr",
"Actions" : "Accions",
"Download" : "Telecargar",
"Select" : "Seleccionar",
@@ -45,7 +42,10 @@
"Error moving file." : "Error al moment del desplaçament del fichièr.",
"Error moving file" : "Error al moment del desplaçament del fichièr",
"Error" : "Error",
+ "{new_name} already exists" : "{new_name} existís ja",
"Could not rename file" : "Impossible de renomenar lo fichièr",
+ "Could not create file" : "Impossible de crear lo fichièr",
+ "Could not create folder" : "Impossible de crear lo dorsièr",
"Error deleting file." : "Error pendent la supression del fichièr.",
"No entries in this folder match '{filter}'" : "Cap d'entrada d'aqueste dorsièr correspond pas a '{filter}'",
"Name" : "Nom",
@@ -56,6 +56,7 @@
"{dirs} and {files}" : "{dirs} e {files}",
"You don’t have permission to upload or create files here" : "Avètz pas la permission d'apondre de fichièrs aicí",
"_Uploading %n file_::_Uploading %n files_" : ["Mandadís de %n fichièr","Mandadís de %n fichièrs"],
+ "New" : "Novèl",
"\"{name}\" is an invalid file name." : "\"{name}\" es pas un nom de fichièr valid.",
"File name cannot be empty." : "Lo nom de fichièr pòt pas èsser void.",
"Your storage is full, files can not be updated or synced anymore!" : "Vòstre espaci d'emmagazinatge es plen, los fichièrs pòdon pas mai èsser aponduts o sincronizats !",
@@ -63,6 +64,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["correspond a '{filter}'","correspondon a '{filter}'"],
"Favorited" : "Marcat coma favorit",
"Favorite" : "Favorit",
+ "Upload" : "Cargament",
+ "Text file" : "Fichièr tèxte",
+ "Folder" : "Dorsièr",
+ "New folder" : "Novèl dorsièr",
"An error occurred while trying to update the tags" : "Una error s'es produsida al moment de la mesa a jorn de las etiquetas",
"A new file or folder has been <strong>created</strong>" : "Un novèl fichièr o repertòri es estat <strong>creat</strong>",
"A file or folder has been <strong>changed</strong>" : "Un fichièr o un repertòri es estat <strong>modificat</strong>",
@@ -89,12 +94,6 @@
"Settings" : "Paramètres",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilizatz aquesta adreça per <a href=\"%s\" target=\"_blank\">accedir a vòstres fichièrs per WebDAV</a>",
- "New" : "Novèl",
- "New text file" : "Novèl fichièr tèxte",
- "Text file" : "Fichièr tèxte",
- "New folder" : "Novèl dorsièr",
- "Folder" : "Dorsièr",
- "Upload" : "Cargament",
"Cancel upload" : "Anullar lo mandadís",
"No files in here" : "Pas cap de fichièr aicí",
"Upload some content or sync with your devices!" : "Depausatz de contengut o sincronizatz vòstres aparelhs !",
diff --git a/apps/files/l10n/pa.js b/apps/files/l10n/pa.js
index 8f7fafa6e32..c92f4473ccb 100644
--- a/apps/files/l10n/pa.js
+++ b/apps/files/l10n/pa.js
@@ -5,8 +5,8 @@ OC.L10N.register(
"Files" : "ਫਾਇਲਾਂ",
"Download" : "ਡਾਊਨਲੋਡ",
"Error" : "ਗਲਤੀ",
- "Settings" : "ਸੈਟਿੰਗ",
"Upload" : "ਅੱਪਲੋਡ",
+ "Settings" : "ਸੈਟਿੰਗ",
"Cancel upload" : "ਅੱਪਲੋਡ ਰੱਦ ਕਰੋ",
"Delete" : "ਹਟਾਓ"
},
diff --git a/apps/files/l10n/pa.json b/apps/files/l10n/pa.json
index b14ece73520..438a0cdb313 100644
--- a/apps/files/l10n/pa.json
+++ b/apps/files/l10n/pa.json
@@ -3,8 +3,8 @@
"Files" : "ਫਾਇਲਾਂ",
"Download" : "ਡਾਊਨਲੋਡ",
"Error" : "ਗਲਤੀ",
- "Settings" : "ਸੈਟਿੰਗ",
"Upload" : "ਅੱਪਲੋਡ",
+ "Settings" : "ਸੈਟਿੰਗ",
"Cancel upload" : "ਅੱਪਲੋਡ ਰੱਦ ਕਰੋ",
"Delete" : "ਹਟਾਓ"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index 28ffe4444e8..c64f9c97d60 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Wczytywanie anulowane.",
"Could not get result from server." : "Nie można uzyskać wyniku z serwera.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Wysyłanie pliku jest w toku. Jeśli opuścisz tę stronę, wysyłanie zostanie przerwane.",
- "{new_name} already exists" : "{new_name} już istnieje",
- "Could not create file" : "Nie można utworzyć pliku",
- "Could not create folder" : "Nie można utworzyć folderu",
"Actions" : "Akcje",
"Download" : "Pobierz",
"Select" : "Wybierz",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Błąd podczas przenoszenia pliku.",
"Error moving file" : "Błąd prz przenoszeniu pliku",
"Error" : "Błąd",
+ "{new_name} already exists" : "{new_name} już istnieje",
"Could not rename file" : "Nie można zmienić nazwy pliku",
+ "Could not create file" : "Nie można utworzyć pliku",
+ "Could not create folder" : "Nie można utworzyć folderu",
"Error deleting file." : "Błąd podczas usuwania pliku",
"No entries in this folder match '{filter}'" : "Brak wyników pasujących do '{filter}'",
"Name" : "Nazwa",
@@ -58,6 +58,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} i {files}",
"You don’t have permission to upload or create files here" : "Nie masz uprawnień do wczytywania lub tworzenia plików w tym miejscu",
"_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"],
+ "New" : "Nowy",
"\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.",
"File name cannot be empty." : "Nazwa pliku nie może być pusta.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Brak wolnego miejsca {owner}, pliki nie mogą zostać zaktualizowane lub synchronizowane! ",
@@ -66,6 +67,10 @@ OC.L10N.register(
"Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)",
"Favorited" : "Ulubione",
"Favorite" : "Ulubione",
+ "Upload" : "Wyślij",
+ "Text file" : "Plik tekstowy",
+ "Folder" : "Folder",
+ "New folder" : "Nowy folder",
"A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>",
"A file or folder has been <strong>changed</strong>" : "Plik lub folder został <strong>zmieniony</strong>",
"A file or folder has been <strong>deleted</strong>" : "Plik lub folder został <strong>usunięty</strong>",
@@ -89,12 +94,6 @@ OC.L10N.register(
"Settings" : "Ustawienia",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Użyj tego adresu do <a href=\"%s\" target=\"_blank\">dostępu do twoich plików przez WebDAV</a>",
- "New" : "Nowy",
- "New text file" : "Nowy plik tekstowy",
- "Text file" : "Plik tekstowy",
- "New folder" : "Nowy folder",
- "Folder" : "Folder",
- "Upload" : "Wyślij",
"Cancel upload" : "Anuluj wysyłanie",
"No entries found in this folder" : "Brak wpisów w tym folderze",
"Select all" : "Wybierz wszystko",
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index c2d49274c6b..d5a3c33e698 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Wczytywanie anulowane.",
"Could not get result from server." : "Nie można uzyskać wyniku z serwera.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Wysyłanie pliku jest w toku. Jeśli opuścisz tę stronę, wysyłanie zostanie przerwane.",
- "{new_name} already exists" : "{new_name} już istnieje",
- "Could not create file" : "Nie można utworzyć pliku",
- "Could not create folder" : "Nie można utworzyć folderu",
"Actions" : "Akcje",
"Download" : "Pobierz",
"Select" : "Wybierz",
@@ -45,7 +42,10 @@
"Error moving file." : "Błąd podczas przenoszenia pliku.",
"Error moving file" : "Błąd prz przenoszeniu pliku",
"Error" : "Błąd",
+ "{new_name} already exists" : "{new_name} już istnieje",
"Could not rename file" : "Nie można zmienić nazwy pliku",
+ "Could not create file" : "Nie można utworzyć pliku",
+ "Could not create folder" : "Nie można utworzyć folderu",
"Error deleting file." : "Błąd podczas usuwania pliku",
"No entries in this folder match '{filter}'" : "Brak wyników pasujących do '{filter}'",
"Name" : "Nazwa",
@@ -56,6 +56,7 @@
"{dirs} and {files}" : "{dirs} i {files}",
"You don’t have permission to upload or create files here" : "Nie masz uprawnień do wczytywania lub tworzenia plików w tym miejscu",
"_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"],
+ "New" : "Nowy",
"\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.",
"File name cannot be empty." : "Nazwa pliku nie może być pusta.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Brak wolnego miejsca {owner}, pliki nie mogą zostać zaktualizowane lub synchronizowane! ",
@@ -64,6 +65,10 @@
"Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)",
"Favorited" : "Ulubione",
"Favorite" : "Ulubione",
+ "Upload" : "Wyślij",
+ "Text file" : "Plik tekstowy",
+ "Folder" : "Folder",
+ "New folder" : "Nowy folder",
"A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>",
"A file or folder has been <strong>changed</strong>" : "Plik lub folder został <strong>zmieniony</strong>",
"A file or folder has been <strong>deleted</strong>" : "Plik lub folder został <strong>usunięty</strong>",
@@ -87,12 +92,6 @@
"Settings" : "Ustawienia",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Użyj tego adresu do <a href=\"%s\" target=\"_blank\">dostępu do twoich plików przez WebDAV</a>",
- "New" : "Nowy",
- "New text file" : "Nowy plik tekstowy",
- "Text file" : "Plik tekstowy",
- "New folder" : "Nowy folder",
- "Folder" : "Folder",
- "Upload" : "Wyślij",
"Cancel upload" : "Anuluj wysyłanie",
"No entries found in this folder" : "Brak wpisów w tym folderze",
"Select all" : "Wybierz wszystko",
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index 81378cdef4c..7f154cbbf5e 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Envio cancelado.",
"Could not get result from server." : "Não foi possível obter o resultado do servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Envio de arquivo em andamento. Sair da página agora resultará no cancelamento do envio.",
- "{new_name} already exists" : "{new_name} já existe",
- "Could not create file" : "Não foi possível criar o arquivo",
- "Could not create folder" : "Não foi possível criar a pasta",
"Actions" : "Ações",
"Download" : "Baixar",
"Select" : "Selecionar",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Erro movendo o arquivo.",
"Error moving file" : "Erro movendo o arquivo",
"Error" : "Erro",
+ "{new_name} already exists" : "{new_name} já existe",
"Could not rename file" : "Não foi possível renomear o arquivo",
+ "Could not create file" : "Não foi possível criar o arquivo",
+ "Could not create folder" : "Não foi possível criar a pasta",
"Error deleting file." : "Erro eliminando o arquivo.",
"No entries in this folder match '{filter}'" : "Nenhuma entrada nesta pasta coincide com '{filter}'",
"Name" : "Nome",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} e {files}",
"You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui",
"_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" é um nome de arquivo inválido.",
"File name cannot be empty." : "O nome do arquivo não pode estar vazio.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Armazenamento do {owner} está cheio, os arquivos não podem ser mais atualizados ou sincronizados!",
@@ -71,6 +72,12 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favorito",
"Favorite" : "Favorito",
+ "{newname} already exists" : "{newname} já existe",
+ "Upload" : "Enviar",
+ "Text file" : "Arquivo texto",
+ "New text file.txt" : "Novo texto file.txt",
+ "Folder" : "Pasta",
+ "New folder" : "Nova pasta",
"An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas",
"A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>",
"A file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta foi <strong>modificado</strong>",
@@ -98,12 +105,6 @@ OC.L10N.register(
"Settings" : "Configurações",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use este endereço <a href=\"%s\" target=\"_blank\">para ter acesso aos seus Arquivos via WebDAV</a>",
- "New" : "Novo",
- "New text file" : "Novo arquivo texto",
- "Text file" : "Arquivo texto",
- "New folder" : "Nova pasta",
- "Folder" : "Pasta",
- "Upload" : "Enviar",
"Cancel upload" : "Cancelar envio",
"No files in here" : "Nenhum arquivo aqui",
"Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com seus dispositivos!",
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index 1cdb7969af7..81c76bb2b84 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Envio cancelado.",
"Could not get result from server." : "Não foi possível obter o resultado do servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Envio de arquivo em andamento. Sair da página agora resultará no cancelamento do envio.",
- "{new_name} already exists" : "{new_name} já existe",
- "Could not create file" : "Não foi possível criar o arquivo",
- "Could not create folder" : "Não foi possível criar a pasta",
"Actions" : "Ações",
"Download" : "Baixar",
"Select" : "Selecionar",
@@ -47,7 +44,10 @@
"Error moving file." : "Erro movendo o arquivo.",
"Error moving file" : "Erro movendo o arquivo",
"Error" : "Erro",
+ "{new_name} already exists" : "{new_name} já existe",
"Could not rename file" : "Não foi possível renomear o arquivo",
+ "Could not create file" : "Não foi possível criar o arquivo",
+ "Could not create folder" : "Não foi possível criar a pasta",
"Error deleting file." : "Erro eliminando o arquivo.",
"No entries in this folder match '{filter}'" : "Nenhuma entrada nesta pasta coincide com '{filter}'",
"Name" : "Nome",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} e {files}",
"You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui",
"_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" é um nome de arquivo inválido.",
"File name cannot be empty." : "O nome do arquivo não pode estar vazio.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Armazenamento do {owner} está cheio, os arquivos não podem ser mais atualizados ou sincronizados!",
@@ -69,6 +70,12 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favorito",
"Favorite" : "Favorito",
+ "{newname} already exists" : "{newname} já existe",
+ "Upload" : "Enviar",
+ "Text file" : "Arquivo texto",
+ "New text file.txt" : "Novo texto file.txt",
+ "Folder" : "Pasta",
+ "New folder" : "Nova pasta",
"An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas",
"A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>",
"A file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta foi <strong>modificado</strong>",
@@ -96,12 +103,6 @@
"Settings" : "Configurações",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use este endereço <a href=\"%s\" target=\"_blank\">para ter acesso aos seus Arquivos via WebDAV</a>",
- "New" : "Novo",
- "New text file" : "Novo arquivo texto",
- "Text file" : "Arquivo texto",
- "New folder" : "Nova pasta",
- "Folder" : "Pasta",
- "Upload" : "Enviar",
"Cancel upload" : "Cancelar envio",
"No files in here" : "Nenhum arquivo aqui",
"Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com seus dispositivos!",
diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js
index 07817ecf79d..32f7dee7d43 100644
--- a/apps/files/l10n/pt_PT.js
+++ b/apps/files/l10n/pt_PT.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Envio cancelado.",
"Could not get result from server." : "Não foi possível obter o resultado do servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Envio de ficheiro em progresso. Se deixar a página agora, irá cancelar o envio.",
- "{new_name} already exists" : "O nome {new_name} já existe",
- "Could not create file" : "Não pôde criar ficheiro",
- "Could not create folder" : "Não pôde criar pasta",
"Actions" : "Ações",
"Download" : "Descarregar",
"Select" : "Selecionar",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Erro a mover o ficheiro.",
"Error moving file" : "Erro ao mover o ficheiro",
"Error" : "Erro",
+ "{new_name} already exists" : "O nome {new_name} já existe",
"Could not rename file" : "Não pôde renomear o ficheiro",
+ "Could not create file" : "Não pôde criar ficheiro",
+ "Could not create folder" : "Não pôde criar pasta",
"Error deleting file." : "Erro ao apagar o ficheiro.",
"No entries in this folder match '{filter}'" : "Nenhumas entradas nesta pasta correspondem a '{filter}'",
"Name" : "Nome",
@@ -58,6 +58,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} e {files}",
"You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar ficheiros aqui",
"_Uploading %n file_::_Uploading %n files_" : ["A carregar %n ficheiro","A carregar %n ficheiros"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" é um nome de ficheiro inválido.",
"File name cannot be empty." : "O nome do ficheiro não pode estar em branco.",
"Your storage is full, files can not be updated or synced anymore!" : "O seu armazenamento está cheio, os ficheiros já não podem ser atualizados ou sincronizados.",
@@ -65,6 +66,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["corresponde a '{filter}'","correspondem a '{filter}'"],
"Favorited" : "Assinalado como Favorito",
"Favorite" : "Favorito",
+ "Upload" : "Enviar",
+ "Text file" : "Ficheiro de Texto",
+ "Folder" : "Pasta",
+ "New folder" : "Nova Pasta",
"An error occurred while trying to update the tags" : "Ocorreu um erro ao tentar atualizar as tags",
"A new file or folder has been <strong>created</strong>" : "Foi <strong>criado</strong> um novo ficheiro ou pasta",
"A file or folder has been <strong>changed</strong>" : "Foi <strong>alterado</strong> um ficheiro ou pasta",
@@ -91,12 +96,6 @@ OC.L10N.register(
"Settings" : "Definições",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilize esta ligação para <a href=\"%s\" target=\"_blank\">aceder aos seus ficheiros via WebDAV</a>",
- "New" : "Novo",
- "New text file" : "Novo ficheiro de texto",
- "Text file" : "Ficheiro de Texto",
- "New folder" : "Nova Pasta",
- "Folder" : "Pasta",
- "Upload" : "Enviar",
"Cancel upload" : "Cancelar o envio",
"No files in here" : "Nenhuns ficheiros aqui",
"Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com os seus aparelhos!",
diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json
index cca3e42bc72..5c6a8aececa 100644
--- a/apps/files/l10n/pt_PT.json
+++ b/apps/files/l10n/pt_PT.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Envio cancelado.",
"Could not get result from server." : "Não foi possível obter o resultado do servidor.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Envio de ficheiro em progresso. Se deixar a página agora, irá cancelar o envio.",
- "{new_name} already exists" : "O nome {new_name} já existe",
- "Could not create file" : "Não pôde criar ficheiro",
- "Could not create folder" : "Não pôde criar pasta",
"Actions" : "Ações",
"Download" : "Descarregar",
"Select" : "Selecionar",
@@ -45,7 +42,10 @@
"Error moving file." : "Erro a mover o ficheiro.",
"Error moving file" : "Erro ao mover o ficheiro",
"Error" : "Erro",
+ "{new_name} already exists" : "O nome {new_name} já existe",
"Could not rename file" : "Não pôde renomear o ficheiro",
+ "Could not create file" : "Não pôde criar ficheiro",
+ "Could not create folder" : "Não pôde criar pasta",
"Error deleting file." : "Erro ao apagar o ficheiro.",
"No entries in this folder match '{filter}'" : "Nenhumas entradas nesta pasta correspondem a '{filter}'",
"Name" : "Nome",
@@ -56,6 +56,7 @@
"{dirs} and {files}" : "{dirs} e {files}",
"You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar ficheiros aqui",
"_Uploading %n file_::_Uploading %n files_" : ["A carregar %n ficheiro","A carregar %n ficheiros"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" é um nome de ficheiro inválido.",
"File name cannot be empty." : "O nome do ficheiro não pode estar em branco.",
"Your storage is full, files can not be updated or synced anymore!" : "O seu armazenamento está cheio, os ficheiros já não podem ser atualizados ou sincronizados.",
@@ -63,6 +64,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["corresponde a '{filter}'","correspondem a '{filter}'"],
"Favorited" : "Assinalado como Favorito",
"Favorite" : "Favorito",
+ "Upload" : "Enviar",
+ "Text file" : "Ficheiro de Texto",
+ "Folder" : "Pasta",
+ "New folder" : "Nova Pasta",
"An error occurred while trying to update the tags" : "Ocorreu um erro ao tentar atualizar as tags",
"A new file or folder has been <strong>created</strong>" : "Foi <strong>criado</strong> um novo ficheiro ou pasta",
"A file or folder has been <strong>changed</strong>" : "Foi <strong>alterado</strong> um ficheiro ou pasta",
@@ -89,12 +94,6 @@
"Settings" : "Definições",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilize esta ligação para <a href=\"%s\" target=\"_blank\">aceder aos seus ficheiros via WebDAV</a>",
- "New" : "Novo",
- "New text file" : "Novo ficheiro de texto",
- "Text file" : "Ficheiro de Texto",
- "New folder" : "Nova Pasta",
- "Folder" : "Pasta",
- "Upload" : "Enviar",
"Cancel upload" : "Cancelar o envio",
"No files in here" : "Nenhuns ficheiros aqui",
"Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com os seus aparelhos!",
diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js
index 1d571ea8f67..35753e97da8 100644
--- a/apps/files/l10n/ro.js
+++ b/apps/files/l10n/ro.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Încărcare anulată.",
"Could not get result from server." : "Nu se poate obține rezultatul de la server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea.",
- "{new_name} already exists" : "{new_name} există deja",
- "Could not create file" : "Nu s-a putut crea fisierul",
- "Could not create folder" : "Nu s-a putut crea folderul",
"Actions" : "Acțiuni",
"Download" : "Descarcă",
"Select" : "Alege",
@@ -46,7 +43,10 @@ OC.L10N.register(
"Error moving file." : "Eroare la mutarea fișierului.",
"Error moving file" : "Eroare la mutarea fișierului",
"Error" : "Eroare",
+ "{new_name} already exists" : "{new_name} există deja",
"Could not rename file" : "Nu s-a putut redenumi fișierul",
+ "Could not create file" : "Nu s-a putut crea fisierul",
+ "Could not create folder" : "Nu s-a putut crea folderul",
"Error deleting file." : "Eroare la ștergerea fișierului.",
"Name" : "Nume",
"Size" : "Mărime",
@@ -56,11 +56,16 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} și {files}",
"You don’t have permission to upload or create files here" : "Nu aveți permisiunea de a încărca sau crea fișiere aici",
"_Uploading %n file_::_Uploading %n files_" : ["Se încarcă %n fișier.","Se încarcă %n fișiere.","Se încarcă %n fișiere."],
+ "New" : "Nou",
"\"{name}\" is an invalid file name." : "\"{name}\" este un nume de fișier nevalid.",
"File name cannot be empty." : "Numele fișierului nu poate rămâne gol.",
"Your storage is full, files can not be updated or synced anymore!" : "Spațiul de stocare este plin, fișierele nu mai pot fi actualizate sau sincronizate!",
"Your storage is almost full ({usedSpacePercent}%)" : "Spațiul de stocare este aproape plin ({usedSpacePercent}%)",
"Favorite" : "Favorit",
+ "Upload" : "Încărcă",
+ "Text file" : "Fișier text",
+ "Folder" : "Dosar",
+ "New folder" : "Un nou dosar",
"A new file or folder has been <strong>created</strong>" : "Un nou fișier sau dosar a fost <strong>creat</strong>",
"A file or folder has been <strong>changed</strong>" : "Un nou fișier sau dosar a fost <strong>modificat</strong>",
"A file or folder has been <strong>deleted</strong>" : "Un nou fișier sau dosar a fost <strong>șters</strong>",
@@ -84,12 +89,6 @@ OC.L10N.register(
"Settings" : "Setări",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Folosește această adresă <a href=\"%s\" target=\"_blank\">pentru acces la fișierele tale folosind WebDAV</a>",
- "New" : "Nou",
- "New text file" : "Un nou fișier text",
- "Text file" : "Fișier text",
- "New folder" : "Un nou dosar",
- "Folder" : "Dosar",
- "Upload" : "Încărcă",
"Cancel upload" : "Anulează încărcarea",
"Select all" : "Selectează tot",
"Delete" : "Șterge",
diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json
index d0152c340ab..22d66f8dbf0 100644
--- a/apps/files/l10n/ro.json
+++ b/apps/files/l10n/ro.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Încărcare anulată.",
"Could not get result from server." : "Nu se poate obține rezultatul de la server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea.",
- "{new_name} already exists" : "{new_name} există deja",
- "Could not create file" : "Nu s-a putut crea fisierul",
- "Could not create folder" : "Nu s-a putut crea folderul",
"Actions" : "Acțiuni",
"Download" : "Descarcă",
"Select" : "Alege",
@@ -44,7 +41,10 @@
"Error moving file." : "Eroare la mutarea fișierului.",
"Error moving file" : "Eroare la mutarea fișierului",
"Error" : "Eroare",
+ "{new_name} already exists" : "{new_name} există deja",
"Could not rename file" : "Nu s-a putut redenumi fișierul",
+ "Could not create file" : "Nu s-a putut crea fisierul",
+ "Could not create folder" : "Nu s-a putut crea folderul",
"Error deleting file." : "Eroare la ștergerea fișierului.",
"Name" : "Nume",
"Size" : "Mărime",
@@ -54,11 +54,16 @@
"{dirs} and {files}" : "{dirs} și {files}",
"You don’t have permission to upload or create files here" : "Nu aveți permisiunea de a încărca sau crea fișiere aici",
"_Uploading %n file_::_Uploading %n files_" : ["Se încarcă %n fișier.","Se încarcă %n fișiere.","Se încarcă %n fișiere."],
+ "New" : "Nou",
"\"{name}\" is an invalid file name." : "\"{name}\" este un nume de fișier nevalid.",
"File name cannot be empty." : "Numele fișierului nu poate rămâne gol.",
"Your storage is full, files can not be updated or synced anymore!" : "Spațiul de stocare este plin, fișierele nu mai pot fi actualizate sau sincronizate!",
"Your storage is almost full ({usedSpacePercent}%)" : "Spațiul de stocare este aproape plin ({usedSpacePercent}%)",
"Favorite" : "Favorit",
+ "Upload" : "Încărcă",
+ "Text file" : "Fișier text",
+ "Folder" : "Dosar",
+ "New folder" : "Un nou dosar",
"A new file or folder has been <strong>created</strong>" : "Un nou fișier sau dosar a fost <strong>creat</strong>",
"A file or folder has been <strong>changed</strong>" : "Un nou fișier sau dosar a fost <strong>modificat</strong>",
"A file or folder has been <strong>deleted</strong>" : "Un nou fișier sau dosar a fost <strong>șters</strong>",
@@ -82,12 +87,6 @@
"Settings" : "Setări",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Folosește această adresă <a href=\"%s\" target=\"_blank\">pentru acces la fișierele tale folosind WebDAV</a>",
- "New" : "Nou",
- "New text file" : "Un nou fișier text",
- "Text file" : "Fișier text",
- "New folder" : "Un nou dosar",
- "Folder" : "Dosar",
- "Upload" : "Încărcă",
"Cancel upload" : "Anulează încărcarea",
"Select all" : "Selectează tot",
"Delete" : "Șterge",
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index 87116553e40..962698709c3 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Загрузка отменена.",
"Could not get result from server." : "Не удалось получить ответ от сервера.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Идёт загрузка файла. Покинув страницу, вы прервёте загрузку.",
- "{new_name} already exists" : "{new_name} уже существует",
- "Could not create file" : "Не удалось создать файл",
- "Could not create folder" : "Не удалось создать каталог",
"Actions" : "Действия",
"Download" : "Скачать",
"Select" : "Выбрать",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Ошибка при перемещении файла.",
"Error moving file" : "Ошибка при перемещении файла",
"Error" : "Ошибка",
+ "{new_name} already exists" : "{new_name} уже существует",
"Could not rename file" : "Не удалось переименовать файл",
+ "Could not create file" : "Не удалось создать файл",
+ "Could not create folder" : "Не удалось создать каталог",
"Error deleting file." : "Ошибка при удалении файла.",
"No entries in this folder match '{filter}'" : "В данном каталоге нет элементов соответствующих '{filter}'",
"Name" : "Имя",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} и {files}",
"You don’t have permission to upload or create files here" : "У вас нет прав для загрузки или создания файлов здесь.",
"_Uploading %n file_::_Uploading %n files_" : ["Закачка %n файла","Закачка %n файлов","Закачка %n файлов","Закачка %n файлов"],
+ "New" : "Новый",
"\"{name}\" is an invalid file name." : "\"{name}\" это неправильное имя файла.",
"File name cannot be empty." : "Имя файла не может быть пустым.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Хранилище {owner} переполнено, файлы больше не могут быть обновлены или синхронизированы!",
@@ -71,6 +72,10 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байтов","%n байта(ов)"],
"Favorited" : "Избранное",
"Favorite" : "Избранное",
+ "Upload" : "Загрузить",
+ "Text file" : "Текстовый файл",
+ "Folder" : "Каталог",
+ "New folder" : "Новый каталог",
"An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка",
"A new file or folder has been <strong>created</strong>" : "<strong>Создан</strong> новый файл или каталог",
"A file or folder has been <strong>changed</strong>" : "<strong>Изменён</strong> файл или каталог",
@@ -98,12 +103,6 @@ OC.L10N.register(
"Settings" : "Настройки",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Используйте этот адрес для <a href=\"%s\" target=\"_blank\">доступа файлам через WebDAV</a>",
- "New" : "Новый",
- "New text file" : "Новый текстовый файл",
- "Text file" : "Текстовый файл",
- "New folder" : "Новый каталог",
- "Folder" : "Каталог",
- "Upload" : "Загрузить",
"Cancel upload" : "Отменить загрузку",
"No files in here" : "Здесь нет файлов",
"Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!",
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index 8880ec6f5aa..410ef1d9cbe 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Загрузка отменена.",
"Could not get result from server." : "Не удалось получить ответ от сервера.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Идёт загрузка файла. Покинув страницу, вы прервёте загрузку.",
- "{new_name} already exists" : "{new_name} уже существует",
- "Could not create file" : "Не удалось создать файл",
- "Could not create folder" : "Не удалось создать каталог",
"Actions" : "Действия",
"Download" : "Скачать",
"Select" : "Выбрать",
@@ -47,7 +44,10 @@
"Error moving file." : "Ошибка при перемещении файла.",
"Error moving file" : "Ошибка при перемещении файла",
"Error" : "Ошибка",
+ "{new_name} already exists" : "{new_name} уже существует",
"Could not rename file" : "Не удалось переименовать файл",
+ "Could not create file" : "Не удалось создать файл",
+ "Could not create folder" : "Не удалось создать каталог",
"Error deleting file." : "Ошибка при удалении файла.",
"No entries in this folder match '{filter}'" : "В данном каталоге нет элементов соответствующих '{filter}'",
"Name" : "Имя",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} и {files}",
"You don’t have permission to upload or create files here" : "У вас нет прав для загрузки или создания файлов здесь.",
"_Uploading %n file_::_Uploading %n files_" : ["Закачка %n файла","Закачка %n файлов","Закачка %n файлов","Закачка %n файлов"],
+ "New" : "Новый",
"\"{name}\" is an invalid file name." : "\"{name}\" это неправильное имя файла.",
"File name cannot be empty." : "Имя файла не может быть пустым.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Хранилище {owner} переполнено, файлы больше не могут быть обновлены или синхронизированы!",
@@ -69,6 +70,10 @@
"_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байтов","%n байта(ов)"],
"Favorited" : "Избранное",
"Favorite" : "Избранное",
+ "Upload" : "Загрузить",
+ "Text file" : "Текстовый файл",
+ "Folder" : "Каталог",
+ "New folder" : "Новый каталог",
"An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка",
"A new file or folder has been <strong>created</strong>" : "<strong>Создан</strong> новый файл или каталог",
"A file or folder has been <strong>changed</strong>" : "<strong>Изменён</strong> файл или каталог",
@@ -96,12 +101,6 @@
"Settings" : "Настройки",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Используйте этот адрес для <a href=\"%s\" target=\"_blank\">доступа файлам через WebDAV</a>",
- "New" : "Новый",
- "New text file" : "Новый текстовый файл",
- "Text file" : "Текстовый файл",
- "New folder" : "Новый каталог",
- "Folder" : "Каталог",
- "Upload" : "Загрузить",
"Cancel upload" : "Отменить загрузку",
"No files in here" : "Здесь нет файлов",
"Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!",
diff --git a/apps/files/l10n/si_LK.js b/apps/files/l10n/si_LK.js
index 5c43bdd9be7..ea63cda82dc 100644
--- a/apps/files/l10n/si_LK.js
+++ b/apps/files/l10n/si_LK.js
@@ -19,6 +19,10 @@ OC.L10N.register(
"Name" : "නම",
"Size" : "ප්‍රමාණය",
"Modified" : "වෙනස් කළ",
+ "New" : "නව",
+ "Upload" : "උඩුගත කරන්න",
+ "Text file" : "පෙළ ගොනුව",
+ "Folder" : "ෆෝල්ඩරය",
"A new file or folder has been <strong>created</strong>" : "නව ගොනුවක් හෝ බහාලුමක් <strong> නිර්මාණය කර ඇත</ strong> ",
"A file or folder has been <strong>changed</strong>" : "ගොනුවක් හෝ ෆෝල්ඩරයක් <strong>වෙනස්</strong> වී ඇත",
"A file or folder has been <strong>deleted</strong>" : "ගොනුවක් හෝ ෆෝල්ඩරයක් <strong>මකා දමා</strong> ඇත",
@@ -28,10 +32,6 @@ OC.L10N.register(
"max. possible: " : "හැකි උපරිමය:",
"Save" : "සුරකින්න",
"Settings" : "සිටුවම්",
- "New" : "නව",
- "Text file" : "පෙළ ගොනුව",
- "Folder" : "ෆෝල්ඩරය",
- "Upload" : "උඩුගත කරන්න",
"Cancel upload" : "උඩුගත කිරීම අත් හරින්න",
"Delete" : "මකා දමන්න",
"Upload too large" : "උඩුගත කිරීම විශාල වැඩිය",
diff --git a/apps/files/l10n/si_LK.json b/apps/files/l10n/si_LK.json
index 6fbac44938e..6cfbe30ff4a 100644
--- a/apps/files/l10n/si_LK.json
+++ b/apps/files/l10n/si_LK.json
@@ -17,6 +17,10 @@
"Name" : "නම",
"Size" : "ප්‍රමාණය",
"Modified" : "වෙනස් කළ",
+ "New" : "නව",
+ "Upload" : "උඩුගත කරන්න",
+ "Text file" : "පෙළ ගොනුව",
+ "Folder" : "ෆෝල්ඩරය",
"A new file or folder has been <strong>created</strong>" : "නව ගොනුවක් හෝ බහාලුමක් <strong> නිර්මාණය කර ඇත</ strong> ",
"A file or folder has been <strong>changed</strong>" : "ගොනුවක් හෝ ෆෝල්ඩරයක් <strong>වෙනස්</strong> වී ඇත",
"A file or folder has been <strong>deleted</strong>" : "ගොනුවක් හෝ ෆෝල්ඩරයක් <strong>මකා දමා</strong> ඇත",
@@ -26,10 +30,6 @@
"max. possible: " : "හැකි උපරිමය:",
"Save" : "සුරකින්න",
"Settings" : "සිටුවම්",
- "New" : "නව",
- "Text file" : "පෙළ ගොනුව",
- "Folder" : "ෆෝල්ඩරය",
- "Upload" : "උඩුගත කරන්න",
"Cancel upload" : "උඩුගත කිරීම අත් හරින්න",
"Delete" : "මකා දමන්න",
"Upload too large" : "උඩුගත කිරීම විශාල වැඩිය",
diff --git a/apps/files/l10n/sk_SK.js b/apps/files/l10n/sk_SK.js
index ebb328e5a41..ebe1973a9ed 100644
--- a/apps/files/l10n/sk_SK.js
+++ b/apps/files/l10n/sk_SK.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Odosielanie je zrušené.",
"Could not get result from server." : "Nepodarilo sa dostať výsledky zo servera.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.",
- "{new_name} already exists" : "{new_name} už existuje",
- "Could not create file" : "Nemožno vytvoriť súbor",
- "Could not create folder" : "Nemožno vytvoriť priečinok",
"Actions" : "Akcie",
"Download" : "Sťahovanie",
"Select" : "Vybrať",
@@ -48,7 +45,10 @@ OC.L10N.register(
"Error moving file." : "Chyba pri presune súboru.",
"Error moving file" : "Chyba pri presúvaní súboru",
"Error" : "Chyba",
+ "{new_name} already exists" : "{new_name} už existuje",
"Could not rename file" : "Nemožno premenovať súbor",
+ "Could not create file" : "Nemožno vytvoriť súbor",
+ "Could not create folder" : "Nemožno vytvoriť priečinok",
"Error deleting file." : "Chyba pri mazaní súboru.",
"No entries in this folder match '{filter}'" : "V tomto priečinku nič nezodpovedá '{filter}'",
"Name" : "Názov",
@@ -59,6 +59,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} a {files}",
"You don’t have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvoriť súbory",
"_Uploading %n file_::_Uploading %n files_" : ["Nahrávam %n súbor","Nahrávam %n súbory","Nahrávam %n súborov"],
+ "New" : "Nový",
"\"{name}\" is an invalid file name." : "\"{name}\" je neplatné meno súboru.",
"File name cannot be empty." : "Meno súboru nemôže byť prázdne",
"Your storage is full, files can not be updated or synced anymore!" : "Vaše úložisko je plné. Súbory nemožno aktualizovať ani synchronizovať!",
@@ -66,6 +67,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["zodpovedá '{filter}'","zodpovedá '{filter}'","zodpovedá '{filter}'"],
"Favorited" : "Pridané k obľúbeným",
"Favorite" : "Obľúbené",
+ "Upload" : "Nahrať",
+ "Text file" : "Textový súbor",
+ "Folder" : "Priečinok",
+ "New folder" : "Nový priečinok",
"An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe",
"A new file or folder has been <strong>created</strong>" : "Nový súbor alebo priečinok bol <strong>vytvorený</strong>",
"A file or folder has been <strong>changed</strong>" : "Súbor alebo priečinok bol <strong>zmenený</strong>",
@@ -90,12 +95,6 @@ OC.L10N.register(
"Settings" : "Nastavenia",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Použite túto linku <a href=\"%s\" target=\"_blank\">pre prístup k vašim súborom cez WebDAV</a>",
- "New" : "Nový",
- "New text file" : "Nový textový súbor",
- "Text file" : "Textový súbor",
- "New folder" : "Nový priečinok",
- "Folder" : "Priečinok",
- "Upload" : "Nahrať",
"Cancel upload" : "Zrušiť nahrávanie",
"No files in here" : "Nie sú tu žiadne súbory",
"Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte zo svojimi zariadeniami!",
diff --git a/apps/files/l10n/sk_SK.json b/apps/files/l10n/sk_SK.json
index 0595e921535..ccd7a045699 100644
--- a/apps/files/l10n/sk_SK.json
+++ b/apps/files/l10n/sk_SK.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Odosielanie je zrušené.",
"Could not get result from server." : "Nepodarilo sa dostať výsledky zo servera.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.",
- "{new_name} already exists" : "{new_name} už existuje",
- "Could not create file" : "Nemožno vytvoriť súbor",
- "Could not create folder" : "Nemožno vytvoriť priečinok",
"Actions" : "Akcie",
"Download" : "Sťahovanie",
"Select" : "Vybrať",
@@ -46,7 +43,10 @@
"Error moving file." : "Chyba pri presune súboru.",
"Error moving file" : "Chyba pri presúvaní súboru",
"Error" : "Chyba",
+ "{new_name} already exists" : "{new_name} už existuje",
"Could not rename file" : "Nemožno premenovať súbor",
+ "Could not create file" : "Nemožno vytvoriť súbor",
+ "Could not create folder" : "Nemožno vytvoriť priečinok",
"Error deleting file." : "Chyba pri mazaní súboru.",
"No entries in this folder match '{filter}'" : "V tomto priečinku nič nezodpovedá '{filter}'",
"Name" : "Názov",
@@ -57,6 +57,7 @@
"{dirs} and {files}" : "{dirs} a {files}",
"You don’t have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvoriť súbory",
"_Uploading %n file_::_Uploading %n files_" : ["Nahrávam %n súbor","Nahrávam %n súbory","Nahrávam %n súborov"],
+ "New" : "Nový",
"\"{name}\" is an invalid file name." : "\"{name}\" je neplatné meno súboru.",
"File name cannot be empty." : "Meno súboru nemôže byť prázdne",
"Your storage is full, files can not be updated or synced anymore!" : "Vaše úložisko je plné. Súbory nemožno aktualizovať ani synchronizovať!",
@@ -64,6 +65,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["zodpovedá '{filter}'","zodpovedá '{filter}'","zodpovedá '{filter}'"],
"Favorited" : "Pridané k obľúbeným",
"Favorite" : "Obľúbené",
+ "Upload" : "Nahrať",
+ "Text file" : "Textový súbor",
+ "Folder" : "Priečinok",
+ "New folder" : "Nový priečinok",
"An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe",
"A new file or folder has been <strong>created</strong>" : "Nový súbor alebo priečinok bol <strong>vytvorený</strong>",
"A file or folder has been <strong>changed</strong>" : "Súbor alebo priečinok bol <strong>zmenený</strong>",
@@ -88,12 +93,6 @@
"Settings" : "Nastavenia",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Použite túto linku <a href=\"%s\" target=\"_blank\">pre prístup k vašim súborom cez WebDAV</a>",
- "New" : "Nový",
- "New text file" : "Nový textový súbor",
- "Text file" : "Textový súbor",
- "New folder" : "Nový priečinok",
- "Folder" : "Priečinok",
- "Upload" : "Nahrať",
"Cancel upload" : "Zrušiť nahrávanie",
"No files in here" : "Nie sú tu žiadne súbory",
"Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte zo svojimi zariadeniami!",
diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js
index 17cbdb1470c..2d296468d69 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Pošiljanje je preklicano.",
"Could not get result from server." : "Ni mogoče pridobiti podatkov s strežnika.",
"File upload is in progress. Leaving the page now will cancel the upload." : "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano.",
- "{new_name} already exists" : "{new_name} že obstaja",
- "Could not create file" : "Ni mogoče ustvariti datoteke",
- "Could not create folder" : "Ni mogoče ustvariti mape",
"Actions" : "Dejanja",
"Download" : "Prejmi",
"Select" : "Izberi",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Napaka premikanja datoteke.",
"Error moving file" : "Napaka premikanja datoteke",
"Error" : "Napaka",
+ "{new_name} already exists" : "{new_name} že obstaja",
"Could not rename file" : "Ni mogoče preimenovati datoteke",
+ "Could not create file" : "Ni mogoče ustvariti datoteke",
+ "Could not create folder" : "Ni mogoče ustvariti mape",
"Error deleting file." : "Napaka brisanja datoteke.",
"No entries in this folder match '{filter}'" : "Ni zadetkov, ki bi bili skladni z nizom '{filter}'",
"Name" : "Ime",
@@ -58,6 +58,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} in {files}",
"You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje ali ustvarjanje datotek na tem mestu.",
"_Uploading %n file_::_Uploading %n files_" : ["Posodabljanje %n datoteke","Posodabljanje %n datotek","Posodabljanje %n datotek","Posodabljanje %n datotek"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" je neveljavno ime datoteke.",
"File name cannot be empty." : "Ime datoteke ne sme biti prazno polje.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Shramba uporabnika {owner} je polna, zato datotek ni več mogoče posodabljati in usklajevati!",
@@ -67,6 +68,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["se sklada s filtrom '{filter}'","se skladata s filtrom '{filter}'","se skladajo s filtrom '{filter}'","se skladajo s filtrom '{filter}'"],
"Favorited" : "Označeno kot priljubljeno",
"Favorite" : "Priljubljene",
+ "Upload" : "Pošlji",
+ "Text file" : "Besedilna datoteka",
+ "Folder" : "Mapa",
+ "New folder" : "Nova mapa",
"An error occurred while trying to update the tags" : "Prišlo je do napake med posodabljanjem oznak",
"A new file or folder has been <strong>created</strong>" : "Nova datoteka ali mapa je <strong>ustvarjena</strong>",
"A file or folder has been <strong>changed</strong>" : "Datoteka ali mapa je <strong>spremenjena</strong>.",
@@ -93,12 +98,6 @@ OC.L10N.register(
"Settings" : "Nastavitve",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Uporabite naslov <a href=\"%s\" target=\"_blank\"> za dostop do datotek peko sistema WebDAV</a>.",
- "New" : "Novo",
- "New text file" : "Nova besedilna datoteka",
- "Text file" : "Besedilna datoteka",
- "New folder" : "Nova mapa",
- "Folder" : "Mapa",
- "Upload" : "Pošlji",
"Cancel upload" : "Prekliči pošiljanje",
"No files in here" : "V mapi ni datotek",
"Upload some content or sync with your devices!" : "Uvozite vsebino ali pa omogočite usklajevanje z napravami!",
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index 0e123f4e715..0cb69f5f7a1 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Pošiljanje je preklicano.",
"Could not get result from server." : "Ni mogoče pridobiti podatkov s strežnika.",
"File upload is in progress. Leaving the page now will cancel the upload." : "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano.",
- "{new_name} already exists" : "{new_name} že obstaja",
- "Could not create file" : "Ni mogoče ustvariti datoteke",
- "Could not create folder" : "Ni mogoče ustvariti mape",
"Actions" : "Dejanja",
"Download" : "Prejmi",
"Select" : "Izberi",
@@ -45,7 +42,10 @@
"Error moving file." : "Napaka premikanja datoteke.",
"Error moving file" : "Napaka premikanja datoteke",
"Error" : "Napaka",
+ "{new_name} already exists" : "{new_name} že obstaja",
"Could not rename file" : "Ni mogoče preimenovati datoteke",
+ "Could not create file" : "Ni mogoče ustvariti datoteke",
+ "Could not create folder" : "Ni mogoče ustvariti mape",
"Error deleting file." : "Napaka brisanja datoteke.",
"No entries in this folder match '{filter}'" : "Ni zadetkov, ki bi bili skladni z nizom '{filter}'",
"Name" : "Ime",
@@ -56,6 +56,7 @@
"{dirs} and {files}" : "{dirs} in {files}",
"You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje ali ustvarjanje datotek na tem mestu.",
"_Uploading %n file_::_Uploading %n files_" : ["Posodabljanje %n datoteke","Posodabljanje %n datotek","Posodabljanje %n datotek","Posodabljanje %n datotek"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" je neveljavno ime datoteke.",
"File name cannot be empty." : "Ime datoteke ne sme biti prazno polje.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Shramba uporabnika {owner} je polna, zato datotek ni več mogoče posodabljati in usklajevati!",
@@ -65,6 +66,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["se sklada s filtrom '{filter}'","se skladata s filtrom '{filter}'","se skladajo s filtrom '{filter}'","se skladajo s filtrom '{filter}'"],
"Favorited" : "Označeno kot priljubljeno",
"Favorite" : "Priljubljene",
+ "Upload" : "Pošlji",
+ "Text file" : "Besedilna datoteka",
+ "Folder" : "Mapa",
+ "New folder" : "Nova mapa",
"An error occurred while trying to update the tags" : "Prišlo je do napake med posodabljanjem oznak",
"A new file or folder has been <strong>created</strong>" : "Nova datoteka ali mapa je <strong>ustvarjena</strong>",
"A file or folder has been <strong>changed</strong>" : "Datoteka ali mapa je <strong>spremenjena</strong>.",
@@ -91,12 +96,6 @@
"Settings" : "Nastavitve",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Uporabite naslov <a href=\"%s\" target=\"_blank\"> za dostop do datotek peko sistema WebDAV</a>.",
- "New" : "Novo",
- "New text file" : "Nova besedilna datoteka",
- "Text file" : "Besedilna datoteka",
- "New folder" : "Nova mapa",
- "Folder" : "Mapa",
- "Upload" : "Pošlji",
"Cancel upload" : "Prekliči pošiljanje",
"No files in here" : "V mapi ni datotek",
"Upload some content or sync with your devices!" : "Uvozite vsebino ali pa omogočite usklajevanje z napravami!",
diff --git a/apps/files/l10n/sq.js b/apps/files/l10n/sq.js
index c76819b7b8f..2b87c39d968 100644
--- a/apps/files/l10n/sq.js
+++ b/apps/files/l10n/sq.js
@@ -35,15 +35,15 @@ OC.L10N.register(
"Upload cancelled." : "Ngarkimi u anullua",
"Could not get result from server." : "Nuk mund të merret ndonjë rezultat nga serveri.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Skedari duke u ngarkuar. Largimi nga faqja do të anullojë ngarkimin",
- "{new_name} already exists" : "{new_name} është ekzistues ",
- "Could not create file" : "Skedari nuk mund të krijohet",
- "Could not create folder" : "I pamundur krijimi i kartelës",
"Download" : "Shkarko",
"Pending" : "Në vijim",
"Error moving file." : "Gabim në lëvizjen e skedarëve.",
"Error moving file" : "Gabim lëvizjen dokumentave",
"Error" : "Gabim",
+ "{new_name} already exists" : "{new_name} është ekzistues ",
"Could not rename file" : "Riemërtimi i skedarit nuk është i mundur",
+ "Could not create file" : "Skedari nuk mund të krijohet",
+ "Could not create folder" : "I pamundur krijimi i kartelës",
"Error deleting file." : "Gabim gjatë fshirjes së skedarit.",
"Name" : "Emri",
"Size" : "Madhësia",
@@ -53,10 +53,15 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} dhe {files}",
"You don’t have permission to upload or create files here" : "Ju nuk keni të drejta për të ngarkuar apo krijuar skedarë këtu",
"_Uploading %n file_::_Uploading %n files_" : ["Po ngarkoj %n skedar","Po ngarkoj %n skedarë"],
+ "New" : "E re",
"\"{name}\" is an invalid file name." : "\"{name}\" është emër i pavlefshëm.",
"File name cannot be empty." : "Emri i skedarit nuk mund të jetë bosh.",
"Your storage is full, files can not be updated or synced anymore!" : "Hapsira juaj e arkivimit është plot, skedarët nuk mund të përditësohen ose sinkronizohen!",
"Your storage is almost full ({usedSpacePercent}%)" : "Hapsira juaj e arkivimit është pothuajse në fund ({usedSpacePercent}%)",
+ "Upload" : "Ngarko",
+ "Text file" : "Skedar tekst",
+ "Folder" : "Dosje",
+ "New folder" : "Dosje e're",
"A new file or folder has been <strong>created</strong>" : "Një skedar ose një dosje e re është <strong>krijuar</strong>",
"A file or folder has been <strong>changed</strong>" : "Një skedar ose një dosje ka <strong>ndryshuar</strong>",
"A file or folder has been <strong>deleted</strong>" : "Një skedar ose një dosje është <strong>fshirë</strong>",
@@ -80,12 +85,6 @@ OC.L10N.register(
"Settings" : "Konfigurime",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Përdorni këtë adresë për <a href=\"%s\" target=\"_blank\">qasje në skedarët tuaj me anë të WebDAV</a>",
- "New" : "E re",
- "New text file" : "Skedar i ri tekst",
- "Text file" : "Skedar tekst",
- "New folder" : "Dosje e're",
- "Folder" : "Dosje",
- "Upload" : "Ngarko",
"Cancel upload" : "Anullo ngarkimin",
"Delete" : "Fshi",
"Upload too large" : "Ngarkimi shumë i madh",
diff --git a/apps/files/l10n/sq.json b/apps/files/l10n/sq.json
index 619aaa79a56..1e755ee80f6 100644
--- a/apps/files/l10n/sq.json
+++ b/apps/files/l10n/sq.json
@@ -33,15 +33,15 @@
"Upload cancelled." : "Ngarkimi u anullua",
"Could not get result from server." : "Nuk mund të merret ndonjë rezultat nga serveri.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Skedari duke u ngarkuar. Largimi nga faqja do të anullojë ngarkimin",
- "{new_name} already exists" : "{new_name} është ekzistues ",
- "Could not create file" : "Skedari nuk mund të krijohet",
- "Could not create folder" : "I pamundur krijimi i kartelës",
"Download" : "Shkarko",
"Pending" : "Në vijim",
"Error moving file." : "Gabim në lëvizjen e skedarëve.",
"Error moving file" : "Gabim lëvizjen dokumentave",
"Error" : "Gabim",
+ "{new_name} already exists" : "{new_name} është ekzistues ",
"Could not rename file" : "Riemërtimi i skedarit nuk është i mundur",
+ "Could not create file" : "Skedari nuk mund të krijohet",
+ "Could not create folder" : "I pamundur krijimi i kartelës",
"Error deleting file." : "Gabim gjatë fshirjes së skedarit.",
"Name" : "Emri",
"Size" : "Madhësia",
@@ -51,10 +51,15 @@
"{dirs} and {files}" : "{dirs} dhe {files}",
"You don’t have permission to upload or create files here" : "Ju nuk keni të drejta për të ngarkuar apo krijuar skedarë këtu",
"_Uploading %n file_::_Uploading %n files_" : ["Po ngarkoj %n skedar","Po ngarkoj %n skedarë"],
+ "New" : "E re",
"\"{name}\" is an invalid file name." : "\"{name}\" është emër i pavlefshëm.",
"File name cannot be empty." : "Emri i skedarit nuk mund të jetë bosh.",
"Your storage is full, files can not be updated or synced anymore!" : "Hapsira juaj e arkivimit është plot, skedarët nuk mund të përditësohen ose sinkronizohen!",
"Your storage is almost full ({usedSpacePercent}%)" : "Hapsira juaj e arkivimit është pothuajse në fund ({usedSpacePercent}%)",
+ "Upload" : "Ngarko",
+ "Text file" : "Skedar tekst",
+ "Folder" : "Dosje",
+ "New folder" : "Dosje e're",
"A new file or folder has been <strong>created</strong>" : "Një skedar ose një dosje e re është <strong>krijuar</strong>",
"A file or folder has been <strong>changed</strong>" : "Një skedar ose një dosje ka <strong>ndryshuar</strong>",
"A file or folder has been <strong>deleted</strong>" : "Një skedar ose një dosje është <strong>fshirë</strong>",
@@ -78,12 +83,6 @@
"Settings" : "Konfigurime",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Përdorni këtë adresë për <a href=\"%s\" target=\"_blank\">qasje në skedarët tuaj me anë të WebDAV</a>",
- "New" : "E re",
- "New text file" : "Skedar i ri tekst",
- "Text file" : "Skedar tekst",
- "New folder" : "Dosje e're",
- "Folder" : "Dosje",
- "Upload" : "Ngarko",
"Cancel upload" : "Anullo ngarkimin",
"Delete" : "Fshi",
"Upload too large" : "Ngarkimi shumë i madh",
diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js
index 2a6df1f9cd2..597389e15da 100644
--- a/apps/files/l10n/sr.js
+++ b/apps/files/l10n/sr.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Отпремање је отказано.",
"Could not get result from server." : "Не могу да добијем резултат са сервера.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Отпремање фајла је у току. Ако сада напустите страницу, отказаћете отпремање.",
- "{new_name} already exists" : "{new_name} већ постоји",
- "Could not create file" : "Не могу да створим фајл",
- "Could not create folder" : "Не могу да створим фасциклу",
"Actions" : "Радње",
"Download" : "Преузми",
"Select" : "Изабери",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Грешка при премештању фајла.",
"Error moving file" : "Грешка при премештању фајла",
"Error" : "Грешка",
+ "{new_name} already exists" : "{new_name} већ постоји",
"Could not rename file" : "Не могу да преименујем фајл",
+ "Could not create file" : "Не могу да створим фајл",
+ "Could not create folder" : "Не могу да створим фасциклу",
"Error deleting file." : "Грешка при брисању фајла.",
"No entries in this folder match '{filter}'" : "У овој фасцикли ништа се не поклапа са '{filter}'",
"Name" : "Назив",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} и {files}",
"You don’t have permission to upload or create files here" : "Немате дозволе да овде отпремате или стварате фајлове",
"_Uploading %n file_::_Uploading %n files_" : ["Отпремам %n фајл","Отпремам %n фајла","Отпремам %n фајлова"],
+ "New" : "Ново",
"\"{name}\" is an invalid file name." : "\"{name}\" није исправан назив фајла.",
"File name cannot be empty." : "Назив фајла не може бити празан.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Складиште корисника {owner} је пуно. Фајлови се не могу ажурирати нити синхронизовати!",
@@ -69,6 +70,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["се поклапа са '{filter}'","се поклапају са '{filter}'","се поклапа са '{filter}'"],
"Favorited" : "Омиљено",
"Favorite" : "Омиљени",
+ "Upload" : "Отпреми",
+ "Text file" : "текстуални фајл",
+ "Folder" : "фасцикла",
+ "New folder" : "Нова фасцикла",
"An error occurred while trying to update the tags" : "Дошло је до грешке при покушају ажурирања ознака",
"A new file or folder has been <strong>created</strong>" : "Нови фајл или фасцикла су <strong>направљени</strong>",
"A file or folder has been <strong>changed</strong>" : "Фајл или фасцикла су <strong>измењени</strong>",
@@ -95,12 +100,6 @@ OC.L10N.register(
"Settings" : "Поставке",
"WebDAV" : "ВебДАВ",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Користите ову адресу да <a href=\"%s\" target=\"_blank\"> приступите фајловима преко ВебДАВ-а</a>",
- "New" : "Ново",
- "New text file" : "Нов текстуални фајл",
- "Text file" : "текстуални фајл",
- "New folder" : "Нова фасцикла",
- "Folder" : "фасцикла",
- "Upload" : "Отпреми",
"Cancel upload" : "Откажи отпремање",
"No files in here" : "Овде нема фајлова",
"Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!",
diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json
index 09aabbb72e7..ec2fcc101e6 100644
--- a/apps/files/l10n/sr.json
+++ b/apps/files/l10n/sr.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Отпремање је отказано.",
"Could not get result from server." : "Не могу да добијем резултат са сервера.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Отпремање фајла је у току. Ако сада напустите страницу, отказаћете отпремање.",
- "{new_name} already exists" : "{new_name} већ постоји",
- "Could not create file" : "Не могу да створим фајл",
- "Could not create folder" : "Не могу да створим фасциклу",
"Actions" : "Радње",
"Download" : "Преузми",
"Select" : "Изабери",
@@ -47,7 +44,10 @@
"Error moving file." : "Грешка при премештању фајла.",
"Error moving file" : "Грешка при премештању фајла",
"Error" : "Грешка",
+ "{new_name} already exists" : "{new_name} већ постоји",
"Could not rename file" : "Не могу да преименујем фајл",
+ "Could not create file" : "Не могу да створим фајл",
+ "Could not create folder" : "Не могу да створим фасциклу",
"Error deleting file." : "Грешка при брисању фајла.",
"No entries in this folder match '{filter}'" : "У овој фасцикли ништа се не поклапа са '{filter}'",
"Name" : "Назив",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} и {files}",
"You don’t have permission to upload or create files here" : "Немате дозволе да овде отпремате или стварате фајлове",
"_Uploading %n file_::_Uploading %n files_" : ["Отпремам %n фајл","Отпремам %n фајла","Отпремам %n фајлова"],
+ "New" : "Ново",
"\"{name}\" is an invalid file name." : "\"{name}\" није исправан назив фајла.",
"File name cannot be empty." : "Назив фајла не може бити празан.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Складиште корисника {owner} је пуно. Фајлови се не могу ажурирати нити синхронизовати!",
@@ -67,6 +68,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["се поклапа са '{filter}'","се поклапају са '{filter}'","се поклапа са '{filter}'"],
"Favorited" : "Омиљено",
"Favorite" : "Омиљени",
+ "Upload" : "Отпреми",
+ "Text file" : "текстуални фајл",
+ "Folder" : "фасцикла",
+ "New folder" : "Нова фасцикла",
"An error occurred while trying to update the tags" : "Дошло је до грешке при покушају ажурирања ознака",
"A new file or folder has been <strong>created</strong>" : "Нови фајл или фасцикла су <strong>направљени</strong>",
"A file or folder has been <strong>changed</strong>" : "Фајл или фасцикла су <strong>измењени</strong>",
@@ -93,12 +98,6 @@
"Settings" : "Поставке",
"WebDAV" : "ВебДАВ",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Користите ову адресу да <a href=\"%s\" target=\"_blank\"> приступите фајловима преко ВебДАВ-а</a>",
- "New" : "Ново",
- "New text file" : "Нов текстуални фајл",
- "Text file" : "текстуални фајл",
- "New folder" : "Нова фасцикла",
- "Folder" : "фасцикла",
- "Upload" : "Отпреми",
"Cancel upload" : "Откажи отпремање",
"No files in here" : "Овде нема фајлова",
"Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!",
diff --git a/apps/files/l10n/sr@latin.js b/apps/files/l10n/sr@latin.js
index 28e317ff9be..b00575619e9 100644
--- a/apps/files/l10n/sr@latin.js
+++ b/apps/files/l10n/sr@latin.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Otpremanje je otkazano.",
"Could not get result from server." : "Ne mogu da dobijem rezultat sa servera.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Otpremanje fajla je u toku. Ako sada napustite stranicu, otkazaćete otpremanje.",
- "{new_name} already exists" : "{new_name} već postoji",
- "Could not create file" : "Ne mogu da stvorim fajl",
- "Could not create folder" : "Ne mogu da stvorim fasciklu",
"Download" : "Preuzmi",
"Select" : "Izaberi",
"Pending" : "Na čekanju",
@@ -46,7 +43,10 @@ OC.L10N.register(
"Error moving file." : "Greška pri premeštanju fajla.",
"Error moving file" : "Greška pri premeštanju fajla",
"Error" : "Greška",
+ "{new_name} already exists" : "{new_name} već postoji",
"Could not rename file" : "Ne mogu da preimenujem fajl",
+ "Could not create file" : "Ne mogu da stvorim fajl",
+ "Could not create folder" : "Ne mogu da stvorim fasciklu",
"Error deleting file." : "Greška pri brisanju fajla.",
"No entries in this folder match '{filter}'" : "U ovoj fascikli ništa se ne poklapa sa '{filter}'",
"Name" : "Naziv",
@@ -57,6 +57,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} i {files}",
"You don’t have permission to upload or create files here" : "Nemate dozvole da ovde otpremate ili stvarate fajlove",
"_Uploading %n file_::_Uploading %n files_" : ["Otpremam %n fajl","Otpremam %n fajla","Otpremam %n fajlova"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" nije ispravan naziv fajla.",
"File name cannot be empty." : "Naziv fajla ne može biti prazan.",
"Your storage is full, files can not be updated or synced anymore!" : "Vaše skladište je puno. Fajlovi više ne mogu biti ažurirani ni sinhronizovani!",
@@ -64,6 +65,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["se poklapa sa '{filter}'","se poklapaju sa '{filter}'","se poklapa sa '{filter}'"],
"Favorited" : "Omiljeno",
"Favorite" : "Omiljeni",
+ "Upload" : "Otpremi",
+ "Text file" : "tekstualni fajl",
+ "Folder" : "fascikla",
+ "New folder" : "Nova fascikla",
"An error occurred while trying to update the tags" : "Došlo je do greške pri pokušaju ažuriranja oznaka",
"A new file or folder has been <strong>created</strong>" : "Novi fajl ili fascikla su <strong>napravljeni</strong>",
"A file or folder has been <strong>changed</strong>" : "Fajl ili fascikla su <strong>izmenjeni</strong>",
@@ -90,12 +95,6 @@ OC.L10N.register(
"Settings" : "Postavke",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristite ovu adresu da <a href=\"%s\" target=\"_blank\"> pristupite fajlovima preko WebDAV-a</a>",
- "New" : "Novo",
- "New text file" : "Nov tekstualni fajl",
- "Text file" : "tekstualni fajl",
- "New folder" : "Nova fascikla",
- "Folder" : "fascikla",
- "Upload" : "Otpremi",
"Cancel upload" : "Otkaži otpremanje",
"No files in here" : "Ovde nema fajlova",
"Upload some content or sync with your devices!" : "Otpremite neki sadržaj ili sinhronizujte sa vašim uređajima!",
diff --git a/apps/files/l10n/sr@latin.json b/apps/files/l10n/sr@latin.json
index 5f31ed2547c..b6ffda5aa6b 100644
--- a/apps/files/l10n/sr@latin.json
+++ b/apps/files/l10n/sr@latin.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Otpremanje je otkazano.",
"Could not get result from server." : "Ne mogu da dobijem rezultat sa servera.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Otpremanje fajla je u toku. Ako sada napustite stranicu, otkazaćete otpremanje.",
- "{new_name} already exists" : "{new_name} već postoji",
- "Could not create file" : "Ne mogu da stvorim fajl",
- "Could not create folder" : "Ne mogu da stvorim fasciklu",
"Download" : "Preuzmi",
"Select" : "Izaberi",
"Pending" : "Na čekanju",
@@ -44,7 +41,10 @@
"Error moving file." : "Greška pri premeštanju fajla.",
"Error moving file" : "Greška pri premeštanju fajla",
"Error" : "Greška",
+ "{new_name} already exists" : "{new_name} već postoji",
"Could not rename file" : "Ne mogu da preimenujem fajl",
+ "Could not create file" : "Ne mogu da stvorim fajl",
+ "Could not create folder" : "Ne mogu da stvorim fasciklu",
"Error deleting file." : "Greška pri brisanju fajla.",
"No entries in this folder match '{filter}'" : "U ovoj fascikli ništa se ne poklapa sa '{filter}'",
"Name" : "Naziv",
@@ -55,6 +55,7 @@
"{dirs} and {files}" : "{dirs} i {files}",
"You don’t have permission to upload or create files here" : "Nemate dozvole da ovde otpremate ili stvarate fajlove",
"_Uploading %n file_::_Uploading %n files_" : ["Otpremam %n fajl","Otpremam %n fajla","Otpremam %n fajlova"],
+ "New" : "Novo",
"\"{name}\" is an invalid file name." : "\"{name}\" nije ispravan naziv fajla.",
"File name cannot be empty." : "Naziv fajla ne može biti prazan.",
"Your storage is full, files can not be updated or synced anymore!" : "Vaše skladište je puno. Fajlovi više ne mogu biti ažurirani ni sinhronizovani!",
@@ -62,6 +63,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["se poklapa sa '{filter}'","se poklapaju sa '{filter}'","se poklapa sa '{filter}'"],
"Favorited" : "Omiljeno",
"Favorite" : "Omiljeni",
+ "Upload" : "Otpremi",
+ "Text file" : "tekstualni fajl",
+ "Folder" : "fascikla",
+ "New folder" : "Nova fascikla",
"An error occurred while trying to update the tags" : "Došlo je do greške pri pokušaju ažuriranja oznaka",
"A new file or folder has been <strong>created</strong>" : "Novi fajl ili fascikla su <strong>napravljeni</strong>",
"A file or folder has been <strong>changed</strong>" : "Fajl ili fascikla su <strong>izmenjeni</strong>",
@@ -88,12 +93,6 @@
"Settings" : "Postavke",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Koristite ovu adresu da <a href=\"%s\" target=\"_blank\"> pristupite fajlovima preko WebDAV-a</a>",
- "New" : "Novo",
- "New text file" : "Nov tekstualni fajl",
- "Text file" : "tekstualni fajl",
- "New folder" : "Nova fascikla",
- "Folder" : "fascikla",
- "Upload" : "Otpremi",
"Cancel upload" : "Otkaži otpremanje",
"No files in here" : "Ovde nema fajlova",
"Upload some content or sync with your devices!" : "Otpremite neki sadržaj ili sinhronizujte sa vašim uređajima!",
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index c6b64eab029..5f9a08404d7 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Uppladdning avbruten.",
"Could not get result from server." : "Gick inte att hämta resultat från server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.",
- "{new_name} already exists" : "{new_name} finns redan",
- "Could not create file" : "Kunde ej skapa fil",
- "Could not create folder" : "Kunde ej skapa katalog",
"Actions" : "Åtgärder",
"Download" : "Ladda ner",
"Select" : "Välj",
@@ -47,7 +44,10 @@ OC.L10N.register(
"Error moving file." : "Fel vid flytt av fil.",
"Error moving file" : "Fel uppstod vid flyttning av fil",
"Error" : "Fel",
+ "{new_name} already exists" : "{new_name} finns redan",
"Could not rename file" : "Kan ej byta filnamn",
+ "Could not create file" : "Kunde ej skapa fil",
+ "Could not create folder" : "Kunde ej skapa katalog",
"Error deleting file." : "Kunde inte ta bort filen.",
"Name" : "Namn",
"Size" : "Storlek",
@@ -57,12 +57,17 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} och {files}",
"You don’t have permission to upload or create files here" : "Du har ej tillåtelse att ladda upp eller skapa filer här",
"_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"],
+ "New" : "Ny",
"\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltligt filnamn.",
"File name cannot be empty." : "Filnamn kan inte vara tomt.",
"Your storage is full, files can not be updated or synced anymore!" : "Ditt lagringsutrymme är fullt, filer kan inte längre uppdateras eller synkroniseras!",
"Your storage is almost full ({usedSpacePercent}%)" : "Ditt lagringsutrymme är nästan fullt ({usedSpacePercent}%)",
"Favorited" : "Favoritiserad",
"Favorite" : "Favorit",
+ "Upload" : "Ladda upp",
+ "Text file" : "Textfil",
+ "Folder" : "Mapp",
+ "New folder" : "Ny mapp",
"A new file or folder has been <strong>created</strong>" : "En ny fil eller mapp har blivit <strong>skapad</strong>",
"A file or folder has been <strong>changed</strong>" : "En ny fil eller mapp har blivit <strong>ändrad</strong>",
"A file or folder has been <strong>deleted</strong>" : "En ny fil eller mapp har blivit <strong>raderad</strong>",
@@ -86,12 +91,6 @@ OC.L10N.register(
"Settings" : "Inställningar",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Använd denna adress till <a href=\"%s\" target=\"_blank\">nå dina Filer via WebDAV</a>",
- "New" : "Ny",
- "New text file" : "Ny textfil",
- "Text file" : "Textfil",
- "New folder" : "Ny mapp",
- "Folder" : "Mapp",
- "Upload" : "Ladda upp",
"Cancel upload" : "Avbryt uppladdning",
"Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!",
"Select all" : "Välj allt",
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index c752155dbb9..e6775948cf6 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Uppladdning avbruten.",
"Could not get result from server." : "Gick inte att hämta resultat från server.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.",
- "{new_name} already exists" : "{new_name} finns redan",
- "Could not create file" : "Kunde ej skapa fil",
- "Could not create folder" : "Kunde ej skapa katalog",
"Actions" : "Åtgärder",
"Download" : "Ladda ner",
"Select" : "Välj",
@@ -45,7 +42,10 @@
"Error moving file." : "Fel vid flytt av fil.",
"Error moving file" : "Fel uppstod vid flyttning av fil",
"Error" : "Fel",
+ "{new_name} already exists" : "{new_name} finns redan",
"Could not rename file" : "Kan ej byta filnamn",
+ "Could not create file" : "Kunde ej skapa fil",
+ "Could not create folder" : "Kunde ej skapa katalog",
"Error deleting file." : "Kunde inte ta bort filen.",
"Name" : "Namn",
"Size" : "Storlek",
@@ -55,12 +55,17 @@
"{dirs} and {files}" : "{dirs} och {files}",
"You don’t have permission to upload or create files here" : "Du har ej tillåtelse att ladda upp eller skapa filer här",
"_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"],
+ "New" : "Ny",
"\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltligt filnamn.",
"File name cannot be empty." : "Filnamn kan inte vara tomt.",
"Your storage is full, files can not be updated or synced anymore!" : "Ditt lagringsutrymme är fullt, filer kan inte längre uppdateras eller synkroniseras!",
"Your storage is almost full ({usedSpacePercent}%)" : "Ditt lagringsutrymme är nästan fullt ({usedSpacePercent}%)",
"Favorited" : "Favoritiserad",
"Favorite" : "Favorit",
+ "Upload" : "Ladda upp",
+ "Text file" : "Textfil",
+ "Folder" : "Mapp",
+ "New folder" : "Ny mapp",
"A new file or folder has been <strong>created</strong>" : "En ny fil eller mapp har blivit <strong>skapad</strong>",
"A file or folder has been <strong>changed</strong>" : "En ny fil eller mapp har blivit <strong>ändrad</strong>",
"A file or folder has been <strong>deleted</strong>" : "En ny fil eller mapp har blivit <strong>raderad</strong>",
@@ -84,12 +89,6 @@
"Settings" : "Inställningar",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Använd denna adress till <a href=\"%s\" target=\"_blank\">nå dina Filer via WebDAV</a>",
- "New" : "Ny",
- "New text file" : "Ny textfil",
- "Text file" : "Textfil",
- "New folder" : "Ny mapp",
- "Folder" : "Mapp",
- "Upload" : "Ladda upp",
"Cancel upload" : "Avbryt uppladdning",
"Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!",
"Select all" : "Välj allt",
diff --git a/apps/files/l10n/ta_IN.js b/apps/files/l10n/ta_IN.js
index c12b3fc948e..c8453338084 100644
--- a/apps/files/l10n/ta_IN.js
+++ b/apps/files/l10n/ta_IN.js
@@ -2,6 +2,8 @@ OC.L10N.register(
"files",
{
"Files" : "கோப்புகள்",
+ "Upload" : "பதிவேற்று",
+ "New folder" : "புதிய கோப்புறை",
"A new file or folder has been <strong>created</strong>" : "ஒரு புதிய கோப்புறை அல்லது ஆவணம் <strong> உருவாக்கப்பட்டுள்ளது.</strong>",
"A file or folder has been <strong>changed</strong>" : "ஒரு கோப்புறை அல்லது ஆவணம் <strong>மாற்றம் செய்யப்பட்டுள்ளது.</strong>",
"A file or folder has been <strong>deleted</strong>" : "ஒரு கோப்புறை அல்லது ஆவணம் <strong> நீக்கப்பட்டுள்ளது. </strong>",
@@ -11,8 +13,6 @@ OC.L10N.register(
"%2$s changed %1$s" : "%2$s %1$s 'ல் மாற்றம் செய்துள்ளார். ",
"You deleted %1$s" : "நீங்கள் %1$s 'ஐ நீக்கி உள்ளீர்கள்.",
"%2$s deleted %1$s" : "%2$s , %1$s 'ஐ நீக்கியுள்ளார்.",
- "Settings" : "அமைப்புகள்",
- "New folder" : "புதிய கோப்புறை",
- "Upload" : "பதிவேற்று"
+ "Settings" : "அமைப்புகள்"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ta_IN.json b/apps/files/l10n/ta_IN.json
index 086a3416614..392601a3756 100644
--- a/apps/files/l10n/ta_IN.json
+++ b/apps/files/l10n/ta_IN.json
@@ -1,5 +1,7 @@
{ "translations": {
"Files" : "கோப்புகள்",
+ "Upload" : "பதிவேற்று",
+ "New folder" : "புதிய கோப்புறை",
"A new file or folder has been <strong>created</strong>" : "ஒரு புதிய கோப்புறை அல்லது ஆவணம் <strong> உருவாக்கப்பட்டுள்ளது.</strong>",
"A file or folder has been <strong>changed</strong>" : "ஒரு கோப்புறை அல்லது ஆவணம் <strong>மாற்றம் செய்யப்பட்டுள்ளது.</strong>",
"A file or folder has been <strong>deleted</strong>" : "ஒரு கோப்புறை அல்லது ஆவணம் <strong> நீக்கப்பட்டுள்ளது. </strong>",
@@ -9,8 +11,6 @@
"%2$s changed %1$s" : "%2$s %1$s 'ல் மாற்றம் செய்துள்ளார். ",
"You deleted %1$s" : "நீங்கள் %1$s 'ஐ நீக்கி உள்ளீர்கள்.",
"%2$s deleted %1$s" : "%2$s , %1$s 'ஐ நீக்கியுள்ளார்.",
- "Settings" : "அமைப்புகள்",
- "New folder" : "புதிய கோப்புறை",
- "Upload" : "பதிவேற்று"
+ "Settings" : "அமைப்புகள்"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ta_LK.js b/apps/files/l10n/ta_LK.js
index ef41c862b4c..90a955e135b 100644
--- a/apps/files/l10n/ta_LK.js
+++ b/apps/files/l10n/ta_LK.js
@@ -14,25 +14,25 @@ OC.L10N.register(
"Close" : "மூடுக",
"Upload cancelled." : "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது",
"File upload is in progress. Leaving the page now will cancel the upload." : "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.",
- "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது",
"Actions" : "செயல்கள்",
"Download" : "பதிவிறக்குக",
"Select" : "தெரிக",
"Pending" : "நிலுவையிலுள்ள",
"Error" : "வழு",
+ "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது",
"Name" : "பெயர்",
"Size" : "அளவு",
"Modified" : "மாற்றப்பட்டது",
+ "New" : "புதிய",
"Favorite" : "விருப்பமான",
+ "Upload" : "பதிவேற்றுக",
+ "Text file" : "கோப்பு உரை",
+ "Folder" : "கோப்புறை",
"File handling" : "கோப்பு கையாளுதல்",
"Maximum upload size" : "பதிவேற்றக்கூடிய ஆகக்கூடிய அளவு ",
"max. possible: " : "ஆகக் கூடியது:",
"Save" : "சேமிக்க ",
"Settings" : "அமைப்புகள்",
- "New" : "புதிய",
- "Text file" : "கோப்பு உரை",
- "Folder" : "கோப்புறை",
- "Upload" : "பதிவேற்றுக",
"Cancel upload" : "பதிவேற்றலை இரத்து செய்க",
"Delete" : "நீக்குக",
"Upload too large" : "பதிவேற்றல் மிகப்பெரியது",
diff --git a/apps/files/l10n/ta_LK.json b/apps/files/l10n/ta_LK.json
index a233c016cad..64220b86744 100644
--- a/apps/files/l10n/ta_LK.json
+++ b/apps/files/l10n/ta_LK.json
@@ -12,25 +12,25 @@
"Close" : "மூடுக",
"Upload cancelled." : "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது",
"File upload is in progress. Leaving the page now will cancel the upload." : "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.",
- "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது",
"Actions" : "செயல்கள்",
"Download" : "பதிவிறக்குக",
"Select" : "தெரிக",
"Pending" : "நிலுவையிலுள்ள",
"Error" : "வழு",
+ "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது",
"Name" : "பெயர்",
"Size" : "அளவு",
"Modified" : "மாற்றப்பட்டது",
+ "New" : "புதிய",
"Favorite" : "விருப்பமான",
+ "Upload" : "பதிவேற்றுக",
+ "Text file" : "கோப்பு உரை",
+ "Folder" : "கோப்புறை",
"File handling" : "கோப்பு கையாளுதல்",
"Maximum upload size" : "பதிவேற்றக்கூடிய ஆகக்கூடிய அளவு ",
"max. possible: " : "ஆகக் கூடியது:",
"Save" : "சேமிக்க ",
"Settings" : "அமைப்புகள்",
- "New" : "புதிய",
- "Text file" : "கோப்பு உரை",
- "Folder" : "கோப்புறை",
- "Upload" : "பதிவேற்றுக",
"Cancel upload" : "பதிவேற்றலை இரத்து செய்க",
"Delete" : "நீக்குக",
"Upload too large" : "பதிவேற்றல் மிகப்பெரியது",
diff --git a/apps/files/l10n/te.js b/apps/files/l10n/te.js
index 481c994e301..51f6b1c5291 100644
--- a/apps/files/l10n/te.js
+++ b/apps/files/l10n/te.js
@@ -5,10 +5,10 @@ OC.L10N.register(
"Error" : "పొరపాటు",
"Name" : "పేరు",
"Size" : "పరిమాణం",
+ "Folder" : "సంచయం",
+ "New folder" : "కొత్త సంచయం",
"Save" : "భద్రపరచు",
"Settings" : "అమరికలు",
- "New folder" : "కొత్త సంచయం",
- "Folder" : "సంచయం",
"Delete" : "తొలగించు"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/te.json b/apps/files/l10n/te.json
index a836ec02fa8..fa7efa9d702 100644
--- a/apps/files/l10n/te.json
+++ b/apps/files/l10n/te.json
@@ -3,10 +3,10 @@
"Error" : "పొరపాటు",
"Name" : "పేరు",
"Size" : "పరిమాణం",
+ "Folder" : "సంచయం",
+ "New folder" : "కొత్త సంచయం",
"Save" : "భద్రపరచు",
"Settings" : "అమరికలు",
- "New folder" : "కొత్త సంచయం",
- "Folder" : "సంచయం",
"Delete" : "తొలగించు"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/th_TH.js b/apps/files/l10n/th_TH.js
index 2529d3e8ca8..2b092551a17 100644
--- a/apps/files/l10n/th_TH.js
+++ b/apps/files/l10n/th_TH.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "การอัพโหลดถูกยกเลิก",
"Could not get result from server." : "ไม่สามารถรับผลลัพธ์จากเซิร์ฟเวอร์",
"File upload is in progress. Leaving the page now will cancel the upload." : "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก",
- "{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ",
- "Could not create file" : "ไม่สามารถสร้างไฟล์",
- "Could not create folder" : "ไม่สามารถสร้างโฟลเดอร์",
"Actions" : "การกระทำ",
"Download" : "ดาวน์โหลด",
"Select" : "เลือก",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "ข้อผิดพลาดในการเคลื่อนย้ายไฟล์",
"Error moving file" : "ข้อผิดพลาดในการเคลื่อนย้ายไฟล์",
"Error" : "ข้อผิดพลาด",
+ "{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ",
"Could not rename file" : "ไม่สามารถเปลี่ยนชื่อไฟล์",
+ "Could not create file" : "ไม่สามารถสร้างไฟล์",
+ "Could not create folder" : "ไม่สามารถสร้างโฟลเดอร์",
"Error deleting file." : "เกิดข้อผิดพลาดในการลบไฟล์",
"No entries in this folder match '{filter}'" : "ไม่มีรายการในโฟลเดอร์นี้ที่ตรงกับ '{filter}'",
"Name" : "ชื่อ",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} และ {files}",
"You don’t have permission to upload or create files here" : "คุณไม่ได้รับอนุญาตให้อัพโหลดหรือสร้างไฟล์ที่นี่",
"_Uploading %n file_::_Uploading %n files_" : ["อัพโหลด %n ไฟล์"],
+ "New" : "ใหม่",
"\"{name}\" is an invalid file name." : "\"{name}\" เป็นชื่อไฟล์ที่ไม่ถูกต้อง",
"File name cannot be empty." : "ชื่อไฟล์ไม่สามารถเว้นว่างได้",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "พื้นที่จัดเก็บข้อมูลของ {owner} เต็มแล้ว ไฟล์ไม่สามารถอัพเดทหรือประสานข้อมูลได้อีก!",
@@ -71,6 +72,12 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n ไบต์"],
"Favorited" : "รายการโปรด",
"Favorite" : "รายการโปรด",
+ "{newname} already exists" : "{newname} ถูกใช้ไปแล้ว",
+ "Upload" : "อัพโหลด",
+ "Text file" : "ไฟล์ข้อความ",
+ "New text file.txt" : "ไฟล์ข้อความใหม่ .txt",
+ "Folder" : "แฟ้มเอกสาร",
+ "New folder" : "โฟลเดอร์ใหม่",
"An error occurred while trying to update the tags" : "เกิดข้อผิดพลาดขณะที่พยายามจะปรับปรุงแท็ก",
"A new file or folder has been <strong>created</strong>" : "มีไฟล์ใหม่หรือโฟลเดอร์ได้ถูก <strong>สร้างขึ้น!</strong>",
"A file or folder has been <strong>changed</strong>" : "มีไฟล์หรือโฟลเดอร์ได้ถูก <strong>เปลี่ยน!</strong>",
@@ -98,12 +105,6 @@ OC.L10N.register(
"Settings" : "ตั้งค่า",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "ใช้ที่อยู่นี้เพื่อ <a href=\"%s\" target=\"_blank\">เข้าถึงไฟล์ของคุณผ่าน WebDAV</a>",
- "New" : "ใหม่",
- "New text file" : "ไฟล์ข้อความใหม่",
- "Text file" : "ไฟล์ข้อความ",
- "New folder" : "โฟลเดอร์ใหม่",
- "Folder" : "แฟ้มเอกสาร",
- "Upload" : "อัพโหลด",
"Cancel upload" : "ยกเลิกการอัพโหลด",
"No files in here" : "ไม่มีไฟล์ที่นี่",
"Upload some content or sync with your devices!" : "อัพโหลดเนื้อหาบางส่วนหรือประสานข้อมูลกับอุปกรณ์ของคุณ! อีกครั้ง",
diff --git a/apps/files/l10n/th_TH.json b/apps/files/l10n/th_TH.json
index cf4fc24fc0a..3125adc820f 100644
--- a/apps/files/l10n/th_TH.json
+++ b/apps/files/l10n/th_TH.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "การอัพโหลดถูกยกเลิก",
"Could not get result from server." : "ไม่สามารถรับผลลัพธ์จากเซิร์ฟเวอร์",
"File upload is in progress. Leaving the page now will cancel the upload." : "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก",
- "{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ",
- "Could not create file" : "ไม่สามารถสร้างไฟล์",
- "Could not create folder" : "ไม่สามารถสร้างโฟลเดอร์",
"Actions" : "การกระทำ",
"Download" : "ดาวน์โหลด",
"Select" : "เลือก",
@@ -47,7 +44,10 @@
"Error moving file." : "ข้อผิดพลาดในการเคลื่อนย้ายไฟล์",
"Error moving file" : "ข้อผิดพลาดในการเคลื่อนย้ายไฟล์",
"Error" : "ข้อผิดพลาด",
+ "{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ",
"Could not rename file" : "ไม่สามารถเปลี่ยนชื่อไฟล์",
+ "Could not create file" : "ไม่สามารถสร้างไฟล์",
+ "Could not create folder" : "ไม่สามารถสร้างโฟลเดอร์",
"Error deleting file." : "เกิดข้อผิดพลาดในการลบไฟล์",
"No entries in this folder match '{filter}'" : "ไม่มีรายการในโฟลเดอร์นี้ที่ตรงกับ '{filter}'",
"Name" : "ชื่อ",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} และ {files}",
"You don’t have permission to upload or create files here" : "คุณไม่ได้รับอนุญาตให้อัพโหลดหรือสร้างไฟล์ที่นี่",
"_Uploading %n file_::_Uploading %n files_" : ["อัพโหลด %n ไฟล์"],
+ "New" : "ใหม่",
"\"{name}\" is an invalid file name." : "\"{name}\" เป็นชื่อไฟล์ที่ไม่ถูกต้อง",
"File name cannot be empty." : "ชื่อไฟล์ไม่สามารถเว้นว่างได้",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "พื้นที่จัดเก็บข้อมูลของ {owner} เต็มแล้ว ไฟล์ไม่สามารถอัพเดทหรือประสานข้อมูลได้อีก!",
@@ -69,6 +70,12 @@
"_%n byte_::_%n bytes_" : ["%n ไบต์"],
"Favorited" : "รายการโปรด",
"Favorite" : "รายการโปรด",
+ "{newname} already exists" : "{newname} ถูกใช้ไปแล้ว",
+ "Upload" : "อัพโหลด",
+ "Text file" : "ไฟล์ข้อความ",
+ "New text file.txt" : "ไฟล์ข้อความใหม่ .txt",
+ "Folder" : "แฟ้มเอกสาร",
+ "New folder" : "โฟลเดอร์ใหม่",
"An error occurred while trying to update the tags" : "เกิดข้อผิดพลาดขณะที่พยายามจะปรับปรุงแท็ก",
"A new file or folder has been <strong>created</strong>" : "มีไฟล์ใหม่หรือโฟลเดอร์ได้ถูก <strong>สร้างขึ้น!</strong>",
"A file or folder has been <strong>changed</strong>" : "มีไฟล์หรือโฟลเดอร์ได้ถูก <strong>เปลี่ยน!</strong>",
@@ -96,12 +103,6 @@
"Settings" : "ตั้งค่า",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "ใช้ที่อยู่นี้เพื่อ <a href=\"%s\" target=\"_blank\">เข้าถึงไฟล์ของคุณผ่าน WebDAV</a>",
- "New" : "ใหม่",
- "New text file" : "ไฟล์ข้อความใหม่",
- "Text file" : "ไฟล์ข้อความ",
- "New folder" : "โฟลเดอร์ใหม่",
- "Folder" : "แฟ้มเอกสาร",
- "Upload" : "อัพโหลด",
"Cancel upload" : "ยกเลิกการอัพโหลด",
"No files in here" : "ไม่มีไฟล์ที่นี่",
"Upload some content or sync with your devices!" : "อัพโหลดเนื้อหาบางส่วนหรือประสานข้อมูลกับอุปกรณ์ของคุณ! อีกครั้ง",
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index 345b9ffd9fb..157280b696c 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Yükleme iptal edildi.",
"Could not get result from server." : "Sunucudan sonuç alınamadı.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dosya yükleme işlemi sürüyor. Şu anda sayfadan ayrılmak yükleme işlemini iptal edecek.",
- "{new_name} already exists" : "{new_name} zaten mevcut",
- "Could not create file" : "Dosya oluşturulamadı",
- "Could not create folder" : "Klasör oluşturulamadı",
"Actions" : "Eylemler",
"Download" : "İndir",
"Select" : "Seç",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "Dosya taşıma hatası.",
"Error moving file" : "Dosya taşıma hatası",
"Error" : "Hata",
+ "{new_name} already exists" : "{new_name} zaten mevcut",
"Could not rename file" : "Dosya adlandırılamadı",
+ "Could not create file" : "Dosya oluşturulamadı",
+ "Could not create folder" : "Klasör oluşturulamadı",
"Error deleting file." : "Dosya silinirken hata.",
"No entries in this folder match '{filter}'" : "Bu klasörde hiçbir girdi '{filter}' ile eşleşmiyor",
"Name" : "İsim",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} ve {files}",
"You don’t have permission to upload or create files here" : "Buraya dosya yükleme veya oluşturma izniniz yok",
"_Uploading %n file_::_Uploading %n files_" : ["%n dosya yükleniyor","%n dosya yükleniyor"],
+ "New" : "Yeni",
"\"{name}\" is an invalid file name." : "\"{name}\" geçersiz bir dosya adı.",
"File name cannot be empty." : "Dosya adı boş olamaz.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} depolama alanı dolu, artık dosyalar güncellenmeyecek yada eşitlenmeyecek.",
@@ -67,8 +68,14 @@ OC.L10N.register(
"Storage of {owner} is almost full ({usedSpacePercent}%)" : " {owner} depolama alanı neredeyse dolu ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Depolama alanınız neredeyse dolu (%{usedSpacePercent})",
"_matches '{filter}'_::_match '{filter}'_" : ["'{filter}' ile eşleşiyor","'{filter}' ile eşleşiyor"],
+ "Path" : "Yol",
+ "_%n byte_::_%n bytes_" : ["%n bayt","%n bayt"],
"Favorited" : "Sık kullanılanlara eklendi",
"Favorite" : "Sık kullanılan",
+ "Upload" : "Yükle",
+ "Text file" : "Metin dosyası",
+ "Folder" : "Klasör",
+ "New folder" : "Yeni klasör",
"An error occurred while trying to update the tags" : "Etiketler güncellenmeye çalışılırken bir hata oluştu",
"A new file or folder has been <strong>created</strong>" : "Yeni bir dosya veya klasör <strong>oluşturuldu</strong>",
"A file or folder has been <strong>changed</strong>" : "Bir dosya veya klasör <strong>değiştirildi</strong>",
@@ -90,17 +97,12 @@ OC.L10N.register(
"File handling" : "Dosya işlemleri",
"Maximum upload size" : "Azami yükleme boyutu",
"max. possible: " : "mümkün olan en fazla: ",
+ "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM ile bu değerin kaydedildikten sonra etkili olabilmesi için 5 dakika gerekebilir.",
"Save" : "Kaydet",
"Can not be edited from here due to insufficient permissions." : "Yetersiz izinler buradan düzenlenemez.",
"Settings" : "Ayarlar",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">Dosyalarınıza WebDAV aracılığıyla erişmek için</a> bu adresi kullanın",
- "New" : "Yeni",
- "New text file" : "Yeni metin dosyası",
- "Text file" : "Metin dosyası",
- "New folder" : "Yeni klasör",
- "Folder" : "Klasör",
- "Upload" : "Yükle",
"Cancel upload" : "Yüklemeyi iptal et",
"No files in here" : "Burada hiç dosya yok",
"Upload some content or sync with your devices!" : "Bir şeyler yükleyin veya aygıtlarınızla eşitleyin!",
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index fc4ca146881..8a15f7ff315 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Yükleme iptal edildi.",
"Could not get result from server." : "Sunucudan sonuç alınamadı.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Dosya yükleme işlemi sürüyor. Şu anda sayfadan ayrılmak yükleme işlemini iptal edecek.",
- "{new_name} already exists" : "{new_name} zaten mevcut",
- "Could not create file" : "Dosya oluşturulamadı",
- "Could not create folder" : "Klasör oluşturulamadı",
"Actions" : "Eylemler",
"Download" : "İndir",
"Select" : "Seç",
@@ -47,7 +44,10 @@
"Error moving file." : "Dosya taşıma hatası.",
"Error moving file" : "Dosya taşıma hatası",
"Error" : "Hata",
+ "{new_name} already exists" : "{new_name} zaten mevcut",
"Could not rename file" : "Dosya adlandırılamadı",
+ "Could not create file" : "Dosya oluşturulamadı",
+ "Could not create folder" : "Klasör oluşturulamadı",
"Error deleting file." : "Dosya silinirken hata.",
"No entries in this folder match '{filter}'" : "Bu klasörde hiçbir girdi '{filter}' ile eşleşmiyor",
"Name" : "İsim",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} ve {files}",
"You don’t have permission to upload or create files here" : "Buraya dosya yükleme veya oluşturma izniniz yok",
"_Uploading %n file_::_Uploading %n files_" : ["%n dosya yükleniyor","%n dosya yükleniyor"],
+ "New" : "Yeni",
"\"{name}\" is an invalid file name." : "\"{name}\" geçersiz bir dosya adı.",
"File name cannot be empty." : "Dosya adı boş olamaz.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} depolama alanı dolu, artık dosyalar güncellenmeyecek yada eşitlenmeyecek.",
@@ -65,8 +66,14 @@
"Storage of {owner} is almost full ({usedSpacePercent}%)" : " {owner} depolama alanı neredeyse dolu ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Depolama alanınız neredeyse dolu (%{usedSpacePercent})",
"_matches '{filter}'_::_match '{filter}'_" : ["'{filter}' ile eşleşiyor","'{filter}' ile eşleşiyor"],
+ "Path" : "Yol",
+ "_%n byte_::_%n bytes_" : ["%n bayt","%n bayt"],
"Favorited" : "Sık kullanılanlara eklendi",
"Favorite" : "Sık kullanılan",
+ "Upload" : "Yükle",
+ "Text file" : "Metin dosyası",
+ "Folder" : "Klasör",
+ "New folder" : "Yeni klasör",
"An error occurred while trying to update the tags" : "Etiketler güncellenmeye çalışılırken bir hata oluştu",
"A new file or folder has been <strong>created</strong>" : "Yeni bir dosya veya klasör <strong>oluşturuldu</strong>",
"A file or folder has been <strong>changed</strong>" : "Bir dosya veya klasör <strong>değiştirildi</strong>",
@@ -88,17 +95,12 @@
"File handling" : "Dosya işlemleri",
"Maximum upload size" : "Azami yükleme boyutu",
"max. possible: " : "mümkün olan en fazla: ",
+ "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM ile bu değerin kaydedildikten sonra etkili olabilmesi için 5 dakika gerekebilir.",
"Save" : "Kaydet",
"Can not be edited from here due to insufficient permissions." : "Yetersiz izinler buradan düzenlenemez.",
"Settings" : "Ayarlar",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">Dosyalarınıza WebDAV aracılığıyla erişmek için</a> bu adresi kullanın",
- "New" : "Yeni",
- "New text file" : "Yeni metin dosyası",
- "Text file" : "Metin dosyası",
- "New folder" : "Yeni klasör",
- "Folder" : "Klasör",
- "Upload" : "Yükle",
"Cancel upload" : "Yüklemeyi iptal et",
"No files in here" : "Burada hiç dosya yok",
"Upload some content or sync with your devices!" : "Bir şeyler yükleyin veya aygıtlarınızla eşitleyin!",
diff --git a/apps/files/l10n/ug.js b/apps/files/l10n/ug.js
index 8d8dbe886c9..8d6dabd50d7 100644
--- a/apps/files/l10n/ug.js
+++ b/apps/files/l10n/ug.js
@@ -14,23 +14,23 @@ OC.L10N.register(
"Close" : "ياپ",
"Upload cancelled." : "يۈكلەشتىن ۋاز كەچتى.",
"File upload is in progress. Leaving the page now will cancel the upload." : "ھۆججەت يۈكلەش مەشغۇلاتى ئېلىپ بېرىلىۋاتىدۇ. Leaving the page now will cancel the upload.",
- "{new_name} already exists" : "{new_name} مەۋجۇت",
"Actions" : "مەشغۇلاتلار",
"Download" : "چۈشۈر",
"Pending" : "كۈتۈۋاتىدۇ",
"Error" : "خاتالىق",
+ "{new_name} already exists" : "{new_name} مەۋجۇت",
"Name" : "ئاتى",
"Size" : "چوڭلۇقى",
"Modified" : "ئۆزگەرتكەن",
+ "New" : "يېڭى",
"Favorite" : "يىغقۇچ",
+ "Upload" : "يۈكلە",
+ "Text file" : "تېكىست ھۆججەت",
+ "Folder" : "قىسقۇچ",
+ "New folder" : "يېڭى قىسقۇچ",
"Save" : "ساقلا",
"Settings" : "تەڭشەكلەر",
"WebDAV" : "WebDAV",
- "New" : "يېڭى",
- "Text file" : "تېكىست ھۆججەت",
- "New folder" : "يېڭى قىسقۇچ",
- "Folder" : "قىسقۇچ",
- "Upload" : "يۈكلە",
"Cancel upload" : "يۈكلەشتىن ۋاز كەچ",
"Delete" : "ئۆچۈر",
"Upload too large" : "يۈكلەندىغىنى بەك چوڭ"
diff --git a/apps/files/l10n/ug.json b/apps/files/l10n/ug.json
index 0ace5900d0e..86bd8391af2 100644
--- a/apps/files/l10n/ug.json
+++ b/apps/files/l10n/ug.json
@@ -12,23 +12,23 @@
"Close" : "ياپ",
"Upload cancelled." : "يۈكلەشتىن ۋاز كەچتى.",
"File upload is in progress. Leaving the page now will cancel the upload." : "ھۆججەت يۈكلەش مەشغۇلاتى ئېلىپ بېرىلىۋاتىدۇ. Leaving the page now will cancel the upload.",
- "{new_name} already exists" : "{new_name} مەۋجۇت",
"Actions" : "مەشغۇلاتلار",
"Download" : "چۈشۈر",
"Pending" : "كۈتۈۋاتىدۇ",
"Error" : "خاتالىق",
+ "{new_name} already exists" : "{new_name} مەۋجۇت",
"Name" : "ئاتى",
"Size" : "چوڭلۇقى",
"Modified" : "ئۆزگەرتكەن",
+ "New" : "يېڭى",
"Favorite" : "يىغقۇچ",
+ "Upload" : "يۈكلە",
+ "Text file" : "تېكىست ھۆججەت",
+ "Folder" : "قىسقۇچ",
+ "New folder" : "يېڭى قىسقۇچ",
"Save" : "ساقلا",
"Settings" : "تەڭشەكلەر",
"WebDAV" : "WebDAV",
- "New" : "يېڭى",
- "Text file" : "تېكىست ھۆججەت",
- "New folder" : "يېڭى قىسقۇچ",
- "Folder" : "قىسقۇچ",
- "Upload" : "يۈكلە",
"Cancel upload" : "يۈكلەشتىن ۋاز كەچ",
"Delete" : "ئۆچۈر",
"Upload too large" : "يۈكلەندىغىنى بەك چوڭ"
diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js
index f695cfb49e5..a06cc2f3d73 100644
--- a/apps/files/l10n/uk.js
+++ b/apps/files/l10n/uk.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "Вивантаження скасовано.",
"Could not get result from server." : "Не вдалося отримати результат від сервера.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Виконується вивантаження файлу. Закриття цієї сторінки приведе до скасування вивантаження.",
- "{new_name} already exists" : "{new_name} вже існує",
- "Could not create file" : "Не вдалося створити файл",
- "Could not create folder" : "Не вдалося створити теку",
"Actions" : "Дії",
"Download" : "Завантажити",
"Select" : "Оберіть",
@@ -48,7 +45,10 @@ OC.L10N.register(
"Error moving file." : "Помилка переміщення файлу.",
"Error moving file" : "Помилка переміщення файлу",
"Error" : "Помилка",
+ "{new_name} already exists" : "{new_name} вже існує",
"Could not rename file" : "Неможливо перейменувати файл",
+ "Could not create file" : "Не вдалося створити файл",
+ "Could not create folder" : "Не вдалося створити теку",
"Error deleting file." : "Помилка видалення файлу.",
"No entries in this folder match '{filter}'" : "Нічого не знайдено в цій теці '{filter}'",
"Name" : "Ім'я",
@@ -59,6 +59,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} і {files}",
"You don’t have permission to upload or create files here" : "У вас недостатньо прав для вивантаження або створення тут файлів",
"_Uploading %n file_::_Uploading %n files_" : ["Вивантаження %n файлу","Вивантаження %n файлів","Вивантаження %n файлів"],
+ "New" : "Створити",
"\"{name}\" is an invalid file name." : "\"{name}\" - некоректне ім'я файлу.",
"File name cannot be empty." : " Ім'я файлу не може бути порожнім.",
"Your storage is full, files can not be updated or synced anymore!" : "Ваше сховище переповнене, файли більше не можуть бути оновлені або синхронізовані !",
@@ -66,6 +67,10 @@ OC.L10N.register(
"_matches '{filter}'_::_match '{filter}'_" : ["знайдено '{filter}'","знайдено '{filter}'","знайдено '{filter}'"],
"Favorited" : "Улюблений",
"Favorite" : "Улюблений",
+ "Upload" : "Вивантажити",
+ "Text file" : "Текстовий файл",
+ "Folder" : "Тека",
+ "New folder" : "Нова тека",
"An error occurred while trying to update the tags" : "Виникла помилка при спробі оновити мітки",
"A new file or folder has been <strong>created</strong>" : "Новий файл або теку було <strong>створено</strong>",
"A file or folder has been <strong>changed</strong>" : "Файл або теку було <strong> змінено </strong>",
@@ -92,12 +97,6 @@ OC.L10N.register(
"Settings" : "Налаштування",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Для доступу до файлів через WebDAV використовуйте <a href=\"%s\" target=\"_blank\">це посилання</a>",
- "New" : "Створити",
- "New text file" : "Новий текстовий файл",
- "Text file" : "Текстовий файл",
- "New folder" : "Нова тека",
- "Folder" : "Тека",
- "Upload" : "Вивантажити",
"Cancel upload" : "Скасувати вивантаження",
"No files in here" : "Тут немає файлів",
"Upload some content or sync with your devices!" : "Вивантажте щось або синхронізуйте з пристроями!",
diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json
index adc124a267f..964ada95de1 100644
--- a/apps/files/l10n/uk.json
+++ b/apps/files/l10n/uk.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "Вивантаження скасовано.",
"Could not get result from server." : "Не вдалося отримати результат від сервера.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Виконується вивантаження файлу. Закриття цієї сторінки приведе до скасування вивантаження.",
- "{new_name} already exists" : "{new_name} вже існує",
- "Could not create file" : "Не вдалося створити файл",
- "Could not create folder" : "Не вдалося створити теку",
"Actions" : "Дії",
"Download" : "Завантажити",
"Select" : "Оберіть",
@@ -46,7 +43,10 @@
"Error moving file." : "Помилка переміщення файлу.",
"Error moving file" : "Помилка переміщення файлу",
"Error" : "Помилка",
+ "{new_name} already exists" : "{new_name} вже існує",
"Could not rename file" : "Неможливо перейменувати файл",
+ "Could not create file" : "Не вдалося створити файл",
+ "Could not create folder" : "Не вдалося створити теку",
"Error deleting file." : "Помилка видалення файлу.",
"No entries in this folder match '{filter}'" : "Нічого не знайдено в цій теці '{filter}'",
"Name" : "Ім'я",
@@ -57,6 +57,7 @@
"{dirs} and {files}" : "{dirs} і {files}",
"You don’t have permission to upload or create files here" : "У вас недостатньо прав для вивантаження або створення тут файлів",
"_Uploading %n file_::_Uploading %n files_" : ["Вивантаження %n файлу","Вивантаження %n файлів","Вивантаження %n файлів"],
+ "New" : "Створити",
"\"{name}\" is an invalid file name." : "\"{name}\" - некоректне ім'я файлу.",
"File name cannot be empty." : " Ім'я файлу не може бути порожнім.",
"Your storage is full, files can not be updated or synced anymore!" : "Ваше сховище переповнене, файли більше не можуть бути оновлені або синхронізовані !",
@@ -64,6 +65,10 @@
"_matches '{filter}'_::_match '{filter}'_" : ["знайдено '{filter}'","знайдено '{filter}'","знайдено '{filter}'"],
"Favorited" : "Улюблений",
"Favorite" : "Улюблений",
+ "Upload" : "Вивантажити",
+ "Text file" : "Текстовий файл",
+ "Folder" : "Тека",
+ "New folder" : "Нова тека",
"An error occurred while trying to update the tags" : "Виникла помилка при спробі оновити мітки",
"A new file or folder has been <strong>created</strong>" : "Новий файл або теку було <strong>створено</strong>",
"A file or folder has been <strong>changed</strong>" : "Файл або теку було <strong> змінено </strong>",
@@ -90,12 +95,6 @@
"Settings" : "Налаштування",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Для доступу до файлів через WebDAV використовуйте <a href=\"%s\" target=\"_blank\">це посилання</a>",
- "New" : "Створити",
- "New text file" : "Новий текстовий файл",
- "Text file" : "Текстовий файл",
- "New folder" : "Нова тека",
- "Folder" : "Тека",
- "Upload" : "Вивантажити",
"Cancel upload" : "Скасувати вивантаження",
"No files in here" : "Тут немає файлів",
"Upload some content or sync with your devices!" : "Вивантажте щось або синхронізуйте з пристроями!",
diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js
index b96c4fca63c..5e83c36abea 100644
--- a/apps/files/l10n/vi.js
+++ b/apps/files/l10n/vi.js
@@ -31,16 +31,16 @@ OC.L10N.register(
"Upload cancelled." : "Hủy tải lên",
"Could not get result from server." : "Không thể nhận được kết quả từ máy chủ.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Tập tin tải lên đang được xử lý. Nếu bạn rời khỏi trang bây giờ sẽ hủy quá trình này.",
- "{new_name} already exists" : "{new_name} đã tồn tại",
- "Could not create file" : "Không thể tạo file",
- "Could not create folder" : "Không thể tạo thư mục",
"Actions" : "Actions",
"Download" : "Tải về",
"Select" : "Chọn",
"Pending" : "Đang chờ",
"Error moving file" : "Lỗi di chuyển tập tin",
"Error" : "Lỗi",
+ "{new_name} already exists" : "{new_name} đã tồn tại",
"Could not rename file" : "Không thể đổi tên file",
+ "Could not create file" : "Không thể tạo file",
+ "Could not create folder" : "Không thể tạo thư mục",
"Error deleting file." : "Lỗi xóa file,",
"Name" : "Tên",
"Size" : "Kích cỡ",
@@ -50,10 +50,15 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} và {files}",
"You don’t have permission to upload or create files here" : "Bạn không có quyền upload hoặc tạo files ở đây",
"_Uploading %n file_::_Uploading %n files_" : ["Đang tải lên %n tập tin"],
+ "New" : "Tạo mới",
"File name cannot be empty." : "Tên file không được rỗng",
"Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!",
"Your storage is almost full ({usedSpacePercent}%)" : "Your storage is almost full ({usedSpacePercent}%)",
"Favorite" : "Ưu thích",
+ "Upload" : "Tải lên",
+ "Text file" : "Tập tin văn bản",
+ "Folder" : "Thư mục",
+ "New folder" : "Tạo thư mục",
"%s could not be renamed" : "%s không thể đổi tên",
"File handling" : "Xử lý tập tin",
"Maximum upload size" : "Kích thước tối đa ",
@@ -61,12 +66,6 @@ OC.L10N.register(
"Save" : "Lưu",
"Settings" : "Cài đặt",
"WebDAV" : "WebDAV",
- "New" : "Tạo mới",
- "New text file" : "File text mới",
- "Text file" : "Tập tin văn bản",
- "New folder" : "Tạo thư mục",
- "Folder" : "Thư mục",
- "Upload" : "Tải lên",
"Cancel upload" : "Hủy upload",
"No entries found in this folder" : "Chưa có mục nào trong thư mục",
"Select all" : "Chọn tất cả",
diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json
index 38e0e1c3846..285c0e39240 100644
--- a/apps/files/l10n/vi.json
+++ b/apps/files/l10n/vi.json
@@ -29,16 +29,16 @@
"Upload cancelled." : "Hủy tải lên",
"Could not get result from server." : "Không thể nhận được kết quả từ máy chủ.",
"File upload is in progress. Leaving the page now will cancel the upload." : "Tập tin tải lên đang được xử lý. Nếu bạn rời khỏi trang bây giờ sẽ hủy quá trình này.",
- "{new_name} already exists" : "{new_name} đã tồn tại",
- "Could not create file" : "Không thể tạo file",
- "Could not create folder" : "Không thể tạo thư mục",
"Actions" : "Actions",
"Download" : "Tải về",
"Select" : "Chọn",
"Pending" : "Đang chờ",
"Error moving file" : "Lỗi di chuyển tập tin",
"Error" : "Lỗi",
+ "{new_name} already exists" : "{new_name} đã tồn tại",
"Could not rename file" : "Không thể đổi tên file",
+ "Could not create file" : "Không thể tạo file",
+ "Could not create folder" : "Không thể tạo thư mục",
"Error deleting file." : "Lỗi xóa file,",
"Name" : "Tên",
"Size" : "Kích cỡ",
@@ -48,10 +48,15 @@
"{dirs} and {files}" : "{dirs} và {files}",
"You don’t have permission to upload or create files here" : "Bạn không có quyền upload hoặc tạo files ở đây",
"_Uploading %n file_::_Uploading %n files_" : ["Đang tải lên %n tập tin"],
+ "New" : "Tạo mới",
"File name cannot be empty." : "Tên file không được rỗng",
"Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!",
"Your storage is almost full ({usedSpacePercent}%)" : "Your storage is almost full ({usedSpacePercent}%)",
"Favorite" : "Ưu thích",
+ "Upload" : "Tải lên",
+ "Text file" : "Tập tin văn bản",
+ "Folder" : "Thư mục",
+ "New folder" : "Tạo thư mục",
"%s could not be renamed" : "%s không thể đổi tên",
"File handling" : "Xử lý tập tin",
"Maximum upload size" : "Kích thước tối đa ",
@@ -59,12 +64,6 @@
"Save" : "Lưu",
"Settings" : "Cài đặt",
"WebDAV" : "WebDAV",
- "New" : "Tạo mới",
- "New text file" : "File text mới",
- "Text file" : "Tập tin văn bản",
- "New folder" : "Tạo thư mục",
- "Folder" : "Thư mục",
- "Upload" : "Tải lên",
"Cancel upload" : "Hủy upload",
"No entries found in this folder" : "Chưa có mục nào trong thư mục",
"Select all" : "Chọn tất cả",
diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js
index 92945f43ba5..84b31368a14 100644
--- a/apps/files/l10n/zh_CN.js
+++ b/apps/files/l10n/zh_CN.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "上传已取消",
"Could not get result from server." : "不能从服务器得到结果",
"File upload is in progress. Leaving the page now will cancel the upload." : "文件正在上传中。现在离开此页会导致上传动作被取消。",
- "{new_name} already exists" : "{new_name} 已存在",
- "Could not create file" : "不能创建文件",
- "Could not create folder" : "不能创建文件夹",
"Actions" : "动作",
"Download" : "下载",
"Select" : "选择",
@@ -49,7 +46,10 @@ OC.L10N.register(
"Error moving file." : "移动文件出错。",
"Error moving file" : "移动文件错误",
"Error" : "错误",
+ "{new_name} already exists" : "{new_name} 已存在",
"Could not rename file" : "不能重命名文件",
+ "Could not create file" : "不能创建文件",
+ "Could not create folder" : "不能创建文件夹",
"Error deleting file." : "删除文件出错。",
"No entries in this folder match '{filter}'" : "此文件夹中无项目匹配“{filter}”",
"Name" : "名称",
@@ -60,6 +60,7 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} 和 {files}",
"You don’t have permission to upload or create files here" : "您没有权限来上传湖州哦和创建文件",
"_Uploading %n file_::_Uploading %n files_" : ["上传 %n 个文件"],
+ "New" : "新建",
"\"{name}\" is an invalid file name." : "“{name}”是一个无效的文件名。",
"File name cannot be empty." : "文件名不能为空。",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的存储空间已满,文件将无法更新或同步!",
@@ -67,8 +68,14 @@ OC.L10N.register(
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} 的存储空间即将用完 ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "您的存储空间即将用完 ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["匹配“{filter}”"],
+ "Path" : "路径",
+ "_%n byte_::_%n bytes_" : ["%n 字节"],
"Favorited" : "已收藏",
"Favorite" : "收藏",
+ "Upload" : "上传",
+ "Text file" : "文本文件",
+ "Folder" : "文件夹",
+ "New folder" : "增加文件夹",
"An error occurred while trying to update the tags" : "更新标签时出错",
"A new file or folder has been <strong>created</strong>" : "一个新的文件或文件夹已被<strong>创建</strong>",
"A file or folder has been <strong>changed</strong>" : "一个文件或文件夹已被<strong>修改</strong>",
@@ -90,17 +97,12 @@ OC.L10N.register(
"File handling" : "文件处理",
"Maximum upload size" : "最大上传大小",
"max. possible: " : "最大允许: ",
+ "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "对于 PHP-FPM 这个值保存后可能需要长达5分钟才会生效。",
"Save" : "保存",
"Can not be edited from here due to insufficient permissions." : "由于权限不足无法在此编辑。",
"Settings" : "设置",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "使用这个地址 <a href=\"%s\" target=\"_blank\">通过 WebDAV 访问您的文件</a>",
- "New" : "新建",
- "New text file" : "创建文本文件",
- "Text file" : "文本文件",
- "New folder" : "增加文件夹",
- "Folder" : "文件夹",
- "Upload" : "上传",
"Cancel upload" : "取消上传",
"No files in here" : "无文件",
"Upload some content or sync with your devices!" : "上传一些内容或者与设备同步!",
diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json
index 5bd652a3444..4d9a3737a98 100644
--- a/apps/files/l10n/zh_CN.json
+++ b/apps/files/l10n/zh_CN.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "上传已取消",
"Could not get result from server." : "不能从服务器得到结果",
"File upload is in progress. Leaving the page now will cancel the upload." : "文件正在上传中。现在离开此页会导致上传动作被取消。",
- "{new_name} already exists" : "{new_name} 已存在",
- "Could not create file" : "不能创建文件",
- "Could not create folder" : "不能创建文件夹",
"Actions" : "动作",
"Download" : "下载",
"Select" : "选择",
@@ -47,7 +44,10 @@
"Error moving file." : "移动文件出错。",
"Error moving file" : "移动文件错误",
"Error" : "错误",
+ "{new_name} already exists" : "{new_name} 已存在",
"Could not rename file" : "不能重命名文件",
+ "Could not create file" : "不能创建文件",
+ "Could not create folder" : "不能创建文件夹",
"Error deleting file." : "删除文件出错。",
"No entries in this folder match '{filter}'" : "此文件夹中无项目匹配“{filter}”",
"Name" : "名称",
@@ -58,6 +58,7 @@
"{dirs} and {files}" : "{dirs} 和 {files}",
"You don’t have permission to upload or create files here" : "您没有权限来上传湖州哦和创建文件",
"_Uploading %n file_::_Uploading %n files_" : ["上传 %n 个文件"],
+ "New" : "新建",
"\"{name}\" is an invalid file name." : "“{name}”是一个无效的文件名。",
"File name cannot be empty." : "文件名不能为空。",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的存储空间已满,文件将无法更新或同步!",
@@ -65,8 +66,14 @@
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} 的存储空间即将用完 ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "您的存储空间即将用完 ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["匹配“{filter}”"],
+ "Path" : "路径",
+ "_%n byte_::_%n bytes_" : ["%n 字节"],
"Favorited" : "已收藏",
"Favorite" : "收藏",
+ "Upload" : "上传",
+ "Text file" : "文本文件",
+ "Folder" : "文件夹",
+ "New folder" : "增加文件夹",
"An error occurred while trying to update the tags" : "更新标签时出错",
"A new file or folder has been <strong>created</strong>" : "一个新的文件或文件夹已被<strong>创建</strong>",
"A file or folder has been <strong>changed</strong>" : "一个文件或文件夹已被<strong>修改</strong>",
@@ -88,17 +95,12 @@
"File handling" : "文件处理",
"Maximum upload size" : "最大上传大小",
"max. possible: " : "最大允许: ",
+ "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "对于 PHP-FPM 这个值保存后可能需要长达5分钟才会生效。",
"Save" : "保存",
"Can not be edited from here due to insufficient permissions." : "由于权限不足无法在此编辑。",
"Settings" : "设置",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "使用这个地址 <a href=\"%s\" target=\"_blank\">通过 WebDAV 访问您的文件</a>",
- "New" : "新建",
- "New text file" : "创建文本文件",
- "Text file" : "文本文件",
- "New folder" : "增加文件夹",
- "Folder" : "文件夹",
- "Upload" : "上传",
"Cancel upload" : "取消上传",
"No files in here" : "无文件",
"Upload some content or sync with your devices!" : "上传一些内容或者与设备同步!",
diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js
index 02193710b4e..94f4397f23b 100644
--- a/apps/files/l10n/zh_HK.js
+++ b/apps/files/l10n/zh_HK.js
@@ -11,6 +11,10 @@ OC.L10N.register(
"Name" : "名稱",
"Size" : "大小",
"{dirs} and {files}" : "{dirs} 和 {files}",
+ "New" : "新增",
+ "Upload" : "上戴",
+ "Folder" : "資料夾",
+ "New folder" : "新資料夾",
"A new file or folder has been <strong>created</strong>" : "新檔案或資料夾已被 <strong> 新增 </strong>",
"A file or folder has been <strong>changed</strong>" : "檔案或資料夾已被 <strong> 變成 </strong>",
"A file or folder has been <strong>deleted</strong>" : "新檔案或資料夾已被 <strong> 刪除 </strong>",
@@ -23,10 +27,6 @@ OC.L10N.register(
"Save" : "儲存",
"Settings" : "設定",
"WebDAV" : "WebDAV",
- "New" : "新增",
- "New folder" : "新資料夾",
- "Folder" : "資料夾",
- "Upload" : "上戴",
"Cancel upload" : "取消上戴",
"Delete" : "刪除"
},
diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json
index 23f24afa0a6..63716aca559 100644
--- a/apps/files/l10n/zh_HK.json
+++ b/apps/files/l10n/zh_HK.json
@@ -9,6 +9,10 @@
"Name" : "名稱",
"Size" : "大小",
"{dirs} and {files}" : "{dirs} 和 {files}",
+ "New" : "新增",
+ "Upload" : "上戴",
+ "Folder" : "資料夾",
+ "New folder" : "新資料夾",
"A new file or folder has been <strong>created</strong>" : "新檔案或資料夾已被 <strong> 新增 </strong>",
"A file or folder has been <strong>changed</strong>" : "檔案或資料夾已被 <strong> 變成 </strong>",
"A file or folder has been <strong>deleted</strong>" : "新檔案或資料夾已被 <strong> 刪除 </strong>",
@@ -21,10 +25,6 @@
"Save" : "儲存",
"Settings" : "設定",
"WebDAV" : "WebDAV",
- "New" : "新增",
- "New folder" : "新資料夾",
- "Folder" : "資料夾",
- "Upload" : "上戴",
"Cancel upload" : "取消上戴",
"Delete" : "刪除"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index 049b63814a6..7c013533e2a 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -36,9 +36,6 @@ OC.L10N.register(
"Upload cancelled." : "上傳已取消",
"Could not get result from server." : "無法從伺服器取回結果",
"File upload is in progress. Leaving the page now will cancel the upload." : "檔案上傳中,離開此頁面將會取消上傳。",
- "{new_name} already exists" : "{new_name} 已經存在",
- "Could not create file" : "無法建立檔案",
- "Could not create folder" : "無法建立資料夾",
"Actions" : "動作",
"Download" : "下載",
"Select" : "選擇",
@@ -48,7 +45,10 @@ OC.L10N.register(
"Error moving file." : "移動檔案發生錯誤",
"Error moving file" : "移動檔案失敗",
"Error" : "錯誤",
+ "{new_name} already exists" : "{new_name} 已經存在",
"Could not rename file" : "無法重新命名",
+ "Could not create file" : "無法建立檔案",
+ "Could not create folder" : "無法建立資料夾",
"Error deleting file." : "刪除檔案發生錯誤",
"No entries in this folder match '{filter}'" : "在此資料夾中沒有項目與 '{filter}' 相符",
"Name" : "名稱",
@@ -59,13 +59,22 @@ OC.L10N.register(
"{dirs} and {files}" : "{dirs} 和 {files}",
"You don’t have permission to upload or create files here" : "您沒有權限在這裡上傳或建立檔案",
"_Uploading %n file_::_Uploading %n files_" : ["%n 個檔案正在上傳"],
+ "New" : "新增",
"\"{name}\" is an invalid file name." : "{name} 是無效的檔名",
"File name cannot be empty." : "檔名不能為空",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的儲存空間已滿,沒有辦法再更新或是同步檔案!",
"Your storage is full, files can not be updated or synced anymore!" : "您的儲存空間已滿,沒有辦法再更新或是同步檔案!",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} 的儲存空間快要滿了 ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "您的儲存空間快要滿了 ({usedSpacePercent}%)",
+ "Path" : "路徑",
+ "_%n byte_::_%n bytes_" : ["%n 位元組"],
+ "Favorited" : "已加入最愛",
"Favorite" : "我的最愛",
+ "Upload" : "上傳",
+ "Text file" : "文字檔",
+ "Folder" : "資料夾",
+ "New folder" : "新資料夾",
+ "An error occurred while trying to update the tags" : "更新標籤時發生錯誤",
"A new file or folder has been <strong>created</strong>" : "新的檔案或目錄已被 <strong>建立</strong>",
"A file or folder has been <strong>changed</strong>" : "檔案或目錄已被 <strong>變更</strong>",
"A file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
@@ -89,12 +98,6 @@ OC.L10N.register(
"Settings" : "設定",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "使用這個地址<a href=\"%s\" target=\"_blank\">來透過 WebDAV 存取檔案</a>",
- "New" : "新增",
- "New text file" : "新文字檔",
- "Text file" : "文字檔",
- "New folder" : "新資料夾",
- "Folder" : "資料夾",
- "Upload" : "上傳",
"Cancel upload" : "取消上傳",
"No files in here" : "沒有任何檔案",
"Upload some content or sync with your devices!" : "在您的裝置中同步或上傳一些內容",
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index 7b047c3c012..9d1aec9e4f2 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -34,9 +34,6 @@
"Upload cancelled." : "上傳已取消",
"Could not get result from server." : "無法從伺服器取回結果",
"File upload is in progress. Leaving the page now will cancel the upload." : "檔案上傳中,離開此頁面將會取消上傳。",
- "{new_name} already exists" : "{new_name} 已經存在",
- "Could not create file" : "無法建立檔案",
- "Could not create folder" : "無法建立資料夾",
"Actions" : "動作",
"Download" : "下載",
"Select" : "選擇",
@@ -46,7 +43,10 @@
"Error moving file." : "移動檔案發生錯誤",
"Error moving file" : "移動檔案失敗",
"Error" : "錯誤",
+ "{new_name} already exists" : "{new_name} 已經存在",
"Could not rename file" : "無法重新命名",
+ "Could not create file" : "無法建立檔案",
+ "Could not create folder" : "無法建立資料夾",
"Error deleting file." : "刪除檔案發生錯誤",
"No entries in this folder match '{filter}'" : "在此資料夾中沒有項目與 '{filter}' 相符",
"Name" : "名稱",
@@ -57,13 +57,22 @@
"{dirs} and {files}" : "{dirs} 和 {files}",
"You don’t have permission to upload or create files here" : "您沒有權限在這裡上傳或建立檔案",
"_Uploading %n file_::_Uploading %n files_" : ["%n 個檔案正在上傳"],
+ "New" : "新增",
"\"{name}\" is an invalid file name." : "{name} 是無效的檔名",
"File name cannot be empty." : "檔名不能為空",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的儲存空間已滿,沒有辦法再更新或是同步檔案!",
"Your storage is full, files can not be updated or synced anymore!" : "您的儲存空間已滿,沒有辦法再更新或是同步檔案!",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} 的儲存空間快要滿了 ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "您的儲存空間快要滿了 ({usedSpacePercent}%)",
+ "Path" : "路徑",
+ "_%n byte_::_%n bytes_" : ["%n 位元組"],
+ "Favorited" : "已加入最愛",
"Favorite" : "我的最愛",
+ "Upload" : "上傳",
+ "Text file" : "文字檔",
+ "Folder" : "資料夾",
+ "New folder" : "新資料夾",
+ "An error occurred while trying to update the tags" : "更新標籤時發生錯誤",
"A new file or folder has been <strong>created</strong>" : "新的檔案或目錄已被 <strong>建立</strong>",
"A file or folder has been <strong>changed</strong>" : "檔案或目錄已被 <strong>變更</strong>",
"A file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
@@ -87,12 +96,6 @@
"Settings" : "設定",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "使用這個地址<a href=\"%s\" target=\"_blank\">來透過 WebDAV 存取檔案</a>",
- "New" : "新增",
- "New text file" : "新文字檔",
- "Text file" : "文字檔",
- "New folder" : "新資料夾",
- "Folder" : "資料夾",
- "Upload" : "上傳",
"Cancel upload" : "取消上傳",
"No files in here" : "沒有任何檔案",
"Upload some content or sync with your devices!" : "在您的裝置中同步或上傳一些內容",
diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php
index 32651b261da..15af1970dc3 100644
--- a/apps/files/templates/list.php
+++ b/apps/files/templates/list.php
@@ -1,40 +1,16 @@
<div id="controls">
<div class="actions creatable hidden">
- <?php if(!isset($_['dirToken'])):?>
- <div id="new" class="button">
- <a><?php p($l->t('New'));?></a>
- <ul>
- <li class="icon-filetype-text svg"
- data-type="file" data-newname="<?php p($l->t('New text file')) ?>.txt">
- <p><?php p($l->t('Text file'));?></p>
- </li>
- <li class="icon-filetype-folder svg"
- data-type="folder" data-newname="<?php p($l->t('New folder')) ?>">
- <p><?php p($l->t('Folder'));?></p>
- </li>
- </ul>
- </div>
- <?php endif;?>
- <?php /* Note: the template attributes are here only for the public page. These are normally loaded
- through ajax instead (updateStorageStatistics).
- */ ?>
- <div id="upload" class="button"
+ <?php /*
+ Only show upload button for public page
+ */ ?>
+ <?php if(isset($_['dirToken'])):?>
+ <div id="upload" class="button upload"
title="<?php isset($_['uploadMaxHumanFilesize']) ? p($l->t('Upload (max. %s)', array($_['uploadMaxHumanFilesize']))) : '' ?>">
- <input type="hidden" id="max_upload" name="MAX_FILE_SIZE" value="<?php isset($_['uploadMaxFilesize']) ? p($_['uploadMaxFilesize']) : '' ?>">
- <input type="hidden" id="upload_limit" value="<?php isset($_['uploadLimit']) ? p($_['uploadLimit']) : '' ?>">
- <input type="hidden" id="free_space" value="<?php isset($_['freeSpace']) ? p($_['freeSpace']) : '' ?>">
- <?php if(isset($_['dirToken'])):?>
- <input type="hidden" id="publicUploadRequestToken" name="requesttoken" value="<?php p($_['requesttoken']) ?>" />
- <input type="hidden" id="dirToken" name="dirToken" value="<?php p($_['dirToken']) ?>" />
- <?php endif;?>
- <input type="hidden" class="max_human_file_size"
- value="(max <?php isset($_['uploadMaxHumanFilesize']) ? p($_['uploadMaxHumanFilesize']) : ''; ?>)">
- <input type="file" id="file_upload_start" name='files[]'
- data-url="<?php print_unescaped(OCP\Util::linkTo('files', 'ajax/upload.php')); ?>" />
<label for="file_upload_start" class="svg icon-upload">
<span class="hidden-visually"><?php p($l->t('Upload'))?></span>
</label>
</div>
+ <?php endif; ?>
<div id="uploadprogresswrapper">
<div id="uploadprogressbar"></div>
<button class="stop icon-close" style="display:none">
@@ -48,7 +24,19 @@
<div class="notCreatable notPublic hidden">
<?php p($l->t('You don’t have permission to upload or create files here'))?>
</div>
+ <?php /* Note: the template attributes are here only for the public page. These are normally loaded
+ through ajax instead (updateStorageStatistics).
+ */ ?>
<input type="hidden" name="permissions" value="" id="permissions">
+ <input type="hidden" id="max_upload" name="MAX_FILE_SIZE" value="<?php isset($_['uploadMaxFilesize']) ? p($_['uploadMaxFilesize']) : '' ?>">
+ <input type="hidden" id="upload_limit" value="<?php isset($_['uploadLimit']) ? p($_['uploadLimit']) : '' ?>">
+ <input type="hidden" id="free_space" value="<?php isset($_['freeSpace']) ? p($_['freeSpace']) : '' ?>">
+ <?php if(isset($_['dirToken'])):?>
+ <input type="hidden" id="publicUploadRequestToken" name="requesttoken" value="<?php p($_['requesttoken']) ?>" />
+ <input type="hidden" id="dirToken" name="dirToken" value="<?php p($_['dirToken']) ?>" />
+ <?php endif;?>
+ <input type="hidden" class="max_human_file_size"
+ value="(max <?php isset($_['uploadMaxHumanFilesize']) ? p($_['uploadMaxHumanFilesize']) : ''; ?>)">
</div>
<div id="emptycontent" class="hidden">
@@ -101,6 +89,10 @@
</tfoot>
</table>
<input type="hidden" name="dir" id="dir" value="" />
+<div class="hiddenuploadfield">
+ <input type="file" id="file_upload_start" class="hiddenuploadfield" name="files[]"
+ data-url="<?php print_unescaped(OCP\Util::linkTo('files', 'ajax/upload.php')); ?>" />
+</div>
<div id="editor"></div><!-- FIXME Do not use this div in your app! It is deprecated and will be removed in the future! -->
<div id="uploadsize-message" title="<?php p($l->t('Upload too large'))?>">
<p>
diff --git a/apps/files/tests/js/fileUploadSpec.js b/apps/files/tests/js/fileUploadSpec.js
index 817654c4fa9..cad8468d1c8 100644
--- a/apps/files/tests/js/fileUploadSpec.js
+++ b/apps/files/tests/js/fileUploadSpec.js
@@ -19,7 +19,6 @@
*
*/
-/* global OC */
describe('OC.Upload tests', function() {
var $dummyUploader;
var testFile;
@@ -118,54 +117,4 @@ describe('OC.Upload tests', function() {
);
});
});
- describe('New file', function() {
- var $input;
- var currentDirStub;
-
- beforeEach(function() {
- OC.Upload.init();
- $('#new>a').click();
- $('#new li[data-type=file]').click();
- $input = $('#new input[type=text]');
-
- currentDirStub = sinon.stub(FileList, 'getCurrentDirectory');
- currentDirStub.returns('testdir');
- });
- afterEach(function() {
- currentDirStub.restore();
- });
- it('sets default text in field', function() {
- expect($input.length).toEqual(1);
- expect($input.val()).toEqual('New text file.txt');
- });
- it('creates file when enter is pressed', function() {
- $input.val('somefile.txt');
- $input.trigger(new $.Event('keyup', {keyCode: 13}));
- $input.parent('form').submit();
- expect(fakeServer.requests.length).toEqual(2);
-
- var request = fakeServer.requests[1];
- expect(request.method).toEqual('POST');
- expect(request.url).toEqual(OC.webroot + '/index.php/apps/files/ajax/newfile.php');
- var query = OC.parseQueryString(request.requestBody);
- expect(query).toEqual({
- dir: 'testdir',
- filename: 'somefile.txt'
- });
- });
- it('prevents entering invalid file names', function() {
- $input.val('..');
- $input.trigger(new $.Event('keyup', {keyCode: 13}));
- $input.parent('form').submit();
- expect(fakeServer.requests.length).toEqual(1);
- });
- it('prevents entering file names that already exist', function() {
- var inListStub = sinon.stub(FileList, 'inList').returns(true);
- $input.val('existing.txt');
- $input.trigger(new $.Event('keyup', {keyCode: 13}));
- $input.parent('form').submit();
- expect(fakeServer.requests.length).toEqual(1);
- inListStub.restore();
- });
- });
});
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index a6d72a88efd..c05e7c37214 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -2157,6 +2157,93 @@ describe('OCA.Files.FileList tests', function() {
expect(fileList.$fileList.find('tr').length).toEqual(5);
});
});
+ describe('create file', function() {
+ var deferredCreate;
+
+ beforeEach(function() {
+ deferredCreate = $.Deferred();
+ });
+
+ it('creates file with given name and adds it to the list', function() {
+ var deferred = fileList.createFile('test file.txt');
+ var successStub = sinon.stub();
+ var failureStub = sinon.stub();
+
+ deferred.done(successStub);
+ deferred.fail(failureStub);
+
+ expect(fakeServer.requests.length).toEqual(1);
+ expect(fakeServer.requests[0].url).toEqual(OC.generateUrl('/apps/files/ajax/newfile.php'));
+
+ var query = fakeServer.requests[0].requestBody;
+ expect(OC.parseQueryString(query)).toEqual({
+ dir: '/subdir',
+ filename: 'test file.txt'
+ });
+
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({
+ status: 'success',
+ data: {
+ path: '/subdir',
+ name: 'test file.txt',
+ mimetype: 'text/plain'
+ }
+ })
+ );
+
+ var $tr = fileList.findFileEl('test file.txt');
+ expect($tr.length).toEqual(1);
+ expect($tr.attr('data-mime')).toEqual('text/plain');
+
+ expect(successStub.calledOnce).toEqual(true);
+ expect(failureStub.notCalled).toEqual(true);
+ });
+ // TODO: error cases
+ // TODO: unique name cases
+ });
+ describe('create directory', function() {
+ it('creates directory with given name and adds it to the list', function() {
+ var deferred = fileList.createDirectory('test directory');
+ var successStub = sinon.stub();
+ var failureStub = sinon.stub();
+
+ deferred.done(successStub);
+ deferred.fail(failureStub);
+
+ expect(fakeServer.requests.length).toEqual(1);
+ expect(fakeServer.requests[0].url).toEqual(OC.generateUrl('/apps/files/ajax/newfolder.php'));
+ var query = fakeServer.requests[0].requestBody;
+ expect(OC.parseQueryString(query)).toEqual({
+ dir: '/subdir',
+ foldername: 'test directory'
+ });
+
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({
+ status: 'success',
+ data: {
+ path: '/subdir',
+ name: 'test directory',
+ mimetype: 'httpd/unix-directory'
+ }
+ })
+ );
+
+ var $tr = fileList.findFileEl('test directory');
+ expect($tr.length).toEqual(1);
+ expect($tr.attr('data-mime')).toEqual('httpd/unix-directory');
+
+ expect(successStub.calledOnce).toEqual(true);
+ expect(failureStub.notCalled).toEqual(true);
+ });
+ // TODO: error cases
+ // TODO: unique name cases
+ });
/**
* Test upload mostly by testing the code inside the event handlers
* that were registered on the magic upload object
@@ -2359,4 +2446,36 @@ describe('OCA.Files.FileList tests', function() {
expect(fileInfo.type).toEqual('file');
});
});
+ describe('new file menu', function() {
+ var newFileMenuStub;
+
+ beforeEach(function() {
+ newFileMenuStub = sinon.stub(OCA.Files.NewFileMenu.prototype, 'showAt');
+ });
+ afterEach(function() {
+ newFileMenuStub.restore();
+ })
+ it('renders new button when no legacy upload button exists', function() {
+ expect(fileList.$el.find('.button.upload').length).toEqual(0);
+ expect(fileList.$el.find('.button.new').length).toEqual(1);
+ });
+ it('does not render new button when no legacy upload button exists (public page)', function() {
+ fileList.destroy();
+ $('#controls').append('<input type="button" class="button upload" />');
+ fileList = new OCA.Files.FileList($('#app-content-files'));
+ expect(fileList.$el.find('.button.upload').length).toEqual(1);
+ expect(fileList.$el.find('.button.new').length).toEqual(0);
+ });
+ it('opens the new file menu when clicking on the "New" button', function() {
+ var $button = fileList.$el.find('.button.new');
+ $button.click();
+ expect(newFileMenuStub.calledOnce).toEqual(true);
+ });
+ it('does not open the new file menu when button is disabled', function() {
+ var $button = fileList.$el.find('.button.new');
+ $button.addClass('disabled');
+ $button.click();
+ expect(newFileMenuStub.notCalled).toEqual(true);
+ });
+ });
});
diff --git a/apps/files/tests/js/mainfileinfodetailviewSpec.js b/apps/files/tests/js/mainfileinfodetailviewSpec.js
index 3d78312c86e..2b9e2b23f93 100644
--- a/apps/files/tests/js/mainfileinfodetailviewSpec.js
+++ b/apps/files/tests/js/mainfileinfodetailviewSpec.js
@@ -20,11 +20,10 @@
*/
describe('OCA.Files.MainFileInfoDetailView tests', function() {
- var view, tooltipStub, fileListMock, fileActions, fileList, testFileInfo;
+ var view, tooltipStub, fileActions, fileList, testFileInfo;
beforeEach(function() {
tooltipStub = sinon.stub($.fn, 'tooltip');
- fileListMock = sinon.mock(OCA.Files.FileList.prototype);
fileActions = new OCA.Files.FileActions();
fileList = new OCA.Files.FileList($('<table></table>'), {
fileActions: fileActions
@@ -40,6 +39,7 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() {
permissions: 31,
path: '/subdir',
size: 123456789,
+ etag: 'abcdefg',
mtime: Date.UTC(2015, 6, 17, 1, 2, 0, 0)
});
});
@@ -47,7 +47,6 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() {
view.remove();
view = undefined;
tooltipStub.restore();
- fileListMock.restore();
});
describe('rendering', function() {
@@ -76,9 +75,31 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() {
});
it('displays mime icon', function() {
// File
+ var lazyLoadPreviewStub = sinon.stub(fileList, 'lazyLoadPreview');
testFileInfo.set('mimetype', 'text/calendar');
view.setFileInfo(testFileInfo);
+ expect(lazyLoadPreviewStub.calledOnce).toEqual(true);
+ var previewArgs = lazyLoadPreviewStub.getCall(0).args;
+ expect(previewArgs[0].mime).toEqual('text/calendar');
+ expect(previewArgs[0].path).toEqual('/subdir/One.txt');
+ expect(previewArgs[0].etag).toEqual('abcdefg');
+
+ expect(view.$el.find('.thumbnail').hasClass('icon-loading')).toEqual(true);
+
+ // returns mime icon first without img parameter
+ previewArgs[0].callback(
+ OC.imagePath('core', 'filetypes/text-calendar.svg')
+ );
+
+ // still loading
+ expect(view.$el.find('.thumbnail').hasClass('icon-loading')).toEqual(true);
+
+ // preview loading failed, no prview
+ previewArgs[0].error();
+
+ // loading stopped, the mimetype icon gets displayed
+ expect(view.$el.find('.thumbnail').hasClass('icon-loading')).toEqual(false);
expect(view.$el.find('.thumbnail').css('background-image'))
.toContain('filetypes/text-calendar.svg');
@@ -88,17 +109,46 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() {
expect(view.$el.find('.thumbnail').css('background-image'))
.toContain('filetypes/folder.svg');
+
+ lazyLoadPreviewStub.restore();
});
it('displays thumbnail', function() {
- testFileInfo.set('mimetype', 'test/plain');
+ var lazyLoadPreviewStub = sinon.stub(fileList, 'lazyLoadPreview');
+
+ testFileInfo.set('mimetype', 'text/plain');
view.setFileInfo(testFileInfo);
- var expectation = fileListMock.expects('lazyLoadPreview');
- expectation.once();
+ expect(lazyLoadPreviewStub.calledOnce).toEqual(true);
+ var previewArgs = lazyLoadPreviewStub.getCall(0).args;
+ expect(previewArgs[0].mime).toEqual('text/plain');
+ expect(previewArgs[0].path).toEqual('/subdir/One.txt');
+ expect(previewArgs[0].etag).toEqual('abcdefg');
- view.setFileInfo(testFileInfo);
+ expect(view.$el.find('.thumbnail').hasClass('icon-loading')).toEqual(true);
+
+ // returns mime icon first without img parameter
+ previewArgs[0].callback(
+ OC.imagePath('core', 'filetypes/text-plain.svg')
+ );
+
+ // still loading
+ expect(view.$el.find('.thumbnail').hasClass('icon-loading')).toEqual(true);
+
+ // return an actual (simulated) image
+ previewArgs[0].callback(
+ 'testimage', {
+ width: 100,
+ height: 200
+ }
+ );
+
+ // loading stopped, image got displayed
+ expect(view.$el.find('.thumbnail').css('background-image'))
+ .toContain('testimage');
+
+ expect(view.$el.find('.thumbnail').hasClass('icon-loading')).toEqual(false);
- fileListMock.verify();
+ lazyLoadPreviewStub.restore();
});
it('does not show size if no size available', function() {
testFileInfo.unset('size');
diff --git a/apps/files/tests/js/newfilemenuSpec.js b/apps/files/tests/js/newfilemenuSpec.js
new file mode 100644
index 00000000000..3d89a997eb2
--- /dev/null
+++ b/apps/files/tests/js/newfilemenuSpec.js
@@ -0,0 +1,119 @@
+/**
+* ownCloud
+*
+* @author Vincent Petry
+* @copyright 2015 Vincent Petry <pvince81@owncloud.com>
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+*
+* You should have received a copy of the GNU Affero General Public
+* License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+describe('OCA.Files.NewFileMenu', function() {
+ var FileList = OCA.Files.FileList;
+ var menu, fileList, $uploadField, $trigger;
+
+ beforeEach(function() {
+ // dummy upload button
+ var $container = $('<div id="app-content-files"></div>');
+ $uploadField = $('<input id="file_upload_start"></input>');
+ $trigger = $('<a href="#">Menu</a>');
+ $container.append($uploadField).append($trigger);
+ $('#testArea').append($container);
+
+ fileList = new FileList($container);
+ menu = new OCA.Files.NewFileMenu({
+ fileList: fileList
+ });
+ menu.showAt($trigger);
+ });
+ afterEach(function() {
+ OC.hideMenus();
+ fileList = null;
+ menu = null;
+ });
+
+ describe('rendering', function() {
+ it('renders menu items', function() {
+ var $items = menu.$el.find('.menuitem');
+ expect($items.length).toEqual(3);
+ // label points to the file_upload_start item
+ var $item = $items.eq(0);
+ expect($item.is('label')).toEqual(true);
+ expect($item.attr('for')).toEqual('file_upload_start');
+ });
+ });
+ describe('New file/folder', function() {
+ var $input;
+ var createFileStub;
+ var createDirectoryStub;
+
+ beforeEach(function() {
+ createFileStub = sinon.stub(FileList.prototype, 'createFile');
+ createDirectoryStub = sinon.stub(FileList.prototype, 'createDirectory');
+ menu.$el.find('.menuitem').eq(1).click();
+ $input = menu.$el.find('form.filenameform input');
+ });
+ afterEach(function() {
+ createFileStub.restore();
+ createDirectoryStub.restore();
+ });
+
+ it('sets default text in field', function() {
+ expect($input.length).toEqual(1);
+ expect($input.val()).toEqual('New text file.txt');
+ });
+ it('creates file when enter is pressed', function() {
+ $input.val('somefile.txt');
+ $input.trigger(new $.Event('keyup', {keyCode: 13}));
+ $input.parent('form').submit();
+
+ expect(createFileStub.calledOnce).toEqual(true);
+ expect(createFileStub.getCall(0).args[0]).toEqual('somefile.txt');
+ expect(createDirectoryStub.notCalled).toEqual(true);
+ });
+ it('prevents entering invalid file names', function() {
+ $input.val('..');
+ $input.trigger(new $.Event('keyup', {keyCode: 13}));
+ $input.closest('form').submit();
+
+ expect(createFileStub.notCalled).toEqual(true);
+ expect(createDirectoryStub.notCalled).toEqual(true);
+ });
+ it('prevents entering file names that already exist', function() {
+ var inListStub = sinon.stub(fileList, 'inList').returns(true);
+ $input.val('existing.txt');
+ $input.trigger(new $.Event('keyup', {keyCode: 13}));
+ $input.closest('form').submit();
+
+ expect(createFileStub.notCalled).toEqual(true);
+ expect(createDirectoryStub.notCalled).toEqual(true);
+ inListStub.restore();
+ });
+ it('switching fields removes the previous form', function() {
+ menu.$el.find('.menuitem').eq(2).click();
+ expect(menu.$el.find('form').length).toEqual(1);
+ });
+ it('creates directory when clicking on create directory field', function() {
+ menu.$el.find('.menuitem').eq(2).click();
+ $input = menu.$el.find('form.filenameform input');
+ $input.val('some folder');
+ $input.trigger(new $.Event('keyup', {keyCode: 13}));
+ $input.closest('form').submit();
+
+ expect(createDirectoryStub.calledOnce).toEqual(true);
+ expect(createDirectoryStub.getCall(0).args[0]).toEqual('some folder');
+ expect(createFileStub.notCalled).toEqual(true);
+ });
+ });
+});
diff --git a/apps/files/tests/js/tagspluginspec.js b/apps/files/tests/js/tagspluginspec.js
index 5309973cf4f..533aa63362c 100644
--- a/apps/files/tests/js/tagspluginspec.js
+++ b/apps/files/tests/js/tagspluginspec.js
@@ -79,12 +79,12 @@ describe('OCA.Files.TagsPlugin tests', function() {
it('sends request to server and updates icon', function() {
var request;
fileList.setFiles(testFiles);
- $tr = fileList.$el.find('tbody tr:first');
- $action = $tr.find('.action-favorite');
+ var $tr = fileList.findFileEl('One.txt');
+ var $action = $tr.find('.action-favorite');
$action.click();
expect(fakeServer.requests.length).toEqual(1);
- var request = fakeServer.requests[0];
+ request = fakeServer.requests[0];
expect(JSON.parse(request.requestBody)).toEqual({
tags: ['tag1', 'tag2', OC.TAG_FAVORITE]
});
@@ -92,12 +92,18 @@ describe('OCA.Files.TagsPlugin tests', function() {
tags: ['tag1', 'tag2', 'tag3', OC.TAG_FAVORITE]
}));
+ // re-read the element as it was re-inserted
+ $tr = fileList.findFileEl('One.txt');
+ $action = $tr.find('.action-favorite');
+
expect($tr.attr('data-favorite')).toEqual('true');
expect($tr.attr('data-tags').split('|')).toEqual(['tag1', 'tag2', 'tag3', OC.TAG_FAVORITE]);
expect(fileList.files[0].tags).toEqual(['tag1', 'tag2', 'tag3', OC.TAG_FAVORITE]);
expect($action.find('img').attr('src')).toEqual(OC.imagePath('core', 'actions/starred'));
$action.click();
+
+ expect(fakeServer.requests.length).toEqual(2);
request = fakeServer.requests[1];
expect(JSON.parse(request.requestBody)).toEqual({
tags: ['tag1', 'tag2', 'tag3']
@@ -106,10 +112,29 @@ describe('OCA.Files.TagsPlugin tests', function() {
tags: ['tag1', 'tag2', 'tag3']
}));
- expect($tr.attr('data-favorite')).toEqual('false');
+ // re-read the element as it was re-inserted
+ $tr = fileList.findFileEl('One.txt');
+ $action = $tr.find('.action-favorite');
+
+ expect($tr.attr('data-favorite')).toBeFalsy();
expect($tr.attr('data-tags').split('|')).toEqual(['tag1', 'tag2', 'tag3']);
expect(fileList.files[0].tags).toEqual(['tag1', 'tag2', 'tag3']);
expect($action.find('img').attr('src')).toEqual(OC.imagePath('core', 'actions/star'));
});
});
+ describe('elementToFile', function() {
+ it('returns tags', function() {
+ fileList.setFiles(testFiles);
+ var $tr = fileList.findFileEl('One.txt');
+ var data = fileList.elementToFile($tr);
+ expect(data.tags).toEqual(['tag1', 'tag2']);
+ });
+ it('returns empty array when no tags present', function() {
+ delete testFiles[0].tags;
+ fileList.setFiles(testFiles);
+ var $tr = fileList.findFileEl('One.txt');
+ var data = fileList.elementToFile($tr);
+ expect(data.tags).toEqual([]);
+ });
+ });
});
diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js
index b542fe63d64..bf9981adabf 100644
--- a/apps/files_external/js/settings.js
+++ b/apps/files_external/js/settings.js
@@ -756,6 +756,13 @@ MountConfigListView.prototype = _.extend({
$tr.append(priorityEl);
$td.children().not('[type=hidden]').first().focus();
+ // FIXME default backend mount options
+ $tr.find('input.mountOptions').val(JSON.stringify({
+ 'encrypt': true,
+ 'previews': true,
+ 'filesystem_check_changes': 1
+ }));
+
$tr.find('td').last().attr('class', 'remove');
$tr.find('td.mountOptionsToggle').removeClass('hidden');
$tr.find('td').last().removeAttr('style');
diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js
index b39eef71eaa..ab352880b7c 100644
--- a/apps/files_external/l10n/cs_CZ.js
+++ b/apps/files_external/l10n/cs_CZ.js
@@ -1,6 +1,9 @@
OC.L10N.register(
"files_external",
{
+ "Fetching request tokens failed. Verify that your app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace a tajné heslo jsou správné.",
+ "Fetching access tokens failed. Verify that your app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace a tajné heslo jsou správné.",
+ "Please provide a valid app key and secret." : "Zadejte prosím platný klíč a tajné heslo aplikace.",
"Step 1 failed. Exception: %s" : "Selhal krok 1. Výjimka: %s",
"Step 2 failed. Exception: %s" : "Selhal krok 2. Výjimka: %s",
"External storage" : "Externí úložiště",
@@ -22,12 +25,15 @@ OC.L10N.register(
"SFTP with secret key login" : "SFTP login s tajným klíčem",
"Public key" : "Veřejný klíč",
"Storage with id \"%i\" not found" : "Úložiště s id \"%i\" nebylo nalezeno",
+ "Invalid backend or authentication mechanism class" : "Neplatný backend nebo třída ověřovacího mechanismu",
"Invalid mount point" : "Neplatný přípojný bod",
"Invalid storage backend \"%s\"" : "Neplatná služba úložiště \"%s\"",
"Personal" : "Osobní",
"System" : "Systém",
"Grant access" : "Povolit přístup",
"Access granted" : "Přístup povolen",
+ "Error configuring OAuth1" : "Chyba nastavení OAuth1",
+ "Error configuring OAuth2" : "Chyba nastavení OAuth2",
"Enable encryption" : "Povolit šifrování",
"Enable previews" : "Povolit náhledy",
"Check for changes" : "Zkontrolovat změny",
@@ -39,12 +45,18 @@ OC.L10N.register(
"Saved" : "Uloženo",
"Generate keys" : "Vytvořit klíče",
"Error generating key pair" : "Chyba při vytváření páru klíčů",
+ "Access key" : "Přístupový klíč",
+ "Secret key" : "Tajný klíč",
"None" : "Žádné",
+ "OAuth1" : "OAuth1",
"App key" : "Klíč aplikace",
"App secret" : "Tajemství aplikace",
+ "OAuth2" : "OAuth2",
"Client ID" : "Klientské ID",
"Client secret" : "Klientské tajemství",
+ "Username and password" : "Uživatelské jméno a heslo",
"Password" : "Heslo",
+ "Session credentials" : "Přihlašovací údaje sezení",
"Amazon S3" : "Amazon S3",
"Hostname" : "Hostname",
"Port" : "Port",
@@ -55,11 +67,15 @@ OC.L10N.register(
"URL" : "URL",
"Secure https://" : "Zabezpečené https://",
"Dropbox" : "Dropbox",
+ "FTP" : "FTP",
"Secure ftps://" : "Zabezpečené ftps://",
+ "Google Drive" : "Google Drive",
"Local" : "Místní",
"Location" : "Umístění",
"ownCloud" : "ownCloud",
+ "SFTP" : "SFTP",
"Root" : "Kořen",
+ "SMB / CIFS" : "SMB / CIFS",
"<b>Note:</b> " : "<b>Poznámka:</b>",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.",
@@ -71,6 +87,7 @@ OC.L10N.register(
"Scope" : "Rozsah",
"External Storage" : "Externí úložiště",
"Folder name" : "Název složky",
+ "Authentication" : "Ověření",
"Configuration" : "Nastavení",
"Available for" : "Dostupné pro",
"Advanced settings" : "Pokročilá nastavení",
diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json
index c014da7976f..03afeb48b8e 100644
--- a/apps/files_external/l10n/cs_CZ.json
+++ b/apps/files_external/l10n/cs_CZ.json
@@ -1,4 +1,7 @@
{ "translations": {
+ "Fetching request tokens failed. Verify that your app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace a tajné heslo jsou správné.",
+ "Fetching access tokens failed. Verify that your app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace a tajné heslo jsou správné.",
+ "Please provide a valid app key and secret." : "Zadejte prosím platný klíč a tajné heslo aplikace.",
"Step 1 failed. Exception: %s" : "Selhal krok 1. Výjimka: %s",
"Step 2 failed. Exception: %s" : "Selhal krok 2. Výjimka: %s",
"External storage" : "Externí úložiště",
@@ -20,12 +23,15 @@
"SFTP with secret key login" : "SFTP login s tajným klíčem",
"Public key" : "Veřejný klíč",
"Storage with id \"%i\" not found" : "Úložiště s id \"%i\" nebylo nalezeno",
+ "Invalid backend or authentication mechanism class" : "Neplatný backend nebo třída ověřovacího mechanismu",
"Invalid mount point" : "Neplatný přípojný bod",
"Invalid storage backend \"%s\"" : "Neplatná služba úložiště \"%s\"",
"Personal" : "Osobní",
"System" : "Systém",
"Grant access" : "Povolit přístup",
"Access granted" : "Přístup povolen",
+ "Error configuring OAuth1" : "Chyba nastavení OAuth1",
+ "Error configuring OAuth2" : "Chyba nastavení OAuth2",
"Enable encryption" : "Povolit šifrování",
"Enable previews" : "Povolit náhledy",
"Check for changes" : "Zkontrolovat změny",
@@ -37,12 +43,18 @@
"Saved" : "Uloženo",
"Generate keys" : "Vytvořit klíče",
"Error generating key pair" : "Chyba při vytváření páru klíčů",
+ "Access key" : "Přístupový klíč",
+ "Secret key" : "Tajný klíč",
"None" : "Žádné",
+ "OAuth1" : "OAuth1",
"App key" : "Klíč aplikace",
"App secret" : "Tajemství aplikace",
+ "OAuth2" : "OAuth2",
"Client ID" : "Klientské ID",
"Client secret" : "Klientské tajemství",
+ "Username and password" : "Uživatelské jméno a heslo",
"Password" : "Heslo",
+ "Session credentials" : "Přihlašovací údaje sezení",
"Amazon S3" : "Amazon S3",
"Hostname" : "Hostname",
"Port" : "Port",
@@ -53,11 +65,15 @@
"URL" : "URL",
"Secure https://" : "Zabezpečené https://",
"Dropbox" : "Dropbox",
+ "FTP" : "FTP",
"Secure ftps://" : "Zabezpečené ftps://",
+ "Google Drive" : "Google Drive",
"Local" : "Místní",
"Location" : "Umístění",
"ownCloud" : "ownCloud",
+ "SFTP" : "SFTP",
"Root" : "Kořen",
+ "SMB / CIFS" : "SMB / CIFS",
"<b>Note:</b> " : "<b>Poznámka:</b>",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Poznámka:</b> FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.",
@@ -69,6 +85,7 @@
"Scope" : "Rozsah",
"External Storage" : "Externí úložiště",
"Folder name" : "Název složky",
+ "Authentication" : "Ověření",
"Configuration" : "Nastavení",
"Available for" : "Dostupné pro",
"Advanced settings" : "Pokročilá nastavení",
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index 42944b2f2fb..8ac5b1a4466 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -27,13 +27,17 @@ OC.L10N.register(
"Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé",
"Invalid backend or authentication mechanism class" : "Système de stockage ou méthode d'authentification non valable",
"Invalid mount point" : "Point de montage non valide",
+ "Objectstore forbidden" : "\"Objectstore\" interdit",
"Invalid storage backend \"%s\"" : "Service de stockage non valide : \"%s\"",
+ "Unsatisfied backend parameters" : "Paramètres manquants pour le service",
"Unsatisfied authentication mechanism parameters" : "Paramètres manquants pour la méthode d'authentification",
"Admin-only storage backend \"%s\"" : "Service de stockage \"%s\" pour admins seulement",
"Personal" : "Personnel",
"System" : "Système",
"Grant access" : "Autoriser l'accès",
"Access granted" : "Accès autorisé",
+ "Error configuring OAuth1" : "Erreur lors de la configuration de OAuth1",
+ "Error configuring OAuth2" : "Erreur lors de la configuration de OAuth2",
"Enable encryption" : "Activer le chiffrement",
"Enable previews" : "Activer les prévisualisations",
"Check for changes" : "Rechercher les modifications",
@@ -45,6 +49,9 @@ OC.L10N.register(
"Saved" : "Sauvegardé",
"Generate keys" : "Générer des clés",
"Error generating key pair" : "Erreur lors de la génération des clés",
+ "Access key" : "Clé d'accès",
+ "Secret key" : "Clé secrète",
+ "Builtin" : "inclus",
"None" : "Aucun",
"OAuth1" : "OAuth1",
"App key" : "App key",
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index ffc2de0ef53..67b8932202f 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -25,13 +25,17 @@
"Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé",
"Invalid backend or authentication mechanism class" : "Système de stockage ou méthode d'authentification non valable",
"Invalid mount point" : "Point de montage non valide",
+ "Objectstore forbidden" : "\"Objectstore\" interdit",
"Invalid storage backend \"%s\"" : "Service de stockage non valide : \"%s\"",
+ "Unsatisfied backend parameters" : "Paramètres manquants pour le service",
"Unsatisfied authentication mechanism parameters" : "Paramètres manquants pour la méthode d'authentification",
"Admin-only storage backend \"%s\"" : "Service de stockage \"%s\" pour admins seulement",
"Personal" : "Personnel",
"System" : "Système",
"Grant access" : "Autoriser l'accès",
"Access granted" : "Accès autorisé",
+ "Error configuring OAuth1" : "Erreur lors de la configuration de OAuth1",
+ "Error configuring OAuth2" : "Erreur lors de la configuration de OAuth2",
"Enable encryption" : "Activer le chiffrement",
"Enable previews" : "Activer les prévisualisations",
"Check for changes" : "Rechercher les modifications",
@@ -43,6 +47,9 @@
"Saved" : "Sauvegardé",
"Generate keys" : "Générer des clés",
"Error generating key pair" : "Erreur lors de la génération des clés",
+ "Access key" : "Clé d'accès",
+ "Secret key" : "Clé secrète",
+ "Builtin" : "inclus",
"None" : "Aucun",
"OAuth1" : "OAuth1",
"App key" : "App key",
diff --git a/apps/files_external/l10n/id.js b/apps/files_external/l10n/id.js
index a15106a8f74..e26ad12f3a8 100644
--- a/apps/files_external/l10n/id.js
+++ b/apps/files_external/l10n/id.js
@@ -1,6 +1,9 @@
OC.L10N.register(
"files_external",
{
+ "Fetching request tokens failed. Verify that your app key and secret are correct." : "Permintaan pengambilan token gagal. Pastikan kunci dan kerahasiaan aplikasi Anda sudah benar.",
+ "Fetching access tokens failed. Verify that your app key and secret are correct." : "Akses pengambilan token gagal. Pastikan kunci dan kerahasiaan aplikasi Anda sudah benar.",
+ "Please provide a valid app key and secret." : "Silakan berikan kunci dan kerahasiaan aplikasi yang benar.",
"Step 1 failed. Exception: %s" : "Langkah 1 gagal. Kecuali: %s",
"Step 2 failed. Exception: %s" : "Langkah 2 gagal. Kecuali: %s",
"External storage" : "Penyimpanan eksternal",
@@ -22,12 +25,19 @@ OC.L10N.register(
"SFTP with secret key login" : "SFTP dengan kunci rahasia masuk",
"Public key" : "Kunci Public",
"Storage with id \"%i\" not found" : "Penyimpanan dengan id \"%i\" tidak ditemukan",
+ "Invalid backend or authentication mechanism class" : "Beckend atau kelas mekanisme otentikasi salah.",
"Invalid mount point" : "Mount point salah",
+ "Objectstore forbidden" : "Objectstore terlarang",
"Invalid storage backend \"%s\"" : "Backend penyimpanan \"%s\" salah",
+ "Unsatisfied backend parameters" : "Parameter backend tidak lengkap",
+ "Unsatisfied authentication mechanism parameters" : "Parameter mekanisme otentikasi tidak lengkap",
+ "Admin-only storage backend \"%s\"" : "Backend penyimpanan hanya-admin \"%s\"",
"Personal" : "Pribadi",
"System" : "Sistem",
"Grant access" : "Berikan hak akses",
"Access granted" : "Akses diberikan",
+ "Error configuring OAuth1" : "Kesalahan mengkonfigurasi OAuth1",
+ "Error configuring OAuth2" : "Kesalahan mengkonfigurasi OAuth2",
"Enable encryption" : "Aktifkan enkripsi",
"Enable previews" : "Aktifkan pratinjau",
"Check for changes" : "Periksa perubahan",
@@ -39,12 +49,19 @@ OC.L10N.register(
"Saved" : "Disimpan",
"Generate keys" : "Hasilkan kunci",
"Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci",
+ "Access key" : "Kunci akses",
+ "Secret key" : "Kunci rahasia",
+ "Builtin" : "Internal",
"None" : "Tidak ada",
+ "OAuth1" : "OAuth1",
"App key" : "Kunci Apl",
"App secret" : "Rahasia Apl",
+ "OAuth2" : "OAuth2",
"Client ID" : "ID Klien",
"Client secret" : "Rahasia klien",
+ "Username and password" : "Nama pengguna dan sandi",
"Password" : "Sandi",
+ "Session credentials" : "Kredensial sesi",
"Amazon S3" : "Amazon S3",
"Hostname" : "Nama Host",
"Port" : "Port",
@@ -55,11 +72,15 @@ OC.L10N.register(
"URL" : "URL",
"Secure https://" : "Secure https://",
"Dropbox" : "Dropbox",
+ "FTP" : "FTP",
"Secure ftps://" : "Secure ftps://",
+ "Google Drive" : "Google Drive",
"Local" : "Lokal",
"Location" : "lokasi",
"ownCloud" : "ownCloud",
+ "SFTP" : "SFTP",
"Root" : "Root",
+ "SMB / CIFS" : "SMB / CIFS",
"<b>Note:</b> " : "<b>Catatan:</b> ",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.",
@@ -71,6 +92,7 @@ OC.L10N.register(
"Scope" : "Skop",
"External Storage" : "Penyimpanan Eksternal",
"Folder name" : "Nama folder",
+ "Authentication" : "Otentikasi",
"Configuration" : "Konfigurasi",
"Available for" : "Tersedia untuk",
"Advanced settings" : "Pengaturan Lanjutan",
diff --git a/apps/files_external/l10n/id.json b/apps/files_external/l10n/id.json
index aa4990ec828..9c83475f756 100644
--- a/apps/files_external/l10n/id.json
+++ b/apps/files_external/l10n/id.json
@@ -1,4 +1,7 @@
{ "translations": {
+ "Fetching request tokens failed. Verify that your app key and secret are correct." : "Permintaan pengambilan token gagal. Pastikan kunci dan kerahasiaan aplikasi Anda sudah benar.",
+ "Fetching access tokens failed. Verify that your app key and secret are correct." : "Akses pengambilan token gagal. Pastikan kunci dan kerahasiaan aplikasi Anda sudah benar.",
+ "Please provide a valid app key and secret." : "Silakan berikan kunci dan kerahasiaan aplikasi yang benar.",
"Step 1 failed. Exception: %s" : "Langkah 1 gagal. Kecuali: %s",
"Step 2 failed. Exception: %s" : "Langkah 2 gagal. Kecuali: %s",
"External storage" : "Penyimpanan eksternal",
@@ -20,12 +23,19 @@
"SFTP with secret key login" : "SFTP dengan kunci rahasia masuk",
"Public key" : "Kunci Public",
"Storage with id \"%i\" not found" : "Penyimpanan dengan id \"%i\" tidak ditemukan",
+ "Invalid backend or authentication mechanism class" : "Beckend atau kelas mekanisme otentikasi salah.",
"Invalid mount point" : "Mount point salah",
+ "Objectstore forbidden" : "Objectstore terlarang",
"Invalid storage backend \"%s\"" : "Backend penyimpanan \"%s\" salah",
+ "Unsatisfied backend parameters" : "Parameter backend tidak lengkap",
+ "Unsatisfied authentication mechanism parameters" : "Parameter mekanisme otentikasi tidak lengkap",
+ "Admin-only storage backend \"%s\"" : "Backend penyimpanan hanya-admin \"%s\"",
"Personal" : "Pribadi",
"System" : "Sistem",
"Grant access" : "Berikan hak akses",
"Access granted" : "Akses diberikan",
+ "Error configuring OAuth1" : "Kesalahan mengkonfigurasi OAuth1",
+ "Error configuring OAuth2" : "Kesalahan mengkonfigurasi OAuth2",
"Enable encryption" : "Aktifkan enkripsi",
"Enable previews" : "Aktifkan pratinjau",
"Check for changes" : "Periksa perubahan",
@@ -37,12 +47,19 @@
"Saved" : "Disimpan",
"Generate keys" : "Hasilkan kunci",
"Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci",
+ "Access key" : "Kunci akses",
+ "Secret key" : "Kunci rahasia",
+ "Builtin" : "Internal",
"None" : "Tidak ada",
+ "OAuth1" : "OAuth1",
"App key" : "Kunci Apl",
"App secret" : "Rahasia Apl",
+ "OAuth2" : "OAuth2",
"Client ID" : "ID Klien",
"Client secret" : "Rahasia klien",
+ "Username and password" : "Nama pengguna dan sandi",
"Password" : "Sandi",
+ "Session credentials" : "Kredensial sesi",
"Amazon S3" : "Amazon S3",
"Hostname" : "Nama Host",
"Port" : "Port",
@@ -53,11 +70,15 @@
"URL" : "URL",
"Secure https://" : "Secure https://",
"Dropbox" : "Dropbox",
+ "FTP" : "FTP",
"Secure ftps://" : "Secure ftps://",
+ "Google Drive" : "Google Drive",
"Local" : "Lokal",
"Location" : "lokasi",
"ownCloud" : "ownCloud",
+ "SFTP" : "SFTP",
"Root" : "Root",
+ "SMB / CIFS" : "SMB / CIFS",
"<b>Note:</b> " : "<b>Catatan:</b> ",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Catatan:</b> Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.",
@@ -69,6 +90,7 @@
"Scope" : "Skop",
"External Storage" : "Penyimpanan Eksternal",
"Folder name" : "Nama folder",
+ "Authentication" : "Otentikasi",
"Configuration" : "Konfigurasi",
"Available for" : "Tersedia untuk",
"Advanced settings" : "Pengaturan Lanjutan",
diff --git a/apps/files_external/l10n/pt_PT.js b/apps/files_external/l10n/pt_PT.js
index 44c542d596c..182eb7f17f1 100644
--- a/apps/files_external/l10n/pt_PT.js
+++ b/apps/files_external/l10n/pt_PT.js
@@ -1,6 +1,9 @@
OC.L10N.register(
"files_external",
{
+ "Fetching request tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas solicitadas. Verifique se o código e o segredo da sua app estão corretos.",
+ "Fetching access tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas de acesso. Verifique se o código e o segredo da sua app estão corretos.",
+ "Please provide a valid app key and secret." : "Por favor, indique um código e segredo de app válidos.",
"Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s",
"Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s",
"External storage" : "Armazenamento Externo",
@@ -10,34 +13,50 @@ OC.L10N.register(
"Region (optional for OpenStack Object Storage)" : "Região (opcional para OpenStack Object Storage)",
"API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)",
"Tenantname (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)",
- "Password (required for OpenStack Object Storage)" : "Senha (necessária para OpenStack Object Storage)",
+ "Password (required for OpenStack Object Storage)" : "Palavra-passe (necessária para OpenStack Object Storage)",
"Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)",
"URL of identity endpoint (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)",
- "Timeout of HTTP requests in seconds" : "Timeout de pedidos HTTP em segundos",
+ "Timeout of HTTP requests in seconds" : "Expiração de pedidos HTTP em segundos",
"SMB / CIFS using OC login" : "SMB / CIFS utilizando o início de sessão OC",
"Host" : "Anfitrião",
- "Username as share" : "Utilizar nome de utilizador como partilha",
+ "Username as share" : "Nome de utilizador como partilha",
"Share" : "Compartilhar",
"Remote subfolder" : "Subpasta remota ",
"Public key" : "Chave pública",
- "Storage with id \"%i\" not found" : "Armazenamento com ID \"%i\" não encontrado",
+ "Storage with id \"%i\" not found" : "Não foi encontrado o armazenamento com a id. \"%i\"",
"Invalid mount point" : "Ponto de montagem inválido",
"Invalid storage backend \"%s\"" : "Backend de armazenamento inválido \"%s\"",
+ "Unsatisfied authentication mechanism parameters" : "Parâmetros do mecanismo de autenticação inválidos",
"Personal" : "Pessoal",
"System" : "Sistema",
"Grant access" : "Conceder acesso",
"Access granted" : "Acesso autorizado",
+ "Error configuring OAuth1" : "Erro de configuração OAuth1",
+ "Error configuring OAuth2" : "Erro de configuração OAuth2",
+ "Enable encryption" : "Ative a encriptação",
+ "Enable previews" : "Ative as pré-visualizações",
+ "Check for changes" : "Verifique as suas alterações",
+ "Never" : "Nunca",
+ "Once every direct access" : "Uma vez em cada acesso direto",
+ "Every time the filesystem is used" : "De todas as vezes que o sistema de ficheiros é usado",
"All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.",
"(group)" : "(grupo)",
"Saved" : "Guardado",
"Generate keys" : "Gerar chaves",
"Error generating key pair" : "Erro ao gerar chave par",
+ "Access key" : "Código de acesso",
+ "Secret key" : "Código secreto",
+ "Builtin" : "Integrado",
"None" : "Nenhum",
+ "OAuth1" : "OAuth1",
"App key" : "Chave da App",
- "App secret" : "Chave secreta da aplicação",
+ "App secret" : "Segredo da app",
+ "OAuth2" : "OAuth2",
"Client ID" : "Id. do Cliente",
- "Client secret" : "Segredo do cliente",
+ "Client secret" : "Segredo do cliente\\\\",
+ "Username and password" : "Nome de utilizador e palavra-passe",
"Password" : "Palavra-passe",
+ "Session credentials" : "Credenciais da sessão",
"Amazon S3" : "Amazon S3",
"Hostname" : "Nome do Anfitrião",
"Port" : "Porta",
@@ -48,11 +67,15 @@ OC.L10N.register(
"URL" : "URL",
"Secure https://" : "https:// Seguro",
"Dropbox" : "Dropbox",
+ "FTP" : "FTP",
"Secure ftps://" : "ftps:// Seguro",
+ "Google Drive" : "Google Drive",
"Local" : "Local",
"Location" : "Localização:",
"ownCloud" : "ownCloud",
- "Root" : "Raiz",
+ "SFTP" : "SFTP",
+ "Root" : "Root",
+ "SMB / CIFS" : "SMB / CIFS",
"<b>Note:</b> " : "<b>Nota:</b> ",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.",
@@ -64,6 +87,7 @@ OC.L10N.register(
"Scope" : "Âmbito",
"External Storage" : "Armazenamento Externo",
"Folder name" : "Nome da pasta",
+ "Authentication" : "Autenticação",
"Configuration" : "Configuração",
"Available for" : "Disponível para ",
"Advanced settings" : "Definições avançadas",
diff --git a/apps/files_external/l10n/pt_PT.json b/apps/files_external/l10n/pt_PT.json
index cda3b0bbd07..0f3a9298057 100644
--- a/apps/files_external/l10n/pt_PT.json
+++ b/apps/files_external/l10n/pt_PT.json
@@ -1,4 +1,7 @@
{ "translations": {
+ "Fetching request tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas solicitadas. Verifique se o código e o segredo da sua app estão corretos.",
+ "Fetching access tokens failed. Verify that your app key and secret are correct." : "Não foi possível obter as senhas de acesso. Verifique se o código e o segredo da sua app estão corretos.",
+ "Please provide a valid app key and secret." : "Por favor, indique um código e segredo de app válidos.",
"Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s",
"Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s",
"External storage" : "Armazenamento Externo",
@@ -8,34 +11,50 @@
"Region (optional for OpenStack Object Storage)" : "Região (opcional para OpenStack Object Storage)",
"API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)",
"Tenantname (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)",
- "Password (required for OpenStack Object Storage)" : "Senha (necessária para OpenStack Object Storage)",
+ "Password (required for OpenStack Object Storage)" : "Palavra-passe (necessária para OpenStack Object Storage)",
"Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)",
"URL of identity endpoint (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)",
- "Timeout of HTTP requests in seconds" : "Timeout de pedidos HTTP em segundos",
+ "Timeout of HTTP requests in seconds" : "Expiração de pedidos HTTP em segundos",
"SMB / CIFS using OC login" : "SMB / CIFS utilizando o início de sessão OC",
"Host" : "Anfitrião",
- "Username as share" : "Utilizar nome de utilizador como partilha",
+ "Username as share" : "Nome de utilizador como partilha",
"Share" : "Compartilhar",
"Remote subfolder" : "Subpasta remota ",
"Public key" : "Chave pública",
- "Storage with id \"%i\" not found" : "Armazenamento com ID \"%i\" não encontrado",
+ "Storage with id \"%i\" not found" : "Não foi encontrado o armazenamento com a id. \"%i\"",
"Invalid mount point" : "Ponto de montagem inválido",
"Invalid storage backend \"%s\"" : "Backend de armazenamento inválido \"%s\"",
+ "Unsatisfied authentication mechanism parameters" : "Parâmetros do mecanismo de autenticação inválidos",
"Personal" : "Pessoal",
"System" : "Sistema",
"Grant access" : "Conceder acesso",
"Access granted" : "Acesso autorizado",
+ "Error configuring OAuth1" : "Erro de configuração OAuth1",
+ "Error configuring OAuth2" : "Erro de configuração OAuth2",
+ "Enable encryption" : "Ative a encriptação",
+ "Enable previews" : "Ative as pré-visualizações",
+ "Check for changes" : "Verifique as suas alterações",
+ "Never" : "Nunca",
+ "Once every direct access" : "Uma vez em cada acesso direto",
+ "Every time the filesystem is used" : "De todas as vezes que o sistema de ficheiros é usado",
"All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.",
"(group)" : "(grupo)",
"Saved" : "Guardado",
"Generate keys" : "Gerar chaves",
"Error generating key pair" : "Erro ao gerar chave par",
+ "Access key" : "Código de acesso",
+ "Secret key" : "Código secreto",
+ "Builtin" : "Integrado",
"None" : "Nenhum",
+ "OAuth1" : "OAuth1",
"App key" : "Chave da App",
- "App secret" : "Chave secreta da aplicação",
+ "App secret" : "Segredo da app",
+ "OAuth2" : "OAuth2",
"Client ID" : "Id. do Cliente",
- "Client secret" : "Segredo do cliente",
+ "Client secret" : "Segredo do cliente\\\\",
+ "Username and password" : "Nome de utilizador e palavra-passe",
"Password" : "Palavra-passe",
+ "Session credentials" : "Credenciais da sessão",
"Amazon S3" : "Amazon S3",
"Hostname" : "Nome do Anfitrião",
"Port" : "Porta",
@@ -46,11 +65,15 @@
"URL" : "URL",
"Secure https://" : "https:// Seguro",
"Dropbox" : "Dropbox",
+ "FTP" : "FTP",
"Secure ftps://" : "ftps:// Seguro",
+ "Google Drive" : "Google Drive",
"Local" : "Local",
"Location" : "Localização:",
"ownCloud" : "ownCloud",
- "Root" : "Raiz",
+ "SFTP" : "SFTP",
+ "Root" : "Root",
+ "SMB / CIFS" : "SMB / CIFS",
"<b>Note:</b> " : "<b>Nota:</b> ",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Aviso:</b> O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.",
@@ -62,6 +85,7 @@
"Scope" : "Âmbito",
"External Storage" : "Armazenamento Externo",
"Folder name" : "Nome da pasta",
+ "Authentication" : "Autenticação",
"Configuration" : "Configuração",
"Available for" : "Disponível para ",
"Advanced settings" : "Definições avançadas",
diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js
index 81418098ea0..68e69034857 100644
--- a/apps/files_external/l10n/tr.js
+++ b/apps/files_external/l10n/tr.js
@@ -1,6 +1,9 @@
OC.L10N.register(
"files_external",
{
+ "Fetching request tokens failed. Verify that your app key and secret are correct." : "Getirme istek jetonları başarısız oldu. Uygulama anahtarınızın ve gizli bilginin doğruluğunu kontrol edin.",
+ "Fetching access tokens failed. Verify that your app key and secret are correct." : "Getirme erişim jetonları başarısız oldu. Uygulama anahtarınızın ve gizli bilginin doğruluğunu kontrol edin.",
+ "Please provide a valid app key and secret." : "Lütfen geçerli bir uygulama anahtarı ve gizli bilgisini girin.",
"Step 1 failed. Exception: %s" : "Adım 1 başarısız. Özel durum: %s",
"Step 2 failed. Exception: %s" : "Adım 2 başarısız. Özel durum: %s",
"External storage" : "Harici depolama",
@@ -22,12 +25,19 @@ OC.L10N.register(
"SFTP with secret key login" : "Gizli anahtar oturumu ile SFTP",
"Public key" : "Ortak anahtar",
"Storage with id \"%i\" not found" : "\"%i\" kimliği ile bir depolama bulunamadı",
+ "Invalid backend or authentication mechanism class" : "Geçersiz arkauç veya kimlik doğrulama mekanizma sınıfı",
"Invalid mount point" : "Geçersiz bağlama noktası",
+ "Objectstore forbidden" : "Nesne deposu yasaktır",
"Invalid storage backend \"%s\"" : "Geçersiz depolama arka ucu \"%s\"",
+ "Unsatisfied backend parameters" : "Yetersiz arkauç parametreleri",
+ "Unsatisfied authentication mechanism parameters" : "Yetersiz kimlik doğrulama mekanizması parametreleri",
+ "Admin-only storage backend \"%s\"" : "Sadece yönetici erişimli depolama arkaucu \"%s\"",
"Personal" : "Kişisel",
"System" : "Sistem",
"Grant access" : "Erişimi sağla",
"Access granted" : "Giriş kabul edildi",
+ "Error configuring OAuth1" : "OAuth1 yapılandırma hatası",
+ "Error configuring OAuth2" : "OAuth2 yapılandırma hatası",
"Enable encryption" : "Şifrelemeyi aç",
"Enable previews" : "Önizlemeleri aç",
"Check for changes" : "Değişiklikleri denetle",
@@ -39,12 +49,19 @@ OC.L10N.register(
"Saved" : "Kaydedildi",
"Generate keys" : "Anahtarlar üret",
"Error generating key pair" : "Anahtar çifti üretirken hata",
+ "Access key" : "Erişim anahtarı",
+ "Secret key" : "Gizli anahtar",
+ "Builtin" : "Yerleşik",
"None" : "Hiçbiri",
+ "OAuth1" : "OAuth1",
"App key" : "Uyg. anahtarı",
"App secret" : "Uyg. parolası",
+ "OAuth2" : "OAuth2",
"Client ID" : "İstemci kimliği",
"Client secret" : "İstemci parolası",
+ "Username and password" : "Kullanıcı adı ve parola",
"Password" : "Parola",
+ "Session credentials" : "Oturum bilgileri",
"Amazon S3" : "Amazon S3",
"Hostname" : "Makine adı",
"Port" : "Port",
@@ -55,11 +72,15 @@ OC.L10N.register(
"URL" : "URL",
"Secure https://" : "Güvenli https://",
"Dropbox" : "Dropbox",
+ "FTP" : "FTP",
"Secure ftps://" : "Güvenli ftps://",
+ "Google Drive" : "Google Drive",
"Local" : "Yerel",
"Location" : "Konum",
"ownCloud" : "ownCloud",
+ "SFTP" : "SFTP",
"Root" : "Kök",
+ "SMB / CIFS" : "SMB / CIFS",
"<b>Note:</b> " : "<b>Not:</b> ",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.",
@@ -71,6 +92,7 @@ OC.L10N.register(
"Scope" : "Kapsam",
"External Storage" : "Harici Depolama",
"Folder name" : "Klasör ismi",
+ "Authentication" : "Kimlik Doğrulama",
"Configuration" : "Yapılandırma",
"Available for" : "Kullanabilenler",
"Advanced settings" : "Gelişmiş ayarlar",
diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json
index 48349335bf4..7859e8e08dc 100644
--- a/apps/files_external/l10n/tr.json
+++ b/apps/files_external/l10n/tr.json
@@ -1,4 +1,7 @@
{ "translations": {
+ "Fetching request tokens failed. Verify that your app key and secret are correct." : "Getirme istek jetonları başarısız oldu. Uygulama anahtarınızın ve gizli bilginin doğruluğunu kontrol edin.",
+ "Fetching access tokens failed. Verify that your app key and secret are correct." : "Getirme erişim jetonları başarısız oldu. Uygulama anahtarınızın ve gizli bilginin doğruluğunu kontrol edin.",
+ "Please provide a valid app key and secret." : "Lütfen geçerli bir uygulama anahtarı ve gizli bilgisini girin.",
"Step 1 failed. Exception: %s" : "Adım 1 başarısız. Özel durum: %s",
"Step 2 failed. Exception: %s" : "Adım 2 başarısız. Özel durum: %s",
"External storage" : "Harici depolama",
@@ -20,12 +23,19 @@
"SFTP with secret key login" : "Gizli anahtar oturumu ile SFTP",
"Public key" : "Ortak anahtar",
"Storage with id \"%i\" not found" : "\"%i\" kimliği ile bir depolama bulunamadı",
+ "Invalid backend or authentication mechanism class" : "Geçersiz arkauç veya kimlik doğrulama mekanizma sınıfı",
"Invalid mount point" : "Geçersiz bağlama noktası",
+ "Objectstore forbidden" : "Nesne deposu yasaktır",
"Invalid storage backend \"%s\"" : "Geçersiz depolama arka ucu \"%s\"",
+ "Unsatisfied backend parameters" : "Yetersiz arkauç parametreleri",
+ "Unsatisfied authentication mechanism parameters" : "Yetersiz kimlik doğrulama mekanizması parametreleri",
+ "Admin-only storage backend \"%s\"" : "Sadece yönetici erişimli depolama arkaucu \"%s\"",
"Personal" : "Kişisel",
"System" : "Sistem",
"Grant access" : "Erişimi sağla",
"Access granted" : "Giriş kabul edildi",
+ "Error configuring OAuth1" : "OAuth1 yapılandırma hatası",
+ "Error configuring OAuth2" : "OAuth2 yapılandırma hatası",
"Enable encryption" : "Şifrelemeyi aç",
"Enable previews" : "Önizlemeleri aç",
"Check for changes" : "Değişiklikleri denetle",
@@ -37,12 +47,19 @@
"Saved" : "Kaydedildi",
"Generate keys" : "Anahtarlar üret",
"Error generating key pair" : "Anahtar çifti üretirken hata",
+ "Access key" : "Erişim anahtarı",
+ "Secret key" : "Gizli anahtar",
+ "Builtin" : "Yerleşik",
"None" : "Hiçbiri",
+ "OAuth1" : "OAuth1",
"App key" : "Uyg. anahtarı",
"App secret" : "Uyg. parolası",
+ "OAuth2" : "OAuth2",
"Client ID" : "İstemci kimliği",
"Client secret" : "İstemci parolası",
+ "Username and password" : "Kullanıcı adı ve parola",
"Password" : "Parola",
+ "Session credentials" : "Oturum bilgileri",
"Amazon S3" : "Amazon S3",
"Hostname" : "Makine adı",
"Port" : "Port",
@@ -53,11 +70,15 @@
"URL" : "URL",
"Secure https://" : "Güvenli https://",
"Dropbox" : "Dropbox",
+ "FTP" : "FTP",
"Secure ftps://" : "Güvenli ftps://",
+ "Google Drive" : "Google Drive",
"Local" : "Yerel",
"Location" : "Konum",
"ownCloud" : "ownCloud",
+ "SFTP" : "SFTP",
"Root" : "Kök",
+ "SMB / CIFS" : "SMB / CIFS",
"<b>Note:</b> " : "<b>Not:</b> ",
"<b>Note:</b> The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.",
"<b>Note:</b> The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "<b>Not:</b> PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.",
@@ -69,6 +90,7 @@
"Scope" : "Kapsam",
"External Storage" : "Harici Depolama",
"Folder name" : "Klasör ismi",
+ "Authentication" : "Kimlik Doğrulama",
"Configuration" : "Yapılandırma",
"Available for" : "Kullanabilenler",
"Advanced settings" : "Gelişmiş ayarlar",
diff --git a/apps/files_external/lib/google.php b/apps/files_external/lib/google.php
index e29b1036244..94f954178c0 100644
--- a/apps/files_external/lib/google.php
+++ b/apps/files_external/lib/google.php
@@ -248,8 +248,6 @@ class Google extends \OC\Files\Storage\Common {
}
public function opendir($path) {
- // Remove leading and trailing slashes
- $path = trim($path, '/');
$folder = $this->getDriveFile($path);
if ($folder) {
$files = array();
diff --git a/apps/files_sharing/ajax/external.php b/apps/files_sharing/ajax/external.php
index d26a64d3aec..66cfd8e9d1a 100644
--- a/apps/files_sharing/ajax/external.php
+++ b/apps/files_sharing/ajax/external.php
@@ -52,6 +52,7 @@ $externalManager = new \OCA\Files_Sharing\External\Manager(
\OC\Files\Filesystem::getMountManager(),
\OC\Files\Filesystem::getLoader(),
\OC::$server->getHTTPHelper(),
+ \OC::$server->getNotificationManager(),
\OC::$server->getUserSession()->getUser()->getUID()
);
diff --git a/apps/files_sharing/api/local.php b/apps/files_sharing/api/local.php
index 87025998b3d..61b8b47d2d3 100644
--- a/apps/files_sharing/api/local.php
+++ b/apps/files_sharing/api/local.php
@@ -346,6 +346,10 @@ class Local {
}
}
}
+
+ $data['permissions'] = $share['permissions'];
+ $data['expiration'] = $share['expiration'];
+
return new \OC_OCS_Result($data);
} else {
return new \OC_OCS_Result(null, 404, "couldn't share file");
diff --git a/apps/files_sharing/api/remote.php b/apps/files_sharing/api/remote.php
index f6cb0a29d8b..0f6d2dc265a 100644
--- a/apps/files_sharing/api/remote.php
+++ b/apps/files_sharing/api/remote.php
@@ -38,6 +38,7 @@ class Remote {
Filesystem::getMountManager(),
Filesystem::getLoader(),
\OC::$server->getHTTPHelper(),
+ \OC::$server->getNotificationManager(),
\OC_User::getUser()
);
@@ -56,6 +57,7 @@ class Remote {
Filesystem::getMountManager(),
Filesystem::getLoader(),
\OC::$server->getHTTPHelper(),
+ \OC::$server->getNotificationManager(),
\OC_User::getUser()
);
@@ -78,6 +80,7 @@ class Remote {
Filesystem::getMountManager(),
Filesystem::getLoader(),
\OC::$server->getHTTPHelper(),
+ \OC::$server->getNotificationManager(),
\OC_User::getUser()
);
@@ -87,5 +90,4 @@ class Remote {
return new \OC_OCS_Result(null, 404, "wrong share ID, share doesn't exist.");
}
-
}
diff --git a/apps/files_sharing/api/server2server.php b/apps/files_sharing/api/server2server.php
index 4328e3830ba..6ecaea20535 100644
--- a/apps/files_sharing/api/server2server.php
+++ b/apps/files_sharing/api/server2server.php
@@ -70,6 +70,7 @@ class Server2Server {
\OC\Files\Filesystem::getMountManager(),
\OC\Files\Filesystem::getLoader(),
\OC::$server->getHTTPHelper(),
+ \OC::$server->getNotificationManager(),
$shareWith
);
@@ -82,6 +83,28 @@ class Server2Server {
Activity::FILES_SHARING_APP, Activity::SUBJECT_REMOTE_SHARE_RECEIVED, array($user, trim($name, '/')), '', array(),
'', '', $shareWith, Activity::TYPE_REMOTE_SHARE, Activity::PRIORITY_LOW);
+ $urlGenerator = \OC::$server->getURLGenerator();
+
+ $notificationManager = \OC::$server->getNotificationManager();
+ $notification = $notificationManager->createNotification();
+ $notification->setApp('files_sharing')
+ ->setUser($shareWith)
+ ->setTimestamp(time())
+ ->setObject('remote_share', $remoteId)
+ ->setSubject('remote_share', [$user, trim($name, '/')]);
+
+ $acceptAction = $notification->createAction();
+ $acceptAction->setLabel('accept')
+ ->setLink($urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/remote_shares/' . $remoteId), 'POST');
+ $declineAction = $notification->createAction();
+ $declineAction->setLabel('decline')
+ ->setLink($urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/remote_shares/' . $remoteId), 'DELETE');
+
+ $notification->addAction($acceptAction)
+ ->addAction($declineAction);
+
+ $notificationManager->notify($notification);
+
return new \OC_OCS_Result();
} catch (\Exception $e) {
\OCP\Util::writeLog('files_sharing', 'server can not add remote share, ' . $e->getMessage(), \OCP\Util::ERROR);
diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php
new file mode 100644
index 00000000000..d7eabb9a550
--- /dev/null
+++ b/apps/files_sharing/api/sharees.php
@@ -0,0 +1,409 @@
+<?php
+/**
+ * @author Roeland Jago Douma <roeland@famdouma.nl>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+namespace OCA\Files_Sharing\API;
+
+use OCP\Contacts\IManager;
+use OCP\IGroup;
+use OCP\IGroupManager;
+use OCP\ILogger;
+use OCP\IRequest;
+use OCP\IUser;
+use OCP\IUserManager;
+use OCP\IConfig;
+use OCP\IUserSession;
+use OCP\IURLGenerator;
+use OCP\Share;
+
+class Sharees {
+
+ /** @var IGroupManager */
+ protected $groupManager;
+
+ /** @var IUserManager */
+ protected $userManager;
+
+ /** @var IManager */
+ protected $contactsManager;
+
+ /** @var IConfig */
+ protected $config;
+
+ /** @var IUserSession */
+ protected $userSession;
+
+ /** @var IRequest */
+ protected $request;
+
+ /** @var IURLGenerator */
+ protected $urlGenerator;
+
+ /** @var ILogger */
+ protected $logger;
+
+ /** @var bool */
+ protected $shareWithGroupOnly = false;
+
+ /** @var int */
+ protected $offset = 0;
+
+ /** @var int */
+ protected $limit = 10;
+
+ /** @var array */
+ protected $result = [
+ 'exact' => [
+ 'users' => [],
+ 'groups' => [],
+ 'remotes' => [],
+ ],
+ 'users' => [],
+ 'groups' => [],
+ 'remotes' => [],
+ ];
+
+ protected $reachedEndFor = [];
+
+ /**
+ * @param IGroupManager $groupManager
+ * @param IUserManager $userManager
+ * @param IManager $contactsManager
+ * @param IConfig $config
+ * @param IUserSession $userSession
+ * @param IURLGenerator $urlGenerator
+ * @param IRequest $request
+ * @param ILogger $logger
+ */
+ public function __construct(IGroupManager $groupManager,
+ IUserManager $userManager,
+ IManager $contactsManager,
+ IConfig $config,
+ IUserSession $userSession,
+ IURLGenerator $urlGenerator,
+ IRequest $request,
+ ILogger $logger) {
+ $this->groupManager = $groupManager;
+ $this->userManager = $userManager;
+ $this->contactsManager = $contactsManager;
+ $this->config = $config;
+ $this->userSession = $userSession;
+ $this->urlGenerator = $urlGenerator;
+ $this->request = $request;
+ $this->logger = $logger;
+ }
+
+ /**
+ * @param string $search
+ */
+ protected function getUsers($search) {
+ $this->result['users'] = $this->result['exact']['users'] = $users = [];
+
+ if ($this->shareWithGroupOnly) {
+ // Search in all the groups this user is part of
+ $userGroups = $this->groupManager->getUserGroupIds($this->userSession->getUser());
+ foreach ($userGroups as $userGroup) {
+ $usersTmp = $this->groupManager->displayNamesInGroup($userGroup, $search, $this->limit, $this->offset);
+ foreach ($usersTmp as $uid => $userDisplayName) {
+ $users[$uid] = $userDisplayName;
+ }
+ }
+ } else {
+ // Search in all users
+ $usersTmp = $this->userManager->searchDisplayName($search, $this->limit, $this->offset);
+
+ foreach ($usersTmp as $user) {
+ $users[$user->getUID()] = $user->getDisplayName();
+ }
+ }
+
+ if (sizeof($users) < $this->limit) {
+ $this->reachedEndFor[] = 'users';
+ }
+
+ $foundUserById = false;
+ foreach ($users as $uid => $userDisplayName) {
+ if (strtolower($uid) === $search || strtolower($userDisplayName) === $search) {
+ if (strtolower($uid) === $search) {
+ $foundUserById = true;
+ }
+ $this->result['exact']['users'][] = [
+ 'label' => $userDisplayName,
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_USER,
+ 'shareWith' => $uid,
+ ],
+ ];
+ } else {
+ $this->result['users'][] = [
+ 'label' => $userDisplayName,
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_USER,
+ 'shareWith' => $uid,
+ ],
+ ];
+ }
+ }
+
+ if ($this->offset === 0 && !$foundUserById) {
+ // On page one we try if the search result has a direct hit on the
+ // user id and if so, we add that to the exact match list
+ $user = $this->userManager->get($search);
+ if ($user instanceof IUser) {
+ array_push($this->result['exact']['users'], [
+ 'label' => $user->getDisplayName(),
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_USER,
+ 'shareWith' => $user->getUID(),
+ ],
+ ]);
+ }
+ }
+ }
+
+ /**
+ * @param string $search
+ */
+ protected function getGroups($search) {
+ $this->result['groups'] = $this->result['exact']['groups'] = [];
+
+ $groups = $this->groupManager->search($search, $this->limit, $this->offset);
+ $groups = array_map(function (IGroup $group) { return $group->getGID(); }, $groups);
+
+ if (sizeof($groups) < $this->limit) {
+ $this->reachedEndFor[] = 'groups';
+ }
+
+ $userGroups = [];
+ if (!empty($groups) && $this->shareWithGroupOnly) {
+ // Intersect all the groups that match with the groups this user is a member of
+ $userGroups = $this->groupManager->getUserGroups($this->userSession->getUser());
+ $userGroups = array_map(function (IGroup $group) { return $group->getGID(); }, $userGroups);
+ $groups = array_intersect($groups, $userGroups);
+ }
+
+ foreach ($groups as $gid) {
+ if (strtolower($gid) === $search) {
+ $this->result['exact']['groups'][] = [
+ 'label' => $search,
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_GROUP,
+ 'shareWith' => $search,
+ ],
+ ];
+ } else {
+ $this->result['groups'][] = [
+ 'label' => $gid,
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_GROUP,
+ 'shareWith' => $gid,
+ ],
+ ];
+ }
+ }
+
+ if ($this->offset === 0 && empty($this->result['exact']['groups'])) {
+ // On page one we try if the search result has a direct hit on the
+ // user id and if so, we add that to the exact match list
+ $group = $this->groupManager->get($search);
+ if ($group instanceof IGroup && (!$this->shareWithGroupOnly || in_array($group->getGID(), $userGroups))) {
+ array_push($this->result['exact']['groups'], [
+ 'label' => $group->getGID(),
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_GROUP,
+ 'shareWith' => $group->getGID(),
+ ],
+ ]);
+ }
+ }
+ }
+
+ /**
+ * @param string $search
+ * @return array possible sharees
+ */
+ protected function getRemote($search) {
+ $this->result['remotes'] = [];
+
+ // Search in contacts
+ //@todo Pagination missing
+ $addressBookContacts = $this->contactsManager->search($search, ['CLOUD', 'FN']);
+ $foundRemoteById = false;
+ foreach ($addressBookContacts as $contact) {
+ if (isset($contact['CLOUD'])) {
+ foreach ($contact['CLOUD'] as $cloudId) {
+ if (strtolower($contact['FN']) === $search || strtolower($cloudId) === $search) {
+ if (strtolower($cloudId) === $search) {
+ $foundRemoteById = true;
+ }
+ $this->result['exact']['remotes'][] = [
+ 'label' => $contact['FN'],
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_REMOTE,
+ 'shareWith' => $cloudId,
+ ],
+ ];
+ } else {
+ $this->result['remotes'][] = [
+ 'label' => $contact['FN'],
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_REMOTE,
+ 'shareWith' => $cloudId,
+ ],
+ ];
+ }
+ }
+ }
+ }
+
+ if (!$foundRemoteById && substr_count($search, '@') >= 1 && substr_count($search, ' ') === 0 && $this->offset === 0) {
+ $this->result['exact']['remotes'][] = [
+ 'label' => $search,
+ 'value' => [
+ 'shareType' => Share::SHARE_TYPE_REMOTE,
+ 'shareWith' => $search,
+ ],
+ ];
+ }
+
+ $this->reachedEndFor[] = 'remotes';
+ }
+
+ /**
+ * @return \OC_OCS_Result
+ */
+ public function search() {
+ $search = isset($_GET['search']) ? (string) $_GET['search'] : '';
+ $itemType = isset($_GET['itemType']) ? (string) $_GET['itemType'] : null;
+ $page = !empty($_GET['page']) ? max(1, (int) $_GET['page']) : 1;
+ $perPage = !empty($_GET['limit']) ? max(1, (int) $_GET['limit']) : 200;
+
+ $shareTypes = [
+ Share::SHARE_TYPE_USER,
+ Share::SHARE_TYPE_GROUP,
+ Share::SHARE_TYPE_REMOTE,
+ ];
+ if (isset($_GET['shareType']) && is_array($_GET['shareType'])) {
+ $shareTypes = array_intersect($shareTypes, $_GET['shareType']);
+ sort($shareTypes);
+
+ } else if (isset($_GET['shareType']) && is_numeric($_GET['shareType'])) {
+ $shareTypes = array_intersect($shareTypes, [(int) $_GET['shareType']]);
+ sort($shareTypes);
+ }
+
+ if (in_array(Share::SHARE_TYPE_REMOTE, $shareTypes) && !$this->isRemoteSharingAllowed($itemType)) {
+ // Remove remote shares from type array, because it is not allowed.
+ $shareTypes = array_diff($shareTypes, [Share::SHARE_TYPE_REMOTE]);
+ }
+
+ $this->shareWithGroupOnly = $this->config->getAppValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes';
+ $this->limit = (int) $perPage;
+ $this->offset = $perPage * ($page - 1);
+
+ return $this->searchSharees(strtolower($search), $itemType, $shareTypes, $page, $perPage);
+ }
+
+ /**
+ * Method to get out the static call for better testing
+ *
+ * @param string $itemType
+ * @return bool
+ */
+ protected function isRemoteSharingAllowed($itemType) {
+ try {
+ $backend = Share::getBackend($itemType);
+ return $backend->isShareTypeAllowed(Share::SHARE_TYPE_REMOTE);
+ } catch (\Exception $e) {
+ return false;
+ }
+ }
+
+ /**
+ * Testable search function that does not need globals
+ *
+ * @param string $search
+ * @param string $itemType
+ * @param array $shareTypes
+ * @param int $page
+ * @param int $perPage
+ * @return \OC_OCS_Result
+ */
+ protected function searchSharees($search, $itemType, array $shareTypes, $page, $perPage) {
+ // Verify arguments
+ if ($itemType === null) {
+ return new \OC_OCS_Result(null, 400, 'missing itemType');
+ }
+
+ // Get users
+ if (in_array(Share::SHARE_TYPE_USER, $shareTypes)) {
+ $this->getUsers($search);
+ }
+
+ // Get groups
+ if (in_array(Share::SHARE_TYPE_GROUP, $shareTypes)) {
+ $this->getGroups($search);
+ }
+
+ // Get remote
+ if (in_array(Share::SHARE_TYPE_REMOTE, $shareTypes)) {
+ $this->getRemote($search);
+ }
+
+ $response = new \OC_OCS_Result($this->result);
+ $response->setItemsPerPage($perPage);
+
+ if (sizeof($this->reachedEndFor) < 3) {
+ $response->addHeader('Link', $this->getPaginationLink($page, [
+ 'search' => $search,
+ 'itemType' => $itemType,
+ 'shareType' => $shareTypes,
+ 'limit' => $perPage,
+ ]));
+ }
+
+ return $response;
+ }
+
+ /**
+ * Generates a bunch of pagination links for the current page
+ *
+ * @param int $page Current page
+ * @param array $params Parameters for the URL
+ * @return string
+ */
+ protected function getPaginationLink($page, array $params) {
+ if ($this->isV2()) {
+ $url = $this->urlGenerator->getAbsoluteURL('/ocs/v2.php/apps/files_sharing/api/v1/sharees') . '?';
+ } else {
+ $url = $this->urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/sharees') . '?';
+ }
+ $params['page'] = $page + 1;
+ $link = '<' . $url . http_build_query($params) . '>; rel="next"';
+
+ return $link;
+ }
+
+ /**
+ * @return bool
+ */
+ protected function isV2() {
+ return $this->request->getScriptName() === '/ocs/v2.php';
+ }
+}
diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php
index 9000fafd8dd..20f1b046d35 100644
--- a/apps/files_sharing/appinfo/app.php
+++ b/apps/files_sharing/appinfo/app.php
@@ -58,10 +58,6 @@ $application->setupPropagation();
\OCP\Util::addScript('files_sharing', 'external');
\OCP\Util::addStyle('files_sharing', 'sharetabview');
-// FIXME: registering a job here will cause additional useless SQL queries
-// when the route is not cron.php, needs a better way
-\OC::$server->getJobList()->add('OCA\Files_sharing\Lib\DeleteOrphanedSharesJob');
-
\OC::$server->getActivityManager()->registerExtension(function() {
return new \OCA\Files_Sharing\Activity(
\OC::$server->query('L10NFactory'),
@@ -107,3 +103,10 @@ if ($config->getAppValue('core', 'shareapi_enabled', 'yes') === 'yes') {
}
}
}
+
+$manager = \OC::$server->getNotificationManager();
+$manager->registerNotifier(function() {
+ return new \OCA\Files_Sharing\Notifier(
+ \OC::$server->getL10NFactory()
+ );
+});
diff --git a/apps/files_sharing/appinfo/application.php b/apps/files_sharing/appinfo/application.php
index 530195c65fa..d0dcadb77e8 100644
--- a/apps/files_sharing/appinfo/application.php
+++ b/apps/files_sharing/appinfo/application.php
@@ -93,6 +93,7 @@ class Application extends App {
\OC\Files\Filesystem::getMountManager(),
\OC\Files\Filesystem::getLoader(),
$server->getHTTPHelper(),
+ $server->getNotificationManager(),
$uid
);
});
diff --git a/apps/files_sharing/appinfo/install.php b/apps/files_sharing/appinfo/install.php
new file mode 100644
index 00000000000..f076a17e444
--- /dev/null
+++ b/apps/files_sharing/appinfo/install.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * @author Joas Schilling <nickvergessen@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+\OC::$server->getJobList()->add('OCA\Files_sharing\Lib\DeleteOrphanedSharesJob');
diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php
index 184ad29bba4..375124cb730 100644
--- a/apps/files_sharing/appinfo/routes.php
+++ b/apps/files_sharing/appinfo/routes.php
@@ -102,3 +102,16 @@ API::register('delete',
array('\OCA\Files_Sharing\API\Remote', 'declineShare'),
'files_sharing');
+$sharees = new \OCA\Files_Sharing\API\Sharees(\OC::$server->getGroupManager(),
+ \OC::$server->getUserManager(),
+ \OC::$server->getContactsManager(),
+ \OC::$server->getConfig(),
+ \OC::$server->getUserSession(),
+ \OC::$server->getURLGenerator(),
+ \OC::$server->getRequest(),
+ \OC::$server->getLogger());
+
+API::register('get',
+ '/apps/files_sharing/api/v1/sharees',
+ [$sharees, 'search'],
+ 'files_sharing', API::USER_AUTH);
diff --git a/apps/files_sharing/appinfo/update.php b/apps/files_sharing/appinfo/update.php
index e98b60ea36d..66b8b78cacf 100644
--- a/apps/files_sharing/appinfo/update.php
+++ b/apps/files_sharing/appinfo/update.php
@@ -28,3 +28,4 @@ if (version_compare($installedVersion, '0.6.0', '<')) {
$m->addAcceptRow();
}
+\OC::$server->getJobList()->add('OCA\Files_sharing\Lib\DeleteOrphanedSharesJob');
diff --git a/apps/files_sharing/appinfo/version b/apps/files_sharing/appinfo/version
index b6160487433..844f6a91acb 100644
--- a/apps/files_sharing/appinfo/version
+++ b/apps/files_sharing/appinfo/version
@@ -1 +1 @@
-0.6.2
+0.6.3
diff --git a/apps/files_sharing/js/settings-personal.js b/apps/files_sharing/js/settings-personal.js
index 1c7aea0b9d6..14a9b7bbfa7 100644
--- a/apps/files_sharing/js/settings-personal.js
+++ b/apps/files_sharing/js/settings-personal.js
@@ -12,4 +12,8 @@ $(document).ready(function() {
}
});
+ $('#oca-files-sharing-add-to-your-website').click(function() {
+ $('#oca-files-sharing-add-to-your-website-expanded').slideDown();
+ });
+
});
diff --git a/apps/files_sharing/l10n/cs_CZ.js b/apps/files_sharing/l10n/cs_CZ.js
index 7051d9e56db..c16b2c77e59 100644
--- a/apps/files_sharing/l10n/cs_CZ.js
+++ b/apps/files_sharing/l10n/cs_CZ.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s s vámi sdílí %1$s",
"You shared %1$s via link" : "Sdílíte %1$s přes odkaz",
"Shares" : "Sdílení",
+ "Accept" : "Přijmout",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID, více na %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID",
"This share is password-protected" : "Toto sdílení je chráněno heslem",
@@ -66,7 +67,6 @@ OC.L10N.register(
"Federated Cloud" : "Sdružený cloud",
"Your Federated Cloud ID:" : "Vaše sdružené cloud ID:",
"Share it:" : "Sdílet:",
- "Add it to your website:" : "Přidat na svou webovou stránku:",
"Share with me via ownCloud" : "Sdíleno se mnou přes ownCloud",
"HTML Code:" : "HTML kód:"
},
diff --git a/apps/files_sharing/l10n/cs_CZ.json b/apps/files_sharing/l10n/cs_CZ.json
index c93886aa33c..208cc0fa24b 100644
--- a/apps/files_sharing/l10n/cs_CZ.json
+++ b/apps/files_sharing/l10n/cs_CZ.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s s vámi sdílí %1$s",
"You shared %1$s via link" : "Sdílíte %1$s přes odkaz",
"Shares" : "Sdílení",
+ "Accept" : "Přijmout",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID, více na %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Sdílej se mnou pomocí mého #ownCloud sdruženého cloud ID",
"This share is password-protected" : "Toto sdílení je chráněno heslem",
@@ -64,7 +65,6 @@
"Federated Cloud" : "Sdružený cloud",
"Your Federated Cloud ID:" : "Vaše sdružené cloud ID:",
"Share it:" : "Sdílet:",
- "Add it to your website:" : "Přidat na svou webovou stránku:",
"Share with me via ownCloud" : "Sdíleno se mnou přes ownCloud",
"HTML Code:" : "HTML kód:"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
diff --git a/apps/files_sharing/l10n/da.js b/apps/files_sharing/l10n/da.js
index 7e05b2ca442..2ab7513f139 100644
--- a/apps/files_sharing/l10n/da.js
+++ b/apps/files_sharing/l10n/da.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s delt %1$s med dig",
"You shared %1$s via link" : "Du delte %1$s via link",
"Shares" : "Delt",
+ "Accept" : "Acceptér",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med mig gennem min #ownCloud Federated Cloud ID, se %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Del med mig gennem min #ownCloud Federated Cloud ID",
"This share is password-protected" : "Delingen er beskyttet af kodeord",
@@ -66,7 +67,7 @@ OC.L10N.register(
"Federated Cloud" : "Federated Cloud",
"Your Federated Cloud ID:" : "Din Federated Cloud ID:",
"Share it:" : "Del:",
- "Add it to your website:" : "Tilføj den til din hjemmeside:",
+ "Add to your website" : "Tilføj til dit websted",
"Share with me via ownCloud" : "Del med mig gennem ownCloud",
"HTML Code:" : "HTMLkode:"
},
diff --git a/apps/files_sharing/l10n/da.json b/apps/files_sharing/l10n/da.json
index d08dbdc4273..fe071e1d585 100644
--- a/apps/files_sharing/l10n/da.json
+++ b/apps/files_sharing/l10n/da.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s delt %1$s med dig",
"You shared %1$s via link" : "Du delte %1$s via link",
"Shares" : "Delt",
+ "Accept" : "Acceptér",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med mig gennem min #ownCloud Federated Cloud ID, se %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Del med mig gennem min #ownCloud Federated Cloud ID",
"This share is password-protected" : "Delingen er beskyttet af kodeord",
@@ -64,7 +65,7 @@
"Federated Cloud" : "Federated Cloud",
"Your Federated Cloud ID:" : "Din Federated Cloud ID:",
"Share it:" : "Del:",
- "Add it to your website:" : "Tilføj den til din hjemmeside:",
+ "Add to your website" : "Tilføj til dit websted",
"Share with me via ownCloud" : "Del med mig gennem ownCloud",
"HTML Code:" : "HTMLkode:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index f6dcf690b60..973aa0f15ac 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s hat %1$s mit Dir geteilt",
"You shared %1$s via link" : "Du hast %1$s über einen Link freigegeben",
"Shares" : "Freigaben",
+ "Accept" : "Ok",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Teile mit mir über meine #ownCloud Federated-Cloud-ID, siehe %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Teile mit mir über meine #ownCloud Federated-Cloud-ID",
"This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt",
@@ -66,7 +67,6 @@ OC.L10N.register(
"Federated Cloud" : "Federated Cloud",
"Your Federated Cloud ID:" : "Deine Federated-Cloud-ID:",
"Share it:" : "Zum Teilen:",
- "Add it to your website:" : "Zum Hinzufügen zu Deiner Website:",
"Share with me via ownCloud" : "Teile mit mir über ownCloud",
"HTML Code:" : "HTML-Code:"
},
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index 76f9b6d1155..5526be3b6bf 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s hat %1$s mit Dir geteilt",
"You shared %1$s via link" : "Du hast %1$s über einen Link freigegeben",
"Shares" : "Freigaben",
+ "Accept" : "Ok",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Teile mit mir über meine #ownCloud Federated-Cloud-ID, siehe %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Teile mit mir über meine #ownCloud Federated-Cloud-ID",
"This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt",
@@ -64,7 +65,6 @@
"Federated Cloud" : "Federated Cloud",
"Your Federated Cloud ID:" : "Deine Federated-Cloud-ID:",
"Share it:" : "Zum Teilen:",
- "Add it to your website:" : "Zum Hinzufügen zu Deiner Website:",
"Share with me via ownCloud" : "Teile mit mir über ownCloud",
"HTML Code:" : "HTML-Code:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js
index 3c1eccd4607..47243b8f81d 100644
--- a/apps/files_sharing/l10n/de_DE.js
+++ b/apps/files_sharing/l10n/de_DE.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s hat %1$s mit Ihnen geteilt",
"You shared %1$s via link" : "Sie haben %1$s über einen Link geteilt",
"Shares" : "Geteiltes",
+ "Accept" : "Akzeptieren",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Teilen Sie mit mir über meine #ownCloud Federated-Cloud-ID, siehe %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Teilen Sie mit mir über meine #ownCloud Federated-Cloud-ID",
"This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt",
@@ -66,7 +67,6 @@ OC.L10N.register(
"Federated Cloud" : "Federated Cloud",
"Your Federated Cloud ID:" : "Ihre Federated-Cloud-ID:",
"Share it:" : "Zum Teilen:",
- "Add it to your website:" : "Zum Hinzufügen zu Ihrer Website:",
"Share with me via ownCloud" : "Teilen Sie mit mir über ownCloud",
"HTML Code:" : "HTML-Code:"
},
diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json
index 08732c602ec..b63286de48d 100644
--- a/apps/files_sharing/l10n/de_DE.json
+++ b/apps/files_sharing/l10n/de_DE.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s hat %1$s mit Ihnen geteilt",
"You shared %1$s via link" : "Sie haben %1$s über einen Link geteilt",
"Shares" : "Geteiltes",
+ "Accept" : "Akzeptieren",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Teilen Sie mit mir über meine #ownCloud Federated-Cloud-ID, siehe %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Teilen Sie mit mir über meine #ownCloud Federated-Cloud-ID",
"This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt",
@@ -64,7 +65,6 @@
"Federated Cloud" : "Federated Cloud",
"Your Federated Cloud ID:" : "Ihre Federated-Cloud-ID:",
"Share it:" : "Zum Teilen:",
- "Add it to your website:" : "Zum Hinzufügen zu Ihrer Website:",
"Share with me via ownCloud" : "Teilen Sie mit mir über ownCloud",
"HTML Code:" : "HTML-Code:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js
index 6a88a675f75..037ddcd9d1d 100644
--- a/apps/files_sharing/l10n/el.js
+++ b/apps/files_sharing/l10n/el.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "Ο %2$s διαμοιράστηκε το %1$s με εσάς",
"You shared %1$s via link" : "Μοιραστήκατε το %1$s μέσω συνδέσμου",
"Shares" : "Κοινόχρηστοι φάκελοι",
+ "Accept" : "Αποδοχή",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Διαμοιρασμός με εμένα μέσω του #ownCloud Federated Cloud ID μου, δείτε %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Διαμοιρασμός με εμένα μέσω του #ownCloud Federated Cloud ID μου",
"This share is password-protected" : "Αυτός ο κοινόχρηστος φάκελος προστατεύεται με κωδικό",
@@ -66,7 +67,7 @@ OC.L10N.register(
"Federated Cloud" : "Federated σύννεφο",
"Your Federated Cloud ID:" : "Το ID σας στο Federated Cloud:",
"Share it:" : "Μοιραστείτε το:",
- "Add it to your website:" : "Προσθέστε το στην ιστοσελίδα σας:",
+ "Add to your website" : "Προσθήκη στην ιστοσελίδα σας",
"Share with me via ownCloud" : "Διαμοιρασμός με εμένα μέσω του ",
"HTML Code:" : "Κώδικας HTML:"
},
diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json
index 01b4e6d01b8..9eb19b2ba83 100644
--- a/apps/files_sharing/l10n/el.json
+++ b/apps/files_sharing/l10n/el.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "Ο %2$s διαμοιράστηκε το %1$s με εσάς",
"You shared %1$s via link" : "Μοιραστήκατε το %1$s μέσω συνδέσμου",
"Shares" : "Κοινόχρηστοι φάκελοι",
+ "Accept" : "Αποδοχή",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Διαμοιρασμός με εμένα μέσω του #ownCloud Federated Cloud ID μου, δείτε %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Διαμοιρασμός με εμένα μέσω του #ownCloud Federated Cloud ID μου",
"This share is password-protected" : "Αυτός ο κοινόχρηστος φάκελος προστατεύεται με κωδικό",
@@ -64,7 +65,7 @@
"Federated Cloud" : "Federated σύννεφο",
"Your Federated Cloud ID:" : "Το ID σας στο Federated Cloud:",
"Share it:" : "Μοιραστείτε το:",
- "Add it to your website:" : "Προσθέστε το στην ιστοσελίδα σας:",
+ "Add to your website" : "Προσθήκη στην ιστοσελίδα σας",
"Share with me via ownCloud" : "Διαμοιρασμός με εμένα μέσω του ",
"HTML Code:" : "Κώδικας HTML:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js
index 40f80be5b61..424fe743088 100644
--- a/apps/files_sharing/l10n/en_GB.js
+++ b/apps/files_sharing/l10n/en_GB.js
@@ -40,6 +40,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s shared %1$s with you",
"You shared %1$s via link" : "You shared %1$s via link",
"Shares" : "Shares",
+ "Accept" : "Accept",
"This share is password-protected" : "This share is password-protected",
"The password is wrong. Try again." : "The password is wrong. Try again.",
"Password" : "Password",
diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json
index 5a70bee7212..4e41be946d1 100644
--- a/apps/files_sharing/l10n/en_GB.json
+++ b/apps/files_sharing/l10n/en_GB.json
@@ -38,6 +38,7 @@
"%2$s shared %1$s with you" : "%2$s shared %1$s with you",
"You shared %1$s via link" : "You shared %1$s via link",
"Shares" : "Shares",
+ "Accept" : "Accept",
"This share is password-protected" : "This share is password-protected",
"The password is wrong. Try again." : "The password is wrong. Try again.",
"Password" : "Password",
diff --git a/apps/files_sharing/l10n/eo.js b/apps/files_sharing/l10n/eo.js
index 6c78d555304..ef900774146 100644
--- a/apps/files_sharing/l10n/eo.js
+++ b/apps/files_sharing/l10n/eo.js
@@ -23,6 +23,7 @@ OC.L10N.register(
"You shared %1$s with group %2$s" : "Vi kunhavigis %1$s kun la grupo %2$s",
"%2$s shared %1$s with you" : "%2$s kunhavigis %1$s kun vi",
"You shared %1$s via link" : "Vi kunhavigis %1$s per ligilo",
+ "Accept" : "Akcepti",
"This share is password-protected" : "Ĉi tiu kunhavigo estas protektata per pasvorto",
"The password is wrong. Try again." : "La pasvorto malĝustas. Provu denove.",
"Password" : "Pasvorto",
diff --git a/apps/files_sharing/l10n/eo.json b/apps/files_sharing/l10n/eo.json
index 8899e3021ca..cc648a7c60d 100644
--- a/apps/files_sharing/l10n/eo.json
+++ b/apps/files_sharing/l10n/eo.json
@@ -21,6 +21,7 @@
"You shared %1$s with group %2$s" : "Vi kunhavigis %1$s kun la grupo %2$s",
"%2$s shared %1$s with you" : "%2$s kunhavigis %1$s kun vi",
"You shared %1$s via link" : "Vi kunhavigis %1$s per ligilo",
+ "Accept" : "Akcepti",
"This share is password-protected" : "Ĉi tiu kunhavigo estas protektata per pasvorto",
"The password is wrong. Try again." : "La pasvorto malĝustas. Provu denove.",
"Password" : "Pasvorto",
diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js
index 7e5e48bbf78..ca1e8c430db 100644
--- a/apps/files_sharing/l10n/es.js
+++ b/apps/files_sharing/l10n/es.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s ha compartido %1$s con usted",
"You shared %1$s via link" : "Ha compartido %1$s vía enlace",
"Shares" : "Compartidos",
+ "Accept" : "Aceptar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartirlo conmigo a través de mi ID Nube Federada #ownCloud, ver %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Compartirlo conmigo a través de mi ID Nube Federada #ownCloud",
"This share is password-protected" : "Este elemento compartido está protegido por contraseña",
@@ -66,7 +67,7 @@ OC.L10N.register(
"Federated Cloud" : "Nube Federada",
"Your Federated Cloud ID:" : "Su ID Nube Federada:",
"Share it:" : "Compartir:",
- "Add it to your website:" : "Agregarlo a su sitio de internet:",
+ "Add to your website" : "Añadir a su Website",
"Share with me via ownCloud" : "Compartirlo conmigo vía OwnCloud",
"HTML Code:" : "Código HTML:"
},
diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json
index 358330b80ac..4b300e1227f 100644
--- a/apps/files_sharing/l10n/es.json
+++ b/apps/files_sharing/l10n/es.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s ha compartido %1$s con usted",
"You shared %1$s via link" : "Ha compartido %1$s vía enlace",
"Shares" : "Compartidos",
+ "Accept" : "Aceptar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartirlo conmigo a través de mi ID Nube Federada #ownCloud, ver %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Compartirlo conmigo a través de mi ID Nube Federada #ownCloud",
"This share is password-protected" : "Este elemento compartido está protegido por contraseña",
@@ -64,7 +65,7 @@
"Federated Cloud" : "Nube Federada",
"Your Federated Cloud ID:" : "Su ID Nube Federada:",
"Share it:" : "Compartir:",
- "Add it to your website:" : "Agregarlo a su sitio de internet:",
+ "Add to your website" : "Añadir a su Website",
"Share with me via ownCloud" : "Compartirlo conmigo vía OwnCloud",
"HTML Code:" : "Código HTML:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js
index 535608ad511..ada0a548162 100644
--- a/apps/files_sharing/l10n/et_EE.js
+++ b/apps/files_sharing/l10n/et_EE.js
@@ -4,13 +4,17 @@ OC.L10N.register(
"Server to server sharing is not enabled on this server" : "Serverist serverisse jagamine pole antud serveris lubatud",
"The mountpoint name contains invalid characters." : "Ühenduspunkti nimes on vigaseid märke.",
"Invalid or untrusted SSL certificate" : "Vigane või tundmatu SSL sertifikaat",
+ "Storage not valid" : "Andmehoidla pole korrektne",
"Couldn't add remote share" : "Ei suutnud lisada kaugjagamist",
"Shared with you" : "Sinuga jagatud",
"Shared with others" : "Teistega jagatud",
"Shared by link" : "Jagatud lingiga",
"Nothing shared with you yet" : "Sinuga pole veel midagi jagatud",
+ "Files and folders others share with you will show up here" : "Siin näidatakse faile ja kaustasid, mida teised on sulle jaganud",
"Nothing shared yet" : "Midagi pole veel jagatud",
+ "Files and folders you share will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa oled teistega jaganud",
"No shared links" : "Jagatud linke pole",
+ "Files and folders you share by link will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa jagad lingiga",
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Soovid lisata kaugjagamise {name} asukohast {owner}@{remote}?",
"Remote share" : "Kaugjagamine",
"Remote share password" : "Kaugjagamise parool",
@@ -27,6 +31,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s jagas sinuga %1$s",
"You shared %1$s via link" : "Jagasid %1$s lingiga",
"Shares" : "Jagamised",
+ "Accept" : "Nõustu",
"This share is password-protected" : "See jagamine on parooliga kaitstud",
"The password is wrong. Try again." : "Parool on vale. Proovi uuesti.",
"Password" : "Parool",
@@ -47,7 +52,6 @@ OC.L10N.register(
"Allow users on this server to send shares to other servers" : "Luba selle serveri kasutajatel saata faile teistesse serveritesse",
"Allow users on this server to receive shares from other servers" : "Luba selle serveri kasutajatel võtta vastu jagamisi teistest serveritest",
"Share it:" : "Jaga seda:",
- "Add it to your website:" : "Lisa see oma veebisaidile:",
"Share with me via ownCloud" : "Jaga minuga läbi ownCloudiga",
"HTML Code:" : "HTML kood:"
},
diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json
index f894b06fc9e..afa7fc6884d 100644
--- a/apps/files_sharing/l10n/et_EE.json
+++ b/apps/files_sharing/l10n/et_EE.json
@@ -2,13 +2,17 @@
"Server to server sharing is not enabled on this server" : "Serverist serverisse jagamine pole antud serveris lubatud",
"The mountpoint name contains invalid characters." : "Ühenduspunkti nimes on vigaseid märke.",
"Invalid or untrusted SSL certificate" : "Vigane või tundmatu SSL sertifikaat",
+ "Storage not valid" : "Andmehoidla pole korrektne",
"Couldn't add remote share" : "Ei suutnud lisada kaugjagamist",
"Shared with you" : "Sinuga jagatud",
"Shared with others" : "Teistega jagatud",
"Shared by link" : "Jagatud lingiga",
"Nothing shared with you yet" : "Sinuga pole veel midagi jagatud",
+ "Files and folders others share with you will show up here" : "Siin näidatakse faile ja kaustasid, mida teised on sulle jaganud",
"Nothing shared yet" : "Midagi pole veel jagatud",
+ "Files and folders you share will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa oled teistega jaganud",
"No shared links" : "Jagatud linke pole",
+ "Files and folders you share by link will show up here" : "Siin kuvatakse faile ja kaustasid, mida sa jagad lingiga",
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Soovid lisata kaugjagamise {name} asukohast {owner}@{remote}?",
"Remote share" : "Kaugjagamine",
"Remote share password" : "Kaugjagamise parool",
@@ -25,6 +29,7 @@
"%2$s shared %1$s with you" : "%2$s jagas sinuga %1$s",
"You shared %1$s via link" : "Jagasid %1$s lingiga",
"Shares" : "Jagamised",
+ "Accept" : "Nõustu",
"This share is password-protected" : "See jagamine on parooliga kaitstud",
"The password is wrong. Try again." : "Parool on vale. Proovi uuesti.",
"Password" : "Parool",
@@ -45,7 +50,6 @@
"Allow users on this server to send shares to other servers" : "Luba selle serveri kasutajatel saata faile teistesse serveritesse",
"Allow users on this server to receive shares from other servers" : "Luba selle serveri kasutajatel võtta vastu jagamisi teistest serveritest",
"Share it:" : "Jaga seda:",
- "Add it to your website:" : "Lisa see oma veebisaidile:",
"Share with me via ownCloud" : "Jaga minuga läbi ownCloudiga",
"HTML Code:" : "HTML kood:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/fi_FI.js b/apps/files_sharing/l10n/fi_FI.js
index 6ef1f741f6d..2a3f7937fdc 100644
--- a/apps/files_sharing/l10n/fi_FI.js
+++ b/apps/files_sharing/l10n/fi_FI.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s jakoi kohteen %1$s kanssasi",
"You shared %1$s via link" : "Jaoit kohteen %1$s linkin kautta",
"Shares" : "Jaot",
+ "Accept" : "Hyväksy",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Jaa kanssani käyttäen #ownCloud ja federoitua pilvitunnistetta, katso %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Jaa kanssani käyttäen #ownCloud ja federoitua pilvitunnistetta",
"This share is password-protected" : "Tämä jako on suojattu salasanalla",
@@ -66,7 +67,7 @@ OC.L10N.register(
"Federated Cloud" : "Federoitu pilvi",
"Your Federated Cloud ID:" : "Federoidun pilvesi tunniste:",
"Share it:" : "Jaa se:",
- "Add it to your website:" : "Lisää verkkosivustollesi:",
+ "Add to your website" : "Lisää verkkosivuillesi",
"Share with me via ownCloud" : "Jaa kanssani ownCloudin kautta",
"HTML Code:" : "HTML-koodi:"
},
diff --git a/apps/files_sharing/l10n/fi_FI.json b/apps/files_sharing/l10n/fi_FI.json
index dfb9afb5a8b..d7809f57130 100644
--- a/apps/files_sharing/l10n/fi_FI.json
+++ b/apps/files_sharing/l10n/fi_FI.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s jakoi kohteen %1$s kanssasi",
"You shared %1$s via link" : "Jaoit kohteen %1$s linkin kautta",
"Shares" : "Jaot",
+ "Accept" : "Hyväksy",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Jaa kanssani käyttäen #ownCloud ja federoitua pilvitunnistetta, katso %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Jaa kanssani käyttäen #ownCloud ja federoitua pilvitunnistetta",
"This share is password-protected" : "Tämä jako on suojattu salasanalla",
@@ -64,7 +65,7 @@
"Federated Cloud" : "Federoitu pilvi",
"Your Federated Cloud ID:" : "Federoidun pilvesi tunniste:",
"Share it:" : "Jaa se:",
- "Add it to your website:" : "Lisää verkkosivustollesi:",
+ "Add to your website" : "Lisää verkkosivuillesi",
"Share with me via ownCloud" : "Jaa kanssani ownCloudin kautta",
"HTML Code:" : "HTML-koodi:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index e07b93c788b..a59409e008a 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s a partagé %1$s avec vous",
"You shared %1$s via link" : "Vous avez partagé %1$s par lien public",
"Shares" : "Partages",
+ "Accept" : "Accepter",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud",
"This share is password-protected" : "Ce partage est protégé par un mot de passe",
@@ -66,7 +67,7 @@ OC.L10N.register(
"Federated Cloud" : "Federated Cloud",
"Your Federated Cloud ID:" : "Votre identifiant Federated Cloud :",
"Share it:" : "Partager :",
- "Add it to your website:" : "Ajouter à votre site web :",
+ "Add to your website" : "Ajouter à votre site web",
"Share with me via ownCloud" : "Partagez avec moi via ownCloud",
"HTML Code:" : "Code HTML :"
},
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index e597d3100b4..0bb6f2b1b9e 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s a partagé %1$s avec vous",
"You shared %1$s via link" : "Vous avez partagé %1$s par lien public",
"Shares" : "Partages",
+ "Accept" : "Accepter",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Partagez avec moi grâce à mon identifiant Federated Cloud #owncloud",
"This share is password-protected" : "Ce partage est protégé par un mot de passe",
@@ -64,7 +65,7 @@
"Federated Cloud" : "Federated Cloud",
"Your Federated Cloud ID:" : "Votre identifiant Federated Cloud :",
"Share it:" : "Partager :",
- "Add it to your website:" : "Ajouter à votre site web :",
+ "Add to your website" : "Ajouter à votre site web",
"Share with me via ownCloud" : "Partagez avec moi via ownCloud",
"HTML Code:" : "Code HTML :"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
diff --git a/apps/files_sharing/l10n/gl.js b/apps/files_sharing/l10n/gl.js
index 0e279172124..f2a2d528ffc 100644
--- a/apps/files_sharing/l10n/gl.js
+++ b/apps/files_sharing/l10n/gl.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s compartiu %1$s con vostede",
"You shared %1$s via link" : "Vostede compartiu %1$s mediante ligazón",
"Shares" : "Comparticións",
+ "Accept" : "Aceptar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Comparte comigo a través do meu ID da nube federada do #ownCloud , vexa %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Comparte comigo a través do meu ID da nube federada do #ownCloud",
"This share is password-protected" : "Esta compartición está protexida con contrasinal",
@@ -66,7 +67,6 @@ OC.L10N.register(
"Federated Cloud" : "Nube federada",
"Your Federated Cloud ID:" : "ID da súa nube federada:",
"Share it:" : "Compártao:",
- "Add it to your website:" : "Engádao o seu sitio web:",
"Share with me via ownCloud" : "Comparte comigo a través do ownCloud",
"HTML Code:" : "Código HTML:"
},
diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json
index b4757ca2b2b..b9998a47a12 100644
--- a/apps/files_sharing/l10n/gl.json
+++ b/apps/files_sharing/l10n/gl.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s compartiu %1$s con vostede",
"You shared %1$s via link" : "Vostede compartiu %1$s mediante ligazón",
"Shares" : "Comparticións",
+ "Accept" : "Aceptar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Comparte comigo a través do meu ID da nube federada do #ownCloud , vexa %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Comparte comigo a través do meu ID da nube federada do #ownCloud",
"This share is password-protected" : "Esta compartición está protexida con contrasinal",
@@ -64,7 +65,6 @@
"Federated Cloud" : "Nube federada",
"Your Federated Cloud ID:" : "ID da súa nube federada:",
"Share it:" : "Compártao:",
- "Add it to your website:" : "Engádao o seu sitio web:",
"Share with me via ownCloud" : "Comparte comigo a través do ownCloud",
"HTML Code:" : "Código HTML:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/hu_HU.js b/apps/files_sharing/l10n/hu_HU.js
index b374be1c317..c78bdce652d 100644
--- a/apps/files_sharing/l10n/hu_HU.js
+++ b/apps/files_sharing/l10n/hu_HU.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s megosztotta velem ezt: %1$s",
"You shared %1$s via link" : "Megosztottam link segítségével: %1$s",
"Shares" : "Megosztások",
+ "Accept" : "Elfogadás",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Ossza meg velem az #ownCloud Egyesített Felhő Azonosító segítségével, lásd %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Ossza meg velem az #ownCloud Egyesített Felhő Azonosító segítségével ",
"This share is password-protected" : "Ez egy jelszóval védett megosztás",
@@ -66,7 +67,7 @@ OC.L10N.register(
"Federated Cloud" : "Egyesített felhő",
"Your Federated Cloud ID:" : "Egyesített felhő azonosító:",
"Share it:" : "Ossza meg:",
- "Add it to your website:" : "Adja hozzá a saját weboldalához:",
+ "Add to your website" : "Add hozzá saját weboldaladhoz",
"Share with me via ownCloud" : "Ossza meg velem ownCloud-on keresztül",
"HTML Code:" : "HTML Code:"
},
diff --git a/apps/files_sharing/l10n/hu_HU.json b/apps/files_sharing/l10n/hu_HU.json
index f140b98a57c..22cc1422eb7 100644
--- a/apps/files_sharing/l10n/hu_HU.json
+++ b/apps/files_sharing/l10n/hu_HU.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s megosztotta velem ezt: %1$s",
"You shared %1$s via link" : "Megosztottam link segítségével: %1$s",
"Shares" : "Megosztások",
+ "Accept" : "Elfogadás",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Ossza meg velem az #ownCloud Egyesített Felhő Azonosító segítségével, lásd %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Ossza meg velem az #ownCloud Egyesített Felhő Azonosító segítségével ",
"This share is password-protected" : "Ez egy jelszóval védett megosztás",
@@ -64,7 +65,7 @@
"Federated Cloud" : "Egyesített felhő",
"Your Federated Cloud ID:" : "Egyesített felhő azonosító:",
"Share it:" : "Ossza meg:",
- "Add it to your website:" : "Adja hozzá a saját weboldalához:",
+ "Add to your website" : "Add hozzá saját weboldaladhoz",
"Share with me via ownCloud" : "Ossza meg velem ownCloud-on keresztül",
"HTML Code:" : "HTML Code:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/id.js b/apps/files_sharing/l10n/id.js
index 60b460da8e8..f30c0b53b47 100644
--- a/apps/files_sharing/l10n/id.js
+++ b/apps/files_sharing/l10n/id.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s membagikan %1$s dengan Anda",
"You shared %1$s via link" : "Anda membagikan %1$s via tautan",
"Shares" : "Dibagikan",
+ "Accept" : "Terima",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Dibagikan pada saya melalui #ownCloud Federated Cloud ID saya, lihat %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Dibagikan pada saya melalui #ownCloud Federated Cloud ID saya",
"This share is password-protected" : "Berbagi ini dilindungi sandi",
@@ -66,7 +67,6 @@ OC.L10N.register(
"Federated Cloud" : "Federated Cloud",
"Your Federated Cloud ID:" : "Federated Cloud ID Anda:",
"Share it:" : "Bagikan:",
- "Add it to your website:" : "Tambahkan ke situs web Anda:",
"Share with me via ownCloud" : "Dibagikan pada saya via ownCloud",
"HTML Code:" : "Kode HTML:"
},
diff --git a/apps/files_sharing/l10n/id.json b/apps/files_sharing/l10n/id.json
index c4ea5a5c56d..3b6f65c1a09 100644
--- a/apps/files_sharing/l10n/id.json
+++ b/apps/files_sharing/l10n/id.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s membagikan %1$s dengan Anda",
"You shared %1$s via link" : "Anda membagikan %1$s via tautan",
"Shares" : "Dibagikan",
+ "Accept" : "Terima",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Dibagikan pada saya melalui #ownCloud Federated Cloud ID saya, lihat %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Dibagikan pada saya melalui #ownCloud Federated Cloud ID saya",
"This share is password-protected" : "Berbagi ini dilindungi sandi",
@@ -64,7 +65,6 @@
"Federated Cloud" : "Federated Cloud",
"Your Federated Cloud ID:" : "Federated Cloud ID Anda:",
"Share it:" : "Bagikan:",
- "Add it to your website:" : "Tambahkan ke situs web Anda:",
"Share with me via ownCloud" : "Dibagikan pada saya via ownCloud",
"HTML Code:" : "Kode HTML:"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js
index 8f89da9484d..bf041f2b9b6 100644
--- a/apps/files_sharing/l10n/it.js
+++ b/apps/files_sharing/l10n/it.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s ha condiviso %1$s con te",
"You shared %1$s via link" : "Hai condiviso %1$s tramite collegamento",
"Shares" : "Condivisioni",
+ "Accept" : "Accetta",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Condividi con me attraverso il mio ID di cloud federata #ownCloud, vedi %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Condividi con me attraverso il mio ID di cloud federata #ownCloud",
"This share is password-protected" : "Questa condivione è protetta da password",
@@ -66,7 +67,7 @@ OC.L10N.register(
"Federated Cloud" : "Cloud federata",
"Your Federated Cloud ID:" : "Il tuo ID di cloud federata:",
"Share it:" : "Condividilo:",
- "Add it to your website:" : "Aggiungilo al tuo sito web:",
+ "Add to your website" : "Aggiungilo al tuo sito web",
"Share with me via ownCloud" : "Condividi con me tramite ownCloud",
"HTML Code:" : "Codice HTML:"
},
diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json
index cad5b0c7db0..34a10595f98 100644
--- a/apps/files_sharing/l10n/it.json
+++ b/apps/files_sharing/l10n/it.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s ha condiviso %1$s con te",
"You shared %1$s via link" : "Hai condiviso %1$s tramite collegamento",
"Shares" : "Condivisioni",
+ "Accept" : "Accetta",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Condividi con me attraverso il mio ID di cloud federata #ownCloud, vedi %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Condividi con me attraverso il mio ID di cloud federata #ownCloud",
"This share is password-protected" : "Questa condivione è protetta da password",
@@ -64,7 +65,7 @@
"Federated Cloud" : "Cloud federata",
"Your Federated Cloud ID:" : "Il tuo ID di cloud federata:",
"Share it:" : "Condividilo:",
- "Add it to your website:" : "Aggiungilo al tuo sito web:",
+ "Add to your website" : "Aggiungilo al tuo sito web",
"Share with me via ownCloud" : "Condividi con me tramite ownCloud",
"HTML Code:" : "Codice HTML:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js
index 73174dfeb84..413f4a2ac8c 100644
--- a/apps/files_sharing/l10n/ja.js
+++ b/apps/files_sharing/l10n/ja.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s は %1$s をあなたと共有しました",
"You shared %1$s via link" : "リンク経由で %1$s を共有しています",
"Shares" : "共有",
+ "Accept" : "承諾",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud の「クラウド連携ID」で私と共有できます。こちらを見てください。%s",
"Share with me through my #ownCloud Federated Cloud ID" : "#ownCloud の「クラウド連携ID」で私と共有できます。",
"This share is password-protected" : "この共有はパスワードで保護されています",
@@ -66,7 +67,6 @@ OC.L10N.register(
"Federated Cloud" : "クラウド連携",
"Your Federated Cloud ID:" : "あなたのクラウド連携ID:",
"Share it:" : "以下で共有:",
- "Add it to your website:" : "ウェブサイトに追加:",
"Share with me via ownCloud" : "OwnCloud経由で共有",
"HTML Code:" : "HTMLコード:"
},
diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json
index 79cd4f0bc36..65d762871de 100644
--- a/apps/files_sharing/l10n/ja.json
+++ b/apps/files_sharing/l10n/ja.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s は %1$s をあなたと共有しました",
"You shared %1$s via link" : "リンク経由で %1$s を共有しています",
"Shares" : "共有",
+ "Accept" : "承諾",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud の「クラウド連携ID」で私と共有できます。こちらを見てください。%s",
"Share with me through my #ownCloud Federated Cloud ID" : "#ownCloud の「クラウド連携ID」で私と共有できます。",
"This share is password-protected" : "この共有はパスワードで保護されています",
@@ -64,7 +65,6 @@
"Federated Cloud" : "クラウド連携",
"Your Federated Cloud ID:" : "あなたのクラウド連携ID:",
"Share it:" : "以下で共有:",
- "Add it to your website:" : "ウェブサイトに追加:",
"Share with me via ownCloud" : "OwnCloud経由で共有",
"HTML Code:" : "HTMLコード:"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js
index 638f750b2ef..2ad6c0422b1 100644
--- a/apps/files_sharing/l10n/ko.js
+++ b/apps/files_sharing/l10n/ko.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s 님이 내게 %1$s을(를) 공유함",
"You shared %1$s via link" : "내가 %1$s을(를) 링크로 공유함",
"Shares" : "공유",
+ "Accept" : "수락",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "내 #ownCloud 연합 클라우드 ID를 통해서 공유됨, 더 알아보기: %s",
"Share with me through my #ownCloud Federated Cloud ID" : "내 #ownCloud 연합 클라우드 ID를 통해서 공유됨",
"This share is password-protected" : "이 공유는 암호로 보호되어 있습니다",
@@ -66,7 +67,6 @@ OC.L10N.register(
"Federated Cloud" : "연합 클라우드",
"Your Federated Cloud ID:" : "내 연합 클라우드 ID:",
"Share it:" : "공유하기:",
- "Add it to your website:" : "웹 사이트에 다음을 추가하십시오:",
"Share with me via ownCloud" : "ownCloud로 나와 공유하기",
"HTML Code:" : "HTML 코드:"
},
diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json
index 36d69b0f763..d31bf0060dd 100644
--- a/apps/files_sharing/l10n/ko.json
+++ b/apps/files_sharing/l10n/ko.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s 님이 내게 %1$s을(를) 공유함",
"You shared %1$s via link" : "내가 %1$s을(를) 링크로 공유함",
"Shares" : "공유",
+ "Accept" : "수락",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "내 #ownCloud 연합 클라우드 ID를 통해서 공유됨, 더 알아보기: %s",
"Share with me through my #ownCloud Federated Cloud ID" : "내 #ownCloud 연합 클라우드 ID를 통해서 공유됨",
"This share is password-protected" : "이 공유는 암호로 보호되어 있습니다",
@@ -64,7 +65,6 @@
"Federated Cloud" : "연합 클라우드",
"Your Federated Cloud ID:" : "내 연합 클라우드 ID:",
"Share it:" : "공유하기:",
- "Add it to your website:" : "웹 사이트에 다음을 추가하십시오:",
"Share with me via ownCloud" : "ownCloud로 나와 공유하기",
"HTML Code:" : "HTML 코드:"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files_sharing/l10n/nb_NO.js b/apps/files_sharing/l10n/nb_NO.js
index 4b76dab034c..4df003d0e4d 100644
--- a/apps/files_sharing/l10n/nb_NO.js
+++ b/apps/files_sharing/l10n/nb_NO.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s delte %1$s med deg",
"You shared %1$s via link" : "Du delte %1$s via lenke",
"Shares" : "Delinger",
+ "Accept" : "Aksepter",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med meg gjennom min #ownCloud ID for sammenknyttet sky, se %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Del med meg gjennom min #ownCloud ID for sammenknyttet sky",
"This share is password-protected" : "Denne delingen er passordbeskyttet",
@@ -66,7 +67,6 @@ OC.L10N.register(
"Federated Cloud" : "Sammenknyttet sky",
"Your Federated Cloud ID:" : "Din ID for sammenknyttet sky:",
"Share it:" : "Del den:",
- "Add it to your website:" : "Legg den på websiden din:",
"Share with me via ownCloud" : "Del med meg via ownCloud",
"HTML Code:" : "HTML-kode:"
},
diff --git a/apps/files_sharing/l10n/nb_NO.json b/apps/files_sharing/l10n/nb_NO.json
index c466d22e3de..079f1e854ac 100644
--- a/apps/files_sharing/l10n/nb_NO.json
+++ b/apps/files_sharing/l10n/nb_NO.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s delte %1$s med deg",
"You shared %1$s via link" : "Du delte %1$s via lenke",
"Shares" : "Delinger",
+ "Accept" : "Aksepter",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Del med meg gjennom min #ownCloud ID for sammenknyttet sky, se %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Del med meg gjennom min #ownCloud ID for sammenknyttet sky",
"This share is password-protected" : "Denne delingen er passordbeskyttet",
@@ -64,7 +65,6 @@
"Federated Cloud" : "Sammenknyttet sky",
"Your Federated Cloud ID:" : "Din ID for sammenknyttet sky:",
"Share it:" : "Del den:",
- "Add it to your website:" : "Legg den på websiden din:",
"Share with me via ownCloud" : "Del med meg via ownCloud",
"HTML Code:" : "HTML-kode:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js
index f2541545680..7468819fda7 100644
--- a/apps/files_sharing/l10n/nl.js
+++ b/apps/files_sharing/l10n/nl.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s deelde %1$s met u",
"You shared %1$s via link" : "U deelde %1$s via link",
"Shares" : "Gedeeld",
+ "Accept" : "Accepteren",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Deel met mij via mijn #ownCloud federated Cloud ID, zie %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Deel met mij via mijn #ownCloud federated Cloud ID",
"This share is password-protected" : "Deze share is met een wachtwoord beveiligd",
@@ -66,7 +67,7 @@ OC.L10N.register(
"Federated Cloud" : "Gefedereerde Cloud",
"Your Federated Cloud ID:" : "Uw Federated Cloud ID:",
"Share it:" : "Deel het:",
- "Add it to your website:" : "Voeg het toe aan uw website:",
+ "Add to your website" : "Toevoegen aan uw website",
"Share with me via ownCloud" : "Deel met mij via ownCloud",
"HTML Code:" : "HTML Code:"
},
diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json
index 193f787b835..57df2d5c155 100644
--- a/apps/files_sharing/l10n/nl.json
+++ b/apps/files_sharing/l10n/nl.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s deelde %1$s met u",
"You shared %1$s via link" : "U deelde %1$s via link",
"Shares" : "Gedeeld",
+ "Accept" : "Accepteren",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Deel met mij via mijn #ownCloud federated Cloud ID, zie %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Deel met mij via mijn #ownCloud federated Cloud ID",
"This share is password-protected" : "Deze share is met een wachtwoord beveiligd",
@@ -64,7 +65,7 @@
"Federated Cloud" : "Gefedereerde Cloud",
"Your Federated Cloud ID:" : "Uw Federated Cloud ID:",
"Share it:" : "Deel het:",
- "Add it to your website:" : "Voeg het toe aan uw website:",
+ "Add to your website" : "Toevoegen aan uw website",
"Share with me via ownCloud" : "Deel met mij via ownCloud",
"HTML Code:" : "HTML Code:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js
index a0efb5ff607..62b128844df 100644
--- a/apps/files_sharing/l10n/pl.js
+++ b/apps/files_sharing/l10n/pl.js
@@ -30,6 +30,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s współdzieli %1$s z Tobą",
"You shared %1$s via link" : "Udostępniasz %1$s przez link",
"Shares" : "Udziały",
+ "Accept" : "Akceptuj",
"This share is password-protected" : "Udział ten jest chroniony hasłem",
"The password is wrong. Try again." : "To hasło jest niewłaściwe. Spróbuj ponownie.",
"Password" : "Hasło",
diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json
index 6ffad562b7f..76052b1dfb7 100644
--- a/apps/files_sharing/l10n/pl.json
+++ b/apps/files_sharing/l10n/pl.json
@@ -28,6 +28,7 @@
"%2$s shared %1$s with you" : "%2$s współdzieli %1$s z Tobą",
"You shared %1$s via link" : "Udostępniasz %1$s przez link",
"Shares" : "Udziały",
+ "Accept" : "Akceptuj",
"This share is password-protected" : "Udział ten jest chroniony hasłem",
"The password is wrong. Try again." : "To hasło jest niewłaściwe. Spróbuj ponownie.",
"Password" : "Hasło",
diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js
index d8b3bc9e81e..064e611e11e 100644
--- a/apps/files_sharing/l10n/pt_BR.js
+++ b/apps/files_sharing/l10n/pt_BR.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s compartilhou %1$s com você",
"You shared %1$s via link" : "Você compartilhou %1$s via link",
"Shares" : "Compartilhamentos",
+ "Accept" : "Aceitar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartilhe comigo através do meu #ownCloud Nuvem Federados ID, veja %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Compartilhe comigo através do meu #ownCloud Nuvem Federados ID",
"This share is password-protected" : "Este compartilhamento esta protegido por senha",
@@ -66,7 +67,7 @@ OC.L10N.register(
"Federated Cloud" : "Nuvem Conglomerada",
"Your Federated Cloud ID:" : "Seu Federados Nuvem ID:",
"Share it:" : "Compartilhe:",
- "Add it to your website:" : "Adicione ao seu site:",
+ "Add to your website" : "Adicione ao seu website",
"Share with me via ownCloud" : "Compartilhe comigo via ownCloud",
"HTML Code:" : "Código HTML:"
},
diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json
index 80d75ebd647..c1b4c255912 100644
--- a/apps/files_sharing/l10n/pt_BR.json
+++ b/apps/files_sharing/l10n/pt_BR.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s compartilhou %1$s com você",
"You shared %1$s via link" : "Você compartilhou %1$s via link",
"Shares" : "Compartilhamentos",
+ "Accept" : "Aceitar",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Compartilhe comigo através do meu #ownCloud Nuvem Federados ID, veja %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Compartilhe comigo através do meu #ownCloud Nuvem Federados ID",
"This share is password-protected" : "Este compartilhamento esta protegido por senha",
@@ -64,7 +65,7 @@
"Federated Cloud" : "Nuvem Conglomerada",
"Your Federated Cloud ID:" : "Seu Federados Nuvem ID:",
"Share it:" : "Compartilhe:",
- "Add it to your website:" : "Adicione ao seu site:",
+ "Add to your website" : "Adicione ao seu website",
"Share with me via ownCloud" : "Compartilhe comigo via ownCloud",
"HTML Code:" : "Código HTML:"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
diff --git a/apps/files_sharing/l10n/pt_PT.js b/apps/files_sharing/l10n/pt_PT.js
index 8e9afdd0626..dc501ebe048 100644
--- a/apps/files_sharing/l10n/pt_PT.js
+++ b/apps/files_sharing/l10n/pt_PT.js
@@ -4,41 +4,46 @@ OC.L10N.register(
"Server to server sharing is not enabled on this server" : "A partilha entre servidores não se encontra disponível neste servidor",
"The mountpoint name contains invalid characters." : "O nome do ponto de montagem contém carateres inválidos.",
"Invalid or untrusted SSL certificate" : "Certificado SSL inválido ou não confiável",
- "Could not authenticate to remote share, password might be wrong" : "Não foi possível autenticar para partilha remota, a palavra-passe pode estar errada",
+ "Could not authenticate to remote share, password might be wrong" : "Não foi possível autenticar para a partilha remota, a palavra-passe poderá estar errada",
"Storage not valid" : "Armazenamento inválido",
"Couldn't add remote share" : "Não foi possível adicionar a partilha remota",
"Shared with you" : "Partilhado consigo ",
"Shared with others" : "Partilhado com outros",
"Shared by link" : "Partilhado pela hiperligação",
"Nothing shared with you yet" : "Ainda não foi partilhado nada consigo",
- "Files and folders others share with you will show up here" : "Os ficheiros e pastas que os outros partilham consigo, serão mostradas aqui",
- "Nothing shared yet" : "Ainda não foi nada paratilhado",
- "Files and folders you share will show up here" : "Os ficheiros e pastas que você partilha serão mostrados aqui",
+ "Files and folders others share with you will show up here" : "Os ficheiros e pastas que os outros partilham consigo, serão mostradaos aqui",
+ "Nothing shared yet" : "Ainda não foi partilhado nada",
+ "Files and folders you share will show up here" : "Os ficheiros e as pastas que partilha serão mostrados aqui",
"No shared links" : "Sem hiperligações partilhadas",
- "Files and folders you share by link will show up here" : "Os ficheiros e pastas que você partilha por link serão mostrados aqui",
+ "Files and folders you share by link will show up here" : "Os ficheiros e as pastas que partilha com esta hiperligação, serão mostrados aqui",
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Deseja adicionar a partilha remota {nome} de {proprietário}@{remoto}?",
"Remote share" : "Partilha remota",
"Remote share password" : "Senha da partilha remota",
"Cancel" : "Cancelar",
"Add remote share" : "Adicionar partilha remota",
- "No ownCloud installation (7 or higher) found at {remote}" : "Nenhuma instalação do OwnCloud (7 ou superior) encontrada em {remote}",
+ "You can upload into this folder" : "Pode enviar para esta pasta",
+ "No ownCloud installation (7 or higher) found at {remote}" : "Não foi encontrada nenhuma instalação OwnCloud (7 ou superior) em {remote}",
"Invalid ownCloud url" : "Url ownCloud inválido",
"Shared by" : "Partilhado por",
"Sharing" : "Partilha",
"A file or folder has been <strong>shared</strong>" : "Foi <strong>partilhado</strong> um ficheiro ou uma pasta",
"A file or folder was shared from <strong>another server</strong>" : "Um ficheiro ou pasta foi partilhado a partir de <strong>outro servidor</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Um ficheiro ou pasta partilhada publicamente foi <strong>descarregado</strong>",
- "You received a new remote share from %s" : "Você recebeu uma nova partilha remota de %s",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Foi <strong>transferido</strong> um ficheiro ou pasta partilhada publicamente",
+ "You received a new remote share %2$s from %1$s" : "Recebeu uma nova partilha remota %2$s de %1$s",
+ "You received a new remote share from %s" : "Recebeu uma nova partilha remota de %s",
"%1$s accepted remote share %2$s" : "%1$s aceitou a partilha remota %2$s",
"%1$s declined remote share %2$s" : "%1$s rejeitou a partilha remota %2$s",
- "%1$s unshared %2$s from you" : "%1$s retirou a partilha %2$s contigo",
- "Public shared folder %1$s was downloaded" : "A pasta partilhada publicamente %1$s foi descarregada",
- "Public shared file %1$s was downloaded" : "O ficheiro partilhado publicamente %1$s foi descarregado",
+ "%1$s unshared %2$s from you" : "%1$s cancelou a partilha %2$s consigo",
+ "Public shared folder %1$s was downloaded" : "A pasta partilhada publicamente %1$s foi transferida",
+ "Public shared file %1$s was downloaded" : "Foi transferido o ficheiro %1$s partilhado publicamente",
"You shared %1$s with %2$s" : "Partilhou %1$s com %2$s",
"You shared %1$s with group %2$s" : "Partilhou %1$s com o grupo %2$s",
"%2$s shared %1$s with you" : "%2$s partilhou %1$s consigo",
"You shared %1$s via link" : "Partilhou %1$s através de uma hiperligação",
"Shares" : "Partilhas",
+ "Accept" : "Aceitar",
+ "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partilhe comigo através da minha Id. da Nuvem Federada #ownCloud, veja %s",
+ "Share with me through my #ownCloud Federated Cloud ID" : "Partilhe comigo através da minha Id. da Nuvem Federada #ownCloud",
"This share is password-protected" : "Esta partilha está protegida por senha",
"The password is wrong. Try again." : "A senha está errada. Por favor, tente de novo.",
"Password" : "Senha",
@@ -55,10 +60,14 @@ OC.L10N.register(
"Download" : "Transferir",
"Download %s" : "Transferir %s",
"Direct link" : "Hiperligação direta",
- "Federated Cloud Sharing" : "Partilha de Cloud Federada",
+ "Federated Cloud Sharing" : "Partilha de Nuvem Federada",
"Open documentation" : "Abrir documentação",
"Allow users on this server to send shares to other servers" : "Permitir utilizadores neste servidor para enviar as partilhas para outros servidores",
"Allow users on this server to receive shares from other servers" : "Permitir utilizadores neste servidor para receber as partilhas de outros servidores",
+ "Federated Cloud" : "Nuvem Federada",
+ "Your Federated Cloud ID:" : "A Sua Id. da Nuvem Federada",
+ "Share it:" : "Partilhe:",
+ "Add to your website" : "Adicione ao seu sítio da Web",
"Share with me via ownCloud" : "Partilhe comigo via ownCloud",
"HTML Code:" : "Código HTML:"
},
diff --git a/apps/files_sharing/l10n/pt_PT.json b/apps/files_sharing/l10n/pt_PT.json
index 9a66c73a681..9c5bc14e610 100644
--- a/apps/files_sharing/l10n/pt_PT.json
+++ b/apps/files_sharing/l10n/pt_PT.json
@@ -2,41 +2,46 @@
"Server to server sharing is not enabled on this server" : "A partilha entre servidores não se encontra disponível neste servidor",
"The mountpoint name contains invalid characters." : "O nome do ponto de montagem contém carateres inválidos.",
"Invalid or untrusted SSL certificate" : "Certificado SSL inválido ou não confiável",
- "Could not authenticate to remote share, password might be wrong" : "Não foi possível autenticar para partilha remota, a palavra-passe pode estar errada",
+ "Could not authenticate to remote share, password might be wrong" : "Não foi possível autenticar para a partilha remota, a palavra-passe poderá estar errada",
"Storage not valid" : "Armazenamento inválido",
"Couldn't add remote share" : "Não foi possível adicionar a partilha remota",
"Shared with you" : "Partilhado consigo ",
"Shared with others" : "Partilhado com outros",
"Shared by link" : "Partilhado pela hiperligação",
"Nothing shared with you yet" : "Ainda não foi partilhado nada consigo",
- "Files and folders others share with you will show up here" : "Os ficheiros e pastas que os outros partilham consigo, serão mostradas aqui",
- "Nothing shared yet" : "Ainda não foi nada paratilhado",
- "Files and folders you share will show up here" : "Os ficheiros e pastas que você partilha serão mostrados aqui",
+ "Files and folders others share with you will show up here" : "Os ficheiros e pastas que os outros partilham consigo, serão mostradaos aqui",
+ "Nothing shared yet" : "Ainda não foi partilhado nada",
+ "Files and folders you share will show up here" : "Os ficheiros e as pastas que partilha serão mostrados aqui",
"No shared links" : "Sem hiperligações partilhadas",
- "Files and folders you share by link will show up here" : "Os ficheiros e pastas que você partilha por link serão mostrados aqui",
+ "Files and folders you share by link will show up here" : "Os ficheiros e as pastas que partilha com esta hiperligação, serão mostrados aqui",
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Deseja adicionar a partilha remota {nome} de {proprietário}@{remoto}?",
"Remote share" : "Partilha remota",
"Remote share password" : "Senha da partilha remota",
"Cancel" : "Cancelar",
"Add remote share" : "Adicionar partilha remota",
- "No ownCloud installation (7 or higher) found at {remote}" : "Nenhuma instalação do OwnCloud (7 ou superior) encontrada em {remote}",
+ "You can upload into this folder" : "Pode enviar para esta pasta",
+ "No ownCloud installation (7 or higher) found at {remote}" : "Não foi encontrada nenhuma instalação OwnCloud (7 ou superior) em {remote}",
"Invalid ownCloud url" : "Url ownCloud inválido",
"Shared by" : "Partilhado por",
"Sharing" : "Partilha",
"A file or folder has been <strong>shared</strong>" : "Foi <strong>partilhado</strong> um ficheiro ou uma pasta",
"A file or folder was shared from <strong>another server</strong>" : "Um ficheiro ou pasta foi partilhado a partir de <strong>outro servidor</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Um ficheiro ou pasta partilhada publicamente foi <strong>descarregado</strong>",
- "You received a new remote share from %s" : "Você recebeu uma nova partilha remota de %s",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Foi <strong>transferido</strong> um ficheiro ou pasta partilhada publicamente",
+ "You received a new remote share %2$s from %1$s" : "Recebeu uma nova partilha remota %2$s de %1$s",
+ "You received a new remote share from %s" : "Recebeu uma nova partilha remota de %s",
"%1$s accepted remote share %2$s" : "%1$s aceitou a partilha remota %2$s",
"%1$s declined remote share %2$s" : "%1$s rejeitou a partilha remota %2$s",
- "%1$s unshared %2$s from you" : "%1$s retirou a partilha %2$s contigo",
- "Public shared folder %1$s was downloaded" : "A pasta partilhada publicamente %1$s foi descarregada",
- "Public shared file %1$s was downloaded" : "O ficheiro partilhado publicamente %1$s foi descarregado",
+ "%1$s unshared %2$s from you" : "%1$s cancelou a partilha %2$s consigo",
+ "Public shared folder %1$s was downloaded" : "A pasta partilhada publicamente %1$s foi transferida",
+ "Public shared file %1$s was downloaded" : "Foi transferido o ficheiro %1$s partilhado publicamente",
"You shared %1$s with %2$s" : "Partilhou %1$s com %2$s",
"You shared %1$s with group %2$s" : "Partilhou %1$s com o grupo %2$s",
"%2$s shared %1$s with you" : "%2$s partilhou %1$s consigo",
"You shared %1$s via link" : "Partilhou %1$s através de uma hiperligação",
"Shares" : "Partilhas",
+ "Accept" : "Aceitar",
+ "Share with me through my #ownCloud Federated Cloud ID, see %s" : "Partilhe comigo através da minha Id. da Nuvem Federada #ownCloud, veja %s",
+ "Share with me through my #ownCloud Federated Cloud ID" : "Partilhe comigo através da minha Id. da Nuvem Federada #ownCloud",
"This share is password-protected" : "Esta partilha está protegida por senha",
"The password is wrong. Try again." : "A senha está errada. Por favor, tente de novo.",
"Password" : "Senha",
@@ -53,10 +58,14 @@
"Download" : "Transferir",
"Download %s" : "Transferir %s",
"Direct link" : "Hiperligação direta",
- "Federated Cloud Sharing" : "Partilha de Cloud Federada",
+ "Federated Cloud Sharing" : "Partilha de Nuvem Federada",
"Open documentation" : "Abrir documentação",
"Allow users on this server to send shares to other servers" : "Permitir utilizadores neste servidor para enviar as partilhas para outros servidores",
"Allow users on this server to receive shares from other servers" : "Permitir utilizadores neste servidor para receber as partilhas de outros servidores",
+ "Federated Cloud" : "Nuvem Federada",
+ "Your Federated Cloud ID:" : "A Sua Id. da Nuvem Federada",
+ "Share it:" : "Partilhe:",
+ "Add to your website" : "Adicione ao seu sítio da Web",
"Share with me via ownCloud" : "Partilhe comigo via ownCloud",
"HTML Code:" : "Código HTML:"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js
index df1ee8603b4..2d89b5e3102 100644
--- a/apps/files_sharing/l10n/ru.js
+++ b/apps/files_sharing/l10n/ru.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s поделился с вами %1$s",
"You shared %1$s via link" : "Вы поделились %1$s с помощью ссылки",
"Shares" : "События обмена файлами",
+ "Accept" : "Принять",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Поделитесь со мной через мой #ownCloud ID в объединении облачных хранилищ, смотрите %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Поделитесь со мной через мой #ownCloud ID в объединении облачных хранилищ",
"This share is password-protected" : "Общий ресурс защищен паролем",
@@ -66,7 +67,6 @@ OC.L10N.register(
"Federated Cloud" : "Объединение облачных хранилищ",
"Your Federated Cloud ID:" : "Ваш ID в объединении облачных хранилищ:",
"Share it:" : "Поделись этим:",
- "Add it to your website:" : "Добавь это на свой сайт:",
"Share with me via ownCloud" : "Поделитесь мной через ownCloud",
"HTML Code:" : "HTML код:"
},
diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json
index d533d01cb01..0f7a152f536 100644
--- a/apps/files_sharing/l10n/ru.json
+++ b/apps/files_sharing/l10n/ru.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s поделился с вами %1$s",
"You shared %1$s via link" : "Вы поделились %1$s с помощью ссылки",
"Shares" : "События обмена файлами",
+ "Accept" : "Принять",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Поделитесь со мной через мой #ownCloud ID в объединении облачных хранилищ, смотрите %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Поделитесь со мной через мой #ownCloud ID в объединении облачных хранилищ",
"This share is password-protected" : "Общий ресурс защищен паролем",
@@ -64,7 +65,6 @@
"Federated Cloud" : "Объединение облачных хранилищ",
"Your Federated Cloud ID:" : "Ваш ID в объединении облачных хранилищ:",
"Share it:" : "Поделись этим:",
- "Add it to your website:" : "Добавь это на свой сайт:",
"Share with me via ownCloud" : "Поделитесь мной через ownCloud",
"HTML Code:" : "HTML код:"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
diff --git a/apps/files_sharing/l10n/sk_SK.js b/apps/files_sharing/l10n/sk_SK.js
index cfefda0ba8c..677b4f24e21 100644
--- a/apps/files_sharing/l10n/sk_SK.js
+++ b/apps/files_sharing/l10n/sk_SK.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s vám zdieľal %1$s",
"You shared %1$s via link" : "Zdieľate %1$s prostredníctvom odkazu",
"Shares" : "Zdieľanie",
+ "Accept" : "Schváliť",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Zdieľajte so mnou pomocou môjho #ownCloud Federated Cloud ID, viac n %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Zdieľajte so mnou pomocou môjho #ownCloud Federated Cloud ID",
"This share is password-protected" : "Toto zdieľanie je chránené heslom",
@@ -65,7 +66,6 @@ OC.L10N.register(
"Allow users on this server to receive shares from other servers" : "Povoliť používateľom z tohoto servera prijímať zdieľania z iných serverov",
"Your Federated Cloud ID:" : "Vaše združené Cloud ID",
"Share it:" : "Zdieľať:",
- "Add it to your website:" : "Pridať na svoju webstránku:",
"Share with me via ownCloud" : "Zdieľané so mnou cez ownCloud",
"HTML Code:" : "HTML kód:"
},
diff --git a/apps/files_sharing/l10n/sk_SK.json b/apps/files_sharing/l10n/sk_SK.json
index f9b51d1dd76..f4f6cc3798b 100644
--- a/apps/files_sharing/l10n/sk_SK.json
+++ b/apps/files_sharing/l10n/sk_SK.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s vám zdieľal %1$s",
"You shared %1$s via link" : "Zdieľate %1$s prostredníctvom odkazu",
"Shares" : "Zdieľanie",
+ "Accept" : "Schváliť",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "Zdieľajte so mnou pomocou môjho #ownCloud Federated Cloud ID, viac n %s",
"Share with me through my #ownCloud Federated Cloud ID" : "Zdieľajte so mnou pomocou môjho #ownCloud Federated Cloud ID",
"This share is password-protected" : "Toto zdieľanie je chránené heslom",
@@ -63,7 +64,6 @@
"Allow users on this server to receive shares from other servers" : "Povoliť používateľom z tohoto servera prijímať zdieľania z iných serverov",
"Your Federated Cloud ID:" : "Vaše združené Cloud ID",
"Share it:" : "Zdieľať:",
- "Add it to your website:" : "Pridať na svoju webstránku:",
"Share with me via ownCloud" : "Zdieľané so mnou cez ownCloud",
"HTML Code:" : "HTML kód:"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
diff --git a/apps/files_sharing/l10n/sl.js b/apps/files_sharing/l10n/sl.js
index d613f169081..3b6622aedf2 100644
--- a/apps/files_sharing/l10n/sl.js
+++ b/apps/files_sharing/l10n/sl.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "Uporabnik %2$s je omogočil souporabo %1$s",
"You shared %1$s via link" : "Omogočili ste souporabo %1$s preko povezave",
"Shares" : "Souporaba",
+ "Accept" : "Sprejmi",
"This share is password-protected" : "To mesto je zaščiteno z geslom.",
"The password is wrong. Try again." : "Geslo je napačno. Poskusite znova.",
"Password" : "Geslo",
diff --git a/apps/files_sharing/l10n/sl.json b/apps/files_sharing/l10n/sl.json
index fb00547388b..2d443de13d9 100644
--- a/apps/files_sharing/l10n/sl.json
+++ b/apps/files_sharing/l10n/sl.json
@@ -37,6 +37,7 @@
"%2$s shared %1$s with you" : "Uporabnik %2$s je omogočil souporabo %1$s",
"You shared %1$s via link" : "Omogočili ste souporabo %1$s preko povezave",
"Shares" : "Souporaba",
+ "Accept" : "Sprejmi",
"This share is password-protected" : "To mesto je zaščiteno z geslom.",
"The password is wrong. Try again." : "Geslo je napačno. Poskusite znova.",
"Password" : "Geslo",
diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js
index 5676cc5a00c..ddb15bd2183 100644
--- a/apps/files_sharing/l10n/sr.js
+++ b/apps/files_sharing/l10n/sr.js
@@ -40,6 +40,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s подели %1$s са вама",
"You shared %1$s via link" : "Поделили сте %1$s путем везе",
"Shares" : "Дељења",
+ "Accept" : "Прихвати",
"This share is password-protected" : "Дељење је заштићено лозинком",
"The password is wrong. Try again." : "Лозинка је погрешна. Покушајте поново.",
"Password" : "Лозинка",
diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json
index fca522a1039..dc44b1fbb60 100644
--- a/apps/files_sharing/l10n/sr.json
+++ b/apps/files_sharing/l10n/sr.json
@@ -38,6 +38,7 @@
"%2$s shared %1$s with you" : "%2$s подели %1$s са вама",
"You shared %1$s via link" : "Поделили сте %1$s путем везе",
"Shares" : "Дељења",
+ "Accept" : "Прихвати",
"This share is password-protected" : "Дељење је заштићено лозинком",
"The password is wrong. Try again." : "Лозинка је погрешна. Покушајте поново.",
"Password" : "Лозинка",
diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js
index 77b1171d9b2..9b1d9ccb591 100644
--- a/apps/files_sharing/l10n/sv.js
+++ b/apps/files_sharing/l10n/sv.js
@@ -36,6 +36,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s delade %1$s med dig",
"You shared %1$s via link" : "Du delade %1$s via länk",
"Shares" : "Delningar",
+ "Accept" : "Acceptera",
"This share is password-protected" : "Den här delningen är lösenordsskyddad",
"The password is wrong. Try again." : "Lösenordet är fel. Försök igen.",
"Password" : "Lösenord",
diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json
index a8bb9afd01f..0d13069dfba 100644
--- a/apps/files_sharing/l10n/sv.json
+++ b/apps/files_sharing/l10n/sv.json
@@ -34,6 +34,7 @@
"%2$s shared %1$s with you" : "%2$s delade %1$s med dig",
"You shared %1$s via link" : "Du delade %1$s via länk",
"Shares" : "Delningar",
+ "Accept" : "Acceptera",
"This share is password-protected" : "Den här delningen är lösenordsskyddad",
"The password is wrong. Try again." : "Lösenordet är fel. Försök igen.",
"Password" : "Lösenord",
diff --git a/apps/files_sharing/l10n/th_TH.js b/apps/files_sharing/l10n/th_TH.js
index 86175f5a627..ea3c8ac7296 100644
--- a/apps/files_sharing/l10n/th_TH.js
+++ b/apps/files_sharing/l10n/th_TH.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s ถูกแชร์ %1$s กับคุณ",
"You shared %1$s via link" : "คุณแชร์ %1$s ผ่านลิงค์",
"Shares" : "แชร์",
+ "Accept" : "ยอมรับ",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "แชร์ร่วมกับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์ในเครือ สามารถดูได้ที่ %s",
"Share with me through my #ownCloud Federated Cloud ID" : "แชร์ร่วมกับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์ในเครือ",
"This share is password-protected" : "นี้แชร์การป้องกันด้วยรหัสผ่าน",
@@ -66,7 +67,7 @@ OC.L10N.register(
"Federated Cloud" : "สหพันธ์คลาวด์",
"Your Federated Cloud ID:" : "ไอดีคลาวด์ของคุณ:",
"Share it:" : "แชร์มัน:",
- "Add it to your website:" : "เพิ่มไปยังเว็บไซต์ของคุณ:",
+ "Add to your website" : "เพิ่มไปยังเว็บไซต์",
"Share with me via ownCloud" : "แชร์ร่วมกับฉันผ่าน ownCloud",
"HTML Code:" : "โค้ด HTML:"
},
diff --git a/apps/files_sharing/l10n/th_TH.json b/apps/files_sharing/l10n/th_TH.json
index 5704a59336c..196c088abd7 100644
--- a/apps/files_sharing/l10n/th_TH.json
+++ b/apps/files_sharing/l10n/th_TH.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s ถูกแชร์ %1$s กับคุณ",
"You shared %1$s via link" : "คุณแชร์ %1$s ผ่านลิงค์",
"Shares" : "แชร์",
+ "Accept" : "ยอมรับ",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "แชร์ร่วมกับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์ในเครือ สามารถดูได้ที่ %s",
"Share with me through my #ownCloud Federated Cloud ID" : "แชร์ร่วมกับฉันผ่าน #ownCloud ด้วยไอดีคลาวด์ในเครือ",
"This share is password-protected" : "นี้แชร์การป้องกันด้วยรหัสผ่าน",
@@ -64,7 +65,7 @@
"Federated Cloud" : "สหพันธ์คลาวด์",
"Your Federated Cloud ID:" : "ไอดีคลาวด์ของคุณ:",
"Share it:" : "แชร์มัน:",
- "Add it to your website:" : "เพิ่มไปยังเว็บไซต์ของคุณ:",
+ "Add to your website" : "เพิ่มไปยังเว็บไซต์",
"Share with me via ownCloud" : "แชร์ร่วมกับฉันผ่าน ownCloud",
"HTML Code:" : "โค้ด HTML:"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js
index ce96af88e1e..bb00dd4295a 100644
--- a/apps/files_sharing/l10n/tr.js
+++ b/apps/files_sharing/l10n/tr.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"%2$s shared %1$s with you" : "%2$s sizinle %1$s dosyasını paylaştı",
"You shared %1$s via link" : "Bağlantı ile %1$s paylaşımını yaptınız",
"Shares" : "Paylaşımlar",
+ "Accept" : "Kabul et",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud Birleşik Bulut kimliğim ile paylaşıldı, bkz %s",
"Share with me through my #ownCloud Federated Cloud ID" : "#ownCloud Birleşmiş Bulut kimliğim ile paylaşıldı",
"This share is password-protected" : "Bu paylaşım parola korumalı",
@@ -66,7 +67,6 @@ OC.L10N.register(
"Federated Cloud" : "Birleşmiş Bulut",
"Your Federated Cloud ID:" : "Birleşmiş Bulut Kimliğiniz:",
"Share it:" : "Paylaşın:",
- "Add it to your website:" : "Web sitenize ekleyin:",
"Share with me via ownCloud" : "Benimle ownCloud aracılığıyla paylaşıldı",
"HTML Code:" : "HTML Kodu:"
},
diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json
index 8705219ab2e..1371bf37447 100644
--- a/apps/files_sharing/l10n/tr.json
+++ b/apps/files_sharing/l10n/tr.json
@@ -39,6 +39,7 @@
"%2$s shared %1$s with you" : "%2$s sizinle %1$s dosyasını paylaştı",
"You shared %1$s via link" : "Bağlantı ile %1$s paylaşımını yaptınız",
"Shares" : "Paylaşımlar",
+ "Accept" : "Kabul et",
"Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud Birleşik Bulut kimliğim ile paylaşıldı, bkz %s",
"Share with me through my #ownCloud Federated Cloud ID" : "#ownCloud Birleşmiş Bulut kimliğim ile paylaşıldı",
"This share is password-protected" : "Bu paylaşım parola korumalı",
@@ -64,7 +65,6 @@
"Federated Cloud" : "Birleşmiş Bulut",
"Your Federated Cloud ID:" : "Birleşmiş Bulut Kimliğiniz:",
"Share it:" : "Paylaşın:",
- "Add it to your website:" : "Web sitenize ekleyin:",
"Share with me via ownCloud" : "Benimle ownCloud aracılığıyla paylaşıldı",
"HTML Code:" : "HTML Kodu:"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
diff --git a/apps/files_sharing/l10n/uk.js b/apps/files_sharing/l10n/uk.js
index 37c838b6aa4..80c28c8a936 100644
--- a/apps/files_sharing/l10n/uk.js
+++ b/apps/files_sharing/l10n/uk.js
@@ -61,7 +61,6 @@ OC.L10N.register(
"Allow users on this server to send shares to other servers" : "Дозволити користувачам цього сервера публікувати на інших серверах",
"Allow users on this server to receive shares from other servers" : "Дозволити користувачам на цьому сервері отримувати публікації з інших серверів",
"Share it:" : "Поділитися цим:",
- "Add it to your website:" : "Додати до вашого сайту:",
"HTML Code:" : "HTML код:"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_sharing/l10n/uk.json b/apps/files_sharing/l10n/uk.json
index b062a761fbb..0b5de75ac5a 100644
--- a/apps/files_sharing/l10n/uk.json
+++ b/apps/files_sharing/l10n/uk.json
@@ -59,7 +59,6 @@
"Allow users on this server to send shares to other servers" : "Дозволити користувачам цього сервера публікувати на інших серверах",
"Allow users on this server to receive shares from other servers" : "Дозволити користувачам на цьому сервері отримувати публікації з інших серверів",
"Share it:" : "Поділитися цим:",
- "Add it to your website:" : "Додати до вашого сайту:",
"HTML Code:" : "HTML код:"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php
index c25dc92409f..377c9f02253 100644
--- a/apps/files_sharing/lib/cache.php
+++ b/apps/files_sharing/lib/cache.php
@@ -47,6 +47,7 @@ class Shared_Cache extends Cache {
* @param \OC\Files\Storage\Shared $storage
*/
public function __construct($storage) {
+ parent::__construct($storage);
$this->storage = $storage;
}
@@ -94,6 +95,7 @@ class Shared_Cache extends Cache {
* @return array|false
*/
public function get($file) {
+ $mimetypeLoader = \OC::$server->getMimeTypeLoader();
if (is_string($file)) {
$cache = $this->getSourceCache($file);
if ($cache) {
@@ -130,8 +132,8 @@ class Shared_Cache extends Cache {
$data['mtime'] = (int)$data['mtime'];
$data['storage_mtime'] = (int)$data['storage_mtime'];
$data['encrypted'] = (bool)$data['encrypted'];
- $data['mimetype'] = $this->getMimetype($data['mimetype']);
- $data['mimepart'] = $this->getMimetype($data['mimepart']);
+ $data['mimetype'] = $mimetypeLoader->getMimetypeById($data['mimetype']);
+ $data['mimepart'] = $mimetypeLoader->getMimetypeById($data['mimepart']);
if ($data['storage_mtime'] === 0) {
$data['storage_mtime'] = $data['mtime'];
}
diff --git a/apps/files_sharing/lib/external/manager.php b/apps/files_sharing/lib/external/manager.php
index 67a26c096c2..17142e95099 100644
--- a/apps/files_sharing/lib/external/manager.php
+++ b/apps/files_sharing/lib/external/manager.php
@@ -28,6 +28,7 @@ namespace OCA\Files_Sharing\External;
use OC\Files\Filesystem;
use OCP\Files;
+use OC\Notification\IManager;
class Manager {
const STORAGE = '\OCA\Files_Sharing\External\Storage';
@@ -58,19 +59,26 @@ class Manager {
private $httpHelper;
/**
+ * @var IManager
+ */
+ private $notificationManager;
+
+ /**
* @param \OCP\IDBConnection $connection
* @param \OC\Files\Mount\Manager $mountManager
* @param \OCP\Files\Storage\IStorageFactory $storageLoader
* @param \OC\HTTPHelper $httpHelper
+ * @param IManager $notificationManager
* @param string $uid
*/
public function __construct(\OCP\IDBConnection $connection, \OC\Files\Mount\Manager $mountManager,
- \OCP\Files\Storage\IStorageFactory $storageLoader, \OC\HTTPHelper $httpHelper, $uid) {
+ \OCP\Files\Storage\IStorageFactory $storageLoader, \OC\HTTPHelper $httpHelper, IManager $notificationManager, $uid) {
$this->connection = $connection;
$this->mountManager = $mountManager;
$this->storageLoader = $storageLoader;
$this->httpHelper = $httpHelper;
$this->uid = $uid;
+ $this->notificationManager = $notificationManager;
}
/**
@@ -206,6 +214,7 @@ class Manager {
$acceptShare->execute(array(1, $mountPoint, $hash, $id, $this->uid));
$this->sendFeedbackToRemote($share['remote'], $share['share_token'], $share['remote_id'], 'accept');
+ $this->scrapNotification($share['remote_id']);
return true;
}
@@ -228,6 +237,7 @@ class Manager {
$removeShare->execute(array($id, $this->uid));
$this->sendFeedbackToRemote($share['remote'], $share['share_token'], $share['remote_id'], 'decline');
+ $this->scrapNotification($share['remote_id']);
return true;
}
@@ -235,6 +245,17 @@ class Manager {
}
/**
+ * @param int $remoteShare
+ */
+ protected function scrapNotification($remoteShare) {
+ $filter = $this->notificationManager->createNotification();
+ $filter->setApp('files_sharing')
+ ->setUser($this->uid)
+ ->setObject('remote_share', (int) $remoteShare);
+ $this->notificationManager->markProcessed($filter);
+ }
+
+ /**
* inform remote server whether server-to-server share was accepted/declined
*
* @param string $remote
@@ -265,6 +286,7 @@ class Manager {
\OC\Files\Filesystem::getMountManager(),
\OC\Files\Filesystem::getLoader(),
\OC::$server->getHTTPHelper(),
+ \OC::$server->getNotificationManager(),
$params['user']
);
diff --git a/apps/files_sharing/lib/hooks.php b/apps/files_sharing/lib/hooks.php
index 7dd04f2f4a0..1937010f390 100644
--- a/apps/files_sharing/lib/hooks.php
+++ b/apps/files_sharing/lib/hooks.php
@@ -33,6 +33,7 @@ class Hooks {
\OC\Files\Filesystem::getMountManager(),
\OC\Files\Filesystem::getLoader(),
\OC::$server->getHTTPHelper(),
+ \OC::$server->getNotificationManager(),
$params['uid']);
$manager->removeUserShares($params['uid']);
diff --git a/apps/files_sharing/lib/mountprovider.php b/apps/files_sharing/lib/mountprovider.php
index 3f59fd131d0..14a79625993 100644
--- a/apps/files_sharing/lib/mountprovider.php
+++ b/apps/files_sharing/lib/mountprovider.php
@@ -66,12 +66,6 @@ class MountProvider implements IMountProvider {
return $share['permissions'] > 0;
});
$shares = array_map(function ($share) use ($user, $storageFactory) {
- try {
- Filesystem::initMountPoints($share['uid_owner']);
- } catch(NoUserException $e) {
- \OC::$server->getLogger()->warning('The user \'' . $share['uid_owner'] . '\' of share with ID \'' . $share['id'] . '\' can\'t be retrieved.', array('app' => 'files_sharing'));
- return null;
- }
// for updating etags for the share owner when we make changes to this share.
$ownerPropagator = $this->propagationManager->getChangePropagator($share['uid_owner']);
diff --git a/apps/files_sharing/lib/notifier.php b/apps/files_sharing/lib/notifier.php
new file mode 100644
index 00000000000..cc2deb3f439
--- /dev/null
+++ b/apps/files_sharing/lib/notifier.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * @author Joas Schilling <nickvergessen@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Files_Sharing;
+
+
+use OC\Notification\INotification;
+use OC\Notification\INotifier;
+
+class Notifier implements INotifier {
+ /** @var \OCP\L10N\IFactory */
+ protected $factory;
+
+ /**
+ * @param \OCP\L10N\IFactory $factory
+ */
+ public function __construct(\OCP\L10N\IFactory $factory) {
+ $this->factory = $factory;
+ }
+
+ /**
+ * @param INotification $notification
+ * @param string $languageCode The code of the language that should be used to prepare the notification
+ * @return INotification
+ */
+ public function prepare(INotification $notification, $languageCode) {
+ if ($notification->getApp() !== 'files_sharing') {
+ // Not my app => throw
+ throw new \InvalidArgumentException();
+ }
+
+ // Read the language from the notification
+ $l = $this->factory->get('files_sharing', $languageCode);
+
+ switch ($notification->getSubject()) {
+ // Deal with known subjects
+ case 'remote_share':
+ $params = $notification->getSubjectParameters();
+ $notification->setParsedSubject(
+ (string) $l->t('You received %s as a remote share from %s', $params)
+ );
+
+ // Deal with the actions for a known subject
+ foreach ($notification->getActions() as $action) {
+ switch ($action->getLabel()) {
+ case 'accept':
+ $action->setParsedLabel(
+ (string) $l->t('Accept')
+ );
+ break;
+
+ case 'decline':
+ $action->setParsedLabel(
+ (string) $l->t('Decline')
+ );
+ break;
+ }
+
+ $notification->addParsedAction($action);
+ }
+ return $notification;
+
+ default:
+ // Unknown subject => Unknown notification => throw
+ throw new \InvalidArgumentException();
+ }
+ }
+}
diff --git a/apps/files_sharing/lib/propagation/recipientpropagator.php b/apps/files_sharing/lib/propagation/recipientpropagator.php
index 11764106861..420cacb3d2f 100644
--- a/apps/files_sharing/lib/propagation/recipientpropagator.php
+++ b/apps/files_sharing/lib/propagation/recipientpropagator.php
@@ -126,7 +126,13 @@ class RecipientPropagator {
});
}
+ protected $propagatingIds = [];
+
public function propagateById($id) {
+ if (isset($this->propagatingIds[$id])) {
+ return;
+ }
+ $this->propagatingIds[$id] = true;
$shares = Share::getAllSharesForFileId($id);
foreach ($shares as $share) {
// propagate down the share tree
@@ -141,5 +147,7 @@ class RecipientPropagator {
$watcher->writeHook(['path' => $path]);
}
}
+
+ unset($this->propagatingIds[$id]);
}
}
diff --git a/apps/files_sharing/lib/sharedmount.php b/apps/files_sharing/lib/sharedmount.php
index 2771e0415b0..9aa9bbf562b 100644
--- a/apps/files_sharing/lib/sharedmount.php
+++ b/apps/files_sharing/lib/sharedmount.php
@@ -81,7 +81,7 @@ class SharedMount extends MountPoint implements MoveableMount {
);
if ($newMountPoint !== $share['file_target']) {
- self::updateFileTarget($newMountPoint, $share);
+ $this->updateFileTarget($newMountPoint, $share);
$share['file_target'] = $newMountPoint;
$share['unique_name'] = true;
}
diff --git a/apps/files_sharing/lib/sharedstorage.php b/apps/files_sharing/lib/sharedstorage.php
index c7529df0617..1ac401f3cf8 100644
--- a/apps/files_sharing/lib/sharedstorage.php
+++ b/apps/files_sharing/lib/sharedstorage.php
@@ -55,6 +55,10 @@ class Shared extends \OC\Files\Storage\Common implements ISharedStorage {
$this->ownerView = $arguments['ownerView'];
}
+ private function init() {
+ Filesystem::initMountPoints($this->share['uid_owner']);
+ }
+
/**
* get id of the mount point
*
@@ -80,6 +84,7 @@ class Shared extends \OC\Files\Storage\Common implements ISharedStorage {
* @return array Returns array with the keys path, permissions, and owner or false if not found
*/
public function getFile($target) {
+ $this->init();
if (!isset($this->files[$target])) {
// Check for partial files
if (pathinfo($target, PATHINFO_EXTENSION) === 'part') {
@@ -319,7 +324,7 @@ class Shared extends \OC\Files\Storage\Common implements ISharedStorage {
}
public function rename($path1, $path2) {
-
+ $this->init();
// we need the paths relative to data/user/files
$relPath1 = $this->getMountPoint() . '/' . $path1;
$relPath2 = $this->getMountPoint() . '/' . $path2;
diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php
index 43c76125e16..cde28c80fc4 100644
--- a/apps/files_sharing/templates/public.php
+++ b/apps/files_sharing/templates/public.php
@@ -17,6 +17,7 @@ OCP\Util::addStyle('files', 'upload');
OCP\Util::addScript('files', 'filesummary');
OCP\Util::addScript('files', 'breadcrumb');
OCP\Util::addScript('files', 'fileinfomodel');
+OCP\Util::addScript('files', 'newfilemenu');
OCP\Util::addScript('files', 'files');
OCP\Util::addScript('files', 'filelist');
OCP\Util::addscript('files', 'keyboardshortcuts');
diff --git a/apps/files_sharing/templates/settings-personal.php b/apps/files_sharing/templates/settings-personal.php
index ae6b909df7e..1b93084e547 100644
--- a/apps/files_sharing/templates/settings-personal.php
+++ b/apps/files_sharing/templates/settings-personal.php
@@ -46,13 +46,13 @@ if ($_['showShareIT']) {
data-url='https://plus.google.com/share?url=<?php p(urlencode($_['reference'])); ?>'/>
Google+
</button>
+ <button id="oca-files-sharing-add-to-your-website">
+ <?php p($l->t('Add to your website')) ?>
+ </button>
</p>
- <br>
-
- <p>
- <?php p($l->t('Add it to your website:')); ?>
-
+ <div class="hidden" id="oca-files-sharing-add-to-your-website-expanded">
+ <p style="margin: 10px 0">
<a target="_blank" href="<?php p($_['reference']); ?>"
style="padding:10px;background-color:#1d2d44;color:#fff;border-radius:3px;padding-left:4px;">
<img src="<?php p($_['owncloud_logo_path']); ?>"
@@ -71,6 +71,7 @@ if ($_['showShareIT']) {
</a></xmp>
</p>
+ </div>
<?php } ?>
</div>
diff --git a/apps/files_sharing/tests/api.php b/apps/files_sharing/tests/api.php
index d0ee71cec5a..3809b812051 100644
--- a/apps/files_sharing/tests/api.php
+++ b/apps/files_sharing/tests/api.php
@@ -73,40 +73,108 @@ class Test_Files_Sharing_Api extends TestCase {
/**
* @medium
*/
- function testCreateShare() {
+ function testCreateShareUserFile() {
+ // simulate a post request
+ $_POST['path'] = $this->filename;
+ $_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2;
+ $_POST['shareType'] = \OCP\Share::SHARE_TYPE_USER;
+
+ $result = \OCA\Files_Sharing\API\Local::createShare([]);
+
+ $this->assertTrue($result->succeeded());
+ $data = $result->getData();
+ $this->assertEquals(23, $data['permissions']);
+ $this->assertEmpty($data['expiration']);
+
+ $share = $this->getShareFromId($data['id']);
+ $items = \OCP\Share::getItemShared('file', $share['item_source']);
+ $this->assertTrue(!empty($items));
- // share to user
+ $fileinfo = $this->view->getFileInfo($this->filename);
+ \OCP\Share::unshare('file', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER,
+ \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2);
+ }
+ function testCreateShareUserFolder() {
// simulate a post request
- $_POST['path'] = $this->filename;
+ $_POST['path'] = $this->folder;
$_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2;
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_USER;
- $result = \OCA\Files_Sharing\API\Local::createShare(array());
+ $result = \OCA\Files_Sharing\API\Local::createShare([]);
$this->assertTrue($result->succeeded());
$data = $result->getData();
+ $this->assertEquals(31, $data['permissions']);
+ $this->assertEmpty($data['expiration']);
$share = $this->getShareFromId($data['id']);
+ $items = \OCP\Share::getItemShared('file', $share['item_source']);
+ $this->assertTrue(!empty($items));
+
+ $fileinfo = $this->view->getFileInfo($this->folder);
+ \OCP\Share::unshare('folder', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER,
+ \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2);
+ }
+
+
+ function testCreateShareGroupFile() {
+ // simulate a post request
+ $_POST['path'] = $this->filename;
+ $_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_GROUP1;
+ $_POST['shareType'] = \OCP\Share::SHARE_TYPE_GROUP;
+
+ $result = \OCA\Files_Sharing\API\Local::createShare([]);
+ $this->assertTrue($result->succeeded());
+ $data = $result->getData();
+ $this->assertEquals(23, $data['permissions']);
+ $this->assertEmpty($data['expiration']);
+
+ $share = $this->getShareFromId($data['id']);
$items = \OCP\Share::getItemShared('file', $share['item_source']);
+ $this->assertTrue(!empty($items));
+
+ $fileinfo = $this->view->getFileInfo($this->filename);
+ \OCP\Share::unshare('file', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP,
+ \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_GROUP1);
+ }
+
+ function testCreateShareGroupFolder() {
+ // simulate a post request
+ $_POST['path'] = $this->folder;
+ $_POST['shareWith'] = \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_GROUP1;
+ $_POST['shareType'] = \OCP\Share::SHARE_TYPE_GROUP;
+
+ $result = \OCA\Files_Sharing\API\Local::createShare([]);
+
+ $this->assertTrue($result->succeeded());
+ $data = $result->getData();
+ $this->assertEquals(31, $data['permissions']);
+ $this->assertEmpty($data['expiration']);
+ $share = $this->getShareFromId($data['id']);
+ $items = \OCP\Share::getItemShared('file', $share['item_source']);
$this->assertTrue(!empty($items));
- // share link
+ $fileinfo = $this->view->getFileInfo($this->folder);
+ \OCP\Share::unshare('folder', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_GROUP,
+ \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_GROUP1);
+ }
+ public function testCreateShareLink() {
// simulate a post request
$_POST['path'] = $this->folder;
$_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK;
- $result = \OCA\Files_Sharing\API\Local::createShare(array());
+ $result = \OCA\Files_Sharing\API\Local::createShare([]);
// check if API call was successful
$this->assertTrue($result->succeeded());
$data = $result->getData();
-
- // check if we have a token
+ $this->assertEquals(1, $data['permissions']);
+ $this->assertEmpty($data['expiration']);
$this->assertTrue(is_string($data['token']));
// check for correct link
@@ -115,18 +183,39 @@ class Test_Files_Sharing_Api extends TestCase {
$share = $this->getShareFromId($data['id']);
-
$items = \OCP\Share::getItemShared('file', $share['item_source']);
-
$this->assertTrue(!empty($items));
- $fileinfo = $this->view->getFileInfo($this->filename);
+ $fileinfo = $this->view->getFileInfo($this->folder);
+ \OCP\Share::unshare('folder', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_LINK, null);
+ }
- \OCP\Share::unshare('file', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER,
- \Test_Files_Sharing_Api::TEST_FILES_SHARING_API_USER2);
+ public function testCreateShareLinkPublicUpload() {
+ // simulate a post request
+ $_POST['path'] = $this->folder;
+ $_POST['shareType'] = \OCP\Share::SHARE_TYPE_LINK;
+ $_POST['publicUpload'] = 'true';
- $fileinfo = $this->view->getFileInfo($this->folder);
+ $result = \OCA\Files_Sharing\API\Local::createShare(array());
+
+ // check if API call was successful
+ $this->assertTrue($result->succeeded());
+
+ $data = $result->getData();
+ $this->assertEquals(7, $data['permissions']);
+ $this->assertEmpty($data['expiration']);
+ $this->assertTrue(is_string($data['token']));
+ // check for correct link
+ $url = \OC::$server->getURLGenerator()->getAbsoluteURL('/index.php/s/' . $data['token']);
+ $this->assertEquals($url, $data['url']);
+
+
+ $share = $this->getShareFromId($data['id']);
+ $items = \OCP\Share::getItemShared('file', $share['item_source']);
+ $this->assertTrue(!empty($items));
+
+ $fileinfo = $this->view->getFileInfo($this->folder);
\OCP\Share::unshare('folder', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_LINK, null);
}
@@ -287,7 +376,7 @@ class Test_Files_Sharing_Api extends TestCase {
/**
* @medium
- * @depends testCreateShare
+ * @depends testCreateShareUserFile
*/
function testGetAllShares() {
@@ -334,7 +423,7 @@ class Test_Files_Sharing_Api extends TestCase {
/**
* @medium
- * @depends testCreateShare
+ * @depends testCreateShareLink
*/
function testPublicLinkUrl() {
// simulate a post request
@@ -379,7 +468,8 @@ class Test_Files_Sharing_Api extends TestCase {
/**
* @medium
- * @depends testCreateShare
+ * @depends testCreateShareUserFile
+ * @depends testCreateShareLink
*/
function testGetShareFromSource() {
@@ -409,7 +499,8 @@ class Test_Files_Sharing_Api extends TestCase {
/**
* @medium
- * @depends testCreateShare
+ * @depends testCreateShareUserFile
+ * @depends testCreateShareLink
*/
function testGetShareFromSourceWithReshares() {
@@ -463,7 +554,7 @@ class Test_Files_Sharing_Api extends TestCase {
/**
* @medium
- * @depends testCreateShare
+ * @depends testCreateShareUserFile
*/
function testGetShareFromId() {
@@ -911,7 +1002,8 @@ class Test_Files_Sharing_Api extends TestCase {
/**
* @medium
- * @depends testCreateShare
+ * @depends testCreateShareUserFile
+ * @depends testCreateShareLink
*/
function testUpdateShare() {
@@ -1037,7 +1129,7 @@ class Test_Files_Sharing_Api extends TestCase {
/**
* @medium
- * @depends testCreateShare
+ * @depends testCreateShareUserFile
*/
public function testUpdateShareInvalidPermissions() {
@@ -1232,7 +1324,7 @@ class Test_Files_Sharing_Api extends TestCase {
/**
* @medium
- * @depends testCreateShare
+ * @depends testCreateShareUserFile
*/
function testDeleteShare() {
@@ -1526,6 +1618,7 @@ class Test_Files_Sharing_Api extends TestCase {
$data = $result->getData();
$this->assertTrue(is_string($data['token']));
+ $this->assertEquals($date, substr($data['expiration'], 0, 10));
// check for correct link
$url = \OC::$server->getURLGenerator()->getAbsoluteURL('/index.php/s/' . $data['token']);
@@ -1564,6 +1657,7 @@ class Test_Files_Sharing_Api extends TestCase {
$data = $result->getData();
$this->assertTrue(is_string($data['token']));
+ $this->assertEquals($date->format('Y-m-d') . ' 00:00:00', $data['expiration']);
// check for correct link
$url = \OC::$server->getURLGenerator()->getAbsoluteURL('/index.php/s/' . $data['token']);
diff --git a/apps/files_sharing/tests/api/shareestest.php b/apps/files_sharing/tests/api/shareestest.php
new file mode 100644
index 00000000000..1e4438acd88
--- /dev/null
+++ b/apps/files_sharing/tests/api/shareestest.php
@@ -0,0 +1,995 @@
+<?php
+/**
+ * @author Joas Schilling <nickvergessen@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Files_Sharing\Tests\API;
+
+use Doctrine\DBAL\Connection;
+use OC\Share\Constants;
+use OCA\Files_Sharing\API\Sharees;
+use OCA\Files_sharing\Tests\TestCase;
+use OCP\Share;
+
+class ShareesTest extends TestCase {
+ /** @var Sharees */
+ protected $sharees;
+
+ /** @var \OCP\IUserManager|\PHPUnit_Framework_MockObject_MockObject */
+ protected $userManager;
+
+ /** @var \OCP\IGroupManager|\PHPUnit_Framework_MockObject_MockObject */
+ protected $groupManager;
+
+ /** @var \OCP\Contacts\IManager|\PHPUnit_Framework_MockObject_MockObject */
+ protected $contactsManager;
+
+ /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject */
+ protected $session;
+
+ /** @var \OCP\IRequest|\PHPUnit_Framework_MockObject_MockObject */
+ protected $request;
+
+ protected function setUp() {
+ parent::setUp();
+
+ $this->userManager = $this->getMockBuilder('OCP\IUserManager')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->groupManager = $this->getMockBuilder('OCP\IGroupManager')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->contactsManager = $this->getMockBuilder('OCP\Contacts\IManager')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->session = $this->getMockBuilder('OCP\IUserSession')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->request = $this->getMockBuilder('OCP\IRequest')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->sharees = new Sharees(
+ $this->groupManager,
+ $this->userManager,
+ $this->contactsManager,
+ $this->getMockBuilder('OCP\IConfig')->disableOriginalConstructor()->getMock(),
+ $this->session,
+ $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(),
+ $this->request,
+ $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock()
+ );
+ }
+
+ protected function getUserMock($uid, $displayName) {
+ $user = $this->getMockBuilder('OCP\IUser')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $user->expects($this->any())
+ ->method('getUID')
+ ->willReturn($uid);
+
+ $user->expects($this->any())
+ ->method('getDisplayName')
+ ->willReturn($displayName);
+
+ return $user;
+ }
+
+ protected function getGroupMock($gid) {
+ $group = $this->getMockBuilder('OCP\IGroup')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $group->expects($this->any())
+ ->method('getGID')
+ ->willReturn($gid);
+
+ return $group;
+ }
+
+ public function dataGetUsers() {
+ return [
+ ['test', false, [], [], [], [], true, false],
+ ['test', true, [], [], [], [], true, false],
+ [
+ 'test', false, [], [],
+ [
+ ['label' => 'Test', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test']],
+ ], [], true, $this->getUserMock('test', 'Test')
+ ],
+ [
+ 'test', true, [], [],
+ [
+ ['label' => 'Test', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test']],
+ ], [], true, $this->getUserMock('test', 'Test')
+ ],
+ [
+ 'test',
+ false,
+ [],
+ [
+ $this->getUserMock('test1', 'Test One'),
+ ],
+ [],
+ [
+ ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ],
+ true,
+ false,
+ ],
+ [
+ 'test',
+ false,
+ [],
+ [
+ $this->getUserMock('test1', 'Test One'),
+ $this->getUserMock('test2', 'Test Two'),
+ ],
+ [],
+ [
+ ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']],
+ ],
+ false,
+ false,
+ ],
+ [
+ 'test',
+ false,
+ [],
+ [
+ $this->getUserMock('test0', 'Test'),
+ $this->getUserMock('test1', 'Test One'),
+ $this->getUserMock('test2', 'Test Two'),
+ ],
+ [
+ ['label' => 'Test', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test0']],
+ ],
+ [
+ ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']],
+ ],
+ false,
+ false,
+ ],
+ [
+ 'test',
+ true,
+ ['abc', 'xyz'],
+ [
+ ['abc', 'test', 2, 0, ['test1' => 'Test One']],
+ ['xyz', 'test', 2, 0, []],
+ ],
+ [],
+ [
+ ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ],
+ true,
+ false,
+ ],
+ [
+ 'test',
+ true,
+ ['abc', 'xyz'],
+ [
+ ['abc', 'test', 2, 0, [
+ 'test1' => 'Test One',
+ 'test2' => 'Test Two',
+ ]],
+ ['xyz', 'test', 2, 0, [
+ 'test1' => 'Test One',
+ 'test2' => 'Test Two',
+ ]],
+ ],
+ [],
+ [
+ ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']],
+ ],
+ false,
+ false,
+ ],
+ [
+ 'test',
+ true,
+ ['abc', 'xyz'],
+ [
+ ['abc', 'test', 2, 0, [
+ 'test' => 'Test One',
+ ]],
+ ['xyz', 'test', 2, 0, [
+ 'test2' => 'Test Two',
+ ]],
+ ],
+ [
+ ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test']],
+ ],
+ [
+ ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']],
+ ],
+ false,
+ false,
+ ],
+ ];
+ }
+
+ /**
+ * @dataProvider dataGetUsers
+ *
+ * @param string $searchTerm
+ * @param bool $shareWithGroupOnly
+ * @param array $groupResponse
+ * @param array $userResponse
+ * @param array $exactExpected
+ * @param array $expected
+ * @param bool $reachedEnd
+ * @param mixed $singleUser
+ */
+ public function testGetUsers($searchTerm, $shareWithGroupOnly, $groupResponse, $userResponse, $exactExpected, $expected, $reachedEnd, $singleUser) {
+ $this->invokePrivate($this->sharees, 'limit', [2]);
+ $this->invokePrivate($this->sharees, 'offset', [0]);
+ $this->invokePrivate($this->sharees, 'shareWithGroupOnly', [$shareWithGroupOnly]);
+
+ $user = $this->getUserMock('admin', 'Administrator');
+ $this->session->expects($this->any())
+ ->method('getUser')
+ ->willReturn($user);
+
+ if (!$shareWithGroupOnly) {
+ $this->userManager->expects($this->once())
+ ->method('searchDisplayName')
+ ->with($searchTerm, $this->invokePrivate($this->sharees, 'limit'), $this->invokePrivate($this->sharees, 'offset'))
+ ->willReturn($userResponse);
+ } else {
+ $this->groupManager->expects($this->once())
+ ->method('getUserGroupIds')
+ ->with($user)
+ ->willReturn($groupResponse);
+
+ $this->groupManager->expects($this->exactly(sizeof($groupResponse)))
+ ->method('displayNamesInGroup')
+ ->with($this->anything(), $searchTerm, $this->invokePrivate($this->sharees, 'limit'), $this->invokePrivate($this->sharees, 'offset'))
+ ->willReturnMap($userResponse);
+ }
+
+ if ($singleUser !== false) {
+ $this->userManager->expects($this->once())
+ ->method('get')
+ ->with($searchTerm)
+ ->willReturn($singleUser);
+ }
+
+ $this->invokePrivate($this->sharees, 'getUsers', [$searchTerm]);
+ $result = $this->invokePrivate($this->sharees, 'result');
+
+ $this->assertEquals($exactExpected, $result['exact']['users']);
+ $this->assertEquals($expected, $result['users']);
+ $this->assertCount((int) $reachedEnd, $this->invokePrivate($this->sharees, 'reachedEndFor'));
+ }
+
+ public function dataGetGroups() {
+ return [
+ ['test', false, [], [], [], [], true, false],
+ [
+ 'test', false,
+ [$this->getGroupMock('test1')],
+ [],
+ [],
+ [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]],
+ true,
+ false,
+ ],
+ [
+ 'test', false,
+ [
+ $this->getGroupMock('test'),
+ $this->getGroupMock('test1'),
+ ],
+ [],
+ [['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']]],
+ [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]],
+ false,
+ false,
+ ],
+ [
+ 'test', false,
+ [
+ $this->getGroupMock('test0'),
+ $this->getGroupMock('test1'),
+ ],
+ [],
+ [],
+ [
+ ['label' => 'test0', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test0']],
+ ['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']],
+ ],
+ false,
+ null,
+ ],
+ [
+ 'test', false,
+ [
+ $this->getGroupMock('test0'),
+ $this->getGroupMock('test1'),
+ ],
+ [],
+ [
+ ['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']],
+ ],
+ [
+ ['label' => 'test0', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test0']],
+ ['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']],
+ ],
+ false,
+ $this->getGroupMock('test'),
+ ],
+ ['test', true, [], [], [], [], true, false],
+ [
+ 'test', true,
+ [
+ $this->getGroupMock('test1'),
+ $this->getGroupMock('test2'),
+ ],
+ [$this->getGroupMock('test1')],
+ [],
+ [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]],
+ false,
+ false,
+ ],
+ [
+ 'test', true,
+ [
+ $this->getGroupMock('test'),
+ $this->getGroupMock('test1'),
+ ],
+ [$this->getGroupMock('test')],
+ [['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']]],
+ [],
+ false,
+ false,
+ ],
+ [
+ 'test', true,
+ [
+ $this->getGroupMock('test'),
+ $this->getGroupMock('test1'),
+ ],
+ [$this->getGroupMock('test1')],
+ [],
+ [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]],
+ false,
+ false,
+ ],
+ [
+ 'test', true,
+ [
+ $this->getGroupMock('test'),
+ $this->getGroupMock('test1'),
+ ],
+ [$this->getGroupMock('test'), $this->getGroupMock('test0'), $this->getGroupMock('test1')],
+ [['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']]],
+ [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]],
+ false,
+ false,
+ ],
+ [
+ 'test', true,
+ [
+ $this->getGroupMock('test0'),
+ $this->getGroupMock('test1'),
+ ],
+ [$this->getGroupMock('test'), $this->getGroupMock('test0'), $this->getGroupMock('test1')],
+ [],
+ [
+ ['label' => 'test0', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test0']],
+ ['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']],
+ ],
+ false,
+ null,
+ ],
+ [
+ 'test', true,
+ [
+ $this->getGroupMock('test0'),
+ $this->getGroupMock('test1'),
+ ],
+ [$this->getGroupMock('test'), $this->getGroupMock('test0'), $this->getGroupMock('test1')],
+ [
+ ['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']],
+ ],
+ [
+ ['label' => 'test0', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test0']],
+ ['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']],
+ ],
+ false,
+ $this->getGroupMock('test'),
+ ],
+ ];
+ }
+
+ /**
+ * @dataProvider dataGetGroups
+ *
+ * @param string $searchTerm
+ * @param bool $shareWithGroupOnly
+ * @param array $groupResponse
+ * @param array $userGroupsResponse
+ * @param array $exactExpected
+ * @param array $expected
+ * @param bool $reachedEnd
+ * @param mixed $singleGroup
+ */
+ public function testGetGroups($searchTerm, $shareWithGroupOnly, $groupResponse, $userGroupsResponse, $exactExpected, $expected, $reachedEnd, $singleGroup) {
+ $this->invokePrivate($this->sharees, 'limit', [2]);
+ $this->invokePrivate($this->sharees, 'offset', [0]);
+ $this->invokePrivate($this->sharees, 'shareWithGroupOnly', [$shareWithGroupOnly]);
+
+ $this->groupManager->expects($this->once())
+ ->method('search')
+ ->with($searchTerm, $this->invokePrivate($this->sharees, 'limit'), $this->invokePrivate($this->sharees, 'offset'))
+ ->willReturn($groupResponse);
+
+ if ($singleGroup !== false) {
+ $this->groupManager->expects($this->once())
+ ->method('get')
+ ->with($searchTerm)
+ ->willReturn($singleGroup);
+ }
+
+ if ($shareWithGroupOnly) {
+ $user = $this->getUserMock('admin', 'Administrator');
+ $this->session->expects($this->any())
+ ->method('getUser')
+ ->willReturn($user);
+
+ $numGetUserGroupsCalls = empty($groupResponse) ? 0 : 1;
+ $this->groupManager->expects($this->exactly($numGetUserGroupsCalls))
+ ->method('getUserGroups')
+ ->with($user)
+ ->willReturn($userGroupsResponse);
+ }
+
+ $this->invokePrivate($this->sharees, 'getGroups', [$searchTerm]);
+ $result = $this->invokePrivate($this->sharees, 'result');
+
+ $this->assertEquals($exactExpected, $result['exact']['groups']);
+ $this->assertEquals($expected, $result['groups']);
+ $this->assertCount((int) $reachedEnd, $this->invokePrivate($this->sharees, 'reachedEndFor'));
+ }
+
+ public function dataGetRemote() {
+ return [
+ ['test', [], [], [], true],
+ [
+ 'test@remote',
+ [],
+ [
+ ['label' => 'test@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']],
+ ],
+ [],
+ true,
+ ],
+ [
+ 'test',
+ [
+ [
+ 'FN' => 'User3 @ Localhost',
+ ],
+ [
+ 'FN' => 'User2 @ Localhost',
+ 'CLOUD' => [
+ ],
+ ],
+ [
+ 'FN' => 'User @ Localhost',
+ 'CLOUD' => [
+ 'username@localhost',
+ ],
+ ],
+ ],
+ [],
+ [
+ ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']],
+ ],
+ true,
+ ],
+ [
+ 'test@remote',
+ [
+ [
+ 'FN' => 'User3 @ Localhost',
+ ],
+ [
+ 'FN' => 'User2 @ Localhost',
+ 'CLOUD' => [
+ ],
+ ],
+ [
+ 'FN' => 'User @ Localhost',
+ 'CLOUD' => [
+ 'username@localhost',
+ ],
+ ],
+ ],
+ [
+ ['label' => 'test@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']],
+ ],
+ [
+ ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']],
+ ],
+ true,
+ ],
+ [
+ 'username@localhost',
+ [
+ [
+ 'FN' => 'User3 @ Localhost',
+ ],
+ [
+ 'FN' => 'User2 @ Localhost',
+ 'CLOUD' => [
+ ],
+ ],
+ [
+ 'FN' => 'User @ Localhost',
+ 'CLOUD' => [
+ 'username@localhost',
+ ],
+ ],
+ ],
+ [
+ ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']],
+ ],
+ [
+ ],
+ true,
+ ],
+ ];
+ }
+
+ /**
+ * @dataProvider dataGetRemote
+ *
+ * @param string $searchTerm
+ * @param array $contacts
+ * @param array $exactExpected
+ * @param array $expected
+ * @param bool $reachedEnd
+ */
+ public function testGetRemote($searchTerm, $contacts, $exactExpected, $expected, $reachedEnd) {
+ $this->contactsManager->expects($this->any())
+ ->method('search')
+ ->with($searchTerm, ['CLOUD', 'FN'])
+ ->willReturn($contacts);
+
+ $this->invokePrivate($this->sharees, 'getRemote', [$searchTerm]);
+ $result = $this->invokePrivate($this->sharees, 'result');
+
+ $this->assertEquals($exactExpected, $result['exact']['remotes']);
+ $this->assertEquals($expected, $result['remotes']);
+ $this->assertCount((int) $reachedEnd, $this->invokePrivate($this->sharees, 'reachedEndFor'));
+ }
+
+ public function dataSearch() {
+ $allTypes = [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE];
+
+ return [
+ [[], '', true, '', null, $allTypes, 1, 200, false],
+
+ // Test itemType
+ [[
+ 'search' => '',
+ ], '', true, '', null, $allTypes, 1, 200, false],
+ [[
+ 'search' => 'foobar',
+ ], '', true, 'foobar', null, $allTypes, 1, 200, false],
+ [[
+ 'search' => 0,
+ ], '', true, '0', null, $allTypes, 1, 200, false],
+
+ // Test itemType
+ [[
+ 'itemType' => '',
+ ], '', true, '', '', $allTypes, 1, 200, false],
+ [[
+ 'itemType' => 'folder',
+ ], '', true, '', 'folder', $allTypes, 1, 200, false],
+ [[
+ 'itemType' => 0,
+ ], '', true, '', '0', $allTypes, 1, 200, false],
+
+ // Test shareType
+ [[
+ ], '', true, '', null, $allTypes, 1, 200, false],
+ [[
+ 'shareType' => 0,
+ ], '', true, '', null, [0], 1, 200, false],
+ [[
+ 'shareType' => '0',
+ ], '', true, '', null, [0], 1, 200, false],
+ [[
+ 'shareType' => 1,
+ ], '', true, '', null, [1], 1, 200, false],
+ [[
+ 'shareType' => 12,
+ ], '', true, '', null, [], 1, 200, false],
+ [[
+ 'shareType' => 'foobar',
+ ], '', true, '', null, $allTypes, 1, 200, false],
+ [[
+ 'shareType' => [0, 1, 2],
+ ], '', true, '', null, [0, 1], 1, 200, false],
+ [[
+ 'shareType' => [0, 1],
+ ], '', true, '', null, [0, 1], 1, 200, false],
+ [[
+ 'shareType' => $allTypes,
+ ], '', true, '', null, $allTypes, 1, 200, false],
+ [[
+ 'shareType' => $allTypes,
+ ], '', false, '', null, [0, 1], 1, 200, false],
+
+ // Test pagination
+ [[
+ 'page' => 0,
+ ], '', true, '', null, $allTypes, 1, 200, false],
+ [[
+ 'page' => '0',
+ ], '', true, '', null, $allTypes, 1, 200, false],
+ [[
+ 'page' => -1,
+ ], '', true, '', null, $allTypes, 1, 200, false],
+ [[
+ 'page' => 1,
+ ], '', true, '', null, $allTypes, 1, 200, false],
+ [[
+ 'page' => 10,
+ ], '', true, '', null, $allTypes, 10, 200, false],
+
+ // Test limit
+ [[
+ 'limit' => 0,
+ ], '', true, '', null, $allTypes, 1, 200, false],
+ [[
+ 'limit' => '0',
+ ], '', true, '', null, $allTypes, 1, 200, false],
+ [[
+ 'limit' => -1,
+ ], '', true, '', null, $allTypes, 1, 1, false],
+ [[
+ 'limit' => 1,
+ ], '', true, '', null, $allTypes, 1, 1, false],
+ [[
+ 'limit' => 10,
+ ], '', true, '', null, $allTypes, 1, 10, false],
+
+ // Test $shareWithGroupOnly setting
+ [[], 'no', true, '', null, $allTypes, 1, 200, false],
+ [[], 'yes', true, '', null, $allTypes, 1, 200, true],
+
+ ];
+ }
+
+ /**
+ * @dataProvider dataSearch
+ *
+ * @param array $getData
+ * @param string $apiSetting
+ * @param bool $remoteSharingEnabled
+ * @param string $search
+ * @param string $itemType
+ * @param array $shareTypes
+ * @param int $page
+ * @param int $perPage
+ * @param bool $shareWithGroupOnly
+ */
+ public function testSearch($getData, $apiSetting, $remoteSharingEnabled, $search, $itemType, $shareTypes, $page, $perPage, $shareWithGroupOnly) {
+ $oldGet = $_GET;
+ $_GET = $getData;
+
+ $config = $this->getMockBuilder('OCP\IConfig')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $config->expects($this->once())
+ ->method('getAppValue')
+ ->with('core', 'shareapi_only_share_with_group_members', 'no')
+ ->willReturn($apiSetting);
+
+ $sharees = $this->getMockBuilder('\OCA\Files_Sharing\API\Sharees')
+ ->setConstructorArgs([
+ $this->groupManager,
+ $this->userManager,
+ $this->contactsManager,
+ $config,
+ $this->session,
+ $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(),
+ $this->getMockBuilder('OCP\IRequest')->disableOriginalConstructor()->getMock(),
+ $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock()
+ ])
+ ->setMethods(array('searchSharees', 'isRemoteSharingAllowed'))
+ ->getMock();
+ $sharees->expects($this->once())
+ ->method('searchSharees')
+ ->with($search, $itemType, $shareTypes, $page, $perPage)
+ ->willReturnCallback(function
+ ($isearch, $iitemType, $ishareTypes, $ipage, $iperPage)
+ use ($search, $itemType, $shareTypes, $page, $perPage) {
+
+ // We are doing strict comparisons here, so we can differ 0/'' and null on shareType/itemType
+ $this->assertSame($search, $isearch);
+ $this->assertSame($itemType, $iitemType);
+ $this->assertSame($shareTypes, $ishareTypes);
+ $this->assertSame($page, $ipage);
+ $this->assertSame($perPage, $iperPage);
+ return new \OC_OCS_Result([]);
+ });
+ $sharees->expects($this->any())
+ ->method('isRemoteSharingAllowed')
+ ->with($itemType)
+ ->willReturn($remoteSharingEnabled);
+
+ /** @var \PHPUnit_Framework_MockObject_MockObject|\OCA\Files_Sharing\API\Sharees $sharees */
+ $this->assertInstanceOf('\OC_OCS_Result', $sharees->search());
+
+ $this->assertSame($shareWithGroupOnly, $this->invokePrivate($sharees, 'shareWithGroupOnly'));
+
+ $_GET = $oldGet;
+ }
+
+ public function dataIsRemoteSharingAllowed() {
+ return [
+ ['file', true],
+ ['folder', true],
+ ['', false],
+ ['contacts', false],
+ ];
+ }
+
+ /**
+ * @dataProvider dataIsRemoteSharingAllowed
+ *
+ * @param string $itemType
+ * @param bool $expected
+ */
+ public function testIsRemoteSharingAllowed($itemType, $expected) {
+ $this->assertSame($expected, $this->invokePrivate($this->sharees, 'isRemoteSharingAllowed', [$itemType]));
+ }
+
+ public function dataSearchSharees() {
+ return [
+ ['test', 'folder', [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [],
+ [
+ 'exact' => ['users' => [], 'groups' => [], 'remotes' => []],
+ 'users' => [],
+ 'groups' => [],
+ 'remotes' => [],
+ ], false],
+ ['test', 'folder', [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [],
+ [
+ 'exact' => ['users' => [], 'groups' => [], 'remotes' => []],
+ 'users' => [],
+ 'groups' => [],
+ 'remotes' => [],
+ ], false],
+ [
+ 'test', 'folder', [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE], 1, 2, false, [
+ ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ], [
+ ['label' => 'testgroup1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']],
+ ], [
+ ['label' => 'testz@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']],
+ ],
+ [
+ 'exact' => ['users' => [], 'groups' => [], 'remotes' => []],
+ 'users' => [
+ ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ],
+ 'groups' => [
+ ['label' => 'testgroup1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']],
+ ],
+ 'remotes' => [
+ ['label' => 'testz@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']],
+ ],
+ ], true,
+ ],
+ // No groups requested
+ [
+ 'test', 'folder', [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_REMOTE], 1, 2, false, [
+ ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ], null, [
+ ['label' => 'testz@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']],
+ ],
+ [
+ 'exact' => ['users' => [], 'groups' => [], 'remotes' => []],
+ 'users' => [
+ ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ],
+ 'groups' => [],
+ 'remotes' => [
+ ['label' => 'testz@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']],
+ ],
+ ], false,
+ ],
+ // Share type restricted to user - Only one user
+ [
+ 'test', 'folder', [Share::SHARE_TYPE_USER], 1, 2, false, [
+ ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ], null, null,
+ [
+ 'exact' => ['users' => [], 'groups' => [], 'remotes' => []],
+ 'users' => [
+ ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ],
+ 'groups' => [],
+ 'remotes' => [],
+ ], false,
+ ],
+ // Share type restricted to user - Multipage result
+ [
+ 'test', 'folder', [Share::SHARE_TYPE_USER], 1, 2, false, [
+ ['label' => 'test 1', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ['label' => 'test 2', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']],
+ ], null, null,
+ [
+ 'exact' => ['users' => [], 'groups' => [], 'remotes' => []],
+ 'users' => [
+ ['label' => 'test 1', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']],
+ ['label' => 'test 2', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']],
+ ],
+ 'groups' => [],
+ 'remotes' => [],
+ ], true,
+ ],
+ ];
+ }
+
+ /**
+ * @dataProvider dataSearchSharees
+ *
+ * @param string $searchTerm
+ * @param string $itemType
+ * @param array $shareTypes
+ * @param int $page
+ * @param int $perPage
+ * @param bool $shareWithGroupOnly
+ * @param array $mockedUserResult
+ * @param array $mockedGroupsResult
+ * @param array $mockedRemotesResult
+ * @param array $expected
+ * @param bool $nextLink
+ */
+ public function testSearchSharees($searchTerm, $itemType, array $shareTypes, $page, $perPage, $shareWithGroupOnly,
+ $mockedUserResult, $mockedGroupsResult, $mockedRemotesResult, $expected, $nextLink) {
+ /** @var \PHPUnit_Framework_MockObject_MockObject|\OCA\Files_Sharing\API\Sharees $sharees */
+ $sharees = $this->getMockBuilder('\OCA\Files_Sharing\API\Sharees')
+ ->setConstructorArgs([
+ $this->groupManager,
+ $this->userManager,
+ $this->contactsManager,
+ $this->getMockBuilder('OCP\IConfig')->disableOriginalConstructor()->getMock(),
+ $this->session,
+ $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(),
+ $this->getMockBuilder('OCP\IRequest')->disableOriginalConstructor()->getMock(),
+ $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock()
+ ])
+ ->setMethods(array('getShareesForShareIds', 'getUsers', 'getGroups', 'getRemote'))
+ ->getMock();
+ $sharees->expects(($mockedUserResult === null) ? $this->never() : $this->once())
+ ->method('getUsers')
+ ->with($searchTerm)
+ ->willReturnCallback(function() use ($sharees, $mockedUserResult) {
+ $result = $this->invokePrivate($sharees, 'result');
+ $result['users'] = $mockedUserResult;
+ $this->invokePrivate($sharees, 'result', [$result]);
+ });
+ $sharees->expects(($mockedGroupsResult === null) ? $this->never() : $this->once())
+ ->method('getGroups')
+ ->with($searchTerm)
+ ->willReturnCallback(function() use ($sharees, $mockedGroupsResult) {
+ $result = $this->invokePrivate($sharees, 'result');
+ $result['groups'] = $mockedGroupsResult;
+ $this->invokePrivate($sharees, 'result', [$result]);
+ });
+ $sharees->expects(($mockedRemotesResult === null) ? $this->never() : $this->once())
+ ->method('getRemote')
+ ->with($searchTerm)
+ ->willReturnCallback(function() use ($sharees, $mockedRemotesResult) {
+ $result = $this->invokePrivate($sharees, 'result');
+ $result['remotes'] = $mockedRemotesResult;
+ $this->invokePrivate($sharees, 'result', [$result]);
+ });
+
+ /** @var \OC_OCS_Result $ocs */
+ $ocs = $this->invokePrivate($sharees, 'searchSharees', [$searchTerm, $itemType, $shareTypes, $page, $perPage, $shareWithGroupOnly]);
+ $this->assertInstanceOf('\OC_OCS_Result', $ocs);
+ $this->assertEquals($expected, $ocs->getData());
+
+ // Check if next link is set
+ if ($nextLink) {
+ $headers = $ocs->getHeaders();
+ $this->assertArrayHasKey('Link', $headers);
+ $this->assertStringStartsWith('<', $headers['Link']);
+ $this->assertStringEndsWith('>; rel="next"', $headers['Link']);
+ }
+ }
+
+ public function testSearchShareesNoItemType() {
+ /** @var \OC_OCS_Result $ocs */
+ $ocs = $this->invokePrivate($this->sharees, 'searchSharees', ['', null, [], [], 0, 0, false]);
+ $this->assertInstanceOf('\OC_OCS_Result', $ocs);
+
+ $this->assertSame(400, $ocs->getStatusCode(), 'Expected status code 400');
+ $this->assertSame([], $ocs->getData(), 'Expected that no data is send');
+
+ $meta = $ocs->getMeta();
+ $this->assertNotEmpty($meta);
+ $this->assertArrayHasKey('message', $meta);
+ $this->assertSame('missing itemType', $meta['message']);
+ }
+
+ public function dataGetPaginationLink() {
+ return [
+ [1, '/ocs/v1.php', ['limit' => 2], '<?limit=2&page=2>; rel="next"'],
+ [10, '/ocs/v2.php', ['limit' => 2], '<?limit=2&page=11>; rel="next"'],
+ ];
+ }
+
+ /**
+ * @dataProvider dataGetPaginationLink
+ *
+ * @param int $page
+ * @param string $scriptName
+ * @param array $params
+ * @param array $expected
+ */
+ public function testGetPaginationLink($page, $scriptName, $params, $expected) {
+ $this->request->expects($this->once())
+ ->method('getScriptName')
+ ->willReturn($scriptName);
+
+ $this->assertEquals($expected, $this->invokePrivate($this->sharees, 'getPaginationLink', [$page, $params]));
+ }
+
+ public function dataIsV2() {
+ return [
+ ['/ocs/v1.php', false],
+ ['/ocs/v2.php', true],
+ ];
+ }
+
+ /**
+ * @dataProvider dataIsV2
+ *
+ * @param string $scriptName
+ * @param bool $expected
+ */
+ public function testIsV2($scriptName, $expected) {
+ $this->request->expects($this->once())
+ ->method('getScriptName')
+ ->willReturn($scriptName);
+
+ $this->assertEquals($expected, $this->invokePrivate($this->sharees, 'isV2'));
+ }
+}
diff --git a/apps/files_sharing/tests/external/managertest.php b/apps/files_sharing/tests/external/managertest.php
index df01ea0f738..8e03c67a9a3 100644
--- a/apps/files_sharing/tests/external/managertest.php
+++ b/apps/files_sharing/tests/external/managertest.php
@@ -50,6 +50,7 @@ class ManagerTest extends TestCase {
$this->mountManager,
new StorageFactory(),
$httpHelper,
+ \OC::$server->getNotificationManager(),
$this->uid
);
}
diff --git a/apps/files_sharing/tests/server2server.php b/apps/files_sharing/tests/server2server.php
index a1c87d73393..a4cc8209a8e 100644
--- a/apps/files_sharing/tests/server2server.php
+++ b/apps/files_sharing/tests/server2server.php
@@ -154,6 +154,7 @@ class Test_Files_Sharing_S2S_OCS_API extends TestCase {
\OC\Files\Filesystem::getMountManager(),
\OC\Files\Filesystem::getLoader(),
\OC::$server->getHTTPHelper(),
+ \OC::$server->getNotificationManager(),
$toDelete
);
diff --git a/apps/files_versions/ajax/getVersions.php b/apps/files_versions/ajax/getVersions.php
index 20d60240179..59bd30f434f 100644
--- a/apps/files_versions/ajax/getVersions.php
+++ b/apps/files_versions/ajax/getVersions.php
@@ -44,6 +44,6 @@ if( $versions ) {
} else {
- \OCP\JSON::success(array('data' => array('versions' => false, 'endReached' => true)));
+ \OCP\JSON::success(array('data' => array('versions' => [], 'endReached' => true)));
}
diff --git a/apps/files_versions/ajax/preview.php b/apps/files_versions/ajax/preview.php
index 8a9a5fba14c..2f33f0278ef 100644
--- a/apps/files_versions/ajax/preview.php
+++ b/apps/files_versions/ajax/preview.php
@@ -53,7 +53,10 @@ try {
$preview->setScalingUp($scalingUp);
$preview->showPreview();
-}catch(\Exception $e) {
+} catch (\OCP\Files\NotFoundException $e) {
+ \OC_Response::setStatus(404);
+ \OCP\Util::writeLog('core', $e->getmessage(), \OCP\Util::DEBUG);
+} catch (\Exception $e) {
\OC_Response::setStatus(500);
\OCP\Util::writeLog('core', $e->getmessage(), \OCP\Util::DEBUG);
}
diff --git a/apps/files_versions/appinfo/app.php b/apps/files_versions/appinfo/app.php
index 3bad0d8a94d..967f2e73a34 100644
--- a/apps/files_versions/appinfo/app.php
+++ b/apps/files_versions/appinfo/app.php
@@ -19,7 +19,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/
-OCP\Util::addscript('files_versions', 'versions');
OCP\Util::addStyle('files_versions', 'versions');
\OCA\Files_Versions\Hooks::connectHooks();
diff --git a/apps/files_versions/css/versions.css b/apps/files_versions/css/versions.css
index e3ccfc3c864..ec0f0cc9896 100644
--- a/apps/files_versions/css/versions.css
+++ b/apps/files_versions/css/versions.css
@@ -1,19 +1,18 @@
-#dropdown.drop-versions {
- width: 360px;
+.versionsTabView .clear-float {
+ clear: both;
}
-
-#found_versions li {
+.versionsTabView li {
width: 100%;
cursor: default;
height: 56px;
float: left;
border-bottom: 1px solid rgba(100,100,100,.1);
}
-#found_versions li:last-child {
+.versionsTabView li:last-child {
border-bottom: none;
}
-#found_versions li > * {
+.versionsTabView li > * {
padding: 7px;
float: left;
vertical-align: top;
@@ -22,34 +21,34 @@
opacity: .5;
}
-#found_versions li > a,
-#found_versions li > span {
+.versionsTabView li > a,
+.versionsTabView li > span {
padding: 17px 7px;
}
-#found_versions li > *:hover,
-#found_versions li > *:focus {
+.versionsTabView li > *:hover,
+.versionsTabView li > *:focus {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
opacity: 1;
}
-#found_versions img {
+.versionsTabView img {
cursor: pointer;
padding-right: 4px;
}
-#found_versions img.preview {
+.versionsTabView img.preview {
cursor: default;
opacity: 1;
}
-#found_versions .versionDate {
+.versionsTabView .versionDate {
min-width: 100px;
vertical-align: text-bottom;
}
-#found_versions .revertVersion {
+.versionsTabView .revertVersion {
cursor: pointer;
float: right;
max-width: 130px;
diff --git a/apps/files_versions/js/filesplugin.js b/apps/files_versions/js/filesplugin.js
new file mode 100644
index 00000000000..42075ce6462
--- /dev/null
+++ b/apps/files_versions/js/filesplugin.js
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2015
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+
+(function() {
+ OCA.Versions = OCA.Versions || {};
+
+ /**
+ * @namespace
+ */
+ OCA.Versions.Util = {
+ /**
+ * Initialize the versions plugin.
+ *
+ * @param {OCA.Files.FileList} fileList file list to be extended
+ */
+ attach: function(fileList) {
+ if (fileList.id === 'trashbin' || fileList.id === 'files.public') {
+ return;
+ }
+
+ fileList.registerTabView(new OCA.Versions.VersionsTabView('versionsTabView'));
+ }
+ };
+})();
+
+OC.Plugins.register('OCA.Files.FileList', OCA.Versions.Util);
+
diff --git a/apps/files_versions/js/versioncollection.js b/apps/files_versions/js/versioncollection.js
new file mode 100644
index 00000000000..3f8214cde8c
--- /dev/null
+++ b/apps/files_versions/js/versioncollection.js
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2015
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+
+(function() {
+ /**
+ * @memberof OCA.Versions
+ */
+ var VersionCollection = OC.Backbone.Collection.extend({
+ model: OCA.Versions.VersionModel,
+
+ /**
+ * @var OCA.Files.FileInfoModel
+ */
+ _fileInfo: null,
+
+ _endReached: false,
+ _currentIndex: 0,
+
+ url: function() {
+ var url = OC.generateUrl('/apps/files_versions/ajax/getVersions.php');
+ var query = {
+ source: this._fileInfo.getFullPath(),
+ start: this._currentIndex
+ };
+ return url + '?' + OC.buildQueryString(query);
+ },
+
+ setFileInfo: function(fileInfo) {
+ this._fileInfo = fileInfo;
+ // reset
+ this._endReached = false;
+ this._currentIndex = 0;
+ },
+
+ getFileInfo: function() {
+ return this._fileInfo;
+ },
+
+ hasMoreResults: function() {
+ return !this._endReached;
+ },
+
+ fetch: function(options) {
+ if (!options || options.remove) {
+ this._currentIndex = 0;
+ }
+ return OC.Backbone.Collection.prototype.fetch.apply(this, arguments);
+ },
+
+ /**
+ * Fetch the next set of results
+ */
+ fetchNext: function() {
+ if (!this.hasMoreResults()) {
+ return null;
+ }
+ if (this._currentIndex === 0) {
+ return this.fetch();
+ }
+ return this.fetch({remove: false});
+ },
+
+ parse: function(result) {
+ var results = _.map(result.data.versions, function(version) {
+ var revision = parseInt(version.version, 10);
+ return {
+ id: revision,
+ name: version.name,
+ fullPath: version.path,
+ timestamp: revision,
+ size: version.size
+ };
+ });
+ this._endReached = result.data.endReached;
+ this._currentIndex += results.length;
+ return results;
+ }
+ });
+
+ OCA.Versions = OCA.Versions || {};
+
+ OCA.Versions.VersionCollection = VersionCollection;
+})();
+
diff --git a/apps/files_versions/js/versionmodel.js b/apps/files_versions/js/versionmodel.js
new file mode 100644
index 00000000000..dc610fc2144
--- /dev/null
+++ b/apps/files_versions/js/versionmodel.js
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2015
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+
+(function() {
+ /**
+ * @memberof OCA.Versions
+ */
+ var VersionModel = OC.Backbone.Model.extend({
+
+ /**
+ * Restores the original file to this revision
+ */
+ revert: function(options) {
+ options = options ? _.clone(options) : {};
+ var model = this;
+ var file = this.getFullPath();
+ var revision = this.get('timestamp');
+
+ $.ajax({
+ type: 'GET',
+ url: OC.generateUrl('/apps/files_versions/ajax/rollbackVersion.php'),
+ dataType: 'json',
+ data: {
+ file: file,
+ revision: revision
+ },
+ success: function(response) {
+ if (response.status === 'error') {
+ if (options.error) {
+ options.error.call(options.context, model, response, options);
+ }
+ model.trigger('error', model, response, options);
+ } else {
+ if (options.success) {
+ options.success.call(options.context, model, response, options);
+ }
+ model.trigger('revert', model, response, options);
+ }
+ }
+ });
+ },
+
+ getFullPath: function() {
+ return this.get('fullPath');
+ },
+
+ getPreviewUrl: function() {
+ var url = OC.generateUrl('/apps/files_versions/preview');
+ var params = {
+ file: this.get('fullPath'),
+ version: this.get('timestamp')
+ };
+ return url + '?' + OC.buildQueryString(params);
+ },
+
+ getDownloadUrl: function() {
+ var url = OC.generateUrl('/apps/files_versions/download.php');
+ var params = {
+ file: this.get('fullPath'),
+ revision: this.get('timestamp')
+ };
+ return url + '?' + OC.buildQueryString(params);
+ }
+ });
+
+ OCA.Versions = OCA.Versions || {};
+
+ OCA.Versions.VersionModel = VersionModel;
+})();
+
diff --git a/apps/files_versions/js/versions.js b/apps/files_versions/js/versions.js
deleted file mode 100644
index e86bb4c3307..00000000000
--- a/apps/files_versions/js/versions.js
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (c) 2014
- *
- * This file is licensed under the Affero General Public License version 3
- * or later.
- *
- * See the COPYING-README file.
- *
- */
-
-/* global scanFiles, escapeHTML, formatDate */
-$(document).ready(function(){
-
- // TODO: namespace all this as OCA.FileVersions
-
- if ($('#isPublic').val()){
- // no versions actions in public mode
- // beware of https://github.com/owncloud/core/issues/4545
- // as enabling this might hang Chrome
- return;
- }
-
- if (OCA.Files) {
- // Add versions button to 'files/index.php'
- OCA.Files.fileActions.register(
- 'file',
- 'Versions',
- OC.PERMISSION_UPDATE,
- function() {
- // Specify icon for hitory button
- return OC.imagePath('core','actions/history');
- }, function(filename, context){
- // Action to perform when clicked
- if (scanFiles.scanning){return;}//workaround to prevent additional http request block scanning feedback
-
- var file = context.dir.replace(/(?!<=\/)$|\/$/, '/' + filename);
- var createDropDown = true;
- // Check if drop down is already visible for a different file
- if (($('#dropdown').length > 0) ) {
- if ( $('#dropdown').hasClass('drop-versions') && file == $('#dropdown').data('file')) {
- createDropDown = false;
- }
- $('#dropdown').slideUp(OC.menuSpeed);
- $('#dropdown').remove();
- $('tr').removeClass('mouseOver');
- }
-
- if(createDropDown === true) {
- createVersionsDropdown(filename, file, context.fileList);
- }
- }, t('files_versions', 'Versions')
- );
- }
-
- $(document).on("click", 'span[class="revertVersion"]', function() {
- var revision = $(this).attr('id');
- var file = $(this).attr('value');
- revertFile(file, revision);
- });
-
-});
-
-function revertFile(file, revision) {
-
- $.ajax({
- type: 'GET',
- url: OC.linkTo('files_versions', 'ajax/rollbackVersion.php'),
- dataType: 'json',
- data: {file: file, revision: revision},
- async: false,
- success: function(response) {
- if (response.status === 'error') {
- OC.Notification.show( t('files_version', 'Failed to revert {file} to revision {timestamp}.', {file:file, timestamp:formatDate(revision * 1000)}) );
- } else {
- $('#dropdown').slideUp(OC.menuSpeed, function() {
- $('#dropdown').closest('tr').find('.modified:first').html(relative_modified_date(revision));
- $('#dropdown').remove();
- $('tr').removeClass('mouseOver');
- });
- }
- }
- });
-
-}
-
-function goToVersionPage(url){
- window.location.assign(url);
-}
-
-function createVersionsDropdown(filename, files, fileList) {
-
- var start = 0;
- var fileEl;
-
- var html = '<div id="dropdown" class="drop drop-versions" data-file="'+escapeHTML(files)+'">';
- html += '<div id="private">';
- html += '<ul id="found_versions">';
- html += '</ul>';
- html += '</div>';
- html += '<input type="button" value="'+ t('files_versions', 'More versions...') + '" name="show-more-versions" id="show-more-versions" style="display: none;" />';
-
- if (filename) {
- fileEl = fileList.findFileEl(filename);
- fileEl.addClass('mouseOver');
- $(html).appendTo(fileEl.find('td.filename'));
- } else {
- $(html).appendTo($('thead .share'));
- }
-
- getVersions(start);
- start = start + 5;
-
- $("#show-more-versions").click(function() {
- //get more versions
- getVersions(start);
- start = start + 5;
- });
-
- function getVersions(start) {
- $.ajax({
- type: 'GET',
- url: OC.filePath('files_versions', 'ajax', 'getVersions.php'),
- dataType: 'json',
- data: {source: files, start: start},
- async: false,
- success: function(result) {
- var versions = result.data.versions;
- if (result.data.endReached === true) {
- $("#show-more-versions").css("display", "none");
- } else {
- $("#show-more-versions").css("display", "block");
- }
- if (versions) {
- $.each(versions, function(index, row) {
- addVersion(row);
- });
- } else {
- $('<div style="text-align:center;">'+ t('files_versions', 'No other versions available') + '</div>').appendTo('#dropdown');
- }
- $('#found_versions').change(function() {
- var revision = parseInt($(this).val());
- revertFile(files, revision);
- });
- }
- });
- }
-
- function addVersion( revision ) {
- var title = formatDate(revision.version*1000);
- var name ='<span class="versionDate" title="' + title + '">' + revision.humanReadableTimestamp + '</span>';
-
- var path = OC.filePath('files_versions', '', 'download.php');
-
- var preview = '<img class="preview" src="'+revision.preview+'"/>';
-
- var download ='<a href="' + path + "?file=" + encodeURIComponent(files) + '&revision=' + revision.version + '">';
- download+='<img';
- download+=' src="' + OC.imagePath('core', 'actions/download') + '"';
- download+=' name="downloadVersion" />';
- download+=name;
- download+='</a>';
-
- var revert='<span class="revertVersion"';
- revert+=' id="' + revision.version + '">';
- revert+='<img';
- revert+=' src="' + OC.imagePath('core', 'actions/history') + '"';
- revert+=' name="revertVersion"';
- revert+='/>'+t('files_versions', 'Restore')+'</span>';
-
- var version=$('<li/>');
- version.attr('value', revision.version);
- version.html(preview + download + revert);
- // add file here for proper name escaping
- version.find('span.revertVersion').attr('value', files);
-
- version.appendTo('#found_versions');
- }
-
- $('#dropdown').slideDown(1000);
-}
-
-$(this).click(
- function(event) {
- if ($('#dropdown').has(event.target).length === 0 && $('#dropdown').hasClass('drop-versions')) {
- $('#dropdown').slideUp(OC.menuSpeed, function() {
- $('#dropdown').remove();
- $('tr').removeClass('mouseOver');
- });
- }
-
-
- }
-);
diff --git a/apps/files_versions/js/versionstabview.js b/apps/files_versions/js/versionstabview.js
new file mode 100644
index 00000000000..1f84428e616
--- /dev/null
+++ b/apps/files_versions/js/versionstabview.js
@@ -0,0 +1,198 @@
+/*
+ * Copyright (c) 2015
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+
+(function() {
+ var TEMPLATE_ITEM =
+ '<li data-revision="{{timestamp}}">' +
+ '<img class="preview" src="{{previewUrl}}"/>' +
+ '<a href="{{downloadUrl}}" class="downloadVersion"><img src="{{downloadIconUrl}}" />' +
+ '<span class="versiondate has-tooltip" title="{{formattedTimestamp}}">{{relativeTimestamp}}</span>' +
+ '</a>' +
+ '<a href="#" class="revertVersion"><img src="{{revertIconUrl}}" />{{revertLabel}}</a>' +
+ '</li>';
+
+ var TEMPLATE =
+ '<ul class="versions"></ul>' +
+ '<div class="clear-float"></div>' +
+ '<div class="empty hidden">{{emptyResultLabel}}</div>' +
+ '<input type="button" class="showMoreVersions hidden" value="{{moreVersionsLabel}}"' +
+ ' name="show-more-versions" id="show-more-versions" />' +
+ '<div class="loading hidden" style="height: 50px"></div>';
+
+ /**
+ * @memberof OCA.Versions
+ */
+ var VersionsTabView = OCA.Files.DetailTabView.extend(
+ /** @lends OCA.Versions.VersionsTabView.prototype */ {
+ id: 'versionsTabView',
+ className: 'tab versionsTabView',
+
+ _template: null,
+
+ $versionsContainer: null,
+
+ events: {
+ 'click .revertVersion': '_onClickRevertVersion',
+ 'click .showMoreVersions': '_onClickShowMoreVersions'
+ },
+
+ initialize: function() {
+ this.collection = new OCA.Versions.VersionCollection();
+ this.collection.on('request', this._onRequest, this);
+ this.collection.on('sync', this._onEndRequest, this);
+ this.collection.on('update', this._onUpdate, this);
+ this.collection.on('error', this._onError, this);
+ this.collection.on('add', this._onAddModel, this);
+ },
+
+ getLabel: function() {
+ return t('files_versions', 'Versions');
+ },
+
+ nextPage: function() {
+ if (this._loading || !this.collection.hasMoreResults()) {
+ return;
+ }
+
+ if (this.collection.getFileInfo() && this.collection.getFileInfo().isDirectory()) {
+ return;
+ }
+ this.collection.fetchNext();
+ },
+
+ _onClickShowMoreVersions: function(ev) {
+ ev.preventDefault();
+ this.nextPage();
+ },
+
+ _onClickRevertVersion: function(ev) {
+ var self = this;
+ var $target = $(ev.target);
+ var fileInfoModel = this.collection.getFileInfo();
+ var revision;
+ if (!$target.is('li')) {
+ $target = $target.closest('li');
+ }
+
+ ev.preventDefault();
+ revision = $target.attr('data-revision');
+
+ var versionModel = this.collection.get(revision);
+ versionModel.revert({
+ success: function() {
+ // reset and re-fetch the updated collection
+ self.collection.setFileInfo(fileInfoModel);
+ self.collection.fetch();
+
+ // update original model
+ fileInfoModel.trigger('busy', fileInfoModel, false);
+ fileInfoModel.set({
+ size: versionModel.get('size'),
+ mtime: versionModel.get('timestamp') * 1000,
+ // temp dummy, until we can do a PROPFIND
+ etag: versionModel.get('id') + versionModel.get('timestamp')
+ });
+ },
+
+ error: function() {
+ OC.Notification.showTemporary(
+ t('files_version', 'Failed to revert {file} to revision {timestamp}.', {
+ file: versionModel.getFullPath(),
+ timestamp: OC.Util.formatDate(versionModel.get('timestamp') * 1000)
+ })
+ );
+ }
+ });
+
+ // spinner
+ this._toggleLoading(true);
+ fileInfoModel.trigger('busy', fileInfoModel, true);
+ },
+
+ _toggleLoading: function(state) {
+ this._loading = state;
+ this.$el.find('.loading').toggleClass('hidden', !state);
+ },
+
+ _onRequest: function() {
+ this._toggleLoading(true);
+ this.$el.find('.showMoreVersions').addClass('hidden');
+ },
+
+ _onEndRequest: function() {
+ this._toggleLoading(false);
+ this.$el.find('.empty').toggleClass('hidden', !!this.collection.length);
+ this.$el.find('.showMoreVersions').toggleClass('hidden', !this.collection.hasMoreResults());
+ },
+
+ _onAddModel: function(model) {
+ this.$versionsContainer.append(this.itemTemplate(this._formatItem(model)));
+ },
+
+ template: function(data) {
+ if (!this._template) {
+ this._template = Handlebars.compile(TEMPLATE);
+ }
+
+ return this._template(data);
+ },
+
+ itemTemplate: function(data) {
+ if (!this._itemTemplate) {
+ this._itemTemplate = Handlebars.compile(TEMPLATE_ITEM);
+ }
+
+ return this._itemTemplate(data);
+ },
+
+ setFileInfo: function(fileInfo) {
+ if (fileInfo) {
+ this.render();
+ this.collection.setFileInfo(fileInfo);
+ this.collection.reset({silent: true});
+ this.nextPage();
+ } else {
+ this.render();
+ this.collection.reset();
+ }
+ },
+
+ _formatItem: function(version) {
+ var timestamp = version.get('timestamp') * 1000;
+ return _.extend({
+ formattedTimestamp: OC.Util.formatDate(timestamp),
+ relativeTimestamp: OC.Util.relativeModifiedDate(timestamp),
+ downloadUrl: version.getDownloadUrl(),
+ downloadIconUrl: OC.imagePath('core', 'actions/download'),
+ revertIconUrl: OC.imagePath('core', 'actions/history'),
+ previewUrl: version.getPreviewUrl(),
+ revertLabel: t('files_versions', 'Restore'),
+ }, version.attributes);
+ },
+
+ /**
+ * Renders this details view
+ */
+ render: function() {
+ this.$el.html(this.template({
+ emptyResultLabel: t('files_versions', 'No other versions available'),
+ moreVersionsLabel: t('files_versions', 'More versions...')
+ }));
+ this.$el.find('.has-tooltip').tooltip();
+ this.$versionsContainer = this.$el.find('ul.versions');
+ this.delegateEvents();
+ }
+ });
+
+ OCA.Versions = OCA.Versions || {};
+
+ OCA.Versions.VersionsTabView = VersionsTabView;
+})();
+
diff --git a/apps/files_versions/lib/hooks.php b/apps/files_versions/lib/hooks.php
index ccd89a4a14f..5ef2cc3c7d0 100644
--- a/apps/files_versions/lib/hooks.php
+++ b/apps/files_versions/lib/hooks.php
@@ -43,6 +43,9 @@ class Hooks {
\OCP\Util::connectHook('OC_Filesystem', 'post_copy', 'OCA\Files_Versions\Hooks', 'copy_hook');
\OCP\Util::connectHook('OC_Filesystem', 'rename', 'OCA\Files_Versions\Hooks', 'pre_renameOrCopy_hook');
\OCP\Util::connectHook('OC_Filesystem', 'copy', 'OCA\Files_Versions\Hooks', 'pre_renameOrCopy_hook');
+
+ $eventDispatcher = \OC::$server->getEventDispatcher();
+ $eventDispatcher->addListener('OCA\Files::loadAdditionalScripts', ['OCA\Files_Versions\Hooks', 'onLoadFilesAppScripts']);
}
/**
@@ -154,4 +157,13 @@ class Hooks {
}
}
+ /**
+ * Load additional scripts when the files app is visible
+ */
+ public static function onLoadFilesAppScripts() {
+ \OCP\Util::addScript('files_versions', 'versionmodel');
+ \OCP\Util::addScript('files_versions', 'versioncollection');
+ \OCP\Util::addScript('files_versions', 'versionstabview');
+ \OCP\Util::addScript('files_versions', 'filesplugin');
+ }
}
diff --git a/apps/files_versions/tests/js/versioncollectionSpec.js b/apps/files_versions/tests/js/versioncollectionSpec.js
new file mode 100644
index 00000000000..87065fa1d36
--- /dev/null
+++ b/apps/files_versions/tests/js/versioncollectionSpec.js
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2015
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+describe('OCA.Versions.VersionCollection', function() {
+ var VersionCollection = OCA.Versions.VersionCollection;
+ var collection, fileInfoModel;
+
+ beforeEach(function() {
+ fileInfoModel = new OCA.Files.FileInfoModel({
+ path: '/subdir',
+ name: 'some file.txt'
+ });
+ collection = new VersionCollection();
+ collection.setFileInfo(fileInfoModel);
+ });
+ it('fetches the next page', function() {
+ collection.fetchNext();
+
+ expect(fakeServer.requests.length).toEqual(1);
+ expect(fakeServer.requests[0].url).toEqual(
+ OC.generateUrl('apps/files_versions/ajax/getVersions.php') +
+ '?source=%2Fsubdir%2Fsome%20file.txt&start=0'
+ );
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({
+ status: 'success',
+ data: {
+ endReached: false,
+ versions: [{
+ version: 10000000,
+ size: 123,
+ name: 'some file.txt',
+ fullPath: '/subdir/some file.txt'
+ },{
+ version: 15000000,
+ size: 150,
+ name: 'some file.txt',
+ path: '/subdir/some file.txt'
+ }]
+ }
+ })
+ );
+
+ expect(collection.length).toEqual(2);
+ expect(collection.hasMoreResults()).toEqual(true);
+
+ collection.fetchNext();
+
+ expect(fakeServer.requests.length).toEqual(2);
+ expect(fakeServer.requests[1].url).toEqual(
+ OC.generateUrl('apps/files_versions/ajax/getVersions.php') +
+ '?source=%2Fsubdir%2Fsome%20file.txt&start=2'
+ );
+ fakeServer.requests[1].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({
+ status: 'success',
+ data: {
+ endReached: true,
+ versions: [{
+ version: 18000000,
+ size: 123,
+ name: 'some file.txt',
+ path: '/subdir/some file.txt'
+ }]
+ }
+ })
+ );
+
+ expect(collection.length).toEqual(3);
+ expect(collection.hasMoreResults()).toEqual(false);
+
+ collection.fetchNext();
+
+ // no further requests
+ expect(fakeServer.requests.length).toEqual(2);
+ });
+ it('properly parses the results', function() {
+ collection.fetchNext();
+
+ expect(fakeServer.requests.length).toEqual(1);
+ expect(fakeServer.requests[0].url).toEqual(
+ OC.generateUrl('apps/files_versions/ajax/getVersions.php') +
+ '?source=%2Fsubdir%2Fsome%20file.txt&start=0'
+ );
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({
+ status: 'success',
+ data: {
+ endReached: false,
+ versions: [{
+ version: 10000000,
+ size: 123,
+ name: 'some file.txt',
+ path: '/subdir/some file.txt'
+ },{
+ version: 15000000,
+ size: 150,
+ name: 'some file.txt',
+ path: '/subdir/some file.txt'
+ }]
+ }
+ })
+ );
+
+ expect(collection.length).toEqual(2);
+
+ var model = collection.at(0);
+ expect(model.get('id')).toEqual(10000000);
+ expect(model.get('timestamp')).toEqual(10000000);
+ expect(model.get('name')).toEqual('some file.txt');
+ expect(model.get('fullPath')).toEqual('/subdir/some file.txt');
+ expect(model.get('size')).toEqual(123);
+
+ model = collection.at(1);
+ expect(model.get('id')).toEqual(15000000);
+ expect(model.get('timestamp')).toEqual(15000000);
+ expect(model.get('name')).toEqual('some file.txt');
+ expect(model.get('fullPath')).toEqual('/subdir/some file.txt');
+ expect(model.get('size')).toEqual(150);
+ });
+ it('resets page counted when setting a new file info model', function() {
+ collection.fetchNext();
+
+ expect(fakeServer.requests.length).toEqual(1);
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({
+ status: 'success',
+ data: {
+ endReached: true,
+ versions: [{
+ version: 18000000,
+ size: 123,
+ name: 'some file.txt',
+ path: '/subdir/some file.txt'
+ }]
+ }
+ })
+ );
+
+ expect(collection.hasMoreResults()).toEqual(false);
+
+ collection.setFileInfo(fileInfoModel);
+
+ expect(collection.hasMoreResults()).toEqual(true);
+ });
+});
+
diff --git a/apps/files_versions/tests/js/versionmodelSpec.js b/apps/files_versions/tests/js/versionmodelSpec.js
new file mode 100644
index 00000000000..0f1c06581d5
--- /dev/null
+++ b/apps/files_versions/tests/js/versionmodelSpec.js
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2015
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+describe('OCA.Versions.VersionModel', function() {
+ var VersionModel = OCA.Versions.VersionModel;
+ var model;
+
+ beforeEach(function() {
+ model = new VersionModel({
+ id: 10000000,
+ timestamp: 10000000,
+ fullPath: '/subdir/some file.txt',
+ name: 'some file.txt',
+ size: 150
+ });
+ });
+
+ it('returns the full path', function() {
+ expect(model.getFullPath()).toEqual('/subdir/some file.txt');
+ });
+ it('returns the preview url', function() {
+ expect(model.getPreviewUrl())
+ .toEqual(OC.generateUrl('/apps/files_versions/preview') +
+ '?file=%2Fsubdir%2Fsome%20file.txt&version=10000000'
+ );
+ });
+ it('returns the download url', function() {
+ expect(model.getDownloadUrl())
+ .toEqual(OC.generateUrl('/apps/files_versions/download.php') +
+ '?file=%2Fsubdir%2Fsome%20file.txt&revision=10000000'
+ );
+ });
+ describe('reverting', function() {
+ var revertEventStub;
+ var successStub;
+ var errorStub;
+
+ beforeEach(function() {
+ revertEventStub = sinon.stub();
+ errorStub = sinon.stub();
+ successStub = sinon.stub();
+
+ model.on('revert', revertEventStub);
+ model.on('error', errorStub);
+ });
+ it('tells the server to revert when calling the revert method', function() {
+ model.revert({
+ success: successStub
+ });
+
+ expect(fakeServer.requests.length).toEqual(1);
+ expect(fakeServer.requests[0].url)
+ .toEqual(
+ OC.generateUrl('/apps/files_versions/ajax/rollbackVersion.php') +
+ '?file=%2Fsubdir%2Fsome+file.txt&revision=10000000'
+ );
+
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({
+ status: 'success',
+ })
+ );
+
+ expect(revertEventStub.calledOnce).toEqual(true);
+ expect(successStub.calledOnce).toEqual(true);
+ expect(errorStub.notCalled).toEqual(true);
+ });
+ it('triggers error event when server returns a failure', function() {
+ model.revert({
+ success: successStub
+ });
+
+ expect(fakeServer.requests.length).toEqual(1);
+ fakeServer.requests[0].respond(
+ 200,
+ { 'Content-Type': 'application/json' },
+ JSON.stringify({
+ status: 'error',
+ })
+ );
+
+ expect(revertEventStub.notCalled).toEqual(true);
+ expect(successStub.notCalled).toEqual(true);
+ expect(errorStub.calledOnce).toEqual(true);
+ });
+ });
+});
+
diff --git a/apps/files_versions/tests/js/versionstabviewSpec.js b/apps/files_versions/tests/js/versionstabviewSpec.js
new file mode 100644
index 00000000000..4435f38ef7e
--- /dev/null
+++ b/apps/files_versions/tests/js/versionstabviewSpec.js
@@ -0,0 +1,208 @@
+/*
+ * Copyright (c) 2015
+ *
+ * This file is licensed under the Affero General Public License version 3
+ * or later.
+ *
+ * See the COPYING-README file.
+ *
+ */
+describe('OCA.Versions.VersionsTabView', function() {
+ var VersionCollection = OCA.Versions.VersionCollection;
+ var VersionModel = OCA.Versions.VersionModel;
+ var VersionsTabView = OCA.Versions.VersionsTabView;
+
+ var fetchStub, fileInfoModel, tabView, testVersions, clock;
+
+ beforeEach(function() {
+ clock = sinon.useFakeTimers(Date.UTC(2015, 6, 17, 1, 2, 0, 3));
+ var time1 = Date.UTC(2015, 6, 17, 1, 2, 0, 3) / 1000;
+ var time2 = Date.UTC(2015, 6, 15, 1, 2, 0, 3) / 1000;
+
+ var version1 = new VersionModel({
+ id: time1,
+ timestamp: time1,
+ name: 'some file.txt',
+ size: 140,
+ fullPath: '/subdir/some file.txt'
+ });
+ var version2 = new VersionModel({
+ id: time2,
+ timestamp: time2,
+ name: 'some file.txt',
+ size: 150,
+ fullPath: '/subdir/some file.txt'
+ });
+
+ testVersions = [version1, version2];
+
+ fetchStub = sinon.stub(VersionCollection.prototype, 'fetch');
+ fileInfoModel = new OCA.Files.FileInfoModel({
+ id: 123,
+ name: 'test.txt'
+ });
+ tabView = new VersionsTabView();
+ tabView.render();
+ });
+
+ afterEach(function() {
+ fetchStub.restore();
+ tabView.remove();
+ clock.restore();
+ });
+
+ describe('rendering', function() {
+ it('reloads matching versions when setting file info model', function() {
+ tabView.setFileInfo(fileInfoModel);
+ expect(fetchStub.calledOnce).toEqual(true);
+ });
+
+ it('renders loading icon while fetching versions', function() {
+ tabView.setFileInfo(fileInfoModel);
+ tabView.collection.trigger('request');
+
+ expect(tabView.$el.find('.loading').length).toEqual(1);
+ expect(tabView.$el.find('.versions li').length).toEqual(0);
+ });
+
+ it('renders versions', function() {
+
+ tabView.setFileInfo(fileInfoModel);
+ tabView.collection.set(testVersions);
+
+ var version1 = testVersions[0];
+ var version2 = testVersions[1];
+ var $versions = tabView.$el.find('.versions>li');
+ expect($versions.length).toEqual(2);
+ var $item = $versions.eq(0);
+ expect($item.find('.downloadVersion').attr('href')).toEqual(version1.getDownloadUrl());
+ expect($item.find('.versiondate').text()).toEqual('a few seconds ago');
+ expect($item.find('.revertVersion').length).toEqual(1);
+ expect($item.find('.preview').attr('src')).toEqual(version1.getPreviewUrl());
+
+ $item = $versions.eq(1);
+ expect($item.find('.downloadVersion').attr('href')).toEqual(version2.getDownloadUrl());
+ expect($item.find('.versiondate').text()).toEqual('2 days ago');
+ expect($item.find('.revertVersion').length).toEqual(1);
+ expect($item.find('.preview').attr('src')).toEqual(version2.getPreviewUrl());
+ });
+ });
+
+ describe('More versions', function() {
+ var hasMoreResultsStub;
+
+ beforeEach(function() {
+ tabView.collection.set(testVersions);
+ hasMoreResultsStub = sinon.stub(VersionCollection.prototype, 'hasMoreResults');
+ });
+ afterEach(function() {
+ hasMoreResultsStub.restore();
+ });
+
+ it('shows "More versions" button when more versions are available', function() {
+ hasMoreResultsStub.returns(true);
+ tabView.collection.trigger('sync');
+
+ expect(tabView.$el.find('.showMoreVersions').hasClass('hidden')).toEqual(false);
+ });
+ it('does not show "More versions" button when more versions are available', function() {
+ hasMoreResultsStub.returns(false);
+ tabView.collection.trigger('sync');
+
+ expect(tabView.$el.find('.showMoreVersions').hasClass('hidden')).toEqual(true);
+ });
+ it('fetches and appends the next page when clicking the "More" button', function() {
+ hasMoreResultsStub.returns(true);
+
+ expect(fetchStub.notCalled).toEqual(true);
+
+ tabView.$el.find('.showMoreVersions').click();
+
+ expect(fetchStub.calledOnce).toEqual(true);
+ });
+ it('appends version to the list when added to collection', function() {
+ var time3 = Date.UTC(2015, 6, 10, 1, 0, 0, 0) / 1000;
+
+ var version3 = new VersionModel({
+ id: time3,
+ timestamp: time3,
+ name: 'some file.txt',
+ size: 54,
+ fullPath: '/subdir/some file.txt'
+ });
+
+ tabView.collection.add(version3);
+
+ expect(tabView.$el.find('.versions>li').length).toEqual(3);
+
+ var $item = tabView.$el.find('.versions>li').eq(2);
+ expect($item.find('.downloadVersion').attr('href')).toEqual(version3.getDownloadUrl());
+ expect($item.find('.versiondate').text()).toEqual('7 days ago');
+ expect($item.find('.revertVersion').length).toEqual(1);
+ expect($item.find('.preview').attr('src')).toEqual(version3.getPreviewUrl());
+ });
+ });
+
+ describe('Reverting', function() {
+ var revertStub;
+
+ beforeEach(function() {
+ revertStub = sinon.stub(VersionModel.prototype, 'revert');
+ tabView.setFileInfo(fileInfoModel);
+ tabView.collection.set(testVersions);
+ });
+
+ afterEach(function() {
+ revertStub.restore();
+ });
+
+ it('tells the model to revert when clicking "Revert"', function() {
+ tabView.$el.find('.revertVersion').eq(1).click();
+
+ expect(revertStub.calledOnce).toEqual(true);
+ });
+ it('triggers busy state during revert', function() {
+ var busyStub = sinon.stub();
+ fileInfoModel.on('busy', busyStub);
+
+ tabView.$el.find('.revertVersion').eq(1).click();
+
+ expect(busyStub.calledOnce).toEqual(true);
+ expect(busyStub.calledWith(fileInfoModel, true)).toEqual(true);
+
+ busyStub.reset();
+ revertStub.getCall(0).args[0].success();
+
+ expect(busyStub.calledOnce).toEqual(true);
+ expect(busyStub.calledWith(fileInfoModel, false)).toEqual(true);
+ });
+ it('updates the file info model with the information from the reverted revision', function() {
+ var changeStub = sinon.stub();
+ fileInfoModel.on('change', changeStub);
+
+ tabView.$el.find('.revertVersion').eq(1).click();
+
+ expect(changeStub.notCalled).toEqual(true);
+
+ revertStub.getCall(0).args[0].success();
+
+ expect(changeStub.calledOnce).toEqual(true);
+ var changes = changeStub.getCall(0).args[0].changed;
+ expect(changes.size).toEqual(150);
+ expect(changes.mtime).toEqual(testVersions[1].get('timestamp') * 1000);
+ expect(changes.etag).toBeDefined();
+ });
+ it('shows notification on revert error', function() {
+ var notificationStub = sinon.stub(OC.Notification, 'showTemporary');
+
+ tabView.$el.find('.revertVersion').eq(1).click();
+
+ revertStub.getCall(0).args[0].error();
+
+ expect(notificationStub.calledOnce).toEqual(true);
+
+ notificationStub.restore();
+ });
+ });
+});
+
diff --git a/apps/provisioning_api/lib/apps.php b/apps/provisioning_api/lib/apps.php
index 168f6f3cad8..80f6e7049c6 100644
--- a/apps/provisioning_api/lib/apps.php
+++ b/apps/provisioning_api/lib/apps.php
@@ -31,13 +31,20 @@ class Apps {
/** @var \OCP\App\IAppManager */
private $appManager;
+ /**
+ * @param \OCP\App\IAppManager $appManager
+ */
public function __construct(\OCP\App\IAppManager $appManager) {
$this->appManager = $appManager;
}
- public function getApps($parameters){
+ /**
+ * @param array $parameters
+ * @return OC_OCS_Result
+ */
+ public function getApps($parameters) {
$apps = OC_App::listAllApps();
- $list = array();
+ $list = [];
foreach($apps as $app) {
$list[] = $app['id'];
}
@@ -62,7 +69,11 @@ class Apps {
}
}
- public function getAppInfo($parameters){
+ /**
+ * @param array $parameters
+ * @return OC_OCS_Result
+ */
+ public function getAppInfo($parameters) {
$app = $parameters['appid'];
$info = \OCP\App::getAppInfo($app);
if(!is_null($info)) {
@@ -72,13 +83,21 @@ class Apps {
}
}
- public function enable($parameters){
+ /**
+ * @param array $parameters
+ * @return OC_OCS_Result
+ */
+ public function enable($parameters) {
$app = $parameters['appid'];
$this->appManager->enableApp($app);
return new OC_OCS_Result(null, 100);
}
- public function disable($parameters){
+ /**
+ * @param array $parameters
+ * @return OC_OCS_Result
+ */
+ public function disable($parameters) {
$app = $parameters['appid'];
$this->appManager->disableApp($app);
return new OC_OCS_Result(null, 100);
diff --git a/apps/provisioning_api/lib/groups.php b/apps/provisioning_api/lib/groups.php
index 91d0a1c6342..c6fbe12b34e 100644
--- a/apps/provisioning_api/lib/groups.php
+++ b/apps/provisioning_api/lib/groups.php
@@ -25,6 +25,8 @@ namespace OCA\Provisioning_API;
use \OC_OCS_Result;
use \OC_SubAdmin;
+use OCP\IGroup;
+use OCP\IUser;
class Groups{
@@ -39,21 +41,25 @@ class Groups{
* @param \OCP\IUserSession $userSession
*/
public function __construct(\OCP\IGroupManager $groupManager,
- \OCP\IUserSession $userSession) {
+ \OCP\IUserSession $userSession) {
$this->groupManager = $groupManager;
$this->userSession = $userSession;
}
/**
* returns a list of groups
+ *
+ * @param array $parameters
+ * @return OC_OCS_Result
*/
- public function getGroups($parameters){
+ public function getGroups($parameters) {
$search = !empty($_GET['search']) ? $_GET['search'] : '';
$limit = !empty($_GET['limit']) ? $_GET['limit'] : null;
$offset = !empty($_GET['offset']) ? $_GET['offset'] : null;
$groups = $this->groupManager->search($search, $limit, $offset);
$groups = array_map(function($group) {
+ /** @var IGroup $group */
return $group->getGID();
}, $groups);
@@ -62,6 +68,9 @@ class Groups{
/**
* returns an array of users in the group specified
+ *
+ * @param array $parameters
+ * @return OC_OCS_Result
*/
public function getGroup($parameters) {
// Check if user is logged in
@@ -71,7 +80,7 @@ class Groups{
}
// Check the group exists
- if(!$this->groupManager->groupExists($parameters['groupid'])){
+ if(!$this->groupManager->groupExists($parameters['groupid'])) {
return new OC_OCS_Result(null, \OCP\API::RESPOND_NOT_FOUND, 'The requested group could not be found');
}
// Check subadmin has access to this group
@@ -79,6 +88,7 @@ class Groups{
|| in_array($parameters['groupid'], \OC_SubAdmin::getSubAdminsGroups($user->getUID()))){
$users = $this->groupManager->get($parameters['groupid'])->getUsers();
$users = array_map(function($user) {
+ /** @var IUser $user */
return $user->getUID();
}, $users);
$users = array_values($users);
@@ -90,23 +100,30 @@ class Groups{
/**
* creates a new group
+ *
+ * @param array $parameters
+ * @return OC_OCS_Result
*/
- public function addGroup($parameters){
+ public function addGroup($parameters) {
// Validate name
- $groupid = isset($_POST['groupid']) ? $_POST['groupid'] : '';
- if( preg_match( '/[^a-zA-Z0-9 _\.@\-]/', $groupid ) || empty($groupid)){
+ $groupId = isset($_POST['groupid']) ? $_POST['groupid'] : '';
+ if( preg_match( '/[^a-zA-Z0-9 _\.@\-]/', $groupId ) || empty($groupId)){
\OCP\Util::writeLog('provisioning_api', 'Attempt made to create group using invalid characters.', \OCP\Util::ERROR);
return new OC_OCS_Result(null, 101, 'Invalid group name');
}
// Check if it exists
- if($this->groupManager->groupExists($groupid)){
+ if($this->groupManager->groupExists($groupId)){
return new OC_OCS_Result(null, 102);
}
- $this->groupManager->createGroup($groupid);
+ $this->groupManager->createGroup($groupId);
return new OC_OCS_Result(null, 100);
}
- public function deleteGroup($parameters){
+ /**
+ * @param array $parameters
+ * @return OC_OCS_Result
+ */
+ public function deleteGroup($parameters) {
// Check it exists
if(!$this->groupManager->groupExists($parameters['groupid'])){
return new OC_OCS_Result(null, 101);
@@ -118,6 +135,10 @@ class Groups{
}
}
+ /**
+ * @param array $parameters
+ * @return OC_OCS_Result
+ */
public function getSubAdminsOfGroup($parameters) {
$group = $parameters['groupid'];
// Check group exists
diff --git a/apps/provisioning_api/lib/users.php b/apps/provisioning_api/lib/users.php
index f5b201a55ea..617e50b403e 100644
--- a/apps/provisioning_api/lib/users.php
+++ b/apps/provisioning_api/lib/users.php
@@ -48,10 +48,10 @@ class Users {
* @param \OCP\IUserManager $userManager
* @param \OCP\IConfig $config
* @param \OCP\IGroupManager $groupManager
- * @param \OCP\IUserSession $user
+ * @param \OCP\IUserSession $userSession
*/
public function __construct(\OCP\IUserManager $userManager,
- \OCP\IConfig $config,
+ \OCP\IConfig $config,
\OCP\IGroupManager $groupManager,
\OCP\IUserSession $userSession) {
$this->userManager = $userManager;
@@ -62,8 +62,10 @@ class Users {
/**
* returns a list of users
+ *
+ * @return OC_OCS_Result
*/
- public function getUsers(){
+ public function getUsers() {
$search = !empty($_GET['search']) ? $_GET['search'] : '';
$limit = !empty($_GET['limit']) ? $_GET['limit'] : null;
$offset = !empty($_GET['offset']) ? $_GET['offset'] : null;
@@ -76,7 +78,10 @@ class Users {
]);
}
- public function addUser(){
+ /**
+ * @return OC_OCS_Result
+ */
+ public function addUser() {
$userId = isset($_POST['userid']) ? $_POST['userid'] : null;
$password = isset($_POST['password']) ? $_POST['password'] : null;
if($this->userManager->userExists($userId)) {
@@ -96,6 +101,9 @@ class Users {
/**
* gets user info
+ *
+ * @param array $parameters
+ * @return OC_OCS_Result
*/
public function getUser($parameters){
$userId = $parameters['userid'];
@@ -150,8 +158,11 @@ class Users {
/**
* edit users
+ *
+ * @param array $parameters
+ * @return OC_OCS_Result
*/
- public function editUser($parameters){
+ public function editUser($parameters) {
$userId = $parameters['userid'];
// Check if user is logged in
@@ -230,7 +241,11 @@ class Users {
return new OC_OCS_Result(null, 100);
}
- public function deleteUser($parameters){
+ /**
+ * @param array $parameters
+ * @return OC_OCS_Result
+ */
+ public function deleteUser($parameters) {
// Check if user is logged in
$user = $this->userSession->getUser();
if ($user === null) {
@@ -253,6 +268,10 @@ class Users {
}
}
+ /**
+ * @param array $parameters
+ * @return OC_OCS_Result
+ */
public function getUsersGroups($parameters) {
// Check if user is logged in
$user = $this->userSession->getUser();
@@ -286,7 +305,11 @@ class Users {
}
- public function addToGroup($parameters){
+ /**
+ * @param array $parameters
+ * @return OC_OCS_Result
+ */
+ public function addToGroup($parameters) {
// Check if user is logged in
$user = $this->userSession->getUser();
if ($user === null) {
@@ -317,6 +340,10 @@ class Users {
return new OC_OCS_Result(null, 100);
}
+ /**
+ * @param array $parameters
+ * @return OC_OCS_Result
+ */
public function removeFromGroup($parameters) {
// Check if user is logged in
$user = $this->userSession->getUser();
@@ -362,6 +389,9 @@ class Users {
/**
* Creates a subadmin
+ *
+ * @param array $parameters
+ * @return OC_OCS_Result
*/
public function addSubAdmin($parameters) {
$group = $_POST['groupid'];
@@ -393,6 +423,9 @@ class Users {
/**
* Removes a subadmin from a group
+ *
+ * @param array $parameters
+ * @return OC_OCS_Result
*/
public function removeSubAdmin($parameters) {
$group = $parameters['_delete']['groupid'];
@@ -414,7 +447,10 @@ class Users {
}
/**
- * @Get the groups a user is a subadmin of
+ * Get the groups a user is a subadmin of
+ *
+ * @param array $parameters
+ * @return OC_OCS_Result
*/
public function getUserSubAdminGroups($parameters) {
$user = $parameters['userid'];
@@ -431,8 +467,8 @@ class Users {
}
/**
- * @param $userId
- * @param $data
+ * @param string $userId
+ * @param array $data
* @return mixed
* @throws \OCP\Files\NotFoundException
*/
diff --git a/apps/user_ldap/appinfo/app.php b/apps/user_ldap/appinfo/app.php
index 68fd1b698e0..60c2accdccb 100644
--- a/apps/user_ldap/appinfo/app.php
+++ b/apps/user_ldap/appinfo/app.php
@@ -59,9 +59,6 @@ if(count($configPrefixes) > 0) {
OC_Group::useBackend($groupBackend);
}
-OCP\Backgroundjob::registerJob('OCA\user_ldap\lib\Jobs');
-OCP\Backgroundjob::registerJob('\OCA\User_LDAP\Jobs\CleanUp');
-
\OCP\Util::connectHook(
'\OCA\Files_Sharing\API\Server2Server',
'preLoginNameUsedAsUserName',
diff --git a/apps/user_ldap/appinfo/install.php b/apps/user_ldap/appinfo/install.php
index 0b3f84b8baf..f70eb746480 100644
--- a/apps/user_ldap/appinfo/install.php
+++ b/apps/user_ldap/appinfo/install.php
@@ -23,3 +23,6 @@ $state = OCP\Config::getSystemValue('ldapIgnoreNamingRules', 'doSet');
if($state === 'doSet') {
OCP\Config::setSystemValue('ldapIgnoreNamingRules', false);
}
+
+OCP\Backgroundjob::registerJob('OCA\user_ldap\lib\Jobs');
+OCP\Backgroundjob::registerJob('\OCA\User_LDAP\Jobs\CleanUp');
diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php
index 4907db0cdae..33a7219644b 100644
--- a/apps/user_ldap/appinfo/update.php
+++ b/apps/user_ldap/appinfo/update.php
@@ -34,3 +34,6 @@ if(version_compare($installedVersion, '0.6.2', '<')) {
\OC::$server->getConfig()->deleteAppValue('user_ldap', $prefix . "ldap_nocase");
}
}
+
+OCP\Backgroundjob::registerJob('OCA\user_ldap\lib\Jobs');
+OCP\Backgroundjob::registerJob('\OCA\User_LDAP\Jobs\CleanUp');
diff --git a/apps/user_ldap/appinfo/version b/apps/user_ldap/appinfo/version
index b6160487433..844f6a91acb 100644
--- a/apps/user_ldap/appinfo/version
+++ b/apps/user_ldap/appinfo/version
@@ -1 +1 @@
-0.6.2
+0.6.3
diff --git a/apps/user_ldap/l10n/tr.js b/apps/user_ldap/l10n/tr.js
index 8a4e0cad033..944d39928d0 100644
--- a/apps/user_ldap/l10n/tr.js
+++ b/apps/user_ldap/l10n/tr.js
@@ -32,11 +32,20 @@ OC.L10N.register(
"Mappings cleared successfully!" : "Eşleştirmeler başarıyla temizlendi!",
"Error while clearing the mappings." : "Eşleşmeler temizlenirken hata.",
"Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonim atamaya izin verilmiyor. Lütfen bir Kullanıcı DN ve Parola sağlayın.",
+ "LDAP Operations error. Anonymous bind might not be allowed." : "LDAP İşlem hatası. Anonim bağlamaya izin verilmiyor.",
+ "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Kaydetme başarısız oldu. Veritabanının işlemde olduğundan emin olun. Devam etmeden yeniden yükleyin.",
+ "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Kipi değiştirmek otomatik LDAP sorgularını etkinleştirecektir. LDAP'ınızın boyutlarına göre bu bir süre alacaktır. Kipi yine de değiştirmek istiyor musunuz?",
"Mode switch" : "Kip değişimi",
"Select attributes" : "Nitelikleri seç",
+ "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Kullanıcı bulunamadı. Lütfen oturum açtığınız nitelikleri ve kullanıcı adını kontrol edin. Etkili filtre (komut satırı doğrulaması için kopyala-yapıştır için): <br/>",
+ "User found and settings verified." : "Kullanıcı bulundu ve ayarlar doğrulandı.",
"Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Ayarlar doğrulandı ancak tek kullanıcı bulundu. Sadece ilk kullanıcı oturum açabilecek. Lütfen daha dar bir filtre seçin.",
"An unspecified error occurred. Please check the settings and the log." : "Belirtilmeyen bir hata oluştu. Lütfen ayarları ve günlüğü denetleyin.",
"The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Arama filtresi, eşleşmeyen parantez sayısı sebebiyle oluşabilen sözdizimi sorunlarından dolayı geçersiz. Lütfen gözden geçirin.",
+ "A connection error to LDAP / AD occurred, please check host, port and credentials." : "LDAP / AD için bir bağlantı hatası oluştu, lütfen istemci, port ve kimlik bilgilerini kontrol edin.",
+ "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "%uid yer tutucusu eksik. LDAP / AD sorgularında kullanıcı adı ile değiştirilecek.",
+ "Please provide a login name to test against" : "Lütfen deneme için kullanılacak bir kullanıcı adı girin",
+ "The group box was disabled, because the LDAP / AD server does not support memberOf." : "LDAP / AD sunucusu memberOf desteklemediğinden grup kutusu kapatıldı.",
"_%s group found_::_%s groups found_" : ["%s grup bulundu","%s grup bulundu"],
"_%s user found_::_%s users found_" : ["%s kullanıcı bulundu","%s kullanıcı bulundu"],
"Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Görüntülenecek kullanıcı adı özelliği algılanamadı. Lütfen gelişmiş ldap ayarlarına girerek kendiniz belirleyin.",
@@ -60,6 +69,9 @@ OC.L10N.register(
"Verify settings and count groups" : "Ayarları doğrula ve grupları say",
"When logging in, %s will find the user based on the following attributes:" : "Oturum açılırken, %s, aşağıdaki özniteliklere bağlı kullanıcıyı bulacak:",
"LDAP / AD Username:" : "LDAP / AD Kullanıcı Adı:",
+ "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "LDAP / AD kullanıcı adı ile oturum açmaya izin verir.",
+ "LDAP / AD Email Address:" : "LDAP / AD Eposta Adresi:",
+ "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Bir eposta kimliği ile oturum açmaya izin verir. Mail ve mailPrimaryAddress'e izin verilir.",
"Other Attributes:" : "Diğer Nitelikler:",
"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Oturum açma girişimi olduğunda uygulanacak filtreyi tanımlar. %%uid, oturum işleminde kullanıcı adı ile değiştirilir. Örneğin: \"uid=%%uid\"",
"Test Loginname" : "Oturum açma adını sına",
diff --git a/apps/user_ldap/l10n/tr.json b/apps/user_ldap/l10n/tr.json
index f3641a9a16d..553dfe6cdbd 100644
--- a/apps/user_ldap/l10n/tr.json
+++ b/apps/user_ldap/l10n/tr.json
@@ -30,11 +30,20 @@
"Mappings cleared successfully!" : "Eşleştirmeler başarıyla temizlendi!",
"Error while clearing the mappings." : "Eşleşmeler temizlenirken hata.",
"Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonim atamaya izin verilmiyor. Lütfen bir Kullanıcı DN ve Parola sağlayın.",
+ "LDAP Operations error. Anonymous bind might not be allowed." : "LDAP İşlem hatası. Anonim bağlamaya izin verilmiyor.",
+ "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Kaydetme başarısız oldu. Veritabanının işlemde olduğundan emin olun. Devam etmeden yeniden yükleyin.",
+ "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Kipi değiştirmek otomatik LDAP sorgularını etkinleştirecektir. LDAP'ınızın boyutlarına göre bu bir süre alacaktır. Kipi yine de değiştirmek istiyor musunuz?",
"Mode switch" : "Kip değişimi",
"Select attributes" : "Nitelikleri seç",
+ "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Kullanıcı bulunamadı. Lütfen oturum açtığınız nitelikleri ve kullanıcı adını kontrol edin. Etkili filtre (komut satırı doğrulaması için kopyala-yapıştır için): <br/>",
+ "User found and settings verified." : "Kullanıcı bulundu ve ayarlar doğrulandı.",
"Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Ayarlar doğrulandı ancak tek kullanıcı bulundu. Sadece ilk kullanıcı oturum açabilecek. Lütfen daha dar bir filtre seçin.",
"An unspecified error occurred. Please check the settings and the log." : "Belirtilmeyen bir hata oluştu. Lütfen ayarları ve günlüğü denetleyin.",
"The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Arama filtresi, eşleşmeyen parantez sayısı sebebiyle oluşabilen sözdizimi sorunlarından dolayı geçersiz. Lütfen gözden geçirin.",
+ "A connection error to LDAP / AD occurred, please check host, port and credentials." : "LDAP / AD için bir bağlantı hatası oluştu, lütfen istemci, port ve kimlik bilgilerini kontrol edin.",
+ "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "%uid yer tutucusu eksik. LDAP / AD sorgularında kullanıcı adı ile değiştirilecek.",
+ "Please provide a login name to test against" : "Lütfen deneme için kullanılacak bir kullanıcı adı girin",
+ "The group box was disabled, because the LDAP / AD server does not support memberOf." : "LDAP / AD sunucusu memberOf desteklemediğinden grup kutusu kapatıldı.",
"_%s group found_::_%s groups found_" : ["%s grup bulundu","%s grup bulundu"],
"_%s user found_::_%s users found_" : ["%s kullanıcı bulundu","%s kullanıcı bulundu"],
"Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Görüntülenecek kullanıcı adı özelliği algılanamadı. Lütfen gelişmiş ldap ayarlarına girerek kendiniz belirleyin.",
@@ -58,6 +67,9 @@
"Verify settings and count groups" : "Ayarları doğrula ve grupları say",
"When logging in, %s will find the user based on the following attributes:" : "Oturum açılırken, %s, aşağıdaki özniteliklere bağlı kullanıcıyı bulacak:",
"LDAP / AD Username:" : "LDAP / AD Kullanıcı Adı:",
+ "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "LDAP / AD kullanıcı adı ile oturum açmaya izin verir.",
+ "LDAP / AD Email Address:" : "LDAP / AD Eposta Adresi:",
+ "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Bir eposta kimliği ile oturum açmaya izin verir. Mail ve mailPrimaryAddress'e izin verilir.",
"Other Attributes:" : "Diğer Nitelikler:",
"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Oturum açma girişimi olduğunda uygulanacak filtreyi tanımlar. %%uid, oturum işleminde kullanıcı adı ile değiştirilir. Örneğin: \"uid=%%uid\"",
"Test Loginname" : "Oturum açma adını sına",
diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php
index 6f2fdce1b5f..f6b123babd0 100644
--- a/apps/user_ldap/lib/connection.php
+++ b/apps/user_ldap/lib/connection.php
@@ -206,7 +206,7 @@ class Connection extends LDAPUtility {
}
$key = $this->getCacheKey($key);
- return unserialize(base64_decode($this->cache->get($key)));
+ return json_decode(base64_decode($this->cache->get($key)));
}
/**
@@ -240,7 +240,7 @@ class Connection extends LDAPUtility {
return null;
}
$key = $this->getCacheKey($key);
- $value = base64_encode(serialize($value));
+ $value = base64_encode(json_encode($value));
$this->cache->set($key, $value, $this->configuration->ldapCacheTTL);
}
diff --git a/apps/user_ldap/lib/proxy.php b/apps/user_ldap/lib/proxy.php
index ef01213990c..2a423cb0e4b 100644
--- a/apps/user_ldap/lib/proxy.php
+++ b/apps/user_ldap/lib/proxy.php
@@ -161,7 +161,7 @@ abstract class Proxy {
}
$key = $this->getCacheKey($key);
- return unserialize(base64_decode($this->cache->get($key)));
+ return json_decode(base64_decode($this->cache->get($key)));
}
/**
@@ -185,7 +185,7 @@ abstract class Proxy {
return;
}
$key = $this->getCacheKey($key);
- $value = base64_encode(serialize($value));
+ $value = base64_encode(json_encode($value));
$this->cache->set($key, $value, '2592000');
}