diff --git a/.gitignore b/.gitignore index e61ec6f035..b24edc9128 100644 --- a/.gitignore +++ b/.gitignore @@ -86,6 +86,11 @@ nbproject # Node Modules /build/node_modules/ +# nodejs +/build/lib/ +/npm-debug.log + + # Tests - auto-generated files /data-autotest /tests/coverage* diff --git a/.gitmodules b/.gitmodules index b9c1a3702c..bc2beee81a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "3rdparty"] path = 3rdparty - url = git://github.com/owncloud/3rdparty.git + url = https://github.com/owncloud/3rdparty.git diff --git a/.scrutinizer.yml b/.scrutinizer.yml new file mode 100644 index 0000000000..4473cf9056 --- /dev/null +++ b/.scrutinizer.yml @@ -0,0 +1,23 @@ +filter: + excluded_paths: + - '3rdparty/*' + - 'apps/*/3rdparty/*' + - 'l10n/*' + - 'core/l10n/*' + - 'apps/*/l10n/*' + - 'lib/l10n/*' + - 'core/js/tests/lib/*.js' + - 'core/js/jquery-1.10.0.min.js' + - 'core/js/jquery-migrate-1.2.1.min.js' + - 'core/js/jquery-showpassword.js' + - 'core/js/jquery-tipsy.js' + - 'core/js/jquery.infieldlabel.js' + - 'core/js/jquery-ui-1.10.0.custom.js' + - 'core/js/jquery.inview.js' + - 'core/js/jquery.placeholder.js' + + +imports: + - javascript + - php + diff --git a/3rdparty b/3rdparty index 177d3ff656..da3c9f651a 160000 --- a/3rdparty +++ b/3rdparty @@ -1 +1 @@ -Subproject commit 177d3ff656bcf1153b4def12403c5f2d4fc53e73 +Subproject commit da3c9f651a26cf076249ebf25c477e3791e69ca3 diff --git a/apps/files/ajax/delete.php b/apps/files/ajax/delete.php index 69f859daa9..f6aa4f0c90 100644 --- a/apps/files/ajax/delete.php +++ b/apps/files/ajax/delete.php @@ -1,15 +1,14 @@ close(); + // Get data $dir = stripslashes($_POST["dir"]); $files = isset($_POST["file"]) ? $_POST["file"] : $_POST["files"]; -$allFiles = isset($_POST["allfiles"]) ? $_POST["allfiles"] : $_POST["allfiles"]; +$allFiles = isset($_POST["allfiles"]) ? $_POST["allfiles"] : false; if ($allFiles === 'true') { $allFiles = true; } diff --git a/apps/files/ajax/download.php b/apps/files/ajax/download.php index 6a34cbe4ef..4b4a7f8948 100644 --- a/apps/files/ajax/download.php +++ b/apps/files/ajax/download.php @@ -21,14 +21,9 @@ * */ -// only need filesystem apps -$RUNTIME_APPTYPES=array('filesystem'); - -// Init owncloud - - // Check if we are a user OCP\User::checkLoggedIn(); +\OC::$session->close(); $files = $_GET["files"]; $dir = $_GET["dir"]; diff --git a/apps/files/ajax/getstoragestats.php b/apps/files/ajax/getstoragestats.php index dd7c7dc557..dd8af39bad 100644 --- a/apps/files/ajax/getstoragestats.php +++ b/apps/files/ajax/getstoragestats.php @@ -1,8 +1,5 @@ close(); // send back json OCP\JSON::success(array('data' => \OCA\Files\Helper::buildFileStorageStatistics($dir))); diff --git a/apps/files/ajax/list.php b/apps/files/ajax/list.php index c8286bc15c..3bb35579d5 100644 --- a/apps/files/ajax/list.php +++ b/apps/files/ajax/list.php @@ -1,12 +1,7 @@ close(); // Load the files $dir = isset( $_GET['dir'] ) ? $_GET['dir'] : ''; diff --git a/apps/files/ajax/mimeicon.php b/apps/files/ajax/mimeicon.php index dbb8b60112..6557ff941a 100644 --- a/apps/files/ajax/mimeicon.php +++ b/apps/files/ajax/mimeicon.php @@ -1,3 +1,4 @@ close(); print OC_Helper::mimetypeIcon($_GET['mime']); diff --git a/apps/files/ajax/move.php b/apps/files/ajax/move.php index 93063e52eb..0a8dbc24a6 100644 --- a/apps/files/ajax/move.php +++ b/apps/files/ajax/move.php @@ -1,10 +1,8 @@ close(); // Get data $dir = stripslashes($_POST["dir"]); @@ -18,7 +16,7 @@ if(\OC\Files\Filesystem::file_exists($target . '/' . $file)) { exit; } -if ($dir != '' || $file != 'Shared') { +if ($target != '' || strtolower($file) != 'shared') { $targetFile = \OC\Files\Filesystem::normalizePath($target . '/' . $file); $sourceFile = \OC\Files\Filesystem::normalizePath($dir . '/' . $file); if(\OC\Files\Filesystem::rename($sourceFile, $targetFile)) { diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php index 0187b20075..1234cf1139 100644 --- a/apps/files/ajax/newfile.php +++ b/apps/files/ajax/newfile.php @@ -7,7 +7,8 @@ if(!OC_User::isLoggedIn()) { exit; } -session_write_close(); +\OC::$session->close(); + // Get the params $dir = isset( $_REQUEST['dir'] ) ? '/'.trim($_REQUEST['dir'], '/\\') : ''; $filename = isset( $_REQUEST['filename'] ) ? trim($_REQUEST['filename'], '/\\') : ''; diff --git a/apps/files/ajax/newfolder.php b/apps/files/ajax/newfolder.php index b2b4fb27f7..032447460f 100644 --- a/apps/files/ajax/newfolder.php +++ b/apps/files/ajax/newfolder.php @@ -5,6 +5,7 @@ OCP\JSON::checkLoggedIn(); OCP\JSON::callCheck(); +\OC::$session->close(); // Get the params $dir = isset( $_POST['dir'] ) ? stripslashes($_POST['dir']) : ''; diff --git a/apps/files/ajax/rawlist.php b/apps/files/ajax/rawlist.php index 40da32b223..f18bbffb74 100644 --- a/apps/files/ajax/rawlist.php +++ b/apps/files/ajax/rawlist.php @@ -1,12 +1,10 @@ close(); // Load the files -$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : ''; +$dir = isset($_GET['dir']) ? $_GET['dir'] : ''; $mimetypes = isset($_GET['mimetypes']) ? json_decode($_GET['mimetypes'], true) : ''; // Clean up duplicates from array and deal with non-array requests @@ -18,43 +16,39 @@ if (is_array($mimetypes)) { // make filelist $files = array(); +/** + * @var \OCP\Files\FileInfo[] $files + */ // If a type other than directory is requested first load them. -if($mimetypes && !in_array('httpd/unix-directory', $mimetypes)) { - foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, 'httpd/unix-directory' ) as $file ) { - $file['directory'] = $dir; - $file['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file['mimetype']); - $file["date"] = OCP\Util::formatDate($file["mtime"]); - $file['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file); - $files[] = $file; - } +if ($mimetypes && !in_array('httpd/unix-directory', $mimetypes)) { + $files = array_merge($files, \OC\Files\Filesystem::getDirectoryContent($dir, 'httpd/unix-directory')); } if (is_array($mimetypes) && count($mimetypes)) { foreach ($mimetypes as $mimetype) { - foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, $mimetype ) as $file ) { - $file['directory'] = $dir; - $file['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file['mimetype']); - $file["date"] = OCP\Util::formatDate($file["mtime"]); - $file['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file); - $files[] = $file; - } + $files = array_merge($files, \OC\Files\Filesystem::getDirectoryContent($dir, $mimetype)); } } else { - foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $file ) { - $file['directory'] = $dir; - $file['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file['mimetype']); - $file["date"] = OCP\Util::formatDate($file["mtime"]); - $file['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file); - $files[] = $file; - } + $files = array_merge($files, \OC\Files\Filesystem::getDirectoryContent($dir)); +} +// Sort by name +usort($files, array('\OCA\Files\Helper', 'fileCmp')); + +$result = array(); +foreach ($files as $file) { + $fileData = array(); + $fileData['directory'] = $dir; + $fileData['name'] = $file->getName(); + $fileData['type'] = $file->getType(); + $fileData['path'] = $file['path']; + $fileData['id'] = $file->getId(); + $fileData['size'] = $file->getSize(); + $fileData['mtime'] = $file->getMtime(); + $fileData['mimetype'] = $file->getMimetype(); + $fileData['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file->getMimetype()); + $fileData["date"] = OCP\Util::formatDate($file->getMtime()); + $fileData['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file); + $result[] = $fileData; } -// Sort by name -usort($files, function ($a, $b) { - if ($a['name'] === $b['name']) { - return 0; - } - return ($a['name'] < $b['name']) ? -1 : 1; -}); - -OC_JSON::success(array('data' => $files)); +OC_JSON::success(array('data' => $result)); diff --git a/apps/files/ajax/rename.php b/apps/files/ajax/rename.php index 5b07c306af..fa3ddace63 100644 --- a/apps/files/ajax/rename.php +++ b/apps/files/ajax/rename.php @@ -23,6 +23,7 @@ OCP\JSON::checkLoggedIn(); OCP\JSON::callCheck(); +\OC::$session->close(); $files = new \OCA\Files\App( \OC\Files\Filesystem::getView(), diff --git a/apps/files/ajax/scan.php b/apps/files/ajax/scan.php index 5b32b6db9b..d5d8848380 100644 --- a/apps/files/ajax/scan.php +++ b/apps/files/ajax/scan.php @@ -1,6 +1,6 @@ close(); $force = (isset($_GET['force']) and ($_GET['force'] === 'true')); $dir = isset($_GET['dir']) ? $_GET['dir'] : ''; diff --git a/apps/files/ajax/upgrade.php b/apps/files/ajax/upgrade.php deleted file mode 100644 index 7237b02c0b..0000000000 --- a/apps/files/ajax/upgrade.php +++ /dev/null @@ -1,44 +0,0 @@ -hasItems()) { - OC_Hook::connect('\OC\Files\Cache\Upgrade', 'migrate_path', $listener, 'upgradePath'); - - OC_DB::beginTransaction(); - $upgrade = new \OC\Files\Cache\Upgrade($legacy); - $count = $legacy->getCount(); - $eventSource->send('total', $count); - $upgrade->upgradePath('/' . $user . '/files'); - OC_DB::commit(); -} -\OC\Files\Cache\Upgrade::upgradeDone($user); -$eventSource->send('done', true); -$eventSource->close(); - -class UpgradeListener { - /** - * @var OC_EventSource $eventSource - */ - private $eventSource; - - private $count = 0; - private $lastSend = 0; - - public function __construct($eventSource) { - $this->eventSource = $eventSource; - } - - public function upgradePath($path) { - $this->count++; - if ($this->count > ($this->lastSend + 5)) { - $this->lastSend = $this->count; - $this->eventSource->send('count', $this->count); - } - } -} diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php index 145f40c50d..4ed51c5277 100644 --- a/apps/files/ajax/upload.php +++ b/apps/files/ajax/upload.php @@ -58,6 +58,10 @@ if (empty($_POST['dirToken'])) { OCP\JSON::callCheck(); +if (!\OCP\App::isEnabled('files_encryption')) { + // encryption app need to create keys later, so can't close too early + \OC::$session->close(); +} // get array with current storage stats (e.g. max file size) diff --git a/apps/files/appinfo/app.php b/apps/files/appinfo/app.php index 909baca92e..15a2913378 100644 --- a/apps/files/appinfo/app.php +++ b/apps/files/appinfo/app.php @@ -12,13 +12,6 @@ OCP\App::addNavigationEntry(array("id" => "files_index", OC_Search::registerProvider('OC_Search_Provider_File'); -// cache hooks must be connected before all other apps. -// since 'files' is always loaded first the hooks need to be connected here -\OC_Hook::connect('OC_Filesystem', 'post_write', '\OC\Files\Cache\Updater', 'writeHook'); -\OC_Hook::connect('OC_Filesystem', 'post_touch', '\OC\Files\Cache\Updater', 'touchHook'); -\OC_Hook::connect('OC_Filesystem', 'post_delete', '\OC\Files\Cache\Updater', 'deleteHook'); -\OC_Hook::connect('OC_Filesystem', 'post_rename', '\OC\Files\Cache\Updater', 'renameHook'); - \OCP\BackgroundJob::addRegularTask('\OC\Files\Cache\BackgroundWatcher', 'checkNext'); $templateManager = OC_Helper::getFileTemplateManager(); diff --git a/apps/files/appinfo/remote.php b/apps/files/appinfo/remote.php index ef22fe9218..a8acfdb6e6 100644 --- a/apps/files/appinfo/remote.php +++ b/apps/files/appinfo/remote.php @@ -22,12 +22,6 @@ * License along with this library. If not, see . * */ -// load needed apps -$RUNTIME_APPTYPES = array('filesystem', 'authentication', 'logging'); - -OC_App::loadApps($RUNTIME_APPTYPES); - -OC_Util::obEnd(); // Backends $authBackend = new OC_Connector_Sabre_Auth(); @@ -47,7 +41,6 @@ $server->setBaseUri($baseuri); $defaults = new OC_Defaults(); $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, $defaults->getName())); $server->addPlugin(new Sabre_DAV_Locks_Plugin($lockBackend)); -$server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload $server->addPlugin(new OC_Connector_Sabre_FilesPlugin()); $server->addPlugin(new OC_Connector_Sabre_AbortedUploadDetectionPlugin()); $server->addPlugin(new OC_Connector_Sabre_QuotaPlugin()); diff --git a/apps/files/command/scan.php b/apps/files/command/scan.php index f334f29a93..25ab70af36 100644 --- a/apps/files/command/scan.php +++ b/apps/files/command/scan.php @@ -58,7 +58,6 @@ class Scan extends Command { protected function execute(InputInterface $input, OutputInterface $output) { if ($input->getOption('all')) { - \OC_App::loadApps('authentication'); $users = $this->userManager->search(''); } else { $users = $input->getArgument('user_id'); diff --git a/apps/files/css/files.css b/apps/files/css/files.css index af863aca33..1bac5d2b7d 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -77,10 +77,10 @@ } /* make sure there's enough room for the file actions */ #body-user #filestable { - min-width: 750px; + min-width: 688px; /* 768 (mobile break) - 80 (nav width) */ } #body-user #controls { - min-width: 600px; + min-width: 688px; /* 768 (mobile break) - 80 (nav width) */ } #filestable tbody tr { background-color:#fff; height:40px; } diff --git a/apps/files/css/mobile.css b/apps/files/css/mobile.css new file mode 100644 index 0000000000..3ad7d63483 --- /dev/null +++ b/apps/files/css/mobile.css @@ -0,0 +1,68 @@ +@media only screen and (max-width: 768px) { + +/* don’t require a minimum width for files table */ +#body-user #filestable { + min-width: initial !important; +} + +/* do not show Deleted Files on mobile, not optimized yet and button too long */ +#controls #trash { + display: none; +} + +/* hide size and date columns */ +table th#headerSize, +table td.filesize, +table th#headerDate, +table td.date { + display: none; +} + +/* remove shift for multiselect bar to account for missing navigation */ +table.multiselect thead { + padding-left: 0; +} + +/* restrict length of displayed filename to prevent overflow */ +table td.filename .nametext { + max-width: 75% !important; +} + +/* always show actions on mobile, not only on hover */ +#fileList a.action { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)" !important; + filter: alpha(opacity=20) !important; + opacity: .2 !important; + display: inline !important; +} +/* do not show Rename or Versions on mobile */ +#fileList .action.action-rename, +#fileList .action.action-versions { + display: none !important; +} +/* some padding for better clickability */ +#fileList a.action img { + padding: 0 6px 0 12px; +} +/* hide text of the actions on mobile */ +#fileList a.action span { + display: none; +} + +/* ellipsis on file names */ +.nametext { + width: 60%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +/* proper notification area for multi line messages */ +#notification-container { + display: -webkit-box; + display: -moz-box; + display: -ms-flexbox; + display: -webkit-flex; + display: flex; +} +} diff --git a/apps/files/index.php b/apps/files/index.php index ad7a2e210e..73601d2621 100644 --- a/apps/files/index.php +++ b/apps/files/index.php @@ -27,6 +27,7 @@ OCP\User::checkLoggedIn(); // Load the files we need OCP\Util::addStyle('files', 'files'); OCP\Util::addStyle('files', 'upload'); +OCP\Util::addStyle('files', 'mobile'); OCP\Util::addscript('files', 'file-upload'); OCP\Util::addscript('files', 'jquery.iframe-transport'); OCP\Util::addscript('files', 'jquery.fileupload'); @@ -62,22 +63,17 @@ if ($isIE8 && isset($_GET['dir'])){ $ajaxLoad = false; $files = array(); $user = OC_User::getUser(); -if (\OC\Files\Cache\Upgrade::needUpgrade($user)) { //dont load anything if we need to upgrade the cache - $needUpgrade = true; -} else { - if ($isIE8){ - // after the redirect above, the URL will have a format - // like "files#?dir=path" which means that no path was given - // (dir is not set). In that specific case, we don't return any - // files because the client will take care of switching the dir - // to the one from the hash, then ajax-load the initial file list - $files = array(); - $ajaxLoad = true; - } - else{ - $files = \OCA\Files\Helper::getFiles($dir); - } - $needUpgrade = false; +if ($isIE8){ + // after the redirect above, the URL will have a format + // like "files#?dir=path" which means that no path was given + // (dir is not set). In that specific case, we don't return any + // files because the client will take care of switching the dir + // to the one from the hash, then ajax-load the initial file list + $files = array(); + $ajaxLoad = true; +} +else{ + $files = \OCA\Files\Helper::getFiles($dir); } $config = \OC::$server->getConfig(); @@ -97,62 +93,56 @@ $breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir $permissions = $dirInfo->getPermissions(); -if ($needUpgrade) { - OCP\Util::addscript('files', 'upgrade'); - $tmpl = new OCP\Template('files', 'upgrade', 'user'); - $tmpl->printPage(); -} else { - // information about storage capacities - $storageInfo=OC_Helper::getStorageInfo($dir); - $freeSpace=$storageInfo['free']; - $uploadLimit=OCP\Util::uploadLimit(); - $maxUploadFilesize=OCP\Util::maxUploadFilesize($dir); - $publicUploadEnabled = $config->getAppValue('core', 'shareapi_allow_public_upload', 'yes'); - // if the encryption app is disabled, than everything is fine (INIT_SUCCESSFUL status code) - $encryptionInitStatus = 2; - if (OC_App::isEnabled('files_encryption')) { - $session = new \OCA\Encryption\Session(new \OC\Files\View('/')); - $encryptionInitStatus = $session->getInitialized(); - } - - $trashEnabled = \OCP\App::isEnabled('files_trashbin'); - $trashEmpty = true; - if ($trashEnabled) { - $trashEmpty = \OCA\Files_Trashbin\Trashbin::isEmpty($user); - } - - $isCreatable = \OC\Files\Filesystem::isCreatable($dir . '/'); - $fileHeader = (!isset($files) or count($files) > 0); - $emptyContent = ($isCreatable and !$fileHeader) or $ajaxLoad; - - OCP\Util::addscript('files', 'fileactions'); - OCP\Util::addscript('files', 'files'); - OCP\Util::addscript('files', 'keyboardshortcuts'); - $tmpl = new OCP\Template('files', 'index', 'user'); - $tmpl->assign('fileList', $list->fetchPage()); - $tmpl->assign('breadcrumb', $breadcrumbNav->fetchPage()); - $tmpl->assign('dir', $dir); - $tmpl->assign('isCreatable', $isCreatable); - $tmpl->assign('permissions', $permissions); - $tmpl->assign('files', $files); - $tmpl->assign('trash', $trashEnabled); - $tmpl->assign('trashEmpty', $trashEmpty); - $tmpl->assign('uploadMaxFilesize', $maxUploadFilesize); // minimium of freeSpace and uploadLimit - $tmpl->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize)); - $tmpl->assign('freeSpace', $freeSpace); - $tmpl->assign('uploadLimit', $uploadLimit); // PHP upload limit - $tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true))); - $tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']); - $tmpl->assign('isPublic', false); - $tmpl->assign('publicUploadEnabled', $publicUploadEnabled); - $tmpl->assign("encryptedFiles", \OCP\Util::encryptedFiles()); - $tmpl->assign("mailNotificationEnabled", $config->getAppValue('core', 'shareapi_allow_mail_notification', 'yes')); - $tmpl->assign("allowShareWithLink", $config->getAppValue('core', 'shareapi_allow_links', 'yes')); - $tmpl->assign("encryptionInitStatus", $encryptionInitStatus); - $tmpl->assign('disableSharing', false); - $tmpl->assign('ajaxLoad', $ajaxLoad); - $tmpl->assign('emptyContent', $emptyContent); - $tmpl->assign('fileHeader', $fileHeader); - - $tmpl->printPage(); +// information about storage capacities +$storageInfo=OC_Helper::getStorageInfo($dir); +$freeSpace=$storageInfo['free']; +$uploadLimit=OCP\Util::uploadLimit(); +$maxUploadFilesize=OCP\Util::maxUploadFilesize($dir); +$publicUploadEnabled = $config->getAppValue('core', 'shareapi_allow_public_upload', 'yes'); +// if the encryption app is disabled, than everything is fine (INIT_SUCCESSFUL status code) +$encryptionInitStatus = 2; +if (OC_App::isEnabled('files_encryption')) { + $session = new \OCA\Encryption\Session(new \OC\Files\View('/')); + $encryptionInitStatus = $session->getInitialized(); } + +$trashEnabled = \OCP\App::isEnabled('files_trashbin'); +$trashEmpty = true; +if ($trashEnabled) { + $trashEmpty = \OCA\Files_Trashbin\Trashbin::isEmpty($user); +} + +$isCreatable = \OC\Files\Filesystem::isCreatable($dir . '/'); +$fileHeader = (!isset($files) or count($files) > 0); +$emptyContent = ($isCreatable and !$fileHeader) or $ajaxLoad; + +OCP\Util::addscript('files', 'fileactions'); +OCP\Util::addscript('files', 'files'); +OCP\Util::addscript('files', 'keyboardshortcuts'); +$tmpl = new OCP\Template('files', 'index', 'user'); +$tmpl->assign('fileList', $list->fetchPage()); +$tmpl->assign('breadcrumb', $breadcrumbNav->fetchPage()); +$tmpl->assign('dir', $dir); +$tmpl->assign('isCreatable', $isCreatable); +$tmpl->assign('permissions', $permissions); +$tmpl->assign('files', $files); +$tmpl->assign('trash', $trashEnabled); +$tmpl->assign('trashEmpty', $trashEmpty); +$tmpl->assign('uploadMaxFilesize', $maxUploadFilesize); // minimium of freeSpace and uploadLimit +$tmpl->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize)); +$tmpl->assign('freeSpace', $freeSpace); +$tmpl->assign('uploadLimit', $uploadLimit); // PHP upload limit +$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true))); +$tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']); +$tmpl->assign('isPublic', false); +$tmpl->assign('publicUploadEnabled', $publicUploadEnabled); +$tmpl->assign("encryptedFiles", \OCP\Util::encryptedFiles()); +$tmpl->assign("mailNotificationEnabled", $config->getAppValue('core', 'shareapi_allow_mail_notification', 'yes')); +$tmpl->assign("allowShareWithLink", $config->getAppValue('core', 'shareapi_allow_links', 'yes')); +$tmpl->assign("encryptionInitStatus", $encryptionInitStatus); +$tmpl->assign('disableSharing', false); +$tmpl->assign('ajaxLoad', $ajaxLoad); +$tmpl->assign('emptyContent', $emptyContent); +$tmpl->assign('fileHeader', $fileHeader); + +$tmpl->printPage(); diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js index f962a7044a..371c83e742 100644 --- a/apps/files/js/file-upload.js +++ b/apps/files/js/file-upload.js @@ -82,7 +82,7 @@ OC.Upload = { */ isProcessing:function() { var count = 0; - + jQuery.each(this._uploads,function(i, data) { if (data.state() === 'pending') { count++; @@ -177,549 +177,558 @@ OC.Upload = { checkExistingFiles: function (selection, callbacks) { // TODO check filelist before uploading and show dialog on conflicts, use callbacks callbacks.onNoConflicts(selection); + }, + + init: function() { + if ( $('#file_upload_start').exists() && $('#file_upload_start').is(':visible')) { + + var file_upload_param = { + dropZone: $('#content'), // restrict dropZone to content div + autoUpload: false, + sequentialUploads: true, + //singleFileUploads is on by default, so the data.files array will always have length 1 + /** + * on first add of every selection + * - check all files of originalFiles array with files in dir + * - on conflict show dialog + * - skip all -> remember as single skip action for all conflicting files + * - replace all -> remember as single replace action for all conflicting files + * - choose -> show choose dialog + * - mark files to keep + * - when only existing -> remember as single skip action + * - when only new -> remember as single replace action + * - when both -> remember as single autorename action + * - start uploading selection + * @param {object} e + * @param {object} data + * @returns {boolean} + */ + add: function(e, data) { + OC.Upload.log('add', e, data); + var that = $(this); + var freeSpace; + + // we need to collect all data upload objects before starting the upload so we can check their existence + // and set individual conflict actions. unfortunately there is only one variable that we can use to identify + // the selection a data upload is part of, so we have to collect them in data.originalFiles + // turning singleFileUploads off is not an option because we want to gracefully handle server errors like + // already exists + + // create a container where we can store the data objects + if ( ! data.originalFiles.selection ) { + // initialize selection and remember number of files to upload + data.originalFiles.selection = { + uploads: [], + filesToUpload: data.originalFiles.length, + totalBytes: 0 + }; + } + var selection = data.originalFiles.selection; + + // add uploads + if ( selection.uploads.length < selection.filesToUpload ) { + // remember upload + selection.uploads.push(data); + } + + //examine file + var file = data.files[0]; + try { + // FIXME: not so elegant... need to refactor that method to return a value + Files.isFileNameValid(file.name, FileList.getCurrentDirectory()); + } + catch (errorMessage) { + data.textStatus = 'invalidcharacters'; + data.errorThrown = errorMessage; + } + + if (file.type === '' && file.size === 4096) { + data.textStatus = 'dirorzero'; + data.errorThrown = t('files', 'Unable to upload {filename} as it is a directory or has 0 bytes', + {filename: file.name} + ); + } + + // add size + selection.totalBytes += file.size; + + // check PHP upload limit + if (selection.totalBytes > $('#upload_limit').val()) { + data.textStatus = 'sizeexceedlimit'; + data.errorThrown = t('files', 'Total file size {size1} exceeds upload limit {size2}', { + 'size1': humanFileSize(selection.totalBytes), + 'size2': humanFileSize($('#upload_limit').val()) + }); + } + + // check free space + freeSpace = $('#free_space').val(); + if (freeSpace >= 0 && selection.totalBytes > freeSpace) { + data.textStatus = 'notenoughspace'; + data.errorThrown = t('files', 'Not enough free space, you are uploading {size1} but only {size2} is left', { + 'size1': humanFileSize(selection.totalBytes), + 'size2': humanFileSize($('#free_space').val()) + }); + } + + // end upload for whole selection on error + if (data.errorThrown) { + // trigger fileupload fail + var fu = that.data('blueimp-fileupload') || that.data('fileupload'); + fu._trigger('fail', e, data); + return false; //don't upload anything + } + + // check existing files when all is collected + if ( selection.uploads.length >= selection.filesToUpload ) { + + //remove our selection hack: + delete data.originalFiles.selection; + + var callbacks = { + + onNoConflicts: function (selection) { + $.each(selection.uploads, function(i, upload) { + upload.submit(); + }); + }, + onSkipConflicts: function (selection) { + //TODO mark conflicting files as toskip + }, + onReplaceConflicts: function (selection) { + //TODO mark conflicting files as toreplace + }, + onChooseConflicts: function (selection) { + //TODO mark conflicting files as chosen + }, + onCancel: function (selection) { + $.each(selection.uploads, function(i, upload) { + upload.abort(); + }); + } + }; + + OC.Upload.checkExistingFiles(selection, callbacks); + + } + + return true; // continue adding files + }, + /** + * called after the first add, does NOT have the data param + * @param {object} e + */ + start: function(e) { + OC.Upload.log('start', e, null); + //hide the tooltip otherwise it covers the progress bar + $('#upload').tipsy('hide'); + }, + submit: function(e, data) { + OC.Upload.rememberUpload(data); + if ( ! data.formData ) { + // noone set update parameters, we set the minimum + data.formData = { + requesttoken: oc_requesttoken, + dir: $('#dir').val() + }; + } + }, + fail: function(e, data) { + OC.Upload.log('fail', e, data); + if (typeof data.textStatus !== 'undefined' && data.textStatus !== 'success' ) { + if (data.textStatus === 'abort') { + OC.Notification.show(t('files', 'Upload cancelled.')); + } else { + // HTTP connection problem + OC.Notification.show(data.errorThrown); + if (data.result) { + var result = JSON.parse(data.result); + if (result && result[0] && result[0].data && result[0].data.code === 'targetnotfound') { + // abort upload of next files if any + OC.Upload.cancelUploads(); + } + } + } + //hide notification after 10 sec + setTimeout(function() { + OC.Notification.hide(); + }, 10000); + } + OC.Upload.deleteUpload(data); + }, + /** + * called for every successful upload + * @param {object} e + * @param {object} data + */ + done:function(e, data) { + OC.Upload.log('done', e, data); + // handle different responses (json or body from iframe for ie) + var response; + if (typeof data.result === 'string') { + response = data.result; + } else { + //fetch response from iframe + response = data.result[0].body.innerText; + } + var result=$.parseJSON(response); + + delete data.jqXHR; + + if (result.status === 'error' && result.data && result.data.message){ + data.textStatus = 'servererror'; + data.errorThrown = result.data.message; + var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'); + fu._trigger('fail', e, data); + } else if (typeof result[0] === 'undefined') { + data.textStatus = 'servererror'; + data.errorThrown = t('files', 'Could not get result from server.'); + var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'); + fu._trigger('fail', e, data); + } else if (result[0].status === 'existserror') { + //show "file already exists" dialog + var original = result[0]; + var replacement = data.files[0]; + var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'); + OC.dialogs.fileexists(data, original, replacement, OC.Upload, fu); + } else if (result[0].status !== 'success') { + //delete data.jqXHR; + data.textStatus = 'servererror'; + data.errorThrown = result[0].data.message; // error message has been translated on server + var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'); + fu._trigger('fail', e, data); + } + }, + /** + * called after last upload + * @param {object} e + * @param {object} data + */ + stop: function(e, data) { + OC.Upload.log('stop', e, data); + } + }; + + // initialize jquery fileupload (blueimp) + var fileupload = $('#file_upload_start').fileupload(file_upload_param); + window.file_upload_param = fileupload; + + if (supportAjaxUploadWithProgress()) { + + // add progress handlers + fileupload.on('fileuploadadd', function(e, data) { + OC.Upload.log('progress handle fileuploadadd', e, data); + //show cancel button + //if (data.dataType !== 'iframe') { //FIXME when is iframe used? only for ie? + // $('#uploadprogresswrapper input.stop').show(); + //} + }); + // add progress handlers + fileupload.on('fileuploadstart', function(e, data) { + OC.Upload.log('progress handle fileuploadstart', e, data); + $('#uploadprogresswrapper input.stop').show(); + $('#uploadprogressbar').progressbar({value:0}); + $('#uploadprogressbar').fadeIn(); + }); + fileupload.on('fileuploadprogress', function(e, data) { + OC.Upload.log('progress handle fileuploadprogress', e, data); + //TODO progressbar in row + }); + fileupload.on('fileuploadprogressall', function(e, data) { + OC.Upload.log('progress handle fileuploadprogressall', e, data); + var progress = (data.loaded / data.total) * 100; + $('#uploadprogressbar').progressbar('value', progress); + }); + fileupload.on('fileuploadstop', function(e, data) { + OC.Upload.log('progress handle fileuploadstop', e, data); + + $('#uploadprogresswrapper input.stop').fadeOut(); + $('#uploadprogressbar').fadeOut(); + Files.updateStorageStatistics(); + }); + fileupload.on('fileuploadfail', function(e, data) { + OC.Upload.log('progress handle fileuploadfail', e, data); + //if user pressed cancel hide upload progress bar and cancel button + if (data.errorThrown === 'abort') { + $('#uploadprogresswrapper input.stop').fadeOut(); + $('#uploadprogressbar').fadeOut(); + } + }); + + } else { + console.log('skipping file progress because your browser is broken'); + } + } + + $.assocArraySize = function(obj) { + // http://stackoverflow.com/a/6700/11236 + var size = 0, key; + for (key in obj) { + if (obj.hasOwnProperty(key)) { + size++; + } + } + return size; + }; + + // warn user not to leave the page while upload is in progress + $(window).on('beforeunload', function(e) { + if (OC.Upload.isProcessing()) { + return t('files', 'File upload is in progress. Leaving the page now will cancel the upload.'); + } + }); + + //add multiply file upload attribute to all browsers except konqueror (which crashes when it's used) + if (navigator.userAgent.search(/konqueror/i) === -1) { + $('#file_upload_start').attr('multiple', 'multiple'); + } + + //if the breadcrumb is to long, start by replacing foldernames with '...' except for the current folder + var crumb=$('div.crumb').first(); + while($('div.controls').height() > 40 && crumb.next('div.crumb').length > 0) { + crumb.children('a').text('...'); + crumb = crumb.next('div.crumb'); + } + //if that isn't enough, start removing items from the breacrumb except for the current folder and it's parent + var crumb = $('div.crumb').first(); + var next = crumb.next('div.crumb'); + while($('div.controls').height()>40 && next.next('div.crumb').length > 0) { + crumb.remove(); + crumb = next; + next = crumb.next('div.crumb'); + } + //still not enough, start shorting down the current folder name + var crumb=$('div.crumb>a').last(); + while($('div.controls').height() > 40 && crumb.text().length > 6) { + var text=crumb.text(); + text = text.substr(0,text.length-6)+'...'; + crumb.text(text); + } + + $(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('

'+$(element).data('text')+'

'); + } + }); + }); + $('#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('

'+$(element).data('text')+'

'); + } + }); + + var type=$(this).data('type'); + var text=$(this).children('p').text(); + $(this).data('text',text); + $(this).children('p').remove(); + + // add input field + var form = $('
'); + var input = $(''); + var newName = $(this).attr('data-newname') || ''; + if (newName) { + input.val(newName); + } + form.append(input); + $(this).append(form); + var lastPos; + var checkInput = function () { + var filename = input.val(); + if (type === 'web' && filename.length === 0) { + throw t('files', 'URL cannot be empty'); + } else if (type !== 'web' && !Files.isFileNameValid(filename)) { + // Files.isFileNameValid(filename) throws an exception itself + } else if (FileList.getCurrentDirectory() === '/' && filename.toLowerCase() === 'shared') { + throw t('files', 'In the home folder \'Shared\' is a reserved filename'); + } 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 = getUniqueName(newname); + if (newname !== name) { + FileList.checkName(name, newname, true); + var hidden = true; + } else { + var hidden = false; + } + switch(type) { + case 'file': + $.post( + OC.filePath('files', 'ajax', 'newfile.php'), + {dir:$('#dir').val(), filename:name}, + function(result) { + if (result.status === 'success') { + var date = new Date(); + // TODO: ideally addFile should be able to receive + // all attributes and set them automatically, + // and also auto-load the preview + var tr = FileList.addFile(name, 0, date, false, hidden); + tr.attr('data-size', result.data.size); + tr.attr('data-mime', result.data.mime); + tr.attr('data-id', result.data.id); + tr.attr('data-etag', result.data.etag); + tr.find('.filesize').text(humanFileSize(result.data.size)); + var path = getPathForPreview(name); + Files.lazyLoadPreview(path, result.data.mime, function(previewpath) { + tr.find('td.filename').attr('style','background-image:url('+previewpath+')'); + }, null, null, result.data.etag); + FileActions.display(tr.find('td.filename'), 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:$('#dir').val(), foldername:name}, + function(result) { + if (result.status === 'success') { + var date=new Date(); + FileList.addDir(name, 0, date, hidden); + var tr = FileList.findFileEl(name); + tr.attr('data-id', result.data.id); + } else { + OC.dialogs.alert(result.data.message, t('core', 'Could not create folder')); + } + } + ); + break; + case 'web': + if (name.substr(0,8) !== 'https://' && name.substr(0,7) !== 'http://') { + name = 'http://' + name; + } + var localName=name; + if (localName.substr(localName.length-1,1)==='/') {//strip / + localName=localName.substr(0,localName.length-1); + } + if (localName.indexOf('/')) {//use last part of url + localName=localName.split('/').pop(); + } else { //or the domain + localName=(localName.match(/:\/\/(.[^\/]+)/)[1]).replace('www.',''); + } + localName = getUniqueName(localName); + //IE < 10 does not fire the necessary events for the progress bar. + if ($('html.lte9').length === 0) { + $('#uploadprogressbar').progressbar({value:0}); + $('#uploadprogressbar').fadeIn(); + } + + var eventSource=new OC.EventSource(OC.filePath('files','ajax','newfile.php'),{dir:$('#dir').val(),source:name,filename:localName}); + eventSource.listen('progress',function(progress) { + //IE < 10 does not fire the necessary events for the progress bar. + if ($('html.lte9').length === 0) { + $('#uploadprogressbar').progressbar('value',progress); + } + }); + eventSource.listen('success',function(data) { + var mime = data.mime; + var size = data.size; + var id = data.id; + $('#uploadprogressbar').fadeOut(); + var date = new Date(); + FileList.addFile(localName, size, date, false, hidden); + var tr = FileList.findFileEl(localName); + tr.data('mime', mime).data('id', id); + tr.attr('data-id', id); + var path = $('#dir').val()+'/'+localName; + Files.lazyLoadPreview(path, mime, function(previewpath) { + tr.find('td.filename').attr('style', 'background-image:url('+previewpath+')'); + }, null, null, data.etag); + FileActions.display(tr.find('td.filename'), true); + }); + eventSource.listen('error',function(error) { + $('#uploadprogressbar').fadeOut(); + var message = (error && error.message) || t('core', 'Error fetching URL'); + OC.Notification.show(message); + //hide notification after 10 sec + setTimeout(function() { + OC.Notification.hide(); + }, 10000); + }); + break; + } + var li=form.parent(); + form.remove(); + /* workaround for IE 9&10 click event trap, 2 lines: */ + $('input').first().focus(); + $('#content').focus(); + li.append('

'+li.data('text')+'

'); + $('#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; } }; $(document).ready(function() { - - if ( $('#file_upload_start').exists() ) { - - var file_upload_param = { - dropZone: $('#content'), // restrict dropZone to content div - autoUpload: false, - sequentialUploads: true, - //singleFileUploads is on by default, so the data.files array will always have length 1 - /** - * on first add of every selection - * - check all files of originalFiles array with files in dir - * - on conflict show dialog - * - skip all -> remember as single skip action for all conflicting files - * - replace all -> remember as single replace action for all conflicting files - * - choose -> show choose dialog - * - mark files to keep - * - when only existing -> remember as single skip action - * - when only new -> remember as single replace action - * - when both -> remember as single autorename action - * - start uploading selection - * @param {object} e - * @param {object} data - * @returns {boolean} - */ - add: function(e, data) { - OC.Upload.log('add', e, data); - var that = $(this); - - // we need to collect all data upload objects before starting the upload so we can check their existence - // and set individual conflict actions. unfortunately there is only one variable that we can use to identify - // the selection a data upload is part of, so we have to collect them in data.originalFiles - // turning singleFileUploads off is not an option because we want to gracefully handle server errors like - // already exists - - // create a container where we can store the data objects - if ( ! data.originalFiles.selection ) { - // initialize selection and remember number of files to upload - data.originalFiles.selection = { - uploads: [], - filesToUpload: data.originalFiles.length, - totalBytes: 0 - }; - } - var selection = data.originalFiles.selection; - - // add uploads - if ( selection.uploads.length < selection.filesToUpload ) { - // remember upload - selection.uploads.push(data); - } - - //examine file - var file = data.files[0]; - try { - // FIXME: not so elegant... need to refactor that method to return a value - Files.isFileNameValid(file.name); - } - catch (errorMessage) { - data.textStatus = 'invalidcharacters'; - data.errorThrown = errorMessage; - } - - if (file.type === '' && file.size === 4096) { - data.textStatus = 'dirorzero'; - data.errorThrown = t('files', 'Unable to upload {filename} as it is a directory or has 0 bytes', - {filename: file.name} - ); - } - - // add size - selection.totalBytes += file.size; - - // check PHP upload limit - if (selection.totalBytes > $('#upload_limit').val()) { - data.textStatus = 'sizeexceedlimit'; - data.errorThrown = t('files', 'Total file size {size1} exceeds upload limit {size2}', { - 'size1': humanFileSize(selection.totalBytes), - 'size2': humanFileSize($('#upload_limit').val()) - }); - } - - // check free space - if (selection.totalBytes > $('#free_space').val()) { - data.textStatus = 'notenoughspace'; - data.errorThrown = t('files', 'Not enough free space, you are uploading {size1} but only {size2} is left', { - 'size1': humanFileSize(selection.totalBytes), - 'size2': humanFileSize($('#free_space').val()) - }); - } - - // end upload for whole selection on error - if (data.errorThrown) { - // trigger fileupload fail - var fu = that.data('blueimp-fileupload') || that.data('fileupload'); - fu._trigger('fail', e, data); - return false; //don't upload anything - } - - // check existing files when all is collected - if ( selection.uploads.length >= selection.filesToUpload ) { - - //remove our selection hack: - delete data.originalFiles.selection; - - var callbacks = { - - onNoConflicts: function (selection) { - $.each(selection.uploads, function(i, upload) { - upload.submit(); - }); - }, - onSkipConflicts: function (selection) { - //TODO mark conflicting files as toskip - }, - onReplaceConflicts: function (selection) { - //TODO mark conflicting files as toreplace - }, - onChooseConflicts: function (selection) { - //TODO mark conflicting files as chosen - }, - onCancel: function (selection) { - $.each(selection.uploads, function(i, upload) { - upload.abort(); - }); - } - }; - - OC.Upload.checkExistingFiles(selection, callbacks); - - } - - return true; // continue adding files - }, - /** - * called after the first add, does NOT have the data param - * @param {object} e - */ - start: function(e) { - OC.Upload.log('start', e, null); - }, - submit: function(e, data) { - OC.Upload.rememberUpload(data); - if ( ! data.formData ) { - // noone set update parameters, we set the minimum - data.formData = { - requesttoken: oc_requesttoken, - dir: $('#dir').val() - }; - } - }, - fail: function(e, data) { - OC.Upload.log('fail', e, data); - if (typeof data.textStatus !== 'undefined' && data.textStatus !== 'success' ) { - if (data.textStatus === 'abort') { - OC.Notification.show(t('files', 'Upload cancelled.')); - } else { - // HTTP connection problem - OC.Notification.show(data.errorThrown); - if (data.result) { - var result = JSON.parse(data.result); - if (result && result[0] && result[0].data && result[0].data.code === 'targetnotfound') { - // abort upload of next files if any - OC.Upload.cancelUploads(); - } - } - } - //hide notification after 10 sec - setTimeout(function() { - OC.Notification.hide(); - }, 10000); - } - OC.Upload.deleteUpload(data); - }, - /** - * called for every successful upload - * @param {object} e - * @param {object} data - */ - done:function(e, data) { - OC.Upload.log('done', e, data); - // handle different responses (json or body from iframe for ie) - var response; - if (typeof data.result === 'string') { - response = data.result; - } else { - //fetch response from iframe - response = data.result[0].body.innerText; - } - var result=$.parseJSON(response); - - delete data.jqXHR; - - if (result.status === 'error' && result.data && result.data.message){ - data.textStatus = 'servererror'; - data.errorThrown = result.data.message; - var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'); - fu._trigger('fail', e, data); - } else if (typeof result[0] === 'undefined') { - data.textStatus = 'servererror'; - data.errorThrown = t('files', 'Could not get result from server.'); - var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'); - fu._trigger('fail', e, data); - } else if (result[0].status === 'existserror') { - //show "file already exists" dialog - var original = result[0]; - var replacement = data.files[0]; - var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'); - OC.dialogs.fileexists(data, original, replacement, OC.Upload, fu); - } else if (result[0].status !== 'success') { - //delete data.jqXHR; - data.textStatus = 'servererror'; - data.errorThrown = result[0].data.message; // error message has been translated on server - var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'); - fu._trigger('fail', e, data); - } - }, - /** - * called after last upload - * @param {object} e - * @param {object} data - */ - stop: function(e, data) { - OC.Upload.log('stop', e, data); - } - }; - - // initialize jquery fileupload (blueimp) - var fileupload = $('#file_upload_start').fileupload(file_upload_param); - window.file_upload_param = fileupload; - - if (supportAjaxUploadWithProgress()) { - - // add progress handlers - fileupload.on('fileuploadadd', function(e, data) { - OC.Upload.log('progress handle fileuploadadd', e, data); - //show cancel button - //if (data.dataType !== 'iframe') { //FIXME when is iframe used? only for ie? - // $('#uploadprogresswrapper input.stop').show(); - //} - }); - // add progress handlers - fileupload.on('fileuploadstart', function(e, data) { - OC.Upload.log('progress handle fileuploadstart', e, data); - $('#uploadprogresswrapper input.stop').show(); - $('#uploadprogressbar').progressbar({value:0}); - $('#uploadprogressbar').fadeIn(); - }); - fileupload.on('fileuploadprogress', function(e, data) { - OC.Upload.log('progress handle fileuploadprogress', e, data); - //TODO progressbar in row - }); - fileupload.on('fileuploadprogressall', function(e, data) { - OC.Upload.log('progress handle fileuploadprogressall', e, data); - var progress = (data.loaded / data.total) * 100; - $('#uploadprogressbar').progressbar('value', progress); - }); - fileupload.on('fileuploadstop', function(e, data) { - OC.Upload.log('progress handle fileuploadstop', e, data); - - $('#uploadprogresswrapper input.stop').fadeOut(); - $('#uploadprogressbar').fadeOut(); - Files.updateStorageStatistics(); - }); - fileupload.on('fileuploadfail', function(e, data) { - OC.Upload.log('progress handle fileuploadfail', e, data); - //if user pressed cancel hide upload progress bar and cancel button - if (data.errorThrown === 'abort') { - $('#uploadprogresswrapper input.stop').fadeOut(); - $('#uploadprogressbar').fadeOut(); - } - }); - - } else { - console.log('skipping file progress because your browser is broken'); - } - } - - $.assocArraySize = function(obj) { - // http://stackoverflow.com/a/6700/11236 - var size = 0, key; - for (key in obj) { - if (obj.hasOwnProperty(key)) { - size++; - } - } - return size; - }; - - // warn user not to leave the page while upload is in progress - $(window).on('beforeunload', function(e) { - if (OC.Upload.isProcessing()) { - return t('files', 'File upload is in progress. Leaving the page now will cancel the upload.'); - } - }); - - //add multiply file upload attribute to all browsers except konqueror (which crashes when it's used) - if (navigator.userAgent.search(/konqueror/i) === -1) { - $('#file_upload_start').attr('multiple', 'multiple'); - } - - //if the breadcrumb is to long, start by replacing foldernames with '...' except for the current folder - var crumb=$('div.crumb').first(); - while($('div.controls').height() > 40 && crumb.next('div.crumb').length > 0) { - crumb.children('a').text('...'); - crumb = crumb.next('div.crumb'); - } - //if that isn't enough, start removing items from the breacrumb except for the current folder and it's parent - var crumb = $('div.crumb').first(); - var next = crumb.next('div.crumb'); - while($('div.controls').height()>40 && next.next('div.crumb').length > 0) { - crumb.remove(); - crumb = next; - next = crumb.next('div.crumb'); - } - //still not enough, start shorting down the current folder name - var crumb=$('div.crumb>a').last(); - while($('div.controls').height() > 40 && crumb.text().length > 6) { - var text=crumb.text(); - text = text.substr(0,text.length-6)+'...'; - crumb.text(text); - } - - $(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('

'+$(element).data('text')+'

'); - } - }); - }); - $('#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('

'+$(element).data('text')+'

'); - } - }); - - var type=$(this).data('type'); - var text=$(this).children('p').text(); - $(this).data('text',text); - $(this).children('p').remove(); - - // add input field - var form = $('
'); - var input = $(''); - var newName = $(this).attr('data-newname') || ''; - if (newName) { - input.val(newName); - } - form.append(input); - $(this).append(form); - var lastPos; - var checkInput = function () { - var filename = input.val(); - if (type === 'web' && filename.length === 0) { - throw t('files', 'URL cannot be empty'); - } else if (type !== 'web' && !Files.isFileNameValid(filename)) { - // Files.isFileNameValid(filename) throws an exception itself - } else if ($('#dir').val() === '/' && filename === 'Shared') { - throw t('files', 'In the home folder \'Shared\' is a reserved filename'); - } 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 = getUniqueName(newname); - if (newname !== name) { - FileList.checkName(name, newname, true); - var hidden = true; - } else { - var hidden = false; - } - switch(type) { - case 'file': - $.post( - OC.filePath('files', 'ajax', 'newfile.php'), - {dir:$('#dir').val(), filename:name}, - function(result) { - if (result.status === 'success') { - var date = new Date(); - // TODO: ideally addFile should be able to receive - // all attributes and set them automatically, - // and also auto-load the preview - var tr = FileList.addFile(name, 0, date, false, hidden); - tr.attr('data-size', result.data.size); - tr.attr('data-mime', result.data.mime); - tr.attr('data-id', result.data.id); - tr.attr('data-etag', result.data.etag); - tr.find('.filesize').text(humanFileSize(result.data.size)); - var path = getPathForPreview(name); - Files.lazyLoadPreview(path, result.data.mime, function(previewpath) { - tr.find('td.filename').attr('style','background-image:url('+previewpath+')'); - }, null, null, result.data.etag); - FileActions.display(tr.find('td.filename'), 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:$('#dir').val(), foldername:name}, - function(result) { - if (result.status === 'success') { - var date=new Date(); - FileList.addDir(name, 0, date, hidden); - var tr = FileList.findFileEl(name); - tr.attr('data-id', result.data.id); - } else { - OC.dialogs.alert(result.data.message, t('core', 'Could not create folder')); - } - } - ); - break; - case 'web': - if (name.substr(0,8) !== 'https://' && name.substr(0,7) !== 'http://') { - name = 'http://' + name; - } - var localName=name; - if (localName.substr(localName.length-1,1)==='/') {//strip / - localName=localName.substr(0,localName.length-1); - } - if (localName.indexOf('/')) {//use last part of url - localName=localName.split('/').pop(); - } else { //or the domain - localName=(localName.match(/:\/\/(.[^\/]+)/)[1]).replace('www.',''); - } - localName = getUniqueName(localName); - //IE < 10 does not fire the necessary events for the progress bar. - if ($('html.lte9').length === 0) { - $('#uploadprogressbar').progressbar({value:0}); - $('#uploadprogressbar').fadeIn(); - } - - var eventSource=new OC.EventSource(OC.filePath('files','ajax','newfile.php'),{dir:$('#dir').val(),source:name,filename:localName}); - eventSource.listen('progress',function(progress) { - //IE < 10 does not fire the necessary events for the progress bar. - if ($('html.lte9').length === 0) { - $('#uploadprogressbar').progressbar('value',progress); - } - }); - eventSource.listen('success',function(data) { - var mime = data.mime; - var size = data.size; - var id = data.id; - $('#uploadprogressbar').fadeOut(); - var date = new Date(); - FileList.addFile(localName, size, date, false, hidden); - var tr = FileList.findFileEl(localName); - tr.data('mime', mime).data('id', id); - tr.attr('data-id', id); - var path = $('#dir').val()+'/'+localName; - Files.lazyLoadPreview(path, mime, function(previewpath) { - tr.find('td.filename').attr('style', 'background-image:url('+previewpath+')'); - }, null, null, data.etag); - FileActions.display(tr.find('td.filename'), true); - }); - eventSource.listen('error',function(error) { - $('#uploadprogressbar').fadeOut(); - var message = (error && error.message) || t('core', 'Error fetching URL'); - OC.Notification.show(message); - //hide notification after 10 sec - setTimeout(function() { - OC.Notification.hide(); - }, 10000); - }); - break; - } - var li=form.parent(); - form.remove(); - /* workaround for IE 9&10 click event trap, 2 lines: */ - $('input').first().focus(); - $('#content').focus(); - li.append('

'+li.data('text')+'

'); - $('#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; + OC.Upload.init(); }); + diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index 9a69d7b368..a7d1fa9d8a 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -15,21 +15,33 @@ var FileActions = { defaults: {}, icons: {}, currentFile: null, - register: function (mime, name, permissions, icon, action) { + register: function (mime, name, permissions, icon, action, displayName) { if (!FileActions.actions[mime]) { FileActions.actions[mime] = {}; } if (!FileActions.actions[mime][name]) { FileActions.actions[mime][name] = {}; } + if (!displayName) { + displayName = t('files', name); + } FileActions.actions[mime][name]['action'] = action; FileActions.actions[mime][name]['permissions'] = permissions; + FileActions.actions[mime][name]['displayName'] = displayName; FileActions.icons[name] = icon; }, setDefault: function (mime, name) { FileActions.defaults[mime] = name; }, get: function (mime, type, permissions) { + var actions = this.getActions(mime, type, permissions); + var filteredActions = {}; + $.each(actions, function (name, action) { + filteredActions[name] = action.action; + }); + return filteredActions; + }, + getActions: function (mime, type, permissions) { var actions = {}; if (FileActions.actions.all) { actions = $.extend(actions, FileActions.actions.all); @@ -51,7 +63,7 @@ var FileActions = { var filteredActions = {}; $.each(actions, function (name, action) { if (action.permissions & permissions) { - filteredActions[name] = action.action; + filteredActions[name] = action; } }); return filteredActions; @@ -82,7 +94,7 @@ var FileActions = { */ display: function (parent, triggerEvent) { FileActions.currentFile = parent; - var actions = FileActions.get(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions()); + var actions = FileActions.getActions(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions()); var file = FileActions.getCurrentFile(); var nameLinks; if (FileList.findFileEl(file).data('renaming')) { @@ -105,15 +117,16 @@ var FileActions = { event.data.actionFunc(file); }; - var addAction = function (name, action) { + var addAction = function (name, action, displayName) { // NOTE: Temporary fix to prevent rename action in root of Shared directory if (name === 'Rename' && $('#dir').val() === '/Shared') { return true; } if ((name === 'Download' || action !== defaultAction) && name !== 'Delete') { + var img = FileActions.icons[name], - actionText = t('files', name), + actionText = displayName, actionContainer = 'a.name>span.fileactions'; if (name === 'Rename') { @@ -125,7 +138,7 @@ var FileActions = { if (img.call) { img = img(file); } - var html = ''; + var html = ''; if (img) { html += ''; } @@ -133,8 +146,7 @@ var FileActions = { var element = $(html); element.data('action', name); - //alert(element); - element.on('click', {a: null, elem: parent, actionFunc: actions[name]}, actionHandler); + element.on('click', {a: null, elem: parent, actionFunc: actions[name].action}, actionHandler); parent.find(actionContainer).append(element); } @@ -142,12 +154,15 @@ var FileActions = { $.each(actions, function (name, action) { if (name !== 'Share') { - addAction(name, action); + displayName = action.displayName; + ah = action.action; + + addAction(name, ah, displayName); } }); if(actions.Share && !($('#dir').val() === '/' && file === 'Shared')){ - // t('files', 'Share') - addAction('Share', actions.Share); + displayName = t('files', 'Share'); + addAction('Share', actions.Share, displayName); } // remove the existing delete action diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 550c10dba3..cda4e823a7 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -71,7 +71,7 @@ window.FileList={ }); // filename td td = $('').attr({ - "class": "filename", + "class": "filename svg", "style": 'background-image:url('+iconurl+'); background-size: 32px;' }); var rand = Math.random().toString(16).slice(2); @@ -137,7 +137,9 @@ window.FileList={ var download_url = null; if (!param.download_url) { - download_url = OC.Router.generate('download', { file: $('#dir').val()+'/'+name }); + download_url = OC.generateUrl( + 'apps/files/download{file}', + { file: $('#dir').val()+'/'+name }); } else { download_url = param.download_url; } @@ -419,15 +421,12 @@ window.FileList={ len = input.val().length; } input.selectRange(0, len); - var checkInput = function () { var filename = input.val(); if (filename !== oldname) { - if (!Files.isFileNameValid(filename)) { - // Files.isFileNameValid(filename) throws an exception itself - } else if($('#dir').val() === '/' && filename === 'Shared') { - throw t('files','In the home folder \'Shared\' is a reserved filename'); - } else if (FileList.inList(filename)) { + // Files.isFileNameValid(filename) throws an exception itself + Files.isFileNameValid(filename, FileList.getCurrentDirectory()); + if (FileList.inList(filename)) { throw t('files', '{new_name} already exists', {new_name: filename}); } } @@ -1156,9 +1155,9 @@ $(document).ready(function() { // need to initially switch the dir to the one from the hash (IE8) FileList.changeDirectory(parseCurrentDirFromUrl(), false, true); } - } - FileList.setCurrentDir(parseCurrentDirFromUrl(), false); + FileList.setCurrentDir(parseCurrentDirFromUrl(), false); + } FileList.createFileSummary(); }); diff --git a/apps/files/js/files.js b/apps/files/js/files.js index f454612070..1137364db4 100644 --- a/apps/files/js/files.js +++ b/apps/files/js/files.js @@ -87,9 +87,12 @@ var Files = { * Throws a string exception with an error message if * the file name is not valid */ - isFileNameValid: function (name) { + isFileNameValid: function (name, root) { var trimmedName = name.trim(); - if (trimmedName === '.' || trimmedName === '..') { + if (trimmedName === '.' + || trimmedName === '..' + || (root === '/' && trimmedName.toLowerCase() === 'shared')) + { throw t('files', '"{name}" is an invalid file name.', {name: name}); } else if (trimmedName.length === 0) { throw t('files', 'File name cannot be empty.'); @@ -193,11 +196,14 @@ var Files = { if (width !== Files.lastWidth) { if ((width < Files.lastWidth || firstRun) && width < Files.breadcrumbsWidth) { if (Files.hiddenBreadcrumbs === 0) { - Files.breadcrumbsWidth -= $(Files.breadcrumbs[1]).get(0).offsetWidth; - $(Files.breadcrumbs[1]).find('a').hide(); - $(Files.breadcrumbs[1]).append('...'); - Files.breadcrumbsWidth += $(Files.breadcrumbs[1]).get(0).offsetWidth; - Files.hiddenBreadcrumbs = 2; + bc = $(Files.breadcrumbs[1]).get(0); + if (typeof bc != 'undefined') { + Files.breadcrumbsWidth -= bc.offsetWidth; + $(Files.breadcrumbs[1]).find('a').hide(); + $(Files.breadcrumbs[1]).append('...'); + Files.breadcrumbsWidth += bc.offsetWidth; + Files.hiddenBreadcrumbs = 2; + } } var i = Files.hiddenBreadcrumbs; while (width < Files.breadcrumbsWidth && i > 1 && i < Files.breadcrumbs.length - 1) { @@ -780,9 +786,9 @@ Files.lazyLoadPreview = function(path, mime, ready, width, height, etag) { if ( $('#isPublic').length ) { urlSpec.t = $('#dirToken').val(); - previewURL = OC.Router.generate('core_ajax_public_preview', urlSpec); + previewURL = OC.generateUrl('/publicpreview.png?') + $.param(urlSpec); } else { - previewURL = OC.Router.generate('core_ajax_preview', urlSpec); + previewURL = OC.generateUrl('/core/preview.png?') + $.param(urlSpec); } previewURL = previewURL.replace('(', '%28'); previewURL = previewURL.replace(')', '%29'); diff --git a/apps/files/js/upgrade.js b/apps/files/js/upgrade.js deleted file mode 100644 index 714adf824a..0000000000 --- a/apps/files/js/upgrade.js +++ /dev/null @@ -1,28 +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 OC */ -$(document).ready(function () { - var eventSource, total, bar = $('#progressbar'); - console.log('start'); - bar.progressbar({value: 0}); - eventSource = new OC.EventSource(OC.filePath('files', 'ajax', 'upgrade.php')); - eventSource.listen('total', function (count) { - total = count; - console.log(count + ' files needed to be migrated'); - }); - eventSource.listen('count', function (count) { - bar.progressbar({value: (count / total) * 100}); - console.log(count); - }); - eventSource.listen('done', function () { - document.location.reload(); - }); -}); diff --git a/apps/files/l10n/am_ET.php b/apps/files/l10n/am_ET.php new file mode 100644 index 0000000000..0157af093e --- /dev/null +++ b/apps/files/l10n/am_ET.php @@ -0,0 +1,7 @@ + array("",""), +"_%n file_::_%n files_" => array("",""), +"_Uploading %n file_::_Uploading %n files_" => array("","") +); +$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/ar.php b/apps/files/l10n/ar.php index 0148f5ca3c..147d77d4cb 100644 --- a/apps/files/l10n/ar.php +++ b/apps/files/l10n/ar.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "فشل في نقل الملف %s - يوجد ملف بنفس هذا الاسم", "Could not move %s" => "فشل في نقل %s", "File name cannot be empty." => "اسم الملف لا يجوز أن يكون فارغا", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "اسم غير صحيح , الرموز '\\', '/', '<', '>', ':', '\"', '|', '?' و \"*\" غير مسموح استخدامها", "Unable to set upload directory." => "غير قادر على تحميل المجلد", "Invalid Token" => "علامة غير صالحة", "No file was uploaded. Unknown error" => "لم يتم رفع أي ملف , خطأ غير معروف", @@ -14,12 +15,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "المجلد المؤقت غير موجود", "Failed to write to disk" => "خطأ في الكتابة على القرص الصلب", "Not enough storage available" => "لا يوجد مساحة تخزينية كافية", -"Upload failed. Could not get file info." => "فشلت عملية الرفع. تعذر الحصول على معلومات الملف.", "Upload failed. Could not find uploaded file" => "*فشلت علمية الرفع. تعذر إيجاد الملف الذي تم رفعه.\n*فشلت علمية التحميل. تعذر إيجاد الملف الذي تم تحميله.", +"Upload failed. Could not get file info." => "فشلت عملية الرفع. تعذر الحصول على معلومات الملف.", "Invalid directory." => "مسار غير صحيح.", "Files" => "الملفات", "Unable to upload {filename} as it is a directory or has 0 bytes" => "تعذر رفع الملف {filename} إما لأنه مجلد أو لان حجم الملف 0 بايت", -"Not enough space available" => "لا توجد مساحة كافية", "Upload cancelled." => "تم إلغاء عملية رفع الملفات .", "Could not get result from server." => "تعذر الحصول على نتيجة من الخادم", "File upload is in progress. Leaving the page now will cancel the upload." => "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.", @@ -34,8 +34,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("لا يوجد ملفات %n","ملف %n","2 ملف %n","قليل من ملفات %n","الكثير من ملفات %n"," ملفات %n"), "{dirs} and {files}" => "{dirs} و {files}", "_Uploading %n file_::_Uploading %n files_" => array("لا يوجد ملفات %n لتحميلها","تحميل 1 ملف %n","تحميل 2 ملف %n","يتم تحميل عدد قليل من ملفات %n","يتم تحميل عدد كبير من ملفات %n","يتم تحميل ملفات %n"), -"'.' is an invalid file name." => "\".\" اسم ملف غير صحيح.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "اسم غير صحيح , الرموز '\\', '/', '<', '>', ':', '\"', '|', '?' و \"*\" غير مسموح استخدامها", "Your storage is full, files can not be updated or synced anymore!" => "مساحتك التخزينية ممتلئة, لا يمكم تحديث ملفاتك أو مزامنتها بعد الآن !", "Your storage is almost full ({usedSpacePercent}%)" => "مساحتك التخزينية امتلأت تقريبا ", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "تم تمكين تشفير البرامج لكن لم يتم تهيئة المفاتيح لذا يرجى تسجيل الخروج ثم تسجيل الدخول مرة آخرى.", @@ -59,6 +57,7 @@ $TRANSLATIONS = array( "Save" => "حفظ", "New" => "جديد", "Text file" => "ملف", +"New folder" => "مجلد جديد", "Folder" => "مجلد", "From link" => "من رابط", "Deleted files" => "حذف الملفات", @@ -69,7 +68,6 @@ $TRANSLATIONS = array( "Upload too large" => "حجم الترفيع أعلى من المسموح", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "حجم الملفات التي تريد ترفيعها أعلى من المسموح على الخادم.", "Files are being scanned, please wait." => "يرجى الانتظار , جاري فحص الملفات .", -"Current scanning" => "الفحص الحالي", -"Upgrading filesystem cache..." => "تحديث ذاكرة التخزين المؤقت(الكاش) الخاصة بملفات النظام ..." +"Current scanning" => "الفحص الحالي" ); $PLURAL_FORMS = "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"; diff --git a/apps/files/l10n/az.php b/apps/files/l10n/az.php index 70ab6572ba..0157af093e 100644 --- a/apps/files/l10n/az.php +++ b/apps/files/l10n/az.php @@ -1,7 +1,7 @@ array(""), -"_%n file_::_%n files_" => array(""), -"_Uploading %n file_::_Uploading %n files_" => array("") +"_%n folder_::_%n folders_" => array("",""), +"_%n file_::_%n files_" => array("",""), +"_Uploading %n file_::_Uploading %n files_" => array("","") ); -$PLURAL_FORMS = "nplurals=1; plural=0;"; +$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/bn_BD.php b/apps/files/l10n/bn_BD.php index f7266517e9..11f3525690 100644 --- a/apps/files/l10n/bn_BD.php +++ b/apps/files/l10n/bn_BD.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "%s কে স্থানান্তর করা সম্ভব হলো না - এই নামের ফাইল বিদ্যমান", "Could not move %s" => "%s কে স্থানান্তর করা সম্ভব হলো না", "File name cannot be empty." => "ফাইলের নামটি ফাঁকা রাখা যাবে না।", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "নামটি সঠিক নয়, '\\', '/', '<', '>', ':', '\"', '|', '?' এবং '*' অনুমোদিত নয়।", "No file was uploaded. Unknown error" => "কোন ফাইল আপলোড করা হয় নি। সমস্যার কারণটি অজ্ঞাত।", "There is no error, the file uploaded with success" => "কোন সমস্যা হয় নি, ফাইল আপলোড সুসম্পন্ন হয়েছে।", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "আপলোড করা ফাইলটি php.ini তে বর্ণিত upload_max_filesize নির্দেশিত আয়তন অতিক্রম করছেঃ", @@ -13,7 +14,6 @@ $TRANSLATIONS = array( "Failed to write to disk" => "ডিস্কে লিখতে ব্যর্থ", "Invalid directory." => "ভুল ডিরেক্টরি", "Files" => "ফাইল", -"Not enough space available" => "যথেষ্ঠ পরিমাণ স্থান নেই", "Upload cancelled." => "আপলোড বাতিল করা হয়েছে।", "File upload is in progress. Leaving the page now will cancel the upload." => "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।", "{new_name} already exists" => "{new_name} টি বিদ্যমান", @@ -25,8 +25,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array("",""), "_%n file_::_%n files_" => array("",""), "_Uploading %n file_::_Uploading %n files_" => array("",""), -"'.' is an invalid file name." => "টি একটি অননুমোদিত নাম।", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "নামটি সঠিক নয়, '\\', '/', '<', '>', ':', '\"', '|', '?' এবং '*' অনুমোদিত নয়।", "Error" => "সমস্যা", "Name" => "রাম", "Size" => "আকার", diff --git a/apps/files/l10n/ca.php b/apps/files/l10n/ca.php index 261713bc58..a4418b1be5 100644 --- a/apps/files/l10n/ca.php +++ b/apps/files/l10n/ca.php @@ -3,13 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "No s'ha pogut moure %s - Ja hi ha un fitxer amb aquest nom", "Could not move %s" => " No s'ha pogut moure %s", "File name cannot be empty." => "El nom del fitxer no pot ser buit.", -"File name must not contain \"/\". Please choose a different name." => "El nom de fitxer no pot contenir \"/\". Indiqueu un nom diferent.", +"\"%s\" is an invalid file name." => "\"%s\" no es un fitxer vàlid.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no estan permesos.", +"The target folder has been moved or deleted." => "La carpeta de destí s'ha mogut o eliminat.", "The name %s is already used in the folder %s. Please choose a different name." => "El nom %s ja s'usa en la carpeta %s. Indiqueu un nom diferent.", "Not a valid source" => "No és un origen vàlid", +"Server is not allowed to open URLs, please check the server configuration" => "El servidor no té autorització per obrir URLs, comproveu la configuració del servidor", "Error while downloading %s to %s" => "S'ha produït un error en baixar %s a %s", "Error when creating the file" => "S'ha produït un error en crear el fitxer", "Folder name cannot be empty." => "El nom de la carpeta no pot ser buit.", -"Folder name must not contain \"/\". Please choose a different name." => "El nom de la carpeta no pot contenir \"/\". Indiqueu un nom diferent.", "Error when creating the folder" => "S'ha produït un error en crear la carpeta", "Unable to set upload directory." => "No es pot establir la carpeta de pujada.", "Invalid Token" => "Testimoni no vàlid", @@ -22,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Falta un fitxer temporal", "Failed to write to disk" => "Ha fallat en escriure al disc", "Not enough storage available" => "No hi ha prou espai disponible", -"Upload failed. Could not get file info." => "La pujada ha fallat. No s'ha pogut obtenir informació del fitxer.", "Upload failed. Could not find uploaded file" => "La pujada ha fallat. El fitxer pujat no s'ha trobat.", +"Upload failed. Could not get file info." => "La pujada ha fallat. No s'ha pogut obtenir informació del fitxer.", "Invalid directory." => "Directori no vàlid.", "Files" => "Fitxers", "Unable to upload {filename} as it is a directory or has 0 bytes" => "No es pot pujar {filename} perquè és una carpeta o té 0 bytes", -"Not enough space available" => "No hi ha prou espai disponible", +"Total file size {size1} exceeds upload limit {size2}" => "Mida total del fitxer {size1} excedeix el límit de pujada {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "No hi ha prou espai lliure, està carregant {size1} però només pot {size2}", "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à.", @@ -36,6 +39,7 @@ $TRANSLATIONS = array( "{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", +"Error fetching URL" => "Error en obtenir la URL", "Share" => "Comparteix", "Delete permanently" => "Esborra permanentment", "Rename" => "Reanomena", @@ -48,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n fitxer","%n fitxers"), "{dirs} and {files}" => "{dirs} i {files}", "_Uploading %n file_::_Uploading %n files_" => array("Pujant %n fitxer","Pujant %n fitxers"), -"'.' is an invalid file name." => "'.' és un nom no vàlid per un fitxer.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no estan permesos.", +"\"{name}\" is an invalid file name." => "\"{name}\" no es un fitxer vàlid.", "Your storage is full, files can not be updated or synced anymore!" => "El vostre espai d'emmagatzemament és ple, els fitxers ja no es poden actualitzar o sincronitzar!", "Your storage is almost full ({usedSpacePercent}%)" => "El vostre espai d'emmagatzemament és gairebé ple ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "L'aplicació d'encriptació està activada però les claus no estan inicialitzades, sortiu i acrediteu-vos de nou.", @@ -87,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "La pujada és massa gran", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada del servidor", "Files are being scanned, please wait." => "S'estan escanejant els fitxers, espereu", -"Current scanning" => "Actualment escanejant", -"Upgrading filesystem cache..." => "Actualitzant la memòria de cau del sistema de fitxers..." +"Current scanning" => "Actualment escanejant" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php index 44e0fdae1f..5bcf1087b9 100644 --- a/apps/files/l10n/cs_CZ.php +++ b/apps/files/l10n/cs_CZ.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Nelze přesunout %s - již existuje soubor se stejným názvem", "Could not move %s" => "Nelze přesunout %s", "File name cannot be empty." => "Název souboru nemůže být prázdný řetězec.", -"File name must not contain \"/\". Please choose a different name." => "Název souboru nesmí obsahovat \"/\". Vyberte prosím jiné jméno.", +"\"%s\" is an invalid file name." => "\"%s\" je neplatným názvem souboru.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny.", +"The target folder has been moved or deleted." => "Cílová složka byla přesunuta nebo smazána.", "The name %s is already used in the folder %s. Please choose a different name." => "Název %s ve složce %s již existuje. Vyberte prosím jiné jméno.", "Not a valid source" => "Neplatný zdroj", "Server is not allowed to open URLs, please check the server configuration" => "Server není oprávněn otevírat adresy URL. Ověřte, prosím, konfiguraci serveru.", "Error while downloading %s to %s" => "Chyba při stahování %s do %s", "Error when creating the file" => "Chyba při vytváření souboru", "Folder name cannot be empty." => "Název složky nemůže být prázdný.", -"Folder name must not contain \"/\". Please choose a different name." => "Název složky nesmí obsahovat \"/\". Zvolte prosím jiný.", "Error when creating the folder" => "Chyba při vytváření složky", "Unable to set upload directory." => "Nelze nastavit adresář pro nahrané soubory.", "Invalid Token" => "Neplatný token", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Chybí adresář pro dočasné soubory", "Failed to write to disk" => "Zápis na disk selhal", "Not enough storage available" => "Nedostatek dostupného úložného prostoru", -"Upload failed. Could not get file info." => "Nahrávání selhalo. Nepodařilo se získat informace o souboru.", "Upload failed. Could not find uploaded file" => "Nahrávání selhalo. Nepodařilo se nalézt nahraný soubor.", +"Upload failed. Could not get file info." => "Nahrávání selhalo. Nepodařilo se získat informace o souboru.", "Invalid directory." => "Neplatný adresář", "Files" => "Soubory", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Nelze nahrát soubor {filename}, protože je to buď adresář nebo má velikost 0 bytů", -"Not enough space available" => "Nedostatek volného místa", +"Total file size {size1} exceeds upload limit {size2}" => "Celková velikost souboru {size1} překračuje povolenou velikost pro nahrávání {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Není dostatek místa pro uložení, velikost souboru je {size1}, zbývá pouze {size2}", "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í.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n soubor","%n soubory","%n souborů"), "{dirs} and {files}" => "{dirs} a {files}", "_Uploading %n file_::_Uploading %n files_" => array("Nahrávám %n soubor","Nahrávám %n soubory","Nahrávám %n souborů"), -"'.' is an invalid file name." => "'.' je neplatným názvem souboru.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny.", +"\"{name}\" is an invalid file name." => "\"{name}\" je neplatným názvem souboru.", "Your storage is full, files can not be updated or synced anymore!" => "Vaše úložiště je plné, nelze aktualizovat ani synchronizovat soubory.", "Your storage is almost full ({usedSpacePercent}%)" => "Vaše úložiště je téměř plné ({usedSpacePercent}%)", "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", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Odesílaný soubor je příliš velký", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru.", "Files are being scanned, please wait." => "Soubory se prohledávají, prosím čekejte.", -"Current scanning" => "Aktuální prohledávání", -"Upgrading filesystem cache..." => "Aktualizuji mezipaměť souborového systému..." +"Current scanning" => "Aktuální prohledávání" ); $PLURAL_FORMS = "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"; diff --git a/apps/files/l10n/cy_GB.php b/apps/files/l10n/cy_GB.php index 2a007761c5..df93ca507b 100644 --- a/apps/files/l10n/cy_GB.php +++ b/apps/files/l10n/cy_GB.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Methwyd symud %s - Mae ffeil gyda'r enw hwn eisoes yn bodoli", "Could not move %s" => "Methwyd symud %s", "File name cannot be empty." => "Does dim hawl cael enw ffeil gwag.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Enw annilys, ni chaniateir, '\\', '/', '<', '>', ':', '\"', '|', '?' na '*'.", "No file was uploaded. Unknown error" => "Ni lwythwyd ffeil i fyny. Gwall anhysbys.", "There is no error, the file uploaded with success" => "Does dim gwall, llwythodd y ffeil i fyny'n llwyddiannus", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Mae'r ffeil lwythwyd i fyny'n fwy na chyfarwyddeb upload_max_filesize yn php.ini:", @@ -14,7 +15,6 @@ $TRANSLATIONS = array( "Not enough storage available" => "Dim digon o le storio ar gael", "Invalid directory." => "Cyfeiriadur annilys.", "Files" => "Ffeiliau", -"Not enough space available" => "Dim digon o le ar gael", "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", @@ -27,8 +27,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array("","","",""), "_%n file_::_%n files_" => array("","","",""), "_Uploading %n file_::_Uploading %n files_" => array("","","",""), -"'.' is an invalid file name." => "Mae '.' yn enw ffeil annilys.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Enw annilys, ni chaniateir, '\\', '/', '<', '>', ':', '\"', '|', '?' na '*'.", "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}%)", "Your download is being prepared. This might take some time if the files are big." => "Wrthi'n paratoi i lwytho i lawr. Gall gymryd peth amser os yw'r ffeiliau'n fawr.", @@ -57,7 +55,6 @@ $TRANSLATIONS = array( "Upload too large" => "Maint llwytho i fyny'n rhy fawr", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Mae'r ffeiliau rydych yn ceisio llwytho i fyny'n fwy na maint mwyaf llwytho ffeiliau i fyny ar y gweinydd hwn.", "Files are being scanned, please wait." => "Arhoswch, mae ffeiliau'n cael eu sganio.", -"Current scanning" => "Sganio cyfredol", -"Upgrading filesystem cache..." => "Uwchraddio storfa system ffeiliau..." +"Current scanning" => "Sganio cyfredol" ); $PLURAL_FORMS = "nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"; diff --git a/apps/files/l10n/da.php b/apps/files/l10n/da.php index 9b7722444a..7069849b43 100644 --- a/apps/files/l10n/da.php +++ b/apps/files/l10n/da.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Kunne ikke flytte %s - der findes allerede en fil med dette navn", "Could not move %s" => "Kunne ikke flytte %s", "File name cannot be empty." => "Filnavnet kan ikke stå tomt.", -"File name must not contain \"/\". Please choose a different name." => "Filnavnet må ikke indeholde \"/\". Vælg venligst et andet navn.", +"\"%s\" is an invalid file name." => "\"%s\" er et ugyldigt filnavn.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldigt navn, '\\', '/', '<', '>', ':' | '?', '\"', '', og '*' er ikke tilladt.", +"The target folder has been moved or deleted." => "Mappen er blevet slettet eller fjernet.", "The name %s is already used in the folder %s. Please choose a different name." => "Navnet %s er allerede i brug i mappen %s. Vælg venligst et andet navn.", "Not a valid source" => "Ikke en gyldig kilde", "Server is not allowed to open URLs, please check the server configuration" => "Server har ikke tilladelse til at åbne URL'er. Kontroller venligst serverens indstillinger", "Error while downloading %s to %s" => "Fejl ved hentning af %s til %s", "Error when creating the file" => "Fejl ved oprettelse af fil", "Folder name cannot be empty." => "Mappenavnet kan ikke være tomt.", -"Folder name must not contain \"/\". Please choose a different name." => "Mappenavnet må ikke indeholde \"/\". Vælg venligst et andet navn.", "Error when creating the folder" => "Fejl ved oprettelse af mappen", "Unable to set upload directory." => "Ude af stand til at vælge upload mappe.", "Invalid Token" => "Ugyldig Token ", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Manglende midlertidig mappe.", "Failed to write to disk" => "Fejl ved skrivning til disk.", "Not enough storage available" => "Der er ikke nok plads til rådlighed", -"Upload failed. Could not get file info." => "Upload fejlede. Kunne ikke hente filinformation.", "Upload failed. Could not find uploaded file" => "Upload fejlede. Kunne ikke finde den uploadede fil.", +"Upload failed. Could not get file info." => "Upload fejlede. Kunne ikke hente filinformation.", "Invalid directory." => "Ugyldig mappe.", "Files" => "Filer", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Kan ikke upload {filename} da det er enten en mappe eller indholder 0 bytes.", -"Not enough space available" => "ikke nok tilgængelig ledig plads ", +"Total file size {size1} exceeds upload limit {size2}" => "Den totale filstørrelse {size1} er større end uploadgrænsen {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Der er ikke tilstrækkeligt friplads. Du uplaoder {size1} men der er kun {size2} tilbage", "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.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n fil","%n filer"), "{dirs} and {files}" => "{dirs} og {files}", "_Uploading %n file_::_Uploading %n files_" => array("Uploader %n fil","Uploader %n filer"), -"'.' is an invalid file name." => "'.' er et ugyldigt filnavn.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldigt navn, '\\', '/', '<', '>', ':' | '?', '\"', '', og '*' er ikke tilladt.", +"\"{name}\" is an invalid file name." => "'{name}' er et ugyldigt filnavn.", "Your storage is full, files can not be updated or synced anymore!" => "Din opbevaringsplads er fyldt op, filer kan ikke opdateres eller synkroniseres længere!", "Your storage is almost full ({usedSpacePercent}%)" => "Din opbevaringsplads er næsten fyldt op ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Krypteringsprogrammet er aktiveret, men din nøgle er ikke igangsat. Log venligst ud og ind igen.", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Upload er for stor", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filerne, du prøver at uploade, er større end den maksimale størrelse for fil-upload på denne server.", "Files are being scanned, please wait." => "Filerne bliver indlæst, vent venligst.", -"Current scanning" => "Indlæser", -"Upgrading filesystem cache..." => "Opgraderer filsystems cachen..." +"Current scanning" => "Indlæser" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php index b209fee88a..376cbaa4e2 100644 --- a/apps/files/l10n/de.php +++ b/apps/files/l10n/de.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Konnte %s nicht verschieben. Eine Datei mit diesem Namen existiert bereits", "Could not move %s" => "Konnte %s nicht verschieben", "File name cannot be empty." => "Der Dateiname darf nicht leer sein.", -"File name must not contain \"/\". Please choose a different name." => "Der Dateiname darf kein \"/\" enthalten. Bitte wähle einen anderen Namen.", +"\"%s\" is an invalid file name." => "\"%s\" ist kein gültiger Dateiname.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.", +"The target folder has been moved or deleted." => "Der Zielordner wurde verschoben oder gelöscht.", "The name %s is already used in the folder %s. Please choose a different name." => "Der Name %s wird bereits im Ordner %s benutzt. Bitte wähle einen anderen Namen.", "Not a valid source" => "Keine gültige Quelle", "Server is not allowed to open URLs, please check the server configuration" => "Dem Server ist das Öffnen von URLs nicht erlaubt, bitte die Serverkonfiguration prüfen", "Error while downloading %s to %s" => "Fehler beim Herunterladen von %s nach %s", "Error when creating the file" => "Fehler beim Erstellen der Datei", "Folder name cannot be empty." => "Der Ordner-Name darf nicht leer sein.", -"Folder name must not contain \"/\". Please choose a different name." => "Der Ordner-Name darf kein \"/\" enthalten. Bitte wähle einen anderen Namen.", "Error when creating the folder" => "Fehler beim Erstellen des Ordners", "Unable to set upload directory." => "Das Upload-Verzeichnis konnte nicht gesetzt werden.", "Invalid Token" => "Ungültiges Merkmal", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Kein temporärer Ordner vorhanden", "Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte", "Not enough storage available" => "Nicht genug Speicher vorhanden.", -"Upload failed. Could not get file info." => "Hochladen fehlgeschlagen. Dateiinformationen konnten nicht abgerufen werden.", "Upload failed. Could not find uploaded file" => "Hochladen fehlgeschlagen. Hochgeladene Datei konnte nicht gefunden werden.", +"Upload failed. Could not get file info." => "Hochladen fehlgeschlagen. Dateiinformationen konnten nicht abgerufen werden.", "Invalid directory." => "Ungültiges Verzeichnis.", "Files" => "Dateien", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Die Datei {filename} kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist", -"Not enough space available" => "Nicht genug Speicherplatz verfügbar", +"Total file size {size1} exceeds upload limit {size2}" => "Die Gesamt-Größe {size1} überschreitet die Upload-Begrenzung {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Nicht genügend freier Speicherplatz, du möchtest {size1} hochladen, es sind jedoch nur noch {size2} verfügbar.", "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.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n Datei","%n Dateien"), "{dirs} and {files}" => "{dirs} und {files}", "_Uploading %n file_::_Uploading %n files_" => array("%n Datei wird hochgeladen","%n Dateien werden hochgeladen"), -"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.", +"\"{name}\" is an invalid file name." => "\"{name}\" ist kein gültiger Dateiname.", "Your storage is full, files can not be updated or synced anymore!" => "Dein Speicher ist voll, daher können keine Dateien mehr aktualisiert oder synchronisiert werden!", "Your storage is almost full ({usedSpacePercent}%)" => "Dein Speicher ist fast voll ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Die Verschlüsselung-App ist aktiviert, aber Deine Schlüssel sind nicht initialisiert. Bitte melden Dich nochmals ab und wieder an.", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Der Upload ist zu groß", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.", "Files are being scanned, please wait." => "Dateien werden gescannt, bitte warten.", -"Current scanning" => "Scanne", -"Upgrading filesystem cache..." => "Dateisystem-Cache wird aktualisiert ..." +"Current scanning" => "Scanne" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/de_AT.php b/apps/files/l10n/de_AT.php index 0157af093e..e1b55f6dd1 100644 --- a/apps/files/l10n/de_AT.php +++ b/apps/files/l10n/de_AT.php @@ -1,7 +1,11 @@ "Freigeben", "_%n folder_::_%n folders_" => array("",""), "_%n file_::_%n files_" => array("",""), -"_Uploading %n file_::_Uploading %n files_" => array("","") +"_Uploading %n file_::_Uploading %n files_" => array("",""), +"Save" => "Speichern", +"Download" => "Herunterladen", +"Delete" => "Löschen" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/de_CH.php b/apps/files/l10n/de_CH.php index b950429346..8b70d7f0f0 100644 --- a/apps/files/l10n/de_CH.php +++ b/apps/files/l10n/de_CH.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "%s konnte nicht verschoben werden. Eine Datei mit diesem Namen existiert bereits.", "Could not move %s" => "Konnte %s nicht verschieben", "File name cannot be empty." => "Der Dateiname darf nicht leer sein.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, «\\», «/», «<», «>», «:», «\"», «|», «?» und «*» sind nicht zulässig.", "Unable to set upload directory." => "Das Upload-Verzeichnis konnte nicht gesetzt werden.", "Invalid Token" => "Ungültiges Merkmal", "No file was uploaded. Unknown error" => "Keine Datei hochgeladen. Unbekannter Fehler", @@ -16,7 +17,6 @@ $TRANSLATIONS = array( "Not enough storage available" => "Nicht genug Speicher vorhanden.", "Invalid directory." => "Ungültiges Verzeichnis.", "Files" => "Dateien", -"Not enough space available" => "Nicht genügend Speicherplatz verfügbar", "Upload cancelled." => "Upload abgebrochen.", "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", @@ -29,8 +29,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array("","%n Ordner"), "_%n file_::_%n files_" => array("","%n Dateien"), "_Uploading %n file_::_Uploading %n files_" => array("%n Datei wird hochgeladen","%n Dateien werden hochgeladen"), -"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, «\\», «/», «<», «>», «:», «\"», «|», «?» und «*» sind nicht zulässig.", "Your storage is full, files can not be updated or synced anymore!" => "Ihr Speicher ist voll, daher können keine Dateien mehr aktualisiert oder synchronisiert werden!", "Your storage is almost full ({usedSpacePercent}%)" => "Ihr Speicher ist fast voll ({usedSpacePercent}%)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Die Verschlüsselung wurde deaktiviert, jedoch sind Ihre Dateien nach wie vor verschlüsselt. Bitte gehen Sie zu Ihren persönlichen Einstellungen, um Ihre Dateien zu entschlüsseln.", @@ -62,7 +60,6 @@ $TRANSLATIONS = array( "Upload too large" => "Der Upload ist zu gross", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei überschreitet die Maximalgrösse für Uploads auf diesem Server.", "Files are being scanned, please wait." => "Dateien werden gescannt, bitte warten.", -"Current scanning" => "Scanne", -"Upgrading filesystem cache..." => "Dateisystem-Cache wird aktualisiert ..." +"Current scanning" => "Scanne" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/de_DE.php b/apps/files/l10n/de_DE.php index 76cdce00e4..0df0f46dc2 100644 --- a/apps/files/l10n/de_DE.php +++ b/apps/files/l10n/de_DE.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "%s konnte nicht verschoben werden. Eine Datei mit diesem Namen existiert bereits.", "Could not move %s" => "Konnte %s nicht verschieben", "File name cannot be empty." => "Der Dateiname darf nicht leer sein.", -"File name must not contain \"/\". Please choose a different name." => "Der Dateiname darf kein \"/\" enthalten. Bitte wählen Sie einen anderen Namen.", +"\"%s\" is an invalid file name." => "\"%s\" ist kein gültiger Dateiname.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.", +"The target folder has been moved or deleted." => "Der Ziel-Ordner wurde verschoben oder gelöscht.", "The name %s is already used in the folder %s. Please choose a different name." => "Der Name %s wird bereits im Ordner %s benutzt. Bitte wählen Sie einen anderen Namen.", "Not a valid source" => "Keine gültige Quelle", "Server is not allowed to open URLs, please check the server configuration" => "Dem Server ist das Öffnen von URLs nicht erlaubt, bitte die Serverkonfiguration prüfen", "Error while downloading %s to %s" => "Fehler beim Herunterladen von %s nach %s", "Error when creating the file" => "Fehler beim Erstellen der Datei", "Folder name cannot be empty." => "Der Ordner-Name darf nicht leer sein.", -"Folder name must not contain \"/\". Please choose a different name." => "Der Ordner-Name darf kein \"/\" enthalten. Bitte wählen Sie einen anderen Namen.", "Error when creating the folder" => "Fehler beim Erstellen des Ordners", "Unable to set upload directory." => "Das Upload-Verzeichnis konnte nicht gesetzt werden.", "Invalid Token" => "Ungültiges Merkmal", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Kein temporärer Ordner vorhanden", "Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte", "Not enough storage available" => "Nicht genug Speicher vorhanden.", -"Upload failed. Could not get file info." => "Hochladen fehlgeschlagen. Die Dateiinformationen konnten nicht abgerufen werden.", "Upload failed. Could not find uploaded file" => "Hochladen fehlgeschlagen. Die hochgeladene Datei konnte nicht gefunden werden.", +"Upload failed. Could not get file info." => "Hochladen fehlgeschlagen. Die Dateiinformationen konnten nicht abgerufen werden.", "Invalid directory." => "Ungültiges Verzeichnis.", "Files" => "Dateien", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Die Datei {filename} kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist", -"Not enough space available" => "Nicht genügend Speicherplatz verfügbar", +"Total file size {size1} exceeds upload limit {size2}" => "Die Gesamt-Größe {size1} überschreitet die Upload-Begrenzung {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Nicht genügend freier Speicherplatz, Sie möchten {size1} hochladen, es sind jedoch nur noch {size2} verfügbar.", "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.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n Datei","%n Dateien"), "{dirs} and {files}" => "{dirs} und {files}", "_Uploading %n file_::_Uploading %n files_" => array("%n Datei wird hoch geladen","%n Dateien werden hoch geladen"), -"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.", +"\"{name}\" is an invalid file name." => "\"{name}\" ist kein gültiger Dateiname.", "Your storage is full, files can not be updated or synced anymore!" => "Ihr Speicher ist voll, daher können keine Dateien mehr aktualisiert oder synchronisiert werden!", "Your storage is almost full ({usedSpacePercent}%)" => "Ihr Speicher ist fast voll ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Verschlüsselung-App ist aktiviert, aber Ihre Schlüssel sind nicht initialisiert. Bitte melden sich nochmals ab und wieder an.", @@ -77,7 +78,7 @@ $TRANSLATIONS = array( "New" => "Neu", "New text file" => "Neue Textdatei", "Text file" => "Textdatei", -"New folder" => "Neues Verzeichnis", +"New folder" => "Neues Ordner", "Folder" => "Ordner", "From link" => "Von einem Link", "Deleted files" => "Gelöschte Dateien", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Der Upload ist zu groß", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.", "Files are being scanned, please wait." => "Dateien werden gescannt, bitte warten.", -"Current scanning" => "Scanne", -"Upgrading filesystem cache..." => "Dateisystem-Cache wird aktualisiert ..." +"Current scanning" => "Scanne" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php index 9efe1af7dd..9144cf3ea1 100644 --- a/apps/files/l10n/el.php +++ b/apps/files/l10n/el.php @@ -3,14 +3,14 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Αδυναμία μετακίνησης του %s - υπάρχει ήδη αρχείο με αυτό το όνομα", "Could not move %s" => "Αδυναμία μετακίνησης του %s", "File name cannot be empty." => "Το όνομα αρχείου δεν μπορεί να είναι κενό.", -"File name must not contain \"/\". Please choose a different name." => "Το όνομα αρχείου δεν μπορεί να περιέχει \"/\". Παρακαλώ επιλέξτε ένα διαφορετικό όνομα. ", +"\"%s\" is an invalid file name." => "Το \"%s\" είναι ένα μη έγκυρο όνομα αρχείου.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Μη έγκυρο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?' και '*' δεν επιτρέπονται.", "The name %s is already used in the folder %s. Please choose a different name." => "Το όνομα %s χρησιμοποιείτε ήδη στον φάκελο %s. Παρακαλώ επιλέξτε ένα άλλο όνομα.", "Not a valid source" => "Μη έγκυρη πηγή", "Server is not allowed to open URLs, please check the server configuration" => "Ο διακομιστής δεν επιτρέπεται να ανοίγει URL, παρακαλώ ελέγξτε τις ρυθμίσεις του διακομιστή", "Error while downloading %s to %s" => "Σφάλμα κατά τη λήψη του %s στο %s", "Error when creating the file" => "Σφάλμα κατά τη δημιουργία του αρχείου", "Folder name cannot be empty." => "Το όνομα φακέλου δεν μπορεί να είναι κενό.", -"Folder name must not contain \"/\". Please choose a different name." => "Το όνομα φακέλου δεν μπορεί να περιέχει \"/\". Παρακαλώ επιλέξτε ένα διαφορετικό όνομα. ", "Error when creating the folder" => "Σφάλμα δημιουργίας φακέλου", "Unable to set upload directory." => "Αδυναμία ορισμού καταλόγου αποστολής.", "Invalid Token" => "Μη έγκυρο Token", @@ -23,12 +23,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Λείπει ο προσωρινός φάκελος", "Failed to write to disk" => "Αποτυχία εγγραφής στο δίσκο", "Not enough storage available" => "Μη επαρκής διαθέσιμος αποθηκευτικός χώρος", -"Upload failed. Could not get file info." => "Η φόρτωση απέτυχε. Αδυναμία λήψης πληροφοριών αρχείων.", "Upload failed. Could not find uploaded file" => "Η φόρτωση απέτυχε. Αδυναμία εύρεσης αρχείου προς φόρτωση.", +"Upload failed. Could not get file info." => "Η φόρτωση απέτυχε. Αδυναμία λήψης πληροφοριών αρχείων.", "Invalid directory." => "Μη έγκυρος φάκελος.", "Files" => "Αρχεία", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Αδυναμία φόρτωσης {filename} καθώς είναι κατάλογος αρχείων ή έχει 0 bytes", -"Not enough space available" => "Δεν υπάρχει αρκετός διαθέσιμος χώρος", "Upload cancelled." => "Η αποστολή ακυρώθηκε.", "Could not get result from server." => "Αδυναμία λήψης αποτελέσματος από το διακομιστή.", "File upload is in progress. Leaving the page now will cancel the upload." => "Η αποστολή του αρχείου βρίσκεται σε εξέλιξη. Το κλείσιμο της σελίδας θα ακυρώσει την αποστολή.", @@ -50,8 +49,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n αρχείο","%n αρχεία"), "{dirs} and {files}" => "{Κατάλογοι αρχείων} και {αρχεία}", "_Uploading %n file_::_Uploading %n files_" => array("Ανέβασμα %n αρχείου","Ανέβασμα %n αρχείων"), -"'.' is an invalid file name." => "'.' είναι μη έγκυρο όνομα αρχείου.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Μη έγκυρο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?' και '*' δεν επιτρέπονται.", +"\"{name}\" is an invalid file name." => "Το \"{name}\" είναι μη έγκυρο όνομα αρχείου.", "Your storage is full, files can not be updated or synced anymore!" => "Ο αποθηκευτικός σας χώρος είναι γεμάτος, τα αρχεία δεν μπορούν να ενημερωθούν ή να συγχρονιστούν πια!", "Your storage is almost full ({usedSpacePercent}%)" => "Ο αποθηκευτικός χώρος είναι σχεδόν γεμάτος ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Η εφαρμογή κρυπτογράφησης είναι ενεργοποιημένη αλλά τα κλειδιά σας δεν έχουν καταγραφεί, παρακαλώ αποσυνδεθείτε και επανασυνδεθείτε.", @@ -89,7 +87,6 @@ $TRANSLATIONS = array( "Upload too large" => "Πολύ μεγάλο αρχείο προς αποστολή", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Τα αρχεία που προσπαθείτε να ανεβάσετε υπερβαίνουν το μέγιστο μέγεθος αποστολής αρχείων σε αυτόν τον διακομιστή.", "Files are being scanned, please wait." => "Τα αρχεία σαρώνονται, παρακαλώ περιμένετε.", -"Current scanning" => "Τρέχουσα ανίχνευση", -"Upgrading filesystem cache..." => "Ενημέρωση της μνήμης cache του συστήματος αρχείων..." +"Current scanning" => "Τρέχουσα ανίχνευση" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/en_GB.php b/apps/files/l10n/en_GB.php index ac93aa68ab..3fb2cb62e6 100644 --- a/apps/files/l10n/en_GB.php +++ b/apps/files/l10n/en_GB.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Could not move %s - File with this name already exists", "Could not move %s" => "Could not move %s", "File name cannot be empty." => "File name cannot be empty.", -"File name must not contain \"/\". Please choose a different name." => "File name must not contain \"/\". Please choose a different name.", +"\"%s\" is an invalid file name." => "\"%s\" is an invalid file name.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Invalid name: '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed.", +"The target folder has been moved or deleted." => "The target folder has been moved or deleted.", "The name %s is already used in the folder %s. Please choose a different name." => "The name %s is already used in the folder %s. Please choose a different name.", "Not a valid source" => "Not a valid source", "Server is not allowed to open URLs, please check the server configuration" => "Server is not allowed to open URLs, please check the server configuration", "Error while downloading %s to %s" => "Error whilst downloading %s to %s", "Error when creating the file" => "Error when creating the file", "Folder name cannot be empty." => "Folder name cannot be empty.", -"Folder name must not contain \"/\". Please choose a different name." => "Folder name must not contain \"/\". Please choose a different name.", "Error when creating the folder" => "Error when creating the folder", "Unable to set upload directory." => "Unable to set upload directory.", "Invalid Token" => "Invalid Token", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Missing a temporary folder", "Failed to write to disk" => "Failed to write to disk", "Not enough storage available" => "Not enough storage available", -"Upload failed. Could not get file info." => "Upload failed. Could not get file info.", "Upload failed. Could not find uploaded file" => "Upload failed. Could not find uploaded file", +"Upload failed. Could not get file info." => "Upload failed. Could not get file info.", "Invalid directory." => "Invalid directory.", "Files" => "Files", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Unable to upload {filename} as it is a directory or has 0 bytes", -"Not enough space available" => "Not enough space available", +"Total file size {size1} exceeds upload limit {size2}" => "Total file size {size1} exceeds upload limit {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Not enough free space, you are uploading {size1} but only {size2} is left", "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.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n file","%n files"), "{dirs} and {files}" => "{dirs} and {files}", "_Uploading %n file_::_Uploading %n files_" => array("Uploading %n file","Uploading %n files"), -"'.' is an invalid file name." => "'.' is an invalid file name.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Invalid name: '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed.", +"\"{name}\" is an invalid file name." => "\"{name}\" is an invalid file name.", "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}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Encryption App is enabled but your keys are not initialised, please log-out and log-in again", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Upload too large", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "The files you are trying to upload exceed the maximum size for file uploads on this server.", "Files are being scanned, please wait." => "Files are being scanned, please wait.", -"Current scanning" => "Current scanning", -"Upgrading filesystem cache..." => "Upgrading filesystem cache..." +"Current scanning" => "Current scanning" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/eo.php b/apps/files/l10n/eo.php index 81cfa03fd6..b92fef5000 100644 --- a/apps/files/l10n/eo.php +++ b/apps/files/l10n/eo.php @@ -3,13 +3,12 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Ne eblis movi %s: dosiero kun ĉi tiu nomo jam ekzistas", "Could not move %s" => "Ne eblis movi %s", "File name cannot be empty." => "Dosiernomo devas ne malpleni.", -"File name must not contain \"/\". Please choose a different name." => "La dosieronomo ne devas enhavi “/”. Bonvolu elekti malsaman nomon.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nevalida nomo: “\\”, “/”, “<”, “>”, “:”, “\"”, “|”, “?” kaj “*” ne permesatas.", "The name %s is already used in the folder %s. Please choose a different name." => "La nomo %s jam uziĝas en la dosierujo %s. Bonvolu elekti malsaman nomon.", "Not a valid source" => "Nevalida fonto", "Error while downloading %s to %s" => "Eraris elŝuto de %s al %s", "Error when creating the file" => "Eraris la kreo de la dosiero", "Folder name cannot be empty." => "La dosierujnomo ne povas malpleni.", -"Folder name must not contain \"/\". Please choose a different name." => "La dosiernomo ne devas enhavi “/”. Bonvolu elekti malsaman nomon.", "Error when creating the folder" => "Eraris la kreo de la dosierujo", "Unable to set upload directory." => "Ne povis agordiĝi la alŝuta dosierujo.", "No file was uploaded. Unknown error" => "Neniu dosiero alŝutiĝis. Nekonata eraro.", @@ -21,12 +20,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Mankas provizora dosierujo.", "Failed to write to disk" => "Malsukcesis skribo al disko", "Not enough storage available" => "Ne haveblas sufiĉa memoro", -"Upload failed. Could not get file info." => "La alŝuto malsukcesis. Ne povis ekhaviĝi informo pri dosiero.", "Upload failed. Could not find uploaded file" => "La alŝuto malsukcesis. Ne troviĝis alŝutota dosiero.", +"Upload failed. Could not get file info." => "La alŝuto malsukcesis. Ne povis ekhaviĝi informo pri dosiero.", "Invalid directory." => "Nevalida dosierujo.", "Files" => "Dosieroj", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Ne povis alŝutiĝi {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 duumokojn", -"Not enough space available" => "Ne haveblas sufiĉa spaco", "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.", @@ -45,8 +43,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n dosiero","%n dosieroj"), "{dirs} and {files}" => "{dirs} kaj {files}", "_Uploading %n file_::_Uploading %n files_" => array("Alŝutatas %n dosiero","Alŝutatas %n dosieroj"), -"'.' is an invalid file name." => "'.' ne estas valida dosiernomo.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nevalida nomo: “\\”, “/”, “<”, “>”, “:”, “\"”, “|”, “?” kaj “*” ne permesatas.", "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}%)", "Your download is being prepared. This might take some time if the files are big." => "Via elŝuto pretiĝatas. Ĉi tio povas daŭri iom da tempo se la dosieroj grandas.", @@ -79,7 +75,6 @@ $TRANSLATIONS = array( "Upload too large" => "Alŝuto tro larĝa", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo.", "Files are being scanned, please wait." => "Dosieroj estas skanataj, bonvolu atendi.", -"Current scanning" => "Nuna skano", -"Upgrading filesystem cache..." => "Ĝisdatiĝas dosiersistema kaŝmemoro..." +"Current scanning" => "Nuna skano" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/es.php b/apps/files/l10n/es.php index bfbb80e896..6083ab2a5d 100644 --- a/apps/files/l10n/es.php +++ b/apps/files/l10n/es.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "No se pudo mover %s - Ya existe un archivo con ese nombre.", "Could not move %s" => "No se pudo mover %s", "File name cannot be empty." => "El nombre de archivo no puede estar vacío.", -"File name must not contain \"/\". Please choose a different name." => "El nombre del archivo, NO puede contener el simbolo\"/\", por favor elija un nombre diferente.", +"\"%s\" is an invalid file name." => "\"%s\" es un nombre de archivo inválido.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre inválido, los caracteres \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ", +"The target folder has been moved or deleted." => "La carpeta destino fue movida o eliminada.", "The name %s is already used in the folder %s. Please choose a different name." => "El nombre %s ya está en uso por la carpeta %s. Por favor elija uno diferente.", -"Not a valid source" => "No es un origen válido", -"Server is not allowed to open URLs, please check the server configuration" => "El servidor no puede acceder URLs; revise la configuración del servidor.", +"Not a valid source" => "No es una fuente válida", +"Server is not allowed to open URLs, please check the server configuration" => "La configuración del servidor no le permite abrir URLs, revísela.", "Error while downloading %s to %s" => "Error mientras se descargaba %s a %s", "Error when creating the file" => "Error al crear el archivo", "Folder name cannot be empty." => "El nombre de la carpeta no puede estar vacío.", -"Folder name must not contain \"/\". Please choose a different name." => "El nombre de la carpeta, NO puede contener el simbolo\"/\", por favor elija un nombre diferente.", "Error when creating the folder" => "Error al crear la carpeta.", "Unable to set upload directory." => "Incapaz de crear directorio de subida.", "Invalid Token" => "Token Inválido", @@ -23,17 +24,18 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Falta la carpeta temporal", "Failed to write to disk" => "Falló al escribir al disco", "Not enough storage available" => "No hay suficiente espacio disponible", -"Upload failed. Could not get file info." => "Actualización fallida. No se pudo obtener información del archivo.", "Upload failed. Could not find uploaded file" => "Actualización fallida. No se pudo encontrar el archivo subido", +"Upload failed. Could not get file info." => "Actualización fallida. No se pudo obtener información del archivo.", "Invalid directory." => "Directorio inválido.", "Files" => "Archivos", "Unable to upload {filename} as it is a directory or has 0 bytes" => "No ha sido posible subir {filename} porque es un directorio o tiene 0 bytes", -"Not enough space available" => "No hay suficiente espacio disponible", +"Total file size {size1} exceeds upload limit {size2}" => "El tamaño total del archivo {size1} excede el límite {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "No hay suficiente espacio libre. Quiere subir {size1} pero solo quedan {size2}", "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.", "URL cannot be empty" => "La dirección URL no puede estar vacía", -"In the home folder 'Shared' is a reserved filename" => "En la carpeta de inicio, 'Shared' es un nombre reservado", +"In the home folder 'Shared' is a reserved filename" => "En la carpeta home, no se puede usar 'Shared'", "{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", @@ -45,13 +47,12 @@ $TRANSLATIONS = array( "Could not rename file" => "No se pudo renombrar el archivo", "replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}", "undo" => "deshacer", -"Error deleting file." => "Error borrando el archivo.", +"Error deleting file." => "Error al borrar el archivo", "_%n folder_::_%n folders_" => array("%n carpeta","%n carpetas"), "_%n file_::_%n files_" => array("%n archivo","%n archivos"), "{dirs} and {files}" => "{dirs} y {files}", "_Uploading %n file_::_Uploading %n files_" => array("Subiendo %n archivo","Subiendo %n archivos"), -"'.' is an invalid file name." => "'.' no es un nombre de archivo válido.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre inválido, los caracteres \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ", +"\"{name}\" is an invalid file name." => "\"{name}\" es un nombre de archivo inválido.", "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}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "La app de crifrado está habilitada pero tus claves no han sido inicializadas, por favor, cierra la sesión y vuelva a iniciarla de nuevo.", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Subida demasido grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Los archivos que estás intentando subir sobrepasan el tamaño máximo permitido en este servidor.", "Files are being scanned, please wait." => "Los archivos están siendo escaneados, por favor espere.", -"Current scanning" => "Escaneo actual", -"Upgrading filesystem cache..." => "Actualizando caché del sistema de archivos..." +"Current scanning" => "Escaneo actual" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/es_AR.php b/apps/files/l10n/es_AR.php index 78d6388cd9..105321276c 100644 --- a/apps/files/l10n/es_AR.php +++ b/apps/files/l10n/es_AR.php @@ -3,6 +3,14 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "No se pudo mover %s - Un archivo con este nombre ya existe", "Could not move %s" => "No se pudo mover %s ", "File name cannot be empty." => "El nombre del archivo no puede quedar vacío.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre invalido, '\\', '/', '<', '>', ':', '\"', '|', '?' y '*' no están permitidos.", +"The name %s is already used in the folder %s. Please choose a different name." => "El nombre %s está en uso en el directorio %s. Por favor elija un otro nombre.", +"Not a valid source" => "No es una fuente válida", +"Server is not allowed to open URLs, please check the server configuration" => "El servidor no está permitido abrir las URLs, por favor chequee la configuración del servidor", +"Error while downloading %s to %s" => "Error mientras se descargaba %s a %s", +"Error when creating the file" => "Error al crear el archivo", +"Folder name cannot be empty." => "El nombre del directorio no puede estar vacío.", +"Error when creating the folder" => "Error al crear el directorio", "Unable to set upload directory." => "No fue posible crear el directorio de subida.", "Invalid Token" => "Token Inválido", "No file was uploaded. Unknown error" => "El archivo no fue subido. Error desconocido", @@ -14,32 +22,44 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Falta un directorio temporal", "Failed to write to disk" => "Error al escribir en el disco", "Not enough storage available" => "No hay suficiente almacenamiento", +"Upload failed. Could not find uploaded file" => "Falló la carga. No se pudo encontrar el archivo subido.", +"Upload failed. Could not get file info." => "Falló la carga. No se pudo obtener la información del archivo.", "Invalid directory." => "Directorio inválido.", "Files" => "Archivos", -"Not enough space available" => "No hay suficiente espacio disponible", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "Imposible cargar {filename} puesto que es un directoro o tiene 0 bytes.", "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á.", +"URL cannot be empty" => "La URL no puede estar vacía", +"In the home folder 'Shared' is a reserved filename" => "En el directorio inicial 'Shared' es un nombre de archivo reservado", "{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", +"Error fetching URL" => "Error al obtener la URL", "Share" => "Compartir", "Delete permanently" => "Borrar permanentemente", "Rename" => "Cambiar nombre", "Pending" => "Pendientes", +"Could not rename file" => "No se pudo renombrar el archivo", "replaced {new_name} with {old_name}" => "se reemplazó {new_name} con {old_name}", "undo" => "deshacer", +"Error deleting file." => "Error al borrar el archivo.", "_%n folder_::_%n folders_" => array("%n carpeta","%n carpetas"), "_%n file_::_%n files_" => array("%n archivo","%n archivos"), "{dirs} and {files}" => "{carpetas} y {archivos}", "_Uploading %n file_::_Uploading %n files_" => array("Subiendo %n archivo","Subiendo %n archivos"), -"'.' is an invalid file name." => "'.' es un nombre de archivo inválido.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre invalido, '\\', '/', '<', '>', ':', '\"', '|', '?' y '*' no están permitidos.", "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}%)", +"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "La aplicación de encriptación está habilitada pero las llaves no fueron inicializadas, por favor termine y vuelva a iniciar la sesión", +"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." => "Llave privada inválida para la aplicación de encriptación. Por favor actualice la clave de la llave privada en las configuraciones personales para recobrar el acceso a sus archivos encriptados.", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "El proceso de cifrado se ha desactivado, pero los archivos aún están encriptados. Por favor, vaya a la configuración personal para descifrar los archivos.", "Your download is being prepared. This might take some time if the files are big." => "Tu descarga se está preparando. Esto puede demorar si los archivos son muy grandes.", +"Error moving file" => "Error moviendo el archivo", "Error" => "Error", "Name" => "Nombre", "Size" => "Tamaño", "Modified" => "Modificado", +"Invalid folder name. Usage of 'Shared' is reserved." => "Nombre de directorio inválido. 'Shared' está reservado.", "%s could not be renamed" => "No se pudo renombrar %s", "Upload" => "Subir", "File handling" => "Tratamiento de archivos", @@ -51,19 +71,20 @@ $TRANSLATIONS = array( "Maximum input size for ZIP files" => "Tamaño máximo para archivos ZIP de entrada", "Save" => "Guardar", "New" => "Nuevo", +"New text file" => "Nuevo archivo de texto", "Text file" => "Archivo de texto", "New folder" => "Nueva Carpeta", "Folder" => "Carpeta", "From link" => "Desde enlace", "Deleted files" => "Archivos borrados", "Cancel upload" => "Cancelar subida", +"You don’t have permission to upload or create files here" => "No tienes permisos para subir o crear archivos aquí", "Nothing in here. Upload something!" => "No hay nada. ¡Subí contenido!", "Download" => "Descargar", "Delete" => "Borrar", "Upload too large" => "El tamaño del archivo que querés subir es demasiado grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Los archivos que intentás subir sobrepasan el tamaño máximo ", "Files are being scanned, please wait." => "Se están escaneando los archivos, por favor esperá.", -"Current scanning" => "Escaneo actual", -"Upgrading filesystem cache..." => "Actualizando el cache del sistema de archivos" +"Current scanning" => "Escaneo actual" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/es_CL.php b/apps/files/l10n/es_CL.php index 6f97758878..4f5e35bd88 100644 --- a/apps/files/l10n/es_CL.php +++ b/apps/files/l10n/es_CL.php @@ -1,9 +1,12 @@ "Archivos", +"Share" => "Compartir", "_%n folder_::_%n folders_" => array("",""), "_%n file_::_%n files_" => array("",""), "_Uploading %n file_::_Uploading %n files_" => array("",""), -"Upload" => "Subir" +"Error" => "Error", +"Upload" => "Subir", +"Download" => "Descargar" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/es_MX.php b/apps/files/l10n/es_MX.php index 0b7571defc..f8a72f95d8 100644 --- a/apps/files/l10n/es_MX.php +++ b/apps/files/l10n/es_MX.php @@ -3,14 +3,13 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "No se pudo mover %s - Ya existe un archivo con ese nombre.", "Could not move %s" => "No se pudo mover %s", "File name cannot be empty." => "El nombre de archivo no puede estar vacío.", -"File name must not contain \"/\". Please choose a different name." => "El nombre del archivo, NO puede contener el simbolo\"/\", por favor elija un nombre diferente.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre inválido, los caracteres \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ", "The name %s is already used in the folder %s. Please choose a different name." => "El nombre %s ya está en uso por la carpeta %s. Por favor elija uno diferente.", "Not a valid source" => "No es un origen válido", "Server is not allowed to open URLs, please check the server configuration" => "El servidor no puede acceder URLs; revise la configuración del servidor.", "Error while downloading %s to %s" => "Error mientras se descargaba %s a %s", "Error when creating the file" => "Error al crear el archivo", "Folder name cannot be empty." => "El nombre de la carpeta no puede estar vacío.", -"Folder name must not contain \"/\". Please choose a different name." => "El nombre de la carpeta, NO puede contener el simbolo\"/\", por favor elija un nombre diferente.", "Error when creating the folder" => "Error al crear la carpeta.", "Unable to set upload directory." => "Incapaz de crear directorio de subida.", "Invalid Token" => "Token Inválido", @@ -23,12 +22,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Falta la carpeta temporal", "Failed to write to disk" => "Falló al escribir al disco", "Not enough storage available" => "No hay suficiente espacio disponible", -"Upload failed. Could not get file info." => "Actualización fallida. No se pudo obtener información del archivo.", "Upload failed. Could not find uploaded file" => "Actualización fallida. No se pudo encontrar el archivo subido", +"Upload failed. Could not get file info." => "Actualización fallida. No se pudo obtener información del archivo.", "Invalid directory." => "Directorio inválido.", "Files" => "Archivos", "Unable to upload {filename} as it is a directory or has 0 bytes" => "No ha sido posible subir {filename} porque es un directorio o tiene 0 bytes", -"Not enough space available" => "No hay suficiente espacio disponible", "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.", @@ -50,8 +48,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n archivo","%n archivos"), "{dirs} and {files}" => "{dirs} y {files}", "_Uploading %n file_::_Uploading %n files_" => array("Subiendo %n archivo","Subiendo %n archivos"), -"'.' is an invalid file name." => "'.' no es un nombre de archivo válido.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre inválido, los caracteres \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ", "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}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "La aplicación de crifrado está habilitada pero tus claves no han sido inicializadas, por favor, cierra la sesión y vuelva a iniciarla de nuevo.", @@ -89,7 +85,6 @@ $TRANSLATIONS = array( "Upload too large" => "Subida demasido grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Los archivos que estás intentando subir sobrepasan el tamaño máximo permitido en este servidor.", "Files are being scanned, please wait." => "Los archivos están siendo escaneados, por favor espere.", -"Current scanning" => "Escaneo actual", -"Upgrading filesystem cache..." => "Actualizando caché del sistema de archivos..." +"Current scanning" => "Escaneo actual" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/et_EE.php b/apps/files/l10n/et_EE.php index fd03152773..f1fdc82673 100644 --- a/apps/files/l10n/et_EE.php +++ b/apps/files/l10n/et_EE.php @@ -3,14 +3,13 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Ei saa liigutada faili %s - samanimeline fail on juba olemas", "Could not move %s" => "%s liigutamine ebaõnnestus", "File name cannot be empty." => "Faili nimi ei saa olla tühi.", -"File name must not contain \"/\". Please choose a different name." => "Faili nimi ei tohi sisaldada \"/\". Palun vali mõni teine nimi.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Vigane nimi, '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' pole lubatud.", "The name %s is already used in the folder %s. Please choose a different name." => "Nimi %s on juba kasutusel kataloogis %s. Palun vali mõni teine nimi.", "Not a valid source" => "Pole korrektne lähteallikas", "Server is not allowed to open URLs, please check the server configuration" => "Server ei võimalda URL-ide avamist, palun kontrolli serveri seadistust", "Error while downloading %s to %s" => "Viga %s allalaadimisel %s", "Error when creating the file" => "Viga faili loomisel", "Folder name cannot be empty." => "Kataloogi nimi ei saa olla tühi.", -"Folder name must not contain \"/\". Please choose a different name." => "Kataloogi nimi ei tohi sisaldada \"/\". Palun vali mõni teine nimi.", "Error when creating the folder" => "Viga kataloogi loomisel", "Unable to set upload directory." => "Üleslaadimiste kausta määramine ebaõnnestus.", "Invalid Token" => "Vigane kontrollkood", @@ -23,12 +22,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Ajutiste failide kaust puudub", "Failed to write to disk" => "Kettale kirjutamine ebaõnnestus", "Not enough storage available" => "Saadaval pole piisavalt ruumi", -"Upload failed. Could not get file info." => "Üleslaadimine ebaõnnestus. Faili info hankimine ebaõnnestus.", "Upload failed. Could not find uploaded file" => "Üleslaadimine ebaõnnestus. Üleslaetud faili ei leitud", +"Upload failed. Could not get file info." => "Üleslaadimine ebaõnnestus. Faili info hankimine ebaõnnestus.", "Invalid directory." => "Vigane kaust.", "Files" => "Failid", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Ei saa üles laadida {filename}, kuna see on kataloog või selle suurus on 0 baiti", -"Not enough space available" => "Pole piisavalt ruumi", "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.", @@ -50,8 +48,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n fail","%n faili"), "{dirs} and {files}" => "{dirs} ja {files}", "_Uploading %n file_::_Uploading %n files_" => array("Laadin üles %n faili","Laadin üles %n faili"), -"'.' is an invalid file name." => "'.' on vigane failinimi.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Vigane nimi, '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' pole lubatud.", "Your storage is full, files can not be updated or synced anymore!" => "Sinu andmemaht on täis! Faile ei uuendata ega sünkroniseerita!", "Your storage is almost full ({usedSpacePercent}%)" => "Su andmemaht on peaaegu täis ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Krüpteerimisrakend on lubatud, kuid võtmeid pole lähtestatud. Palun logi välja ning uuesti sisse.", @@ -89,7 +85,6 @@ $TRANSLATIONS = array( "Upload too large" => "Üleslaadimine on liiga suur", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Failid, mida sa proovid üles laadida, ületab serveri poolt üleslaetavatele failidele määratud maksimaalse suuruse.", "Files are being scanned, please wait." => "Faile skannitakse, palun oota.", -"Current scanning" => "Praegune skannimine", -"Upgrading filesystem cache..." => "Failisüsteemi puhvri uuendamine..." +"Current scanning" => "Praegune skannimine" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/eu.php b/apps/files/l10n/eu.php index 5df480c2bc..be601eecfb 100644 --- a/apps/files/l10n/eu.php +++ b/apps/files/l10n/eu.php @@ -3,13 +3,13 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Ezin da %s mugitu - Izen hau duen fitxategia dagoeneko existitzen da", "Could not move %s" => "Ezin dira fitxategiak mugitu %s", "File name cannot be empty." => "Fitxategi izena ezin da hutsa izan.", -"File name must not contain \"/\". Please choose a different name." => "Fitxategi izenak ezin du \"/\" izan. Mesedez hautatu beste izen bat.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "IZen aliogabea, '\\', '/', '<', '>', ':', '\"', '|', '?' eta '*' ez daude baimenduta.", "The name %s is already used in the folder %s. Please choose a different name." => "%s izena dagoeneko erabilita dago %s karpetan. Mesdez hautatu izen ezberdina.", "Not a valid source" => "Ez da jatorri baliogarria", +"Server is not allowed to open URLs, please check the server configuration" => "Zerbitzaria ez dago URLak irekitzeko baimendua, mesedez egiaztatu zerbitzariaren konfigurazioa", "Error while downloading %s to %s" => "Errorea %s %sra deskargatzerakoan", "Error when creating the file" => "Errorea fitxategia sortzerakoan", "Folder name cannot be empty." => "Karpeta izena ezin da hutsa izan.", -"Folder name must not contain \"/\". Please choose a different name." => "Karpeta izenak ezin du \"/\" izan. Mesedez hautatu beste izen bat.", "Error when creating the folder" => "Errorea karpeta sortzerakoan", "Unable to set upload directory." => "Ezin da igoera direktorioa ezarri.", "Invalid Token" => "Lekuko baliogabea", @@ -22,12 +22,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Aldi bateko karpeta falta da", "Failed to write to disk" => "Errore bat izan da diskoan idazterakoan", "Not enough storage available" => "Ez dago behar aina leku erabilgarri,", -"Upload failed. Could not get file info." => "Igoerak huts egin du. Ezin izan da fitxategiaren informazioa eskuratu.", "Upload failed. Could not find uploaded file" => "Igoerak huts egin du. Ezin izan da igotako fitxategia aurkitu", +"Upload failed. Could not get file info." => "Igoerak huts egin du. Ezin izan da fitxategiaren informazioa eskuratu.", "Invalid directory." => "Baliogabeko karpeta.", "Files" => "Fitxategiak", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Ezin da {filename} igo karpeta bat delako edo 0 byte dituelako", -"Not enough space available" => "Ez dago leku nahikorik.", "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.", @@ -36,6 +35,7 @@ $TRANSLATIONS = array( "{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", +"Error fetching URL" => "Errorea URLa eskuratzerakoan", "Share" => "Elkarbanatu", "Delete permanently" => "Ezabatu betirako", "Rename" => "Berrizendatu", @@ -48,8 +48,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("fitxategi %n","%n fitxategi"), "{dirs} and {files}" => "{dirs} eta {files}", "_Uploading %n file_::_Uploading %n files_" => array("Fitxategi %n igotzen","%n fitxategi igotzen"), -"'.' is an invalid file name." => "'.' ez da fitxategi izen baliogarria.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "IZen aliogabea, '\\', '/', '<', '>', ':', '\"', '|', '?' eta '*' ez daude baimenduta.", "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})", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Enkriptazio aplikazioa gaituta dago baina zure gakoak ez daude konfiguratuta, mesedez saioa bukatu eta berriro hasi", @@ -87,7 +85,6 @@ $TRANSLATIONS = array( "Upload too large" => "Igoera handiegia da", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Igotzen saiatzen ari zaren fitxategiak zerbitzari honek igotzeko onartzen duena baino handiagoak dira.", "Files are being scanned, please wait." => "Fitxategiak eskaneatzen ari da, itxoin mezedez.", -"Current scanning" => "Orain eskaneatzen ari da", -"Upgrading filesystem cache..." => "Fitxategi sistemaren katxea eguneratzen..." +"Current scanning" => "Orain eskaneatzen ari da" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/eu_ES.php b/apps/files/l10n/eu_ES.php new file mode 100644 index 0000000000..293e6de837 --- /dev/null +++ b/apps/files/l10n/eu_ES.php @@ -0,0 +1,10 @@ + array("",""), +"_%n file_::_%n files_" => array("",""), +"_Uploading %n file_::_Uploading %n files_" => array("",""), +"Save" => "Gorde", +"Download" => "Deskargatu", +"Delete" => "Ezabatu" +); +$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/fa.php b/apps/files/l10n/fa.php index 4f3257bc07..e1142aba16 100644 --- a/apps/files/l10n/fa.php +++ b/apps/files/l10n/fa.php @@ -1,8 +1,9 @@ "%s نمی تواند حرکت کند - در حال حاضر پرونده با این نام وجود دارد. ", +"Could not move %s - File with this name already exists" => "%s نمی توان جابجا کرد - در حال حاضر پرونده با این نام وجود دارد. ", "Could not move %s" => "%s نمی تواند حرکت کند ", "File name cannot be empty." => "نام پرونده نمی تواند خالی باشد.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "نام نامعتبر ، '\\', '/', '<', '>', ':', '\"', '|', '?' و '*' مجاز نمی باشند.", "Unable to set upload directory." => "قادر به تنظیم پوشه آپلود نمی باشد.", "Invalid Token" => "رمز نامعتبر", "No file was uploaded. Unknown error" => "هیچ فایلی آپلود نشد.خطای ناشناس", @@ -16,7 +17,6 @@ $TRANSLATIONS = array( "Not enough storage available" => "فضای کافی در دسترس نیست", "Invalid directory." => "فهرست راهنما نامعتبر می باشد.", "Files" => "پرونده‌ها", -"Not enough space available" => "فضای کافی در دسترس نیست", "Upload cancelled." => "بار گذاری لغو شد", "File upload is in progress. Leaving the page now will cancel the upload." => "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ", "{new_name} already exists" => "{نام _جدید} در حال حاضر وجود دارد.", @@ -28,9 +28,7 @@ $TRANSLATIONS = array( "undo" => "بازگشت", "_%n folder_::_%n folders_" => array(""), "_%n file_::_%n files_" => array(""), -"_Uploading %n file_::_Uploading %n files_" => array(""), -"'.' is an invalid file name." => "'.' یک نام پرونده نامعتبر است.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "نام نامعتبر ، '\\', '/', '<', '>', ':', '\"', '|', '?' و '*' مجاز نمی باشند.", +"_Uploading %n file_::_Uploading %n files_" => array("در حال بارگذاری %n فایل"), "Your storage is full, files can not be updated or synced anymore!" => "فضای ذخیره ی شما کاملا پر است، بیش از این فایلها بهنگام یا همگام سازی نمی توانند بشوند!", "Your storage is almost full ({usedSpacePercent}%)" => "فضای ذخیره ی شما تقریبا پر است ({usedSpacePercent}%)", "Your download is being prepared. This might take some time if the files are big." => "دانلود شما در حال آماده شدن است. در صورتیکه پرونده ها بزرگ باشند ممکن است مدتی طول بکشد.", @@ -61,7 +59,6 @@ $TRANSLATIONS = array( "Upload too large" => "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "فایلها بیش از حد تعیین شده در این سرور هستند\nمترجم:با تغییر فایل php,ini میتوان این محدودیت را برطرف کرد", "Files are being scanned, please wait." => "پرونده ها در حال بازرسی هستند لطفا صبر کنید", -"Current scanning" => "بازرسی کنونی", -"Upgrading filesystem cache..." => "بهبود فایل سیستمی ذخیره گاه..." +"Current scanning" => "بازرسی کنونی" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/fi_FI.php b/apps/files/l10n/fi_FI.php index d1241b77da..6b94d8b4fa 100644 --- a/apps/files/l10n/fi_FI.php +++ b/apps/files/l10n/fi_FI.php @@ -3,15 +3,17 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Kohteen %s siirto ei onnistunut - Tiedosto samalla nimellä on jo olemassa", "Could not move %s" => "Kohteen %s siirto ei onnistunut", "File name cannot be empty." => "Tiedoston nimi ei voi olla tyhjä.", -"File name must not contain \"/\". Please choose a different name." => "Tiedoston nimessä ei saa olla merkkiä \"/\". Valitse toinen nimi.", +"\"%s\" is an invalid file name." => "\"%s\" on virheellinen tiedostonimi.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Virheellinen nimi, merkit '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' eivät ole sallittuja.", +"The target folder has been moved or deleted." => "Kohdekansio on siirretty tai poistettu.", "The name %s is already used in the folder %s. Please choose a different name." => "Nimi %s on jo käytössä kansiossa %s. Valitse toinen nimi.", "Not a valid source" => "Virheellinen lähde", "Server is not allowed to open URLs, please check the server configuration" => "Palvelimen ei ole lupa avata verkko-osoitteita. Tarkista palvelimen asetukset", "Error while downloading %s to %s" => "Virhe ladatessa kohdetta %s sijaintiin %s", "Error when creating the file" => "Virhe tiedostoa luotaessa", "Folder name cannot be empty." => "Kansion nimi ei voi olla tyhjä.", -"Folder name must not contain \"/\". Please choose a different name." => "Kansion nimessä ei saa olla merkkiä \"/\". Valitse toinen nimi.", "Error when creating the folder" => "Virhe kansiota luotaessa", +"Unable to set upload directory." => "Lähetyskansion asettaminen epäonnistui.", "No file was uploaded. Unknown error" => "Tiedostoa ei lähetetty. Tuntematon virhe", "There is no error, the file uploaded with success" => "Ei virheitä, tiedosto lähetettiin onnistuneesti", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Lähetetyn tiedoston koko ylittää php.ini-tiedoston upload_max_filesize-säännön:", @@ -22,10 +24,12 @@ $TRANSLATIONS = array( "Failed to write to disk" => "Levylle kirjoitus epäonnistui", "Not enough storage available" => "Tallennustilaa ei ole riittävästi käytettävissä", "Upload failed. Could not find uploaded file" => "Lähetys epäonnistui. Lähettävää tiedostoa ei löydetty.", +"Upload failed. Could not get file info." => "Lähetys epäonnistui. Lähettävää tiedostoa ei löydetty.", "Invalid directory." => "Virheellinen kansio.", "Files" => "Tiedostot", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Kohdetta {filename} ei voi lähettää, koska se on joko kansio tai sen koko on 0 tavua", -"Not enough space available" => "Tilaa ei ole riittävästi", +"Total file size {size1} exceeds upload limit {size2}" => "Yhteiskoko {size1} ylittää lähetysrajan {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Ei riittävästi vapaata tilaa. Lähetyksesi koko on {size1}, mutta vain {size2} on jäljellä", "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.", @@ -45,8 +49,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n tiedosto","%n tiedostoa"), "{dirs} and {files}" => "{dirs} ja {files}", "_Uploading %n file_::_Uploading %n files_" => array("Lähetetään %n tiedosto","Lähetetään %n tiedostoa"), -"'.' is an invalid file name." => "'.' on virheellinen nimi tiedostolle.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Virheellinen nimi, merkit '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' eivät ole sallittuja.", +"\"{name}\" is an invalid file name." => "\"{name}\" on virheellinen tiedostonimi.", "Your storage is full, files can not be updated or synced anymore!" => "Tallennustila on loppu, tiedostoja ei voi enää päivittää tai synkronoida!", "Your storage is almost full ({usedSpacePercent}%)" => "Tallennustila on melkein loppu ({usedSpacePercent}%)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Salaus poistettiin käytöstä, mutta tiedostosi ovat edelleen salattuina. Siirry henkilökohtaisiin asetuksiin avataksesi tiedostojesi salauksen.", @@ -82,7 +85,6 @@ $TRANSLATIONS = array( "Upload too large" => "Lähetettävä tiedosto on liian suuri", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Lähetettäväksi valitsemasi tiedostot ylittävät palvelimen salliman tiedostokoon rajan.", "Files are being scanned, please wait." => "Tiedostoja tarkistetaan, odota hetki.", -"Current scanning" => "Tämänhetkinen tutkinta", -"Upgrading filesystem cache..." => "Päivitetään tiedostojärjestelmän välimuistia..." +"Current scanning" => "Tämänhetkinen tutkinta" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php index 73b8943477..ad768f03de 100644 --- a/apps/files/l10n/fr.php +++ b/apps/files/l10n/fr.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Impossible de déplacer %s - Un fichier possédant ce nom existe déjà", "Could not move %s" => "Impossible de déplacer %s", "File name cannot be empty." => "Le nom de fichier ne peut être vide.", -"File name must not contain \"/\". Please choose a different name." => "Le nom de fichier ne doit pas contenir \"/\". Merci de choisir un nom différent.", +"\"%s\" is an invalid file name." => "\"%s\" n'est pas un nom de fichier valide.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés.", +"The target folder has been moved or deleted." => "Le dossier cible a été déplacé ou supprimé.", "The name %s is already used in the folder %s. Please choose a different name." => "Le nom %s est déjà utilisé dans le dossier %s. Merci de choisir un nom différent.", "Not a valid source" => "La source n'est pas valide", "Server is not allowed to open URLs, please check the server configuration" => "Le serveur n'est pas autorisé à ouvrir des URL, veuillez vérifier la configuration du serveur", "Error while downloading %s to %s" => "Erreur pendant le téléchargement de %s à %s", "Error when creating the file" => "Erreur pendant la création du fichier", "Folder name cannot be empty." => "Le nom de dossier ne peux pas être vide.", -"Folder name must not contain \"/\". Please choose a different name." => "Le nom de dossier ne doit pas contenir \"/\". Merci de choisir un nom différent.", "Error when creating the folder" => "Erreur pendant la création du dossier", "Unable to set upload directory." => "Impossible de définir le dossier pour l'upload, charger.", "Invalid Token" => "Jeton non valide", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Absence de dossier temporaire.", "Failed to write to disk" => "Erreur d'écriture sur le disque", "Not enough storage available" => "Plus assez d'espace de stockage disponible", -"Upload failed. Could not get file info." => "L'envoi a échoué. Impossible d'obtenir les informations du fichier.", "Upload failed. Could not find uploaded file" => "L'envoi a échoué. Impossible de trouver le fichier envoyé.", +"Upload failed. Could not get file info." => "L'envoi a échoué. Impossible d'obtenir les informations du fichier.", "Invalid directory." => "Dossier invalide.", "Files" => "Fichiers", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Impossible d'envoyer {filename} car il s'agit d'un répertoire ou d'un fichier de taille nulle", -"Not enough space available" => "Espace disponible insuffisant", +"Total file size {size1} exceeds upload limit {size2}" => "La taille totale du fichier {size1} excède la taille maximale d'envoi {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Espace insuffisant : vous tentez d'envoyer {size1} mais seulement {size2} sont disponibles", "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.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n fichier","%n fichiers"), "{dirs} and {files}" => "{dirs} et {files}", "_Uploading %n file_::_Uploading %n files_" => array("Téléversement de %n fichier","Téléversement de %n fichiers"), -"'.' is an invalid file name." => "'.' n'est pas un nom de fichier valide.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés.", +"\"{name}\" is an invalid file name." => "\"{name}\" n'est pas un nom de fichier valide.", "Your storage is full, files can not be updated or synced anymore!" => "Votre espage de stockage est plein, les fichiers ne peuvent plus être téléversés ou synchronisés !", "Your storage is almost full ({usedSpacePercent}%)" => "Votre espace de stockage est presque plein ({usedSpacePercent}%)", "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 clés ne sont pas initialisées, veuillez vous déconnecter et ensuite vous reconnecter.", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Téléversement trop volumineux", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Les fichiers que vous essayez d'envoyer dépassent la taille maximale permise par ce serveur.", "Files are being scanned, please wait." => "Les fichiers sont en cours d'analyse, veuillez patienter.", -"Current scanning" => "Analyse en cours", -"Upgrading filesystem cache..." => "Mise à niveau du cache du système de fichier" +"Current scanning" => "Analyse en cours" ); $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; diff --git a/apps/files/l10n/gl.php b/apps/files/l10n/gl.php index 1d22691d93..7ea8181dc7 100644 --- a/apps/files/l10n/gl.php +++ b/apps/files/l10n/gl.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Non foi posíbel mover %s; Xa existe un ficheiro con ese nome.", "Could not move %s" => "Non foi posíbel mover %s", "File name cannot be empty." => "O nome de ficheiro non pode estar baleiro", -"File name must not contain \"/\". Please choose a different name." => "O nome do ficheiro non pode conter «/». Escolla outro nome.", +"\"%s\" is an invalid file name." => "«%s» é un nome incorrecto de ficheiro.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome incorrecto, non se permite «\\», «/», «<», «>», «:», «\"», «|», «?» e «*».", +"The target folder has been moved or deleted." => "O cartafol de destino foi movido ou eliminado.", "The name %s is already used in the folder %s. Please choose a different name." => "Xa existe o nome %s no cartafol %s. Escolla outro nome.", "Not a valid source" => "Esta orixe non é correcta", "Server is not allowed to open URLs, please check the server configuration" => "O servidor non ten permisos para abrir os enderezos URL, comprobe a configuración do servidor", "Error while downloading %s to %s" => "Produciuse un erro ao descargar %s en %s", "Error when creating the file" => "Produciuse un erro ao crear o ficheiro", "Folder name cannot be empty." => "O nome de cartafol non pode estar baleiro.", -"Folder name must not contain \"/\". Please choose a different name." => "O nome do cartafol non pode conter «/». Escolla outro nome.", "Error when creating the folder" => "Produciuse un erro ao crear o cartafol", "Unable to set upload directory." => "Non é posíbel configurar o directorio de envíos.", "Invalid Token" => "Marca incorrecta", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Falta o cartafol temporal", "Failed to write to disk" => "Produciuse un erro ao escribir no disco", "Not enough storage available" => "Non hai espazo de almacenamento abondo", -"Upload failed. Could not get file info." => "O envío fracasou. Non foi posíbel obter información do ficheiro.", "Upload failed. Could not find uploaded file" => "O envío fracasou. Non foi posíbel atopar o ficheiro enviado", +"Upload failed. Could not get file info." => "O envío fracasou. Non foi posíbel obter información do ficheiro.", "Invalid directory." => "O directorio é incorrecto.", "Files" => "Ficheiros", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Non é posíbel enviar {filename}, xa que ou é un directorio ou ten 0 bytes", -"Not enough space available" => "O espazo dispoñíbel é insuficiente", +"Total file size {size1} exceeds upload limit {size2}" => "O tamaño total do ficheiro {size1} excede do límite de envío {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Non hai espazo libre abondo, o seu envío é de {size1} mais só dispón de {size2}", "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.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n ficheiro","%n ficheiros"), "{dirs} and {files}" => "{dirs} e {files}", "_Uploading %n file_::_Uploading %n files_" => array("Cargando %n ficheiro","Cargando %n ficheiros"), -"'.' is an invalid file name." => "«.» é un nome de ficheiro incorrecto", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome incorrecto, non se permite «\\», «/», «<», «>», «:», «\"», «|», «?» e «*».", +"\"{name}\" is an invalid file name." => "«{name}» é un nome incorrecto de ficheiro.", "Your storage is full, files can not be updated or synced anymore!" => "O seu espazo de almacenamento está cheo, non é posíbel actualizar ou sincronizar máis os ficheiros!", "Your storage is almost full ({usedSpacePercent}%)" => "O seu espazo de almacenamento está case cheo ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "O aplicativo de cifrado está activado, mais as chaves non foron inicializadas, saia da sesión e volva a acceder de novo", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Envío demasiado grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os ficheiros que tenta enviar exceden do tamaño máximo permitido neste servidor", "Files are being scanned, please wait." => "Estanse analizando os ficheiros. Agarde.", -"Current scanning" => "Análise actual", -"Upgrading filesystem cache..." => "Anovando a caché do sistema de ficheiros..." +"Current scanning" => "Análise actual" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/he.php b/apps/files/l10n/he.php index 0cdb178254..2035c8488b 100644 --- a/apps/files/l10n/he.php +++ b/apps/files/l10n/he.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "לא ניתן להעביר את %s - קובץ בשם הזה כבר קיים", "Could not move %s" => "לא ניתן להעביר את %s", "File name cannot be empty." => "שם קובץ אינו יכול להיות ריק", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "השם שגוי, אסור להשתמש בתווים '\\', '/', '<', '>', ':', '\"', '|', '?' ו־'*'.", "No file was uploaded. Unknown error" => "לא הועלה קובץ. טעות בלתי מזוהה.", "There is no error, the file uploaded with success" => "לא התרחשה שגיאה, הקובץ הועלה בהצלחה", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "הקבצים שנשלחו חורגים מהגודל שצוין בהגדרה upload_max_filesize שבקובץ php.ini:", @@ -28,7 +29,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array("",""), "_%n file_::_%n files_" => array("",""), "_Uploading %n file_::_Uploading %n files_" => array("",""), -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "השם שגוי, אסור להשתמש בתווים '\\', '/', '<', '>', ':', '\"', '|', '?' ו־'*'.", "Your storage is almost full ({usedSpacePercent}%)" => "שטח האחסון שלך כמעט מלא ({usedSpacePercent}%)", "Error" => "שגיאה", "Name" => "שם", diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php index 22c3926ed1..6f5ba9b472 100644 --- a/apps/files/l10n/hu_HU.php +++ b/apps/files/l10n/hu_HU.php @@ -3,14 +3,13 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "%s áthelyezése nem sikerült - már létezik másik fájl ezzel a névvel", "Could not move %s" => "Nem sikerült %s áthelyezése", "File name cannot be empty." => "A fájlnév nem lehet semmi.", -"File name must not contain \"/\". Please choose a different name." => "Az állomány neve nem tartalmazhatja a \"/\" karaktert. Kérem válasszon másik nevet!", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'", "The name %s is already used in the folder %s. Please choose a different name." => "A %s név már létezik a %s mappában. Kérem válasszon másik nevet!", "Not a valid source" => "A kiinduló állomány érvénytelen", "Server is not allowed to open URLs, please check the server configuration" => "A kiszolgálón nincs engedélyezve URL-ek megnyitása, kérem ellenőrizze a beállításokat", "Error while downloading %s to %s" => "Hiba történt miközben %s-t letöltöttük %s-be", "Error when creating the file" => "Hiba történt az állomány létrehozásakor", "Folder name cannot be empty." => "A mappa neve nem maradhat kitöltetlenül", -"Folder name must not contain \"/\". Please choose a different name." => "A mappa neve nem tartalmazhatja a \"/\" karaktert. Kérem válasszon másik nevet!", "Error when creating the folder" => "Hiba történt a mappa létrehozásakor", "Unable to set upload directory." => "Nem található a mappa, ahova feltölteni szeretne.", "Invalid Token" => "Hibás mappacím", @@ -23,12 +22,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Hiányzik egy ideiglenes mappa", "Failed to write to disk" => "Nem sikerült a lemezre történő írás", "Not enough storage available" => "Nincs elég szabad hely.", -"Upload failed. Could not get file info." => "A feltöltés nem sikerült. Az állományt leíró információk nem érhetők el.", "Upload failed. Could not find uploaded file" => "A feltöltés nem sikerült. Nem található a feltöltendő állomány.", +"Upload failed. Could not get file info." => "A feltöltés nem sikerült. Az állományt leíró információk nem érhetők el.", "Invalid directory." => "Érvénytelen mappa.", "Files" => "Fájlok", "Unable to upload {filename} as it is a directory or has 0 bytes" => "A(z) {filename} állomány nem tölthető fel, mert ez vagy egy mappa, vagy pedig 0 bájtból áll.", -"Not enough space available" => "Nincs elég szabad hely", "Upload cancelled." => "A feltöltést megszakítottuk.", "Could not get result from server." => "A kiszolgálótól nem kapható meg az eredmény.", "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.", @@ -50,8 +48,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n állomány","%n állomány"), "{dirs} and {files}" => "{dirs} és {files}", "_Uploading %n file_::_Uploading %n files_" => array("%n állomány feltöltése","%n állomány feltöltése"), -"'.' is an invalid file name." => "'.' fájlnév érvénytelen.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'", "Your storage is full, files can not be updated or synced anymore!" => "A tároló tele van, a fájlok nem frissíthetőek vagy szinkronizálhatóak a jövőben.", "Your storage is almost full ({usedSpacePercent}%)" => "A tároló majdnem tele van ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Az állományok titkosítása engedélyezve van, de az Ön titkos kulcsai nincsenek beállítva. Ezért kérjük, hogy jelentkezzen ki, és lépjen be újra!", @@ -89,7 +85,6 @@ $TRANSLATIONS = array( "Upload too large" => "A feltöltés túl nagy", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "A feltöltendő állományok mérete meghaladja a kiszolgálón megengedett maximális méretet.", "Files are being scanned, please wait." => "A fájllista ellenőrzése zajlik, kis türelmet!", -"Current scanning" => "Ellenőrzés alatt", -"Upgrading filesystem cache..." => "A fájlrendszer gyorsítótárának frissítése zajlik..." +"Current scanning" => "Ellenőrzés alatt" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/id.php b/apps/files/l10n/id.php index 4e254ff6f6..45bc05c918 100644 --- a/apps/files/l10n/id.php +++ b/apps/files/l10n/id.php @@ -3,13 +3,12 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Tidak dapat memindahkan %s - Berkas dengan nama ini sudah ada", "Could not move %s" => "Tidak dapat memindahkan %s", "File name cannot be empty." => "Nama berkas tidak boleh kosong.", -"File name must not contain \"/\". Please choose a different name." => "Nama berkas tidak boleh mengandung \"/\". Silakan pilih nama yang berbeda.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nama tidak valid, karakter '\\', '/', '<', '>', ':', '\"', '|', '?' dan '*' tidak diizinkan.", "The name %s is already used in the folder %s. Please choose a different name." => "Nama %s sudah digunakan dalam folder %s. Silakan pilih nama yang berbeda.", "Not a valid source" => "Sumber tidak sah", "Error while downloading %s to %s" => "Galat saat mengunduh %s ke %s", "Error when creating the file" => "Galat saat membuat berkas", "Folder name cannot be empty." => "Nama folder tidak bolh kosong.", -"Folder name must not contain \"/\". Please choose a different name." => "Nama folder tidak boleh mengandung \"/\". Silakan pilih nama yang berbeda.", "Error when creating the folder" => "Galat saat membuat folder", "Unable to set upload directory." => "Tidak dapat mengatur folder unggah", "Invalid Token" => "Token tidak sah", @@ -22,12 +21,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Folder sementara tidak ada", "Failed to write to disk" => "Gagal menulis ke disk", "Not enough storage available" => "Ruang penyimpanan tidak mencukupi", -"Upload failed. Could not get file info." => "Unggah gagal. Tidak mendapatkan informasi berkas.", "Upload failed. Could not find uploaded file" => "Unggah gagal. Tidak menemukan berkas yang akan diunggah", +"Upload failed. Could not get file info." => "Unggah gagal. Tidak mendapatkan informasi berkas.", "Invalid directory." => "Direktori tidak valid.", "Files" => "Berkas", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Tidak dapat mengunggah {filename} karena ini sebuah direktori atau memiliki ukuran 0 byte", -"Not enough space available" => "Ruang penyimpanan tidak mencukupi", "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.", @@ -48,8 +46,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n berkas"), "{dirs} and {files}" => "{dirs} dan {files}", "_Uploading %n file_::_Uploading %n files_" => array("Mengunggah %n berkas"), -"'.' is an invalid file name." => "'.' bukan nama berkas yang valid.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nama tidak valid, karakter '\\', '/', '<', '>', ':', '\"', '|', '?' dan '*' tidak diizinkan.", "Your storage is full, files can not be updated or synced anymore!" => "Ruang penyimpanan Anda penuh, berkas tidak dapat diperbarui atau disinkronkan lagi!", "Your storage is almost full ({usedSpacePercent}%)" => "Ruang penyimpanan hampir penuh ({usedSpacePercent}%)", "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", @@ -87,7 +83,6 @@ $TRANSLATIONS = array( "Upload too large" => "Yang diunggah terlalu besar", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Berkas yang dicoba untuk diunggah melebihi ukuran maksimum pengunggahan berkas di server ini.", "Files are being scanned, please wait." => "Berkas sedang dipindai, silakan tunggu.", -"Current scanning" => "Yang sedang dipindai", -"Upgrading filesystem cache..." => "Meningkatkan tembolok sistem berkas..." +"Current scanning" => "Yang sedang dipindai" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/is.php b/apps/files/l10n/is.php index 5c5cc7d5d7..088cdefa30 100644 --- a/apps/files/l10n/is.php +++ b/apps/files/l10n/is.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Gat ekki fært %s - Skrá með þessu nafni er þegar til", "Could not move %s" => "Gat ekki fært %s", "File name cannot be empty." => "Nafn skráar má ekki vera tómt", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ógilt nafn, táknin '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' eru ekki leyfð.", "No file was uploaded. Unknown error" => "Engin skrá var send inn. Óþekkt villa.", "There is no error, the file uploaded with success" => "Engin villa, innsending heppnaðist", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Innsend skrá er stærri en upload_max stillingin í php.ini:", @@ -13,7 +14,6 @@ $TRANSLATIONS = array( "Failed to write to disk" => "Tókst ekki að skrifa á disk", "Invalid directory." => "Ógild mappa.", "Files" => "Skrár", -"Not enough space available" => "Ekki nægt pláss tiltækt", "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", @@ -25,8 +25,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array("",""), "_%n file_::_%n files_" => array("",""), "_Uploading %n file_::_Uploading %n files_" => array("",""), -"'.' is an invalid file name." => "'.' er ekki leyfilegt nafn.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ógilt nafn, táknin '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' eru ekki leyfð.", "Error" => "Villa", "Name" => "Nafn", "Size" => "Stærð", diff --git a/apps/files/l10n/it.php b/apps/files/l10n/it.php index 2a10e9977f..e1a34e646f 100644 --- a/apps/files/l10n/it.php +++ b/apps/files/l10n/it.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Impossibile spostare %s - un file con questo nome esiste già", "Could not move %s" => "Impossibile spostare %s", "File name cannot be empty." => "Il nome del file non può essere vuoto.", -"File name must not contain \"/\". Please choose a different name." => "Il nome del file non può contenere il carattere \"/\". Scegli un nome diverso.", +"\"%s\" is an invalid file name." => "\"%s\" non è un nome file valido.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non valido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non sono consentiti.", +"The target folder has been moved or deleted." => "La cartella di destinazione è stata spostata o eliminata.", "The name %s is already used in the folder %s. Please choose a different name." => "Il nome %s è attualmente in uso nella cartella %s. Scegli un nome diverso.", "Not a valid source" => "Non è una sorgente valida", "Server is not allowed to open URLs, please check the server configuration" => "Al server non è permesso aprire URL, controlla la configurazione del server", "Error while downloading %s to %s" => "Errore durante lo scaricamento di %s su %s", "Error when creating the file" => "Errore durante la creazione del file", "Folder name cannot be empty." => "Il nome della cartella non può essere vuoto.", -"Folder name must not contain \"/\". Please choose a different name." => "Il nome della cartella non può contenere il carattere \"/\". Scegli un nome diverso.", "Error when creating the folder" => "Errore durante la creazione della cartella", "Unable to set upload directory." => "Impossibile impostare una cartella di caricamento.", "Invalid Token" => "Token non valido", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Manca una cartella temporanea", "Failed to write to disk" => "Scrittura su disco non riuscita", "Not enough storage available" => "Spazio di archiviazione insufficiente", -"Upload failed. Could not get file info." => "Caricamento non riuscito. Impossibile ottenere informazioni sul file.", "Upload failed. Could not find uploaded file" => "Caricamento non riuscito. Impossibile trovare il file caricato.", +"Upload failed. Could not get file info." => "Caricamento non riuscito. Impossibile ottenere informazioni sul file.", "Invalid directory." => "Cartella non valida.", "Files" => "File", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Impossibile caricare {filename} poiché è una cartella oppure ha una dimensione di 0 byte.", -"Not enough space available" => "Spazio disponibile insufficiente", +"Total file size {size1} exceeds upload limit {size2}" => "La dimensione totale del file {size1} supera il limite di caricamento {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Spazio insufficiente, stai caricando {size1}, ma è rimasto solo {size2}", "Upload cancelled." => "Invio 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.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n file","%n file"), "{dirs} and {files}" => "{dirs} e {files}", "_Uploading %n file_::_Uploading %n files_" => array("Caricamento di %n file in corso","Caricamento di %n file in corso"), -"'.' is an invalid file name." => "'.' non è un nome file valido.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non valido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non sono consentiti.", +"\"{name}\" is an invalid file name." => "\"{name}\" non è un nome file valido.", "Your storage is full, files can not be updated or synced anymore!" => "Lo spazio di archiviazione è pieno, i file non possono essere più aggiornati o sincronizzati!", "Your storage is almost full ({usedSpacePercent}%)" => "Lo spazio di archiviazione è quasi pieno ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "L'applicazione di cifratura è abilitata, ma le chiavi non sono state inizializzate, disconnettiti ed effettua nuovamente l'accesso", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Caricamento troppo grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "I file che stai provando a caricare superano la dimensione massima consentita su questo server.", "Files are being scanned, please wait." => "Scansione dei file in corso, attendi", -"Current scanning" => "Scansione corrente", -"Upgrading filesystem cache..." => "Aggiornamento della cache del filesystem in corso..." +"Current scanning" => "Scansione corrente" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/ja.php b/apps/files/l10n/ja.php new file mode 100644 index 0000000000..eb6cb0efc5 --- /dev/null +++ b/apps/files/l10n/ja.php @@ -0,0 +1,95 @@ + "%s を移動できませんでした ― この名前のファイルはすでに存在します", +"Could not move %s" => "%s を移動できませんでした", +"File name cannot be empty." => "ファイル名を空にすることはできません。", +"\"%s\" is an invalid file name." => "\"%s\" は無効なファイル名です。", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "無効な名前、'\\', '/', '<', '>', ':', '\"', '|', '?', '*' は使用できません。", +"The target folder has been moved or deleted." => "目標のフォルダは移動されたか、削除されました。", +"The name %s is already used in the folder %s. Please choose a different name." => "%s はフォルダー %s ですでに使われています。別の名前を選択してください。", +"Not a valid source" => "有効なソースではありません", +"Server is not allowed to open URLs, please check the server configuration" => "サーバーは、URLを開くことは許されません。サーバーの設定をチェックしてください。", +"Error while downloading %s to %s" => "%s から %s へのダウンロードエラー", +"Error when creating the file" => "ファイルの生成エラー", +"Folder name cannot be empty." => "フォルダー名は空にできません", +"Error when creating the folder" => "フォルダーの生成エラー", +"Unable to set upload directory." => "アップロードディレクトリを設定できません。", +"Invalid Token" => "無効なトークン", +"No file was uploaded. Unknown error" => "ファイルは何もアップロードされていません。不明なエラー", +"There is no error, the file uploaded with success" => "エラーはありません。ファイルのアップロードは成功しました", +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "アップロードされたファイルはphp.ini の upload_max_filesize に設定されたサイズを超えています:", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "アップロードファイルはHTMLフォームで指定された MAX_FILE_SIZE の制限を超えています", +"The uploaded file was only partially uploaded" => "アップロードファイルは一部分だけアップロードされました", +"No file was uploaded" => "ファイルはアップロードされませんでした", +"Missing a temporary folder" => "一時保存フォルダーが見つかりません", +"Failed to write to disk" => "ディスクへの書き込みに失敗しました", +"Not enough storage available" => "ストレージに十分な空き容量がありません", +"Upload failed. Could not find uploaded file" => "アップロードに失敗。アップロード済みのファイルを見つけることができませんでした。", +"Upload failed. Could not get file info." => "アップロードに失敗。ファイル情報を取得できませんでした。", +"Invalid directory." => "無効なディレクトリです。", +"Files" => "ファイル", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "ディレクトリもしくは0バイトのため {filename} をアップロードできません", +"Total file size {size1} exceeds upload limit {size2}" => "合計ファイルサイズ {size1} はアップロード制限 {size2} を超過しています。", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。", +"Upload cancelled." => "アップロードはキャンセルされました。", +"Could not get result from server." => "サーバーから結果を取得できませんでした。", +"File upload is in progress. Leaving the page now will cancel the upload." => "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。", +"URL cannot be empty" => "URL は空にできません", +"In the home folder 'Shared' is a reserved filename" => "ホームフォルダーでは、'Shared' はシステムが使用する予約済みのファイル名です", +"{new_name} already exists" => "{new_name} はすでに存在します", +"Could not create file" => "ファイルを作成できませんでした", +"Could not create folder" => "フォルダーを作成できませんでした", +"Error fetching URL" => "URL取得エラー", +"Share" => "共有", +"Delete permanently" => "完全に削除する", +"Rename" => "名前の変更", +"Pending" => "中断", +"Could not rename file" => "ファイルの名前変更ができませんでした", +"replaced {new_name} with {old_name}" => "{old_name} を {new_name} に置換", +"undo" => "元に戻す", +"Error deleting file." => "ファイルの削除エラー。", +"_%n folder_::_%n folders_" => array("%n 個のフォルダー"), +"_%n file_::_%n files_" => array("%n 個のファイル"), +"{dirs} and {files}" => "{dirs} と {files}", +"_Uploading %n file_::_Uploading %n files_" => array("%n 個のファイルをアップロード中"), +"\"{name}\" is an invalid file name." => "\"{name}\" は無効なファイル名です。", +"Your storage is full, files can not be updated or synced anymore!" => "あなたのストレージは一杯です。ファイルの更新と同期はもうできません!", +"Your storage is almost full ({usedSpacePercent}%)" => "ストレージがほぼ一杯です({usedSpacePercent}%)", +"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください", +"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." => "暗号化アプリの無効なプライベートキーです。あなたの暗号化されたファイルへアクセスするために、個人設定からプライベートキーのパスワードを更新してください。", +"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "暗号化の機能は無効化されましたが、ファイルはすでに暗号化されています。個人設定からファイルを複合を行ってください。", +"Your download is being prepared. This might take some time if the files are big." => "ダウンロードの準備中です。ファイルサイズが大きい場合は少し時間がかかるかもしれません。", +"Error moving file" => "ファイルの移動エラー", +"Error" => "エラー", +"Name" => "名前", +"Size" => "サイズ", +"Modified" => "更新日時", +"Invalid folder name. Usage of 'Shared' is reserved." => "無効なフォルダー名。「Shared」の利用は予約されています。", +"%s could not be renamed" => "%sの名前を変更できませんでした", +"Upload" => "アップロード", +"File handling" => "ファイル操作", +"Maximum upload size" => "最大アップロードサイズ", +"max. possible: " => "最大容量: ", +"Needed for multi-file and folder downloads." => "複数ファイルおよびフォルダーのダウンロードに必要", +"Enable ZIP-download" => "ZIP形式のダウンロードを有効にする", +"0 is unlimited" => "0を指定した場合は無制限", +"Maximum input size for ZIP files" => "ZIPファイルでの最大入力サイズ", +"Save" => "保存", +"New" => "新規作成", +"New text file" => "新規のテキストファイル作成", +"Text file" => "テキストファイル", +"New folder" => "新しいフォルダー", +"Folder" => "フォルダー", +"From link" => "リンク", +"Deleted files" => "ゴミ箱", +"Cancel upload" => "アップロードをキャンセル", +"You don’t have permission to upload or create files here" => "ここにファイルをアップロードもしくは作成する権限がありません", +"Nothing in here. Upload something!" => "ここには何もありません。何かアップロードしてください。", +"Download" => "ダウンロード", +"Delete" => "削除", +"Upload too large" => "アップロードには大きすぎます。", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "アップロードしようとしているファイルは、サーバーで規定された最大サイズを超えています。", +"Files are being scanned, please wait." => "ファイルをスキャンしています、しばらくお待ちください。", +"Current scanning" => "スキャン中" +); +$PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/ja_JP.php b/apps/files/l10n/ja_JP.php index 8019b825d3..8a4b3ca877 100644 --- a/apps/files/l10n/ja_JP.php +++ b/apps/files/l10n/ja_JP.php @@ -3,16 +3,17 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "%s を移動できませんでした ― この名前のファイルはすでに存在します", "Could not move %s" => "%s を移動できませんでした", "File name cannot be empty." => "ファイル名を空にすることはできません。", -"File name must not contain \"/\". Please choose a different name." => "ファイル名には \"/\" を含めることはできません。別の名前を選択してください。", -"The name %s is already used in the folder %s. Please choose a different name." => "%s はフォルダ %s ないですでに使われています。別の名前を選択してください。", +"\"%s\" is an invalid file name." => "\"%s\" は無効なファイル名です。", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "無効な名前、'\\', '/', '<', '>', ':', '\"', '|', '?', '*' は使用できません。", +"The target folder has been moved or deleted." => "目標のフォルダは移動されたか、削除されました。", +"The name %s is already used in the folder %s. Please choose a different name." => "%s はフォルダー %s ですでに使われています。別の名前を選択してください。", "Not a valid source" => "有効なソースではありません", "Server is not allowed to open URLs, please check the server configuration" => "サーバーは、URLを開くことは許されません。サーバーの設定をチェックしてください。", "Error while downloading %s to %s" => "%s から %s へのダウンロードエラー", "Error when creating the file" => "ファイルの生成エラー", -"Folder name cannot be empty." => "フォルダ名は空にできません", -"Folder name must not contain \"/\". Please choose a different name." => "フォルダ名には \"/\" を含めることはできません。別の名前を選択してください。", -"Error when creating the folder" => "フォルダの生成エラー", -"Unable to set upload directory." => "アップロードディレクトリを設定出来ません。", +"Folder name cannot be empty." => "フォルダー名は空にできません", +"Error when creating the folder" => "フォルダーの生成エラー", +"Unable to set upload directory." => "アップロードディレクトリを設定できません。", "Invalid Token" => "無効なトークン", "No file was uploaded. Unknown error" => "ファイルは何もアップロードされていません。不明なエラー", "There is no error, the file uploaded with success" => "エラーはありません。ファイルのアップロードは成功しました", @@ -20,23 +21,24 @@ $TRANSLATIONS = array( "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "アップロードファイルはHTMLフォームで指定された MAX_FILE_SIZE の制限を超えています", "The uploaded file was only partially uploaded" => "アップロードファイルは一部分だけアップロードされました", "No file was uploaded" => "ファイルはアップロードされませんでした", -"Missing a temporary folder" => "一時保存フォルダが見つかりません", +"Missing a temporary folder" => "一時保存フォルダーが見つかりません", "Failed to write to disk" => "ディスクへの書き込みに失敗しました", "Not enough storage available" => "ストレージに十分な空き容量がありません", -"Upload failed. Could not get file info." => "アップロードに失敗。ファイル情報を取得できませんでした。", "Upload failed. Could not find uploaded file" => "アップロードに失敗。アップロード済みのファイルを見つけることができませんでした。", +"Upload failed. Could not get file info." => "アップロードに失敗。ファイル情報を取得できませんでした。", "Invalid directory." => "無効なディレクトリです。", "Files" => "ファイル", "Unable to upload {filename} as it is a directory or has 0 bytes" => "ディレクトリもしくは0バイトのため {filename} をアップロードできません", -"Not enough space available" => "利用可能なスペースが十分にありません", +"Total file size {size1} exceeds upload limit {size2}" => "合計ファイルサイズ {size1} はアップロード制限 {size2} を超過しています。", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。", "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." => "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。", "URL cannot be empty" => "URL は空にできません", -"In the home folder 'Shared' is a reserved filename" => "ホームフォルダでは、'Shared' はシステムが使用する予約済みのファイル名です", -"{new_name} already exists" => "{new_name} はすでに存在しています", +"In the home folder 'Shared' is a reserved filename" => "ホームフォルダーでは、'Shared' はシステムが使用する予約済みのファイル名です", +"{new_name} already exists" => "{new_name} はすでに存在します", "Could not create file" => "ファイルを作成できませんでした", -"Could not create folder" => "フォルダを作成できませんでした", +"Could not create folder" => "フォルダーを作成できませんでした", "Error fetching URL" => "URL取得エラー", "Share" => "共有", "Delete permanently" => "完全に削除する", @@ -46,14 +48,13 @@ $TRANSLATIONS = array( "replaced {new_name} with {old_name}" => "{old_name} を {new_name} に置換", "undo" => "元に戻す", "Error deleting file." => "ファイルの削除エラー。", -"_%n folder_::_%n folders_" => array("%n 個のフォルダ"), +"_%n folder_::_%n folders_" => array("%n 個のフォルダー"), "_%n file_::_%n files_" => array("%n 個のファイル"), "{dirs} and {files}" => "{dirs} と {files}", "_Uploading %n file_::_Uploading %n files_" => array("%n 個のファイルをアップロード中"), -"'.' is an invalid file name." => "'.' は無効なファイル名です。", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "無効な名前、'\\', '/', '<', '>', ':', '\"', '|', '?', '*' は使用できません。", +"\"{name}\" is an invalid file name." => "\"{name}\" は無効なファイル名です。", "Your storage is full, files can not be updated or synced anymore!" => "あなたのストレージは一杯です。ファイルの更新と同期はもうできません!", -"Your storage is almost full ({usedSpacePercent}%)" => "あなたのストレージはほぼ一杯です({usedSpacePercent}%)", +"Your storage is almost full ({usedSpacePercent}%)" => "ストレージがほぼ一杯です({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." => "暗号化アプリの無効なプライベートキーです。あなたの暗号化されたファイルへアクセスするために、個人設定からプライベートキーのパスワードを更新してください。", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "暗号化の機能は無効化されましたが、ファイルはすでに暗号化されています。個人設定からファイルを複合を行ってください。", @@ -63,22 +64,22 @@ $TRANSLATIONS = array( "Name" => "名前", "Size" => "サイズ", "Modified" => "更新日時", -"Invalid folder name. Usage of 'Shared' is reserved." => "無効なフォルダ名。「Shared」の利用は予約されています。", +"Invalid folder name. Usage of 'Shared' is reserved." => "無効なフォルダー名。「Shared」の利用は予約されています。", "%s could not be renamed" => "%sの名前を変更できませんでした", "Upload" => "アップロード", "File handling" => "ファイル操作", "Maximum upload size" => "最大アップロードサイズ", "max. possible: " => "最大容量: ", -"Needed for multi-file and folder downloads." => "複数ファイルおよびフォルダのダウンロードに必要", +"Needed for multi-file and folder downloads." => "複数ファイルおよびフォルダーのダウンロードに必要", "Enable ZIP-download" => "ZIP形式のダウンロードを有効にする", "0 is unlimited" => "0を指定した場合は無制限", -"Maximum input size for ZIP files" => "ZIPファイルへの最大入力サイズ", +"Maximum input size for ZIP files" => "ZIPファイルでの最大入力サイズ", "Save" => "保存", "New" => "新規作成", "New text file" => "新規のテキストファイル作成", "Text file" => "テキストファイル", -"New folder" => "新しいフォルダ", -"Folder" => "フォルダ", +"New folder" => "新しいフォルダー", +"Folder" => "フォルダー", "From link" => "リンク", "Deleted files" => "ゴミ箱", "Cancel upload" => "アップロードをキャンセル", @@ -87,7 +88,7 @@ $TRANSLATIONS = array( "Download" => "ダウンロード", "Delete" => "削除", "Upload too large" => "アップロードには大きすぎます。", -"The files you are trying to upload exceed the maximum size for file uploads on this server." => "アップロードしようとしているファイルは、サーバで規定された最大サイズを超えています。", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "アップロードしようとしているファイルは、サーバーで規定された最大サイズを超えています。", "Files are being scanned, please wait." => "ファイルをスキャンしています、しばらくお待ちください。", "Current scanning" => "スキャン中", "Upgrading filesystem cache..." => "ファイルシステムキャッシュを更新中..." diff --git a/apps/files/l10n/ka_GE.php b/apps/files/l10n/ka_GE.php index eafa0c083f..230c2e4ede 100644 --- a/apps/files/l10n/ka_GE.php +++ b/apps/files/l10n/ka_GE.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "%s –ის გადატანა ვერ მოხერხდა – ფაილი ამ სახელით უკვე არსებობს", "Could not move %s" => "%s –ის გადატანა ვერ მოხერხდა", "File name cannot be empty." => "ფაილის სახელი არ შეიძლება იყოს ცარიელი.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "არადაშვებადი სახელი, '\\', '/', '<', '>', ':', '\"', '|', '?' და '*' არ არის დაიშვებული.", "No file was uploaded. Unknown error" => "ფაილი არ აიტვირთა. უცნობი შეცდომა", "There is no error, the file uploaded with success" => "ჭოცდომა არ დაფიქსირდა, ფაილი წარმატებით აიტვირთა", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "ატვირთული ფაილი აჭარბებს upload_max_filesize დირექტივას php.ini ფაილში", @@ -14,7 +15,6 @@ $TRANSLATIONS = array( "Not enough storage available" => "საცავში საკმარისი ადგილი არ არის", "Invalid directory." => "დაუშვებელი დირექტორია.", "Files" => "ფაილები", -"Not enough space available" => "საკმარისი ადგილი არ არის", "Upload cancelled." => "ატვირთვა შეჩერებულ იქნა.", "File upload is in progress. Leaving the page now will cancel the upload." => "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას", "{new_name} already exists" => "{new_name} უკვე არსებობს", @@ -27,8 +27,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array(""), "_%n file_::_%n files_" => array(""), "_Uploading %n file_::_Uploading %n files_" => array(""), -"'.' is an invalid file name." => "'.' არის დაუშვებელი ფაილის სახელი.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "არადაშვებადი სახელი, '\\', '/', '<', '>', ':', '\"', '|', '?' და '*' არ არის დაიშვებული.", "Your storage is full, files can not be updated or synced anymore!" => "თქვენი საცავი გადაივსო. ფაილების განახლება და სინქრონიზირება ვერ მოხერხდება!", "Your storage is almost full ({usedSpacePercent}%)" => "თქვენი საცავი თითქმის გადაივსო ({usedSpacePercent}%)", "Your download is being prepared. This might take some time if the files are big." => "გადმოწერის მოთხოვნა მუშავდება. ის მოითხოვს გარკვეულ დროს რაგდან ფაილები არის დიდი ზომის.", @@ -58,7 +56,6 @@ $TRANSLATIONS = array( "Upload too large" => "ასატვირთი ფაილი ძალიან დიდია", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "ფაილის ზომა რომლის ატვირთვასაც თქვენ აპირებთ, აჭარბებს სერვერზე დაშვებულ მაქსიმუმს.", "Files are being scanned, please wait." => "მიმდინარეობს ფაილების სკანირება, გთხოვთ დაელოდოთ.", -"Current scanning" => "მიმდინარე სკანირება", -"Upgrading filesystem cache..." => "ფაილური სისტემის ქეშის განახლება...." +"Current scanning" => "მიმდინარე სკანირება" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/km.php b/apps/files/l10n/km.php index 9733358d62..702c811ecf 100644 --- a/apps/files/l10n/km.php +++ b/apps/files/l10n/km.php @@ -1,8 +1,19 @@ "ឯកសារ", +"Share" => "ចែក​រំលែក", +"undo" => "មិន​ធ្វើ​វិញ", "_%n folder_::_%n folders_" => array(""), "_%n file_::_%n files_" => array(""), "_Uploading %n file_::_Uploading %n files_" => array(""), +"Error" => "កំហុស", +"Name" => "ឈ្មោះ", +"Size" => "ទំហំ", +"Upload" => "ផ្ទុក​ឡើង", +"Save" => "រក្សាទុក", +"New folder" => "ថត​ថ្មី", +"Folder" => "ថត", +"Download" => "ទាញយក", "Delete" => "លុប" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/ko.php b/apps/files/l10n/ko.php index 35a9f2fb85..92a2578074 100644 --- a/apps/files/l10n/ko.php +++ b/apps/files/l10n/ko.php @@ -3,14 +3,13 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "항목 %s을(를) 이동시킬 수 없음 - 같은 이름의 파일이 이미 존재함", "Could not move %s" => "항목 %s을(를) 이동시킬 수 없음", "File name cannot be empty." => "파일 이름이 비어 있을 수 없습니다.", -"File name must not contain \"/\". Please choose a different name." => "파일 이름에는 \"/\"가 들어갈 수 없습니다. 다른 이름을 사용하십시오.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "폴더 이름이 올바르지 않습니다. 이름에 문자 '\\', '/', '<', '>', ':', '\"', '|', '? ', '*'는 사용할 수 없습니다.", "The name %s is already used in the folder %s. Please choose a different name." => "이름 %s이(가) 폴더 %s에서 이미 사용 중입니다. 다른 이름을 사용하십시오.", "Not a valid source" => "올바르지 않은 원본", "Server is not allowed to open URLs, please check the server configuration" => "서버에서 URL을 열 수 없습니다. 서버 설정을 확인하십시오", "Error while downloading %s to %s" => "%s을(를) %s(으)로 다운로드하는 중 오류 발생", "Error when creating the file" => "파일 생성 중 오류 발생", "Folder name cannot be empty." => "폴더 이름이 비어있을 수 없습니다.", -"Folder name must not contain \"/\". Please choose a different name." => "폴더 이름에는 \"/\"가 들어갈 수 없습니다. 다른 이름을 사용하십시오.", "Error when creating the folder" => "폴더 생성 중 오류 발생", "Unable to set upload directory." => "업로드 디렉터리를 설정할 수 없습니다.", "Invalid Token" => "잘못된 토큰", @@ -23,12 +22,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "임시 폴더가 없음", "Failed to write to disk" => "디스크에 쓰지 못했습니다", "Not enough storage available" => "저장소가 용량이 충분하지 않습니다.", -"Upload failed. Could not get file info." => "업로드에 실패했습니다. 파일 정보를 가져올 수 없습니다.", "Upload failed. Could not find uploaded file" => "업로드에 실패했습니다. 업로드할 파일을 찾을 수 없습니다", +"Upload failed. Could not get file info." => "업로드에 실패했습니다. 파일 정보를 가져올 수 없습니다.", "Invalid directory." => "올바르지 않은 디렉터리입니다.", "Files" => "파일", "Unable to upload {filename} as it is a directory or has 0 bytes" => "{filename}을(를) 업로드할 수 없습니다. 폴더이거나 0 바이트 파일입니다.", -"Not enough space available" => "여유 공간이 부족합니다", "Upload cancelled." => "업로드가 취소되었습니다.", "Could not get result from server." => "서버에서 결과를 가져올 수 없습니다.", "File upload is in progress. Leaving the page now will cancel the upload." => "파일 업로드가 진행 중입니다. 이 페이지를 벗어나면 업로드가 취소됩니다.", @@ -50,8 +48,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("파일 %n개"), "{dirs} and {files}" => "{dirs} 그리고 {files}", "_Uploading %n file_::_Uploading %n files_" => array("파일 %n개 업로드 중"), -"'.' is an invalid file name." => "'.' 는 올바르지 않은 파일 이름입니다.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "폴더 이름이 올바르지 않습니다. 이름에 문자 '\\', '/', '<', '>', ':', '\"', '|', '? ', '*'는 사용할 수 없습니다.", "Your storage is full, files can not be updated or synced anymore!" => "저장 공간이 가득 찼습니다. 파일을 업데이트하거나 동기화할 수 없습니다!", "Your storage is almost full ({usedSpacePercent}%)" => "저장 공간이 거의 가득 찼습니다 ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "암호화 앱이 활성화되어 있지만 키가 초기화되지 않았습니다. 로그아웃한 후 다시 로그인하십시오", @@ -89,7 +85,6 @@ $TRANSLATIONS = array( "Upload too large" => "업로드한 파일이 너무 큼", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "이 파일이 서버에서 허용하는 최대 업로드 가능 용량보다 큽니다.", "Files are being scanned, please wait." => "파일을 검색하고 있습니다. 기다려 주십시오.", -"Current scanning" => "현재 검색", -"Upgrading filesystem cache..." => "파일 시스템 캐시 업그레이드 중..." +"Current scanning" => "현재 검색" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/ku_IQ.php b/apps/files/l10n/ku_IQ.php index f04e9ec44d..c0141656f5 100644 --- a/apps/files/l10n/ku_IQ.php +++ b/apps/files/l10n/ku_IQ.php @@ -1,5 +1,6 @@ "په‌ڕگەکان", "Share" => "هاوبەشی کردن", "_%n folder_::_%n folders_" => array("",""), "_%n file_::_%n files_" => array("",""), diff --git a/apps/files/l10n/lt_LT.php b/apps/files/l10n/lt_LT.php index d902365863..14c4862117 100644 --- a/apps/files/l10n/lt_LT.php +++ b/apps/files/l10n/lt_LT.php @@ -3,13 +3,13 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Nepavyko perkelti %s - failas su tokiu pavadinimu jau egzistuoja", "Could not move %s" => "Nepavyko perkelti %s", "File name cannot be empty." => "Failo pavadinimas negali būti tuščias.", -"File name must not contain \"/\". Please choose a different name." => "Failo pavadinime negali būti simbolio \"/\". Prašome pasirinkti kitokį pavadinimą.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neleistinas pavadinimas, '\\', '/', '<', '>', ':', '\"', '|', '?' ir '*' yra neleidžiami.", "The name %s is already used in the folder %s. Please choose a different name." => "Pavadinimas %s jau naudojamas aplanke %s. Prašome pasirinkti kitokį pavadinimą.", "Not a valid source" => "Netinkamas šaltinis", +"Server is not allowed to open URLs, please check the server configuration" => "Serveriui neleidžiama atverti URL, prašome patikrinti serverio konfigūraciją", "Error while downloading %s to %s" => "Klaida siunčiant %s į %s", "Error when creating the file" => "Klaida kuriant failą", "Folder name cannot be empty." => "Aplanko pavadinimas negali būti tuščias.", -"Folder name must not contain \"/\". Please choose a different name." => "Aplanko pavadinime negali būti simbolio \"/\". Prašome pasirinkti kitokį pavadinimą.", "Error when creating the folder" => "Klaida kuriant aplanką", "Unable to set upload directory." => "Nepavyksta nustatyti įkėlimų katalogo.", "Invalid Token" => "Netinkamas ženklas", @@ -22,19 +22,20 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Nėra laikinojo katalogo", "Failed to write to disk" => "Nepavyko įrašyti į diską", "Not enough storage available" => "Nepakanka vietos serveryje", -"Upload failed. Could not get file info." => "Įkėlimas nepavyko. Nepavyko gauti failo informacijos.", "Upload failed. Could not find uploaded file" => "Įkėlimas nepavyko. Nepavyko rasti įkelto failo", +"Upload failed. Could not get file info." => "Įkėlimas nepavyko. Nepavyko gauti failo informacijos.", "Invalid directory." => "Neteisingas aplankas", "Files" => "Failai", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Nepavyksta įkelti {filename}, nes tai katalogas arba yra 0 baitų dydžio", -"Not enough space available" => "Nepakanka vietos", "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.", "URL cannot be empty" => "URL negali būti tuščias.", +"In the home folder 'Shared' is a reserved filename" => "Pradiniame aplanke failo pavadinimas „Shared“ yra rezervuotas", "{new_name} already exists" => "{new_name} jau egzistuoja", "Could not create file" => "Neįmanoma sukurti failo", "Could not create folder" => "Neįmanoma sukurti aplanko", +"Error fetching URL" => "Klauda gaunant URL", "Share" => "Dalintis", "Delete permanently" => "Ištrinti negrįžtamai", "Rename" => "Pervadinti", @@ -47,8 +48,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n failas","%n failai","%n failų"), "{dirs} and {files}" => "{dirs} ir {files}", "_Uploading %n file_::_Uploading %n files_" => array("Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"), -"'.' is an invalid file name." => "'.' yra neleidžiamas failo pavadinime.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neleistinas pavadinimas, '\\', '/', '<', '>', ':', '\"', '|', '?' ir '*' yra neleidžiami.", "Your storage is full, files can not be updated or synced anymore!" => "Jūsų visa vieta serveryje užimta", "Your storage is almost full ({usedSpacePercent}%)" => "Jūsų vieta serveryje beveik visa užimta ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Šifravimo programa įjungta, bet Jūsų raktai nėra pritaikyti. Prašome atsijungti ir vėl prisijungti", @@ -60,6 +59,7 @@ $TRANSLATIONS = array( "Name" => "Pavadinimas", "Size" => "Dydis", "Modified" => "Pakeista", +"Invalid folder name. Usage of 'Shared' is reserved." => "Netinkamas aplanko pavadinimas. „Shared“ pavadinimas yra rezervuotas.", "%s could not be renamed" => "%s negali būti pervadintas", "Upload" => "Įkelti", "File handling" => "Failų tvarkymas", @@ -71,6 +71,7 @@ $TRANSLATIONS = array( "Maximum input size for ZIP files" => "Maksimalus ZIP archyvo failo dydis", "Save" => "Išsaugoti", "New" => "Naujas", +"New text file" => "Naujas tekstinis failas", "Text file" => "Teksto failas", "New folder" => "Naujas aplankas", "Folder" => "Katalogas", @@ -84,7 +85,6 @@ $TRANSLATIONS = array( "Upload too large" => "Įkėlimui failas per didelis", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Bandomų įkelti failų dydis viršija maksimalų, kuris leidžiamas šiame serveryje", "Files are being scanned, please wait." => "Skenuojami failai, prašome palaukti.", -"Current scanning" => "Šiuo metu skenuojama", -"Upgrading filesystem cache..." => "Atnaujinamas sistemos kešavimas..." +"Current scanning" => "Šiuo metu skenuojama" ); $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"; diff --git a/apps/files/l10n/lv.php b/apps/files/l10n/lv.php index 7f8975b294..0d2ebf281a 100644 --- a/apps/files/l10n/lv.php +++ b/apps/files/l10n/lv.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Nevarēja pārvietot %s — jau eksistē datne ar tādu nosaukumu", "Could not move %s" => "Nevarēja pārvietot %s", "File name cannot be empty." => "Datnes nosaukums nevar būt tukšs.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nederīgs nosaukums, nav atļauti '\\', '/', '<', '>', ':', '\"', '|', '?' un '*'.", "Unable to set upload directory." => "Nevar uzstādīt augšupielādes mapi.", "Invalid Token" => "Nepareiza pilnvara", "No file was uploaded. Unknown error" => "Netika augšupielādēta neviena datne. Nezināma kļūda", @@ -16,7 +17,6 @@ $TRANSLATIONS = array( "Not enough storage available" => "Nav pietiekami daudz vietas", "Invalid directory." => "Nederīga direktorija.", "Files" => "Datnes", -"Not enough space available" => "Nepietiek brīvas vietas", "Upload cancelled." => "Augšupielāde ir atcelta.", "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ē", @@ -29,8 +29,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array("%n mapes","%n mape","%n mapes"), "_%n file_::_%n files_" => array("%n faili","%n fails","%n faili"), "_Uploading %n file_::_Uploading %n files_" => array("%n","Augšupielāde %n failu","Augšupielāde %n failus"), -"'.' is an invalid file name." => "'.' ir nederīgs datnes nosaukums.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nederīgs nosaukums, nav atļauti '\\', '/', '<', '>', ':', '\"', '|', '?' un '*'.", "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!", "Your storage is almost full ({usedSpacePercent}%)" => "Jūsu krātuve ir gandrīz pilna ({usedSpacePercent}%)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Šifrēšana tika atslēgta, tomēr jūsu faili joprojām ir šifrēti. Atšifrēt failus var Personiskajos uzstādījumos.", @@ -62,7 +60,6 @@ $TRANSLATIONS = array( "Upload too large" => "Datne ir par lielu, lai to augšupielādētu", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Augšupielādējamās datnes pārsniedz servera pieļaujamo datņu augšupielādes apjomu", "Files are being scanned, please wait." => "Datnes šobrīd tiek caurskatītas, lūdzu, uzgaidiet.", -"Current scanning" => "Šobrīd tiek caurskatīts", -"Upgrading filesystem cache..." => "Uzlabo datņu sistēmas kešatmiņu..." +"Current scanning" => "Šobrīd tiek caurskatīts" ); $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"; diff --git a/apps/files/l10n/mk.php b/apps/files/l10n/mk.php index fadf5efc07..bc9ee15823 100644 --- a/apps/files/l10n/mk.php +++ b/apps/files/l10n/mk.php @@ -3,11 +3,11 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Не можам да го преместам %s - Датотека со такво име веќе постои", "Could not move %s" => "Не можам да ги префрлам %s", "File name cannot be empty." => "Името на датотеката не може да биде празно.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправилно име. , '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не се дозволени.", "Not a valid source" => "Не е валиден извор", "Error while downloading %s to %s" => "Грешка додека преземам %s to %s", "Error when creating the file" => "Грешка при креирање на датотека", "Folder name cannot be empty." => "Името на папката не може да биде празно.", -"Folder name must not contain \"/\". Please choose a different name." => "Името на папката не смее да содржи \"/\". Одберете друго име.", "Error when creating the folder" => "Грешка при креирање на папка", "Unable to set upload directory." => "Не може да се постави папката за префрлање на податоци.", "Invalid Token" => "Грешен токен", @@ -23,7 +23,6 @@ $TRANSLATIONS = array( "Upload failed. Could not find uploaded file" => "Префрлањето е неуспешно. Не можам да го најдам префрлената датотека.", "Invalid directory." => "Погрешна папка.", "Files" => "Датотеки", -"Not enough space available" => "Немате доволно дисков простор", "Upload cancelled." => "Преземањето е прекинато.", "Could not get result from server." => "Не можам да добијам резултат од серверот.", "File upload is in progress. Leaving the page now will cancel the upload." => "Подигање на датотека е во тек. Напуштење на страницата ќе го прекине.", @@ -43,8 +42,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("",""), "{dirs} and {files}" => "{dirs} и {files}", "_Uploading %n file_::_Uploading %n files_" => array("",""), -"'.' is an invalid file name." => "'.' е грешно име за датотека.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправилно име. , '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не се дозволени.", "Your storage is full, files can not be updated or synced anymore!" => "Вашиот сториџ е полн, датотеките веќе не можат да се освежуваат или синхронизираат!", "Your storage is almost full ({usedSpacePercent}%)" => "Вашиот сториџ е скоро полн ({usedSpacePercent}%)", "Your download is being prepared. This might take some time if the files are big." => "Вашето преземање се подготвува. Ова може да потрае до колку датотеките се големи.", @@ -75,7 +72,6 @@ $TRANSLATIONS = array( "Upload too large" => "Фајлот кој се вчитува е преголем", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Датотеките кои се обидувате да ги подигнете ја надминуваат максималната големина за подигнување датотеки на овој сервер.", "Files are being scanned, please wait." => "Се скенираат датотеки, ве молам почекајте.", -"Current scanning" => "Моментално скенирам", -"Upgrading filesystem cache..." => "Го надградувам кешот на фјал системот..." +"Current scanning" => "Моментално скенирам" ); $PLURAL_FORMS = "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"; diff --git a/apps/files/l10n/ml.php b/apps/files/l10n/ml.php new file mode 100644 index 0000000000..0157af093e --- /dev/null +++ b/apps/files/l10n/ml.php @@ -0,0 +1,7 @@ + array("",""), +"_%n file_::_%n files_" => array("",""), +"_Uploading %n file_::_Uploading %n files_" => array("","") +); +$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/mn.php b/apps/files/l10n/mn.php new file mode 100644 index 0000000000..0157af093e --- /dev/null +++ b/apps/files/l10n/mn.php @@ -0,0 +1,7 @@ + array("",""), +"_%n file_::_%n files_" => array("",""), +"_Uploading %n file_::_Uploading %n files_" => array("","") +); +$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/nb_NO.php b/apps/files/l10n/nb_NO.php index ebd7ef3899..b90bee38f9 100644 --- a/apps/files/l10n/nb_NO.php +++ b/apps/files/l10n/nb_NO.php @@ -3,6 +3,14 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Kan ikke flytte %s - En fil med samme navn finnes allerede", "Could not move %s" => "Kunne ikke flytte %s", "File name cannot be empty." => "Filnavn kan ikke være tomt.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldig navn, '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' er ikke tillatt.", +"The name %s is already used in the folder %s. Please choose a different name." => "Navnet %s brukes allerede i mappen %s. Velg et annet navn.", +"Not a valid source" => "Ikke en gyldig kilde", +"Server is not allowed to open URLs, please check the server configuration" => "Serveren har ikke lov til å åpne URL-er. Sjekk konfigurasjon av server", +"Error while downloading %s to %s" => "Feil ved nedlasting av %s til %s", +"Error when creating the file" => "Feil ved oppretting av filen", +"Folder name cannot be empty." => "Mappenavn kan ikke være tomt.", +"Error when creating the folder" => "Feil ved oppretting av mappen", "Unable to set upload directory." => "Kunne ikke sette opplastingskatalog.", "Invalid Token" => "Ugyldig nøkkel", "No file was uploaded. Unknown error" => "Ingen filer ble lastet opp. Ukjent feil.", @@ -14,30 +22,44 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Mangler midlertidig mappe", "Failed to write to disk" => "Klarte ikke å skrive til disk", "Not enough storage available" => "Ikke nok lagringsplass", +"Upload failed. Could not find uploaded file" => "Opplasting feilet. Fant ikke opplastet fil.", +"Upload failed. Could not get file info." => "Opplasting feilet. Klarte ikke å finne informasjon om fil.", "Invalid directory." => "Ugyldig katalog.", "Files" => "Filer", -"Not enough space available" => "Ikke nok lagringsplass", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "Kan ikke laste opp {filename} fordi det er en mappe eller har 0 bytes", "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.", +"URL cannot be empty" => "URL kan ikke være tom", +"In the home folder 'Shared' is a reserved filename" => "I hjemmemappen er 'Shared' et reservert filnavn", "{new_name} already exists" => "{new_name} finnes allerede", +"Could not create file" => "Klarte ikke å opprette fil", +"Could not create folder" => "Klarte ikke å opprette mappe", +"Error fetching URL" => "Feil ved henting av URL", "Share" => "Del", "Delete permanently" => "Slett permanent", "Rename" => "Gi nytt navn", "Pending" => "Ventende", +"Could not rename file" => "Klarte ikke å gi nytt navn til fil", "replaced {new_name} with {old_name}" => "erstattet {new_name} med {old_name}", "undo" => "angre", +"Error deleting file." => "Feil ved sletting av fil.", "_%n folder_::_%n folders_" => array("%n mappe","%n mapper"), "_%n file_::_%n files_" => array("%n fil","%n filer"), +"{dirs} and {files}" => "{dirs} og {files}", "_Uploading %n file_::_Uploading %n files_" => array("Laster opp %n fil","Laster opp %n filer"), -"'.' is an invalid file name." => "'.' er et ugyldig filnavn.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldig navn, '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' er ikke tillatt.", "Your storage is full, files can not be updated or synced anymore!" => "Lagringsplass er oppbrukt, filer kan ikke lenger oppdateres eller synkroniseres!", "Your storage is almost full ({usedSpacePercent}%)" => "Lagringsplass er nesten brukt opp ([usedSpacePercent}%)", +"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "App for kryptering er aktivert men nøklene dine er ikke satt opp. Logg ut og logg inn igjen.", +"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." => "Ugyldig privat nøkkel for Krypterings-app. Oppdater passordet for din private nøkkel i dine personlige innstillinger for å gjenopprette tilgang til de krypterte filene dine.", +"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Kryptering ble slått av men filene dine er fremdeles kryptert. Gå til dine personlige innstillinger for å dekryptere filene dine.", "Your download is being prepared. This might take some time if the files are big." => "Nedlastingen din klargjøres. Hvis filene er store kan dette ta litt tid.", +"Error moving file" => "Feil ved flytting av fil", "Error" => "Feil", "Name" => "Navn", "Size" => "Størrelse", "Modified" => "Endret", +"Invalid folder name. Usage of 'Shared' is reserved." => "Ulovlig mappenavn. Bruken av 'Shared' er reservert.", "%s could not be renamed" => "Kunne ikke gi nytt navn til %s", "Upload" => "Last opp", "File handling" => "Filhåndtering", @@ -49,19 +71,20 @@ $TRANSLATIONS = array( "Maximum input size for ZIP files" => "Maksimal størrelse på ZIP-filer", "Save" => "Lagre", "New" => "Ny", +"New text file" => "Ny tekstfil", "Text file" => "Tekstfil", "New folder" => "Ny mappe", "Folder" => "Mappe", "From link" => "Fra link", -"Deleted files" => "Slettet filer", +"Deleted files" => "Slettede filer", "Cancel upload" => "Avbryt opplasting", +"You don’t have permission to upload or create files here" => "Du har ikke tillatelse til å laste opp eller opprette filer her", "Nothing in here. Upload something!" => "Ingenting her. Last opp noe!", "Download" => "Last ned", "Delete" => "Slett", "Upload too large" => "Filen er for stor", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filene du prøver å laste opp er for store for å laste opp til denne serveren.", "Files are being scanned, please wait." => "Skanner filer, vennligst vent.", -"Current scanning" => "Pågående skanning", -"Upgrading filesystem cache..." => "Oppgraderer filsystemets mellomlager..." +"Current scanning" => "Pågående skanning" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/nl.php b/apps/files/l10n/nl.php index a391e25b95..c617f0bfdd 100644 --- a/apps/files/l10n/nl.php +++ b/apps/files/l10n/nl.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Kon %s niet verplaatsen - Er bestaat al een bestand met deze naam", "Could not move %s" => "Kon %s niet verplaatsen", "File name cannot be empty." => "Bestandsnaam kan niet leeg zijn.", -"File name must not contain \"/\". Please choose a different name." => "De bestandsnaam mag geen \"/\" bevatten. Kies een andere naam.", +"\"%s\" is an invalid file name." => "\"%s\" is een ongeldige bestandsnaam.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Onjuiste naam; '\\', '/', '<', '>', ':', '\"', '|', '?' en '*' zijn niet toegestaan.", +"The target folder has been moved or deleted." => "De doelmap is verplaatst of verwijderd.", "The name %s is already used in the folder %s. Please choose a different name." => "De naam %s bestaat al in map %s. Kies een andere naam.", "Not a valid source" => "Geen geldige bron", "Server is not allowed to open URLs, please check the server configuration" => "Server mag geen URS's openen, controleer de server configuratie", "Error while downloading %s to %s" => "Fout bij downloaden %s naar %s", "Error when creating the file" => "Fout bij creëren bestand", "Folder name cannot be empty." => "Mapnaam mag niet leeg zijn.", -"Folder name must not contain \"/\". Please choose a different name." => "De mapnaam mag geen \"/\" bevatten. Kies een andere naam.", "Error when creating the folder" => "Fout bij aanmaken map", "Unable to set upload directory." => "Kan upload map niet instellen.", "Invalid Token" => "Ongeldig Token", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Er ontbreekt een tijdelijke map", "Failed to write to disk" => "Schrijven naar schijf mislukt", "Not enough storage available" => "Niet genoeg opslagruimte beschikbaar", -"Upload failed. Could not get file info." => "Upload mislukt, Kon geen bestandsinfo krijgen.", "Upload failed. Could not find uploaded file" => "Upload mislukt. Kon ge-uploade bestand niet vinden", +"Upload failed. Could not get file info." => "Upload mislukt, Kon geen bestandsinfo krijgen.", "Invalid directory." => "Ongeldige directory.", "Files" => "Bestanden", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Kan {filename} niet uploaden omdat het een map is of 0 bytes groot is", -"Not enough space available" => "Niet genoeg ruimte beschikbaar", +"Total file size {size1} exceeds upload limit {size2}" => "Totale bestandsgrootte {size1} groter dan uploadlimiet {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Niet genoeg vrije ruimte. U upload {size1}, maar is is slechts {size2} beschikbaar", "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.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("","%n bestanden"), "{dirs} and {files}" => "{dirs} en {files}", "_Uploading %n file_::_Uploading %n files_" => array("%n bestand aan het uploaden","%n bestanden aan het uploaden"), -"'.' is an invalid file name." => "'.' is een ongeldige bestandsnaam.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Onjuiste naam; '\\', '/', '<', '>', ':', '\"', '|', '?' en '*' zijn niet toegestaan.", +"\"{name}\" is an invalid file name." => "\"{name}\" is een ongeldige bestandsnaam.", "Your storage is full, files can not be updated or synced anymore!" => "Uw opslagruimte zit vol, Bestanden kunnen niet meer worden ge-upload of gesynchroniseerd!", "Your storage is almost full ({usedSpacePercent}%)" => "Uw opslagruimte zit bijna vol ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Crypto app is geactiveerd, maar uw sleutels werden niet geïnitialiseerd. Log uit en log daarna opnieuw in.", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Upload is te groot", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "De bestanden die u probeert te uploaden zijn groter dan de maximaal toegestane bestandsgrootte voor deze server.", "Files are being scanned, please wait." => "Bestanden worden gescand, even wachten.", -"Current scanning" => "Er wordt gescand", -"Upgrading filesystem cache..." => "Upgraden bestandssysteem cache..." +"Current scanning" => "Er wordt gescand" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/nn_NO.php b/apps/files/l10n/nn_NO.php index a5e6e737ea..4f74167d9a 100644 --- a/apps/files/l10n/nn_NO.php +++ b/apps/files/l10n/nn_NO.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Klarte ikkje flytta %s – det finst allereie ei fil med dette namnet", "Could not move %s" => "Klarte ikkje flytta %s", "File name cannot be empty." => "Filnamnet kan ikkje vera tomt.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldig namn, «\\», «/», «<», «>», «:», «\"», «|», «?» og «*» er ikkje tillate.", "Unable to set upload directory." => "Klarte ikkje å endra opplastingsmappa.", "Invalid Token" => "Ugyldig token", "No file was uploaded. Unknown error" => "Ingen filer lasta opp. Ukjend feil", @@ -14,12 +15,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Manglar ei mellombels mappe", "Failed to write to disk" => "Klarte ikkje skriva til disk", "Not enough storage available" => "Ikkje nok lagringsplass tilgjengeleg", -"Upload failed. Could not get file info." => "Feil ved opplasting. Klarte ikkje å henta filinfo.", "Upload failed. Could not find uploaded file" => "Feil ved opplasting. Klarte ikkje å finna opplasta fil.", +"Upload failed. Could not get file info." => "Feil ved opplasting. Klarte ikkje å henta filinfo.", "Invalid directory." => "Ugyldig mappe.", "Files" => "Filer", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Klarte ikkje å lasta opp {filename} sidan det er ei mappe eller er 0 byte.", -"Not enough space available" => "Ikkje nok lagringsplass tilgjengeleg", "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.", @@ -34,8 +34,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n fil","%n filer"), "{dirs} and {files}" => "{dirs} og {files}", "_Uploading %n file_::_Uploading %n files_" => array("Lastar opp %n fil","Lastar opp %n filer"), -"'.' is an invalid file name." => "«.» er eit ugyldig filnamn.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldig namn, «\\», «/», «<», «>», «:», «\"», «|», «?» og «*» er ikkje tillate.", "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} %)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Kryptering er skrudd av, men filene dine er enno krypterte. Du kan dekryptera filene i personlege innstillingar.", @@ -67,7 +65,6 @@ $TRANSLATIONS = array( "Upload too large" => "For stor opplasting", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filene du prøver å lasta opp er større enn maksgrensa til denne tenaren.", "Files are being scanned, please wait." => "Skannar filer, ver venleg og vent.", -"Current scanning" => "Køyrande skanning", -"Upgrading filesystem cache..." => "Oppgraderer mellomlageret av filsystemet …" +"Current scanning" => "Køyrande skanning" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/pl.php b/apps/files/l10n/pl.php index 031bd50870..3e93dc881e 100644 --- a/apps/files/l10n/pl.php +++ b/apps/files/l10n/pl.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Nie można było przenieść %s - Plik o takiej nazwie już istnieje", "Could not move %s" => "Nie można było przenieść %s", "File name cannot be empty." => "Nazwa pliku nie może być pusta.", -"File name must not contain \"/\". Please choose a different name." => "Nazwa pliku nie może zawierać \"/\". Proszę wybrać inną nazwę.", +"\"%s\" is an invalid file name." => "\"%s\" jest nieprawidłową nazwą pliku.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nieprawidłowa nazwa. Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*' są niedozwolone.", +"The target folder has been moved or deleted." => "Folder docelowy został przeniesiony lub usunięty", "The name %s is already used in the folder %s. Please choose a different name." => "Nazwa %s jest już używana w folderze %s. Proszę wybrać inną nazwę.", "Not a valid source" => "Niepoprawne źródło", "Server is not allowed to open URLs, please check the server configuration" => "Serwer nie mógł otworzyć adresów URL, należy sprawdzić konfigurację serwera", "Error while downloading %s to %s" => "Błąd podczas pobierania %s do %S", "Error when creating the file" => "Błąd przy tworzeniu pliku", "Folder name cannot be empty." => "Nazwa folderu nie może być pusta.", -"Folder name must not contain \"/\". Please choose a different name." => "Nazwa folderu nie może zawierać \"/\". Proszę wybrać inną nazwę.", "Error when creating the folder" => "Błąd przy tworzeniu folderu", "Unable to set upload directory." => "Nie można ustawić katalog wczytywania.", "Invalid Token" => "Nieprawidłowy Token", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Brak folderu tymczasowego", "Failed to write to disk" => "Błąd zapisu na dysk", "Not enough storage available" => "Za mało dostępnego miejsca", -"Upload failed. Could not get file info." => "Nieudane przesłanie. Nie można pobrać informacji o pliku.", "Upload failed. Could not find uploaded file" => "Nieudane przesłanie. Nie można znaleźć przesyłanego pliku", +"Upload failed. Could not get file info." => "Nieudane przesłanie. Nie można pobrać informacji o pliku.", "Invalid directory." => "Zła ścieżka.", "Files" => "Pliki", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Nie można przesłać {filename} być może jest katalogiem lub posiada 0 bajtów", -"Not enough space available" => "Za mało miejsca", +"Total file size {size1} exceeds upload limit {size2}" => "Całkowity rozmiar {size1} przekracza limit uploadu {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Brak wolnej przestrzeni, przesyłasz {size1} a pozostało tylko {size2}", "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.", @@ -48,10 +50,9 @@ $TRANSLATIONS = array( "Error deleting file." => "Błąd podczas usuwania pliku", "_%n folder_::_%n folders_" => array("%n katalog","%n katalogi","%n katalogów"), "_%n file_::_%n files_" => array("%n plik","%n pliki","%n plików"), -"{dirs} and {files}" => "{dirs} and {files}", +"{dirs} and {files}" => "{dirs} i {files}", "_Uploading %n file_::_Uploading %n files_" => array("Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"), -"'.' is an invalid file name." => "„.” jest nieprawidłową nazwą pliku.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nieprawidłowa nazwa. Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*' są niedozwolone.", +"\"{name}\" is an invalid file name." => "\"{name}\" jest nieprawidłową nazwą pliku.", "Your storage is full, files can not be updated or synced anymore!" => "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!", "Your storage is almost full ({usedSpacePercent}%)" => "Twój magazyn jest prawie pełny ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Aplikacja szyfrująca jest aktywna, ale twoje klucze nie zostały zainicjowane, prosze wyloguj się i zaloguj ponownie.", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Ładowany plik jest za duży", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Pliki, które próbujesz przesłać, przekraczają maksymalną dopuszczalną wielkość.", "Files are being scanned, please wait." => "Skanowanie plików, proszę czekać.", -"Current scanning" => "Aktualnie skanowane", -"Upgrading filesystem cache..." => "Uaktualnianie plików pamięci podręcznej..." +"Current scanning" => "Aktualnie skanowane" ); $PLURAL_FORMS = "nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"; diff --git a/apps/files/l10n/pt_BR.php b/apps/files/l10n/pt_BR.php index f84dcfcd48..d0c27431da 100644 --- a/apps/files/l10n/pt_BR.php +++ b/apps/files/l10n/pt_BR.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Impossível mover %s - Um arquivo com este nome já existe", "Could not move %s" => "Impossível mover %s", "File name cannot be empty." => "O nome do arquivo não pode estar vazio.", -"File name must not contain \"/\". Please choose a different name." => "O nome do arquivo não deve conter \"/\". Por favor, escolha um nome diferente.", +"\"%s\" is an invalid file name." => "\"%s\" é um nome de arquivo inválido.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.", +"The target folder has been moved or deleted." => "A pasta de destino foi movida ou excluída.", "The name %s is already used in the folder %s. Please choose a different name." => "O nome %s já é usado na pasta %s. Por favor, escolha um nome diferente.", "Not a valid source" => "Não é uma fonte válida", "Server is not allowed to open URLs, please check the server configuration" => "Não é permitido ao servidor abrir URLs, por favor verificar a configuração do servidor.", "Error while downloading %s to %s" => "Erro ao baixar %s para %s", "Error when creating the file" => "Erro ao criar o arquivo", "Folder name cannot be empty." => "O nome da pasta não pode estar vazio.", -"Folder name must not contain \"/\". Please choose a different name." => "O nome da pasta não pode conter \"/\". Por favor, escolha um nome diferente.", "Error when creating the folder" => "Erro ao criar a pasta", "Unable to set upload directory." => "Impossível configurar o diretório de upload", "Invalid Token" => "Token inválido", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Pasta temporária não encontrada", "Failed to write to disk" => "Falha ao escrever no disco", "Not enough storage available" => "Espaço de armazenamento insuficiente", -"Upload failed. Could not get file info." => "Falha no envio. Não foi possível obter informações do arquivo.", "Upload failed. Could not find uploaded file" => "Falha no envio. Não foi possível encontrar o arquivo enviado", +"Upload failed. Could not get file info." => "Falha no envio. Não foi possível obter informações do arquivo.", "Invalid directory." => "Diretório inválido.", "Files" => "Arquivos", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Incapaz de fazer o envio de {filename}, pois é um diretório ou tem 0 bytes", -"Not enough space available" => "Espaço de armazenamento insuficiente", +"Total file size {size1} exceeds upload limit {size2}" => "Tamanho total do arquivo {size1} excede limite de envio {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Não há espaço suficiente, você está enviando {size1} mas resta apenas {size2}", "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." => "Upload em andamento. Sair da página agora resultará no cancelamento do envio.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n arquivo","%n arquivos"), "{dirs} and {files}" => "{dirs} e {files}", "_Uploading %n file_::_Uploading %n files_" => array("Enviando %n arquivo","Enviando %n arquivos"), -"'.' is an invalid file name." => "'.' é um nome de arquivo inválido.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.", +"\"{name}\" is an invalid file name." => "\"{name}\" é um nome de arquivo inválido.", "Your storage is full, files can not be updated or synced anymore!" => "Seu armazenamento está cheio, arquivos não podem mais ser atualizados ou sincronizados!", "Your storage is almost full ({usedSpacePercent}%)" => "Seu armazenamento está quase cheio ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "App de encriptação está ativado, mas as chaves não estão inicializadas, por favor log-out e faça login novamente", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Upload muito grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os arquivos que você está tentando carregar excedeu o tamanho máximo para arquivos no servidor.", "Files are being scanned, please wait." => "Arquivos sendo escaneados, por favor aguarde.", -"Current scanning" => "Scanning atual", -"Upgrading filesystem cache..." => "Atualizando cache do sistema de arquivos..." +"Current scanning" => "Scanning atual" ); $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; diff --git a/apps/files/l10n/pt_PT.php b/apps/files/l10n/pt_PT.php index 4b9fade2e2..3b3c2f842b 100644 --- a/apps/files/l10n/pt_PT.php +++ b/apps/files/l10n/pt_PT.php @@ -1,8 +1,16 @@ "Não foi possível mover o ficheiro %s - Já existe um ficheiro com esse nome", +"Could not move %s - File with this name already exists" => "Não pôde mover o ficheiro %s - Já existe um ficheiro com esse nome", "Could not move %s" => "Não foi possível move o ficheiro %s", "File name cannot be empty." => "O nome do ficheiro não pode estar vazio.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.", +"The name %s is already used in the folder %s. Please choose a different name." => "O nome %s já está em uso na pasta %s. Por favor escolha um nome diferente.", +"Not a valid source" => "Não é uma fonte válida", +"Server is not allowed to open URLs, please check the server configuration" => "O servidor não consegue abrir URLs, por favor verifique a configuração do servidor", +"Error while downloading %s to %s" => "Erro ao transferir %s para %s", +"Error when creating the file" => "Erro ao criar o ficheiro", +"Folder name cannot be empty." => "O nome da pasta não pode estar vazio.", +"Error when creating the folder" => "Erro ao criar a pasta", "Unable to set upload directory." => "Não foi possível criar o diretório de upload", "Invalid Token" => "Token inválido", "No file was uploaded. Unknown error" => "Nenhum ficheiro foi carregado. Erro desconhecido", @@ -14,28 +22,36 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Está a faltar a pasta temporária", "Failed to write to disk" => "Falhou a escrita no disco", "Not enough storage available" => "Não há espaço suficiente em disco", +"Upload failed. Could not find uploaded file" => "Falhou o envio. Não conseguiu encontrar o ficheiro enviado", "Upload failed. Could not get file info." => "O carregamento falhou. Não foi possível obter a informação do ficheiro.", "Invalid directory." => "Directório Inválido", "Files" => "Ficheiros", -"Not enough space available" => "Espaço em disco insuficiente!", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "Incapaz de enviar {filename}, dado que é uma pasta, ou tem 0 bytes", "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. Irá cancelar o envio se sair da página agora.", +"URL cannot be empty" => "URL não pode estar vazio", +"In the home folder 'Shared' is a reserved filename" => "Na pasta pessoal \"Partilhado\" é um nome de ficheiro reservado", "{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", +"Error fetching URL" => "Erro ao obter URL", "Share" => "Partilhar", "Delete permanently" => "Eliminar permanentemente", "Rename" => "Renomear", "Pending" => "Pendente", +"Could not rename file" => "Não pôde renomear o ficheiro", "replaced {new_name} with {old_name}" => "substituido {new_name} por {old_name}", "undo" => "desfazer", +"Error deleting file." => "Erro ao apagar o ficheiro.", "_%n folder_::_%n folders_" => array("%n pasta","%n pastas"), "_%n file_::_%n files_" => array("%n ficheiro","%n ficheiros"), "{dirs} and {files}" => "{dirs} e {files}", "_Uploading %n file_::_Uploading %n files_" => array("A carregar %n ficheiro","A carregar %n ficheiros"), -"'.' is an invalid file name." => "'.' não é um nome de ficheiro válido!", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.", "Your storage is full, files can not be updated or synced anymore!" => "O seu armazenamento está cheio, os ficheiros não podem ser sincronizados.", "Your storage is almost full ({usedSpacePercent}%)" => "O seu espaço de armazenamento está quase cheiro ({usedSpacePercent}%)", +"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "A Aplicação de Encriptação está ativada, mas as suas chaves não inicializaram. Por favor termine e inicie a sessão novamente", +"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." => "Chave privada inválida da Aplicação de Encriptação. Por favor atualize a sua senha de chave privada nas definições pessoais, para recuperar o acesso aos seus ficheiros encriptados.", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "A encriptação foi desactivada mas os seus ficheiros continuam encriptados. Por favor consulte as suas definições pessoais para desencriptar os ficheiros.", "Your download is being prepared. This might take some time if the files are big." => "O seu download está a ser preparado. Este processo pode demorar algum tempo se os ficheiros forem grandes.", "Error moving file" => "Erro ao mover o ficheiro", @@ -43,6 +59,7 @@ $TRANSLATIONS = array( "Name" => "Nome", "Size" => "Tamanho", "Modified" => "Modificado", +"Invalid folder name. Usage of 'Shared' is reserved." => "Nome de pasta inválido. Utilização de \"Partilhado\" está reservada.", "%s could not be renamed" => "%s não pode ser renomeada", "Upload" => "Carregar", "File handling" => "Manuseamento de ficheiros", @@ -54,19 +71,20 @@ $TRANSLATIONS = array( "Maximum input size for ZIP files" => "Tamanho máximo para ficheiros ZIP", "Save" => "Guardar", "New" => "Novo", +"New text file" => "Novo ficheiro de texto", "Text file" => "Ficheiro de texto", "New folder" => "Nova Pasta", "Folder" => "Pasta", "From link" => "Da ligação", "Deleted files" => "Ficheiros eliminados", "Cancel upload" => "Cancelar envio", +"You don’t have permission to upload or create files here" => "Você não tem permissão para enviar ou criar ficheiros aqui", "Nothing in here. Upload something!" => "Vazio. Envie alguma coisa!", "Download" => "Transferir", "Delete" => "Eliminar", "Upload too large" => "Upload muito grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os ficheiro que está a tentar enviar excedem o tamanho máximo de envio neste servidor.", "Files are being scanned, please wait." => "Os ficheiros estão a ser analisados, por favor aguarde.", -"Current scanning" => "Análise actual", -"Upgrading filesystem cache..." => "Atualizar cache do sistema de ficheiros..." +"Current scanning" => "Análise actual" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/ro.php b/apps/files/l10n/ro.php index 933625d8d1..7686025e35 100644 --- a/apps/files/l10n/ro.php +++ b/apps/files/l10n/ro.php @@ -1,73 +1,77 @@ "%s nu se poate muta - Fișierul cu acest nume există deja ", -"Could not move %s" => "Nu s-a putut muta %s", +"Could not move %s" => "Nu se poate muta %s", "File name cannot be empty." => "Numele fișierului nu poate rămâne gol.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nume nevalide, '\\', '/', '<', '>', ':', '\"', '|', '?' și '*' nu sunt permise.", +"Error when creating the file" => "Eroare la crearea fisierului", +"Error when creating the folder" => "Eroare la crearea folderului", "Unable to set upload directory." => "Imposibil de a seta directorul pentru incărcare.", "Invalid Token" => "Jeton Invalid", -"No file was uploaded. Unknown error" => "Nici un fișier nu a fost încărcat. Eroare necunoscută", +"No file was uploaded. Unknown error" => "Niciun fișier nu a fost încărcat. Eroare necunoscută", "There is no error, the file uploaded with success" => "Nu a apărut nici o eroare, fișierul a fost încărcat cu succes", -"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fisierul incarcat depaseste marimea maxima permisa in php.ini: ", -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Fișierul are o dimensiune mai mare decât variabile MAX_FILE_SIZE specificată în formularul HTML", +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fișierul încărcat depășește directiva upload_max_filesize din php.ini:", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Fișierul încărcat depășește directiva MAX_FILE_SIZE specificată în formularul HTML", "The uploaded file was only partially uploaded" => "Fișierul a fost încărcat doar parțial", -"No file was uploaded" => "Nu a fost încărcat nici un fișier", +"No file was uploaded" => "Nu a fost încărcat niciun fișier", "Missing a temporary folder" => "Lipsește un dosar temporar", -"Failed to write to disk" => "Eroare la scrierea discului", -"Not enough storage available" => "Nu este suficient spațiu disponibil", -"Upload failed. Could not get file info." => "Încărcare eșuată. Nu se pot obține informații despre fișier.", +"Failed to write to disk" => "Eroare la scrierea pe disc", +"Not enough storage available" => "Nu este disponibil suficient spațiu", "Upload failed. Could not find uploaded file" => "Încărcare eșuată. Nu se poate găsi fișierul încărcat", -"Invalid directory." => "registru invalid.", +"Upload failed. Could not get file info." => "Încărcare eșuată. Nu se pot obține informații despre fișier.", +"Invalid directory." => "Dosar nevalid.", "Files" => "Fișiere", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Nu se poate încărca {filename} deoarece este un director sau are mărimea de 0 octeți", -"Not enough space available" => "Nu este suficient spațiu disponibil", "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} deja exista", -"Share" => "a imparti", -"Delete permanently" => "Stergere permanenta", -"Rename" => "Redenumire", -"Pending" => "in timpul", -"replaced {new_name} with {old_name}" => "{new_name} inlocuit cu {old_name}", -"undo" => "Anulează ultima acțiune", +"URL cannot be empty" => "URL nu poate fi gol", +"{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", +"Share" => "Partajează", +"Delete permanently" => "Șterge permanent", +"Rename" => "Redenumește", +"Pending" => "În așteptare", +"Could not rename file" => "Nu s-a putut redenumi fisierul", +"replaced {new_name} with {old_name}" => "{new_name} a fost înlocuit cu {old_name}", +"undo" => "desfă", "_%n folder_::_%n folders_" => array("%n director","%n directoare","%n directoare"), "_%n file_::_%n files_" => array("%n fișier","%n fișiere","%n fișiere"), "{dirs} and {files}" => "{dirs} și {files}", "_Uploading %n file_::_Uploading %n files_" => array("Se încarcă %n fișier.","Se încarcă %n fișiere.","Se încarcă %n fișiere."), -"'.' is an invalid file name." => "'.' este un nume invalid de fișier.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nume invalide, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise.", -"Your storage is full, files can not be updated or synced anymore!" => "Spatiul de stocare este plin, fisierele nu mai pot fi actualizate sau sincronizate", -"Your storage is almost full ({usedSpacePercent}%)" => "Spatiul de stocare este aproape plin {spatiu folosit}%", +"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}%)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "criptarea a fost disactivata dar fisierele sant inca criptate.va rog intrati in setarile personale pentru a decripta fisierele", -"Your download is being prepared. This might take some time if the files are big." => "in curs de descarcare. Aceasta poate să dureze ceva timp dacă fișierele sunt mari.", +"Your download is being prepared. This might take some time if the files are big." => "Se pregătește descărcarea. Aceasta poate dura ceva timp dacă fișierele sunt mari.", "Error moving file" => "Eroare la mutarea fișierului", "Error" => "Eroare", "Name" => "Nume", -"Size" => "Dimensiune", +"Size" => "Mărime", "Modified" => "Modificat", "%s could not be renamed" => "%s nu a putut fi redenumit", -"Upload" => "Încărcare", +"Upload" => "Încărcă", "File handling" => "Manipulare fișiere", "Maximum upload size" => "Dimensiune maximă admisă la încărcare", "max. possible: " => "max. posibil:", -"Needed for multi-file and folder downloads." => "necesar la descarcarea mai multor liste si fisiere", -"Enable ZIP-download" => "permite descarcarea codurilor ZIP", -"0 is unlimited" => "0 e nelimitat", -"Maximum input size for ZIP files" => "Dimensiunea maximă de intrare pentru fișiere compresate", +"Needed for multi-file and folder downloads." => "Necesar pentru descărcarea mai multor fișiere și a dosarelor.", +"Enable ZIP-download" => "Permite descărcarea ZIP", +"0 is unlimited" => "0 este nelimitat", +"Maximum input size for ZIP files" => "Dimensiunea maximă de intrare pentru fișierele ZIP", "Save" => "Salvează", "New" => "Nou", -"Text file" => "lista", +"Text file" => "Fișier text", "Folder" => "Dosar", -"From link" => "de la adresa", -"Deleted files" => "Sterge fisierele", +"From link" => "De la adresa", +"Deleted files" => "Fișiere șterse", "Cancel upload" => "Anulează încărcarea", +"You don’t have permission to upload or create files here" => "Nu aveti permisiunea de a incarca sau crea fisiere aici", "Nothing in here. Upload something!" => "Nimic aici. Încarcă ceva!", "Download" => "Descarcă", "Delete" => "Șterge", "Upload too large" => "Fișierul încărcat este prea mare", -"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Fișierul care l-ai încărcat a depășită limita maximă admisă la încărcare pe acest server.", -"Files are being scanned, please wait." => "Fișierele sunt scanate, asteptati va rog", -"Current scanning" => "În curs de scanare", -"Upgrading filesystem cache..." => "Modernizare fisiere de sistem cache.." +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Fișierele pe care încerci să le încarci depășesc limita de încărcare maximă admisă pe acest server.", +"Files are being scanned, please wait." => "Fișierele sunt scanate, te rog așteaptă.", +"Current scanning" => "În curs de scanare" ); $PLURAL_FORMS = "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"; diff --git a/apps/files/l10n/ru.php b/apps/files/l10n/ru.php index 968da63aac..ac958e5dfd 100644 --- a/apps/files/l10n/ru.php +++ b/apps/files/l10n/ru.php @@ -3,66 +3,67 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Невозможно переместить %s - файл с таким именем уже существует", "Could not move %s" => "Невозможно переместить %s", "File name cannot be empty." => "Имя файла не может быть пустым.", -"File name must not contain \"/\". Please choose a different name." => "Имя файла не должно содержать символ \"/\". Пожалуйста, выберите другое имя.", -"The name %s is already used in the folder %s. Please choose a different name." => "Имя %s уже используется в папке %s. Пожалуйста выберите другое имя.", +"\"%s\" is an invalid file name." => "\"%s\" это не правильное имя файла.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправильное имя: символы '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' недопустимы.", +"The target folder has been moved or deleted." => "Целевой каталог был перемещен или удален.", +"The name %s is already used in the folder %s. Please choose a different name." => "Имя %s уже используется для каталога %s. Пожалуйста, выберите другое имя.", "Not a valid source" => "Неправильный источник", "Server is not allowed to open URLs, please check the server configuration" => "Сервер не позволяет открывать URL-адреса, пожалуйста, проверьте настройки сервера", -"Error while downloading %s to %s" => "Ошибка при загрузке %s в %s", +"Error while downloading %s to %s" => "Ошибка при скачивании %s в %s", "Error when creating the file" => "Ошибка при создании файла", "Folder name cannot be empty." => "Имя папки не может быть пустым.", -"Folder name must not contain \"/\". Please choose a different name." => "Имя папки не должно содержать символ \"/\". Пожалуйста, выберите другое имя.", -"Error when creating the folder" => "Ошибка при создании папки", +"Error when creating the folder" => "Ошибка создания каталога", "Unable to set upload directory." => "Не удалось установить каталог загрузки.", "Invalid Token" => "Недопустимый маркер", "No file was uploaded. Unknown error" => "Файл не был загружен. Неизвестная ошибка", "There is no error, the file uploaded with success" => "Файл загружен успешно.", -"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Файл превышает размер установленный upload_max_filesize в php.ini:", -"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Загружаемый файл превосходит значение переменной MAX_FILE_SIZE, указанной в форме HTML", -"The uploaded file was only partially uploaded" => "Файл загружен частично", -"No file was uploaded" => "Файл не был загружен", -"Missing a temporary folder" => "Отсутствует временная папка", +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Файл превышает размер, установленный параметром upload_max_filesize в php.ini:", +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Загруженный файл превышает размер, установленный параметром MAX_FILE_SIZE в HTML-форме", +"The uploaded file was only partially uploaded" => "Файл загружен лишь частично", +"No file was uploaded" => "Ни одного файла загружено не было", +"Missing a temporary folder" => "Отсутствует временный каталог", "Failed to write to disk" => "Ошибка записи на диск", "Not enough storage available" => "Недостаточно доступного места в хранилище", +"Upload failed. Could not find uploaded file" => "Загрузка не удалась. Невозможно найти загружаемый файл", "Upload failed. Could not get file info." => "Загрузка не удалась. Невозможно получить информацию о файле", -"Upload failed. Could not find uploaded file" => "Загрузка не удалась. Невозможно найти загруженный файл", -"Invalid directory." => "Неправильный каталог.", +"Invalid directory." => "Неверный каталог.", "Files" => "Файлы", -"Unable to upload {filename} as it is a directory or has 0 bytes" => "Невозможно загрузить файл {filename} так как он является директорией либо имеет размер 0 байт", -"Not enough space available" => "Недостаточно свободного места", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "Невозможно загрузить {filename}, так как это либо каталог, либо файл нулевого размера", +"Total file size {size1} exceeds upload limit {size2}" => "Полный размер файла {size1} превышает лимит по загрузке {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Не достаточно свободного места, Вы загружаете {size1} но осталось только {size2}", "Upload cancelled." => "Загрузка отменена.", -"Could not get result from server." => "Не получен ответ от сервера", -"File upload is in progress. Leaving the page now will cancel the upload." => "Файл в процессе загрузки. Покинув страницу вы прервёте загрузку.", +"Could not get result from server." => "Не удалось получить ответ от сервера.", +"File upload is in progress. Leaving the page now will cancel the upload." => "Идёт загрузка файла. Покинув страницу, вы прервёте загрузку.", "URL cannot be empty" => "Ссылка не может быть пустой.", -"In the home folder 'Shared' is a reserved filename" => "В домашней папке 'Shared' зарезервированное имя файла", +"In the home folder 'Shared' is a reserved filename" => "'Shared' - это зарезервированное имя файла в домашнем каталоге", "{new_name} already exists" => "{new_name} уже существует", "Could not create file" => "Не удалось создать файл", -"Could not create folder" => "Не удалось создать папку", +"Could not create folder" => "Не удалось создать каталог", "Error fetching URL" => "Ошибка получения URL", "Share" => "Открыть доступ", -"Delete permanently" => "Удалено навсегда", +"Delete permanently" => "Удалить окончательно", "Rename" => "Переименовать", "Pending" => "Ожидание", "Could not rename file" => "Не удалось переименовать файл", "replaced {new_name} with {old_name}" => "заменено {new_name} на {old_name}", "undo" => "отмена", "Error deleting file." => "Ошибка при удалении файла.", -"_%n folder_::_%n folders_" => array("%n папка","%n папки","%n папок"), +"_%n folder_::_%n folders_" => array("%n каталог","%n каталога","%n каталогов"), "_%n file_::_%n files_" => array("%n файл","%n файла","%n файлов"), "{dirs} and {files}" => "{dirs} и {files}", "_Uploading %n file_::_Uploading %n files_" => array("Закачка %n файла","Закачка %n файлов","Закачка %n файлов"), -"'.' is an invalid file name." => "'.' - неправильное имя файла.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправильное имя, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' недопустимы.", -"Your storage is full, files can not be updated or synced anymore!" => "Ваше дисковое пространство полностью заполнено, произведите очистку перед загрузкой новых файлов.", +"\"{name}\" is an invalid file name." => "\"{name}\" это не правильное имя файла.", +"Your storage is full, files can not be updated or synced anymore!" => "Ваше хранилище заполнено, произведите очистку перед загрузкой новых файлов.", "Your storage is almost full ({usedSpacePercent}%)" => "Ваше хранилище почти заполнено ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Приложение для шифрования активно, но ваши ключи не инициализированы, пожалуйста, перелогиньтесь", -"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." => "Неверный приватный ключ для приложения шифрования. Пожалуйста, обноваите ваш приватный ключ в персональных настройках чтобы восстановить доступ к вашим зашифрованным файлам.", -"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Шифрование было отключено, но ваши файлы все еще зашифрованы. Пожалуйста, зайдите на страницу персональных настроек для того, чтобы расшифровать ваши файлы.", -"Your download is being prepared. This might take some time if the files are big." => "Загрузка началась. Это может потребовать много времени, если файл большого размера.", +"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." => "Закрытый ключ приложения шифрования недействителен. Обновите закрытый ключ в личных настройках, чтобы восстановить доступ к зашифрованным файлам.", +"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Шифрование было отключено, но ваши файлы остались зашифрованными. Зайдите на страницу личных настроек для того, чтобы расшифровать их.", +"Your download is being prepared. This might take some time if the files are big." => "Идёт подготовка к скачиванию. Это может занять некоторое время, если файлы большого размера.", "Error moving file" => "Ошибка при перемещении файла", "Error" => "Ошибка", "Name" => "Имя", "Size" => "Размер", -"Modified" => "Изменён", +"Modified" => "Дата изменения", "Invalid folder name. Usage of 'Shared' is reserved." => "Неправильное имя каталога. Имя 'Shared' зарезервировано.", "%s could not be renamed" => "%s не может быть переименован", "Upload" => "Загрузка", @@ -70,26 +71,25 @@ $TRANSLATIONS = array( "Maximum upload size" => "Максимальный размер загружаемого файла", "max. possible: " => "макс. возможно: ", "Needed for multi-file and folder downloads." => "Требуется для скачивания нескольких файлов и папок", -"Enable ZIP-download" => "Включить ZIP-скачивание", +"Enable ZIP-download" => "Включить скачивание в виде архивов ZIP", "0 is unlimited" => "0 - без ограничений", "Maximum input size for ZIP files" => "Максимальный исходный размер для ZIP файлов", "Save" => "Сохранить", "New" => "Новый", "New text file" => "Новый текстовый файл", "Text file" => "Текстовый файл", -"New folder" => "Новая папка", -"Folder" => "Папка", -"From link" => "Из ссылки", +"New folder" => "Новый каталог", +"Folder" => "Каталог", +"From link" => "Объект по ссылке", "Deleted files" => "Удалённые файлы", -"Cancel upload" => "Отмена загрузки", -"You don’t have permission to upload or create files here" => "У вас недостаточно прав для загрузки или создания файлов отсюда.", +"Cancel upload" => "Отменить загрузку", +"You don’t have permission to upload or create files here" => "У вас нет прав для загрузки или создания файлов здесь.", "Nothing in here. Upload something!" => "Здесь ничего нет. Загрузите что-нибудь!", "Download" => "Скачать", "Delete" => "Удалить", "Upload too large" => "Файл слишком велик", -"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Файлы, которые вы пытаетесь загрузить, превышают лимит для файлов на этом сервере.", +"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Файлы, которые вы пытаетесь загрузить, превышают лимит максимального размера на этом сервере.", "Files are being scanned, please wait." => "Подождите, файлы сканируются.", -"Current scanning" => "Текущее сканирование", -"Upgrading filesystem cache..." => "Обновление кэша файловой системы..." +"Current scanning" => "Текущее сканирование" ); $PLURAL_FORMS = "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/l10n/sk_SK.php b/apps/files/l10n/sk_SK.php index 2d0eb25f62..e80ca0186c 100644 --- a/apps/files/l10n/sk_SK.php +++ b/apps/files/l10n/sk_SK.php @@ -3,13 +3,13 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Nie je možné presunúť %s - súbor s týmto menom už existuje", "Could not move %s" => "Nie je možné presunúť %s", "File name cannot be empty." => "Meno súboru nemôže byť prázdne", -"File name must not contain \"/\". Please choose a different name." => "Názov súboru nesmie obsahovať \"/\". Prosím zvoľte iný názov.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nesprávne meno, '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nie sú povolené hodnoty.", "The name %s is already used in the folder %s. Please choose a different name." => "Názov %s už používa priečinok s%. Prosím zvoľte iný názov.", "Not a valid source" => "Neplatný zdroj", +"Server is not allowed to open URLs, please check the server configuration" => "Server nie je oprávnený otvárať adresy URL. Overte nastavenia servera.", "Error while downloading %s to %s" => "Chyba pri sťahovaní súboru %s do %s", "Error when creating the file" => "Chyba pri vytváraní súboru", "Folder name cannot be empty." => "Názov priečinka nemôže byť prázdny.", -"Folder name must not contain \"/\". Please choose a different name." => "Názov priečinka nesmie obsahovať \"/\". Prosím zvoľte iný názov.", "Error when creating the folder" => "Chyba pri vytváraní priečinka", "Unable to set upload directory." => "Nemožno nastaviť priečinok pre nahrané súbory.", "Invalid Token" => "Neplatný token", @@ -22,12 +22,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Chýba dočasný priečinok", "Failed to write to disk" => "Zápis na disk sa nepodaril", "Not enough storage available" => "Nedostatok dostupného úložného priestoru", -"Upload failed. Could not get file info." => "Nahrávanie zlyhalo. Nepodarilo sa získať informácie o súbore.", "Upload failed. Could not find uploaded file" => "Nahrávanie zlyhalo. Nepodarilo sa nájsť nahrávaný súbor", +"Upload failed. Could not get file info." => "Nahrávanie zlyhalo. Nepodarilo sa získať informácie o súbore.", "Invalid directory." => "Neplatný priečinok.", "Files" => "Súbory", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Nemožno nahrať súbor {filename}, pretože je to priečinok, alebo má 0 bitov", -"Not enough space available" => "Nie je k dispozícii dostatok miesta", "Upload cancelled." => "Odosielanie 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.", @@ -36,6 +35,7 @@ $TRANSLATIONS = array( "{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", +"Error fetching URL" => "Chyba pri načítavaní URL", "Share" => "Zdieľať", "Delete permanently" => "Zmazať trvalo", "Rename" => "Premenovať", @@ -48,8 +48,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n súbor","%n súbory","%n súborov"), "{dirs} and {files}" => "{dirs} a {files}", "_Uploading %n file_::_Uploading %n files_" => array("Nahrávam %n súbor","Nahrávam %n súbory","Nahrávam %n súborov"), -"'.' is an invalid file name." => "'.' je neplatné meno súboru.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nesprávne meno, '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nie sú povolené hodnoty.", "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ť!", "Your storage is almost full ({usedSpacePercent}%)" => "Vaše úložisko je takmer plné ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Aplikácia na šifrovanie je zapnutá, ale vaše kľúče nie sú inicializované. Odhláste sa a znovu sa prihláste.", @@ -87,7 +85,6 @@ $TRANSLATIONS = array( "Upload too large" => "Nahrávanie je príliš veľké", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Súbory, ktoré sa snažíte nahrať, presahujú maximálnu veľkosť pre nahratie súborov na tento server.", "Files are being scanned, please wait." => "Čakajte, súbory sú prehľadávané.", -"Current scanning" => "Práve prezerané", -"Upgrading filesystem cache..." => "Aktualizujem medzipamäť súborového systému..." +"Current scanning" => "Práve prezerané" ); $PLURAL_FORMS = "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"; diff --git a/apps/files/l10n/sl.php b/apps/files/l10n/sl.php index 037e5f6b6b..ae54ace12d 100644 --- a/apps/files/l10n/sl.php +++ b/apps/files/l10n/sl.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Datoteke %s ni mogoče premakniti - datoteka s tem imenom že obstaja.", "Could not move %s" => "Datoteke %s ni mogoče premakniti", "File name cannot be empty." => "Ime datoteke ne sme biti prazno polje.", -"File name must not contain \"/\". Please choose a different name." => "Ime datoteke ne sme vsebovati znaka \"/\". Določiti je treba drugo ime.", +"\"%s\" is an invalid file name." => "\"%s\" je neveljavno ime datoteke.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neveljavno ime; znaki '\\', '/', '<', '>', ':', '\"', '|', '?' in '*' niso dovoljeni.", +"The target folder has been moved or deleted." => "Ciljna mapa je premaknjena ali izbrisana.", "The name %s is already used in the folder %s. Please choose a different name." => "Ime %s je že v mapi %s že v uporabi. Izbrati je treba drugo ime.", "Not a valid source" => "Vir ni veljaven", "Server is not allowed to open URLs, please check the server configuration" => "Odpiranje naslovov URL preko strežnika ni dovoljeno. Preverite nastavitve strežnika.", "Error while downloading %s to %s" => "Napaka med prejemanjem %s v mapo %s", "Error when creating the file" => "Napaka med ustvarjanjem datoteke", "Folder name cannot be empty." => "Ime mape ne more biti prazna vrednost.", -"Folder name must not contain \"/\". Please choose a different name." => "Ime mape ne sme vsebovati znaka \"/\". Določiti je treba drugo ime.", "Error when creating the folder" => "Napaka med ustvarjanjem mape", "Unable to set upload directory." => "Mapo, v katero boste prenašali dokumente, ni mogoče določiti", "Invalid Token" => "Neveljaven žeton", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Manjka začasna mapa", "Failed to write to disk" => "Pisanje na disk je spodletelo", "Not enough storage available" => "Na voljo ni dovolj prostora", -"Upload failed. Could not get file info." => "Pošiljanje je spodletelo. Ni mogoče pridobiti podrobnosti datoteke.", "Upload failed. Could not find uploaded file" => "Pošiljanje je spodletelo. Ni mogoče najti poslane datoteke.", +"Upload failed. Could not get file info." => "Pošiljanje je spodletelo. Ni mogoče pridobiti podrobnosti datoteke.", "Invalid directory." => "Neveljavna mapa.", "Files" => "Datoteke", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Ni mogoče poslati datoteke {filename}, saj je to ali mapa ali pa je velikost datoteke 0 bajtov.", -"Not enough space available" => "Na voljo ni dovolj prostora.", +"Total file size {size1} exceeds upload limit {size2}" => "Skupna velikost {size1} presega omejitev velikosti {size2}", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Na voljo ni dovolj prostora. Velikost poslane datoteke je {size1}, na voljo pa je je {size2}.", "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.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n datoteka","%n datoteki","%n datoteke","%n datotek"), "{dirs} and {files}" => "{dirs} in {files}", "_Uploading %n file_::_Uploading %n files_" => array("Posodabljanje %n datoteke","Posodabljanje %n datotek","Posodabljanje %n datotek","Posodabljanje %n datotek"), -"'.' is an invalid file name." => "'.' je neveljavno ime datoteke.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neveljavno ime; znaki '\\', '/', '<', '>', ':', '\"', '|', '?' in '*' niso dovoljeni.", +"\"{name}\" is an invalid file name." => "\"{name}\" je neveljavno ime datoteke.", "Your storage is full, files can not be updated or synced anymore!" => "Shramba je povsem napolnjena. Datotek ni več mogoče posodabljati in usklajevati!", "Your storage is almost full ({usedSpacePercent}%)" => "Prostor za shranjevanje je skoraj do konca zaseden ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Program za šifriranje je omogočen, vendar ni začet. Odjavite se in nato ponovno prijavite.", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Prekoračenje omejitve velikosti", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Datoteke, ki jih želite poslati, presegajo največjo dovoljeno velikost na strežniku.", "Files are being scanned, please wait." => "Poteka preučevanje datotek, počakajte ...", -"Current scanning" => "Trenutno poteka preučevanje", -"Upgrading filesystem cache..." => "Nadgrajevanje predpomnilnika datotečnega sistema ..." +"Current scanning" => "Trenutno poteka preučevanje" ); $PLURAL_FORMS = "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"; diff --git a/apps/files/l10n/sq.php b/apps/files/l10n/sq.php index a06b6821af..073f2def62 100644 --- a/apps/files/l10n/sq.php +++ b/apps/files/l10n/sq.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "E pa mundur zhvendosja e %s - ekziston nje skedar me te njetin emer", "Could not move %s" => "Nuk mund të zhvendoset %s", "File name cannot be empty." => "Emri i skedarit nuk mund të jetë bosh.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Emër jo i vlefshëm, '\\', '/', '<', '>', ':', '\"', '|', '?' dhe '*' nuk lejohen.", "Unable to set upload directory." => "E pa mundur të vendoset dosja e ngarkimit", "Invalid Token" => "Shenjë e gabuar", "No file was uploaded. Unknown error" => "Asnjë skedar nuk u dërgua. Gabim i pa njohur", @@ -16,10 +17,11 @@ $TRANSLATIONS = array( "Not enough storage available" => "Hapsira e arkivimit e pamjaftueshme", "Invalid directory." => "Dosje e pavlefshme", "Files" => "Skedarë", -"Not enough space available" => "Nuk ka hapsirë të nevojshme", "Upload cancelled." => "Ngarkimi u anullua", "File upload is in progress. Leaving the page now will cancel the upload." => "Skedari duke u ngarkuar. Largimi nga faqja do të anullojë ngarkimin", +"URL cannot be empty" => "URL-i nuk mund të jetë bosh", "{new_name} already exists" => "{new_name} është ekzistues ", +"Could not create folder" => "I pamundur krijimi i kartelës", "Share" => "Ndaj", "Delete permanently" => "Fshi përfundimisht", "Rename" => "Riemëro", @@ -30,12 +32,11 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n skedar","%n skedarë"), "{dirs} and {files}" => "{dirs} dhe {files}", "_Uploading %n file_::_Uploading %n files_" => array("Po ngarkoj %n skedar","Po ngarkoj %n skedarë"), -"'.' is an invalid file name." => "'.' nuk është skedar i vlefshem.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Emër jo i vlefshëm, '\\', '/', '<', '>', ':', '\"', '|', '?' dhe '*' nuk lejohen.", "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}%)", "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Kodifikimi u çaktivizua por skedarët tuaj vazhdojnë të jenë të kodifikuar. Ju lutem shkoni tek parametrat personale për të dekodifikuar skedarët tuaj.", "Your download is being prepared. This might take some time if the files are big." => "Shkarkimi juaj është duke u përgatitur. Kjo mund të kërkojë kohë nëse skedarët janë të mëdhenj.", +"Error moving file" => "Gabim lëvizjen dokumentave", "Error" => "Gabim", "Name" => "Emri", "Size" => "Madhësia", @@ -52,6 +53,7 @@ $TRANSLATIONS = array( "Save" => "Ruaj", "New" => "E re", "Text file" => "Skedar tekst", +"New folder" => "Dosje e're", "Folder" => "Dosje", "From link" => "Nga lidhja", "Deleted files" => "Skedarë të fshirë ", @@ -62,7 +64,6 @@ $TRANSLATIONS = array( "Upload too large" => "Ngarkimi shumë i madh", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Skedarët që po mundoheni të ngarkoni e tejkalojnë madhësinë maksimale të lejuar nga serveri.", "Files are being scanned, please wait." => "Skanerizimi i skedarit në proces. Ju lutem prisni.", -"Current scanning" => "Skanimi aktual", -"Upgrading filesystem cache..." => "Përditësimi i cache-se së sistemit në procesim..." +"Current scanning" => "Skanimi aktual" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/sr.php b/apps/files/l10n/sr.php index e383b66e07..2a1b478b2a 100644 --- a/apps/files/l10n/sr.php +++ b/apps/files/l10n/sr.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Не могу да преместим %s – датотека с овим именом већ постоји", "Could not move %s" => "Не могу да преместим %s", "File name cannot be empty." => "Име датотеке не може бити празно.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неисправан назив. Следећи знакови нису дозвољени: \\, /, <, >, :, \", |, ? и *.", "No file was uploaded. Unknown error" => "Ниједна датотека није отпремљена услед непознате грешке", "There is no error, the file uploaded with success" => "Није дошло до грешке. Датотека је успешно отпремљена.", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Отпремљена датотека прелази смерницу upload_max_filesize у датотеци php.ini:", @@ -14,7 +15,6 @@ $TRANSLATIONS = array( "Not enough storage available" => "Нема довољно простора", "Invalid directory." => "неисправна фасцикла.", "Files" => "Датотеке", -"Not enough space available" => "Нема довољно простора", "Upload cancelled." => "Отпремање је прекинуто.", "File upload is in progress. Leaving the page now will cancel the upload." => "Отпремање датотеке је у току. Ако сада напустите страницу, прекинућете отпремање.", "{new_name} already exists" => "{new_name} већ постоји", @@ -27,8 +27,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array("","",""), "_%n file_::_%n files_" => array("","",""), "_Uploading %n file_::_Uploading %n files_" => array("","",""), -"'.' is an invalid file name." => "Датотека „.“ је неисправног имена.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неисправан назив. Следећи знакови нису дозвољени: \\, /, <, >, :, \", |, ? и *.", "Your storage is full, files can not be updated or synced anymore!" => "Ваше складиште је пуно. Датотеке више не могу бити ажуриране ни синхронизоване.", "Your storage is almost full ({usedSpacePercent}%)" => "Ваше складиште је скоро па пуно ({usedSpacePercent}%)", "Your download is being prepared. This might take some time if the files are big." => "Припремам преузимање. Ово може да потраје ако су датотеке велике.", @@ -57,7 +55,6 @@ $TRANSLATIONS = array( "Upload too large" => "Датотека је превелика", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Датотеке које желите да отпремите прелазе ограничење у величини.", "Files are being scanned, please wait." => "Скенирам датотеке…", -"Current scanning" => "Тренутно скенирање", -"Upgrading filesystem cache..." => "Дограђујем кеш система датотека…" +"Current scanning" => "Тренутно скенирање" ); $PLURAL_FORMS = "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/l10n/sr@latin.php b/apps/files/l10n/sr@latin.php index 13ce5ec8b3..67bf30d860 100644 --- a/apps/files/l10n/sr@latin.php +++ b/apps/files/l10n/sr@latin.php @@ -7,6 +7,7 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Nedostaje privremena fascikla", "Files" => "Fajlovi", "Share" => "Podeli", +"Rename" => "Preimenij", "_%n folder_::_%n folders_" => array("","",""), "_%n file_::_%n files_" => array("","",""), "_Uploading %n file_::_Uploading %n files_" => array("","",""), diff --git a/apps/files/l10n/su.php b/apps/files/l10n/su.php new file mode 100644 index 0000000000..70ab6572ba --- /dev/null +++ b/apps/files/l10n/su.php @@ -0,0 +1,7 @@ + array(""), +"_%n file_::_%n files_" => array(""), +"_Uploading %n file_::_Uploading %n files_" => array("") +); +$PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/sv.php b/apps/files/l10n/sv.php index 9e1b8110d4..fa88a1e966 100644 --- a/apps/files/l10n/sv.php +++ b/apps/files/l10n/sv.php @@ -3,13 +3,12 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Kunde inte flytta %s - Det finns redan en fil med detta namn", "Could not move %s" => "Kan inte flytta %s", "File name cannot be empty." => "Filnamn kan inte vara tomt.", -"File name must not contain \"/\". Please choose a different name." => "Filnamnet får ej innehålla \"/\". Välj ett annat namn.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte tillåtet.", "The name %s is already used in the folder %s. Please choose a different name." => "Namnet %s används redan i katalogen %s. Välj ett annat namn.", "Not a valid source" => "Inte en giltig källa", "Error while downloading %s to %s" => "Fel under nerladdning från %s till %s", "Error when creating the file" => "Fel under skapande utav filen", "Folder name cannot be empty." => "Katalognamn kan ej vara tomt.", -"Folder name must not contain \"/\". Please choose a different name." => "Katalog namnet får ej innehålla \"/\". Välj ett annat namn.", "Error when creating the folder" => "Fel under skapande utav en katalog", "Unable to set upload directory." => "Kan inte sätta mapp för uppladdning.", "Invalid Token" => "Ogiltig token", @@ -22,12 +21,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "En temporär mapp saknas", "Failed to write to disk" => "Misslyckades spara till disk", "Not enough storage available" => "Inte tillräckligt med lagringsutrymme tillgängligt", -"Upload failed. Could not get file info." => "Uppladdning misslyckades. Gick inte att hämta filinformation.", "Upload failed. Could not find uploaded file" => "Uppladdning misslyckades. Kunde inte hitta den uppladdade filen", +"Upload failed. Could not get file info." => "Uppladdning misslyckades. Gick inte att hämta filinformation.", "Invalid directory." => "Felaktig mapp.", "Files" => "Filer", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Kan inte ladda upp {filename} eftersom den antingen är en mapp eller har 0 bytes.", -"Not enough space available" => "Inte tillräckligt med utrymme tillgängligt", "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.", @@ -48,8 +46,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n fil","%n filer"), "{dirs} and {files}" => "{dirs} och {files}", "_Uploading %n file_::_Uploading %n files_" => array("Laddar upp %n fil","Laddar upp %n filer"), -"'.' is an invalid file name." => "'.' är ett ogiltigt filnamn.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte tillåtet.", "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}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Krypteringsprogrammet är aktiverat men dina nycklar är inte initierade. Vänligen logga ut och in igen", @@ -86,7 +82,6 @@ $TRANSLATIONS = array( "Upload too large" => "För stor uppladdning", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Filerna du försöker ladda upp överstiger den maximala storleken för filöverföringar på servern.", "Files are being scanned, please wait." => "Filer skannas, var god vänta", -"Current scanning" => "Aktuell skanning", -"Upgrading filesystem cache..." => "Uppgraderar filsystemets cache..." +"Current scanning" => "Aktuell skanning" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files/l10n/ta_LK.php b/apps/files/l10n/ta_LK.php index f91a74ee9b..c0589feece 100644 --- a/apps/files/l10n/ta_LK.php +++ b/apps/files/l10n/ta_LK.php @@ -1,5 +1,6 @@ ', ':', '\"', '|', '?' and '*' are not allowed." => "செல்லுபடியற்ற பெயர்,'\\', '/', '<', '>', ':', '\"', '|', '?' மற்றும் '*' ஆகியன அனுமதிக்கப்படமாட்டாது.", "No file was uploaded. Unknown error" => "ஒரு கோப்பும் பதிவேற்றப்படவில்லை. அறியப்படாத வழு", "There is no error, the file uploaded with success" => "இங்கு வழு இல்லை, கோப்பு வெற்றிகரமாக பதிவேற்றப்பட்டது", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "பதிவேற்றப்பட்ட கோப்பானது HTML படிவத்தில் குறிப்பிடப்பட்டுள்ள MAX_FILE_SIZE directive ஐ விட கூடியது", @@ -19,7 +20,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array("",""), "_%n file_::_%n files_" => array("",""), "_Uploading %n file_::_Uploading %n files_" => array("",""), -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "செல்லுபடியற்ற பெயர்,'\\', '/', '<', '>', ':', '\"', '|', '?' மற்றும் '*' ஆகியன அனுமதிக்கப்படமாட்டாது.", "Error" => "வழு", "Name" => "பெயர்", "Size" => "அளவு", diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php index 38a67c5067..110b84cad5 100644 --- a/apps/files/l10n/th_TH.php +++ b/apps/files/l10n/th_TH.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "ไม่สามารถย้าย %s ได้ - ไฟล์ที่ใช้ชื่อนี้มีอยู่แล้ว", "Could not move %s" => "ไม่สามารถย้าย %s ได้", "File name cannot be empty." => "ชื่อไฟล์ไม่สามารถเว้นว่างได้", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "ชื่อที่ใช้ไม่ถูกต้อง, '\\', '/', '<', '>', ':', '\"', '|', '?' และ '*' ไม่ได้รับอนุญาตให้ใช้งานได้", "No file was uploaded. Unknown error" => "ยังไม่มีไฟล์ใดที่ถูกอัพโหลด เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ", "There is no error, the file uploaded with success" => "ไม่พบข้อผิดพลาดใดๆ, ไฟล์ถูกอัพโหลดเรียบร้อยแล้ว", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "ขนาดไฟล์ที่อัพโหลดมีขนาดเกิน upload_max_filesize ที่ระบุไว้ใน php.ini", @@ -14,7 +15,6 @@ $TRANSLATIONS = array( "Not enough storage available" => "เหลือพื้นที่ไม่เพียงสำหรับใช้งาน", "Invalid directory." => "ไดเร็กทอรี่ไม่ถูกต้อง", "Files" => "ไฟล์", -"Not enough space available" => "มีพื้นที่เหลือไม่เพียงพอ", "Upload cancelled." => "การอัพโหลดถูกยกเลิก", "File upload is in progress. Leaving the page now will cancel the upload." => "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก", "{new_name} already exists" => "{new_name} มีอยู่แล้วในระบบ", @@ -26,8 +26,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array(""), "_%n file_::_%n files_" => array(""), "_Uploading %n file_::_Uploading %n files_" => array(""), -"'.' is an invalid file name." => "'.' เป็นชื่อไฟล์ที่ไม่ถูกต้อง", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "ชื่อที่ใช้ไม่ถูกต้อง, '\\', '/', '<', '>', ':', '\"', '|', '?' และ '*' ไม่ได้รับอนุญาตให้ใช้งานได้", "Your storage is full, files can not be updated or synced anymore!" => "พื้นที่จัดเก็บข้อมูลของคุณเต็มแล้ว ไม่สามารถอัพเดทหรือผสานไฟล์ต่างๆได้อีกต่อไป", "Your storage is almost full ({usedSpacePercent}%)" => "พื้นที่จัดเก็บข้อมูลของคุณใกล้เต็มแล้ว ({usedSpacePercent}%)", "Your download is being prepared. This might take some time if the files are big." => "กำลังเตรียมดาวน์โหลดข้อมูล หากไฟล์มีขนาดใหญ่ อาจใช้เวลาสักครู่", @@ -46,6 +44,7 @@ $TRANSLATIONS = array( "Save" => "บันทึก", "New" => "อัพโหลดไฟล์ใหม่", "Text file" => "ไฟล์ข้อความ", +"New folder" => "โฟลเดอร์ใหม่", "Folder" => "แฟ้มเอกสาร", "From link" => "จากลิงก์", "Cancel upload" => "ยกเลิกการอัพโหลด", @@ -55,7 +54,6 @@ $TRANSLATIONS = array( "Upload too large" => "ไฟล์ที่อัพโหลดมีขนาดใหญ่เกินไป", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "ไฟล์ที่คุณพยายามที่จะอัพโหลดมีขนาดเกินกว่าขนาดสูงสุดที่กำหนดไว้ให้อัพโหลดได้สำหรับเซิร์ฟเวอร์นี้", "Files are being scanned, please wait." => "ไฟล์กำลังอยู่ระหว่างการสแกน, กรุณารอสักครู่.", -"Current scanning" => "ไฟล์ที่กำลังสแกนอยู่ขณะนี้", -"Upgrading filesystem cache..." => "กำลังอัพเกรดหน่วยความจำแคชของระบบไฟล์..." +"Current scanning" => "ไฟล์ที่กำลังสแกนอยู่ขณะนี้" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php index 90b16922a7..a2570e002a 100644 --- a/apps/files/l10n/tr.php +++ b/apps/files/l10n/tr.php @@ -3,14 +3,15 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "%s taşınamadı - Bu isimde dosya zaten var", "Could not move %s" => "%s taşınamadı", "File name cannot be empty." => "Dosya adı boş olamaz.", -"File name must not contain \"/\". Please choose a different name." => "Dosya adı \"/\" içermemelidir. Lütfen farklı bir isim seçin.", +"\"%s\" is an invalid file name." => "'%s' geçersiz bir dosya adı.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Geçersiz isim, '\\', '/', '<', '>', ':', '\"', '|', '?' ve '*' karakterlerine izin verilmemektedir.", +"The target folder has been moved or deleted." => "Hedef klasör taşındı veya silindi.", "The name %s is already used in the folder %s. Please choose a different name." => "%s ismi zaten %s klasöründe kullanılıyor. Lütfen farklı bir isim seçin.", "Not a valid source" => "Geçerli bir kaynak değil", "Server is not allowed to open URLs, please check the server configuration" => "Sunucunun adresleri açma izi yok, lütfen sunucu yapılandırmasını denetleyin", "Error while downloading %s to %s" => "%s, %s içine indirilirken hata", "Error when creating the file" => "Dosya oluşturulurken hata", "Folder name cannot be empty." => "Klasör adı boş olamaz.", -"Folder name must not contain \"/\". Please choose a different name." => "Klasör adı \"/\" içermemelidir. Lütfen farklı bir isim seçin.", "Error when creating the folder" => "Klasör oluşturulurken hata", "Unable to set upload directory." => "Yükleme dizini tanımlanamadı.", "Invalid Token" => "Geçersiz Simge", @@ -23,12 +24,13 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Geçici dizin eksik", "Failed to write to disk" => "Diske yazılamadı", "Not enough storage available" => "Yeterli disk alanı yok", -"Upload failed. Could not get file info." => "Yükleme başarısız. Dosya bilgisi alınamadı.", "Upload failed. Could not find uploaded file" => "Yükleme başarısız. Yüklenen dosya bulunamadı", +"Upload failed. Could not get file info." => "Yükleme başarısız. Dosya bilgisi alınamadı.", "Invalid directory." => "Geçersiz dizin.", "Files" => "Dosyalar", "Unable to upload {filename} as it is a directory or has 0 bytes" => "Bir dizin veya 0 bayt olduğundan {filename} yüklenemedi", -"Not enough space available" => "Yeterli disk alanı yok", +"Total file size {size1} exceeds upload limit {size2}" => "Toplam dosya boyutu {size1} gönderme sınırını {size2} aşıyor", +"Not enough free space, you are uploading {size1} but only {size2} is left" => "Yeterince boş alan yok. Gönderdiğiniz boyut {size1} ancak {size2} alan mevcut", "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. Şimdi sayfadan ayrılırsanız işleminiz iptal olur.", @@ -50,8 +52,7 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n dosya","%n dosya"), "{dirs} and {files}" => "{dirs} ve {files}", "_Uploading %n file_::_Uploading %n files_" => array("%n dosya yükleniyor","%n dosya yükleniyor"), -"'.' is an invalid file name." => "'.' geçersiz bir dosya adı.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Geçersiz isim, '\\', '/', '<', '>', ':', '\"', '|', '?' ve '*' karakterlerine izin verilmemektedir.", +"\"{name}\" is an invalid file name." => "\"{name}\" geçersiz bir dosya adı.", "Your storage is full, files can not be updated or synced anymore!" => "Depolama alanınız dolu, artık dosyalar güncellenmeyecek veya eşitlenmeyecek.", "Your storage is almost full ({usedSpacePercent}%)" => "Depolama alanınız neredeyse dolu ({usedSpacePercent}%)", "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", @@ -89,7 +90,6 @@ $TRANSLATIONS = array( "Upload too large" => "Yükleme çok büyük", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Yüklemeye çalıştığınız dosyalar bu sunucudaki maksimum yükleme boyutunu aşıyor.", "Files are being scanned, please wait." => "Dosyalar taranıyor, lütfen bekleyin.", -"Current scanning" => "Güncel tarama", -"Upgrading filesystem cache..." => "Sistem dosyası önbelleği güncelleniyor" +"Current scanning" => "Güncel tarama" ); $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; diff --git a/apps/files/l10n/ug.php b/apps/files/l10n/ug.php index 45458c51af..ee188d927e 100644 --- a/apps/files/l10n/ug.php +++ b/apps/files/l10n/ug.php @@ -7,7 +7,6 @@ $TRANSLATIONS = array( "Failed to write to disk" => "دىسكىغا يازالمىدى", "Not enough storage available" => "يېتەرلىك ساقلاش بوشلۇقى يوق", "Files" => "ھۆججەتلەر", -"Not enough space available" => "يېتەرلىك بوشلۇق يوق", "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} مەۋجۇت", @@ -34,7 +33,6 @@ $TRANSLATIONS = array( "Nothing in here. Upload something!" => "بۇ جايدا ھېچنېمە يوق. Upload something!", "Download" => "چۈشۈر", "Delete" => "ئۆچۈر", -"Upload too large" => "يۈكلەندىغىنى بەك چوڭ", -"Upgrading filesystem cache..." => "ھۆججەت سىستېما غەملىكىنى يۈكسەلدۈرۈۋاتىدۇ…" +"Upload too large" => "يۈكلەندىغىنى بەك چوڭ" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/uk.php b/apps/files/l10n/uk.php index 1e37d3d77d..b74126c446 100644 --- a/apps/files/l10n/uk.php +++ b/apps/files/l10n/uk.php @@ -3,6 +3,7 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Не вдалося перемістити %s - Файл з таким ім'ям вже існує", "Could not move %s" => "Не вдалося перемістити %s", "File name cannot be empty." => " Ім'я файлу не може бути порожнім.", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Невірне ім'я, '\\', '/', '<', '>', ':', '\"', '|', '?' та '*' не дозволені.", "Folder name cannot be empty." => "Ім'я теки не може бути порожнім.", "Unable to set upload directory." => "Не вдалося встановити каталог завантаження.", "No file was uploaded. Unknown error" => "Не завантажено жодного файлу. Невідома помилка", @@ -16,7 +17,6 @@ $TRANSLATIONS = array( "Not enough storage available" => "Місця більше немає", "Invalid directory." => "Невірний каталог.", "Files" => "Файли", -"Not enough space available" => "Місця більше немає", "Upload cancelled." => "Завантаження перервано.", "File upload is in progress. Leaving the page now will cancel the upload." => "Виконується завантаження файлу. Закриття цієї сторінки приведе до відміни завантаження.", "URL cannot be empty" => "URL не може бути порожнім", @@ -33,8 +33,6 @@ $TRANSLATIONS = array( "_%n folder_::_%n folders_" => array("%n тека","%n тека","%n теки"), "_%n file_::_%n files_" => array("%n файл","%n файлів","%n файли"), "_Uploading %n file_::_Uploading %n files_" => array("","",""), -"'.' is an invalid file name." => "'.' це невірне ім'я файлу.", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Невірне ім'я, '\\', '/', '<', '>', ':', '\"', '|', '?' та '*' не дозволені.", "Your storage is full, files can not be updated or synced anymore!" => "Ваше сховище переповнене, файли більше не можуть бути оновлені або синхронізовані !", "Your storage is almost full ({usedSpacePercent}%)" => "Ваше сховище майже повне ({usedSpacePercent}%)", "Your download is being prepared. This might take some time if the files are big." => "Ваше завантаження готується. Це може зайняти деякий час, якщо файли завеликі.", @@ -66,7 +64,6 @@ $TRANSLATIONS = array( "Upload too large" => "Файл занадто великий", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Файли,що ви намагаєтесь відвантажити перевищують максимальний дозволений розмір файлів на цьому сервері.", "Files are being scanned, please wait." => "Файли скануються, зачекайте, будь-ласка.", -"Current scanning" => "Поточне сканування", -"Upgrading filesystem cache..." => "Оновлення кеша файлової системи..." +"Current scanning" => "Поточне сканування" ); $PLURAL_FORMS = "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/l10n/vi.php b/apps/files/l10n/vi.php index 8236d5e7ef..8812bb1b20 100644 --- a/apps/files/l10n/vi.php +++ b/apps/files/l10n/vi.php @@ -3,6 +3,16 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "Không thể di chuyển %s - Đã có tên tập tin này trên hệ thống", "Could not move %s" => "Không thể di chuyển %s", "File name cannot be empty." => "Tên file không được rỗng", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Tên không hợp lệ, '\\', '/', '<', '>', ':', '\"', '|', '?' và '*' thì không được phép dùng.", +"The name %s is already used in the folder %s. Please choose a different name." => "Tên %s đã được sử dụng trong thư mục %s. Hãy chọn tên khác.", +"Not a valid source" => "Nguồn không hợp lệ", +"Server is not allowed to open URLs, please check the server configuration" => "Server cấm mở URLs, vui lòng kiểm tra lại cấu hình server", +"Error while downloading %s to %s" => "Lỗi trong trong quá trình tải %s từ %s", +"Error when creating the file" => "Lỗi khi tạo file", +"Folder name cannot be empty." => "Tên thư mục không thể để trống", +"Error when creating the folder" => "Lỗi khi tạo thư mục", +"Unable to set upload directory." => "Không thể thiết lập thư mục tải lên.", +"Invalid Token" => "Xác thực không hợp lệ", "No file was uploaded. Unknown error" => "Không có tập tin nào được tải lên. Lỗi không xác định", "There is no error, the file uploaded with success" => "Không có lỗi, các tập tin đã được tải lên thành công", "The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "The uploaded file exceeds the upload_max_filesize directive in php.ini: ", @@ -12,30 +22,41 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "Không tìm thấy thư mục tạm", "Failed to write to disk" => "Không thể ghi ", "Not enough storage available" => "Không đủ không gian lưu trữ", +"Upload failed. Could not find uploaded file" => "Tải lên thất bại. Không thể tìm thấy tập tin được tải lên", +"Upload failed. Could not get file info." => "Tải lên thất bại. Không thể có được thông tin tập tin.", "Invalid directory." => "Thư mục không hợp lệ", "Files" => "Tập tin", -"Not enough space available" => "Không đủ chỗ trống cần thiết", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "không thể tải {filename} lên do nó là một thư mục hoặc có kích thước bằng 0 byte", "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.", +"URL cannot be empty" => "URL không thể để trống", "{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", "Share" => "Chia sẻ", "Delete permanently" => "Xóa vĩnh vễn", "Rename" => "Sửa tên", "Pending" => "Đang chờ", +"Could not rename file" => "Không thể đổi tên file", "replaced {new_name} with {old_name}" => "đã thay thế {new_name} bằng {old_name}", "undo" => "lùi lại", -"_%n folder_::_%n folders_" => array(""), -"_%n file_::_%n files_" => array(""), -"_Uploading %n file_::_Uploading %n files_" => array(""), -"'.' is an invalid file name." => "'.' là một tên file không hợp lệ", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Tên không hợp lệ, '\\', '/', '<', '>', ':', '\"', '|', '?' và '*' thì không được phép dùng.", +"Error deleting file." => "Lỗi xóa file,", +"_%n folder_::_%n folders_" => array("%n thư mục"), +"_%n file_::_%n files_" => array("%n tập tin"), +"{dirs} and {files}" => "{dirs} và {files}", +"_Uploading %n file_::_Uploading %n files_" => array("Đang tải lên %n tập tin"), "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}%)", +"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "Ứng dụng mã hóa đã được kích hoạt nhưng bạn chưa khởi tạo khóa. Vui lòng đăng xuất ra và đăng nhập lại", +"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Mã hóa đã bị vô hiệu nhưng những tập tin của bạn vẫn được mã hóa. Vui lòng vào phần thiết lập cá nhân để giải mã chúng.", "Your download is being prepared. This might take some time if the files are big." => "Your download is being prepared. This might take some time if the files are big.", +"Error moving file" => "Lỗi di chuyển tập tin", "Error" => "Lỗi", "Name" => "Tên", "Size" => "Kích cỡ", "Modified" => "Thay đổi", +"%s could not be renamed" => "%s không thể đổi tên", "Upload" => "Tải lên", "File handling" => "Xử lý tập tin", "Maximum upload size" => "Kích thước tối đa ", @@ -45,20 +66,21 @@ $TRANSLATIONS = array( "0 is unlimited" => "0 là không giới hạn", "Maximum input size for ZIP files" => "Kích thước tối đa cho các tập tin ZIP", "Save" => "Lưu", -"New" => "Mới", +"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", "From link" => "Từ liên kết", "Deleted files" => "File đã bị xóa", "Cancel upload" => "Hủy upload", +"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", "Nothing in here. Upload something!" => "Không có gì ở đây .Hãy tải lên một cái gì đó !", "Download" => "Tải về", "Delete" => "Xóa", "Upload too large" => "Tập tin tải lên quá lớn", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "Các tập tin bạn đang tải lên vượt quá kích thước tối đa cho phép trên máy chủ .", "Files are being scanned, please wait." => "Tập tin đang được quét ,vui lòng chờ.", -"Current scanning" => "Hiện tại đang quét", -"Upgrading filesystem cache..." => "Đang nâng cấp bộ nhớ đệm cho tập tin hệ thống..." +"Current scanning" => "Hiện tại đang quét" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/zh_CN.php b/apps/files/l10n/zh_CN.php index effcb0225c..87f8138697 100644 --- a/apps/files/l10n/zh_CN.php +++ b/apps/files/l10n/zh_CN.php @@ -3,6 +3,14 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "无法移动 %s - 同名文件已存在", "Could not move %s" => "无法移动 %s", "File name cannot be empty." => "文件名不能为空。", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "无效名称,'\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 不被允许使用。", +"The name %s is already used in the folder %s. Please choose a different name." => "文件名 %s 是已经在 %s 中存在的名称。请使用其他名称。", +"Not a valid source" => "不是一个可用的源", +"Server is not allowed to open URLs, please check the server configuration" => "服务器没有允许打开URL网址,请检查服务器配置", +"Error while downloading %s to %s" => "当下载 %s 到 %s 时出错", +"Error when creating the file" => "当创建文件是出错", +"Folder name cannot be empty." => "文件夹名称不能为空", +"Error when creating the folder" => "创建文件夹出错", "Unable to set upload directory." => "无法设置上传文件夹。", "Invalid Token" => "无效密匙", "No file was uploaded. Unknown error" => "没有文件被上传。未知错误", @@ -14,30 +22,44 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "缺少临时目录", "Failed to write to disk" => "写入磁盘失败", "Not enough storage available" => "没有足够的存储空间", +"Upload failed. Could not find uploaded file" => "上传失败。不能发现上传的文件", +"Upload failed. Could not get file info." => "上传失败。不能获取文件信息。", "Invalid directory." => "无效文件夹。", "Files" => "文件", -"Not enough space available" => "没有足够可用空间", +"Unable to upload {filename} as it is a directory or has 0 bytes" => "不能上传文件 {filename} ,由于它是一个目录或者为0字节", "Upload cancelled." => "上传已取消", +"Could not get result from server." => "不能从服务器得到结果", "File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传中。现在离开此页会导致上传动作被取消。", +"URL cannot be empty" => "URL不能为空", +"In the home folder 'Shared' is a reserved filename" => "主目录里 'Shared' 是系统预留目录名", "{new_name} already exists" => "{new_name} 已存在", +"Could not create file" => "不能创建文件", +"Could not create folder" => "不能创建文件夹", +"Error fetching URL" => "获取URL出错", "Share" => "分享", "Delete permanently" => "永久删除", "Rename" => "重命名", "Pending" => "等待", +"Could not rename file" => "不能重命名文件", "replaced {new_name} with {old_name}" => "已将 {old_name}替换成 {new_name}", "undo" => "撤销", +"Error deleting file." => "删除文件出错。", "_%n folder_::_%n folders_" => array("%n 文件夹"), "_%n file_::_%n files_" => array("%n个文件"), -"_Uploading %n file_::_Uploading %n files_" => array(""), -"'.' is an invalid file name." => "'.' 是一个无效的文件名。", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "无效名称,'\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 不被允许使用。", +"{dirs} and {files}" => "{dirs} 和 {files}", +"_Uploading %n file_::_Uploading %n files_" => array("上传 %n 个文件"), "Your storage is full, files can not be updated or synced anymore!" => "您的存储空间已满,文件将无法更新或同步!", "Your storage is almost full ({usedSpacePercent}%)" => "您的存储空间即将用完 ({usedSpacePercent}%)", +"Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "加密应用被启用了,但是你的加密密钥没有初始化,请重新登出登录系统一次。", +"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." => "无效的私有密钥。请到您的个人配置里去更新私有密钥,来恢复对加密文件的访问。", +"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "加密是被禁用的,但是您的文件还是被加密了。请到您的个人配置里设置文件加密选项。", "Your download is being prepared. This might take some time if the files are big." => "下载正在准备中。如果文件较大可能会花费一些时间。", +"Error moving file" => "移动文件错误", "Error" => "错误", "Name" => "名称", "Size" => "大小", "Modified" => "修改日期", +"Invalid folder name. Usage of 'Shared' is reserved." => "无效的文件夹名。”Shared“ 是 Owncloud 预留的文件夹", "%s could not be renamed" => "%s 不能被重命名", "Upload" => "上传", "File handling" => "文件处理", @@ -49,19 +71,20 @@ $TRANSLATIONS = array( "Maximum input size for ZIP files" => "ZIP 文件的最大输入大小", "Save" => "保存", "New" => "新建", +"New text file" => "创建文本文件", "Text file" => "文本文件", "New folder" => "添加文件夹", "Folder" => "文件夹", "From link" => "来自链接", "Deleted files" => "已删除文件", "Cancel upload" => "取消上传", +"You don’t have permission to upload or create files here" => "您没有权限来上传湖州哦和创建文件", "Nothing in here. Upload something!" => "这里还什么都没有。上传些东西吧!", "Download" => "下载", "Delete" => "删除", "Upload too large" => "上传文件过大", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "您正尝试上传的文件超过了此服务器可以上传的最大容量限制", "Files are being scanned, please wait." => "文件正在被扫描,请稍候。", -"Current scanning" => "当前扫描", -"Upgrading filesystem cache..." => "正在更新文件系统缓存..." +"Current scanning" => "当前扫描" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/l10n/zh_TW.php b/apps/files/l10n/zh_TW.php index dd9cbfdf1a..caf8b184a3 100644 --- a/apps/files/l10n/zh_TW.php +++ b/apps/files/l10n/zh_TW.php @@ -3,13 +3,12 @@ $TRANSLATIONS = array( "Could not move %s - File with this name already exists" => "無法移動 %s ,同名的檔案已經存在", "Could not move %s" => "無法移動 %s", "File name cannot be empty." => "檔名不能為空", -"File name must not contain \"/\". Please choose a different name." => "檔名不能包含 \"/\" ,請選其他名字", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "檔名不合法,不允許 \\ / < > : \" | ? * 字元", "The name %s is already used in the folder %s. Please choose a different name." => "%s 已經被使用於資料夾 %s ,請換一個名字", "Not a valid source" => "不是有效的來源", "Error while downloading %s to %s" => "下載 %s 到 %s 失敗", "Error when creating the file" => "建立檔案失敗", "Folder name cannot be empty." => "資料夾名稱不能留空", -"Folder name must not contain \"/\". Please choose a different name." => "資料夾名稱不能包含 \"/\" ,請選其他名字", "Error when creating the folder" => "建立資料夾失敗", "Unable to set upload directory." => "無法設定上傳目錄", "Invalid Token" => "無效的 token", @@ -22,12 +21,11 @@ $TRANSLATIONS = array( "Missing a temporary folder" => "找不到暫存資料夾", "Failed to write to disk" => "寫入硬碟失敗", "Not enough storage available" => "儲存空間不足", -"Upload failed. Could not get file info." => "上傳失敗,無法取得檔案資訊", "Upload failed. Could not find uploaded file" => "上傳失敗,找不到上傳的檔案", +"Upload failed. Could not get file info." => "上傳失敗,無法取得檔案資訊", "Invalid directory." => "無效的資料夾", "Files" => "檔案", "Unable to upload {filename} as it is a directory or has 0 bytes" => "因為 {filename} 是個目錄或是大小為零,所以無法上傳", -"Not enough space available" => "沒有足夠的可用空間", "Upload cancelled." => "上傳已取消", "Could not get result from server." => "無法從伺服器取回結果", "File upload is in progress. Leaving the page now will cancel the upload." => "檔案上傳中,離開此頁面將會取消上傳。", @@ -47,8 +45,6 @@ $TRANSLATIONS = array( "_%n file_::_%n files_" => array("%n 個檔案"), "{dirs} and {files}" => "{dirs} 和 {files}", "_Uploading %n file_::_Uploading %n files_" => array("%n 個檔案正在上傳"), -"'.' is an invalid file name." => "'.' 是不合法的檔名", -"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "檔名不合法,不允許 \\ / < > : \" | ? * 字元", "Your storage is full, files can not be updated or synced anymore!" => "您的儲存空間已滿,沒有辦法再更新或是同步檔案!", "Your storage is almost full ({usedSpacePercent}%)" => "您的儲存空間快要滿了 ({usedSpacePercent}%)", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" => "檔案加密已啓用,但是您的金鑰尚未初始化,請重新登入一次", @@ -84,7 +80,6 @@ $TRANSLATIONS = array( "Upload too large" => "上傳過大", "The files you are trying to upload exceed the maximum size for file uploads on this server." => "您試圖上傳的檔案大小超過伺服器的限制。", "Files are being scanned, please wait." => "正在掃描檔案,請稍等。", -"Current scanning" => "正在掃描", -"Upgrading filesystem cache..." => "正在升級檔案系統快取…" +"Current scanning" => "正在掃描" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files/lib/helper.php b/apps/files/lib/helper.php index b9e41a352b..c41e2d1558 100644 --- a/apps/files/lib/helper.php +++ b/apps/files/lib/helper.php @@ -51,17 +51,20 @@ class Helper /** * Comparator function to sort files alphabetically and have * the directories appear first - * @param array $a file - * @param array $b file - * @return -1 if $a must come before $b, 1 otherwise + * + * @param \OCP\Files\FileInfo $a file + * @param \OCP\Files\FileInfo $b file + * @return int -1 if $a must come before $b, 1 otherwise */ public static function fileCmp($a, $b) { - if ($a['type'] === 'dir' and $b['type'] !== 'dir') { + $aType = $a->getType(); + $bType = $b->getType(); + if ($aType === 'dir' and $bType !== 'dir') { return -1; - } elseif ($a['type'] !== 'dir' and $b['type'] === 'dir') { + } elseif ($aType !== 'dir' and $bType === 'dir') { return 1; } else { - return strnatcasecmp($a['name'], $b['name']); + return strnatcasecmp($a->getName(), $b->getName()); } } diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php index ed15e46a5a..34acd9c4f5 100644 --- a/apps/files/templates/index.php +++ b/apps/files/templates/index.php @@ -5,15 +5,15 @@
t('New'));?> @@ -35,7 +35,7 @@ - +
/> @@ -66,7 +66,7 @@ t( 'Name' )); ?> - + Download" data-dir=''> +
" data-dir=''> data-mime="" data-size="" data-etag="" - data-permissions=""> + data-permissions="" + + + data-share-owner="" + + > + @@ -34,17 +40,15 @@ $totalsize = 0; ?> + + + - - - - - diff --git a/apps/files/templates/upgrade.php b/apps/files/templates/upgrade.php deleted file mode 100644 index e03f086e47..0000000000 --- a/apps/files/templates/upgrade.php +++ /dev/null @@ -1,4 +0,0 @@ -
- t('Upgrading filesystem cache...'));?> -
-
diff --git a/apps/files/tests/js/fileUploadSpec.js b/apps/files/tests/js/fileUploadSpec.js new file mode 100644 index 0000000000..2b4341ef1c --- /dev/null +++ b/apps/files/tests/js/fileUploadSpec.js @@ -0,0 +1,127 @@ +/** +* ownCloud +* +* @author Vincent Petry +* @copyright 2014 Vincent Petry +* +* 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 . +* +*/ + +/* global OC */ +describe('OC.Upload tests', function() { + var $dummyUploader; + var testFile; + + beforeEach(function() { + testFile = { + name: 'test.txt', + size: 5000, // 5 KB + type: 'text/plain', + lastModifiedDate: new Date() + }; + // need a dummy button because file-upload checks on it + $('#testArea').append( + '' + + '' + // 10 MB + '' // 50 MB + ); + $dummyUploader = $('#file_upload_start'); + }); + afterEach(function() { + delete window.file_upload_param; + $dummyUploader = undefined; + }); + describe('Adding files for upload', function() { + var params; + var failStub; + + beforeEach(function() { + params = OC.Upload.init(); + failStub = sinon.stub(); + $dummyUploader.on('fileuploadfail', failStub); + }); + afterEach(function() { + params = undefined; + failStub = undefined; + }); + + /** + * Add file for upload + * @param file file data + */ + function addFile(file) { + return params.add.call( + $dummyUploader[0], + {}, + { + originalFiles: {}, + files: [file] + }); + } + + it('adds file when size is below limits', function() { + var result = addFile(testFile); + expect(result).toEqual(true); + }); + it('adds file when free space is unknown', function() { + var result; + $('#free_space').val(-2); + + result = addFile(testFile); + + expect(result).toEqual(true); + expect(failStub.notCalled).toEqual(true); + }); + it('does not add file if it exceeds upload limit', function() { + var result; + $('#upload_limit').val(1000); + + result = addFile(testFile); + + expect(result).toEqual(false); + expect(failStub.calledOnce).toEqual(true); + expect(failStub.getCall(0).args[1].textStatus).toEqual('sizeexceedlimit'); + expect(failStub.getCall(0).args[1].errorThrown).toEqual( + 'Total file size 5 kB exceeds upload limit 1000 B' + ); + }); + it('does not add file if it exceeds free space', function() { + var result; + $('#free_space').val(1000); + + result = addFile(testFile); + + expect(result).toEqual(false); + expect(failStub.calledOnce).toEqual(true); + expect(failStub.getCall(0).args[1].textStatus).toEqual('notenoughspace'); + expect(failStub.getCall(0).args[1].errorThrown).toEqual( + 'Not enough free space, you are uploading 5 kB but only 1000 B is left' + ); + }); + it('does not add file if it has invalid characters', function() { + var result; + testFile.name = 'stars*stars.txt'; + + result = addFile(testFile); + + expect(result).toEqual(false); + expect(failStub.calledOnce).toEqual(true); + expect(failStub.getCall(0).args[1].textStatus).toEqual('invalidcharacters'); + expect(failStub.getCall(0).args[1].errorThrown.substr(0, 12)).toEqual( + 'Invalid name' + ); + }); + }); +}); diff --git a/apps/files/tests/js/filesSpec.js b/apps/files/tests/js/filesSpec.js index 018c8ef0f3..95bf87e03e 100644 --- a/apps/files/tests/js/filesSpec.js +++ b/apps/files/tests/js/filesSpec.js @@ -48,6 +48,41 @@ describe('Files tests', function() { expect(error).toEqual(false); } }); + it('Validates correct file names do not create Shared folder in root', function() { + // create shared file in subfolder + var error = false; + try { + expect(Files.isFileNameValid('shared', '/foo')).toEqual(true); + expect(Files.isFileNameValid('Shared', '/foo')).toEqual(true); + } + catch (e) { + error = e; + } + expect(error).toEqual(false); + + // create shared file in root + var threwException = false; + try { + Files.isFileNameValid('Shared', '/'); + console.error('Invalid file name not detected'); + } + catch (e) { + threwException = true; + } + expect(threwException).toEqual(true); + + // create shared file in root + var threwException = false; + try { + Files.isFileNameValid('shared', '/'); + console.error('Invalid file name not detected'); + } + catch (e) { + threwException = true; + } + expect(threwException).toEqual(true); + + }); it('Detects invalid file names', function() { var fileNames = [ '', diff --git a/apps/files_encryption/appinfo/info.xml b/apps/files_encryption/appinfo/info.xml index b6d9d6bb0a..15a09a29f5 100644 --- a/apps/files_encryption/appinfo/info.xml +++ b/apps/files_encryption/appinfo/info.xml @@ -2,7 +2,7 @@ files_encryption Encryption - The ownCloud files encryption system provides server side-encryption. After the app was enabled you need to re-login to initialize your encryption keys. + The ownCloud files encryption system provides server side-encryption. After the app is enabled you need to re-login to initialize your encryption keys. Please note that server side encryption requires that the ownCloud server admin can be trusted. The main purpose of this app is the encryption of files that are stored on externally mounted storages. AGPL Sam Tuke, Bjoern Schiessle, Florin Peter 4 diff --git a/apps/files_encryption/l10n/ar.php b/apps/files_encryption/l10n/ar.php index 45a0c4616f..345c01a0d4 100644 --- a/apps/files_encryption/l10n/ar.php +++ b/apps/files_encryption/l10n/ar.php @@ -1,6 +1,44 @@ "جاري الحفظ...", -"Encryption" => "التشفير" +"Recovery key successfully enabled" => "تم بنجاح تفعيل مفتاح الاستعادة", +"Could not enable recovery key. Please check your recovery key password!" => "لا يمكن تفعيل مفتاح الاستعادة, يرجى التحقق من كلمة مرور مفتاح الاستعادة!", +"Recovery key successfully disabled" => "تم تعطيل مفتاح الاستعادة بنجاح", +"Could not disable recovery key. Please check your recovery key password!" => "لا يمكن تعطيل مفتاح الاستعادة, يرجى التحقق من كلمة مرور مفتاح الاستعادة!", +"Password successfully changed." => "تم تغيير كلمة المرور بنجاح.", +"Could not change the password. Maybe the old password was not correct." => "تعذر تغيير كلمة المرور. من الممكن ان كلمة المرور القديمة غير صحيحة.", +"Private key password successfully updated." => "تم تحديث كلمة المرور للمفتاح الخاص بنجاح.", +"Could not update the private key password. Maybe the old password was not correct." => "لا يمكن تحديث كلمة مرور المفتاح الخاص. من الممكن ان كلمة المرور القديمة غير صحيحة.", +"Encryption app not initialized! Maybe the encryption app was re-enabled during your session. Please try to log out and log back in to initialize the encryption app." => "برنامج التشفير لم يتم تهيئتة ! من الممكن ان برنامج التشفير تم اعادة تفعيلة خلال الجلسة. يرجى تسجيل الخروج ومن ثم تسجيل الدخول مجددا لتهيئة برنامج التشفير.", +"Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "مفتاحك الخاص غير صالح! ربما تم تغيير كلمة المرور خارج %s (مثل:مجلد شركتك). يمكنك تحديث كلمة المرور في الاعدادات الشخصية لإستعادة الوصول الى ملفاتك المشفرة.", +"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." => "لا يمكن فك التشفير من هذا الملف, من الممكن ان يكون هذا الملف مُشارك. يرجى سؤال صاحب الملف لإعادة مشاركتة معك.", +"Unknown error please check your system settings or contact your administrator" => "خطا غير معروف يرجى التاكد من اعدادات نظامك او تواصل مع المدير.", +"Missing requirements." => "متطلبات ناقصة.", +"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "يرجى التاكد من ان اصدار PHP 5.3.3 او احدث , مثبت و التاكد من ان OpenSSL مفعل و مهيئ بشكل صحيح. حتى الان برنامج التتشفير تم تعطيلة.", +"Following users are not set up for encryption:" => "المستخدمين التاليين لم يتم تعيين لهم التشفيير:", +"Initial encryption started... This can take some time. Please wait." => "بدأ التشفير... من الممكن ان ياخذ بعض الوقت. يرجى الانتظار.", +"Initial encryption running... Please try again later." => "جاري تفعيل التشفير المبدئي ، الرجاء المحاولة لاحقا", +"Go directly to your " => "انتقل مباشرة الى ", +"personal settings" => "اعدادات شخصية", +"Encryption" => "التشفير", +"Enable recovery key (allow to recover users files in case of password loss):" => "تفعيل استعادة المفتاح (سوف يمكنك من استعادة ملفات المستخدمين في حال فقدان كلمة المرور):", +"Recovery key password" => "استعادة كلمة مرور المفتاح", +"Repeat Recovery key password" => "كرر كلمة المرور لـ استعادة المفتاح", +"Enabled" => "مفعلة", +"Disabled" => "معطلة", +"Change recovery key password:" => "تعديل كلمة المرور استعادة المفتاح:", +"Old Recovery key password" => "كلمة المرور القديمة لـ استعامة المفتاح", +"New Recovery key password" => "تعيين كلمة مرور جديدة لـ استعادة المفتاح", +"Repeat New Recovery key password" => "كرر كلمة المرور لـ استعادة المفتاح من جديد", +"Change Password" => "عدل كلمة السر", +"Your private key password no longer match your log-in password:" => "كلمة مرور مفتاحك الخاص لا تتطابق مع كلمة المرور الخاصة الدخول:", +"Set your old private key password to your current log-in password." => "تعيين كلمة المرور القديمة لـ المفتاح الخاص الى كلمة المرور الخاصة بالدخول الحالية.", +" If you don't remember your old password you can ask your administrator to recover your files." => "اذا كنت لاتتذكر كلمة السر تستطيع ان تطلب من المدير ان يستعيد ملفاتك.", +"Old log-in password" => "كلمة المرور القديمة الخاصة بالدخول", +"Current log-in password" => "كلمة المرور الحالية الخاصة بالدخول", +"Update Private Key Password" => "تحديث كلمة المرور لـ المفتاح الخاص", +"Enable password recovery:" => "تفعيل استعادة كلمة المرور:", +"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "تفعيل هذا الخيار يمكنك من اعادة الوصول الى ملفاتك المشفرة عند فقدان كلمة المرور", +"File recovery settings updated" => "اعدادات ملف الاستعادة تم تحديثه", +"Could not update file recovery" => "تعذر تحديث ملف الاستعادة" ); $PLURAL_FORMS = "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"; diff --git a/apps/files_encryption/l10n/bg_BG.php b/apps/files_encryption/l10n/bg_BG.php index 9060c92ed4..a40781125d 100644 --- a/apps/files_encryption/l10n/bg_BG.php +++ b/apps/files_encryption/l10n/bg_BG.php @@ -1,6 +1,5 @@ "Записване...", "Encryption" => "Криптиране" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_encryption/l10n/bn_BD.php b/apps/files_encryption/l10n/bn_BD.php index 5fc4f6a13f..63e335bd2b 100644 --- a/apps/files_encryption/l10n/bn_BD.php +++ b/apps/files_encryption/l10n/bn_BD.php @@ -1,6 +1,5 @@ "সংরক্ষণ করা হচ্ছে..", "Encryption" => "সংকেতায়ন" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_encryption/l10n/ca.php b/apps/files_encryption/l10n/ca.php index 33d2754483..3414796f62 100644 --- a/apps/files_encryption/l10n/ca.php +++ b/apps/files_encryption/l10n/ca.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Assegureu-vos que teniu instal·lat PHP 5.3.3 o una versió superior i que està activat Open SSL i habilitada i configurada correctament l'extensió de PHP. De moment, l'aplicació d'encriptació s'ha desactivat.", "Following users are not set up for encryption:" => "Els usuaris següents no estan configurats per a l'encriptació:", "Initial encryption started... This can take some time. Please wait." => "La encriptació inicial ha començat... Pot trigar una estona, espereu.", -"Saving..." => "Desant...", +"Initial encryption running... Please try again later." => "encriptació inicial en procés... Proveu-ho més tard.", "Go directly to your " => "Vés directament a", "personal settings" => "arranjament personal", "Encryption" => "Xifrat", diff --git a/apps/files_encryption/l10n/cs_CZ.php b/apps/files_encryption/l10n/cs_CZ.php index cf2776371d..cdeaf5b192 100644 --- a/apps/files_encryption/l10n/cs_CZ.php +++ b/apps/files_encryption/l10n/cs_CZ.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Ujistěte se prosím, že máte nainstalované PHP 5.3.3 nebo novější a že máte povolené a správně nakonfigurované OpenSSL včetně jeho rozšíření pro PHP. Prozatím byla aplikace pro šifrování vypnuta.", "Following users are not set up for encryption:" => "Následující uživatelé nemají nastavené šifrování:", "Initial encryption started... This can take some time. Please wait." => "Počáteční šifrování zahájeno... Toto může chvíli trvat. Počkejte prosím.", -"Saving..." => "Ukládám...", +"Initial encryption running... Please try again later." => "Probíhá počáteční šifrování... Zkuste to prosím znovu později.", "Go directly to your " => "Běžte přímo do vašeho", "personal settings" => "osobní nastavení", "Encryption" => "Šifrování", diff --git a/apps/files_encryption/l10n/cy_GB.php b/apps/files_encryption/l10n/cy_GB.php index ea8b19963b..6d3b898d00 100644 --- a/apps/files_encryption/l10n/cy_GB.php +++ b/apps/files_encryption/l10n/cy_GB.php @@ -1,6 +1,5 @@ "Yn cadw...", "Encryption" => "Amgryptiad" ); $PLURAL_FORMS = "nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"; diff --git a/apps/files_encryption/l10n/da.php b/apps/files_encryption/l10n/da.php index 9e4290534c..f0f1580049 100644 --- a/apps/files_encryption/l10n/da.php +++ b/apps/files_encryption/l10n/da.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Sørg for at PHP 5.3.3 eller nyere er installeret og at OpenSSL sammen med PHP-udvidelsen er aktiveret og korrekt konfigureret. Indtil videre er krypteringsprogrammet deaktiveret.", "Following users are not set up for encryption:" => "Følgende brugere er ikke sat op til kryptering:", "Initial encryption started... This can take some time. Please wait." => "Førstegangskryptering er påbegyndt... Dette kan tage nogen tid. Vent venligst.", -"Saving..." => "Gemmer...", +"Initial encryption running... Please try again later." => "Kryptering foretages... Prøv venligst igen senere.", "Go directly to your " => "Gå direkte til din ", "personal settings" => "Personlige indstillinger", "Encryption" => "Kryptering", diff --git a/apps/files_encryption/l10n/de.php b/apps/files_encryption/l10n/de.php index 3ba50f074b..38bfa7f024 100644 --- a/apps/files_encryption/l10n/de.php +++ b/apps/files_encryption/l10n/de.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Bitte stelle sicher, dass PHP 5.3.3 oder neuer installiert und das OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Zur Zeit ist die Verschlüsselungs-App deaktiviert.", "Following users are not set up for encryption:" => "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:", "Initial encryption started... This can take some time. Please wait." => "Initialverschlüsselung gestartet... Dies kann einige Zeit dauern. Bitte warten.", -"Saving..." => "Speichern...", +"Initial encryption running... Please try again later." => "Initiale Verschlüsselung läuft... Bitte versuche es später wieder.", "Go directly to your " => "Direkt wechseln zu Deinem", "personal settings" => "Private Einstellungen", "Encryption" => "Verschlüsselung", diff --git a/apps/files_encryption/l10n/de_CH.php b/apps/files_encryption/l10n/de_CH.php index a31e82a666..875efa84f2 100644 --- a/apps/files_encryption/l10n/de_CH.php +++ b/apps/files_encryption/l10n/de_CH.php @@ -11,7 +11,6 @@ $TRANSLATIONS = array( "Missing requirements." => "Fehlende Voraussetzungen", "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Bitte stellen Sie sicher, dass PHP 5.3.3 oder neuer installiert und das OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Zur Zeit ist die Verschlüsselungs-App deaktiviert.", "Following users are not set up for encryption:" => "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:", -"Saving..." => "Speichern...", "personal settings" => "Persönliche Einstellungen", "Encryption" => "Verschlüsselung", "Enable recovery key (allow to recover users files in case of password loss):" => "Aktivieren Sie den Wiederherstellungsschlüssel (erlaubt die Wiederherstellung des Zugangs zu den Benutzerdateien, wenn das Passwort verloren geht).", diff --git a/apps/files_encryption/l10n/de_DE.php b/apps/files_encryption/l10n/de_DE.php index 6184fd8a89..13f7718b93 100644 --- a/apps/files_encryption/l10n/de_DE.php +++ b/apps/files_encryption/l10n/de_DE.php @@ -15,8 +15,8 @@ $TRANSLATIONS = array( "Missing requirements." => "Fehlende Voraussetzungen", "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Bitte stellen Sie sicher, dass PHP 5.3.3 oder neuer installiert und das OpenSSL zusammen mit der PHP-Erweiterung aktiviert und richtig konfiguriert ist. Zur Zeit ist die Verschlüsselungs-App deaktiviert.", "Following users are not set up for encryption:" => "Für folgende Nutzer ist keine Verschlüsselung eingerichtet:", -"Initial encryption started... This can take some time. Please wait." => "Initialverschlüsselung gestartet... Dies kann einige Zeit dauern. Bitte warten.", -"Saving..." => "Speichern...", +"Initial encryption started... This can take some time. Please wait." => "Anfangsverschlüsselung gestartet... Dies kann einige Zeit dauern. Bitte warten.", +"Initial encryption running... Please try again later." => "Anfangsverschlüsselung läuft... Bitte versuchen Sie es später wieder.", "Go directly to your " => "Direkt wechseln zu Ihrem", "personal settings" => "Persönliche Einstellungen", "Encryption" => "Verschlüsselung", diff --git a/apps/files_encryption/l10n/el.php b/apps/files_encryption/l10n/el.php index 22c1095e28..ad8617bc6d 100644 --- a/apps/files_encryption/l10n/el.php +++ b/apps/files_encryption/l10n/el.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Παρακαλώ επιβεβαιώστε ότι η PHP 5.3.3 ή νεότερη είναι εγκατεστημένη και ότι το OpenSSL μαζί με το PHP extension είναι ενεργοποιήμένο και έχει ρυθμιστεί σωστά. Προς το παρόν, η εφαρμογή κρυπτογράφησης είναι απενεργοποιημένη.", "Following users are not set up for encryption:" => "Οι κάτωθι χρήστες δεν έχουν ρυθμιστεί για κρυπογράφηση:", "Initial encryption started... This can take some time. Please wait." => "Η αρχική κρυπτογράφηση άρχισε... Αυτό μπορεί να πάρει κάποια ώρα. Παρακαλώ περιμένετε.", -"Saving..." => "Γίνεται αποθήκευση...", "Go directly to your " => "Πηγαίνε απευθείας στο ", "personal settings" => "προσωπικές ρυθμίσεις", "Encryption" => "Κρυπτογράφηση", diff --git a/apps/files_encryption/l10n/en_GB.php b/apps/files_encryption/l10n/en_GB.php index 55d56b9533..2087ea4b8b 100644 --- a/apps/files_encryption/l10n/en_GB.php +++ b/apps/files_encryption/l10n/en_GB.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled.", "Following users are not set up for encryption:" => "Following users are not set up for encryption:", "Initial encryption started... This can take some time. Please wait." => "Initial encryption started... This can take some time. Please wait.", -"Saving..." => "Saving...", +"Initial encryption running... Please try again later." => "Initial encryption running... Please try again later.", "Go directly to your " => "Go directly to your ", "personal settings" => "personal settings", "Encryption" => "Encryption", diff --git a/apps/files_encryption/l10n/eo.php b/apps/files_encryption/l10n/eo.php index e14c7cd7ac..05d30f2f6c 100644 --- a/apps/files_encryption/l10n/eo.php +++ b/apps/files_encryption/l10n/eo.php @@ -4,7 +4,6 @@ $TRANSLATIONS = array( "Could not change the password. Maybe the old password was not correct." => "Ne eblis ŝanĝi la pasvorton. Eble la malnova pasvorto malĝustis.", "Private key password successfully updated." => "La pasvorto de la malpublika klavo sukcese ĝisdatiĝis.", "Missing requirements." => "Mankas neproj.", -"Saving..." => "Konservante...", "Go directly to your " => "Iri direkte al via", "personal settings" => "persona agordo", "Encryption" => "Ĉifrado", diff --git a/apps/files_encryption/l10n/es.php b/apps/files_encryption/l10n/es.php index 5345398688..cf45437c0e 100644 --- a/apps/files_encryption/l10n/es.php +++ b/apps/files_encryption/l10n/es.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Por favor, asegúrese de que PHP 5.3.3 o posterior está instalado y que la extensión OpenSSL de PHP está habilitada y configurada correctamente. Por el momento, la aplicación de cifrado ha sido deshabilitada.", "Following users are not set up for encryption:" => "Los siguientes usuarios no han sido configurados para el cifrado:", "Initial encryption started... This can take some time. Please wait." => "Encriptación iniciada..... Esto puede tomar un tiempo. Por favor espere.", -"Saving..." => "Guardando...", +"Initial encryption running... Please try again later." => "Cifrado inicial en curso... Inténtelo más tarde.", "Go directly to your " => "Ir directamente a su", "personal settings" => "opciones personales", "Encryption" => "Cifrado", diff --git a/apps/files_encryption/l10n/es_AR.php b/apps/files_encryption/l10n/es_AR.php index df5bd649d6..bc1eedbf5e 100644 --- a/apps/files_encryption/l10n/es_AR.php +++ b/apps/files_encryption/l10n/es_AR.php @@ -8,19 +8,26 @@ $TRANSLATIONS = array( "Could not change the password. Maybe the old password was not correct." => "No se pudo cambiar la contraseña. Comprobá que la contraseña actual sea correcta.", "Private key password successfully updated." => "Contraseña de clave privada actualizada con éxito.", "Could not update the private key password. Maybe the old password was not correct." => "No fue posible actualizar la contraseña de clave privada. Tal vez la contraseña anterior no es correcta.", +"Encryption app not initialized! Maybe the encryption app was re-enabled during your session. Please try to log out and log back in to initialize the encryption app." => "¡La aplicación de encriptación no está inicializada! Es probable que la aplicación fue re-habilitada durante tu sesión. Intenta salir y iniciar sesión para volverla a iniciar.", +"Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "¡Tu llave privada no es válida! Aparenta que tu clave fue cambiada fuera de %s (de tus directorios). Puedes actualizar la contraseña de tu clave privadaen las configuraciones personales para recobrar el acceso a tus archivos encriptados.", +"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." => "No se puede descibrar este archivo, probablemente sea un archivo compartido. Por favor pídele al dueño que recomparta el archivo contigo.", +"Unknown error please check your system settings or contact your administrator" => "Error desconocido, por favor chequea la configuración de tu sistema o contacte a su administrador", "Missing requirements." => "Requisitos incompletos.", "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Por favor, asegúrese de que PHP 5.3.3 o una versión más reciente esté instalado y que OpenSSL junto con la extensión PHP esté habilitado y configurado apropiadamente. Por ahora, la aplicación de encriptación ha sido deshabilitada.", "Following users are not set up for encryption:" => "Los siguientes usuarios no fueron configurados para encriptar:", -"Saving..." => "Guardando...", +"Initial encryption started... This can take some time. Please wait." => "Encriptación inicial comenzada... Esto puede durar un tiempo. Por favor espere.", +"Go directly to your " => "Ve directamente a tu", "personal settings" => "Configuración personal", "Encryption" => "Encriptación", "Enable recovery key (allow to recover users files in case of password loss):" => "Habilitar clave de recuperación (te permite recuperar los archivos de usuario en el caso que pierdas la contraseña):", "Recovery key password" => "Contraseña de recuperación de clave", +"Repeat Recovery key password" => "Repetir la contraseña de la clave de recuperación", "Enabled" => "Habilitado", "Disabled" => "Deshabilitado", "Change recovery key password:" => "Cambiar contraseña para recuperar la clave:", "Old Recovery key password" => "Contraseña antigua de recuperación de clave", "New Recovery key password" => "Nueva contraseña de recuperación de clave", +"Repeat New Recovery key password" => "Repetir Nueva contraseña para la clave de recuperación", "Change Password" => "Cambiar contraseña", "Your private key password no longer match your log-in password:" => "Tu contraseña de clave privada ya no coincide con la contraseña de ingreso:", "Set your old private key password to your current log-in password." => "Usá tu contraseña de clave privada antigua para tu contraseña de ingreso actual.", diff --git a/apps/files_encryption/l10n/es_MX.php b/apps/files_encryption/l10n/es_MX.php index 3906e3cacb..e2915f8e71 100644 --- a/apps/files_encryption/l10n/es_MX.php +++ b/apps/files_encryption/l10n/es_MX.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Por favor, asegúrese de que PHP 5.3.3 o posterior está instalado y que la extensión OpenSSL de PHP está habilitada y configurada correctamente. Por el momento, la aplicación de cifrado ha sido deshabilitada.", "Following users are not set up for encryption:" => "Los siguientes usuarios no han sido configurados para el cifrado:", "Initial encryption started... This can take some time. Please wait." => "Encriptación iniciada... Esto puede tomar un tiempo. Por favor espere.", -"Saving..." => "Guardando...", "Go directly to your " => "Ir directamente a su", "personal settings" => "opciones personales", "Encryption" => "Cifrado", diff --git a/apps/files_encryption/l10n/et_EE.php b/apps/files_encryption/l10n/et_EE.php index 9182c5ef19..dcf035289f 100644 --- a/apps/files_encryption/l10n/et_EE.php +++ b/apps/files_encryption/l10n/et_EE.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Palun veendu, et on paigaldatud PHP 5.3.3 või uuem ning PHP OpenSSL laiendus on lubatud ning seadistatud korrektselt. Hetkel krüpteerimise rakendus on peatatud.", "Following users are not set up for encryption:" => "Järgmised kasutajad pole seadistatud krüpteeringuks:", "Initial encryption started... This can take some time. Please wait." => "Algne krüpteerimine käivitati... See võib võtta natuke aega. Palun oota.", -"Saving..." => "Salvestamine...", "Go directly to your " => "Liigu otse oma", "personal settings" => "isiklikes seadetes", "Encryption" => "Krüpteerimine", diff --git a/apps/files_encryption/l10n/eu.php b/apps/files_encryption/l10n/eu.php index 6b1bafdda1..9d51ebba2b 100644 --- a/apps/files_encryption/l10n/eu.php +++ b/apps/files_encryption/l10n/eu.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Mesedez ziurtatu PHP 5.3.3 edo berriago bat instalatuta dagoela eta OpenSSL PHP hedapenarekin gaitua eta ongi konfiguratuta dagoela. Oraingoz, enkriptazio aplikazioa desgaituta dago.", "Following users are not set up for encryption:" => "Hurrengo erabiltzaileak ez daude enktriptatzeko konfiguratutak:", "Initial encryption started... This can take some time. Please wait." => "Hasierako enkriptazioa hasi da... Honek denbora har dezake. Mesedez itxaron.", -"Saving..." => "Gordetzen...", "Go directly to your " => "Joan zuzenean zure", "personal settings" => "ezarpen pertsonalak", "Encryption" => "Enkriptazioa", diff --git a/apps/files_encryption/l10n/fa.php b/apps/files_encryption/l10n/fa.php index ed044a4158..3f8d631e10 100644 --- a/apps/files_encryption/l10n/fa.php +++ b/apps/files_encryption/l10n/fa.php @@ -9,7 +9,6 @@ $TRANSLATIONS = array( "Private key password successfully updated." => "رمزعبور کلید خصوصی با موفقیت به روز شد.", "Could not update the private key password. Maybe the old password was not correct." => "رمزعبور کلید خصوصی را نمی تواند به روز کند. شاید رمزعبور قدیمی صحیح نمی باشد.", "Missing requirements." => "نیازمندی های گمشده", -"Saving..." => "در حال ذخیره سازی...", "personal settings" => "تنظیمات شخصی", "Encryption" => "رمزگذاری", "Enable recovery key (allow to recover users files in case of password loss):" => "فعال کردن کلید بازیابی(اجازه بازیابی فایل های کاربران در صورت از دست دادن رمزعبور):", diff --git a/apps/files_encryption/l10n/fi_FI.php b/apps/files_encryption/l10n/fi_FI.php index b3df41b1f4..6a0025cd98 100644 --- a/apps/files_encryption/l10n/fi_FI.php +++ b/apps/files_encryption/l10n/fi_FI.php @@ -3,8 +3,8 @@ $TRANSLATIONS = array( "Recovery key successfully enabled" => "Palautusavain kytketty päälle onnistuneesti", "Password successfully changed." => "Salasana vaihdettiin onnistuneesti.", "Could not change the password. Maybe the old password was not correct." => "Salasanan vaihto epäonnistui. Kenties vanha salasana oli väärin.", +"Private key password successfully updated." => "Yksityisen avaimen salasana päivitetty onnistuneesti.", "Following users are not set up for encryption:" => "Seuraavat käyttäjät eivät ole määrittäneet salausta:", -"Saving..." => "Tallennetaan...", "personal settings" => "henkilökohtaiset asetukset", "Encryption" => "Salaus", "Recovery key password" => "Palautusavaimen salasana", diff --git a/apps/files_encryption/l10n/fr.php b/apps/files_encryption/l10n/fr.php index dbccbf74dc..a68b6a7132 100644 --- a/apps/files_encryption/l10n/fr.php +++ b/apps/files_encryption/l10n/fr.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Veuillez vous assurer qu'une version de PHP 5.3.3 ou supérieure est installée et qu'OpenSSL et son extension PHP sont activés et configurés correctement. En attendant, l'application de chiffrement été désactivée.", "Following users are not set up for encryption:" => "Les utilisateurs suivants ne sont pas configurés pour le chiffrement :", "Initial encryption started... This can take some time. Please wait." => "Chiffrement initial démarré... Cela peut prendre un certain temps. Veuillez patienter.", -"Saving..." => "Enregistrement...", +"Initial encryption running... Please try again later." => "Chiffrement initial en cours... Veuillez re-essayer ultérieurement.", "Go directly to your " => "Allez directement à votre", "personal settings" => "paramètres personnel", "Encryption" => "Chiffrement", diff --git a/apps/files_encryption/l10n/gl.php b/apps/files_encryption/l10n/gl.php index 7b3c899d1f..08567ef276 100644 --- a/apps/files_encryption/l10n/gl.php +++ b/apps/files_encryption/l10n/gl.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Asegúrese de que está instalado o PHP 5.3.3 ou posterior e de o OpenSSL xunto coa extensión PHP estean activados e configurados correctamente. Polo de agora foi desactivado o aplicativo de cifrado.", "Following users are not set up for encryption:" => "Os seguintes usuarios non teñen configuración para o cifrado:", "Initial encryption started... This can take some time. Please wait." => "Comezou o cifrado inicial... Isto pode levar bastante tempo. Agarde.", -"Saving..." => "Gardando...", +"Initial encryption running... Please try again later." => "O cifrado inicial está en execución... Tenteo máis tarde.", "Go directly to your " => "Vaia directamente ao seu", "personal settings" => "axustes persoais", "Encryption" => "Cifrado", diff --git a/apps/files_encryption/l10n/he.php b/apps/files_encryption/l10n/he.php index cdf29c9b0a..ca8783d196 100644 --- a/apps/files_encryption/l10n/he.php +++ b/apps/files_encryption/l10n/he.php @@ -1,6 +1,5 @@ "שמירה…", "Encryption" => "הצפנה" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_encryption/l10n/hu_HU.php b/apps/files_encryption/l10n/hu_HU.php index 163011ff80..a80c8d6f36 100644 --- a/apps/files_encryption/l10n/hu_HU.php +++ b/apps/files_encryption/l10n/hu_HU.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Kérem gondoskodjon arról, hogy PHP 5.3.3 vagy annál frissebb legyen telepítve, továbbá az OpenSSL a megfelelő PHP-bővítménnyel együtt rendelkezésre álljon és helyesen legyen konfigurálva! A titkosító modul egyelőre kikapcsolásra került.", "Following users are not set up for encryption:" => "A következő felhasználók nem állították be a titkosítást:", "Initial encryption started... This can take some time. Please wait." => "A titkosítási folyamat megkezdődött... Ez hosszabb ideig is eltarthat. Kérem várjon.", -"Saving..." => "Mentés...", "Go directly to your " => "Ugrás ide:", "personal settings" => "személyes beállítások", "Encryption" => "Titkosítás", diff --git a/apps/files_encryption/l10n/id.php b/apps/files_encryption/l10n/id.php index a719d44582..a4c3ae547c 100644 --- a/apps/files_encryption/l10n/id.php +++ b/apps/files_encryption/l10n/id.php @@ -13,7 +13,6 @@ $TRANSLATIONS = array( "Missing requirements." => "Persyaratan yang hilang.", "Following users are not set up for encryption:" => "Pengguna berikut belum diatur untuk enkripsi:", "Initial encryption started... This can take some time. Please wait." => "Inisial enskripsi dijalankan... Ini dapat memakan waktu. Silakan tunggu.", -"Saving..." => "Menyimpan...", "Go directly to your " => "Langsung ke anda", "personal settings" => "pengaturan pribadi", "Encryption" => "Enkripsi", diff --git a/apps/files_encryption/l10n/is.php b/apps/files_encryption/l10n/is.php index 27c0904a53..7b7a403b46 100644 --- a/apps/files_encryption/l10n/is.php +++ b/apps/files_encryption/l10n/is.php @@ -1,6 +1,5 @@ "Er að vista ...", "Encryption" => "Dulkóðun" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_encryption/l10n/it.php b/apps/files_encryption/l10n/it.php index fc1aaffc02..42ee846a76 100644 --- a/apps/files_encryption/l10n/it.php +++ b/apps/files_encryption/l10n/it.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Assicurati che sia installato PHP 5.3.3 o versioni successive e che l'estensione OpenSSL di PHP sia abilitata e configurata correttamente. Per ora, l'applicazione di cifratura è disabilitata.", "Following users are not set up for encryption:" => "I seguenti utenti non sono configurati per la cifratura:", "Initial encryption started... This can take some time. Please wait." => "Cifratura iniziale avviata... Potrebbe richiedere del tempo. Attendi.", -"Saving..." => "Salvataggio in corso...", +"Initial encryption running... Please try again later." => "Cifratura iniziale in esecuzione... Riprova più tardi.", "Go directly to your " => "Passa direttamente a", "personal settings" => "impostazioni personali", "Encryption" => "Cifratura", diff --git a/apps/files_encryption/l10n/ja.php b/apps/files_encryption/l10n/ja.php new file mode 100644 index 0000000000..476566e00f --- /dev/null +++ b/apps/files_encryption/l10n/ja.php @@ -0,0 +1,44 @@ + "リカバリ用のキーを正常に有効にしました", +"Could not enable recovery key. Please check your recovery key password!" => "リカバリ用のキーを有効にできませんでした。リカバリ用のキーのパスワードを確認してください!", +"Recovery key successfully disabled" => "リカバリ用のキーを正常に無効化しました", +"Could not disable recovery key. Please check your recovery key password!" => "リカバリ用のキーを無効化できませんでした。リカバリ用のキーのパスワードを確認してください!", +"Password successfully changed." => "パスワードを変更できました。", +"Could not change the password. Maybe the old password was not correct." => "パスワードを変更できませんでした。古いパスワードが間違っているかもしれません。", +"Private key password successfully updated." => "秘密鍵のパスワードが正常に更新されました。", +"Could not update the private key password. Maybe the old password was not correct." => "秘密鍵のパスワードを更新できませんでした。古いパスワードが正確でない場合があります。", +"Encryption app not initialized! Maybe the encryption app was re-enabled during your session. Please try to log out and log back in to initialize the encryption app." => "セッション中に暗号化アプリを再度有効にされたため、暗号化アプリが初期化されていません。暗号化アプリを初期化するため、ログアウトしてログインしなおしてください。", +"Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "プライベートキーが有効ではありません!パスワードが%sの外部で変更された(例: 共同ディレクトリ)と思われます。個人設定でプライベートキーのパスワードを更新して、暗号化ファイルへのアクセスを回復することができます。", +"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." => "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。", +"Unknown error please check your system settings or contact your administrator" => "不明なエラーです。システム設定を確認するか、管理者に問い合わせてください。", +"Missing requirements." => "必要要件が満たされていません。", +"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "必ず、PHP 5.3.3もしくはそれ以上をインストールし、同時にOpenSSLのPHP拡張を有効にした上でOpenSSLも同様にインストール、適切に設定してください。現時点では暗号化アプリは無効になっています。", +"Following users are not set up for encryption:" => "以下のユーザーは、暗号化設定がされていません:", +"Initial encryption started... This can take some time. Please wait." => "暗号化の初期化作業を開始しました... この処理にはしばらく時間がかかります。お待ちください。", +"Initial encryption running... Please try again later." => "初期暗号化実行中... 後でもう一度お試しください。", +"Go directly to your " => "あなたのディレクトリへ", +"personal settings" => "秘密鍵をアンロックできます", +"Encryption" => "暗号化", +"Enable recovery key (allow to recover users files in case of password loss):" => "リカバリキーを有効にする (パスワードを忘れた場合にユーザーのファイルを回復できます):", +"Recovery key password" => "リカバリキーのパスワード", +"Repeat Recovery key password" => "リカバリキーのパスワードをもう一度入力", +"Enabled" => "有効", +"Disabled" => "無効", +"Change recovery key password:" => "リカバリキーのパスワードを変更:", +"Old Recovery key password" => "古いリカバリキーのパスワード", +"New Recovery key password" => "新しいリカバリキーのパスワード", +"Repeat New Recovery key password" => "新しいリカバリキーのパスワードをもう一度入力", +"Change Password" => "パスワードを変更", +"Your private key password no longer match your log-in password:" => "もはや秘密鍵はログインパスワードと一致しません:", +"Set your old private key password to your current log-in password." => "古い秘密鍵のパスワードを現在のログインパスワードに設定する。", +" If you don't remember your old password you can ask your administrator to recover your files." => "古いパスワードを覚えていない場合、管理者に尋ねてファイルを回復することができます。", +"Old log-in password" => "古いログインパスワード", +"Current log-in password" => "現在のログインパスワード", +"Update Private Key Password" => "秘密鍵のパスワードを更新", +"Enable password recovery:" => "パスワードリカバリを有効に:", +"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "このオプションを有効にすると、パスワードを紛失した場合も、暗号化されたファイルに再度アクセスすることができるようになります。", +"File recovery settings updated" => "ファイルリカバリ設定を更新しました", +"Could not update file recovery" => "ファイルリカバリを更新できませんでした" +); +$PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_encryption/l10n/ja_JP.php b/apps/files_encryption/l10n/ja_JP.php index 1206969746..476566e00f 100644 --- a/apps/files_encryption/l10n/ja_JP.php +++ b/apps/files_encryption/l10n/ja_JP.php @@ -1,34 +1,34 @@ "リカバリ用のキーは正常に有効化されました", -"Could not enable recovery key. Please check your recovery key password!" => "リカバリ用のキーを有効にできませんでした。リカバリ用のキーのパスワードを確認して下さい!", +"Recovery key successfully enabled" => "リカバリ用のキーを正常に有効にしました", +"Could not enable recovery key. Please check your recovery key password!" => "リカバリ用のキーを有効にできませんでした。リカバリ用のキーのパスワードを確認してください!", "Recovery key successfully disabled" => "リカバリ用のキーを正常に無効化しました", -"Could not disable recovery key. Please check your recovery key password!" => "リカバリ用のキーを無効化できませんでした。リカバリ用のキーのパスワードを確認して下さい!", +"Could not disable recovery key. Please check your recovery key password!" => "リカバリ用のキーを無効化できませんでした。リカバリ用のキーのパスワードを確認してください!", "Password successfully changed." => "パスワードを変更できました。", "Could not change the password. Maybe the old password was not correct." => "パスワードを変更できませんでした。古いパスワードが間違っているかもしれません。", "Private key password successfully updated." => "秘密鍵のパスワードが正常に更新されました。", "Could not update the private key password. Maybe the old password was not correct." => "秘密鍵のパスワードを更新できませんでした。古いパスワードが正確でない場合があります。", -"Encryption app not initialized! Maybe the encryption app was re-enabled during your session. Please try to log out and log back in to initialize the encryption app." => "暗号化アプリが初期化されていません。暗号化アプリが接続中に再度有効かされた可能性があります。暗号化アプリを初期化する為に、1回ログアウトしてログインしなおしてください。", +"Encryption app not initialized! Maybe the encryption app was re-enabled during your session. Please try to log out and log back in to initialize the encryption app." => "セッション中に暗号化アプリを再度有効にされたため、暗号化アプリが初期化されていません。暗号化アプリを初期化するため、ログアウトしてログインしなおしてください。", "Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "プライベートキーが有効ではありません!パスワードが%sの外部で変更された(例: 共同ディレクトリ)と思われます。個人設定でプライベートキーのパスワードを更新して、暗号化ファイルへのアクセスを回復することができます。", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." => "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。", "Unknown error please check your system settings or contact your administrator" => "不明なエラーです。システム設定を確認するか、管理者に問い合わせてください。", "Missing requirements." => "必要要件が満たされていません。", "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "必ず、PHP 5.3.3もしくはそれ以上をインストールし、同時にOpenSSLのPHP拡張を有効にした上でOpenSSLも同様にインストール、適切に設定してください。現時点では暗号化アプリは無効になっています。", "Following users are not set up for encryption:" => "以下のユーザーは、暗号化設定がされていません:", -"Initial encryption started... This can take some time. Please wait." => "暗号化の初期化作業を開始しました... この処理にはしばらく時間がかかります。今しばらくお待ちください。", -"Saving..." => "保存中...", +"Initial encryption started... This can take some time. Please wait." => "暗号化の初期化作業を開始しました... この処理にはしばらく時間がかかります。お待ちください。", +"Initial encryption running... Please try again later." => "初期暗号化実行中... 後でもう一度お試しください。", "Go directly to your " => "あなたのディレクトリへ", "personal settings" => "秘密鍵をアンロックできます", "Encryption" => "暗号化", -"Enable recovery key (allow to recover users files in case of password loss):" => "復旧キーを有効化 (万一パスワードを亡くした場合もユーザーのファイルを回復できる):", -"Recovery key password" => "復旧キーのパスワード", -"Repeat Recovery key password" => "復旧キーのパスワードをもう一度入力", +"Enable recovery key (allow to recover users files in case of password loss):" => "リカバリキーを有効にする (パスワードを忘れた場合にユーザーのファイルを回復できます):", +"Recovery key password" => "リカバリキーのパスワード", +"Repeat Recovery key password" => "リカバリキーのパスワードをもう一度入力", "Enabled" => "有効", "Disabled" => "無効", -"Change recovery key password:" => "復旧キーのパスワードを変更:", -"Old Recovery key password" => "古い復旧キーのパスワード", -"New Recovery key password" => "新しい復旧キーのパスワード", -"Repeat New Recovery key password" => "新しい復旧キーのパスワードをもう一度入力", +"Change recovery key password:" => "リカバリキーのパスワードを変更:", +"Old Recovery key password" => "古いリカバリキーのパスワード", +"New Recovery key password" => "新しいリカバリキーのパスワード", +"Repeat New Recovery key password" => "新しいリカバリキーのパスワードをもう一度入力", "Change Password" => "パスワードを変更", "Your private key password no longer match your log-in password:" => "もはや秘密鍵はログインパスワードと一致しません:", "Set your old private key password to your current log-in password." => "古い秘密鍵のパスワードを現在のログインパスワードに設定する。", @@ -36,9 +36,9 @@ $TRANSLATIONS = array( "Old log-in password" => "古いログインパスワード", "Current log-in password" => "現在のログインパスワード", "Update Private Key Password" => "秘密鍵のパスワードを更新", -"Enable password recovery:" => "パスワード復旧を有効化:", +"Enable password recovery:" => "パスワードリカバリを有効に:", "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "このオプションを有効にすると、パスワードを紛失した場合も、暗号化されたファイルに再度アクセスすることができるようになります。", -"File recovery settings updated" => "ファイル復旧設定が更新されました", -"Could not update file recovery" => "ファイル復旧を更新できませんでした" +"File recovery settings updated" => "ファイルリカバリ設定を更新しました", +"Could not update file recovery" => "ファイルリカバリを更新できませんでした" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_encryption/l10n/ka_GE.php b/apps/files_encryption/l10n/ka_GE.php index bbabd44964..d063463477 100644 --- a/apps/files_encryption/l10n/ka_GE.php +++ b/apps/files_encryption/l10n/ka_GE.php @@ -1,6 +1,5 @@ "შენახვა...", "Encryption" => "ენკრიპცია" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_encryption/l10n/ko.php b/apps/files_encryption/l10n/ko.php index d91e861ca5..41168a340c 100644 --- a/apps/files_encryption/l10n/ko.php +++ b/apps/files_encryption/l10n/ko.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "PHP 5.3.3 이상 설치 여부, PHP의 OpenSSL 확장 기능 활성화 및 설정 여부를 확인하십시오. 암호화 앱이 비활성화 되었습니다.", "Following users are not set up for encryption:" => "다음 사용자는 암호화를 사용할 수 없습니다:", "Initial encryption started... This can take some time. Please wait." => "초기 암호화가 시작되었습니다... 시간이 걸릴 수도 있으니 기다려 주십시오.", -"Saving..." => "저장 중...", "Go directly to your " => "다음으로 바로 가기: ", "personal settings" => "개인 설정", "Encryption" => "암호화", diff --git a/apps/files_encryption/l10n/ku_IQ.php b/apps/files_encryption/l10n/ku_IQ.php index d971350b4c..d7b10d1df6 100644 --- a/apps/files_encryption/l10n/ku_IQ.php +++ b/apps/files_encryption/l10n/ku_IQ.php @@ -1,6 +1,5 @@ "پاشکه‌وتده‌کات...", "Encryption" => "نهێنیکردن" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_encryption/l10n/lt_LT.php b/apps/files_encryption/l10n/lt_LT.php index 993e03388d..dd8a0d7633 100644 --- a/apps/files_encryption/l10n/lt_LT.php +++ b/apps/files_encryption/l10n/lt_LT.php @@ -9,12 +9,13 @@ $TRANSLATIONS = array( "Private key password successfully updated." => "Privataus rakto slaptažodis buvo sėkmingai atnaujintas.", "Could not update the private key password. Maybe the old password was not correct." => "Nepavyko atnaujinti privataus rakto slaptažodžio. Gali būti, kad buvo neteisingai suvestas senasis.", "Encryption app not initialized! Maybe the encryption app was re-enabled during your session. Please try to log out and log back in to initialize the encryption app." => "Šifravimo programa nepaleista! Galbūt šifravimo programa buvo įjungta dar kartą Jūsų sesijos metu. Prašome atsijungti ir vėl prisijungti, kad paleisti šifravimo programą.", +"Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Jūsų privatus raktas yra netinkamas! Panašu, kad Jūsų slaptažodis buvo pakeistas už %s (pvz. Jūsų organizacijos kataloge). Galite atnaujinti savo privataus rakto slaptažodį savo asmeniniuose nustatymuose, kad atkurti prieigą prie savo šifruotų failų.", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." => "Failo iššifruoti nepavyko, gali būti jog jis yra pasidalintas su jumis. Paprašykite failo savininko, kad jums iš naujo pateiktų šį failą.", "Unknown error please check your system settings or contact your administrator" => "Neatpažinta klaida, patikrinkite sistemos nustatymus arba kreipkitės į savo sistemos aministratorių", "Missing requirements." => "Trūkstami laukai.", "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Prašome įsitikinti, kad PHP 5.3.3 ar naujesnė yra įdiegta ir kad OpenSSL kartu su PHP plėtiniu yra šjungti ir teisingai sukonfigūruoti. Kol kas šifravimo programa bus išjungta.", "Following users are not set up for encryption:" => "Sekantys naudotojai nenustatyti šifravimui:", -"Saving..." => "Saugoma...", +"Initial encryption started... This can take some time. Please wait." => "Pradėtas pirminis šifravimas... Tai gali užtrukti. Prašome palaukti.", "Go directly to your " => "Eiti tiesiai į Jūsų", "personal settings" => "asmeniniai nustatymai", "Encryption" => "Šifravimas", diff --git a/apps/files_encryption/l10n/lv.php b/apps/files_encryption/l10n/lv.php index b8414174a7..cbf8b7cbda 100644 --- a/apps/files_encryption/l10n/lv.php +++ b/apps/files_encryption/l10n/lv.php @@ -1,6 +1,5 @@ "Saglabā...", "Encryption" => "Šifrēšana" ); $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"; diff --git a/apps/files_encryption/l10n/mk.php b/apps/files_encryption/l10n/mk.php index 098f4d635b..b13d2c28ce 100644 --- a/apps/files_encryption/l10n/mk.php +++ b/apps/files_encryption/l10n/mk.php @@ -3,7 +3,6 @@ $TRANSLATIONS = array( "Password successfully changed." => "Лозинката е успешно променета.", "Could not change the password. Maybe the old password was not correct." => "Лозинката не можеше да се промени. Можеби старата лозинка не беше исправна.", "Missing requirements." => "Барања кои недостасуваат.", -"Saving..." => "Снимам...", "Go directly to your " => "Одете директно на вашиот", "personal settings" => "лични подесувања", "Encryption" => "Енкрипција", diff --git a/apps/files_encryption/l10n/nb_NO.php b/apps/files_encryption/l10n/nb_NO.php index 26956c410a..f7484c0e15 100644 --- a/apps/files_encryption/l10n/nb_NO.php +++ b/apps/files_encryption/l10n/nb_NO.php @@ -1,6 +1,43 @@ "Lagrer...", -"Encryption" => "Kryptering" +"Recovery key successfully enabled" => "Gjenopprettingsnøkkel aktivert", +"Could not enable recovery key. Please check your recovery key password!" => "Klarte ikke å aktivere gjenopprettingsnøkkel. Sjekk passordet for gjenopprettingsnøkkelen.", +"Recovery key successfully disabled" => "Gjenopprettingsnøkkel ble deaktivert", +"Could not disable recovery key. Please check your recovery key password!" => "Klarte ikke å deaktivere gjenopprettingsnøkkel. Sjekk passordet for gjenopprettingsnøkkelen.", +"Password successfully changed." => "Passordet ble endret.", +"Could not change the password. Maybe the old password was not correct." => "Klarte ikke å endre passordet. Kanskje gammelt passord ikke var korrekt.", +"Private key password successfully updated." => "Passord for privat nøkkel ble oppdatert.", +"Could not update the private key password. Maybe the old password was not correct." => "Klarte ikke å oppdatere passord for privat nøkkel. Kanskje gammelt passord ikke var korrekt.", +"Encryption app not initialized! Maybe the encryption app was re-enabled during your session. Please try to log out and log back in to initialize the encryption app." => "Krypterings-app ikke initialisert! Kanskje krypterings-appen ble aktivert på nytt i løpet av økten din. Prøv å logge ut og logge inn igjen for å initialisere krypterings-appen.", +"Your private key is not valid! Likely your password was changed outside of %s (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Din private nøkkel er ikke gyldig! Sannsynligvis ble passordet ditt endret utenfor %s. (f.eks. din bedriftskatalog). Du kan oppdatere passordet for din private nøkkel i dine personlige innstillinger for å gjenvinne tilgang til de krypterte filene dine.", +"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." => "Kan ikke dekryptere denne filen. Dette er sannsynligvis en delt fil. Spør eieren av filen om å dele den med deg på nytt.", +"Unknown error please check your system settings or contact your administrator" => "Ukjent feil. Sjekk systeminnstillingene dine eller kontakt administratoren", +"Missing requirements." => "Manglende krav.", +"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Vennligst se til at PHP 5.3.3 eller nyere er installert og at OpenSSL sammen med PHP-utvidelsen er aktivert og riktig konfigurert. Enn så lenge er krypterings-appen deaktivert.", +"Following users are not set up for encryption:" => "Følgende brukere er ikke satt opp for kryptering:", +"Initial encryption started... This can take some time. Please wait." => "Første gangs kryptering startet... Dette kan ta litt tid. Vennligst vent.", +"Go directly to your " => "Gå direkte til din", +"personal settings" => "personlige innstillinger", +"Encryption" => "Kryptering", +"Enable recovery key (allow to recover users files in case of password loss):" => "Aktiver gjenopprettingsnøkkel (tillat å gjenopprette brukerfiler i tilfelle tap av passord):", +"Recovery key password" => "Passord for gjenopprettingsnøkkel", +"Repeat Recovery key password" => "Gjenta passord for gjenopprettingsnøkkel", +"Enabled" => "Aktiv", +"Disabled" => "Inaktiv", +"Change recovery key password:" => "Endre passord for gjenopprettingsnøkkel:", +"Old Recovery key password" => "Gammelt passord for gjenopprettingsnøkkel", +"New Recovery key password" => "Nytt passord for gjenopprettingsnøkkel", +"Repeat New Recovery key password" => "Gjenta nytt passord for gjenopprettingsnøkkel", +"Change Password" => "Endre passord", +"Your private key password no longer match your log-in password:" => "Ditt passord for privat nøkkel stemmer ikke med påloggingspassordet ditt lenger:", +"Set your old private key password to your current log-in password." => "Sett ditt gamle passord for privat nøkkel til ditt nåværende påloggingspassord.", +" If you don't remember your old password you can ask your administrator to recover your files." => "Hvis du ikke husker det gamle passordet ditt kan du spørre administratoren om å gjenopprette filene dine.", +"Old log-in password" => "Gammelt påloggingspassord", +"Current log-in password" => "Nåværende påloggingspassord", +"Update Private Key Password" => "Oppdater passord for privat nøkkel", +"Enable password recovery:" => "Aktiver gjenoppretting av passord:", +"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "Aktivering av dette valget tillater deg å gjenerobre tilgang til dine krypterte filer i tilfelle du mister passordet ditt.", +"File recovery settings updated" => "Innstillinger for gjenoppretting av filer ble oppdatert", +"Could not update file recovery" => "Klarte ikke å oppdatere gjenoppretting av filer" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_encryption/l10n/nl.php b/apps/files_encryption/l10n/nl.php index 081e46a785..e878fc6c12 100644 --- a/apps/files_encryption/l10n/nl.php +++ b/apps/files_encryption/l10n/nl.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Wees er zeker van dat PHP5.3.3 of nieuwer is geïstalleerd en dat de OpenSSL PHP extensie is ingeschakeld en correct geconfigureerd. De versleutel-app is voorlopig uitgeschakeld.", "Following users are not set up for encryption:" => "De volgende gebruikers hebben geen configuratie voor encryptie:", "Initial encryption started... This can take some time. Please wait." => "initiële versleuteling gestart... Dit kan even duren, geduld a.u.b.", -"Saving..." => "Opslaan", +"Initial encryption running... Please try again later." => "Initiële versleuteling bezig... Probeer het later opnieuw.", "Go directly to your " => "Ga meteen naar uw", "personal settings" => "persoonlijke instellingen", "Encryption" => "Versleuteling", diff --git a/apps/files_encryption/l10n/nn_NO.php b/apps/files_encryption/l10n/nn_NO.php index bb30d69c59..c472655c8b 100644 --- a/apps/files_encryption/l10n/nn_NO.php +++ b/apps/files_encryption/l10n/nn_NO.php @@ -1,6 +1,5 @@ "Lagrar …", "Encryption" => "Kryptering" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_encryption/l10n/pl.php b/apps/files_encryption/l10n/pl.php index b768bd46f8..db2a02cec9 100644 --- a/apps/files_encryption/l10n/pl.php +++ b/apps/files_encryption/l10n/pl.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Proszę upewnić się, że PHP 5.3.3 lub nowszy jest zainstalowany i że OpenSSL oraz rozszerzenie PHP jest włączone i poprawnie skonfigurowane. Obecnie szyfrowanie aplikacji zostało wyłączone.", "Following users are not set up for encryption:" => "Następujący użytkownicy nie mają skonfigurowanego szyfrowania:", "Initial encryption started... This can take some time. Please wait." => "Rozpoczęto szyfrowanie... To może chwilę potrwać. Proszę czekać.", -"Saving..." => "Zapisywanie...", +"Initial encryption running... Please try again later." => "Trwa szyfrowanie początkowe...Spróbuj ponownie.", "Go directly to your " => "Przejdź bezpośrednio do", "personal settings" => "Ustawienia osobiste", "Encryption" => "Szyfrowanie", diff --git a/apps/files_encryption/l10n/pt_BR.php b/apps/files_encryption/l10n/pt_BR.php index 2fce7fd13a..204311658a 100644 --- a/apps/files_encryption/l10n/pt_BR.php +++ b/apps/files_encryption/l10n/pt_BR.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Por favor, certifique-se que o PHP 5.3.3 ou mais recente está instalado e que a extensão PHP OpenSSL está habilitado e configurado corretamente. Por enquanto, o aplicativo de criptografia foi desativado.", "Following users are not set up for encryption:" => "Seguintes usuários não estão configurados para criptografia:", "Initial encryption started... This can take some time. Please wait." => "Criptografia inicial inicializada... Isto pode tomar algum tempo. Por favor espere.", -"Saving..." => "Salvando...", +"Initial encryption running... Please try again later." => "Criptografia inicial em execução ... Por favor, tente novamente mais tarde.", "Go directly to your " => "Ir diretamente para o seu", "personal settings" => "configurações pessoais.", "Encryption" => "Criptografia", diff --git a/apps/files_encryption/l10n/pt_PT.php b/apps/files_encryption/l10n/pt_PT.php index 77424005c3..d6d3c26036 100644 --- a/apps/files_encryption/l10n/pt_PT.php +++ b/apps/files_encryption/l10n/pt_PT.php @@ -9,7 +9,6 @@ $TRANSLATIONS = array( "Could not update the private key password. Maybe the old password was not correct." => "Não foi possível alterar a chave. Possivelmente a password antiga não está correcta.", "Missing requirements." => "Faltam alguns requisitos.", "Following users are not set up for encryption:" => "Os utilizadores seguintes não estão marcados para cifragem:", -"Saving..." => "A guardar...", "personal settings" => "configurações personalizadas ", "Encryption" => "Encriptação", "Enable recovery key (allow to recover users files in case of password loss):" => "Active a chave de recuperação (permite recuperar os ficheiros no caso de perda da password):", diff --git a/apps/files_encryption/l10n/ro.php b/apps/files_encryption/l10n/ro.php index 3dcdce3241..5aabc49864 100644 --- a/apps/files_encryption/l10n/ro.php +++ b/apps/files_encryption/l10n/ro.php @@ -1,6 +1,20 @@ "Se salvează...", -"Encryption" => "Încriptare" +"Recovery key successfully enabled" => "Cheia de recupeare a fost activata cu succes", +"Could not enable recovery key. Please check your recovery key password!" => "Nu s-a putut activa cheia de recuperare. Verifica parola de recuperare!", +"Recovery key successfully disabled" => "Cheia de recuperare dezactivata cu succes", +"Could not disable recovery key. Please check your recovery key password!" => "Nu am putut dezactiva cheia de recuperare. Verifica parola de recuperare!", +"Password successfully changed." => "Parola a fost modificată cu succes.", +"Could not change the password. Maybe the old password was not correct." => "Parola nu a putut fi schimbata. Poate ca parola veche este incorecta.", +"Private key password successfully updated." => "Cheia privata a fost actualizata cu succes", +"Could not update the private key password. Maybe the old password was not correct." => "Nu am putut actualiza parola pentru cheia privata. Poate ca parola veche este incorecta.", +"personal settings" => "setari personale", +"Encryption" => "Încriptare", +"Enabled" => "Activat", +"Disabled" => "Dezactivat", +"Change Password" => "Schimbă parola", +"Your private key password no longer match your log-in password:" => "Parola cheii private nu se mai potriveste cu parola ta de logare:", +"File recovery settings updated" => "Setarile pentru recuperarea fisierelor au fost actualizate", +"Could not update file recovery" => "Nu am putut actualiza recuperarea de fisiere" ); $PLURAL_FORMS = "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"; diff --git a/apps/files_encryption/l10n/ru.php b/apps/files_encryption/l10n/ru.php index e9744b3db4..ba98486893 100644 --- a/apps/files_encryption/l10n/ru.php +++ b/apps/files_encryption/l10n/ru.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Пожалуйста, убедитесь, что версия PHP 5.3.3 или новее, а также, что OpenSSL и соответствующее расширение PHP включены и правильно настроены. На данный момент приложение шифрования отключено.", "Following users are not set up for encryption:" => "Для следующих пользователей шифрование не настроено:", "Initial encryption started... This can take some time. Please wait." => "Начато начальное шифрование... Это может занять какое-то время. Пожалуйста, подождите.", -"Saving..." => "Сохранение...", +"Initial encryption running... Please try again later." => "Работает первоначальное шифрование... Пожалуйста, повторите попытку позже.", "Go directly to your " => "Перейти прямо в", "personal settings" => "персональные настройки", "Encryption" => "Шифрование", diff --git a/apps/files_encryption/l10n/si_LK.php b/apps/files_encryption/l10n/si_LK.php index 5f5330df54..4c7dc957bf 100644 --- a/apps/files_encryption/l10n/si_LK.php +++ b/apps/files_encryption/l10n/si_LK.php @@ -1,6 +1,5 @@ "සුරැකෙමින් පවතී...", "Encryption" => "ගුප්ත කේතනය" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_encryption/l10n/sk_SK.php b/apps/files_encryption/l10n/sk_SK.php index 9e2c01eba3..5fcd0a9f06 100644 --- a/apps/files_encryption/l10n/sk_SK.php +++ b/apps/files_encryption/l10n/sk_SK.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Prosím uistite sa, že PHP verzie 5.3.3 alebo novšej je nainštalované a tiež, že OpenSSL knižnica spolu z PHP rozšírením je povolená a konfigurovaná správne. Nateraz bola aplikácia šifrovania zablokovaná.", "Following users are not set up for encryption:" => "Nasledujúci používatelia nie sú nastavení pre šifrovanie:", "Initial encryption started... This can take some time. Please wait." => "Počiatočné šifrovanie započalo ... To môže nejakú dobu trvať. Čakajte prosím.", -"Saving..." => "Ukladám...", "Go directly to your " => "Choďte priamo do vášho", "personal settings" => "osobné nastavenia", "Encryption" => "Šifrovanie", diff --git a/apps/files_encryption/l10n/sl.php b/apps/files_encryption/l10n/sl.php index 60faf34cf8..e581f9323c 100644 --- a/apps/files_encryption/l10n/sl.php +++ b/apps/files_encryption/l10n/sl.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Preverite, ali je na strežniku nameščen paket PHP 5.3.3 ali novejši, da je omogočen in pravilno nastavljen PHP OpenSSL. Z obstoječimi možnostmi šifriranje ni mogoče.", "Following users are not set up for encryption:" => "Navedeni uporabniki še nimajo nastavljenega šifriranja:", "Initial encryption started... This can take some time. Please wait." => "Začetno šifriranje je začeto ... Opravilo je lahko dolgotrajno.", -"Saving..." => "Poteka shranjevanje ...", +"Initial encryption running... Please try again later." => "Začetno šifriranje je v teku ... Poskusite kasneje.", "Go directly to your " => "Skočite neposredno na", "personal settings" => "osebne nastavitve", "Encryption" => "Šifriranje", diff --git a/apps/files_encryption/l10n/sr.php b/apps/files_encryption/l10n/sr.php index cbf87dcf4d..8a291faed2 100644 --- a/apps/files_encryption/l10n/sr.php +++ b/apps/files_encryption/l10n/sr.php @@ -1,6 +1,5 @@ "Чување у току...", "Encryption" => "Шифровање" ); $PLURAL_FORMS = "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_encryption/l10n/sv.php b/apps/files_encryption/l10n/sv.php index 1e509ea08e..90a9bd73a6 100644 --- a/apps/files_encryption/l10n/sv.php +++ b/apps/files_encryption/l10n/sv.php @@ -15,7 +15,6 @@ $TRANSLATIONS = array( "Missing requirements." => "Krav som saknas", "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Kontrollera att PHP 5.3.3 eller senare är installerad och att tillägget OpenSSL PHP är aktiverad och korrekt konfigurerad. Kryptering är tillsvidare inaktiverad.", "Following users are not set up for encryption:" => "Följande användare har inte aktiverat kryptering:", -"Saving..." => "Sparar...", "Go directly to your " => "Gå direkt till din", "personal settings" => "personliga inställningar", "Encryption" => "Kryptering", diff --git a/apps/files_encryption/l10n/ta_LK.php b/apps/files_encryption/l10n/ta_LK.php index 9dec6de3ac..327102b5df 100644 --- a/apps/files_encryption/l10n/ta_LK.php +++ b/apps/files_encryption/l10n/ta_LK.php @@ -1,6 +1,5 @@ "சேமிக்கப்படுகிறது...", "Encryption" => "மறைக்குறியீடு" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_encryption/l10n/th_TH.php b/apps/files_encryption/l10n/th_TH.php index 7bf3e2765a..cc670e425a 100644 --- a/apps/files_encryption/l10n/th_TH.php +++ b/apps/files_encryption/l10n/th_TH.php @@ -1,6 +1,5 @@ "กำลังบันทึกข้อมูล...", "Encryption" => "การเข้ารหัส" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_encryption/l10n/tr.php b/apps/files_encryption/l10n/tr.php index b8289ab71f..85e35f5ddd 100644 --- a/apps/files_encryption/l10n/tr.php +++ b/apps/files_encryption/l10n/tr.php @@ -16,7 +16,7 @@ $TRANSLATIONS = array( "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "PHP 5.3.3 veya daha sürümü ile birlikte OpenSSL ve OpenSSL PHP uzantısının birlikte etkin olduğunu ve doğru bir şekilde yapılandırıldığından emin olun. Şimdilik şifreleme uygulaması devre dışı bırakıldı", "Following users are not set up for encryption:" => "Aşağıdaki kullanıcılar şifreleme için ayarlanmadılar:", "Initial encryption started... This can take some time. Please wait." => "İlk şifreleme başladı... Bu biraz zaman alabilir. Lütfen bekleyin.", -"Saving..." => "Kaydediliyor...", +"Initial encryption running... Please try again later." => "İlk şifreleme çalışıyor... Lütfen daha sonra tekrar deneyin.", "Go directly to your " => "Doğrudan şuraya gidin:", "personal settings" => "kişisel ayarlar", "Encryption" => "Şifreleme", diff --git a/apps/files_encryption/l10n/ug.php b/apps/files_encryption/l10n/ug.php index 25b3f68634..da9144bb93 100644 --- a/apps/files_encryption/l10n/ug.php +++ b/apps/files_encryption/l10n/ug.php @@ -1,6 +1,5 @@ "ساقلاۋاتىدۇ…", "Encryption" => "شىفىرلاش" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_encryption/l10n/uk.php b/apps/files_encryption/l10n/uk.php index 5260dd3f2f..e406c09228 100644 --- a/apps/files_encryption/l10n/uk.php +++ b/apps/files_encryption/l10n/uk.php @@ -1,6 +1,5 @@ "Зберігаю...", "personal settings" => "особисті налаштування", "Encryption" => "Шифрування", "Change Password" => "Змінити Пароль" diff --git a/apps/files_encryption/l10n/vi.php b/apps/files_encryption/l10n/vi.php index 18882be63a..c752f0af22 100644 --- a/apps/files_encryption/l10n/vi.php +++ b/apps/files_encryption/l10n/vi.php @@ -1,11 +1,27 @@ "Khóa khôi phục kích hoạt thành công", +"Could not enable recovery key. Please check your recovery key password!" => "Không thể kích hoạt khóa khôi phục. Vui lòng kiểm tra mật khẩu khóa khôi phục!", +"Recovery key successfully disabled" => "Vô hiệu hóa khóa khôi phục thành công", +"Could not disable recovery key. Please check your recovery key password!" => "Không thể vô hiệu hóa khóa khôi phục. Vui lòng kiểm tra mật khẩu khóa khôi phục!", "Password successfully changed." => "Đã đổi mật khẩu.", "Could not change the password. Maybe the old password was not correct." => "Không thể đổi mật khẩu. Có lẽ do mật khẩu cũ không đúng.", -"Saving..." => "Đang lưu...", +"Private key password successfully updated." => "Cập nhật thành công mật khẩu khóa cá nhân", +"Could not update the private key password. Maybe the old password was not correct." => "Không thể cập nhật mật khẩu khóa cá nhân. Có thể mật khẩu cũ không đúng", +"personal settings" => "Thiết lập cá nhân", "Encryption" => "Mã hóa", "Enabled" => "Bật", "Disabled" => "Tắt", -"Change Password" => "Đổi Mật khẩu" +"Change Password" => "Đổi Mật khẩu", +"Your private key password no longer match your log-in password:" => "Mật khẩu khóa cá nhân không còn phù hợp với mật khẩu đăng nhập:", +"Set your old private key password to your current log-in password." => "Thiết lập mật khẩu khóa cá nhân cũ đến mật khẩu đăng nhập hiện tại.", +" If you don't remember your old password you can ask your administrator to recover your files." => "Nếu bạn không nhớ mật khẩu cũ, bạn có thể yêu cầu quản trị viên khôi phục tập tin của bạn.", +"Old log-in password" => "Mật khẩu đăng nhập cũ", +"Current log-in password" => "Mật khẩu đăng nhập hiện tại", +"Update Private Key Password" => "Cập nhật mật khẩu khóa cá nhân", +"Enable password recovery:" => "Kích hoạt khôi phục mật khẩu:", +"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" => "Tùy chọn này sẽ cho phép bạn tái truy cập đến các tập tin mã hóa trong trường hợp mất mật khẩu", +"File recovery settings updated" => "Đã cập nhật thiết lập khôi phục tập tin ", +"Could not update file recovery" => "Không thể cập nhật khôi phục tập tin" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_encryption/l10n/zh_CN.php b/apps/files_encryption/l10n/zh_CN.php index a51856aec9..4d277e9b17 100644 --- a/apps/files_encryption/l10n/zh_CN.php +++ b/apps/files_encryption/l10n/zh_CN.php @@ -8,7 +8,6 @@ $TRANSLATIONS = array( "Could not change the password. Maybe the old password was not correct." => "不能修改密码。旧密码可能不正确。", "Private key password successfully updated." => "私钥密码成功更新。", "Could not update the private key password. Maybe the old password was not correct." => "无法更新私钥密码。可能旧密码不正确。", -"Saving..." => "保存中", "personal settings" => "个人设置", "Encryption" => "加密", "Enable recovery key (allow to recover users files in case of password loss):" => "启用恢复密钥(允许你在密码丢失后恢复文件):", diff --git a/apps/files_encryption/l10n/zh_TW.php b/apps/files_encryption/l10n/zh_TW.php index 8972490ea5..390e6aff8c 100644 --- a/apps/files_encryption/l10n/zh_TW.php +++ b/apps/files_encryption/l10n/zh_TW.php @@ -15,7 +15,6 @@ $TRANSLATIONS = array( "Missing requirements." => "遺失必要條件。", "Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "請確認已安裝 PHP 5.3.3 或是更新的版本以及 OpenSSL 也一併安裝在 PHP extension 裡面並啟用及設置完成。現在,加密功能是停用的。", "Following users are not set up for encryption:" => "以下的使用者無法設定加密:", -"Saving..." => "儲存中...", "Go directly to your " => "直接到您的", "personal settings" => "個人設定", "Encryption" => "加密", diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php index ef3775875f..8cbbe8a45a 100755 --- a/apps/files_encryption/lib/helper.php +++ b/apps/files_encryption/lib/helper.php @@ -367,9 +367,14 @@ class Helper { $post = 0; if(count($_POST) > 0) { $post = 1; - } - header('Location: ' . $location . '?p=' . $post . '&errorCode=' . $errorCode); - exit(); + } + + if(defined('PHPUNIT_RUN') and PHPUNIT_RUN) { + throw new \Exception("Encryption error: $errorCode"); + } + + header('Location: ' . $location . '?p=' . $post . '&errorCode=' . $errorCode); + exit(); } /** diff --git a/apps/files_encryption/lib/proxy.php b/apps/files_encryption/lib/proxy.php index a2d42c22c1..6549273c8f 100644 --- a/apps/files_encryption/lib/proxy.php +++ b/apps/files_encryption/lib/proxy.php @@ -128,6 +128,8 @@ class Proxy extends \OC_FileProxy { // re-enable proxy - our work is done \OC_FileProxy::$enabled = $proxyStatus; + } else { + return false; } } } @@ -340,6 +342,13 @@ class Proxy extends \OC_FileProxy { // if path is a folder do nothing if ($view->is_dir($path)) { + $proxyState = \OC_FileProxy::$enabled; + \OC_FileProxy::$enabled = false; + $fileInfo = $view->getFileInfo($path); + \OC_FileProxy::$enabled = $proxyState; + if (isset($fileInfo['unencrypted_size']) && $fileInfo['unencrypted_size'] > 0) { + return $fileInfo['unencrypted_size']; + } return $size; } diff --git a/apps/files_encryption/lib/util.php b/apps/files_encryption/lib/util.php index 6bf69cd8ee..3db5a42347 100644 --- a/apps/files_encryption/lib/util.php +++ b/apps/files_encryption/lib/util.php @@ -135,7 +135,6 @@ class Util { // Set directories to check / create $setUpDirs = array( $this->userDir, - $this->userFilesDir, $this->publicKeyDir, $this->encryptionDir, $this->keyfilesPath, diff --git a/apps/files_encryption/tests/proxy.php b/apps/files_encryption/tests/proxy.php index 51cc0b795e..647ee955eb 100644 --- a/apps/files_encryption/tests/proxy.php +++ b/apps/files_encryption/tests/proxy.php @@ -112,4 +112,24 @@ class Test_Encryption_Proxy extends \PHPUnit_Framework_TestCase { } + function testPostFileSizeWithDirectory() { + + $this->view->file_put_contents($this->filename, $this->data); + + \OC_FileProxy::$enabled = false; + + // get root size, must match the file's unencrypted size + $unencryptedSize = $this->view->filesize(''); + + \OC_FileProxy::$enabled = true; + + $encryptedSize = $this->view->filesize(''); + + $this->assertTrue($encryptedSize !== $unencryptedSize); + + // cleanup + $this->view->unlink($this->filename); + + } + } diff --git a/apps/files_external/3rdparty/smb4php/smb.php b/apps/files_external/3rdparty/smb4php/smb.php index 622942b052..e325506fa1 100644 --- a/apps/files_external/3rdparty/smb4php/smb.php +++ b/apps/files_external/3rdparty/smb4php/smb.php @@ -8,6 +8,8 @@ # Homepage: http://www.phpclasses.org/smb4php # # Copyright (c) 2007 Victor M. Varela +# Copyright (c) 2012 Frank Karlitschek +# Copyright (c) 2014 Robin McCorkell # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -19,7 +21,6 @@ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # -# Addition 17/12/2012 Frank Karlitschek (frank@owncloud.org) # On the official website http://www.phpclasses.org/smb4php the # license is listed as LGPL so we assume that this is # dual-licensed GPL/LGPL @@ -43,6 +44,42 @@ $GLOBALS['__smb_cache'] = array ('stat' => array (), 'dir' => array ()); class smb { + private static $regexp = array ( + '^added interface ip=(.*) bcast=(.*) nmask=(.*)$' => 'skip', + 'Anonymous login successful' => 'skip', + '^Domain=\[(.*)\] OS=\[(.*)\] Server=\[(.*)\]$' => 'skip', + '^\tSharename[ ]+Type[ ]+Comment$' => 'shares', + '^\t---------[ ]+----[ ]+-------$' => 'skip', + '^\tServer [ ]+Comment$' => 'servers', + '^\t---------[ ]+-------$' => 'skip', + '^\tWorkgroup[ ]+Master$' => 'workg', + '^\t(.*)[ ]+(Disk|IPC)[ ]+IPC.*$' => 'skip', + '^\tIPC\\\$(.*)[ ]+IPC' => 'skip', + '^\t(.*)[ ]+(Disk)[ ]+(.*)$' => 'share', + '^\t(.*)[ ]+(Printer)[ ]+(.*)$' => 'skip', + '([0-9]+) blocks of size ([0-9]+)\. ([0-9]+) blocks available' => 'skip', + 'Got a positive name query response from ' => 'skip', + '^(session setup failed): (.*)$' => 'error', + '^(.*): ERRSRV - ERRbadpw' => 'error', + '^Error returning browse list: (.*)$' => 'error', + '^tree connect failed: (.*)$' => 'error', + '^(Connection to .* failed)(.*)$' => 'error-connect', + '^NT_STATUS_(.*) ' => 'error', + '^NT_STATUS_(.*)\$' => 'error', + 'ERRDOS - ERRbadpath \((.*).\)' => 'error', + 'cd (.*): (.*)$' => 'error', + '^cd (.*): NT_STATUS_(.*)' => 'error', + '^\t(.*)$' => 'srvorwg', + '^([0-9]+)[ ]+([0-9]+)[ ]+(.*)$' => 'skip', + '^Job ([0-9]+) cancelled' => 'skip', + '^[ ]+(.*)[ ]+([0-9]+)[ ]+(Mon|Tue|Wed|Thu|Fri|Sat|Sun)[ ](Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[ ]+([0-9]+)[ ]+([0-9]{2}:[0-9]{2}:[0-9]{2})[ ]([0-9]{4})$' => 'files', + '^message start: ERRSRV - (ERRmsgoff)' => 'error' + ); + + function getRegexp() { + return self::$regexp; + } + function parse_url ($url) { $pu = parse_url (trim($url)); foreach (array ('domain', 'user', 'pass', 'host', 'port', 'path') as $i) { @@ -74,46 +111,16 @@ class smb { } - function execute ($command, $purl) { + function execute ($command, $purl, $regexp = NULL) { return smb::client ('-d 0 ' . escapeshellarg ('//' . $purl['host'] . '/' . $purl['share']) - . ' -c ' . escapeshellarg ($command), $purl + . ' -c ' . escapeshellarg ($command), $purl, $regexp ); } - function client ($params, $purl) { + function client ($params, $purl, $regexp = NULL) { - static $regexp = array ( - '^added interface ip=(.*) bcast=(.*) nmask=(.*)$' => 'skip', - 'Anonymous login successful' => 'skip', - '^Domain=\[(.*)\] OS=\[(.*)\] Server=\[(.*)\]$' => 'skip', - '^\tSharename[ ]+Type[ ]+Comment$' => 'shares', - '^\t---------[ ]+----[ ]+-------$' => 'skip', - '^\tServer [ ]+Comment$' => 'servers', - '^\t---------[ ]+-------$' => 'skip', - '^\tWorkgroup[ ]+Master$' => 'workg', - '^\t(.*)[ ]+(Disk|IPC)[ ]+IPC.*$' => 'skip', - '^\tIPC\\\$(.*)[ ]+IPC' => 'skip', - '^\t(.*)[ ]+(Disk)[ ]+(.*)$' => 'share', - '^\t(.*)[ ]+(Printer)[ ]+(.*)$' => 'skip', - '([0-9]+) blocks of size ([0-9]+)\. ([0-9]+) blocks available' => 'skip', - 'Got a positive name query response from ' => 'skip', - '^(session setup failed): (.*)$' => 'error', - '^(.*): ERRSRV - ERRbadpw' => 'error', - '^Error returning browse list: (.*)$' => 'error', - '^tree connect failed: (.*)$' => 'error', - '^(Connection to .* failed)(.*)$' => 'error-connect', - '^NT_STATUS_(.*) ' => 'error', - '^NT_STATUS_(.*)\$' => 'error', - 'ERRDOS - ERRbadpath \((.*).\)' => 'error', - 'cd (.*): (.*)$' => 'error', - '^cd (.*): NT_STATUS_(.*)' => 'error', - '^\t(.*)$' => 'srvorwg', - '^([0-9]+)[ ]+([0-9]+)[ ]+(.*)$' => 'skip', - '^Job ([0-9]+) cancelled' => 'skip', - '^[ ]+(.*)[ ]+([0-9]+)[ ]+(Mon|Tue|Wed|Thu|Fri|Sat|Sun)[ ](Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[ ]+([0-9]+)[ ]+([0-9]{2}:[0-9]{2}:[0-9]{2})[ ]([0-9]{4})$' => 'files', - '^message start: ERRSRV - (ERRmsgoff)' => 'error' - ); + if ($regexp === NULL) $regexp = smb::$regexp; if (SMB4PHP_AUTHMODE == 'env') { putenv("USER={$purl['user']}%{$purl['pass']}"); @@ -238,17 +245,10 @@ class smb { trigger_error ("url_stat(): list failed for host '{$pu['host']}'", E_USER_WARNING); break; case 'share': - if ($o = smb::look ($pu)) { - $found = FALSE; - $lshare = strtolower ($pu['share']); # fix by Eric Leung - foreach ($o['disk'] as $s) if ($lshare == strtolower($s)) { - $found = TRUE; - $stat = stat ("/tmp"); - break; - } - if (! $found) - trigger_error ("url_stat(): disk resource '{$lshare}' not found in '{$pu['host']}'", E_USER_WARNING); - } + if (smb::execute("ls", $pu)) + $stat = stat ("/tmp"); + else + trigger_error ("url_stat(): disk resource '{$pu['share']}' not found in '{$pu['host']}'", E_USER_WARNING); break; case 'path': if ($o = smb::execute ('dir "'.$pu['path'].'"', $pu)) { diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 5b1cd86a17..aeb7a2cb23 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -1,6 +1,7 @@ + * Copyright (c) 2014 Robin McCorkell * This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. @@ -13,6 +14,7 @@ OC::$CLASSPATH['OC\Files\Storage\OwnCloud'] = 'files_external/lib/owncloud.php'; OC::$CLASSPATH['OC\Files\Storage\Google'] = 'files_external/lib/google.php'; OC::$CLASSPATH['OC\Files\Storage\Swift'] = 'files_external/lib/swift.php'; OC::$CLASSPATH['OC\Files\Storage\SMB'] = 'files_external/lib/smb.php'; +OC::$CLASSPATH['OC\Files\Storage\SMB_OC'] = 'files_external/lib/smb_oc.php'; OC::$CLASSPATH['OC\Files\Storage\AmazonS3'] = 'files_external/lib/amazons3.php'; OC::$CLASSPATH['OC\Files\Storage\Dropbox'] = 'files_external/lib/dropbox.php'; OC::$CLASSPATH['OC\Files\Storage\SFTP'] = 'files_external/lib/sftp.php'; @@ -25,5 +27,7 @@ if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == ' } // connecting hooks -OCP\Util::connectHook( 'OC_User', 'post_login', 'OC\Files\Storage\iRODS', 'login' ); +OCP\Util::connectHook('OC_Filesystem', 'post_initMountPoints', '\OC_Mount_Config', 'initMountPointsHook'); +OCP\Util::connectHook('OC_User', 'post_login', 'OC\Files\Storage\iRODS', 'login'); +OCP\Util::connectHook('OC_User', 'post_login', 'OC\Files\Storage\SMB_OC', 'login'); diff --git a/apps/files_external/css/settings.css b/apps/files_external/css/settings.css index 11aeb10184..1d3489f7f5 100644 --- a/apps/files_external/css/settings.css +++ b/apps/files_external/css/settings.css @@ -4,13 +4,6 @@ td.status > span { width: 16px; vertical-align: text-bottom; } -span.success { - background: #37ce02; - border-radius: 8px; -} -span.error { - background: #ce3702; -} td.mountPoint, td.backend { width:160px; } td.remove>img { visibility:hidden; padding-top:13px; } diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js index 895f97bd2c..00793a614c 100644 --- a/apps/files_external/js/settings.js +++ b/apps/files_external/js/settings.js @@ -181,16 +181,21 @@ $(document).ready(function() { $.each(configurations, function(backend, parameters) { if (backend == backendClass) { $.each(parameters['configuration'], function(parameter, placeholder) { - if (placeholder.indexOf('*') != -1) { - td.append(''); - } else if (placeholder.indexOf('!') != -1) { + var is_optional = false; + if (placeholder.indexOf('&') === 0) { + is_optional = true; + placeholder = placeholder.substring(1); + } + if (placeholder.indexOf('*') === 0) { + var class_string = is_optional ? ' class="optional"' : ''; + td.append(''); + } else if (placeholder.indexOf('!') === 0) { td.append(''); - } else if (placeholder.indexOf('&') != -1) { - td.append(''); - } else if (placeholder.indexOf('#') != -1) { + } else if (placeholder.indexOf('#') === 0) { td.append(''); } else { - td.append(''); + var class_string = is_optional ? ' class="optional"' : ''; + td.append(''); } }); if (parameters['custom'] && $('#externalStorage tbody tr.'+backendClass.replace(/\\/g, '\\\\')).length == 1) { @@ -264,7 +269,7 @@ $(document).ready(function() { OC.MountConfig.saveStorage($(this).parent().parent()); }); - $('#sslCertificate').on('click', 'td.remove>img', function() { + $('#sslCertificate').on('click', 'td.remove>img', function() { var $tr = $(this).parent().parent(); var row = this.parentNode.parentNode; $.post(OC.filePath('files_external', 'ajax', 'removeRootCertificate.php'), {cert: row.id}); @@ -302,13 +307,23 @@ $(document).ready(function() { }); $('#allowUserMounting').bind('change', function() { + OC.msg.startSaving('#userMountingMsg'); if (this.checked) { OC.AppConfig.setValue('files_external', 'allow_user_mounting', 'yes'); + $('#userMountingBackups').removeClass('hidden'); } else { OC.AppConfig.setValue('files_external', 'allow_user_mounting', 'no'); + $('#userMountingBackups').addClass('hidden'); } + OC.msg.finishedSaving('#userMountingMsg', {status: 'success', data: {message: t('settings', 'Saved')}}); }); + $('input[name="allowUserMountingBackends\\[\\]"]').bind('change', function() { + OC.msg.startSaving('#userMountingMsg'); + var user_mounting_backends = $('input[name="allowUserMountingBackends\\[\\]"]:checked').map(function(){return $(this).val();}).get(); + OC.AppConfig.setValue('files_external', 'user_mounting_backends', user_mounting_backends.join()); + OC.msg.finishedSaving('#userMountingMsg', {status: 'success', data: {message: t('settings', 'Saved')}}); + }); }); })(); diff --git a/apps/files_external/l10n/ar.php b/apps/files_external/l10n/ar.php index 338526d2af..5fd4e4c398 100644 --- a/apps/files_external/l10n/ar.php +++ b/apps/files_external/l10n/ar.php @@ -1,5 +1,6 @@ "حفظ", "Folder name" => "اسم المجلد", "Options" => "خيارات", "All Users" => "كل المستخدمين", diff --git a/apps/files_external/l10n/bg_BG.php b/apps/files_external/l10n/bg_BG.php index 17665d2228..d59a4b8c80 100644 --- a/apps/files_external/l10n/bg_BG.php +++ b/apps/files_external/l10n/bg_BG.php @@ -13,7 +13,6 @@ $TRANSLATIONS = array( "Users" => "Потребители", "Delete" => "Изтриване", "Enable User External Storage" => "Вкл. на поддръжка за външно потр. хранилище", -"Allow users to mount their own external storage" => "Позволено е на потребителите да ползват тяхно лично външно хранилище", "SSL root certificates" => "SSL основни сертификати", "Import Root Certificate" => "Импортиране на основен сертификат" ); diff --git a/apps/files_external/l10n/bn_BD.php b/apps/files_external/l10n/bn_BD.php index 0591dbba55..065d61acfc 100644 --- a/apps/files_external/l10n/bn_BD.php +++ b/apps/files_external/l10n/bn_BD.php @@ -15,7 +15,6 @@ $TRANSLATIONS = array( "Users" => "ব্যবহারকারী", "Delete" => "মুছে", "Enable User External Storage" => "ব্যবহারকারীর বাহ্যিক সংরক্ষণাগার সক্রিয় কর", -"Allow users to mount their own external storage" => "ব্যবহারকারীদেরকে তাদের নিজস্ব বাহ্যিক সংরক্ষনাগার সাউন্ট করতে অনুমোদন দাও", "SSL root certificates" => "SSL রুট সনদপত্র", "Import Root Certificate" => "রুট সনদপত্রটি আমদানি করুন" ); diff --git a/apps/files_external/l10n/ca.php b/apps/files_external/l10n/ca.php index c1d6ec077b..3e72204629 100644 --- a/apps/files_external/l10n/ca.php +++ b/apps/files_external/l10n/ca.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Concedeix accés", "Please provide a valid Dropbox app key and secret." => "Proporcioneu una clau d'aplicació i secret vàlids per a Dropbox", "Error configuring Google Drive storage" => "Error en configurar l'emmagatzemament Google Drive", +"Saved" => "Desat", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Avís: \"smbclient\" no està instal·lat. No es pot muntar la compartició CIFS/SMB. Demaneu a l'administrador del sistema que l'instal·li.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Avís: El suport FTP per PHP no està activat o no està instal·lat. No es pot muntar la compartició FTP. Demaneu a l'administrador del sistema que l'instal·li.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Avís:El suport Curl de PHP no està activat o instal·lat. No es pot muntar ownCloud / WebDAV o GoogleDrive. Demaneu a l'administrador que l'instal·li.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Usuaris", "Delete" => "Esborra", "Enable User External Storage" => "Habilita l'emmagatzemament extern d'usuari", -"Allow users to mount their own external storage" => "Permet als usuaris muntar el seu emmagatzemament extern propi", +"Allow users to mount the following external storage" => "Permet als usuaris muntar els dispositius externs següents", "SSL root certificates" => "Certificats SSL root", "Import Root Certificate" => "Importa certificat root" ); diff --git a/apps/files_external/l10n/cs_CZ.php b/apps/files_external/l10n/cs_CZ.php index a574e0506c..1b92e35c45 100644 --- a/apps/files_external/l10n/cs_CZ.php +++ b/apps/files_external/l10n/cs_CZ.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Povolit přístup", "Please provide a valid Dropbox app key and secret." => "Zadejte, prosím, platný klíč a bezpečnostní frázi aplikace Dropbox.", "Error configuring Google Drive storage" => "Chyba při nastavení úložiště Google Drive", +"Saved" => "Uloženo", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Varování: není nainstalován program \"smbclient\". Není možné připojení oddílů CIFS/SMB. Prosím požádejte svého správce systému ať jej nainstaluje.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Varování: podpora FTP v PHP není povolena nebo není nainstalována. Není možné připojení oddílů FTP. Prosím požádejte svého správce systému ať ji nainstaluje.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Varování: podpora CURL v PHP není povolena nebo není nainstalována. Není možné připojení oddílů ownCloud, WebDAV, či GoogleDrive. Prosím požádejte svého správce systému ať ji nainstaluje.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Uživatelé", "Delete" => "Smazat", "Enable User External Storage" => "Zapnout externí uživatelské úložiště", -"Allow users to mount their own external storage" => "Povolit uživatelům připojení jejich vlastních externích úložišť", +"Allow users to mount the following external storage" => "Povolit uživatelů připojit následující externí úložiště", "SSL root certificates" => "Kořenové certifikáty SSL", "Import Root Certificate" => "Importovat kořenového certifikátu" ); diff --git a/apps/files_external/l10n/da.php b/apps/files_external/l10n/da.php index 3a25142b36..f3ac35e42e 100644 --- a/apps/files_external/l10n/da.php +++ b/apps/files_external/l10n/da.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Godkend adgang", "Please provide a valid Dropbox app key and secret." => "Angiv venligst en valid Dropbox app nøgle og hemmelighed", "Error configuring Google Drive storage" => "Fejl ved konfiguration af Google Drive plads", +"Saved" => "Gemt", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => " Advarsel: \"smbclient\" ikke er installeret. Montering af CIFS / SMB delinger er ikke muligt. Spørg din systemadministrator om at installere det.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => " Advarsel: FTP-understøttelse i PHP ikke er aktiveret eller installeret. Montering af FTP delinger er ikke muligt. Spørg din systemadministrator om at installere det.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Advarsel: Understøttelsen for Curl i PHP er enten ikke aktiveret eller ikke installeret. Det er ikke muligt, at montere ownCloud / WebDAV eller GoogleDrive. Spørg din system administrator om at installere det. ", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Brugere", "Delete" => "Slet", "Enable User External Storage" => "Aktiver ekstern opbevaring for brugere", -"Allow users to mount their own external storage" => "Tillad brugere at montere deres egne eksterne opbevaring", +"Allow users to mount the following external storage" => "Tillad brugere at montere følgende som eksternt lager", "SSL root certificates" => "SSL-rodcertifikater", "Import Root Certificate" => "Importer rodcertifikat" ); diff --git a/apps/files_external/l10n/de.php b/apps/files_external/l10n/de.php index b2c72f7688..a78728b4c2 100644 --- a/apps/files_external/l10n/de.php +++ b/apps/files_external/l10n/de.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Zugriff gestatten", "Please provide a valid Dropbox app key and secret." => "Bitte trage einen gültigen Dropbox-App-Key mit Secret ein.", "Error configuring Google Drive storage" => "Fehler beim Einrichten von Google Drive", +"Saved" => "Gespeichert", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Warnung: \"smbclient\" ist nicht installiert. Das Einhängen von CIFS/SMB-Freigaben ist nicht möglich. Bitte Deinen System-Administrator, dies zu installieren.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Warnung:: Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Bitte wende Dich an Deinen Systemadministrator.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Warnung: Die Curl-Unterstützung in PHP ist nicht aktiviert oder installiert. Das Einbinden von ownCloud / WebDav der GoogleDrive-Freigaben ist nicht möglich. Bitte Deinen Systemadminstrator um die Installation. ", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Benutzer", "Delete" => "Löschen", "Enable User External Storage" => "Externen Speicher für Benutzer aktivieren", -"Allow users to mount their own external storage" => "Erlaubt Benutzern ihre eigenen externen Speicher einzubinden", +"Allow users to mount the following external storage" => "Erlaube es Benutzern, den folgenden externen Speicher einzubinden", "SSL root certificates" => "SSL-Root-Zertifikate", "Import Root Certificate" => "Root-Zertifikate importieren" ); diff --git a/apps/files_external/l10n/de_AT.php b/apps/files_external/l10n/de_AT.php new file mode 100644 index 0000000000..afa3eff001 --- /dev/null +++ b/apps/files_external/l10n/de_AT.php @@ -0,0 +1,5 @@ + "Löschen" +); +$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_external/l10n/de_CH.php b/apps/files_external/l10n/de_CH.php index 85e2f2d91f..8a13c7cdd5 100644 --- a/apps/files_external/l10n/de_CH.php +++ b/apps/files_external/l10n/de_CH.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Benutzer", "Delete" => "Löschen", "Enable User External Storage" => "Externen Speicher für Benutzer aktivieren", -"Allow users to mount their own external storage" => "Erlaubt Benutzern, ihre eigenen externen Speicher einzubinden", "SSL root certificates" => "SSL-Root-Zertifikate", "Import Root Certificate" => "Root-Zertifikate importieren" ); diff --git a/apps/files_external/l10n/de_DE.php b/apps/files_external/l10n/de_DE.php index 8f6a25cb52..5ffe946c69 100644 --- a/apps/files_external/l10n/de_DE.php +++ b/apps/files_external/l10n/de_DE.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Zugriff gestatten", "Please provide a valid Dropbox app key and secret." => "Bitte tragen Sie einen gültigen Dropbox-App-Key mit Secret ein.", "Error configuring Google Drive storage" => "Fehler beim Einrichten von Google Drive", +"Saved" => "Gespeichert", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Warnung: \"smbclient\" ist nicht installiert. Das Einhängen von CIFS/SMB-Freigaben ist nicht möglich. Bitten Sie Ihren Systemadministrator, dies zu installieren.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Warnung:: Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Bitte wenden Sie sich an Ihren Systemadministrator.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Achtung: Die Curl-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Laden von ownCloud / WebDAV oder GoogleDrive Freigaben ist nicht möglich. Bitte Sie Ihren Systemadministrator, das Modul zu installieren.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Benutzer", "Delete" => "Löschen", "Enable User External Storage" => "Externen Speicher für Benutzer aktivieren", -"Allow users to mount their own external storage" => "Erlaubt Benutzern, ihre eigenen externen Speicher einzubinden", +"Allow users to mount the following external storage" => "Erlauben Sie Benutzern, folgende externe Speicher einzubinden", "SSL root certificates" => "SSL-Root-Zertifikate", "Import Root Certificate" => "Root-Zertifikate importieren" ); diff --git a/apps/files_external/l10n/el.php b/apps/files_external/l10n/el.php index 0161c0901d..4dcd93d7ac 100644 --- a/apps/files_external/l10n/el.php +++ b/apps/files_external/l10n/el.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Παροχή πρόσβασης", "Please provide a valid Dropbox app key and secret." => "Παρακαλούμε δώστε έγκυρο κλειδί Dropbox και μυστικό.", "Error configuring Google Drive storage" => "Σφάλμα ρυθμίζωντας αποθήκευση Google Drive ", +"Saved" => "Αποθηκεύτηκαν", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Προσοχή: Ο \"smbclient\" δεν εγκαταστάθηκε. Δεν είναι δυνατή η προσάρτηση CIFS/SMB. Παρακαλώ ενημερώστε τον διαχειριστή συστήματος να το εγκαταστήσει.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Προσοχή: Η υποστήριξη FTP στην PHP δεν ενεργοποιήθηκε ή εγκαταστάθηκε. Δεν είναι δυνατή η προσάρτηση FTP. Παρακαλώ ενημερώστε τον διαχειριστή συστήματος να το εγκαταστήσει.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "<Προειδοποίηση Η υποστήριξη του συστήματος Curl στο PHP δεν είναι ενεργοποιημένη ή εγκαταστημένη. Η αναπαραγωγή του ownCloud/WebDAV ή GoogleDrive δεν είναι δυνατή. Παρακαλώ ρωτήστε τον διαχειριστλη του συστήματος για την εγκατάσταση. ", @@ -21,7 +22,6 @@ $TRANSLATIONS = array( "Users" => "Χρήστες", "Delete" => "Διαγραφή", "Enable User External Storage" => "Ενεργοποίηση Εξωτερικού Αποθηκευτικού Χώρου Χρήστη", -"Allow users to mount their own external storage" => "Να επιτρέπεται στους χρήστες να προσαρτούν δικό τους εξωτερικό αποθηκευτικό χώρο", "SSL root certificates" => "Πιστοποιητικά SSL root", "Import Root Certificate" => "Εισαγωγή Πιστοποιητικού Root" ); diff --git a/apps/files_external/l10n/en_GB.php b/apps/files_external/l10n/en_GB.php index 8adca794dd..f7fdbf2f0d 100644 --- a/apps/files_external/l10n/en_GB.php +++ b/apps/files_external/l10n/en_GB.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Grant access", "Please provide a valid Dropbox app key and secret." => "Please provide a valid Dropbox app key and secret.", "Error configuring Google Drive storage" => "Error configuring Google Drive storage", +"Saved" => "Saved", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Users", "Delete" => "Delete", "Enable User External Storage" => "Enable User External Storage", -"Allow users to mount their own external storage" => "Allow users to mount their own external storage", +"Allow users to mount the following external storage" => "Allow users to mount the following external storage", "SSL root certificates" => "SSL root certificates", "Import Root Certificate" => "Import Root Certificate" ); diff --git a/apps/files_external/l10n/eo.php b/apps/files_external/l10n/eo.php index 5697221cac..aba16e2efa 100644 --- a/apps/files_external/l10n/eo.php +++ b/apps/files_external/l10n/eo.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Users" => "Uzantoj", "Delete" => "Forigi", "Enable User External Storage" => "Kapabligi malenan memorilon de uzanto", -"Allow users to mount their own external storage" => "Permesi al uzantoj surmeti siajn proprajn malenajn memorilojn", "SSL root certificates" => "Radikaj SSL-atestoj", "Import Root Certificate" => "Enporti radikan ateston" ); diff --git a/apps/files_external/l10n/es.php b/apps/files_external/l10n/es.php index 5179d9329a..ea831c947f 100644 --- a/apps/files_external/l10n/es.php +++ b/apps/files_external/l10n/es.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Conceder acceso", "Please provide a valid Dropbox app key and secret." => "Por favor, proporcione un una clave válida de la app Dropbox y una clave secreta.", "Error configuring Google Drive storage" => "Error configurando el almacenamiento de Google Drive", +"Saved" => "Guardado", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Advertencia: El cliente smb (smbclient) no se encuentra instalado. El montado de archivos o ficheros CIFS/SMB no es posible. Por favor pida al administrador de su sistema que lo instale.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Advertencia: El soporte de FTP en PHP no se encuentra instalado. El montado de archivos o ficheros FTP no es posible. Por favor pida al administrador de su sistema que lo instale.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Advertencia: El soporte de Curl en PHP no está activado ni instalado. El montado de ownCloud, WebDAV o GoogleDrive no es posible. Pida al administrador de su sistema que lo instale.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Usuarios", "Delete" => "Eliminar", "Enable User External Storage" => "Habilitar almacenamiento externo de usuario", -"Allow users to mount their own external storage" => "Permitir a los usuarios montar su propio almacenamiento externo", +"Allow users to mount the following external storage" => "Permitir a los usuarios montar el siguiente almacenamiento externo", "SSL root certificates" => "Certificados raíz SSL", "Import Root Certificate" => "Importar certificado raíz" ); diff --git a/apps/files_external/l10n/es_AR.php b/apps/files_external/l10n/es_AR.php index a0bb3a8dfe..05204b748c 100644 --- a/apps/files_external/l10n/es_AR.php +++ b/apps/files_external/l10n/es_AR.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Usuarios", "Delete" => "Borrar", "Enable User External Storage" => "Habilitar almacenamiento de usuario externo", -"Allow users to mount their own external storage" => "Permitir a los usuarios montar su propio almacenamiento externo", "SSL root certificates" => "certificados SSL raíz", "Import Root Certificate" => "Importar certificado raíz" ); diff --git a/apps/files_external/l10n/es_MX.php b/apps/files_external/l10n/es_MX.php index b508df8476..5d3fd44bec 100644 --- a/apps/files_external/l10n/es_MX.php +++ b/apps/files_external/l10n/es_MX.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Usuarios", "Delete" => "Eliminar", "Enable User External Storage" => "Habilitar almacenamiento externo de usuario", -"Allow users to mount their own external storage" => "Permitir a los usuarios montar su propio almacenamiento externo", "SSL root certificates" => "Certificados raíz SSL", "Import Root Certificate" => "Importar certificado raíz" ); diff --git a/apps/files_external/l10n/et_EE.php b/apps/files_external/l10n/et_EE.php index a7e623eb7d..c6450f95e1 100644 --- a/apps/files_external/l10n/et_EE.php +++ b/apps/files_external/l10n/et_EE.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Kasutajad", "Delete" => "Kustuta", "Enable User External Storage" => "Luba kasutajatele väline salvestamine", -"Allow users to mount their own external storage" => "Luba kasutajatel ühendada külge nende enda välised salvestusseadmed", "SSL root certificates" => "SSL root sertifikaadid", "Import Root Certificate" => "Impordi root sertifikaadid" ); diff --git a/apps/files_external/l10n/eu.php b/apps/files_external/l10n/eu.php index db92e2f001..bdc5cf5676 100644 --- a/apps/files_external/l10n/eu.php +++ b/apps/files_external/l10n/eu.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Erabiltzaileak", "Delete" => "Ezabatu", "Enable User External Storage" => "Gaitu erabiltzaileentzako Kanpo Biltegiratzea", -"Allow users to mount their own external storage" => "Baimendu erabiltzaileak bere kanpo biltegiratzeak muntatzen", "SSL root certificates" => "SSL erro ziurtagiriak", "Import Root Certificate" => "Inportatu Erro Ziurtagiria" ); diff --git a/apps/files_external/l10n/eu_ES.php b/apps/files_external/l10n/eu_ES.php new file mode 100644 index 0000000000..8612c8609b --- /dev/null +++ b/apps/files_external/l10n/eu_ES.php @@ -0,0 +1,5 @@ + "Ezabatu" +); +$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_external/l10n/fa.php b/apps/files_external/l10n/fa.php index 216893811c..544b8a14d5 100644 --- a/apps/files_external/l10n/fa.php +++ b/apps/files_external/l10n/fa.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "کاربران", "Delete" => "حذف", "Enable User External Storage" => "فعال سازی حافظه خارجی کاربر", -"Allow users to mount their own external storage" => "اجازه به کاربران برای متصل کردن منابع ذخیره ی خارجی خودشان", "SSL root certificates" => "گواهی های اصلی SSL ", "Import Root Certificate" => "وارد کردن گواهی اصلی" ); diff --git a/apps/files_external/l10n/fi_FI.php b/apps/files_external/l10n/fi_FI.php index 9632aa255e..d2f9d1a73a 100644 --- a/apps/files_external/l10n/fi_FI.php +++ b/apps/files_external/l10n/fi_FI.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Salli pääsy", "Please provide a valid Dropbox app key and secret." => "Anna kelvollinen Dropbox-sovellusavain ja salainen vastaus.", "Error configuring Google Drive storage" => "Virhe Google Drive levyn asetuksia tehtäessä", +"Saved" => "Tallennettu", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Varoitus: \"smbclient\" ei ole asennettuna. CIFS-/SMB-jakojen liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää asentamaan smbclient.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Varoitus: PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. FTP-jakojen liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Varoitus: PHP:n Curl-tuki ei ole käytössä tai sitä ei ole lainkaan asennettu. ownCloudin, WebDAV:in tai Google Driven liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan Curl-tuki käyttöön.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Käyttäjät", "Delete" => "Poista", "Enable User External Storage" => "Ota käyttöön ulkopuoliset tallennuspaikat", -"Allow users to mount their own external storage" => "Salli käyttäjien liittää omia erillisiä tallennusvälineitä", +"Allow users to mount the following external storage" => "Salli käyttäjien liittää seuraavat erilliset tallennusvälineet", "SSL root certificates" => "SSL-juurivarmenteet", "Import Root Certificate" => "Tuo juurivarmenne" ); diff --git a/apps/files_external/l10n/fr.php b/apps/files_external/l10n/fr.php index f6b1a75200..4b8e2b905b 100644 --- a/apps/files_external/l10n/fr.php +++ b/apps/files_external/l10n/fr.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Autoriser l'accès", "Please provide a valid Dropbox app key and secret." => "Veuillez fournir une clé d'application (app key) ainsi qu'un mot de passe valides.", "Error configuring Google Drive storage" => "Erreur lors de la configuration du support de stockage Google Drive", +"Saved" => "Sauvegarder", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Attention : \"smbclient\" n'est pas installé. Le montage des partages CIFS/SMB n'est pas disponible. Contactez votre administrateur système pour l'installer.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Attention : Le support FTP de PHP n'est pas activé ou installé. Le montage des partages FTP n'est pas disponible. Contactez votre administrateur système pour l'installer.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Attention : Le support de Curl n'est pas activé ou installé dans PHP. Le montage de ownCloud / WebDAV ou GoogleDrive n'est pas possible. Contactez votre administrateur système pour l'installer.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Utilisateurs", "Delete" => "Supprimer", "Enable User External Storage" => "Activer le stockage externe pour les utilisateurs", -"Allow users to mount their own external storage" => "Autoriser les utilisateurs à monter leur propre stockage externe", +"Allow users to mount the following external storage" => "Autorise les utilisateurs à monter les stockage externes suivants", "SSL root certificates" => "Certificats racine SSL", "Import Root Certificate" => "Importer un certificat racine" ); diff --git a/apps/files_external/l10n/gl.php b/apps/files_external/l10n/gl.php index 3dda999dd1..ec13fe241f 100644 --- a/apps/files_external/l10n/gl.php +++ b/apps/files_external/l10n/gl.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Permitir o acceso", "Please provide a valid Dropbox app key and secret." => "Forneza unha chave correcta e segreda do Dropbox.", "Error configuring Google Drive storage" => "Produciuse un erro ao configurar o almacenamento en Google Drive", +"Saved" => "Gardado", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Aviso: «smbclient» non está instalado. Non é posibel a montaxe de comparticións CIFS/SMB. Consulte co administrador do sistema para instalalo.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Aviso: A compatibilidade de FTP en PHP non está activada ou instalada. Non é posibel a montaxe de comparticións FTP. Consulte co administrador do sistema para instalalo.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Aviso: A compatibilidade de Curl en PHP non está activada ou instalada. Non é posíbel a montaxe de ownCloud / WebDAV ou GoogleDrive. Consulte co administrador do sistema para instalala.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Usuarios", "Delete" => "Eliminar", "Enable User External Storage" => "Activar o almacenamento externo do usuario", -"Allow users to mount their own external storage" => "Permitir aos usuarios montar os seus propios almacenamentos externos", +"Allow users to mount the following external storage" => "Permitirlle aos usuarios montar o seguinte almacenamento externo", "SSL root certificates" => "Certificados SSL root", "Import Root Certificate" => "Importar o certificado root" ); diff --git a/apps/files_external/l10n/he.php b/apps/files_external/l10n/he.php index e99c9f5193..6aec07e78c 100644 --- a/apps/files_external/l10n/he.php +++ b/apps/files_external/l10n/he.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Users" => "משתמשים", "Delete" => "מחיקה", "Enable User External Storage" => "הפעלת אחסון חיצוני למשתמשים", -"Allow users to mount their own external storage" => "יאפשר למשתמשים לעגן את האחסון החיצוני שלהם", "SSL root certificates" => "שורש אישורי אבטחת SSL ", "Import Root Certificate" => "ייבוא אישור אבטחת שורש" ); diff --git a/apps/files_external/l10n/hu_HU.php b/apps/files_external/l10n/hu_HU.php index 23fe916eba..6066138043 100644 --- a/apps/files_external/l10n/hu_HU.php +++ b/apps/files_external/l10n/hu_HU.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Felhasználók", "Delete" => "Törlés", "Enable User External Storage" => "Külső tárolók engedélyezése a felhasználók részére", -"Allow users to mount their own external storage" => "Lehetővé teszi, hogy a felhasználók külső tárolási szolgáltatásokat csatoljanak be a saját területükre", "SSL root certificates" => "SSL tanúsítványok", "Import Root Certificate" => "SSL tanúsítványok importálása" ); diff --git a/apps/files_external/l10n/id.php b/apps/files_external/l10n/id.php index 53ab79ae7e..9f91fdf992 100644 --- a/apps/files_external/l10n/id.php +++ b/apps/files_external/l10n/id.php @@ -20,7 +20,6 @@ $TRANSLATIONS = array( "Users" => "Pengguna", "Delete" => "Hapus", "Enable User External Storage" => "Aktifkan Penyimpanan Eksternal Pengguna", -"Allow users to mount their own external storage" => "Izinkan pengguna untuk mengaitkan penyimpanan eksternal mereka", "SSL root certificates" => "Sertifikat root SSL", "Import Root Certificate" => "Impor Sertifikat Root" ); diff --git a/apps/files_external/l10n/is.php b/apps/files_external/l10n/is.php index d2229d1fcd..e86cfa108a 100644 --- a/apps/files_external/l10n/is.php +++ b/apps/files_external/l10n/is.php @@ -18,7 +18,6 @@ $TRANSLATIONS = array( "Users" => "Notendur", "Delete" => "Eyða", "Enable User External Storage" => "Virkja ytra gagnasvæði notenda", -"Allow users to mount their own external storage" => "Leyfa notendum að bæta við sínum eigin ytri gagnasvæðum", "SSL root certificates" => "SSL rótar skilríki", "Import Root Certificate" => "Flytja inn rótar skilríki" ); diff --git a/apps/files_external/l10n/it.php b/apps/files_external/l10n/it.php index b53663beb5..d62d8e9732 100644 --- a/apps/files_external/l10n/it.php +++ b/apps/files_external/l10n/it.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Concedi l'accesso", "Please provide a valid Dropbox app key and secret." => "Fornisci chiave di applicazione e segreto di Dropbox validi.", "Error configuring Google Drive storage" => "Errore durante la configurazione dell'archivio Google Drive", +"Saved" => "Salvato", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Avviso: \"smbclient\" non è installato. Impossibile montare condivisioni CIFS/SMB. Chiedi all'amministratore di sistema di installarlo.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Avviso: il supporto FTP di PHP non è abilitato o non è installato. Impossibile montare condivisioni FTP. Chiedi all'amministratore di sistema di installarlo.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Avviso: il supporto Curl di PHP non è abilitato o non è installato. Impossibile montare condivisioni ownCloud / WebDAV o GoogleDrive. Chiedi all'amministratore di sistema di installarlo.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Utenti", "Delete" => "Elimina", "Enable User External Storage" => "Abilita la memoria esterna dell'utente", -"Allow users to mount their own external storage" => "Consenti agli utenti di montare la propria memoria esterna", +"Allow users to mount the following external storage" => "Consenti agli utenti di montare la seguente memoria esterna", "SSL root certificates" => "Certificati SSL radice", "Import Root Certificate" => "Importa certificato radice" ); diff --git a/apps/files_external/l10n/ja.php b/apps/files_external/l10n/ja.php new file mode 100644 index 0000000000..312dc85188 --- /dev/null +++ b/apps/files_external/l10n/ja.php @@ -0,0 +1,29 @@ + "アクセスは許可されました", +"Error configuring Dropbox storage" => "Dropboxストレージの設定エラー", +"Grant access" => "アクセスを許可", +"Please provide a valid Dropbox app key and secret." => "有効なDropboxアプリのキーとパスワードを入力してください。", +"Error configuring Google Drive storage" => "Googleドライブストレージの設定エラー", +"Saved" => "保存されました", +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "警告: \"smbclient\" がインストールされていません。CIFS/SMB共有のマウントはできません。システム管理者にインストールを依頼してください。", +"Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "警告: PHPのFTPサポートが無効またはインストールされていません。FTP共有のマウントはできません。システム管理者にインストールを依頼してください。", +"Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "警告: PHPのCurlサポートが無効またはインストールされていません。ownCloud / WebDAVまたはGoogleDriveのマウントはできません。システム管理者にインストールを依頼してください。", +"External Storage" => "外部ストレージ", +"Folder name" => "フォルダー名", +"External storage" => "外部ストレージ", +"Configuration" => "設定", +"Options" => "オプション", +"Applicable" => "適用範囲", +"Add storage" => "ストレージを追加", +"None set" => "未設定", +"All Users" => "すべてのユーザー", +"Groups" => "グループ", +"Users" => "ユーザー", +"Delete" => "削除", +"Enable User External Storage" => "ユーザーの外部ストレージを有効にする", +"Allow users to mount the following external storage" => "ユーザに以下の外部ストレージのマウントを許可する", +"SSL root certificates" => "SSLルート証明書", +"Import Root Certificate" => "ルート証明書をインポート" +); +$PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_external/l10n/ja_JP.php b/apps/files_external/l10n/ja_JP.php index fc528f035c..312dc85188 100644 --- a/apps/files_external/l10n/ja_JP.php +++ b/apps/files_external/l10n/ja_JP.php @@ -3,25 +3,26 @@ $TRANSLATIONS = array( "Access granted" => "アクセスは許可されました", "Error configuring Dropbox storage" => "Dropboxストレージの設定エラー", "Grant access" => "アクセスを許可", -"Please provide a valid Dropbox app key and secret." => "有効なDropboxアプリのキーとパスワードを入力して下さい。", +"Please provide a valid Dropbox app key and secret." => "有効なDropboxアプリのキーとパスワードを入力してください。", "Error configuring Google Drive storage" => "Googleドライブストレージの設定エラー", -"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "警告: \"smbclient\" はインストールされていません。CIFS/SMB 共有のマウントはできません。システム管理者にインストールをお願いして下さい。", -"Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "警告: PHPのFTPサポートは無効もしくはインストールされていません。FTP共有のマウントはできません。システム管理者にインストールをお願いして下さい。", -"Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "警告: PHP の Curl サポートは無効もしくはインストールされていません。ownCloud / WebDAV もしくは GoogleDrive のマウントはできません。システム管理者にインストールをお願いして下さい。", +"Saved" => "保存されました", +"Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "警告: \"smbclient\" がインストールされていません。CIFS/SMB共有のマウントはできません。システム管理者にインストールを依頼してください。", +"Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "警告: PHPのFTPサポートが無効またはインストールされていません。FTP共有のマウントはできません。システム管理者にインストールを依頼してください。", +"Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "警告: PHPのCurlサポートが無効またはインストールされていません。ownCloud / WebDAVまたはGoogleDriveのマウントはできません。システム管理者にインストールを依頼してください。", "External Storage" => "外部ストレージ", -"Folder name" => "フォルダ名", +"Folder name" => "フォルダー名", "External storage" => "外部ストレージ", "Configuration" => "設定", "Options" => "オプション", "Applicable" => "適用範囲", "Add storage" => "ストレージを追加", "None set" => "未設定", -"All Users" => "すべてのユーザ", +"All Users" => "すべてのユーザー", "Groups" => "グループ", -"Users" => "ユーザ", +"Users" => "ユーザー", "Delete" => "削除", -"Enable User External Storage" => "ユーザの外部ストレージを有効にする", -"Allow users to mount their own external storage" => "ユーザに外部ストレージのマウントを許可する", +"Enable User External Storage" => "ユーザーの外部ストレージを有効にする", +"Allow users to mount the following external storage" => "ユーザに以下の外部ストレージのマウントを許可する", "SSL root certificates" => "SSLルート証明書", "Import Root Certificate" => "ルート証明書をインポート" ); diff --git a/apps/files_external/l10n/ka_GE.php b/apps/files_external/l10n/ka_GE.php index 445d40e708..4953f91ce6 100644 --- a/apps/files_external/l10n/ka_GE.php +++ b/apps/files_external/l10n/ka_GE.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "მომხმარებელი", "Delete" => "წაშლა", "Enable User External Storage" => "მომხმარებლის ექსტერნალ საცავის აქტივირება", -"Allow users to mount their own external storage" => "მიეცით მომხმარებლებს თავისი ექსტერნალ საცავის მონტირების უფლება", "SSL root certificates" => "SSL root სერთიფიკატები", "Import Root Certificate" => "Root სერთიფიკატის იმპორტირება" ); diff --git a/apps/files_external/l10n/km.php b/apps/files_external/l10n/km.php index f7d9faa38c..4586f866a7 100644 --- a/apps/files_external/l10n/km.php +++ b/apps/files_external/l10n/km.php @@ -1,5 +1,8 @@ "ឈ្មោះ​ថត", +"Groups" => "ក្រុ", +"Users" => "អ្នកប្រើ", "Delete" => "លុប" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_external/l10n/ko.php b/apps/files_external/l10n/ko.php index 64d815a5bc..088a419e1c 100644 --- a/apps/files_external/l10n/ko.php +++ b/apps/files_external/l10n/ko.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "사용자", "Delete" => "삭제", "Enable User External Storage" => "사용자 외부 저장소 사용", -"Allow users to mount their own external storage" => "사용자별 외부 저장소 마운트 허용", "SSL root certificates" => "SSL 루트 인증서", "Import Root Certificate" => "루트 인증서 가져오기" ); diff --git a/apps/files_external/l10n/lt_LT.php b/apps/files_external/l10n/lt_LT.php index 57cdfe6722..c96119c8b6 100644 --- a/apps/files_external/l10n/lt_LT.php +++ b/apps/files_external/l10n/lt_LT.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Vartotojai", "Delete" => "Ištrinti", "Enable User External Storage" => "Įjungti vartotojų išorines saugyklas", -"Allow users to mount their own external storage" => "Leisti vartotojams pridėti savo išorines saugyklas", "SSL root certificates" => "SSL sertifikatas", "Import Root Certificate" => "Įkelti pagrindinį sertifikatą" ); diff --git a/apps/files_external/l10n/lv.php b/apps/files_external/l10n/lv.php index d0db01a22b..18e5617889 100644 --- a/apps/files_external/l10n/lv.php +++ b/apps/files_external/l10n/lv.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Lietotāji", "Delete" => "Dzēst", "Enable User External Storage" => "Aktivēt lietotāja ārējo krātuvi", -"Allow users to mount their own external storage" => "Ļaut lietotājiem montēt pašiem savu ārējo krātuvi", "SSL root certificates" => "SSL saknes sertifikāti", "Import Root Certificate" => "Importēt saknes sertifikātus" ); diff --git a/apps/files_external/l10n/mk.php b/apps/files_external/l10n/mk.php index e410b398ac..b59bb138f1 100644 --- a/apps/files_external/l10n/mk.php +++ b/apps/files_external/l10n/mk.php @@ -18,7 +18,6 @@ $TRANSLATIONS = array( "Users" => "Корисници", "Delete" => "Избриши", "Enable User External Storage" => "Овозможи надворешни за корисници", -"Allow users to mount their own external storage" => "Дозволи им на корисниците да монтираат свои надворешни дискови", "SSL root certificates" => "SSL root сертификати", "Import Root Certificate" => "Увези" ); diff --git a/apps/files_external/l10n/nb_NO.php b/apps/files_external/l10n/nb_NO.php index cb31ac8922..c103112dbe 100644 --- a/apps/files_external/l10n/nb_NO.php +++ b/apps/files_external/l10n/nb_NO.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Brukere", "Delete" => "Slett", "Enable User External Storage" => "Aktiver ekstern lagring for bruker", -"Allow users to mount their own external storage" => "Tillat brukere å koble til egne eksterne lagringsmedium", "SSL root certificates" => "SSL root-sertifikater", "Import Root Certificate" => "Importer root-sertifikat" ); diff --git a/apps/files_external/l10n/nl.php b/apps/files_external/l10n/nl.php index 35e63b09a3..4fa579775f 100644 --- a/apps/files_external/l10n/nl.php +++ b/apps/files_external/l10n/nl.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Sta toegang toe", "Please provide a valid Dropbox app key and secret." => "Geef een geldige Dropbox key en secret.", "Error configuring Google Drive storage" => "Fout tijdens het configureren van Google Drive opslag", +"Saved" => "Bewaard", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Waarschuwing: \"smbclient\" is niet geïnstalleerd. Mounten van CIFS/SMB shares is niet mogelijk. Vraag uw beheerder om smbclient te installeren.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Waarschuwing: FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van FTP shares is niet mogelijk. Vraag uw beheerder FTP ondersteuning te installeren.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Waarschuwing: Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van ownCloud / WebDAV of GoogleDrive is niet mogelijk. Vraag uw systeembeheerder dit te installeren.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Gebruikers", "Delete" => "Verwijder", "Enable User External Storage" => "Externe opslag voor gebruikers activeren", -"Allow users to mount their own external storage" => "Sta gebruikers toe om hun eigen externe opslag aan te koppelen", +"Allow users to mount the following external storage" => "Sta gebruikers toe de volgende externe opslag aan te koppelen", "SSL root certificates" => "SSL root certificaten", "Import Root Certificate" => "Importeer root certificaat" ); diff --git a/apps/files_external/l10n/pl.php b/apps/files_external/l10n/pl.php index f5501b9755..ece0620f75 100644 --- a/apps/files_external/l10n/pl.php +++ b/apps/files_external/l10n/pl.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Udziel dostępu", "Please provide a valid Dropbox app key and secret." => "Proszę podać prawidłowy klucz aplikacji Dropbox i klucz sekretny.", "Error configuring Google Drive storage" => "Wystąpił błąd podczas konfigurowania zasobu Google Drive", +"Saved" => "Zapisano", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Ostrzeżenie: \"smbclient\" nie jest zainstalowany. Zamontowanie katalogów CIFS/SMB nie jest możliwe. Skontaktuj sie z administratorem w celu zainstalowania.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Ostrzeżenie: Wsparcie dla FTP w PHP nie jest zainstalowane lub włączone. Skontaktuj sie z administratorem w celu zainstalowania lub włączenia go.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Ostrzeżenie: Wsparcie dla Curl w PHP nie jest zainstalowane lub włączone. Montowanie WebDAV lub GoogleDrive nie będzie możliwe. Skontaktuj się z administratorem w celu zainstalowania lub włączenia tej opcji.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Użytkownicy", "Delete" => "Usuń", "Enable User External Storage" => "Włącz zewnętrzne zasoby dyskowe użytkownika", -"Allow users to mount their own external storage" => "Zezwalaj użytkownikom na montowanie ich własnych zewnętrznych zasobów dyskowych", +"Allow users to mount the following external storage" => "Pozwól użytkownikom montować następujące zewnętrzne zasoby dyskowe", "SSL root certificates" => "Główny certyfikat SSL", "Import Root Certificate" => "Importuj główny certyfikat" ); diff --git a/apps/files_external/l10n/pt_BR.php b/apps/files_external/l10n/pt_BR.php index f69bbc1ebe..fbb945c543 100644 --- a/apps/files_external/l10n/pt_BR.php +++ b/apps/files_external/l10n/pt_BR.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Permitir acesso", "Please provide a valid Dropbox app key and secret." => "Por favor forneça um app key e secret válido do Dropbox", "Error configuring Google Drive storage" => "Erro ao configurar armazenamento do Google Drive", +"Saved" => "Salvo", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Aviso: \"smbclient\" não está instalado. Impossível montar compartilhamentos de CIFS/SMB. Por favor, peça ao seu administrador do sistema para instalá-lo.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Aviso: O suporte para FTP do PHP não está ativado ou instalado. Impossível montar compartilhamentos FTP. Por favor, peça ao seu administrador do sistema para instalá-lo.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => " Aviso: O suport a Curl em PHP não está habilitado ou instalado. A montagem do ownCloud / WebDAV ou GoogleDrive não é possível. Por favor, solicite ao seu administrador do sistema instalá-lo.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Usuários", "Delete" => "Excluir", "Enable User External Storage" => "Habilitar Armazenamento Externo do Usuário", -"Allow users to mount their own external storage" => "Permitir usuários a montar seus próprios armazenamentos externos", +"Allow users to mount the following external storage" => "Permitir que usuários montem o seguinte armazenamento externo", "SSL root certificates" => "Certificados SSL raíz", "Import Root Certificate" => "Importar Certificado Raíz" ); diff --git a/apps/files_external/l10n/pt_PT.php b/apps/files_external/l10n/pt_PT.php index 3f2afd33f0..eb4d8feb41 100644 --- a/apps/files_external/l10n/pt_PT.php +++ b/apps/files_external/l10n/pt_PT.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Conceder acesso", "Please provide a valid Dropbox app key and secret." => "Por favor forneça uma \"app key\" e \"secret\" do Dropbox válidas.", "Error configuring Google Drive storage" => "Erro ao configurar o armazenamento do Google Drive", +"Saved" => "Guardado", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Atenção: O cliente \"smbclient\" não está instalado. Não é possível montar as partilhas CIFS/SMB . Peça ao seu administrador para instalar.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Aviso: O suporte FTP no PHP não está activate ou instalado. Não é possível montar as partilhas FTP. Peça ao seu administrador para instalar.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Atenção:
O suporte PHP para o Curl não está activado ou instalado. A montagem do ownCloud/WebDav ou GoolgeDriver não é possível. Por favor contacte o administrador para o instalar.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Utilizadores", "Delete" => "Eliminar", "Enable User External Storage" => "Activar Armazenamento Externo para o Utilizador", -"Allow users to mount their own external storage" => "Permitir que os utilizadores montem o seu próprio armazenamento externo", +"Allow users to mount the following external storage" => "Permitir que os utilizadores montem o seguinte armazenamento externo", "SSL root certificates" => "Certificados SSL de raiz", "Import Root Certificate" => "Importar Certificado Root" ); diff --git a/apps/files_external/l10n/ro.php b/apps/files_external/l10n/ro.php index 7115d09ea9..a90b0299e1 100644 --- a/apps/files_external/l10n/ro.php +++ b/apps/files_external/l10n/ro.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Permite accesul", "Please provide a valid Dropbox app key and secret." => "Prezintă te rog o cheie de Dropbox validă și parola", "Error configuring Google Drive storage" => "Eroare la configurarea mediului de stocare Google Drive", +"Saved" => "Salvat", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Atenție: \"smbclient\" nu este instalat. Montarea mediilor CIFS/SMB partajate nu este posibilă. Solicită administratorului sistemului tău să îl instaleaze.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Atenție: suportul pentru FTP în PHP nu este activat sau instalat. Montarea mediilor FPT partajate nu este posibilă. Solicită administratorului sistemului tău să îl instaleze.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Atentie: Suportul Curl nu este pornit / instalat in configuratia PHP! Montarea ownCloud / WebDAV / GoogleDrive nu este posibila! Intrebati administratorul sistemului despre aceasta problema!", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Utilizatori", "Delete" => "Șterge", "Enable User External Storage" => "Permite stocare externă pentru utilizatori", -"Allow users to mount their own external storage" => "Permite utilizatorilor să monteze stocare externă proprie", +"Allow users to mount the following external storage" => "Permite utilizatorilor să monteze următoarea unitate de stocare", "SSL root certificates" => "Certificate SSL root", "Import Root Certificate" => "Importă certificat root" ); diff --git a/apps/files_external/l10n/ru.php b/apps/files_external/l10n/ru.php index 50c25acba0..8ed437839c 100644 --- a/apps/files_external/l10n/ru.php +++ b/apps/files_external/l10n/ru.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Предоставление доступа", "Please provide a valid Dropbox app key and secret." => "Пожалуйста, предоставьте действующий ключ Dropbox и пароль.", "Error configuring Google Drive storage" => "Ошибка при настройке хранилища Google Drive", +"Saved" => "Сохранено", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Внимание: \"smbclient\" не установлен. Подключение по CIFS/SMB невозможно. Пожалуйста, обратитесь к системному администратору, чтобы установить его.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Внимание: Поддержка FTP не включена в PHP. Подключение по FTP невозможно. Пожалуйста, обратитесь к системному администратору, чтобы включить.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Внимание: Поддержка Curl в PHP не включена или не установлена. Подключение ownCloud / WebDAV или GoogleDrive невозможно. Попросите вашего системного администратора установить его.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Пользователи", "Delete" => "Удалить", "Enable User External Storage" => "Включить пользовательские внешние носители", -"Allow users to mount their own external storage" => "Разрешить пользователям монтировать их собственные внешние носители", +"Allow users to mount the following external storage" => "Разрешить пользователям монтировать следующую внешнюю систему хранения данных", "SSL root certificates" => "Корневые сертификаты SSL", "Import Root Certificate" => "Импортировать корневые сертификаты" ); diff --git a/apps/files_external/l10n/si_LK.php b/apps/files_external/l10n/si_LK.php index cad928acce..ac41f59634 100644 --- a/apps/files_external/l10n/si_LK.php +++ b/apps/files_external/l10n/si_LK.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Users" => "පරිශීලකයන්", "Delete" => "මකා දමන්න", "Enable User External Storage" => "පරිශීලක භාහිර ගබඩාවන් සක්‍රිය කරන්න", -"Allow users to mount their own external storage" => "පරිශීලකයන්ට තමාගේම භාහිර ගබඩාවන් මවුන්ට් කිරීමේ අයිතිය දෙන්න", "SSL root certificates" => "SSL මූල සහතිකයන්", "Import Root Certificate" => "මූල සහතිකය ආයාත කරන්න" ); diff --git a/apps/files_external/l10n/sk_SK.php b/apps/files_external/l10n/sk_SK.php index 664d97c43b..aa28898257 100644 --- a/apps/files_external/l10n/sk_SK.php +++ b/apps/files_external/l10n/sk_SK.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Používatelia", "Delete" => "Zmazať", "Enable User External Storage" => "Povoliť externé úložisko", -"Allow users to mount their own external storage" => "Povoliť používateľom pripojiť si vlastné externé úložisko", "SSL root certificates" => "Koreňové SSL certifikáty", "Import Root Certificate" => "Importovať koreňový certifikát" ); diff --git a/apps/files_external/l10n/sl.php b/apps/files_external/l10n/sl.php index b0fcbf9eb6..05e626fcf8 100644 --- a/apps/files_external/l10n/sl.php +++ b/apps/files_external/l10n/sl.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Odobri dostop", "Please provide a valid Dropbox app key and secret." => "Vpisati je treba veljaven ključ programa in kodo za Dropbox", "Error configuring Google Drive storage" => "Napaka nastavljanja shrambe Google Drive", +"Saved" => "Shranjeno", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Opozorilo: paket \"smbclient\" ni nameščen. Priklapljanje pogonov CIFS/SMB ne bo mogoče.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Opozorilo: podpora FTP v PHP ni omogočena ali pa ni nameščena. Priklapljanje pogonov FTP zato ne bo mogoče.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Opozorilo: podpora za Curl v PHP ni omogočena ali pa ni nameščena. Priklapljanje točke ownCloud / WebDAV ali GoogleDrive zato ne bo mogoče. Zahtevane pakete je treba pred uporabo namestiti.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Uporabniki", "Delete" => "Izbriši", "Enable User External Storage" => "Omogoči zunanjo uporabniško podatkovno shrambo", -"Allow users to mount their own external storage" => "Dovoli uporabnikom priklop lastne zunanje podatkovne shrambe", +"Allow users to mount the following external storage" => "Dovoli uporabnikom priklapljanje navedenih zunanjih shramb.", "SSL root certificates" => "Korenska potrdila SSL", "Import Root Certificate" => "Uvozi korensko potrdilo" ); diff --git a/apps/files_external/l10n/sv.php b/apps/files_external/l10n/sv.php index 2c0b0ab69e..183df674b9 100644 --- a/apps/files_external/l10n/sv.php +++ b/apps/files_external/l10n/sv.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Användare", "Delete" => "Radera", "Enable User External Storage" => "Aktivera extern lagring för användare", -"Allow users to mount their own external storage" => "Tillåt användare att montera egen extern lagring", "SSL root certificates" => "SSL rotcertifikat", "Import Root Certificate" => "Importera rotcertifikat" ); diff --git a/apps/files_external/l10n/ta_LK.php b/apps/files_external/l10n/ta_LK.php index bb663a4fcb..94ddaf9c5e 100644 --- a/apps/files_external/l10n/ta_LK.php +++ b/apps/files_external/l10n/ta_LK.php @@ -16,7 +16,6 @@ $TRANSLATIONS = array( "Users" => "பயனாளர்", "Delete" => "நீக்குக", "Enable User External Storage" => "பயனாளர் வெளி சேமிப்பை இயலுமைப்படுத்துக", -"Allow users to mount their own external storage" => "பயனாளர் அவர்களுடைய சொந்த வெளியக சேமிப்பை ஏற்ற அனுமதிக்க", "SSL root certificates" => "SSL வேர் சான்றிதழ்கள்", "Import Root Certificate" => "வேர் சான்றிதழை இறக்குமதி செய்க" ); diff --git a/apps/files_external/l10n/th_TH.php b/apps/files_external/l10n/th_TH.php index f2ea35f10f..a1a56a4d2e 100644 --- a/apps/files_external/l10n/th_TH.php +++ b/apps/files_external/l10n/th_TH.php @@ -18,7 +18,6 @@ $TRANSLATIONS = array( "Users" => "ผู้ใช้งาน", "Delete" => "ลบ", "Enable User External Storage" => "เปิดให้มีการใช้พื้นที่จัดเก็บข้อมูลของผู้ใช้งานจากภายนอกได้", -"Allow users to mount their own external storage" => "อนุญาตให้ผู้ใช้งานสามารถชี้ตำแหน่งไปที่พื้นที่จัดเก็บข้อมูลภายนอกของตนเองได้", "SSL root certificates" => "ใบรับรองความปลอดภัยด้วยระบบ SSL จาก Root", "Import Root Certificate" => "นำเข้าข้อมูลใบรับรองความปลอดภัยจาก Root" ); diff --git a/apps/files_external/l10n/tr.php b/apps/files_external/l10n/tr.php index 5d5e2b726a..a835d6f174 100644 --- a/apps/files_external/l10n/tr.php +++ b/apps/files_external/l10n/tr.php @@ -5,6 +5,7 @@ $TRANSLATIONS = array( "Grant access" => "Erişim sağlandı", "Please provide a valid Dropbox app key and secret." => "Lütfen Dropbox app key ve secret temin ediniz", "Error configuring Google Drive storage" => "Google Drive depo yapılandırma hatası", +"Saved" => "Kaydedildi", "Warning: \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "Uyarı: \"smbclient\" kurulu değil. CIFS/SMB paylaşımlarını bağlama işlemi mümkün olmadı. Lütfen kurulumu için sistem yöneticinize danışın.", "Warning: The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "Uyarı: PHP içerisinde FTP desteği etkin veya yüklü değil. FTP paylaşımlarını bağlama işlemi mümkün olmadı. Lütfen kurulumu için sistem yöneticinize danışın.", "Warning: The Curl support in PHP is not enabled or installed. Mounting of ownCloud / WebDAV or GoogleDrive is not possible. Please ask your system administrator to install it." => "Uyarı: PHP içerisinde Curl desteği etkin veya yüklü değil. OwnCloud / WebDAV veya GoogleDrive bağlama işlemi mümkün olmadı. Lütfen kurulumu için sistem yöneticinizde danışın.", @@ -21,7 +22,7 @@ $TRANSLATIONS = array( "Users" => "Kullanıcılar", "Delete" => "Sil", "Enable User External Storage" => "Kullanıcılar için Harici Depolamayı Etkinleştir", -"Allow users to mount their own external storage" => "Kullanıcıların kendi harici depolamalarını bağlamalarına izin ver", +"Allow users to mount the following external storage" => "Kullanıcıların aşağıdaki harici depolamayı bağlamalarına izin ver", "SSL root certificates" => "SSL kök sertifikaları", "Import Root Certificate" => "Kök Sertifikalarını İçe Aktar" ); diff --git a/apps/files_external/l10n/uk.php b/apps/files_external/l10n/uk.php index e535b455d1..a7c028aa93 100644 --- a/apps/files_external/l10n/uk.php +++ b/apps/files_external/l10n/uk.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Користувачі", "Delete" => "Видалити", "Enable User External Storage" => "Активувати користувацькі зовнішні сховища", -"Allow users to mount their own external storage" => "Дозволити користувачам монтувати власні зовнішні сховища", "SSL root certificates" => "SSL корневі сертифікати", "Import Root Certificate" => "Імпортувати корневі сертифікати" ); diff --git a/apps/files_external/l10n/vi.php b/apps/files_external/l10n/vi.php index da8ac419cd..5fd00dc2bf 100644 --- a/apps/files_external/l10n/vi.php +++ b/apps/files_external/l10n/vi.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "Người dùng", "Delete" => "Xóa", "Enable User External Storage" => "Kích hoạt tính năng lưu trữ ngoài", -"Allow users to mount their own external storage" => "Cho phép người dùng kết nối với lưu trữ riêng bên ngoài của họ", "SSL root certificates" => "Chứng chỉ SSL root", "Import Root Certificate" => "Nhập Root Certificate" ); diff --git a/apps/files_external/l10n/zh_CN.php b/apps/files_external/l10n/zh_CN.php index 5e2c2e4fe0..bb85d0e4f4 100644 --- a/apps/files_external/l10n/zh_CN.php +++ b/apps/files_external/l10n/zh_CN.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "用户", "Delete" => "删除", "Enable User External Storage" => "启用用户外部存储", -"Allow users to mount their own external storage" => "允许用户挂载自有外部存储", "SSL root certificates" => "SSL根证书", "Import Root Certificate" => "导入根证书" ); diff --git a/apps/files_external/l10n/zh_TW.php b/apps/files_external/l10n/zh_TW.php index d85d18a1c3..7c256cd2ab 100644 --- a/apps/files_external/l10n/zh_TW.php +++ b/apps/files_external/l10n/zh_TW.php @@ -21,7 +21,6 @@ $TRANSLATIONS = array( "Users" => "使用者", "Delete" => "刪除", "Enable User External Storage" => "啓用使用者外部儲存", -"Allow users to mount their own external storage" => "允許使用者自行掛載他們的外部儲存", "SSL root certificates" => "SSL 根憑證", "Import Root Certificate" => "匯入根憑證" ); diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php index 43275d36c0..472c3963d5 100755 --- a/apps/files_external/lib/config.php +++ b/apps/files_external/lib/config.php @@ -4,6 +4,8 @@ * * @author Michael Gapczynski * @copyright 2012 Michael Gapczynski mtgap@owncloud.com +* @copyright 2014 Vincent Petry +* @copyright 2014 Robin McCorkell * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE @@ -19,15 +21,24 @@ * License along with this library. If not, see . */ +set_include_path( + get_include_path() . PATH_SEPARATOR . + \OC_App::getAppPath('files_external') . '/3rdparty/phpseclib/phpseclib' +); + /** -* Class to configure the config/mount.php and data/$user/mount.php files -*/ + * Class to configure mount.json globally and for users + */ class OC_Mount_Config { + // TODO: make this class non-static and give it a proper namespace const MOUNT_TYPE_GLOBAL = 'global'; const MOUNT_TYPE_GROUP = 'group'; const MOUNT_TYPE_USER = 'user'; + // whether to skip backend test (for unit tests, as this static class is not mockable) + public static $skipTest = false; + /** * Get details on each of the external storage backends, used for the mount config UI * If a custom UI is needed, add the key 'custom' and a javascript file with that name will be loaded @@ -39,13 +50,14 @@ class OC_Mount_Config { */ public static function getBackends() { + // FIXME: do not rely on php key order for the options order in the UI $backends['\OC\Files\Storage\Local']=array( 'backend' => 'Local', 'configuration' => array( 'datadir' => 'Location')); $backends['\OC\Files\Storage\AmazonS3']=array( - 'backend' => 'Amazon S3', + 'backend' => 'Amazon S3 and compliant', 'configuration' => array( 'key' => 'Access Key', 'secret' => '*Secret Key', @@ -111,11 +123,18 @@ class OC_Mount_Config { 'password' => '*Password', 'share' => 'Share', 'root' => '&Root')); + $backends['\OC\Files\Storage\SMB_OC'] = array( + 'backend' => 'SMB / CIFS using OC login', + 'configuration' => array( + 'host' => 'URL', + 'username_as_share' => '!Username as share', + 'share' => '&Share', + 'root' => '&Root')); } } if(OC_Mount_Config::checkcurl()){ - $backends['\OC\Files\Storage\DAV']=array( + $backends['\OC\Files\Storage\DAV']=array( 'backend' => 'WebDAV', 'configuration' => array( 'host' => 'URL', @@ -123,7 +142,7 @@ class OC_Mount_Config { 'password' => '*Password', 'root' => '&Root', 'secure' => '!Secure https://')); - $backends['\OC\Files\Storage\OwnCloud']=array( + $backends['\OC\Files\Storage\OwnCloud']=array( 'backend' => 'ownCloud', 'configuration' => array( 'host' => 'URL', @@ -155,6 +174,125 @@ class OC_Mount_Config { return($backends); } + /** + * Hook that mounts the given user's visible mount points + * @param array $data + */ + public static function initMountPointsHook($data) { + $mountPoints = self::getAbsoluteMountPoints($data['user']); + foreach ($mountPoints as $mountPoint => $options) { + \OC\Files\Filesystem::mount($options['class'], $options['options'], $mountPoint); + } + } + + /** + * Returns the mount points for the given user. + * The mount point is relative to the data directory. + * + * @param string $user user + * @return array of mount point string as key, mountpoint config as value + */ + public static function getAbsoluteMountPoints($user) { + $mountPoints = array(); + + $datadir = \OC_Config::getValue("datadirectory", \OC::$SERVERROOT . "/data"); + $mount_file = \OC_Config::getValue("mount_file", $datadir . "/mount.json"); + + //move config file to it's new position + if (is_file(\OC::$SERVERROOT . '/config/mount.json')) { + rename(\OC::$SERVERROOT . '/config/mount.json', $mount_file); + } + + // Load system mount points + $mountConfig = self::readData(false); + if (isset($mountConfig[self::MOUNT_TYPE_GLOBAL])) { + foreach ($mountConfig[self::MOUNT_TYPE_GLOBAL] as $mountPoint => $options) { + $options['options'] = self::decryptPasswords($options['options']); + $mountPoints[$mountPoint] = $options; + } + } + if (isset($mountConfig[self::MOUNT_TYPE_GROUP])) { + foreach ($mountConfig[self::MOUNT_TYPE_GROUP] as $group => $mounts) { + if (\OC_Group::inGroup($user, $group)) { + foreach ($mounts as $mountPoint => $options) { + $mountPoint = self::setUserVars($user, $mountPoint); + foreach ($options as &$option) { + $option = self::setUserVars($user, $option); + } + $options['options'] = self::decryptPasswords($options['options']); + $mountPoints[$mountPoint] = $options; + } + } + } + } + if (isset($mountConfig[self::MOUNT_TYPE_USER])) { + foreach ($mountConfig[self::MOUNT_TYPE_USER] as $mountUser => $mounts) { + if ($mountUser === 'all' or strtolower($mountUser) === strtolower($user)) { + foreach ($mounts as $mountPoint => $options) { + $mountPoint = self::setUserVars($user, $mountPoint); + foreach ($options as &$option) { + $option = self::setUserVars($user, $option); + } + $options['options'] = self::decryptPasswords($options['options']); + $mountPoints[$mountPoint] = $options; + } + } + } + } + + // Load personal mount points + $mountConfig = self::readData(true); + if (isset($mountConfig[self::MOUNT_TYPE_USER][$user])) { + foreach ($mountConfig[self::MOUNT_TYPE_USER][$user] as $mountPoint => $options) { + $options['options'] = self::decryptPasswords($options['options']); + $mountPoints[$mountPoint] = $options; + } + } + + return $mountPoints; + } + + /** + * fill in the correct values for $user + * + * @param string $user + * @param string $input + * @return string + */ + private static function setUserVars($user, $input) { + return str_replace('$user', $user, $input); + } + + + /** + * Get details on each of the external storage backends, used for the mount config UI + * Some backends are not available as a personal backend, f.e. Local and such that have + * been disabled by the admin. + * + * If a custom UI is needed, add the key 'custom' and a javascript file with that name will be loaded + * If the configuration parameter should be secret, add a '*' to the beginning of the value + * If the configuration parameter is a boolean, add a '!' to the beginning of the value + * If the configuration parameter is optional, add a '&' to the beginning of the value + * If the configuration parameter is hidden, add a '#' to the beginning of the value + * @return array + */ + public static function getPersonalBackends() { + + $backends = self::getBackends(); + + // Remove local storage and other disabled storages + unset($backends['\OC\Files\Storage\Local']); + + $allowed_backends = explode(',', OCP\Config::getAppValue('files_external', 'user_mounting_backends', '')); + foreach ($backends as $backend => $null) { + if (!in_array($backend, $allowed_backends)) { + unset($backends[$backend]); + } + } + + return $backends; + } + /** * Get the system mount points * The returned array is not in the same format as getUserMountPoints() @@ -171,20 +309,26 @@ class OC_Mount_Config { if (strpos($mount['class'], 'OC_Filestorage_') !== false) { $mount['class'] = '\OC\Files\Storage\\'.substr($mount['class'], 15); } + $mount['options'] = self::decryptPasswords($mount['options']); // Remove '/$user/files/' from mount point $mountPoint = substr($mountPoint, 13); - // Merge the mount point into the current mount points - if (isset($system[$mountPoint]) && $system[$mountPoint]['configuration'] == $mount['options']) { - $system[$mountPoint]['applicable']['groups'] - = array_merge($system[$mountPoint]['applicable']['groups'], array($group)); + + $config = array( + 'class' => $mount['class'], + 'mountpoint' => $mountPoint, + 'backend' => $backends[$mount['class']]['backend'], + 'options' => $mount['options'], + 'applicable' => array('groups' => array($group), 'users' => array()), + 'status' => self::getBackendStatus($mount['class'], $mount['options'], false) + ); + $hash = self::makeConfigHash($config); + // If an existing config exists (with same class, mountpoint and options) + if (isset($system[$hash])) { + // add the groups into that config + $system[$hash]['applicable']['groups'] + = array_merge($system[$hash]['applicable']['groups'], array($group)); } else { - $system[$mountPoint] = array( - 'class' => $mount['class'], - 'backend' => $backends[$mount['class']]['backend'], - 'configuration' => $mount['options'], - 'applicable' => array('groups' => array($group), 'users' => array()), - 'status' => self::getBackendStatus($mount['class'], $mount['options']) - ); + $system[$hash] = $config; } } } @@ -196,25 +340,30 @@ class OC_Mount_Config { if (strpos($mount['class'], 'OC_Filestorage_') !== false) { $mount['class'] = '\OC\Files\Storage\\'.substr($mount['class'], 15); } + $mount['options'] = self::decryptPasswords($mount['options']); // Remove '/$user/files/' from mount point $mountPoint = substr($mountPoint, 13); - // Merge the mount point into the current mount points - if (isset($system[$mountPoint]) && $system[$mountPoint]['configuration'] == $mount['options']) { - $system[$mountPoint]['applicable']['users'] - = array_merge($system[$mountPoint]['applicable']['users'], array($user)); + $config = array( + 'class' => $mount['class'], + 'mountpoint' => $mountPoint, + 'backend' => $backends[$mount['class']]['backend'], + 'options' => $mount['options'], + 'applicable' => array('groups' => array(), 'users' => array($user)), + 'status' => self::getBackendStatus($mount['class'], $mount['options'], false) + ); + $hash = self::makeConfigHash($config); + // If an existing config exists (with same class, mountpoint and options) + if (isset($system[$hash])) { + // add the users into that config + $system[$hash]['applicable']['users'] + = array_merge($system[$hash]['applicable']['users'], array($user)); } else { - $system[$mountPoint] = array( - 'class' => $mount['class'], - 'backend' => $backends[$mount['class']]['backend'], - 'configuration' => $mount['options'], - 'applicable' => array('groups' => array(), 'users' => array($user)), - 'status' => self::getBackendStatus($mount['class'], $mount['options']) - ); + $system[$hash] = $config; } } } } - return $system; + return array_values($system); } /** @@ -233,26 +382,37 @@ class OC_Mount_Config { if (strpos($mount['class'], 'OC_Filestorage_') !== false) { $mount['class'] = '\OC\Files\Storage\\'.substr($mount['class'], 15); } - // Remove '/uid/files/' from mount point - $personal[substr($mountPoint, strlen($uid) + 8)] = array( + $mount['options'] = self::decryptPasswords($mount['options']); + $personal[] = array( 'class' => $mount['class'], + // Remove '/uid/files/' from mount point + 'mountpoint' => substr($mountPoint, strlen($uid) + 8), 'backend' => $backends[$mount['class']]['backend'], - 'configuration' => $mount['options'], - 'status' => self::getBackendStatus($mount['class'], $mount['options']) + 'options' => $mount['options'], + 'status' => self::getBackendStatus($mount['class'], $mount['options'], true) ); } } return $personal; } - private static function getBackendStatus($class, $options) { + /** + * Test connecting using the given backend configuration + * @param string $class backend class name + * @param array $options backend configuration options + * @return bool true if the connection succeeded, false otherwise + */ + private static function getBackendStatus($class, $options, $isPersonal) { + if (self::$skipTest) { + return true; + } foreach ($options as &$option) { - $option = str_replace('$user', OCP\User::getUser(), $option); + $option = self::setUserVars(OCP\User::getUser(), $option); } if (class_exists($class)) { try { $storage = new $class($options); - return $storage->test(); + return $storage->test($isPersonal); } catch (Exception $exception) { \OCP\Util::logException('files_external', $exception); return false; @@ -287,18 +447,25 @@ class OC_Mount_Config { if (!isset($backends[$class])) { // invalid backend return false; - } + } if ($isPersonal) { // Verify that the mount point applies for the current user - // Prevent non-admin users from mounting local storage - if ($applicable !== OCP\User::getUser() || strtolower($class) === '\oc\files\storage\local') { + // Prevent non-admin users from mounting local storage and other disabled backends + $allowed_backends = self::getPersonalBackends(); + if ($applicable != OCP\User::getUser() || !isset($allowed_backends[$class])) { return false; } $mountPoint = '/'.$applicable.'/files/'.ltrim($mountPoint, '/'); } else { $mountPoint = '/$user/files/'.ltrim($mountPoint, '/'); } - $mount = array($applicable => array($mountPoint => array('class' => $class, 'options' => $classOptions))); + + $mount = array($applicable => array( + $mountPoint => array( + 'class' => $class, + 'options' => self::encryptPasswords($classOptions)) + ) + ); $mountPoints = self::readData($isPersonal); // Merge the new mount point into the current mount points if (isset($mountPoints[$mountType])) { @@ -312,7 +479,7 @@ class OC_Mount_Config { $mountPoints[$mountType] = $mount; } self::writeData($isPersonal, $mountPoints); - return self::getBackendStatus($class, $classOptions); + return self::getBackendStatus($class, $classOptions, $isPersonal); } /** @@ -389,7 +556,12 @@ class OC_Mount_Config { $datadir = \OC_Config::getValue('datadirectory', \OC::$SERVERROOT . '/data/'); $file = \OC_Config::getValue('mount_file', $datadir . '/mount.json'); } - $content = json_encode($data); + $options = 0; + if (defined('JSON_PRETTY_PRINT')) { + // only for PHP >= 5.4 + $options = JSON_PRETTY_PRINT; + } + $content = json_encode($data, $options); @file_put_contents($file, $content); @chmod($file, 0640); } @@ -446,7 +618,7 @@ class OC_Mount_Config { */ public static function checksmbclient() { if(function_exists('shell_exec')) { - $output=shell_exec('which smbclient 2> /dev/null'); + $output=shell_exec('command -v smbclient 2> /dev/null'); return !empty($output); }else{ return false; @@ -491,4 +663,87 @@ class OC_Mount_Config { return $txt; } + + /** + * Encrypt passwords in the given config options + * @param array $options mount options + * @return array updated options + */ + private static function encryptPasswords($options) { + if (isset($options['password'])) { + $options['password_encrypted'] = self::encryptPassword($options['password']); + // do not unset the password, we want to keep the keys order + // on load... because that's how the UI currently works + $options['password'] = ''; + } + return $options; + } + + /** + * Decrypt passwords in the given config options + * @param array $options mount options + * @return array updated options + */ + private static function decryptPasswords($options) { + // note: legacy options might still have the unencrypted password in the "password" field + if (isset($options['password_encrypted'])) { + $options['password'] = self::decryptPassword($options['password_encrypted']); + unset($options['password_encrypted']); + } + return $options; + } + + /** + * Encrypt a single password + * @param string $password plain text password + * @return encrypted password + */ + private static function encryptPassword($password) { + $cipher = self::getCipher(); + $iv = \OCP\Util::generateRandomBytes(16); + $cipher->setIV($iv); + return base64_encode($iv . $cipher->encrypt($password)); + } + + /** + * Decrypts a single password + * @param string $encryptedPassword encrypted password + * @return plain text password + */ + private static function decryptPassword($encryptedPassword) { + $cipher = self::getCipher(); + $binaryPassword = base64_decode($encryptedPassword); + $iv = substr($binaryPassword, 0, 16); + $cipher->setIV($iv); + $binaryPassword = substr($binaryPassword, 16); + return $cipher->decrypt($binaryPassword); + } + + /** + * Returns the encryption cipher + */ + private static function getCipher() { + if (!class_exists('Crypt_AES', false)) { + include('Crypt/AES.php'); + } + $cipher = new Crypt_AES(CRYPT_AES_MODE_CBC); + $cipher->setKey(\OCP\Config::getSystemValue('passwordsalt')); + return $cipher; + } + + /** + * Computes a hash based on the given configuration. + * This is mostly used to find out whether configurations + * are the same. + */ + private static function makeConfigHash($config) { + $data = json_encode( + array( + 'c' => $config['class'], + 'm' => $config['mountpoint'], + 'o' => $config['options'] + ) + ); + return hash('md5', $data); + } } diff --git a/apps/files_external/lib/smb.php b/apps/files_external/lib/smb.php index c5fba92ee6..f3f3b3ed7f 100644 --- a/apps/files_external/lib/smb.php +++ b/apps/files_external/lib/smb.php @@ -37,7 +37,7 @@ class SMB extends \OC\Files\Storage\StreamWrapper{ $this->share = substr($this->share, 0, -1); } } else { - throw new \Exception(); + throw new \Exception('Invalid configuration'); } } diff --git a/apps/files_external/lib/smb_oc.php b/apps/files_external/lib/smb_oc.php new file mode 100644 index 0000000000..0c79c06c5d --- /dev/null +++ b/apps/files_external/lib/smb_oc.php @@ -0,0 +1,93 @@ + + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC\Files\Storage; + +require_once __DIR__ . '/../3rdparty/smb4php/smb.php'; + +class SMB_OC extends \OC\Files\Storage\SMB { + private $username_as_share; + + public function __construct($params) { + if (isset($params['host']) && \OC::$session->exists('smb-credentials')) { + $host=$params['host']; + $this->username_as_share = ($params['username_as_share'] === 'true'); + + $params_auth = \OC::$session->get('smb-credentials'); + $user = \OC::$session->get('loginname'); + $password = $params_auth['password']; + + $root=isset($params['root'])?$params['root']:'/'; + $share = ''; + + if ($this->username_as_share) { + $share = '/'.$user; + } elseif (isset($params['share'])) { + $share = $params['share']; + } else { + throw new \Exception(); + } + parent::__construct(array( + "user" => $user, + "password" => $password, + "host" => $host, + "share" => $share, + "root" => $root + )); + } else { + throw new \Exception(); + } + } + + public static function login( $params ) { + \OC::$session->set('smb-credentials', $params); + } + + public function isSharable($path) { + return false; + } + + public function test($isPersonal = true) { + if ($isPersonal) { + if ($this->stat('')) { + return true; + } + return false; + } else { + $smb = new \smb(); + $pu = $smb->parse_url($this->constructUrl('')); + + // Attempt to connect anonymously + $pu['user'] = ''; + $pu['pass'] = ''; + + // Share cannot be checked if dynamic + if ($this->username_as_share) { + if ($smb->look($pu)) { + return true; + } else { + return false; + } + } + if (!$pu['share']) { + return false; + } + + // The following error messages are expected due to anonymous login + $regexp = array( + '(NT_STATUS_ACCESS_DENIED)' => 'skip' + ) + $smb->getRegexp(); + + if ($smb->client("-d 0 " . escapeshellarg('//' . $pu['host'] . '/' . $pu['share']) . " -c exit", $pu, $regexp)) { + return true; + } else { + return false; + } + } + } +} diff --git a/apps/files_external/lib/swift.php b/apps/files_external/lib/swift.php index 7a56fcfc8b..1337d9f581 100644 --- a/apps/files_external/lib/swift.php +++ b/apps/files_external/lib/swift.php @@ -251,6 +251,10 @@ class Swift extends \OC\Files\Storage\Common { $mtime = $object->extra_headers['X-Object-Meta-Timestamp']; } + if (!empty($mtime)) { + $mtime = floor($mtime); + } + $stat = array(); $stat['size'] = $object->content_length; $stat['mtime'] = $mtime; @@ -370,7 +374,7 @@ class Swift extends \OC\Files\Storage\Common { 'X-Object-Meta-Timestamp' => $mtime ) ); - return $object->Update($settings); + return $object->UpdateMetadata($settings); } else { $object = $this->container->DataObject(); if (is_null($mtime)) { diff --git a/apps/files_external/lib/webdav.php b/apps/files_external/lib/webdav.php index 9afe73aebd..279ae71693 100644 --- a/apps/files_external/lib/webdav.php +++ b/apps/files_external/lib/webdav.php @@ -8,7 +8,7 @@ namespace OC\Files\Storage; -class DAV extends \OC\Files\Storage\Common{ +class DAV extends \OC\Files\Storage\Common { private $password; private $user; private $host; @@ -21,7 +21,7 @@ class DAV extends \OC\Files\Storage\Common{ */ private $client; - private static $tempFiles=array(); + private static $tempFiles = array(); public function __construct($params) { if (isset($params['host']) && isset($params['user']) && isset($params['password'])) { @@ -29,9 +29,9 @@ class DAV extends \OC\Files\Storage\Common{ //remove leading http[s], will be generated in createBaseUri() if (substr($host, 0, 8) == "https://") $host = substr($host, 8); else if (substr($host, 0, 7) == "http://") $host = substr($host, 7); - $this->host=$host; - $this->user=$params['user']; - $this->password=$params['password']; + $this->host = $host; + $this->user = $params['user']; + $this->password = $params['password']; if (isset($params['secure'])) { if (is_string($params['secure'])) { $this->secure = ($params['secure'] === 'true'); @@ -42,25 +42,25 @@ class DAV extends \OC\Files\Storage\Common{ $this->secure = false; } if ($this->secure === true) { - $certPath=\OC_User::getHome(\OC_User::getUser()) . '/files_external/rootcerts.crt'; + $certPath = \OC_User::getHome(\OC_User::getUser()) . '/files_external/rootcerts.crt'; if (file_exists($certPath)) { - $this->certPath=$certPath; + $this->certPath = $certPath; } } - $this->root=isset($params['root'])?$params['root']:'/'; - if ( ! $this->root || $this->root[0]!='/') { - $this->root='/'.$this->root; + $this->root = isset($params['root']) ? $params['root'] : '/'; + if (!$this->root || $this->root[0] != '/') { + $this->root = '/' . $this->root; } - if (substr($this->root, -1, 1)!='/') { - $this->root.='/'; + if (substr($this->root, -1, 1) != '/') { + $this->root .= '/'; } } else { throw new \Exception(); } } - private function init(){ - if($this->ready) { + private function init() { + if ($this->ready) { return; } $this->ready = true; @@ -78,28 +78,28 @@ class DAV extends \OC\Files\Storage\Common{ } } - public function getId(){ + public function getId() { return 'webdav::' . $this->user . '@' . $this->host . '/' . $this->root; } protected function createBaseUri() { - $baseUri='http'; + $baseUri = 'http'; if ($this->secure) { - $baseUri.='s'; + $baseUri .= 's'; } - $baseUri.='://'.$this->host.$this->root; + $baseUri .= '://' . $this->host . $this->root; return $baseUri; } public function mkdir($path) { $this->init(); - $path=$this->cleanPath($path); + $path = $this->cleanPath($path); return $this->simpleResponse('MKCOL', $path, null, 201); } public function rmdir($path) { $this->init(); - $path=$this->cleanPath($path) . '/'; + $path = $this->cleanPath($path) . '/'; // FIXME: some WebDAV impl return 403 when trying to DELETE // a non-empty folder return $this->simpleResponse('DELETE', $path, null, 204); @@ -107,35 +107,35 @@ class DAV extends \OC\Files\Storage\Common{ public function opendir($path) { $this->init(); - $path=$this->cleanPath($path); + $path = $this->cleanPath($path); try { - $response=$this->client->propfind($this->encodePath($path), array(), 1); - $id=md5('webdav'.$this->root.$path); + $response = $this->client->propfind($this->encodePath($path), array(), 1); + $id = md5('webdav' . $this->root . $path); $content = array(); - $files=array_keys($response); - array_shift($files);//the first entry is the current directory + $files = array_keys($response); + array_shift($files); //the first entry is the current directory foreach ($files as $file) { $file = urldecode(basename($file)); - $content[]=$file; + $content[] = $file; } \OC\Files\Stream\Dir::register($id, $content); - return opendir('fakedir://'.$id); - } catch(\Exception $e) { + return opendir('fakedir://' . $id); + } catch (\Exception $e) { return false; } } public function filetype($path) { $this->init(); - $path=$this->cleanPath($path); + $path = $this->cleanPath($path); try { - $response=$this->client->propfind($this->encodePath($path), array('{DAV:}resourcetype')); + $response = $this->client->propfind($this->encodePath($path), array('{DAV:}resourcetype')); $responseType = array(); if (isset($response["{DAV:}resourcetype"])) { - $responseType=$response["{DAV:}resourcetype"]->resourceType; + $responseType = $response["{DAV:}resourcetype"]->resourceType; } - return (count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file'; - } catch(\Exception $e) { + return (count($responseType) > 0 and $responseType[0] == "{DAV:}collection") ? 'dir' : 'file'; + } catch (\Exception $e) { error_log($e->getMessage()); \OCP\Util::writeLog("webdav client", \OCP\Util::sanitizeHTML($e->getMessage()), \OCP\Util::ERROR); return false; @@ -144,11 +144,11 @@ class DAV extends \OC\Files\Storage\Common{ public function file_exists($path) { $this->init(); - $path=$this->cleanPath($path); + $path = $this->cleanPath($path); try { $this->client->propfind($this->encodePath($path), array('{DAV:}resourcetype')); - return true;//no 404 exception - } catch(\Exception $e) { + return true; //no 404 exception + } catch (\Exception $e) { return false; } } @@ -160,34 +160,34 @@ class DAV extends \OC\Files\Storage\Common{ public function fopen($path, $mode) { $this->init(); - $path=$this->cleanPath($path); - switch($mode) { + $path = $this->cleanPath($path); + switch ($mode) { case 'r': case 'rb': - if ( ! $this->file_exists($path)) { + if (!$this->file_exists($path)) { return false; } //straight up curl instead of sabredav here, sabredav put's the entire get result in memory $curl = curl_init(); $fp = fopen('php://temp', 'r+'); - curl_setopt($curl, CURLOPT_USERPWD, $this->user.':'.$this->password); - curl_setopt($curl, CURLOPT_URL, $this->createBaseUri().$this->encodePath($path)); + curl_setopt($curl, CURLOPT_USERPWD, $this->user . ':' . $this->password); + curl_setopt($curl, CURLOPT_URL, $this->createBaseUri() . $this->encodePath($path)); curl_setopt($curl, CURLOPT_FILE, $fp); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); if ($this->secure === true) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); - if($this->certPath){ + if ($this->certPath) { curl_setopt($curl, CURLOPT_CAINFO, $this->certPath); } } - - curl_exec ($curl); + + curl_exec($curl); $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($statusCode !== 200) { \OCP\Util::writeLog("webdav client", 'curl GET ' . curl_getinfo($curl, CURLINFO_EFFECTIVE_URL) . ' returned status code ' . $statusCode, \OCP\Util::ERROR); } - curl_close ($curl); + curl_close($curl); rewind($fp); return $fp; case 'w': @@ -203,18 +203,19 @@ class DAV extends \OC\Files\Storage\Common{ case 'c': case 'c+': //emulate these - if (strrpos($path, '.')!==false) { - $ext=substr($path, strrpos($path, '.')); + if (strrpos($path, '.') !== false) { + $ext = substr($path, strrpos($path, '.')); } else { - $ext=''; + $ext = ''; + } + if ($this->file_exists($path)) { + $tmpFile = $this->getCachedFile($path); + } else { + $tmpFile = \OCP\Files::tmpFile($ext); } - $tmpFile = \OCP\Files::tmpFile($ext); \OC\Files\Stream\Close::registerCallback($tmpFile, array($this, 'writeBack')); - if($this->file_exists($path)) { - $this->getFile($path, $tmpFile); - } - self::$tempFiles[$tmpFile]=$path; - return fopen('close://'.$tmpFile, $mode); + self::$tempFiles[$tmpFile] = $path; + return fopen('close://' . $tmpFile, $mode); } } @@ -227,32 +228,31 @@ class DAV extends \OC\Files\Storage\Common{ public function free_space($path) { $this->init(); - $path=$this->cleanPath($path); + $path = $this->cleanPath($path); try { - $response=$this->client->propfind($this->encodePath($path), array('{DAV:}quota-available-bytes')); + $response = $this->client->propfind($this->encodePath($path), array('{DAV:}quota-available-bytes')); if (isset($response['{DAV:}quota-available-bytes'])) { return (int)$response['{DAV:}quota-available-bytes']; } else { return \OC\Files\SPACE_UNKNOWN; } - } catch(\Exception $e) { + } catch (\Exception $e) { return \OC\Files\SPACE_UNKNOWN; } } - public function touch($path, $mtime=null) { + public function touch($path, $mtime = null) { $this->init(); if (is_null($mtime)) { - $mtime=time(); + $mtime = time(); } - $path=$this->cleanPath($path); + $path = $this->cleanPath($path); // if file exists, update the mtime, else create a new empty file if ($this->file_exists($path)) { try { $this->client->proppatch($this->encodePath($path), array('{DAV:}lastmodified' => $mtime)); - } - catch (\Sabre_DAV_Exception_NotImplemented $e) { + } catch (\Sabre_DAV_Exception_NotImplemented $e) { return false; } } else { @@ -261,23 +261,13 @@ class DAV extends \OC\Files\Storage\Common{ return true; } - /** - * @param string $path - * @param string $target - */ - public function getFile($path, $target) { + protected function uploadFile($path, $target) { $this->init(); - $source=$this->fopen($path, 'r'); - file_put_contents($target, $source); - } - - public function uploadFile($path, $target) { - $this->init(); - $source=fopen($path, 'r'); + $source = fopen($path, 'r'); $curl = curl_init(); - curl_setopt($curl, CURLOPT_USERPWD, $this->user.':'.$this->password); - curl_setopt($curl, CURLOPT_URL, $this->createBaseUri().str_replace(' ', '%20', $target)); + curl_setopt($curl, CURLOPT_USERPWD, $this->user . ':' . $this->password); + curl_setopt($curl, CURLOPT_URL, $this->createBaseUri() . str_replace(' ', '%20', $target)); curl_setopt($curl, CURLOPT_BINARYTRANSFER, true); curl_setopt($curl, CURLOPT_INFILE, $source); // file pointer curl_setopt($curl, CURLOPT_INFILESIZE, filesize($path)); @@ -285,26 +275,29 @@ class DAV extends \OC\Files\Storage\Common{ if ($this->secure === true) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); - if($this->certPath){ + if ($this->certPath) { curl_setopt($curl, CURLOPT_CAINFO, $this->certPath); } } - curl_exec ($curl); + curl_exec($curl); $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($statusCode !== 200) { \OCP\Util::writeLog("webdav client", 'curl GET ' . curl_getinfo($curl, CURLINFO_EFFECTIVE_URL) . ' returned status code ' . $statusCode, \OCP\Util::ERROR); } - curl_close ($curl); + curl_close($curl); + $this->removeCachedFile($target); } public function rename($path1, $path2) { $this->init(); $path1 = $this->encodePath($this->cleanPath($path1)); - $path2 = $this->createBaseUri().$this->encodePath($this->cleanPath($path2)); + $path2 = $this->createBaseUri() . $this->encodePath($this->cleanPath($path2)); try { - $this->client->request('MOVE', $path1, null, array('Destination'=>$path2)); + $this->client->request('MOVE', $path1, null, array('Destination' => $path2)); + $this->removeCachedFile($path1); + $this->removeCachedFile($path2); return true; - } catch(\Exception $e) { + } catch (\Exception $e) { return false; } } @@ -312,47 +305,48 @@ class DAV extends \OC\Files\Storage\Common{ public function copy($path1, $path2) { $this->init(); $path1 = $this->encodePath($this->cleanPath($path1)); - $path2 = $this->createBaseUri().$this->encodePath($this->cleanPath($path2)); + $path2 = $this->createBaseUri() . $this->encodePath($this->cleanPath($path2)); try { - $this->client->request('COPY', $path1, null, array('Destination'=>$path2)); + $this->client->request('COPY', $path1, null, array('Destination' => $path2)); + $this->removeCachedFile($path2); return true; - } catch(\Exception $e) { + } catch (\Exception $e) { return false; } } public function stat($path) { $this->init(); - $path=$this->cleanPath($path); + $path = $this->cleanPath($path); try { $response = $this->client->propfind($this->encodePath($path), array('{DAV:}getlastmodified', '{DAV:}getcontentlength')); return array( - 'mtime'=>strtotime($response['{DAV:}getlastmodified']), - 'size'=>(int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0, + 'mtime' => strtotime($response['{DAV:}getlastmodified']), + 'size' => (int)isset($response['{DAV:}getcontentlength']) ? $response['{DAV:}getcontentlength'] : 0, ); - } catch(\Exception $e) { + } catch (\Exception $e) { return array(); } } public function getMimeType($path) { $this->init(); - $path=$this->cleanPath($path); + $path = $this->cleanPath($path); try { - $response=$this->client->propfind($this->encodePath($path), array('{DAV:}getcontenttype', '{DAV:}resourcetype')); + $response = $this->client->propfind($this->encodePath($path), array('{DAV:}getcontenttype', '{DAV:}resourcetype')); $responseType = array(); if (isset($response["{DAV:}resourcetype"])) { - $responseType=$response["{DAV:}resourcetype"]->resourceType; + $responseType = $response["{DAV:}resourcetype"]->resourceType; } - $type=(count($responseType)>0 and $responseType[0]=="{DAV:}collection")?'dir':'file'; - if ($type=='dir') { + $type = (count($responseType) > 0 and $responseType[0] == "{DAV:}collection") ? 'dir' : 'file'; + if ($type == 'dir') { return 'httpd/unix-directory'; } elseif (isset($response['{DAV:}getcontenttype'])) { return $response['{DAV:}getcontenttype']; } else { return false; } - } catch(\Exception $e) { + } catch (\Exception $e) { return false; } } @@ -368,6 +362,7 @@ class DAV extends \OC\Files\Storage\Common{ /** * URL encodes the given path but keeps the slashes + * * @param string $path to encode * @return string encoded path */ @@ -382,11 +377,11 @@ class DAV extends \OC\Files\Storage\Common{ * @param integer $expected */ private function simpleResponse($method, $path, $body, $expected) { - $path=$this->cleanPath($path); + $path = $this->cleanPath($path); try { - $response=$this->client->request($method, $this->encodePath($path), $body); - return $response['statusCode']==$expected; - } catch(\Exception $e) { + $response = $this->client->request($method, $this->encodePath($path), $body); + return $response['statusCode'] == $expected; + } catch (\Exception $e) { return false; } } diff --git a/apps/files_external/personal.php b/apps/files_external/personal.php index 90f5e15953..90d7afed28 100755 --- a/apps/files_external/personal.php +++ b/apps/files_external/personal.php @@ -22,9 +22,8 @@ OCP\Util::addScript('files_external', 'settings'); OCP\Util::addStyle('files_external', 'settings'); -$backends = OC_Mount_Config::getBackends(); -// Remove local storage -unset($backends['\OC\Files\Storage\Local']); +$backends = OC_Mount_Config::getPersonalBackends(); + $tmpl = new OCP\Template('files_external', 'settings'); $tmpl->assign('isAdminPage', false); $tmpl->assign('mounts', OC_Mount_Config::getPersonalMountPoints()); diff --git a/apps/files_external/settings.php b/apps/files_external/settings.php index 31183409e3..5b62b54220 100644 --- a/apps/files_external/settings.php +++ b/apps/files_external/settings.php @@ -26,10 +26,26 @@ OCP\Util::addScript('files_external', 'settings'); OCP\Util::addscript('3rdparty', 'chosen/chosen.jquery.min'); OCP\Util::addStyle('files_external', 'settings'); OCP\Util::addStyle('3rdparty', 'chosen/chosen'); + +$backends = OC_Mount_Config::getBackends(); +$personal_backends = array(); +$enabled_backends = explode(',', OCP\Config::getAppValue('files_external', 'user_mounting_backends', '')); +foreach ($backends as $class => $backend) +{ + if ($class != '\OC\Files\Storage\Local') + { + $personal_backends[$class] = array( + 'backend' => $backend['backend'], + 'enabled' => in_array($class, $enabled_backends), + ); + } +} + $tmpl = new OCP\Template('files_external', 'settings'); $tmpl->assign('isAdminPage', true); $tmpl->assign('mounts', OC_Mount_Config::getSystemMountPoints()); -$tmpl->assign('backends', OC_Mount_Config::getBackends()); +$tmpl->assign('backends', $backends); +$tmpl->assign('personal_backends', $personal_backends); $tmpl->assign('groups', OC_Group::getGroups()); $tmpl->assign('users', OCP\User::getUsers()); $tmpl->assign('userDisplayNames', OC_User::getDisplayNames()); diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php index 3ca16c3c7a..8023866637 100644 --- a/apps/files_external/templates/settings.php +++ b/apps/files_external/templates/settings.php @@ -16,17 +16,17 @@ array())); ?> - $mount): ?> - > + + > - + class="optional" data-parameter="" value="" placeholder="" /> - + - - - + class="optional" data-parameter="" value="" placeholder="" /> @@ -108,7 +111,7 @@ - class="remove" + class="remove" style="visibility:hidden;" ><?php p($l->t('Delete')); ?>
- /> -
- t('Allow users to mount their own external storage')); ?> + /> + + +

class="hidden"> + t('Allow users to mount the following external storage')); ?>
+ $backend): ?> + /> +
+ + +

diff --git a/apps/files_external/tests/mountconfig.php b/apps/files_external/tests/mountconfig.php index 24ebcf5134..c89874c94d 100644 --- a/apps/files_external/tests/mountconfig.php +++ b/apps/files_external/tests/mountconfig.php @@ -34,6 +34,90 @@ class Test_Mount_Config_Dummy_Storage { * Class Test_Mount_Config */ class Test_Mount_Config extends \PHPUnit_Framework_TestCase { + + private $dataDir; + private $userHome; + private $oldAllowedBackends; + private $allBackends; + + const TEST_USER1 = 'user1'; + const TEST_USER2 = 'user2'; + const TEST_GROUP1 = 'group1'; + const TEST_GROUP2 = 'group2'; + + public function setUp() { + \OC_User::createUser(self::TEST_USER1, self::TEST_USER1); + \OC_User::createUser(self::TEST_USER2, self::TEST_USER2); + + \OC_Group::createGroup(self::TEST_GROUP1); + \OC_Group::addToGroup(self::TEST_USER1, self::TEST_GROUP1); + \OC_Group::createGroup(self::TEST_GROUP2); + \OC_Group::addToGroup(self::TEST_USER2, self::TEST_GROUP2); + + \OC_User::setUserId(self::TEST_USER1); + $this->userHome = \OC_User::getHome(self::TEST_USER1); + mkdir($this->userHome); + + $this->dataDir = \OC_Config::getValue( + 'datadirectory', + \OC::$SERVERROOT . '/data/' + ); + $this->oldAllowedBackends = OCP\Config::getAppValue( + 'files_external', + 'user_mounting_backends', + '' + ); + $this->allBackends = OC_Mount_Config::getBackends(); + OCP\Config::setAppValue( + 'files_external', + 'user_mounting_backends', + implode(',', array_keys($this->allBackends)) + ); + + OC_Mount_Config::$skipTest = true; + } + + public function tearDown() { + OC_Mount_Config::$skipTest = false; + + \OC_User::deleteUser(self::TEST_USER2); + \OC_User::deleteUser(self::TEST_USER1); + \OC_Group::deleteGroup(self::TEST_GROUP1); + \OC_Group::deleteGroup(self::TEST_GROUP2); + + @unlink($this->dataDir . '/mount.json'); + + OCP\Config::setAppValue( + 'files_external', + 'user_mounting_backends', + $this->oldAllowedBackends + ); + } + + /** + * Reads the global config, for checking + */ + private function readGlobalConfig() { + $configFile = $this->dataDir . '/mount.json'; + return json_decode(file_get_contents($configFile), true); + } + + /** + * Reads the user config, for checking + */ + private function readUserConfig() { + $configFile = $this->userHome . '/mount.json'; + return json_decode(file_get_contents($configFile), true); + } + + /** + * Write the user config, to simulate existing files + */ + private function writeUserConfig($config) { + $configFile = $this->userHome . '/mount.json'; + file_put_contents($configFile, json_encode($config)); + } + /** * Test mount point validation */ @@ -42,35 +126,518 @@ class Test_Mount_Config extends \PHPUnit_Framework_TestCase { $mountType = 'user'; $applicable = 'all'; $isPersonal = false; - $this->assertEquals(false, OC_Mount_Config::addMountPoint('', $storageClass, array(), $mountType, $applicable, $isPersonal)); - $this->assertEquals(false, OC_Mount_Config::addMountPoint('/', $storageClass, array(), $mountType, $applicable, $isPersonal)); - $this->assertEquals(false, OC_Mount_Config::addMountPoint('Shared', $storageClass, array(), $mountType, $applicable, $isPersonal)); - $this->assertEquals(false, OC_Mount_Config::addMountPoint('/Shared', $storageClass, array(), $mountType, $applicable, $isPersonal)); + $this->assertFalse(OC_Mount_Config::addMountPoint('', $storageClass, array(), $mountType, $applicable, $isPersonal)); + $this->assertFalse(OC_Mount_Config::addMountPoint('/', $storageClass, array(), $mountType, $applicable, $isPersonal)); + $this->assertFalse(OC_Mount_Config::addMountPoint('Shared', $storageClass, array(), $mountType, $applicable, $isPersonal)); + $this->assertFalse(OC_Mount_Config::addMountPoint('/Shared', $storageClass, array(), $mountType, $applicable, $isPersonal)); } + /** + * Test adding a global mount point + */ + public function testAddGlobalMountPoint() { + $mountType = OC_Mount_Config::MOUNT_TYPE_USER; + $applicable = 'all'; + $isPersonal = false; + + $this->assertEquals(true, OC_Mount_Config::addMountPoint('/ext', '\OC\Files\Storage\SFTP', array(), $mountType, $applicable, $isPersonal)); + + $config = $this->readGlobalConfig(); + $this->assertEquals(1, count($config)); + $this->assertTrue(isset($config[$mountType])); + $this->assertTrue(isset($config[$mountType][$applicable])); + $this->assertTrue(isset($config[$mountType][$applicable]['/$user/files/ext'])); + $this->assertEquals( + '\OC\Files\Storage\SFTP', + $config[$mountType][$applicable]['/$user/files/ext']['class'] + ); + } + + /** + * Test adding a personal mount point + */ public function testAddMountPointSingleUser() { - \OC_User::setUserId('test'); - $mountType = 'user'; - $applicable = 'test'; + $mountType = OC_Mount_Config::MOUNT_TYPE_USER; + $applicable = self::TEST_USER1; $isPersonal = true; + + $this->assertEquals(true, OC_Mount_Config::addMountPoint('/ext', '\OC\Files\Storage\SFTP', array(), $mountType, $applicable, $isPersonal)); + + $config = $this->readUserConfig(); + $this->assertEquals(1, count($config)); + $this->assertTrue(isset($config[$mountType])); + $this->assertTrue(isset($config[$mountType][$applicable])); + $this->assertTrue(isset($config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext'])); + $this->assertEquals( + '\OC\Files\Storage\SFTP', + $config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']['class'] + ); + } + + /** + * Test adding a personal mount point using disallowed backend + */ + public function testAddDisallowedBackendMountPointSingleUser() { + $mountType = OC_Mount_Config::MOUNT_TYPE_USER; + $applicable = self::TEST_USER1; + $isPersonal = true; + // local - $this->assertEquals(false, OC_Mount_Config::addMountPoint('/ext', '\OC\Files\storage\local', array(), $mountType, $applicable, $isPersonal)); - // non-local - // FIXME: can't test this yet as the class (write operation) is not mockable - // $this->assertEquals(true, OC_Mount_Config::addMountPoint('/ext', '\OC\Files\Storage\SFTP', array(), $mountType, $applicable, $isPersonal)); + $this->assertFalse(OC_Mount_Config::addMountPoint('/ext', '\OC\Files\storage\local', array(), $mountType, $applicable, $isPersonal)); + + unset($this->allBackends['\OC\Files\Storage\SFTP']); + OCP\Config::setAppValue( + 'files_external', + 'user_mounting_backends', + implode(',', array_keys($this->allBackends)) + ); + + // non-local but forbidden + $this->assertFalse(OC_Mount_Config::addMountPoint('/ext', '\OC\Files\Storage\SFTP', array(), $mountType, $applicable, $isPersonal)); + + $this->assertFalse(file_exists($this->userHome . '/mount.json')); + } + + /** + * Test adding a mount point with an non-existant backend + */ + public function testAddMountPointUnexistClass() { + $storageClass = 'Unexist_Storage'; + $mountType = OC_Mount_Config::MOUNT_TYPE_USER; + $applicable = self::TEST_USER1; + $isPersonal = false; + $this->assertFalse(OC_Mount_Config::addMountPoint('/ext', $storageClass, array(), $mountType, $applicable, $isPersonal)); } - public function testAddMountPointUnexistClass() { - \OC_User::setUserId('test'); - $storageClass = 'Unexist_Storage'; - $mountType = 'user'; - $applicable = 'test'; - $isPersonal = true; - // local - // non-local - $this->assertEquals(false, OC_Mount_Config::addMountPoint('/ext', $storageClass, array(), $mountType, $applicable, $isPersonal)); + /** + * Provider for testing configurations with different + * "applicable" values (all, user, groups) + */ + public function applicableConfigProvider() { + return array( + // applicable to "all" + array( + OC_Mount_Config::MOUNT_TYPE_USER, + 'all', + array( + 'users' => array('all'), + 'groups' => array() + ) + ), + // applicable to single user + array( + OC_Mount_Config::MOUNT_TYPE_USER, + self::TEST_USER1, + array( + 'users' => array(self::TEST_USER1), + 'groups' => array() + ) + ), + // applicable to single group + array( + OC_Mount_Config::MOUNT_TYPE_GROUP, + self::TEST_GROUP1, + array( + 'users' => array(), + 'groups' => array(self::TEST_GROUP1) + ) + ), + ); + } + /** + * Test reading and writing global config + * + * @dataProvider applicableConfigProvider + */ + public function testReadWriteGlobalConfig($mountType, $applicable, $expectApplicableArray) { + $mountType = $mountType; + $applicable = $applicable; + $isPersonal = false; + $options = array( + 'host' => 'smbhost', + 'user' => 'smbuser', + 'password' => 'smbpassword', + 'share' => 'smbshare', + 'root' => 'smbroot' + ); + + // write config + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $options, + $mountType, + $applicable, + $isPersonal + ) + ); + + // re-read config + $config = OC_Mount_Config::getSystemMountPoints(); + $this->assertEquals(1, count($config)); + $this->assertEquals('\OC\Files\Storage\SMB', $config[0]['class']); + $this->assertEquals('ext', $config[0]['mountpoint']); + $this->assertEquals($expectApplicableArray, $config[0]['applicable']); + $savedOptions = $config[0]['options']; + $this->assertEquals($options, $savedOptions); + // key order needs to be preserved for the UI... + $this->assertEquals(array_keys($options), array_keys($savedOptions)); + } + + /** + * Test reading and writing config + */ + public function testReadWritePersonalConfig() { + $mountType = OC_Mount_Config::MOUNT_TYPE_USER; + $applicable = self::TEST_USER1; + $isPersonal = true; + $options = array( + 'host' => 'smbhost', + 'user' => 'smbuser', + 'password' => 'smbpassword', + 'share' => 'smbshare', + 'root' => 'smbroot' + ); + + // write config + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $options, + $mountType, + $applicable, + $isPersonal + ) + ); + + // re-read config + $config = OC_Mount_Config::getPersonalMountPoints(); + $this->assertEquals(1, count($config)); + $this->assertEquals('\OC\Files\Storage\SMB', $config[0]['class']); + $this->assertEquals('ext', $config[0]['mountpoint']); + $savedOptions = $config[0]['options']; + $this->assertEquals($options, $savedOptions); + // key order needs to be preserved for the UI... + $this->assertEquals(array_keys($options), array_keys($savedOptions)); + } + + /** + * Test password obfuscation + */ + public function testPasswordObfuscation() { + $mountType = OC_Mount_Config::MOUNT_TYPE_USER; + $applicable = self::TEST_USER1; + $isPersonal = true; + $mountConfig = array( + 'host' => 'smbhost', + 'user' => 'smbuser', + 'password' => 'smbpassword', + 'share' => 'smbshare', + 'root' => 'smbroot' + ); + + // write config + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $mountConfig, + $mountType, + $applicable, + $isPersonal + ) + ); + + // note: password re-reading is covered by testReadWritePersonalConfig + + // check that password inside the file is NOT in plain text + $config = $this->readUserConfig(); + $savedConfig = $config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']['options']; + + // no more clear text password in file (kept because of key order) + $this->assertEquals('', $savedConfig['password']); + + // encrypted password is present + $this->assertNotEquals($mountConfig['password'], $savedConfig['password_encrypted']); + } + + /** + * Test read legacy passwords + */ + public function testReadLegacyPassword() { + $mountType = OC_Mount_Config::MOUNT_TYPE_USER; + $applicable = self::TEST_USER1; + $isPersonal = true; + $mountConfig = array( + 'host' => 'smbhost', + 'user' => 'smbuser', + 'password' => 'smbpassword', + 'share' => 'smbshare', + 'root' => 'smbroot' + ); + + // write config + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $mountConfig, + $mountType, + $applicable, + $isPersonal + ) + ); + + $config = $this->readUserConfig(); + // simulate non-encrypted password situation + $config[$mountType][$applicable]['/' . self::TEST_USER1 . '/files/ext']['options']['password'] = 'smbpasswd'; + + $this->writeUserConfig($config); + + // re-read config, password was read correctly + $config = OC_Mount_Config::getPersonalMountPoints(); + $savedMountConfig = $config[0]['options']; + $this->assertEquals($mountConfig, $savedMountConfig); + } + + public function mountDataProvider() { + return array( + // Tests for visible mount points + // system mount point for all users + array( + false, + OC_Mount_Config::MOUNT_TYPE_USER, + 'all', + self::TEST_USER1, + true, + ), + // system mount point for a specific user + array( + false, + OC_Mount_Config::MOUNT_TYPE_USER, + self::TEST_USER1, + self::TEST_USER1, + true, + ), + // system mount point for a specific group + array( + false, + OC_Mount_Config::MOUNT_TYPE_GROUP, + self::TEST_GROUP1, + self::TEST_USER1, + true, + ), + // user mount point + array( + true, + OC_Mount_Config::MOUNT_TYPE_USER, + self::TEST_USER1, + self::TEST_USER1, + true, + ), + + // Tests for non-visible mount points + // system mount point for another user + array( + false, + OC_Mount_Config::MOUNT_TYPE_USER, + self::TEST_USER2, + self::TEST_USER1, + false, + ), + // system mount point for a specific group + array( + false, + OC_Mount_Config::MOUNT_TYPE_GROUP, + self::TEST_GROUP2, + self::TEST_USER1, + false, + ), + // user mount point + array( + true, + OC_Mount_Config::MOUNT_TYPE_USER, + self::TEST_USER1, + self::TEST_USER2, + false, + ), + ); + } + + /** + * Test mount points used at mount time, making sure + * the configuration is prepared properly. + * + * @dataProvider mountDataProvider + * @param bool $isPersonal true for personal mount point, false for system mount point + * @param string $mountType mount type + * @param string $applicable target user/group or "all" + * @param string $testUser user for which to retrieve the mount points + * @param bool $expectVisible whether to expect the mount point to be visible for $testUser + */ + public function testMount($isPersonal, $mountType, $applicable, $testUser, $expectVisible) { + $mountConfig = array( + 'host' => 'someost', + 'user' => 'someuser', + 'password' => 'somepassword', + 'root' => 'someroot' + ); + + // add mount point as "test" user + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $mountConfig, + $mountType, + $applicable, + $isPersonal + ) + ); + + // check mount points in the perspective of user $testUser + \OC_User::setUserId($testUser); + + $mountPoints = OC_Mount_Config::getAbsoluteMountPoints($testUser); + if ($expectVisible) { + $this->assertEquals(1, count($mountPoints)); + $this->assertTrue(isset($mountPoints['/' . self::TEST_USER1 . '/files/ext'])); + $this->assertEquals('\OC\Files\Storage\SMB', $mountPoints['/' . self::TEST_USER1 . '/files/ext']['class']); + $this->assertEquals($mountConfig, $mountPoints['/' . self::TEST_USER1 . '/files/ext']['options']); + } + else { + $this->assertEquals(0, count($mountPoints)); + } + } + + /** + * Test the same config for multiple users. + * The config will be merged by getSystemMountPoints(). + */ + public function testConfigMerging() { + $mountType = OC_Mount_Config::MOUNT_TYPE_USER; + $isPersonal = false; + $options = array( + 'host' => 'smbhost', + 'user' => 'smbuser', + 'password' => 'smbpassword', + 'share' => 'smbshare', + 'root' => 'smbroot' + ); + + // write config + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $options, + OC_Mount_Config::MOUNT_TYPE_USER, + self::TEST_USER1, + $isPersonal + ) + ); + + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $options, + OC_Mount_Config::MOUNT_TYPE_USER, + self::TEST_USER2, + $isPersonal + ) + ); + + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $options, + OC_Mount_Config::MOUNT_TYPE_GROUP, + self::TEST_GROUP2, + $isPersonal + ) + ); + + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $options, + OC_Mount_Config::MOUNT_TYPE_GROUP, + self::TEST_GROUP1, + $isPersonal + ) + ); + + // re-read config + $config = OC_Mount_Config::getSystemMountPoints(); + $this->assertEquals(1, count($config)); + $this->assertEquals('\OC\Files\Storage\SMB', $config[0]['class']); + $this->assertEquals('ext', $config[0]['mountpoint']); + $this->assertEquals($options, $config[0]['options']); + $this->assertEquals(array(self::TEST_USER1, self::TEST_USER2), $config[0]['applicable']['users']); + $this->assertEquals(array(self::TEST_GROUP2, self::TEST_GROUP1), $config[0]['applicable']['groups']); + } + + /** + * Create then re-read mount points configs where the mount points + * have the same path, the config must NOT be merged. + */ + public function testRereadMountpointWithSamePath() { + $mountType = OC_Mount_Config::MOUNT_TYPE_USER; + $isPersonal = false; + $options1 = array( + 'host' => 'smbhost', + 'user' => 'smbuser', + 'password' => 'smbpassword', + 'share' => 'smbshare', + 'root' => 'smbroot' + ); + + // write config + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $options1, + $mountType, + self::TEST_USER1, + $isPersonal + ) + ); + + $options2 = array( + 'host' => 'anothersmbhost', + 'user' => 'anothersmbuser', + 'password' => 'anothersmbpassword', + 'share' => 'anothersmbshare', + 'root' => 'anothersmbroot' + ); + $this->assertTrue( + OC_Mount_Config::addMountPoint( + '/ext', + '\OC\Files\Storage\SMB', + $options2, + $mountType, + self::TEST_USER2, + $isPersonal + ) + ); + + // re-read config + $config = OC_Mount_Config::getSystemMountPoints(); + $this->assertEquals(2, count($config)); + $this->assertEquals('\OC\Files\Storage\SMB', $config[0]['class']); + $this->assertEquals('ext', $config[0]['mountpoint']); + $this->assertEquals($options1, $config[0]['options']); + $this->assertEquals('\OC\Files\Storage\SMB', $config[1]['class']); + $this->assertEquals('ext', $config[1]['mountpoint']); + $this->assertEquals($options2, $config[1]['options']); } } diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index 3469829b6f..06e454b7d7 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -1,4 +1,5 @@ create('core_ajax_public_preview', '/publicpreview.png')->action( function() { require_once __DIR__ . '/../ajax/publicpreview.php'; diff --git a/apps/files_sharing/css/mobile.css b/apps/files_sharing/css/mobile.css index 7d2116d190..333c4c77fc 100644 --- a/apps/files_sharing/css/mobile.css +++ b/apps/files_sharing/css/mobile.css @@ -1,4 +1,4 @@ -@media only screen and (max-width: 600px) { +@media only screen and (max-width: 768px) { /* make header scroll up for single shares, more view of content on small screens */ #header.share-file { @@ -45,5 +45,13 @@ table td.filename .nametext { display: none; } +/* ellipsis on file names */ +.nametext { + width: 60%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + } diff --git a/apps/files_sharing/js/share.js b/apps/files_sharing/js/share.js index 36de452a55..9f0ed12f93 100644 --- a/apps/files_sharing/js/share.js +++ b/apps/files_sharing/js/share.js @@ -5,6 +5,14 @@ $(document).ready(function() { if (typeof OC.Share !== 'undefined' && typeof FileActions !== 'undefined' && !disableSharing) { $('#fileList').on('fileActionsReady',function(){ + + var allShared = $('#fileList').find('[data-share-owner]').find('[data-Action="Share"]'); + allShared.addClass('permanent'); + allShared.find('span').text(function(){ + $owner = $(this).closest('tr').attr('data-share-owner'); + return ' ' + t('files_sharing', 'Shared by {owner}', {owner: $owner}); + }); + if (!sharesLoaded){ OC.Share.loadIcons('file'); // assume that we got all shares, so switching directories @@ -17,16 +25,15 @@ $(document).ready(function() { }); FileActions.register('all', 'Share', OC.PERMISSION_READ, OC.imagePath('core', 'actions/share'), function(filename) { - if ($('#dir').val() == '/') { - var item = $('#dir').val() + filename; - } else { - var item = $('#dir').val() + '/' + filename; + var dir = $('#dir').val(); + var item = dir + '/' + filename; + if (dir == '/') { + item = dir + filename; } var tr = FileList.findFileEl(filename); + var itemType = 'file'; if ($(tr).data('type') == 'dir') { - var itemType = 'folder'; - } else { - var itemType = 'file'; + itemType = 'folder'; } var possiblePermissions = $(tr).data('permissions'); var appendTo = $(tr).find('td.filename'); diff --git a/apps/files_sharing/l10n/ar.php b/apps/files_sharing/l10n/ar.php index 2625af1cc0..f796f7ec59 100644 --- a/apps/files_sharing/l10n/ar.php +++ b/apps/files_sharing/l10n/ar.php @@ -1,11 +1,17 @@ "مشاركة من طرف {owner}", +"This share is password-protected" => "هذه المشاركة محمية بكلمة مرور", +"The password is wrong. Try again." => "كلمة المرور خاطئة. حاول مرة أخرى", "Password" => "كلمة المرور", -"%s shared the folder %s with you" => "%s شارك المجلد %s معك", -"%s shared the file %s with you" => "%s شارك الملف %s معك", -"Download" => "تحميل", -"Upload" => "رفع", -"Cancel upload" => "إلغاء رفع الملفات", -"No preview available for" => "لا يوجد عرض مسبق لـ" +"Sorry, this link doesn’t seem to work anymore." => "عذرا، يبدو أن هذا الرابط لم يعد يعمل.", +"Reasons might be:" => "الأسباب الممكنة :", +"the item was removed" => "تم حذف العنصر المطلوب", +"the link expired" => "انتهت صلاحية الرابط", +"sharing is disabled" => "المشاركة غير مفعلة", +"For more info, please ask the person who sent this link." => "لمزيد من المعلومات، يرجى سؤال الشخص الذي أرسل هذا الرابط", +"shared by %s" => "مشاركة من قبل %s", +"Download %s" => "تحميل %s", +"Direct link" => "رابط مباشر" ); $PLURAL_FORMS = "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"; diff --git a/apps/files_sharing/l10n/bg_BG.php b/apps/files_sharing/l10n/bg_BG.php index f4b9e2dd5f..4fe5ba6b16 100644 --- a/apps/files_sharing/l10n/bg_BG.php +++ b/apps/files_sharing/l10n/bg_BG.php @@ -1,11 +1,5 @@ "Парола", -"%s shared the folder %s with you" => "%s сподели папката %s с Вас", -"%s shared the file %s with you" => "%s сподели файла %s с Вас", -"Download" => "Изтегляне", -"Upload" => "Качване", -"Cancel upload" => "Спри качването", -"No preview available for" => "Няма наличен преглед за" +"Password" => "Парола" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/bn_BD.php b/apps/files_sharing/l10n/bn_BD.php index aaed904d9d..1d737247d8 100644 --- a/apps/files_sharing/l10n/bn_BD.php +++ b/apps/files_sharing/l10n/bn_BD.php @@ -1,11 +1,5 @@ "কূটশব্দ", -"%s shared the folder %s with you" => "%s আপনার সাথে %s ফোল্ডারটি ভাগাভাগি করেছেন", -"%s shared the file %s with you" => "%s আপনার সাথে %s ফাইলটি ভাগাভাগি করেছেন", -"Download" => "ডাউনলোড", -"Upload" => "আপলোড", -"Cancel upload" => "আপলোড বাতিল কর", -"No preview available for" => "এর জন্য কোন প্রাকবীক্ষণ সুলভ নয়" +"Password" => "কূটশব্দ" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/ca.php b/apps/files_sharing/l10n/ca.php index 96e5999296..6432219650 100644 --- a/apps/files_sharing/l10n/ca.php +++ b/apps/files_sharing/l10n/ca.php @@ -1,5 +1,6 @@ "Compartits per {owner}", "This share is password-protected" => "Aquest compartit està protegit amb contrasenya", "The password is wrong. Try again." => "la contrasenya és incorrecta. Intenteu-ho de nou.", "Password" => "Contrasenya", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "l'enllaç ha vençut", "sharing is disabled" => "s'ha desactivat la compartició", "For more info, please ask the person who sent this link." => "Per més informació contacteu amb qui us ha enviat l'enllaç.", -"%s shared the folder %s with you" => "%s ha compartit la carpeta %s amb vós", -"%s shared the file %s with you" => "%s ha compartit el fitxer %s amb vós", -"Download" => "Baixa", -"Upload" => "Puja", -"Cancel upload" => "Cancel·la la pujada", -"No preview available for" => "No hi ha vista prèvia disponible per a", +"shared by %s" => "compartit per %s", +"Download %s" => "Baixa %s", "Direct link" => "Enllaç directe" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/cs_CZ.php b/apps/files_sharing/l10n/cs_CZ.php index adf099a6d9..e7a8b16f00 100644 --- a/apps/files_sharing/l10n/cs_CZ.php +++ b/apps/files_sharing/l10n/cs_CZ.php @@ -1,5 +1,6 @@ "Sdílí {owner}", "This share is password-protected" => "Toto sdílení je chráněno heslem", "The password is wrong. Try again." => "Heslo není správné. Zkuste to znovu.", "Password" => "Heslo", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "platnost odkazu vypršela", "sharing is disabled" => "sdílení je zakázané", "For more info, please ask the person who sent this link." => "Pro více informací kontaktujte osobu, která vám zaslala tento odkaz.", -"%s shared the folder %s with you" => "%s s Vámi sdílí složku %s", -"%s shared the file %s with you" => "%s s Vámi sdílí soubor %s", -"Download" => "Stáhnout", -"Upload" => "Odeslat", -"Cancel upload" => "Zrušit odesílání", -"No preview available for" => "Náhled není dostupný pro", +"shared by %s" => "sdílí %s", +"Download %s" => "Stáhnout %s", "Direct link" => "Přímý odkaz" ); $PLURAL_FORMS = "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"; diff --git a/apps/files_sharing/l10n/cy_GB.php b/apps/files_sharing/l10n/cy_GB.php index d2ae28141d..bf05f890a9 100644 --- a/apps/files_sharing/l10n/cy_GB.php +++ b/apps/files_sharing/l10n/cy_GB.php @@ -1,11 +1,5 @@ "Cyfrinair", -"%s shared the folder %s with you" => "Rhannodd %s blygell %s â chi", -"%s shared the file %s with you" => "Rhannodd %s ffeil %s â chi", -"Download" => "Llwytho i lawr", -"Upload" => "Llwytho i fyny", -"Cancel upload" => "Diddymu llwytho i fyny", -"No preview available for" => "Does dim rhagolwg ar gael ar gyfer" +"Password" => "Cyfrinair" ); $PLURAL_FORMS = "nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"; diff --git a/apps/files_sharing/l10n/da.php b/apps/files_sharing/l10n/da.php index 849b0e28d3..6c6a39c295 100644 --- a/apps/files_sharing/l10n/da.php +++ b/apps/files_sharing/l10n/da.php @@ -1,5 +1,6 @@ "Delt af {owner}", "This share is password-protected" => "Delingen er beskyttet af kodeord", "The password is wrong. Try again." => "Kodeordet er forkert. Prøv igen.", "Password" => "Kodeord", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "linket udløb", "sharing is disabled" => "deling er deaktiveret", "For more info, please ask the person who sent this link." => "For yderligere information, kontakt venligst personen der sendte linket. ", -"%s shared the folder %s with you" => "%s delte mappen %s med dig", -"%s shared the file %s with you" => "%s delte filen %s med dig", -"Download" => "Download", -"Upload" => "Upload", -"Cancel upload" => "Fortryd upload", -"No preview available for" => "Forhåndsvisning ikke tilgængelig for", +"shared by %s" => "delt af %s", +"Download %s" => "Download %s", "Direct link" => "Direkte link" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/de.php b/apps/files_sharing/l10n/de.php index d7879833ca..a924881844 100644 --- a/apps/files_sharing/l10n/de.php +++ b/apps/files_sharing/l10n/de.php @@ -1,5 +1,6 @@ "Geteilt von {owner}", "This share is password-protected" => "Diese Freigabe ist durch ein Passwort geschützt", "The password is wrong. Try again." => "Bitte überprüfe Dein Passwort und versuche es erneut.", "Password" => "Passwort", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "Der Link ist abgelaufen", "sharing is disabled" => "Teilen ist deaktiviert", "For more info, please ask the person who sent this link." => "Für mehr Informationen, frage bitte die Person, die Dir diesen Link geschickt hat.", -"%s shared the folder %s with you" => "%s hat den Ordner %s mit Dir geteilt", -"%s shared the file %s with you" => "%s hat die Datei %s mit Dir geteilt", -"Download" => "Download", -"Upload" => "Upload", -"Cancel upload" => "Upload abbrechen", -"No preview available for" => "Es ist keine Vorschau verfügbar für", +"shared by %s" => "Freigegeben von %s", +"Download %s" => "Download %s", "Direct link" => "Direkter Link" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/de_AT.php b/apps/files_sharing/l10n/de_AT.php new file mode 100644 index 0000000000..142892bc9a --- /dev/null +++ b/apps/files_sharing/l10n/de_AT.php @@ -0,0 +1,5 @@ + "Passwort" +); +$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/de_CH.php b/apps/files_sharing/l10n/de_CH.php index f63714b902..6ea0a4654c 100644 --- a/apps/files_sharing/l10n/de_CH.php +++ b/apps/files_sharing/l10n/de_CH.php @@ -1,5 +1,6 @@ "Geteilt von {owner}", "The password is wrong. Try again." => "Das Passwort ist falsch. Bitte versuchen Sie es erneut.", "Password" => "Passwort", "Sorry, this link doesn’t seem to work anymore." => "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.", @@ -7,12 +8,6 @@ $TRANSLATIONS = array( "the item was removed" => "Das Element wurde entfernt", "the link expired" => "Der Link ist abgelaufen", "sharing is disabled" => "Teilen ist deaktiviert", -"For more info, please ask the person who sent this link." => "Für mehr Informationen, fragen Sie bitte die Person, die Ihnen diesen Link geschickt hat.", -"%s shared the folder %s with you" => "%s hat den Ordner %s mit Ihnen geteilt", -"%s shared the file %s with you" => "%s hat die Datei %s mit Ihnen geteilt", -"Download" => "Herunterladen", -"Upload" => "Hochladen", -"Cancel upload" => "Upload abbrechen", -"No preview available for" => "Es ist keine Vorschau verfügbar für" +"For more info, please ask the person who sent this link." => "Für mehr Informationen, fragen Sie bitte die Person, die Ihnen diesen Link geschickt hat." ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/de_DE.php b/apps/files_sharing/l10n/de_DE.php index 3ab95b6690..e7bd75a2e0 100644 --- a/apps/files_sharing/l10n/de_DE.php +++ b/apps/files_sharing/l10n/de_DE.php @@ -1,5 +1,6 @@ "Geteilt von {owner}", "This share is password-protected" => "Diese Freigabe ist durch ein Passwort geschützt", "The password is wrong. Try again." => "Das Passwort ist falsch. Bitte versuchen Sie es erneut.", "Password" => "Passwort", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "Der Link ist abgelaufen", "sharing is disabled" => "Teilen ist deaktiviert", "For more info, please ask the person who sent this link." => "Für mehr Informationen, fragen Sie bitte die Person, die Ihnen diesen Link geschickt hat.", -"%s shared the folder %s with you" => "%s hat den Ordner %s mit Ihnen geteilt", -"%s shared the file %s with you" => "%s hat die Datei %s mit Ihnen geteilt", -"Download" => "Herunterladen", -"Upload" => "Hochladen", -"Cancel upload" => "Upload abbrechen", -"No preview available for" => "Es ist keine Vorschau verfügbar für", +"shared by %s" => "Geteilt von %s", +"Download %s" => "Download %s", "Direct link" => "Direkte Verlinkung" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/el.php b/apps/files_sharing/l10n/el.php index 3ea666504b..10ff594c98 100644 --- a/apps/files_sharing/l10n/el.php +++ b/apps/files_sharing/l10n/el.php @@ -1,5 +1,6 @@ "Διαμοιράστηκε από τον {owner}", "This share is password-protected" => "Αυτός ο κοινόχρηστος φάκελος προστατεύεται με κωδικό", "The password is wrong. Try again." => "Εσφαλμένος κωδικός πρόσβασης. Προσπαθήστε ξανά.", "Password" => "Κωδικός πρόσβασης", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "ο σύνδεσμος έληξε", "sharing is disabled" => "ο διαμοιρασμός απενεργοποιήθηκε", "For more info, please ask the person who sent this link." => "Για περισσότερες πληροφορίες, παρακαλώ ρωτήστε το άτομο που σας έστειλε αυτόν τον σύνδεσμο.", -"%s shared the folder %s with you" => "Ο %s μοιράστηκε τον φάκελο %s μαζί σας", -"%s shared the file %s with you" => "Ο %s μοιράστηκε το αρχείο %s μαζί σας", -"Download" => "Λήψη", -"Upload" => "Μεταφόρτωση", -"Cancel upload" => "Ακύρωση μεταφόρτωσης", -"No preview available for" => "Δεν υπάρχει διαθέσιμη προεπισκόπηση για", +"shared by %s" => "διαμοιράστηκε από %s", +"Download %s" => "Λήψη %s", "Direct link" => "Άμεσος σύνδεσμος" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/en@pirate.php b/apps/files_sharing/l10n/en@pirate.php index cd3c00d29d..ab628e1717 100644 --- a/apps/files_sharing/l10n/en@pirate.php +++ b/apps/files_sharing/l10n/en@pirate.php @@ -1,9 +1,5 @@ "Secret Code", -"%s shared the folder %s with you" => "%s shared the folder %s with you", -"%s shared the file %s with you" => "%s shared the file %s with you", -"Download" => "Download", -"No preview available for" => "No preview available for" +"Password" => "Secret Code" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/en_GB.php b/apps/files_sharing/l10n/en_GB.php index 3e04d120be..02663f96b8 100644 --- a/apps/files_sharing/l10n/en_GB.php +++ b/apps/files_sharing/l10n/en_GB.php @@ -1,5 +1,6 @@ "Shared by {owner}", "This share is password-protected" => "This share is password-protected", "The password is wrong. Try again." => "The password is wrong. Try again.", "Password" => "Password", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "the link expired", "sharing is disabled" => "sharing is disabled", "For more info, please ask the person who sent this link." => "For more info, please ask the person who sent this link.", -"%s shared the folder %s with you" => "%s shared the folder %s with you", -"%s shared the file %s with you" => "%s shared the file %s with you", -"Download" => "Download", -"Upload" => "Upload", -"Cancel upload" => "Cancel upload", -"No preview available for" => "No preview available for", +"shared by %s" => "shared by %s", +"Download %s" => "Download %s", "Direct link" => "Direct link" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/eo.php b/apps/files_sharing/l10n/eo.php index 891b3db9aa..1148d51697 100644 --- a/apps/files_sharing/l10n/eo.php +++ b/apps/files_sharing/l10n/eo.php @@ -1,5 +1,6 @@ "Kunhavigita de {owner}", "This share is password-protected" => "Ĉi tiu kunhavigo estas protektata per pasvorto", "Password" => "Pasvorto", "Sorry, this link doesn’t seem to work anymore." => "Pardonu, ĉi tiu ligilo ŝajne ne plu funkcias.", @@ -8,12 +9,6 @@ $TRANSLATIONS = array( "the link expired" => "la ligilo eksvalidiĝis", "sharing is disabled" => "kunhavigo malkapablas", "For more info, please ask the person who sent this link." => "Por plia informo, bonvolu peti al la persono, kiu sendis ĉi tiun ligilon.", -"%s shared the folder %s with you" => "%s kunhavigis la dosierujon %s kun vi", -"%s shared the file %s with you" => "%s kunhavigis la dosieron %s kun vi", -"Download" => "Elŝuti", -"Upload" => "Alŝuti", -"Cancel upload" => "Nuligi alŝuton", -"No preview available for" => "Ne haveblas antaŭvido por", "Direct link" => "Direkta ligilo" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/es.php b/apps/files_sharing/l10n/es.php index f986c29b4f..2e3f3b8500 100644 --- a/apps/files_sharing/l10n/es.php +++ b/apps/files_sharing/l10n/es.php @@ -1,5 +1,6 @@ "Compartido por {owner}", "This share is password-protected" => "Este elemento compartido esta protegido por contraseña", "The password is wrong. Try again." => "La contraseña introducida es errónea. Inténtelo de nuevo.", "Password" => "Contraseña", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "el enlace expiró", "sharing is disabled" => "compartir está desactivado", "For more info, please ask the person who sent this link." => "Para mayor información, contacte a la persona que le envió el enlace.", -"%s shared the folder %s with you" => "%s compartió la carpeta %s contigo", -"%s shared the file %s with you" => "%s compartió el fichero %s contigo", -"Download" => "Descargar", -"Upload" => "Subir", -"Cancel upload" => "Cancelar subida", -"No preview available for" => "No hay vista previa disponible para", +"shared by %s" => "Compartido por %s", +"Download %s" => "Descargar %s", "Direct link" => "Enlace directo" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/es_AR.php b/apps/files_sharing/l10n/es_AR.php index 989a91a450..95cfadc1db 100644 --- a/apps/files_sharing/l10n/es_AR.php +++ b/apps/files_sharing/l10n/es_AR.php @@ -1,5 +1,7 @@ "Compartido por {owner}", +"This share is password-protected" => "Esto está protegido por contraseña", "The password is wrong. Try again." => "La contraseña no es correcta. Probá de nuevo.", "Password" => "Contraseña", "Sorry, this link doesn’t seem to work anymore." => "Perdón, este enlace parece no funcionar más.", @@ -8,11 +10,6 @@ $TRANSLATIONS = array( "the link expired" => "el enlace expiró", "sharing is disabled" => "compartir está desactivado", "For more info, please ask the person who sent this link." => "Para mayor información, contactá a la persona que te mandó el enlace.", -"%s shared the folder %s with you" => "%s compartió la carpeta %s con vos", -"%s shared the file %s with you" => "%s compartió el archivo %s con vos", -"Download" => "Descargar", -"Upload" => "Subir", -"Cancel upload" => "Cancelar subida", -"No preview available for" => "La vista preliminar no está disponible para" +"Direct link" => "Vínculo directo" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/es_CL.php b/apps/files_sharing/l10n/es_CL.php index 31dc045870..42a2f066c6 100644 --- a/apps/files_sharing/l10n/es_CL.php +++ b/apps/files_sharing/l10n/es_CL.php @@ -1,6 +1,5 @@ "Clave", -"Upload" => "Subir" +"Password" => "Clave" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/es_MX.php b/apps/files_sharing/l10n/es_MX.php index 9100ef8b35..9168e25308 100644 --- a/apps/files_sharing/l10n/es_MX.php +++ b/apps/files_sharing/l10n/es_MX.php @@ -1,5 +1,6 @@ "Compartido por {owner}", "This share is password-protected" => "Este elemento compartido esta protegido por contraseña", "The password is wrong. Try again." => "La contraseña introducida es errónea. Inténtelo de nuevo.", "Password" => "Contraseña", @@ -9,12 +10,6 @@ $TRANSLATIONS = array( "the link expired" => "el enlace expiró", "sharing is disabled" => "compartir está desactivado", "For more info, please ask the person who sent this link." => "Para mayor información, contacte a la persona que le envió el enlace.", -"%s shared the folder %s with you" => "%s compartió la carpeta %s contigo", -"%s shared the file %s with you" => "%s compartió el archivo %s contigo", -"Download" => "Descargar", -"Upload" => "Subir", -"Cancel upload" => "Cancelar subida", -"No preview available for" => "No hay vista previa disponible para", "Direct link" => "Enlace directo" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/et_EE.php b/apps/files_sharing/l10n/et_EE.php index 4b7f975e83..af5891fcc7 100644 --- a/apps/files_sharing/l10n/et_EE.php +++ b/apps/files_sharing/l10n/et_EE.php @@ -1,5 +1,6 @@ "Jagas {owner}", "This share is password-protected" => "See jagamine on parooliga kaitstud", "The password is wrong. Try again." => "Parool on vale. Proovi uuesti.", "Password" => "Parool", @@ -9,12 +10,7 @@ $TRANSLATIONS = array( "the link expired" => "link on aegunud", "sharing is disabled" => "jagamine on peatatud", "For more info, please ask the person who sent this link." => "Täpsema info saamiseks palun pöördu lingi saatnud isiku poole.", -"%s shared the folder %s with you" => "%s jagas sinuga kausta %s", -"%s shared the file %s with you" => "%s jagas sinuga faili %s", -"Download" => "Lae alla", -"Upload" => "Lae üles", -"Cancel upload" => "Tühista üleslaadimine", -"No preview available for" => "Eelvaadet pole saadaval", +"shared by %s" => "jagas %s", "Direct link" => "Otsene link" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/eu.php b/apps/files_sharing/l10n/eu.php index 20de5a085a..5f13a73e1f 100644 --- a/apps/files_sharing/l10n/eu.php +++ b/apps/files_sharing/l10n/eu.php @@ -1,5 +1,6 @@ "{owner}-k partekatuta", "This share is password-protected" => "Elkarbanatutako hau pasahitzarekin babestuta dago", "The password is wrong. Try again." => "Pasahitza ez da egokia. Saiatu berriro.", "Password" => "Pasahitza", @@ -9,12 +10,7 @@ $TRANSLATIONS = array( "the link expired" => "lotura iraungi da", "sharing is disabled" => "elkarbanatzea ez dago gaituta", "For more info, please ask the person who sent this link." => "Informazio gehiagorako, mesedez eskatu lotura hau bidali zuen pertsonari", -"%s shared the folder %s with you" => "%sk zurekin %s karpeta elkarbanatu du", -"%s shared the file %s with you" => "%sk zurekin %s fitxategia elkarbanatu du", -"Download" => "Deskargatu", -"Upload" => "Igo", -"Cancel upload" => "Ezeztatu igoera", -"No preview available for" => "Ez dago aurrebista eskuragarririk hauentzat ", +"shared by %s" => "%sk partekatuta", "Direct link" => "Lotura zuzena" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/fa.php b/apps/files_sharing/l10n/fa.php index 664338723c..9b0a1dbc9d 100644 --- a/apps/files_sharing/l10n/fa.php +++ b/apps/files_sharing/l10n/fa.php @@ -1,12 +1,7 @@ "اشتراک گذارنده {owner}", "The password is wrong. Try again." => "رمزعبور اشتباه می باشد. دوباره امتحان کنید.", -"Password" => "گذرواژه", -"%s shared the folder %s with you" => "%sپوشه %s را با شما به اشتراک گذاشت", -"%s shared the file %s with you" => "%sفایل %s را با شما به اشتراک گذاشت", -"Download" => "دانلود", -"Upload" => "بارگزاری", -"Cancel upload" => "متوقف کردن بار گذاری", -"No preview available for" => "هیچگونه پیش نمایشی موجود نیست" +"Password" => "گذرواژه" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/fi_FI.php b/apps/files_sharing/l10n/fi_FI.php index c54c822b1c..e8ca368c71 100644 --- a/apps/files_sharing/l10n/fi_FI.php +++ b/apps/files_sharing/l10n/fi_FI.php @@ -1,5 +1,6 @@ "Jakanut {owner}", "This share is password-protected" => "Tämä jako on suojattu salasanalla", "The password is wrong. Try again." => "Väärä salasana. Yritä uudelleen.", "Password" => "Salasana", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "linkki vanheni", "sharing is disabled" => "jakaminen on poistettu käytöstä", "For more info, please ask the person who sent this link." => "Kysy lisätietoja henkilöltä, jolta sait linkin.", -"%s shared the folder %s with you" => "%s jakoi kansion %s kanssasi", -"%s shared the file %s with you" => "%s jakoi tiedoston %s kanssasi", -"Download" => "Lataa", -"Upload" => "Lähetä", -"Cancel upload" => "Peru lähetys", -"No preview available for" => "Ei esikatselua kohteelle", +"shared by %s" => "jakanut %s", +"Download %s" => "Lataa %s", "Direct link" => "Suora linkki" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/fr.php b/apps/files_sharing/l10n/fr.php index b51f421fa5..8e083f4ca0 100644 --- a/apps/files_sharing/l10n/fr.php +++ b/apps/files_sharing/l10n/fr.php @@ -1,5 +1,6 @@ "Partagé par {owner}", "This share is password-protected" => "Ce partage est protégé par un mot de passe", "The password is wrong. Try again." => "Le mot de passe est incorrect. Veuillez réessayer.", "Password" => "Mot de passe", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "le lien a expiré", "sharing is disabled" => "le partage est désactivé", "For more info, please ask the person who sent this link." => "Pour plus d'informations, veuillez contacter la personne qui a envoyé ce lien.", -"%s shared the folder %s with you" => "%s a partagé le répertoire %s avec vous", -"%s shared the file %s with you" => "%s a partagé le fichier %s avec vous", -"Download" => "Télécharger", -"Upload" => "Envoyer", -"Cancel upload" => "Annuler l'envoi", -"No preview available for" => "Pas d'aperçu disponible pour", +"shared by %s" => "partagé par %s", +"Download %s" => "Télécharger %s", "Direct link" => "Lien direct" ); $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; diff --git a/apps/files_sharing/l10n/gl.php b/apps/files_sharing/l10n/gl.php index 3ea3fe5f1c..a04e823423 100644 --- a/apps/files_sharing/l10n/gl.php +++ b/apps/files_sharing/l10n/gl.php @@ -1,5 +1,6 @@ "Compartido por {owner}", "This share is password-protected" => "Esta compartición está protexida con contrasinal", "The password is wrong. Try again." => "O contrasinal é incorrecto. Ténteo de novo.", "Password" => "Contrasinal", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "a ligazón caducou", "sharing is disabled" => "foi desactivada a compartición", "For more info, please ask the person who sent this link." => "Para obter máis información, pregúntelle á persoa que lle enviou a ligazón.", -"%s shared the folder %s with you" => "%s compartiu o cartafol %s con vostede", -"%s shared the file %s with you" => "%s compartiu o ficheiro %s con vostede", -"Download" => "Descargar", -"Upload" => "Enviar", -"Cancel upload" => "Cancelar o envío", -"No preview available for" => "Sen vista previa dispoñíbel para", +"shared by %s" => "compartido por %s", +"Download %s" => "Descargar %s", "Direct link" => "Ligazón directa" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/he.php b/apps/files_sharing/l10n/he.php index 217298fedd..9ba86d0772 100644 --- a/apps/files_sharing/l10n/he.php +++ b/apps/files_sharing/l10n/he.php @@ -1,11 +1,6 @@ "סיסמא", -"%s shared the folder %s with you" => "%s שיתף עמך את התיקייה %s", -"%s shared the file %s with you" => "%s שיתף עמך את הקובץ %s", -"Download" => "הורדה", -"Upload" => "העלאה", -"Cancel upload" => "ביטול ההעלאה", -"No preview available for" => "אין תצוגה מקדימה זמינה עבור" +"Shared by {owner}" => "שותף בידי {owner}", +"Password" => "סיסמא" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/hi.php b/apps/files_sharing/l10n/hi.php index 63a5d528f3..74a2c32043 100644 --- a/apps/files_sharing/l10n/hi.php +++ b/apps/files_sharing/l10n/hi.php @@ -1,6 +1,5 @@ "पासवर्ड", -"Upload" => "अपलोड " +"Password" => "पासवर्ड" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/hr.php b/apps/files_sharing/l10n/hr.php index 4a82dd7f71..60c01d30b5 100644 --- a/apps/files_sharing/l10n/hr.php +++ b/apps/files_sharing/l10n/hr.php @@ -1,8 +1,5 @@ "Lozinka", -"Download" => "Preuzimanje", -"Upload" => "Učitaj", -"Cancel upload" => "Prekini upload" +"Password" => "Lozinka" ); $PLURAL_FORMS = "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/hu_HU.php b/apps/files_sharing/l10n/hu_HU.php index a06c51b377..787a22fe6c 100644 --- a/apps/files_sharing/l10n/hu_HU.php +++ b/apps/files_sharing/l10n/hu_HU.php @@ -1,5 +1,6 @@ "Megosztotta: {owner}", "This share is password-protected" => "Ez egy jelszóval védett megosztás", "The password is wrong. Try again." => "A megadott jelszó nem megfelelő. Próbálja újra!", "Password" => "Jelszó", @@ -9,12 +10,7 @@ $TRANSLATIONS = array( "the link expired" => "lejárt a link érvényességi ideje", "sharing is disabled" => "letiltásra került a megosztás", "For more info, please ask the person who sent this link." => "További információért forduljon ahhoz, aki ezt a linket küldte Önnek!", -"%s shared the folder %s with you" => "%s megosztotta Önnel ezt a mappát: %s", -"%s shared the file %s with you" => "%s megosztotta Önnel ezt az állományt: %s", -"Download" => "Letöltés", -"Upload" => "Feltöltés", -"Cancel upload" => "A feltöltés megszakítása", -"No preview available for" => "Nem áll rendelkezésre előnézet ehhez: ", +"shared by %s" => "Megosztotta: %s", "Direct link" => "Közvetlen link" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/ia.php b/apps/files_sharing/l10n/ia.php index f9d6c33a0b..9ec82f20df 100644 --- a/apps/files_sharing/l10n/ia.php +++ b/apps/files_sharing/l10n/ia.php @@ -1,7 +1,5 @@ "Contrasigno", -"Download" => "Discargar", -"Upload" => "Incargar" +"Password" => "Contrasigno" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/id.php b/apps/files_sharing/l10n/id.php index 865a951c2d..e4668a7fb5 100644 --- a/apps/files_sharing/l10n/id.php +++ b/apps/files_sharing/l10n/id.php @@ -1,5 +1,6 @@ "Dibagikan oleh {owner}", "This share is password-protected" => "Berbagi ini dilindungi sandi", "The password is wrong. Try again." => "Sandi salah. Coba lagi", "Password" => "Sandi", @@ -9,12 +10,6 @@ $TRANSLATIONS = array( "the link expired" => "tautan telah kadaluarsa", "sharing is disabled" => "berbagi dinonaktifkan", "For more info, please ask the person who sent this link." => "Untuk info lebih lanjut, silakan tanyakan orang yang mengirim tautan ini.", -"%s shared the folder %s with you" => "%s membagikan folder %s dengan Anda", -"%s shared the file %s with you" => "%s membagikan berkas %s dengan Anda", -"Download" => "Unduh", -"Upload" => "Unggah", -"Cancel upload" => "Batal unggah", -"No preview available for" => "Tidak ada pratinjau yang tersedia untuk", "Direct link" => "Tautan langsung" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/is.php b/apps/files_sharing/l10n/is.php index 8ae8e48eff..c4a1c58940 100644 --- a/apps/files_sharing/l10n/is.php +++ b/apps/files_sharing/l10n/is.php @@ -1,11 +1,5 @@ "Lykilorð", -"%s shared the folder %s with you" => "%s deildi möppunni %s með þér", -"%s shared the file %s with you" => "%s deildi skránni %s með þér", -"Download" => "Niðurhal", -"Upload" => "Senda inn", -"Cancel upload" => "Hætta við innsendingu", -"No preview available for" => "Yfirlit ekki í boði fyrir" +"Password" => "Lykilorð" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/it.php b/apps/files_sharing/l10n/it.php index 7967b50d34..7efa458460 100644 --- a/apps/files_sharing/l10n/it.php +++ b/apps/files_sharing/l10n/it.php @@ -1,5 +1,6 @@ "Condiviso da {owner}", "This share is password-protected" => "Questa condivione è protetta da password", "The password is wrong. Try again." => "La password è errata. Prova ancora.", "Password" => "Password", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "il collegamento è scaduto", "sharing is disabled" => "la condivisione è disabilitata", "For more info, please ask the person who sent this link." => "Per ulteriori informazioni, chiedi alla persona che ti ha inviato il collegamento.", -"%s shared the folder %s with you" => "%s ha condiviso la cartella %s con te", -"%s shared the file %s with you" => "%s ha condiviso il file %s con te", -"Download" => "Scarica", -"Upload" => "Carica", -"Cancel upload" => "Annulla il caricamento", -"No preview available for" => "Nessuna anteprima disponibile per", +"shared by %s" => "condiviso da %s", +"Download %s" => "Scarica %s", "Direct link" => "Collegamento diretto" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/ja.php b/apps/files_sharing/l10n/ja.php new file mode 100644 index 0000000000..7e6461c608 --- /dev/null +++ b/apps/files_sharing/l10n/ja.php @@ -0,0 +1,17 @@ + "{owner} と共有中", +"This share is password-protected" => "この共有はパスワードで保護されています", +"The password is wrong. Try again." => "パスワードが間違っています。再試行してください。", +"Password" => "パスワード", +"Sorry, this link doesn’t seem to work anymore." => "申し訳ございません。このリンクはもう利用できません。", +"Reasons might be:" => "理由は以下の通りと考えられます:", +"the item was removed" => "アイテムが削除されました", +"the link expired" => "リンクの期限が切れています", +"sharing is disabled" => "共有が無効になっています", +"For more info, please ask the person who sent this link." => "不明な点は、こちらのリンクの提供者に確認をお願いします。", +"shared by %s" => "%s で共有中", +"Download %s" => "%s をダウンロード", +"Direct link" => "リンク" +); +$PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/ja_JP.php b/apps/files_sharing/l10n/ja_JP.php index fe25cb5b6e..7e6461c608 100644 --- a/apps/files_sharing/l10n/ja_JP.php +++ b/apps/files_sharing/l10n/ja_JP.php @@ -1,5 +1,6 @@ "{owner} と共有中", "This share is password-protected" => "この共有はパスワードで保護されています", "The password is wrong. Try again." => "パスワードが間違っています。再試行してください。", "Password" => "パスワード", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "リンクの期限が切れています", "sharing is disabled" => "共有が無効になっています", "For more info, please ask the person who sent this link." => "不明な点は、こちらのリンクの提供者に確認をお願いします。", -"%s shared the folder %s with you" => "%s はフォルダー %s をあなたと共有中です", -"%s shared the file %s with you" => "%s はファイル %s をあなたと共有中です", -"Download" => "ダウンロード", -"Upload" => "アップロード", -"Cancel upload" => "アップロードをキャンセル", -"No preview available for" => "プレビューはありません", +"shared by %s" => "%s で共有中", +"Download %s" => "%s をダウンロード", "Direct link" => "リンク" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/ka_GE.php b/apps/files_sharing/l10n/ka_GE.php index 89a6800b3e..5fc48c9fd9 100644 --- a/apps/files_sharing/l10n/ka_GE.php +++ b/apps/files_sharing/l10n/ka_GE.php @@ -1,11 +1,6 @@ "პაროლი", -"%s shared the folder %s with you" => "%s–მა გაგიზიარათ ფოლდერი %s", -"%s shared the file %s with you" => "%s–მა გაგიზიარათ ფაილი %s", -"Download" => "ჩამოტვირთვა", -"Upload" => "ატვირთვა", -"Cancel upload" => "ატვირთვის გაუქმება", -"No preview available for" => "წინასწარი დათვალიერება შეუძლებელია" +"Shared by {owner}" => "გაზიარდა {owner} –ის მიერ", +"Password" => "პაროლი" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/km.php b/apps/files_sharing/l10n/km.php new file mode 100644 index 0000000000..99b97c914e --- /dev/null +++ b/apps/files_sharing/l10n/km.php @@ -0,0 +1,6 @@ + "ពាក្យសម្ងាត់", +"shared by %s" => "បាន​ចែក​រំលែក​ដោយ %s" +); +$PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/ko.php b/apps/files_sharing/l10n/ko.php index 03c4c1aea9..a4593fbd6c 100644 --- a/apps/files_sharing/l10n/ko.php +++ b/apps/files_sharing/l10n/ko.php @@ -1,5 +1,6 @@ "{owner} 님이 공유함", "This share is password-protected" => "이 공유는 암호로 보호되어 있습니다", "The password is wrong. Try again." => "암호가 잘못되었습니다. 다시 입력해 주십시오.", "Password" => "암호", @@ -9,12 +10,6 @@ $TRANSLATIONS = array( "the link expired" => "링크가 만료됨", "sharing is disabled" => "공유가 비활성화됨", "For more info, please ask the person who sent this link." => "자세한 정보는 링크를 보낸 사람에게 문의하십시오.", -"%s shared the folder %s with you" => "%s 님이 폴더 %s을(를) 공유하였습니다", -"%s shared the file %s with you" => "%s 님이 파일 %s을(를) 공유하였습니다", -"Download" => "다운로드", -"Upload" => "업로드", -"Cancel upload" => "업로드 취소", -"No preview available for" => "다음 항목을 미리 볼 수 없음:", "Direct link" => "직접 링크" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/ku_IQ.php b/apps/files_sharing/l10n/ku_IQ.php index 6b4b7e4ba9..d433885e67 100644 --- a/apps/files_sharing/l10n/ku_IQ.php +++ b/apps/files_sharing/l10n/ku_IQ.php @@ -1,10 +1,5 @@ "وشەی تێپەربو", -"%s shared the folder %s with you" => "%s دابه‌شی کردووه‌ بوخچه‌ی %s له‌گه‌ڵ تۆ", -"%s shared the file %s with you" => "%s دابه‌شی کردووه‌ په‌ڕگه‌یی %s له‌گه‌ڵ تۆ", -"Download" => "داگرتن", -"Upload" => "بارکردن", -"No preview available for" => "هیچ پێشبینیه‌ك ئاماده‌ نیه بۆ" +"Password" => "وشەی تێپەربو" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/lb.php b/apps/files_sharing/l10n/lb.php index eeb6a3e2dc..b253e795df 100644 --- a/apps/files_sharing/l10n/lb.php +++ b/apps/files_sharing/l10n/lb.php @@ -1,12 +1,6 @@ "Den Passwuert ass incorrect. Probeier ed nach eng keier.", -"Password" => "Passwuert", -"%s shared the folder %s with you" => "%s huet den Dossier %s mad der gedeelt", -"%s shared the file %s with you" => "%s deelt den Fichier %s mad dir", -"Download" => "Download", -"Upload" => "Eroplueden", -"Cancel upload" => "Upload ofbriechen", -"No preview available for" => "Keeng Preview do fir" +"Password" => "Passwuert" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/lt_LT.php b/apps/files_sharing/l10n/lt_LT.php index 3786fd08b9..5db5ae275e 100644 --- a/apps/files_sharing/l10n/lt_LT.php +++ b/apps/files_sharing/l10n/lt_LT.php @@ -1,5 +1,6 @@ "Bendrina {owner}", "This share is password-protected" => "Turinys apsaugotas slaptažodžiu", "The password is wrong. Try again." => "Netinka slaptažodis: Bandykite dar kartą.", "Password" => "Slaptažodis", @@ -9,12 +10,7 @@ $TRANSLATIONS = array( "the link expired" => "baigėsi nuorodos galiojimo laikas", "sharing is disabled" => "dalinimasis yra išjungtas", "For more info, please ask the person who sent this link." => "Dėl tikslesnės informacijos susisiekite su asmeniu atsiuntusiu nuorodą.", -"%s shared the folder %s with you" => "%s pasidalino su jumis %s aplanku", -"%s shared the file %s with you" => "%s pasidalino su jumis %s failu", -"Download" => "Atsisiųsti", -"Upload" => "Įkelti", -"Cancel upload" => "Atšaukti siuntimą", -"No preview available for" => "Peržiūra nėra galima", +"shared by %s" => "pasidalino %s", "Direct link" => "Tiesioginė nuoroda" ); $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"; diff --git a/apps/files_sharing/l10n/lv.php b/apps/files_sharing/l10n/lv.php index a913ba1152..834d7c1721 100644 --- a/apps/files_sharing/l10n/lv.php +++ b/apps/files_sharing/l10n/lv.php @@ -1,11 +1,6 @@ "Parole", -"%s shared the folder %s with you" => "%s ar jums dalījās ar mapi %s", -"%s shared the file %s with you" => "%s ar jums dalījās ar datni %s", -"Download" => "Lejupielādēt", -"Upload" => "Augšupielādēt", -"Cancel upload" => "Atcelt augšupielādi", -"No preview available for" => "Nav pieejams priekšskatījums priekš" +"Shared by {owner}" => "Dalījās {owner}", +"Password" => "Parole" ); $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"; diff --git a/apps/files_sharing/l10n/mk.php b/apps/files_sharing/l10n/mk.php index c132f7aa26..6afa5fc684 100644 --- a/apps/files_sharing/l10n/mk.php +++ b/apps/files_sharing/l10n/mk.php @@ -1,11 +1,6 @@ "Лозинка", -"%s shared the folder %s with you" => "%s ја сподели папката %s со Вас", -"%s shared the file %s with you" => "%s ја сподели датотеката %s со Вас", -"Download" => "Преземи", -"Upload" => "Подигни", -"Cancel upload" => "Откажи прикачување", -"No preview available for" => "Нема достапно преглед за" +"Shared by {owner}" => "Споделени од {owner}", +"Password" => "Лозинка" ); $PLURAL_FORMS = "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"; diff --git a/apps/files_sharing/l10n/ms_MY.php b/apps/files_sharing/l10n/ms_MY.php index 9725dd4d1b..89d11f49fd 100644 --- a/apps/files_sharing/l10n/ms_MY.php +++ b/apps/files_sharing/l10n/ms_MY.php @@ -1,8 +1,5 @@ "Kata laluan", -"Download" => "Muat turun", -"Upload" => "Muat naik", -"Cancel upload" => "Batal muat naik" +"Password" => "Kata laluan" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/my_MM.php b/apps/files_sharing/l10n/my_MM.php index ff92e898ed..475d642743 100644 --- a/apps/files_sharing/l10n/my_MM.php +++ b/apps/files_sharing/l10n/my_MM.php @@ -1,6 +1,5 @@ "စကားဝှက်", -"Download" => "ဒေါင်းလုတ်" +"Password" => "စကားဝှက်" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/nb_NO.php b/apps/files_sharing/l10n/nb_NO.php index 0452b5275c..6427d71670 100644 --- a/apps/files_sharing/l10n/nb_NO.php +++ b/apps/files_sharing/l10n/nb_NO.php @@ -1,12 +1,16 @@ "Delt av {owner}", +"This share is password-protected" => "Denne delingen er passordbeskyttet", "The password is wrong. Try again." => "Passordet er feil. Prøv på nytt.", "Password" => "Passord", -"%s shared the folder %s with you" => "%s delte mappen %s med deg", -"%s shared the file %s with you" => "%s delte filen %s med deg", -"Download" => "Last ned", -"Upload" => "Last opp", -"Cancel upload" => "Avbryt opplasting", -"No preview available for" => "Forhåndsvisning ikke tilgjengelig for" +"Sorry, this link doesn’t seem to work anymore." => "Beklager, denne lenken ser ikke ut til å virke lenger.", +"Reasons might be:" => "Mulige årsaker:", +"the item was removed" => "elementet er fjernet", +"the link expired" => "lenken er utløpt", +"sharing is disabled" => "deling er deaktivert", +"For more info, please ask the person who sent this link." => "For mer informasjon, spør personen som sendte lenken.", +"shared by %s" => "delt av %s", +"Direct link" => "Direkte lenke" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/nl.php b/apps/files_sharing/l10n/nl.php index 687c6e134f..6151733f54 100644 --- a/apps/files_sharing/l10n/nl.php +++ b/apps/files_sharing/l10n/nl.php @@ -1,5 +1,6 @@ "Gedeeld door {owner}", "This share is password-protected" => "Deze share is met een wachtwoord beveiligd", "The password is wrong. Try again." => "Wachtwoord ongeldig. Probeer het nogmaals.", "Password" => "Wachtwoord", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "de link is verlopen", "sharing is disabled" => "delen is uitgeschakeld", "For more info, please ask the person who sent this link." => "Voor meer informatie, neem contact op met de persoon die u deze link heeft gestuurd.", -"%s shared the folder %s with you" => "%s deelt de map %s met u", -"%s shared the file %s with you" => "%s deelt het bestand %s met u", -"Download" => "Downloaden", -"Upload" => "Uploaden", -"Cancel upload" => "Upload afbreken", -"No preview available for" => "Geen voorbeeldweergave beschikbaar voor", +"shared by %s" => "gedeeld door %s", +"Download %s" => "Download %s", "Direct link" => "Directe link" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/nn_NO.php b/apps/files_sharing/l10n/nn_NO.php index 1f1e8001e7..6f7968e199 100644 --- a/apps/files_sharing/l10n/nn_NO.php +++ b/apps/files_sharing/l10n/nn_NO.php @@ -1,5 +1,6 @@ "Delt av {owner}", "The password is wrong. Try again." => "Passordet er gale. Prøv igjen.", "Password" => "Passord", "Sorry, this link doesn’t seem to work anymore." => "Orsak, denne lenkja fungerer visst ikkje lenger.", @@ -7,12 +8,6 @@ $TRANSLATIONS = array( "the item was removed" => "fila/mappa er fjerna", "the link expired" => "lenkja har gått ut på dato", "sharing is disabled" => "deling er slått av", -"For more info, please ask the person who sent this link." => "Spør den som sende deg lenkje om du vil ha meir informasjon.", -"%s shared the folder %s with you" => "%s delte mappa %s med deg", -"%s shared the file %s with you" => "%s delte fila %s med deg", -"Download" => "Last ned", -"Upload" => "Last opp", -"Cancel upload" => "Avbryt opplasting", -"No preview available for" => "Inga førehandsvising tilgjengeleg for" +"For more info, please ask the person who sent this link." => "Spør den som sende deg lenkje om du vil ha meir informasjon." ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/oc.php b/apps/files_sharing/l10n/oc.php index 299d98e58b..c67cdf272f 100644 --- a/apps/files_sharing/l10n/oc.php +++ b/apps/files_sharing/l10n/oc.php @@ -1,8 +1,5 @@ "Senhal", -"Download" => "Avalcarga", -"Upload" => "Amontcarga", -"Cancel upload" => " Anulla l'amontcargar" +"Password" => "Senhal" ); $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; diff --git a/apps/files_sharing/l10n/pa.php b/apps/files_sharing/l10n/pa.php index 6c14eda59d..6fee1e95f0 100644 --- a/apps/files_sharing/l10n/pa.php +++ b/apps/files_sharing/l10n/pa.php @@ -1,8 +1,5 @@ "ਪਾਸਵਰ", -"Download" => "ਡਾਊਨਲੋਡ", -"Upload" => "ਅੱਪਲੋਡ", -"Cancel upload" => "ਅੱਪਲੋਡ ਰੱਦ ਕਰੋ" +"Password" => "ਪਾਸਵਰ" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/pl.php b/apps/files_sharing/l10n/pl.php index 4c7498ee1b..4ecdced1a1 100644 --- a/apps/files_sharing/l10n/pl.php +++ b/apps/files_sharing/l10n/pl.php @@ -1,5 +1,6 @@ "Udostępnione przez {owner}", "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", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "link wygasł", "sharing is disabled" => "Udostępnianie jest wyłączone", "For more info, please ask the person who sent this link." => "Aby uzyskać więcej informacji proszę poprosić osobę, która wysłał ten link.", -"%s shared the folder %s with you" => "%s współdzieli folder z tobą %s", -"%s shared the file %s with you" => "%s współdzieli z tobą plik %s", -"Download" => "Pobierz", -"Upload" => "Wyślij", -"Cancel upload" => "Anuluj wysyłanie", -"No preview available for" => "Podgląd nie jest dostępny dla", +"shared by %s" => "udostępniony przez %s", +"Download %s" => "Pobierz %s", "Direct link" => "Bezpośredni link" ); $PLURAL_FORMS = "nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"; diff --git a/apps/files_sharing/l10n/pt_BR.php b/apps/files_sharing/l10n/pt_BR.php index ee03749795..4cd95b09dc 100644 --- a/apps/files_sharing/l10n/pt_BR.php +++ b/apps/files_sharing/l10n/pt_BR.php @@ -1,5 +1,6 @@ "Compartilhado por {owner}", "This share is password-protected" => "Este compartilhamento esta protegido por senha", "The password is wrong. Try again." => "Senha incorreta. Tente novamente.", "Password" => "Senha", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "o link expirou", "sharing is disabled" => "compartilhamento está desativada", "For more info, please ask the person who sent this link." => "Para mais informações, por favor, pergunte a pessoa que enviou este link.", -"%s shared the folder %s with you" => "%s compartilhou a pasta %s com você", -"%s shared the file %s with you" => "%s compartilhou o arquivo %s com você", -"Download" => "Baixar", -"Upload" => "Upload", -"Cancel upload" => "Cancelar upload", -"No preview available for" => "Nenhuma visualização disponível para", +"shared by %s" => "compartilhado por %s", +"Download %s" => "Baixar %s", "Direct link" => "Link direto" ); $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; diff --git a/apps/files_sharing/l10n/pt_PT.php b/apps/files_sharing/l10n/pt_PT.php index cd94211b5d..fdcc498fc2 100644 --- a/apps/files_sharing/l10n/pt_PT.php +++ b/apps/files_sharing/l10n/pt_PT.php @@ -1,5 +1,6 @@ "Partilhado por {owner}", "This share is password-protected" => "Esta partilha está protegida por palavra-chave", "The password is wrong. Try again." => "Password errada, por favor tente de novo", "Password" => "Palavra-passe", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "O link expirou", "sharing is disabled" => "A partilha está desativada", "For more info, please ask the person who sent this link." => "Para mais informações, por favor questione a pessoa que lhe enviou este link", -"%s shared the folder %s with you" => "%s partilhou a pasta %s consigo", -"%s shared the file %s with you" => "%s partilhou o ficheiro %s consigo", -"Download" => "Transferir", -"Upload" => "Carregar", -"Cancel upload" => "Cancelar envio", -"No preview available for" => "Não há pré-visualização para", +"shared by %s" => "partilhada por %s", +"Download %s" => "Download %s", "Direct link" => "Link direto" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/ro.php b/apps/files_sharing/l10n/ro.php index 54e20ed6bb..ca0d5e077b 100644 --- a/apps/files_sharing/l10n/ro.php +++ b/apps/files_sharing/l10n/ro.php @@ -1,12 +1,6 @@ "Parola este incorectă. Încercaţi din nou.", -"Password" => "Parolă", -"%s shared the folder %s with you" => "%s a partajat directorul %s cu tine", -"%s shared the file %s with you" => "%s a partajat fișierul %s cu tine", -"Download" => "Descarcă", -"Upload" => "Încărcare", -"Cancel upload" => "Anulează încărcarea", -"No preview available for" => "Nici o previzualizare disponibilă pentru " +"Password" => "Parolă" ); $PLURAL_FORMS = "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"; diff --git a/apps/files_sharing/l10n/ru.php b/apps/files_sharing/l10n/ru.php index 8c48096f66..2b44e29a34 100644 --- a/apps/files_sharing/l10n/ru.php +++ b/apps/files_sharing/l10n/ru.php @@ -1,20 +1,16 @@ "Эта шара защищена паролем", +"Shared by {owner}" => "Доступ открыл {owner}", +"This share is password-protected" => "Общий ресурс защищён паролем", "The password is wrong. Try again." => "Неверный пароль. Попробуйте еще раз.", "Password" => "Пароль", "Sorry, this link doesn’t seem to work anymore." => "К сожалению, эта ссылка, похоже не будет работать больше.", "Reasons might be:" => "Причиной может быть:", "the item was removed" => "объект был удалён", "the link expired" => "срок ссылки истёк", -"sharing is disabled" => "обмен отключен", -"For more info, please ask the person who sent this link." => "Для получения дополнительной информации, пожалуйста, спросите того кто отослал данную ссылку.", -"%s shared the folder %s with you" => "%s открыл доступ к папке %s для Вас", -"%s shared the file %s with you" => "%s открыл доступ к файлу %s для Вас", -"Download" => "Скачать", -"Upload" => "Загрузка", -"Cancel upload" => "Отмена загрузки", -"No preview available for" => "Предпросмотр недоступен для", +"sharing is disabled" => "общий доступ отключён", +"For more info, please ask the person who sent this link." => "Пожалуйста, обратитесь к отправителю данной ссылки.", +"shared by %s" => "Поделиться с %s", "Direct link" => "Прямая ссылка" ); $PLURAL_FORMS = "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/si_LK.php b/apps/files_sharing/l10n/si_LK.php index e840138564..5d3c0d0bed 100644 --- a/apps/files_sharing/l10n/si_LK.php +++ b/apps/files_sharing/l10n/si_LK.php @@ -1,11 +1,5 @@ "මුර පදය", -"%s shared the folder %s with you" => "%s ඔබව %s ෆෝල්ඩරයට හවුල් කරගත්තේය", -"%s shared the file %s with you" => "%s ඔබ සමඟ %s ගොනුව බෙදාහදාගත්තේය", -"Download" => "බාන්න", -"Upload" => "උඩුගත කරන්න", -"Cancel upload" => "උඩුගත කිරීම අත් හරින්න", -"No preview available for" => "පූර්වදර්ශනයක් නොමැත" +"Password" => "මුර පදය" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/sk_SK.php b/apps/files_sharing/l10n/sk_SK.php index 4ea8cbdd77..4e9856da4a 100644 --- a/apps/files_sharing/l10n/sk_SK.php +++ b/apps/files_sharing/l10n/sk_SK.php @@ -1,5 +1,6 @@ "Zdieľa {owner}", "This share is password-protected" => "Toto zdieľanie je chránené heslom", "The password is wrong. Try again." => "Heslo je chybné. Skúste to znova.", "Password" => "Heslo", @@ -9,12 +10,7 @@ $TRANSLATIONS = array( "the link expired" => "linke vypršala platnosť", "sharing is disabled" => "zdieľanie je zakázané", "For more info, please ask the person who sent this link." => "Pre viac informácií kontaktujte osobu, ktorá vám poslala tento odkaz.", -"%s shared the folder %s with you" => "%s zdieľa s vami priečinok %s", -"%s shared the file %s with you" => "%s zdieľa s vami súbor %s", -"Download" => "Sťahovanie", -"Upload" => "Nahrať", -"Cancel upload" => "Zrušiť nahrávanie", -"No preview available for" => "Žiaden náhľad k dispozícii pre", +"shared by %s" => "Zdieľa %s", "Direct link" => "Priama linka" ); $PLURAL_FORMS = "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"; diff --git a/apps/files_sharing/l10n/sl.php b/apps/files_sharing/l10n/sl.php index d5ef46e180..7c1014b0ef 100644 --- a/apps/files_sharing/l10n/sl.php +++ b/apps/files_sharing/l10n/sl.php @@ -1,5 +1,6 @@ "Souporabo omogoča {owner}", "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", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "povezava je pretekla,", "sharing is disabled" => "souporaba je onemogočena.", "For more info, please ask the person who sent this link." => "Za več podrobnosti stopite v stik s pošiljateljem te povezave.", -"%s shared the folder %s with you" => "Oseba %s je določila mapo %s za souporabo", -"%s shared the file %s with you" => "Oseba %s je določila datoteko %s za souporabo", -"Download" => "Prejmi", -"Upload" => "Pošlji", -"Cancel upload" => "Prekliči pošiljanje", -"No preview available for" => "Predogled ni na voljo za", +"shared by %s" => "souporabp omogoča %s", +"Download %s" => "Prejmi %s", "Direct link" => "Neposredna povezava" ); $PLURAL_FORMS = "nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"; diff --git a/apps/files_sharing/l10n/sq.php b/apps/files_sharing/l10n/sq.php index 473049f75e..b1db4d5c54 100644 --- a/apps/files_sharing/l10n/sq.php +++ b/apps/files_sharing/l10n/sq.php @@ -1,5 +1,6 @@ "Kjo pjesë është e mbrojtur me fjalëkalim", "The password is wrong. Try again." => "Kodi është i gabuar. Provojeni përsëri.", "Password" => "Kodi", "Sorry, this link doesn’t seem to work anymore." => "Ju kërkojmë ndjesë, kjo lidhje duket sikur nuk punon më.", @@ -8,11 +9,6 @@ $TRANSLATIONS = array( "the link expired" => "lidhja ka skaduar", "sharing is disabled" => "ndarja është çaktivizuar", "For more info, please ask the person who sent this link." => "Për më shumë informacione, ju lutem pyesni personin që iu dërgoi këtë lidhje.", -"%s shared the folder %s with you" => "%s ndau me ju dosjen %s", -"%s shared the file %s with you" => "%s ndau me ju skedarin %s", -"Download" => "Shkarko", -"Upload" => "Ngarko", -"Cancel upload" => "Anulo ngarkimin", -"No preview available for" => "Shikimi paraprak nuk është i mundur për" +"Direct link" => "Lidhje direkte" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/sr.php b/apps/files_sharing/l10n/sr.php index e484ad25eb..bc963ac87b 100644 --- a/apps/files_sharing/l10n/sr.php +++ b/apps/files_sharing/l10n/sr.php @@ -1,8 +1,5 @@ "Лозинка", -"Download" => "Преузми", -"Upload" => "Отпреми", -"Cancel upload" => "Прекини отпремање" +"Password" => "Лозинка" ); $PLURAL_FORMS = "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"; diff --git a/apps/files_sharing/l10n/sr@latin.php b/apps/files_sharing/l10n/sr@latin.php index 08463e1510..7d5ba12c6e 100644 --- a/apps/files_sharing/l10n/sr@latin.php +++ b/apps/files_sharing/l10n/sr@latin.php @@ -1,7 +1,5 @@ "Lozinka", -"Download" => "Preuzmi", -"Upload" => "Pošalji" +"Password" => "Lozinka" ); $PLURAL_FORMS = "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/sv.php b/apps/files_sharing/l10n/sv.php index 055ef552d6..2d037f9186 100644 --- a/apps/files_sharing/l10n/sv.php +++ b/apps/files_sharing/l10n/sv.php @@ -1,5 +1,6 @@ "Delad av {owner}", "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", @@ -9,12 +10,6 @@ $TRANSLATIONS = array( "the link expired" => "giltighet för länken har gått ut", "sharing is disabled" => "delning är inaktiverat", "For more info, please ask the person who sent this link." => "För mer information, kontakta den person som skickade den här länken.", -"%s shared the folder %s with you" => "%s delade mappen %s med dig", -"%s shared the file %s with you" => "%s delade filen %s med dig", -"Download" => "Ladda ner", -"Upload" => "Ladda upp", -"Cancel upload" => "Avbryt uppladdning", -"No preview available for" => "Ingen förhandsgranskning tillgänglig för", "Direct link" => "Direkt länk" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/ta_LK.php b/apps/files_sharing/l10n/ta_LK.php index 90a2fb417f..3b944d42e6 100644 --- a/apps/files_sharing/l10n/ta_LK.php +++ b/apps/files_sharing/l10n/ta_LK.php @@ -1,11 +1,6 @@ "கடவுச்சொல்", -"%s shared the folder %s with you" => "%s கோப்புறையானது %s உடன் பகிரப்பட்டது", -"%s shared the file %s with you" => "%s கோப்பானது %s உடன் பகிரப்பட்டது", -"Download" => "பதிவிறக்குக", -"Upload" => "பதிவேற்றுக", -"Cancel upload" => "பதிவேற்றலை இரத்து செய்க", -"No preview available for" => "அதற்கு முன்னோக்கு ஒன்றும் இல்லை" +"Shared by {owner}" => "பகிரப்பட்டது {சொந்தகாரர்}", +"Password" => "கடவுச்சொல்" ); $PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; diff --git a/apps/files_sharing/l10n/th_TH.php b/apps/files_sharing/l10n/th_TH.php index e192e0a97c..706d0a561e 100644 --- a/apps/files_sharing/l10n/th_TH.php +++ b/apps/files_sharing/l10n/th_TH.php @@ -1,11 +1,6 @@ "รหัสผ่าน", -"%s shared the folder %s with you" => "%s ได้แชร์โฟลเดอร์ %s ให้กับคุณ", -"%s shared the file %s with you" => "%s ได้แชร์ไฟล์ %s ให้กับคุณ", -"Download" => "ดาวน์โหลด", -"Upload" => "อัพโหลด", -"Cancel upload" => "ยกเลิกการอัพโหลด", -"No preview available for" => "ไม่สามารถดูตัวอย่างได้สำหรับ" +"Shared by {owner}" => "ถูกแชร์โดย {owner}", +"Password" => "รหัสผ่าน" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/tr.php b/apps/files_sharing/l10n/tr.php index 22fe8ed020..4177221e10 100644 --- a/apps/files_sharing/l10n/tr.php +++ b/apps/files_sharing/l10n/tr.php @@ -1,5 +1,6 @@ "{owner} tarafından paylaşılmış", "This share is password-protected" => "Bu paylaşım parola korumalı", "The password is wrong. Try again." => "Parola hatalı. Yeniden deneyin.", "Password" => "Parola", @@ -9,12 +10,8 @@ $TRANSLATIONS = array( "the link expired" => "bağlantı süresi dolmuş", "sharing is disabled" => "paylaşım devre dışı", "For more info, please ask the person who sent this link." => "Daha fazla bilgi için bu bağlantıyı aldığınız kişi ile iletişime geçin.", -"%s shared the folder %s with you" => "%s, %s klasörünü sizinle paylaştı", -"%s shared the file %s with you" => "%s, %s dosyasını sizinle paylaştı", -"Download" => "İndir", -"Upload" => "Yükle", -"Cancel upload" => "Yüklemeyi iptal et", -"No preview available for" => "Kullanılabilir önizleme yok", +"shared by %s" => "paylaşan: %s", +"Download %s" => "İndir: %s", "Direct link" => "Doğrudan bağlantı" ); $PLURAL_FORMS = "nplurals=2; plural=(n > 1);"; diff --git a/apps/files_sharing/l10n/ug.php b/apps/files_sharing/l10n/ug.php index 6ffa02f734..9de4178691 100644 --- a/apps/files_sharing/l10n/ug.php +++ b/apps/files_sharing/l10n/ug.php @@ -1,8 +1,5 @@ "ئىم", -"Download" => "چۈشۈر", -"Upload" => "يۈكلە", -"Cancel upload" => "يۈكلەشتىن ۋاز كەچ" +"Password" => "ئىم" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/uk.php b/apps/files_sharing/l10n/uk.php index 842b4b8d96..204b8e174a 100644 --- a/apps/files_sharing/l10n/uk.php +++ b/apps/files_sharing/l10n/uk.php @@ -1,5 +1,6 @@ "Опублікував {owner}", "This share is password-protected" => "Цей ресурс обміну захищений паролем", "The password is wrong. Try again." => "Невірний пароль. Спробуйте ще раз.", "Password" => "Пароль", @@ -9,12 +10,6 @@ $TRANSLATIONS = array( "the link expired" => "посилання застаріло", "sharing is disabled" => "обмін заборонений", "For more info, please ask the person who sent this link." => "Для отримання додаткової інформації, будь ласка, зверніться до особи, яка надіслала це посилання.", -"%s shared the folder %s with you" => "%s опублікував каталог %s для Вас", -"%s shared the file %s with you" => "%s опублікував файл %s для Вас", -"Download" => "Завантажити", -"Upload" => "Вивантажити", -"Cancel upload" => "Перервати завантаження", -"No preview available for" => "Попередній перегляд недоступний для", "Direct link" => "Пряме посилання" ); $PLURAL_FORMS = "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/vi.php b/apps/files_sharing/l10n/vi.php index 4566d3744d..e1a65f2751 100644 --- a/apps/files_sharing/l10n/vi.php +++ b/apps/files_sharing/l10n/vi.php @@ -1,11 +1,7 @@ "Được chia sẽ bởi {owner}", "Password" => "Mật khẩu", -"%s shared the folder %s with you" => "%s đã chia sẻ thư mục %s với bạn", -"%s shared the file %s with you" => "%s đã chia sẻ tập tin %s với bạn", -"Download" => "Tải về", -"Upload" => "Tải lên", -"Cancel upload" => "Hủy upload", -"No preview available for" => "Không có xem trước cho" +"shared by %s" => " Được chia sẻ bởi %s" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/zh_CN.php b/apps/files_sharing/l10n/zh_CN.php index 956c161b48..8946741a30 100644 --- a/apps/files_sharing/l10n/zh_CN.php +++ b/apps/files_sharing/l10n/zh_CN.php @@ -1,5 +1,7 @@ "由{owner}共享", +"This share is password-protected" => "这是一个密码保护的共享", "The password is wrong. Try again." => "用户名或密码错误!请重试", "Password" => "密码", "Sorry, this link doesn’t seem to work anymore." => "抱歉,此链接已失效", @@ -8,11 +10,7 @@ $TRANSLATIONS = array( "the link expired" => "链接过期", "sharing is disabled" => "共享已禁用", "For more info, please ask the person who sent this link." => "欲知详情,请联系发给你链接的人。", -"%s shared the folder %s with you" => "%s与您共享了%s文件夹", -"%s shared the file %s with you" => "%s与您共享了%s文件", -"Download" => "下载", -"Upload" => "上传", -"Cancel upload" => "取消上传", -"No preview available for" => "没有预览" +"shared by %s" => "由 %s 共享", +"Direct link" => "直接链接" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/zh_HK.php b/apps/files_sharing/l10n/zh_HK.php index 434420264e..5904309749 100644 --- a/apps/files_sharing/l10n/zh_HK.php +++ b/apps/files_sharing/l10n/zh_HK.php @@ -1,7 +1,5 @@ "密碼", -"Download" => "下載", -"Upload" => "上傳" +"Password" => "密碼" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/l10n/zh_TW.php b/apps/files_sharing/l10n/zh_TW.php index 3854b7ae58..eb591fa359 100644 --- a/apps/files_sharing/l10n/zh_TW.php +++ b/apps/files_sharing/l10n/zh_TW.php @@ -1,5 +1,6 @@ "由 {owner} 分享", "This share is password-protected" => "這個分享有密碼保護", "The password is wrong. Try again." => "請檢查您的密碼並再試一次", "Password" => "密碼", @@ -8,12 +9,6 @@ $TRANSLATIONS = array( "the item was removed" => "項目已經移除", "the link expired" => "連結過期", "sharing is disabled" => "分享功能已停用", -"For more info, please ask the person who sent this link." => "請詢問告訴您此連結的人以瞭解更多", -"%s shared the folder %s with you" => "%s 和您分享了資料夾 %s ", -"%s shared the file %s with you" => "%s 和您分享了檔案 %s", -"Download" => "下載", -"Upload" => "上傳", -"Cancel upload" => "取消上傳", -"No preview available for" => "無法預覽" +"For more info, please ask the person who sent this link." => "請詢問告訴您此連結的人以瞭解更多" ); $PLURAL_FORMS = "nplurals=1; plural=0;"; diff --git a/apps/files_sharing/lib/api.php b/apps/files_sharing/lib/api.php index 0ba58aa896..de3c1cd263 100644 --- a/apps/files_sharing/lib/api.php +++ b/apps/files_sharing/lib/api.php @@ -68,7 +68,7 @@ class Api { public static function getShare($params) { $s = self::getShareFromId($params['id']); - $params['itemSource'] = $s['item_source']; + $params['itemSource'] = $s['file_source']; $params['itemType'] = $s['item_type']; $params['specificShare'] = true; @@ -98,8 +98,14 @@ class Api { break; } } + } else { + $path = $params['path']; + foreach ($shares as $key => $share) { + $shares[$key]['path'] = $path; + } } + // include also reshares in the lists. This means that the result // will contain every user with access to the file. if (isset($params['reshares']) && $params['reshares'] === true) { @@ -107,8 +113,10 @@ class Api { } if ($receivedFrom) { - $shares['received_from'] = $receivedFrom['uid_owner']; - $shares['received_from_displayname'] = \OCP\User::getDisplayName($receivedFrom['uid_owner']); + foreach ($shares as $key => $share) { + $shares[$key]['received_from'] = $receivedFrom['uid_owner']; + $shares[$key]['received_from_displayname'] = \OCP\User::getDisplayName($receivedFrom['uid_owner']); + } } } else { $shares = null; @@ -174,9 +182,12 @@ class Api { $share = \OCP\Share::getItemShared($itemType, $file['fileid']); if($share) { $receivedFrom = \OCP\Share::getItemSharedWithBySource($itemType, $file['fileid']); + reset($share); + $key = key($share); + $share[$key]['path'] = self::correctPath($share[$key]['path'], $path); if ($receivedFrom) { - $share['received_from'] = $receivedFrom['uid_owner']; - $share['received_from_displayname'] = \OCP\User::getDisplayName($receivedFrom['uid_owner']); + $share[$key]['received_from'] = $receivedFrom['uid_owner']; + $share[$key]['received_from_displayname'] = \OCP\User::getDisplayName($receivedFrom['uid_owner']); } $result = array_merge($result, $share); } @@ -281,9 +292,8 @@ class Api { public static function updateShare($params) { $share = self::getShareFromId($params['id']); - $itemSource = isset($share['item_source']) ? $share['item_source'] : null; - if($itemSource === null) { + if(!isset($share['file_source'])) { return new \OC_OCS_Result(null, 404, "wrong share Id, share doesn't exist."); } @@ -431,10 +441,10 @@ class Api { public static function deleteShare($params) { $share = self::getShareFromId($params['id']); - $itemSource = isset($share['item_source']) ? $share['item_source'] : null; + $fileSource = isset($share['file_source']) ? $share['file_source'] : null; $itemType = isset($share['item_type']) ? $share['item_type'] : null;; - if($itemSource === null) { + if($fileSource === null) { return new \OC_OCS_Result(null, 404, "wrong share ID, share doesn't exist."); } @@ -448,7 +458,7 @@ class Api { try { $return = \OCP\Share::unshare( $itemType, - $itemSource, + $fileSource, $shareType, $shareWith); } catch (\Exception $e) { @@ -504,7 +514,7 @@ class Api { * @return array with: item_source, share_type, share_with, item_type, permissions */ private static function getShareFromId($shareID) { - $sql = 'SELECT `item_source`, `share_type`, `share_with`, `item_type`, `permissions` FROM `*PREFIX*share` WHERE `id` = ?'; + $sql = 'SELECT `file_source`, `item_source`, `share_type`, `share_with`, `item_type`, `permissions` FROM `*PREFIX*share` WHERE `id` = ?'; $args = array($shareID); $query = \OCP\DB::prepare($sql); $result = $query->execute($args); @@ -521,4 +531,15 @@ class Api { } + /** + * @brief make sure that the path has the correct root + * + * @param string $path path returned from the share API + * @param string $folder current root folder + * @return string the correct path + */ + protected static function correctPath($path, $folder) { + return \OC_Filesystem::normalizePath('/' . $folder . '/' . basename($path)); + } + } diff --git a/apps/files_sharing/lib/cache.php b/apps/files_sharing/lib/cache.php index 4b0da0b002..01db29d72e 100644 --- a/apps/files_sharing/lib/cache.php +++ b/apps/files_sharing/lib/cache.php @@ -137,9 +137,12 @@ class Shared_Cache extends Cache { } else { $cache = $this->getSourceCache($folder); if ($cache) { + $parent = $this->storage->getFile($folder); $sourceFolderContent = $cache->getFolderContents($this->files[$folder]); foreach ($sourceFolderContent as $key => $c) { $sourceFolderContent[$key]['usersPath'] = 'files/Shared/' . $folder . '/' . $c['name']; + $sourceFolderContent[$key]['uid_owner'] = $parent['uid_owner']; + $sourceFolderContent[$key]['displayname_owner'] = $parent['uid_owner']; } return $sourceFolderContent; @@ -354,9 +357,10 @@ class Shared_Cache extends Cache { * get the size of a folder and set it in the cache * * @param string $path + * @param array $entry (optional) meta data of the folder * @return int */ - public function calculateFolderSize($path) { + public function calculateFolderSize($path, $entry = null) { if ($cache = $this->getSourceCache($path)) { return $cache->calculateFolderSize($this->files[$path]); } diff --git a/apps/files_sharing/lib/share/file.php b/apps/files_sharing/lib/share/file.php index ec0f368386..5e00050fe1 100644 --- a/apps/files_sharing/lib/share/file.php +++ b/apps/files_sharing/lib/share/file.php @@ -94,6 +94,9 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent { $file['mtime'] = $item['mtime']; $file['encrypted'] = $item['encrypted']; $file['etag'] = $item['etag']; + $file['uid_owner'] = $item['uid_owner']; + $file['displayname_owner'] = $item['displayname_owner']; + $storage = \OC\Files\Filesystem::getStorage('/'); $cache = $storage->getCache(); if ($item['encrypted'] or ($item['unencrypted_size'] > 0 and $cache->getMimetype($item['mimetype']) === 'httpd/unix-directory')) { diff --git a/apps/files_sharing/templates/authenticate.php b/apps/files_sharing/templates/authenticate.php index 19b1fb2763..055329ecab 100644 --- a/apps/files_sharing/templates/authenticate.php +++ b/apps/files_sharing/templates/authenticate.php @@ -12,7 +12,7 @@ placeholder="" value="" autocomplete="off" autocapitalize="off" autocorrect="off" autofocus /> - +

diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php index 3eb84ce167..fc8d59e1e8 100644 --- a/apps/files_sharing/templates/public.php +++ b/apps/files_sharing/templates/public.php @@ -9,7 +9,7 @@ -