diff --git a/apps/files/ajax/delete.php b/apps/files/ajax/delete.php
index 575b8c8d9ea..da7e9d6b2aa 100644
--- a/apps/files/ajax/delete.php
+++ b/apps/files/ajax/delete.php
@@ -12,10 +12,12 @@ $files = isset($_POST["file"]) ? stripslashes($_POST["file"]) : stripslashes($_P
$files = json_decode($files);
$filesWithError = '';
+
$success = true;
+
//Now delete
foreach ($files as $file) {
- if (!OC_Files::delete($dir, $file)) {
+ if (($dir === '' && $file === 'Shared') || !\OC\Files\Filesystem::unlink($dir . '/' . $file)) {
$filesWithError .= $file . "\n";
$success = false;
}
diff --git a/apps/files/ajax/list.php b/apps/files/ajax/list.php
index cade7e872b3..878e4cb2159 100644
--- a/apps/files/ajax/list.php
+++ b/apps/files/ajax/list.php
@@ -32,7 +32,7 @@ if($doBreadcrumb) {
// make filelist
$files = array();
-foreach( OC_Files::getdirectorycontent( $dir ) as $i ) {
+foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $i ) {
$i["date"] = OCP\Util::formatDate($i["mtime"] );
$files[] = $i;
}
diff --git a/apps/files/ajax/move.php b/apps/files/ajax/move.php
index 74374c57b8b..78ed218c136 100644
--- a/apps/files/ajax/move.php
+++ b/apps/files/ajax/move.php
@@ -11,15 +11,19 @@ $dir = stripslashes($_POST["dir"]);
$file = stripslashes($_POST["file"]);
$target = stripslashes(rawurldecode($_POST["target"]));
-$l=OC_L10N::get('files');
-
-if(OC_Filesystem::file_exists($target . '/' . $file)) {
- OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s - File with this name already exists", array($file)) )));
+if(\OC\Files\Filesystem::file_exists($target . '/' . $file)) {
+ OCP\JSON::error(array("data" => array( "message" => "Could not move $file - File with this name already exists" )));
exit;
}
-if(OC_Files::move($dir, $file, $target, $file)) {
- OCP\JSON::success(array("data" => array( "dir" => $dir, "files" => $file )));
-} else {
- OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s", array($file)) )));
+if ($dir != '' || $file != 'Shared') {
+ $targetFile = \OC\Files\Filesystem::normalizePath($target . '/' . $file);
+ $sourceFile = \OC\Files\Filesystem::normalizePath($dir . '/' . $file);
+ if(\OC\Files\Filesystem::rename($sourceFile, $targetFile)) {
+ OCP\JSON::success(array("data" => array( "dir" => $dir, "files" => $file )));
+ } else {
+ OCP\JSON::error(array("data" => array( "message" => "Could not move $file" )));
+ }
+}else{
+ OCP\JSON::error(array("data" => array( "message" => "Could not move $file" )));
}
diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php
index 2bac9bb20ba..38714f34a63 100644
--- a/apps/files/ajax/newfile.php
+++ b/apps/files/ajax/newfile.php
@@ -63,13 +63,12 @@ if($source) {
$ctx = stream_context_create(null, array('notification' =>'progress'));
$sourceStream=fopen($source, 'rb', false, $ctx);
$target=$dir.'/'.$filename;
- $result=OC_Filesystem::file_put_contents($target, $sourceStream);
+ $result=\OC\Files\Filesystem::file_put_contents($target, $sourceStream);
if($result) {
- $target = OC_Filesystem::normalizePath($target);
- $meta = OC_FileCache::get($target);
+ $meta = \OC\Files\Filesystem::getFileInfo($target);
$mime=$meta['mimetype'];
- $id = OC_FileCache::getId($target);
- $eventSource->send('success', array('mime'=>$mime, 'size'=>OC_Filesystem::filesize($target), 'id' => $id));
+ $id = $meta['fileid'];
+ $eventSource->send('success', array('mime'=>$mime, 'size'=>\OC\Files\Filesystem::filesize($target), 'id' => $id));
} else {
$eventSource->send('error', "Error while downloading ".$source. ' to '.$target);
}
@@ -77,15 +76,15 @@ if($source) {
exit();
} else {
if($content) {
- if(OC_Filesystem::file_put_contents($dir.'/'.$filename, $content)) {
- $meta = OC_FileCache::get($dir.'/'.$filename);
- $id = OC_FileCache::getId($dir.'/'.$filename);
+ if(\OC\Files\Filesystem::file_put_contents($dir.'/'.$filename, $content)) {
+ $meta = \OC\Files\Filesystem::getFileInfo($dir.'/'.$filename);
+ $id = $meta['fileid'];
OCP\JSON::success(array("data" => array('content'=>$content, 'id' => $id)));
exit();
}
- }elseif(OC_Files::newFile($dir, $filename, 'file')) {
- $meta = OC_FileCache::get($dir.'/'.$filename);
- $id = OC_FileCache::getId($dir.'/'.$filename);
+ }elseif(\OC\Files\Filesystem::touch($dir . '/' . $filename)) {
+ $meta = \OC\Files\Filesystem::getFileInfo($dir.'/'.$filename);
+ $id = $meta['fileid'];
OCP\JSON::success(array("data" => array('content'=>$content, 'id' => $id)));
exit();
}
diff --git a/apps/files/ajax/newfolder.php b/apps/files/ajax/newfolder.php
index 0f1f2f14eb0..e26e1238bc6 100644
--- a/apps/files/ajax/newfolder.php
+++ b/apps/files/ajax/newfolder.php
@@ -19,13 +19,14 @@ if(strpos($foldername, '/')!==false) {
exit();
}
-if(OC_Files::newFile($dir, stripslashes($foldername), 'dir')) {
+if(\OC\Files\Filesystem::mkdir($dir . '/' . stripslashes($foldername))) {
if ( $dir != '/') {
$path = $dir.'/'.$foldername;
} else {
$path = '/'.$foldername;
}
- $id = OC_FileCache::getId($path);
+ $meta = \OC\Files\Filesystem::getFileInfo($path);
+ $id = $meta['fileid'];
OCP\JSON::success(array("data" => array('id'=>$id)));
exit();
}
diff --git a/apps/files/ajax/rawlist.php b/apps/files/ajax/rawlist.php
index e0aa0bdac52..1cd2944483c 100644
--- a/apps/files/ajax/rawlist.php
+++ b/apps/files/ajax/rawlist.php
@@ -15,7 +15,7 @@ $mimetype = isset($_GET['mimetype']) ? $_GET['mimetype'] : '';
// make filelist
$files = array();
-foreach( OC_Files::getdirectorycontent( $dir, $mimetype ) as $i ) {
+foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, $mimetype ) as $i ) {
$i["date"] = OCP\Util::formatDate($i["mtime"] );
$i['mimetype_icon'] = $i['type'] == 'dir' ? \mimetype_icon('dir'): \mimetype_icon($i['mimetype']);
$files[] = $i;
diff --git a/apps/files/ajax/rename.php b/apps/files/ajax/rename.php
index 89b4d4bba73..970aaa638da 100644
--- a/apps/files/ajax/rename.php
+++ b/apps/files/ajax/rename.php
@@ -11,10 +11,14 @@ $dir = stripslashes($_GET["dir"]);
$file = stripslashes($_GET["file"]);
$newname = stripslashes($_GET["newname"]);
-// Delete
-if( $newname !== '.' and OC_Files::move( $dir, $file, $dir, $newname )) {
- OCP\JSON::success(array("data" => array( "dir" => $dir, "file" => $file, "newname" => $newname )));
-} else {
- $l=OC_L10N::get('files');
- OCP\JSON::error(array("data" => array( "message" => $l->t("Unable to rename file") )));
+if ( $newname !== '.' and ($dir != '' || $file != 'Shared') and $newname !== '.') {
+ $targetFile = \OC\Files\Filesystem::normalizePath($dir . '/' . $newname);
+ $sourceFile = \OC\Files\Filesystem::normalizePath($dir . '/' . $file);
+ if(\OC\Files\Filesystem::rename($sourceFile, $targetFile)) {
+ OCP\JSON::success(array("data" => array( "dir" => $dir, "file" => $file, "newname" => $newname )));
+ } else {
+ OCP\JSON::error(array("data" => array( "message" => "Unable to rename file" )));
+ }
+}else{
+ OCP\JSON::error(array("data" => array( "message" => "Unable to rename file" )));
}
diff --git a/apps/files/ajax/scan.php b/apps/files/ajax/scan.php
index a819578e309..391b98608bd 100644
--- a/apps/files/ajax/scan.php
+++ b/apps/files/ajax/scan.php
@@ -1,44 +1,71 @@
getAbsolutePath($dir);
+
+$mountPoints = \OC\Files\Filesystem::getMountPoints($absolutePath);
+$mountPoints[] = \OC\Files\Filesystem::getMountPoint($absolutePath);
+$mountPoints = array_reverse($mountPoints); //start with the mount point of $dir
+
+foreach ($mountPoints as $mountPoint) {
+ $storage = \OC\Files\Filesystem::getStorage($mountPoint);
+ if ($storage) {
+ ScanListener::$mountPoints[$storage->getId()] = $mountPoint;
+ $scanner = $storage->getScanner();
+ if ($force) {
+ $scanner->scan('');
+ } else {
+ $scanner->backgroundScan();
}
-
- OC_FileCache::scan($dir, $eventSource);
- OC_FileCache::clean();
- OCP\DB::commit();
- $eventSource->send('success', true);
- } else {
- OCP\JSON::success(array('data'=>array('done'=>true)));
- exit;
- }
-} else {
- if($checkOnly) {
- OCP\JSON::success(array('data'=>array('done'=>false)));
- exit;
- }
- if(isset($eventSource)) {
- $eventSource->send('success', false);
- } else {
- exit;
}
}
+
+$eventSource->send('done', ScanListener::$fileCount);
$eventSource->close();
+
+class ScanListener {
+
+ static public $fileCount = 0;
+ static public $lastCount = 0;
+
+ /**
+ * @var \OC\Files\View $view
+ */
+ static public $view;
+
+ /**
+ * @var array $mountPoints map storage ids to mountpoints
+ */
+ static public $mountPoints = array();
+
+ /**
+ * @var \OC_EventSource event source to pass events to
+ */
+ static public $eventSource;
+
+ static function folder($params) {
+ $internalPath = $params['path'];
+ $mountPoint = self::$mountPoints[$params['storage']];
+ $path = self::$view->getRelativePath($mountPoint . $internalPath);
+ self::$eventSource->send('folder', $path);
+ }
+
+ static function file() {
+ self::$fileCount++;
+ if (self::$fileCount > self::$lastCount + 20) { //send a count update every 20 files
+ self::$lastCount = self::$fileCount;
+ self::$eventSource->send('count', self::$fileCount);
+ }
+ }
+}
diff --git a/apps/files/ajax/upgrade.php b/apps/files/ajax/upgrade.php
new file mode 100644
index 00000000000..7237b02c0b0
--- /dev/null
+++ b/apps/files/ajax/upgrade.php
@@ -0,0 +1,44 @@
+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 415524be629..676612c0e42 100644
--- a/apps/files/ajax/upload.php
+++ b/apps/files/ajax/upload.php
@@ -10,6 +10,8 @@ OCP\JSON::checkLoggedIn();
OCP\JSON::callCheck();
$l = OC_L10N::get('files');
+
+$dir = $_POST['dir'];
// get array with current storage stats (e.g. max file size)
$storageStats = \OCA\files\lib\Helper::buildFileStorageStatistics($dir);
@@ -21,13 +23,13 @@ if (!isset($_FILES['files'])) {
foreach ($_FILES['files']['error'] as $error) {
if ($error != 0) {
$errors = array(
- UPLOAD_ERR_OK => $l->t('There is no error, the file uploaded with success'),
- UPLOAD_ERR_INI_SIZE => $l->t('The uploaded file exceeds the upload_max_filesize directive in php.ini: ')
+ UPLOAD_ERR_OK => $l->t('There is no error, the file uploaded with success'),
+ UPLOAD_ERR_INI_SIZE => $l->t('The uploaded file exceeds the upload_max_filesize directive in php.ini: ')
. ini_get('upload_max_filesize'),
- UPLOAD_ERR_FORM_SIZE => $l->t('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified'
+ UPLOAD_ERR_FORM_SIZE => $l->t('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified'
. ' in the HTML form'),
- UPLOAD_ERR_PARTIAL => $l->t('The uploaded file was only partially uploaded'),
- UPLOAD_ERR_NO_FILE => $l->t('No file was uploaded'),
+ UPLOAD_ERR_PARTIAL => $l->t('The uploaded file was only partially uploaded'),
+ UPLOAD_ERR_NO_FILE => $l->t('No file was uploaded'),
UPLOAD_ERR_NO_TMP_DIR => $l->t('Missing a temporary folder'),
UPLOAD_ERR_CANT_WRITE => $l->t('Failed to write to disk'),
);
@@ -37,15 +39,19 @@ foreach ($_FILES['files']['error'] as $error) {
}
$files = $_FILES['files'];
-$dir = $_POST['dir'];
$error = '';
+$maxUploadFilesize = OCP\Util::maxUploadFilesize($dir);
+$maxHumanFilesize = OCP\Util::humanFileSize($maxUploadFilesize);
+
$totalSize = 0;
foreach ($files['size'] as $size) {
$totalSize += $size;
}
-if ($totalSize > OC_Filesystem::free_space($dir)) {
- OCP\JSON::error(array('data' => array_merge(array('message' => $l->t('Not enough storage available')), $storageStats)));
+if ($totalSize > \OC\Files\Filesystem::free_space($dir)) {
+ OCP\JSON::error(array('data' => array('message' => $l->t('Not enough space available'),
+ 'uploadMaxFilesize' => $maxUploadFilesize,
+ 'maxHumanFilesize' => $maxHumanFilesize)));
exit();
}
@@ -55,19 +61,19 @@ if (strpos($dir, '..') === false) {
for ($i = 0; $i < $fileCount; $i++) {
$target = OCP\Files::buildNotExistingFileName(stripslashes($dir), $files['name'][$i]);
// $path needs to be normalized - this failed within drag'n'drop upload to a sub-folder
- $target = OC_Filesystem::normalizePath($target);
- if (is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i], $target)) {
- $meta = OC_FileCache::get($target);
- $id = OC_FileCache::getId($target);
-
+ $target = \OC\Files\Filesystem::normalizePath($target);
+ if (is_uploaded_file($files['tmp_name'][$i]) and \OC\Files\Filesystem::fromTmpFile($files['tmp_name'][$i], $target)) {
+ $meta = \OC\Files\Filesystem::getFileInfo($target);
// updated max file size after upload
$storageStats = \OCA\files\lib\Helper::buildFileStorageStatistics($dir);
- $result[] = array_merge(array('status' => 'success',
- 'mime' => $meta['mimetype'],
- 'size' => $meta['size'],
- 'id' => $id,
- 'name' => basename($target)), $storageStats
+ $result[] = array('status' => 'success',
+ 'mime' => $meta['mimetype'],
+ 'size' => $meta['size'],
+ 'id' => $meta['fileid'],
+ 'name' => basename($target),
+ 'uploadMaxFilesize' => $maxUploadFilesize,
+ 'maxHumanFilesize' => $maxHumanFilesize
);
}
}
diff --git a/apps/files/appinfo/app.php b/apps/files/appinfo/app.php
index 108f02930e2..da17a7f2ccd 100644
--- a/apps/files/appinfo/app.php
+++ b/apps/files/appinfo/app.php
@@ -1,12 +1,12 @@
"files_index",
"order" => 0,
"href" => OCP\Util::linkTo( "files", "index.php" ),
- "icon" => OCP\Util::imagePath( "core", "places/home.svg" ),
+ "icon" => OCP\Util::imagePath( "core", "places/files.svg" ),
"name" => $l->t("Files") ));
OC_Search::registerProvider('OC_Search_Provider_File');
diff --git a/apps/files/appinfo/filesync.php b/apps/files/appinfo/filesync.php
index cbed56a6de5..47884a4f15e 100644
--- a/apps/files/appinfo/filesync.php
+++ b/apps/files/appinfo/filesync.php
@@ -43,7 +43,7 @@ if ($type != 'oc_chunked') {
die;
}
-if (!OC_Filesystem::is_file($file)) {
+if (!\OC\Files\Filesystem::is_file($file)) {
OC_Response::setStatus(OC_Response::STATUS_NOT_FOUND);
die;
}
@@ -51,7 +51,7 @@ if (!OC_Filesystem::is_file($file)) {
switch($_SERVER['REQUEST_METHOD']) {
case 'PUT':
$input = fopen("php://input", "r");
- $org_file = OC_Filesystem::fopen($file, 'rb');
+ $org_file = \OC\Files\Filesystem::fopen($file, 'rb');
$info = array(
'name' => basename($file),
);
diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml
index 0a1b196b06f..7c82c839dab 100644
--- a/apps/files/appinfo/info.xml
+++ b/apps/files/appinfo/info.xml
@@ -5,7 +5,7 @@
';
+ deleteAction[0].outerHTML = newHTML;
+ }
// Finish any existing actions
if (FileList.lastAction) {
FileList.lastAction();
}
- FileList.prepareDeletion(files);
-
- if (!FileList.useUndo) {
- FileList.lastAction();
- } else {
- // NOTE: Temporary fix to change the text to unshared for files in root of Shared folder
- if ($('#dir').val() == '/Shared') {
- OC.Notification.showHtml(t('files', 'unshared {files}', {'files': escapeHTML(files)})+''+t('files', 'undo')+'');
- } else {
- OC.Notification.showHtml(t('files', 'deleted {files}', {'files': escapeHTML(files)})+''+t('files', 'undo')+'');
- }
- }
- },
- finishDelete:function(ready,sync){
- if(!FileList.deleteCanceled && FileList.deleteFiles){
- var fileNames=JSON.stringify(FileList.deleteFiles);
- $.ajax({
- url: OC.filePath('files', 'ajax', 'delete.php'),
- async:!sync,
- type:'post',
- data: {dir:$('#dir').val(),files:fileNames},
- complete: function(data){
- boolOperationFinished(data, function(){
- OC.Notification.hide();
- $.each(FileList.deleteFiles,function(index,file){
- FileList.remove(file);
+ var fileNames = JSON.stringify(files);
+ $.post(OC.filePath('files', 'ajax', 'delete.php'),
+ {dir:$('#dir').val(),files:fileNames},
+ function(result){
+ if (result.status == 'success') {
+ $.each(files,function(index,file){
+ var files = $('tr').filterAttr('data-file',file);
+ files.hide();
+ files.find('input[type="checkbox"]').removeAttr('checked');
+ files.removeClass('selected');
});
- FileList.deleteCanceled=true;
- FileList.deleteFiles=null;
- FileList.lastAction = null;
- if(ready){
- ready();
- }
- });
- }
- });
- }
- },
- prepareDeletion:function(files){
- if(files.substr){
- files=[files];
- }
- $.each(files,function(index,file){
- var files = $('tr').filterAttr('data-file',file);
- files.hide();
- files.find('input[type="checkbox"]').removeAttr('checked');
- files.removeClass('selected');
- });
- procesSelection();
- FileList.deleteCanceled=false;
- FileList.deleteFiles=files;
- FileList.lastAction = function() {
- FileList.finishDelete(null, true);
- };
+ procesSelection();
+ } else {
+ $.each(files,function(index,file) {
+ var deleteAction = $('tr').filterAttr('data-file',file).children("td.date").children(".move2trash");
+ deleteAction[0].outerHTML = oldHTML;
+ });
+ }
+ });
}
};
$(document).ready(function(){
$('#notification').hide();
- $('#notification .undo').live('click', function(){
+ $('#notification').on('click', '.undo', function(){
if (FileList.deleteFiles) {
$.each(FileList.deleteFiles,function(index,file){
$('tr').filterAttr('data-file',file).show();
@@ -361,16 +335,16 @@ $(document).ready(function(){
FileList.lastAction = null;
OC.Notification.hide();
});
- $('#notification .replace').live('click', function() {
+ $('#notification').on('click', '.replace', function() {
OC.Notification.hide(function() {
FileList.replace($('#notification').data('oldName'), $('#notification').data('newName'), $('#notification').data('isNewFile'));
});
});
- $('#notification .suggest').live('click', function() {
+ $('#notification').on('click', '.suggest', function() {
$('tr').filterAttr('data-file', $('#notification').data('oldName')).show();
OC.Notification.hide();
});
- $('#notification .cancel').live('click', function() {
+ $('#notification').on('click', '.cancel', function() {
if ($('#notification').data('isNewFile')) {
FileList.deleteCanceled = false;
FileList.deleteFiles = [$('#notification').data('oldName')];
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 13367b33628..7c377afc620 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -110,15 +110,20 @@ $(document).ready(function() {
}
// Triggers invisible file input
- $('#upload a').live('click', function() {
+ $('#upload a').on('click', function() {
$(this).parent().children('#file_upload_start').trigger('click');
return false;
});
+
+ // Show trash bin
+ $('#trash a').live('click', function() {
+ window.location=OC.filePath('files_trashbin', '', 'index.php');
+ });
var lastChecked;
// Sets the file link behaviour :
- $('td.filename a').live('click',function(event) {
+ $('#fileList').on('click','td.filename a',function(event) {
if (event.ctrlKey || event.shiftKey) {
event.preventDefault();
if (event.shiftKey) {
@@ -184,7 +189,7 @@ $(document).ready(function() {
procesSelection();
});
- $('td.filename input:checkbox').live('change',function(event) {
+ $('#fileList').on('change', 'td.filename input:checkbox',function(event) {
if (event.shiftKey) {
var last = $(lastChecked).parent().parent().prevAll().length;
var first = $(this).parent().parent().prevAll().length;
@@ -670,12 +675,8 @@ $(document).ready(function() {
});
});
- //check if we need to scan the filesystem
- $.get(OC.filePath('files','ajax','scan.php'),{checkonly:'true'}, function(response) {
- if(response.data.done){
- scanFiles();
- }
- }, "json");
+ //do a background scan if needed
+ scanFiles();
var lastWidth = 0;
var breadcrumbs = [];
@@ -774,27 +775,27 @@ $(document).ready(function() {
}
});
-function scanFiles(force,dir){
- if(!dir){
- dir='';
+function scanFiles(force, dir){
+ if (!OC.currentUser) {
+ return;
}
- force=!!force; //cast to bool
- scanFiles.scanning=true;
- $('#scanning-message').show();
- $('#fileList').remove();
- var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force,dir:dir});
- scanFiles.cancel=scannerEventSource.close.bind(scannerEventSource);
- scannerEventSource.listen('scanning',function(data){
- $('#scan-count').text(t('files', '{count} files scanned', {count: data.count}));
- $('#scan-current').text(data.file+'/');
+
+ if(!dir){
+ dir = '';
+ }
+ force = !!force; //cast to bool
+ scanFiles.scanning = true;
+ var scannerEventSource = new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force,dir:dir});
+ scanFiles.cancel = scannerEventSource.close.bind(scannerEventSource);
+ scannerEventSource.listen('count',function(count){
+ console.log(count + 'files scanned')
});
- scannerEventSource.listen('success',function(success){
+ scannerEventSource.listen('folder',function(path){
+ console.log('now scanning ' + path)
+ });
+ scannerEventSource.listen('done',function(count){
scanFiles.scanning=false;
- if(success){
- window.location.reload();
- }else{
- alert(t('files', 'error while scanning'));
- }
+ console.log('done after ' + count + 'files');
});
}
scanFiles.scanning=false;
diff --git a/apps/files/js/upgrade.js b/apps/files/js/upgrade.js
new file mode 100644
index 00000000000..02d57fc9e6c
--- /dev/null
+++ b/apps/files/js/upgrade.js
@@ -0,0 +1,17 @@
+$(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/js/upload.js b/apps/files/js/upload.js
new file mode 100644
index 00000000000..9d9f61f600e
--- /dev/null
+++ b/apps/files/js/upload.js
@@ -0,0 +1,8 @@
+function Upload(fileSelector) {
+ if ($.support.xhrFileUpload) {
+ return new XHRUpload(fileSelector.target.files);
+ } else {
+ return new FormUpload(fileSelector);
+ }
+}
+Upload.target = OC.filePath('files', 'ajax', 'upload.php');
diff --git a/apps/files/l10n/bn_BD.php b/apps/files/l10n/bn_BD.php
index d59463bb7a0..3d676810c7c 100644
--- a/apps/files/l10n/bn_BD.php
+++ b/apps/files/l10n/bn_BD.php
@@ -1,7 +1,4 @@
"%s কে স্থানান্তর করা সম্ভব হলো না - এই নামের ফাইল বিদ্যমান",
-"Could not move %s" => "%s কে স্থানান্তর করা সম্ভব হলো না",
-"Unable to rename file" => "ফাইলের নাম পরিবর্তন করা সম্ভব হলো না",
"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 নির্দেশিত আয়তন অতিক্রম করছেঃ",
@@ -10,6 +7,7 @@
"No file was uploaded" => "কোন ফাইল আপলোড করা হয় নি",
"Missing a temporary folder" => "অস্থায়ী ফোল্ডার খোয়া গিয়েছে",
"Failed to write to disk" => "ডিস্কে লিখতে ব্যর্থ",
+"Not enough space available" => "যথেষ্ঠ পরিমাণ স্থান নেই",
"Invalid directory." => "ভুল ডিরেক্টরি",
"Files" => "ফাইল",
"Unshare" => "ভাগাভাগি বাতিল ",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "{new_name} প্রতিস্থাপন করা হয়েছে",
"undo" => "ক্রিয়া প্রত্যাহার",
"replaced {new_name} with {old_name}" => "{new_name} কে {old_name} নামে প্রতিস্থাপন করা হয়েছে",
-"unshared {files}" => "{files} ভাগাভাগি বাতিল কর",
-"deleted {files}" => "{files} মুছে ফেলা হয়েছে",
"'.' is an invalid file name." => "টি একটি অননুমোদিত নাম।",
"File name cannot be empty." => "ফাইলের নামটি ফাঁকা রাখা যাবে না।",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "নামটি সঠিক নয়, '\\', '/', '<', '>', ':', '\"', '|', '?' এবং '*' অনুমোদিত নয়।",
@@ -37,8 +33,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।",
"URL cannot be empty." => "URL ফাঁকা রাখা যাবে না।",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "ফোল্ডারের নামটি সঠিক নয়। 'ভাগাভাগি করা' শুধুমাত্র Owncloud এর জন্য সংরক্ষিত।",
-"{count} files scanned" => "{count} টি ফাইল স্ক্যান করা হয়েছে",
-"error while scanning" => "স্ক্যান করার সময় সমস্যা দেখা দিয়েছে",
"Name" => "নাম",
"Size" => "আকার",
"Modified" => "পরিবর্তিত",
diff --git a/apps/files/l10n/ca.php b/apps/files/l10n/ca.php
index ceec0264788..22b684fcfd7 100644
--- a/apps/files/l10n/ca.php
+++ b/apps/files/l10n/ca.php
@@ -1,7 +1,4 @@
"No s'ha pogut moure %s - Ja hi ha un fitxer amb aquest nom",
-"Could not move %s" => " No s'ha pogut moure %s",
-"Unable to rename file" => "No es pot canviar el nom del fitxer",
"No file was uploaded. Unknown error" => "No s'ha carregat cap fitxer. Error desconegut",
"There is no error, the file uploaded with success" => "El fitxer s'ha pujat correctament",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "L’arxiu que voleu carregar supera el màxim definit en la directiva upload_max_filesize del php.ini:",
@@ -10,7 +7,7 @@
"No file was uploaded" => "El fitxer no s'ha pujat",
"Missing a temporary folder" => "S'ha perdut un fitxer temporal",
"Failed to write to disk" => "Ha fallat en escriure al disc",
-"Not enough storage available" => "No hi ha prou espai disponible",
+"Not enough space available" => "No hi ha prou espai disponible",
"Invalid directory." => "Directori no vàlid.",
"Files" => "Fitxers",
"Unshare" => "Deixa de compartir",
@@ -23,8 +20,7 @@
"replaced {new_name}" => "s'ha substituït {new_name}",
"undo" => "desfés",
"replaced {new_name} with {old_name}" => "s'ha substituït {old_name} per {new_name}",
-"unshared {files}" => "no compartits {files}",
-"deleted {files}" => "eliminats {files}",
+"perform delete operation" => "executa d'operació d'esborrar",
"'.' is an invalid file name." => "'.' és un nom no vàlid per un fitxer.",
"File name cannot be empty." => "El nom del fitxer no pot ser buit.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no estan permesos.",
@@ -41,8 +37,6 @@
"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à.",
"URL cannot be empty." => "La URL no pot ser buida",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nom de carpeta no vàlid. L'ús de 'Shared' està reservat per Owncloud",
-"{count} files scanned" => "{count} fitxers escannejats",
-"error while scanning" => "error durant l'escaneig",
"Name" => "Nom",
"Size" => "Mida",
"Modified" => "Modificat",
@@ -63,11 +57,13 @@
"Text file" => "Fitxer de text",
"Folder" => "Carpeta",
"From link" => "Des d'enllaç",
+"Trash" => "Esborra",
"Cancel upload" => "Cancel·la la pujada",
"Nothing in here. Upload something!" => "Res per aquí. Pugeu alguna cosa!",
"Download" => "Baixa",
"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"
+"Current scanning" => "Actualment escanejant",
+"Upgrading filesystem cache..." => "Actualitzant la memòria de cau del sistema de fitxers..."
);
diff --git a/apps/files/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php
index 86b254ca8cb..f0beda9f55c 100644
--- a/apps/files/l10n/cs_CZ.php
+++ b/apps/files/l10n/cs_CZ.php
@@ -1,7 +1,4 @@
"Nelze přesunout %s - existuje soubor se stejným názvem",
-"Could not move %s" => "Nelze přesunout %s",
-"Unable to rename file" => "Nelze přejmenovat soubor",
"No file was uploaded. Unknown error" => "Soubor nebyl odeslán. Neznámá chyba",
"There is no error, the file uploaded with success" => "Soubor byl odeslán úspěšně",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Odesílaný soubor přesahuje velikost upload_max_filesize povolenou v php.ini:",
@@ -10,7 +7,7 @@
"No file was uploaded" => "Žádný soubor nebyl odeslán",
"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",
+"Not enough space available" => "Nedostatek dostupného místa",
"Invalid directory." => "Neplatný adresář",
"Files" => "Soubory",
"Unshare" => "Zrušit sdílení",
@@ -23,8 +20,7 @@
"replaced {new_name}" => "nahrazeno {new_name}",
"undo" => "zpět",
"replaced {new_name} with {old_name}" => "nahrazeno {new_name} s {old_name}",
-"unshared {files}" => "sdílení zrušeno pro {files}",
-"deleted {files}" => "smazáno {files}",
+"perform delete operation" => "provést smazání",
"'.' is an invalid file name." => "'.' je neplatným názvem souboru.",
"File name cannot be empty." => "Název souboru nemůže být prázdný řetězec.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny.",
@@ -41,8 +37,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Probíhá odesílání souboru. Opuštění stránky vyústí ve zrušení nahrávání.",
"URL cannot be empty." => "URL nemůže být prázdná",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Neplatný název složky. Použití 'Shared' je rezervováno pro vnitřní potřeby Owncloud",
-"{count} files scanned" => "prozkoumáno {count} souborů",
-"error while scanning" => "chyba při prohledávání",
"Name" => "Název",
"Size" => "Velikost",
"Modified" => "Změněno",
@@ -63,11 +57,13 @@
"Text file" => "Textový soubor",
"Folder" => "Složka",
"From link" => "Z odkazu",
+"Trash" => "Koš",
"Cancel upload" => "Zrušit odesílání",
"Nothing in here. Upload something!" => "Žádný obsah. Nahrajte něco.",
"Download" => "Stáhnout",
"Upload too large" => "Odeslaný 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í"
+"Current scanning" => "Aktuální prohledávání",
+"Upgrading filesystem cache..." => "Aktualizuji mezipaměť souborového systému..."
);
diff --git a/apps/files/l10n/da.php b/apps/files/l10n/da.php
index 2f9ae8fbb8d..71a5a56de57 100644
--- a/apps/files/l10n/da.php
+++ b/apps/files/l10n/da.php
@@ -1,7 +1,4 @@
"Kunne ikke flytte %s - der findes allerede en fil med dette navn",
-"Could not move %s" => "Kunne ikke flytte %s",
-"Unable to rename file" => "Kunne ikke omdøbe fil",
"No file was uploaded. Unknown error" => "Ingen fil blev uploadet. Ukendt fejl.",
"There is no error, the file uploaded with success" => "Der er ingen fejl, filen blev uploadet med success",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Den uploadede fil overstiger upload_max_filesize direktivet i php.ini",
@@ -10,7 +7,6 @@
"No file was uploaded" => "Ingen fil blev uploadet",
"Missing a temporary folder" => "Mangler en midlertidig mappe",
"Failed to write to disk" => "Fejl ved skrivning til disk.",
-"Not enough storage available" => "Der er ikke nok plads til rådlighed",
"Invalid directory." => "Ugyldig mappe.",
"Files" => "Filer",
"Unshare" => "Fjern deling",
@@ -23,8 +19,6 @@
"replaced {new_name}" => "erstattede {new_name}",
"undo" => "fortryd",
"replaced {new_name} with {old_name}" => "erstattede {new_name} med {old_name}",
-"unshared {files}" => "ikke delte {files}",
-"deleted {files}" => "slettede {files}",
"'.' is an invalid file name." => "'.' er et ugyldigt filnavn.",
"File name cannot be empty." => "Filnavnet kan ikke stå tomt.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldigt navn, '\\', '/', '<', '>', ':' | '?', '\"', '', og '*' er ikke tilladt.",
@@ -41,8 +35,6 @@
"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.",
"URL cannot be empty." => "URLen kan ikke være tom.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ugyldigt mappenavn. Brug af \"Shared\" er forbeholdt Owncloud",
-"{count} files scanned" => "{count} filer skannet",
-"error while scanning" => "fejl under scanning",
"Name" => "Navn",
"Size" => "Størrelse",
"Modified" => "Ændret",
diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php
index db2476865fc..55ea24baa2f 100644
--- a/apps/files/l10n/de.php
+++ b/apps/files/l10n/de.php
@@ -1,7 +1,4 @@
"Konnte %s nicht verschieben - Datei mit diesem Namen existiert bereits.",
-"Could not move %s" => "Konnte %s nicht verschieben",
-"Unable to rename file" => "Konnte Datei nicht umbenennen",
"No file was uploaded. Unknown error" => "Keine Datei hochgeladen. Unbekannter Fehler",
"There is no error, the file uploaded with success" => "Datei fehlerfrei hochgeladen.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini",
@@ -10,8 +7,8 @@
"No file was uploaded" => "Es wurde keine Datei hochgeladen.",
"Missing a temporary folder" => "Temporärer Ordner fehlt.",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
-"Not enough storage available" => "Nicht genug Speicherplatz verfügbar",
-"Invalid directory." => "Ungültiges Verzeichnis",
+"Not enough space available" => "Nicht genug Speicherplatz verfügbar",
+"Invalid directory." => "Ungültiges Verzeichnis.",
"Files" => "Dateien",
"Unshare" => "Nicht mehr freigeben",
"Delete" => "Löschen",
@@ -23,10 +20,9 @@
"replaced {new_name}" => "{new_name} wurde ersetzt",
"undo" => "rückgängig machen",
"replaced {new_name} with {old_name}" => "{old_name} ersetzt durch {new_name}",
-"unshared {files}" => "Freigabe von {files} aufgehoben",
-"deleted {files}" => "{files} gelöscht",
-"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname",
-"File name cannot be empty." => "Der Dateiname darf nicht leer sein",
+"perform delete operation" => "Löschvorgang ausführen",
+"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.",
+"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.",
"Your storage is full, files can not be updated or synced anymore!" => "Ihr Speicherplatz ist voll, Dateien können nicht mehr aktualisiert oder synchronisiert werden!",
"Your storage is almost full ({usedSpacePercent}%)" => "Ihr Speicherplatz ist fast aufgebraucht ({usedSpacePercent}%)",
@@ -39,10 +35,8 @@
"{count} files uploading" => "{count} Dateien werden hochgeladen",
"Upload cancelled." => "Upload abgebrochen.",
"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.",
-"URL cannot be empty." => "Die URL darf nicht leer sein",
+"URL cannot be empty." => "Die URL darf nicht leer sein.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ungültiger Verzeichnisname. Die Nutzung von \"Shared\" ist ownCloud vorbehalten.",
-"{count} files scanned" => "{count} Dateien wurden gescannt",
-"error while scanning" => "Fehler beim Scannen",
"Name" => "Name",
"Size" => "Größe",
"Modified" => "Bearbeitet",
@@ -63,11 +57,13 @@
"Text file" => "Textdatei",
"Folder" => "Ordner",
"From link" => "Von einem Link",
+"Trash" => "Papierkorb",
"Cancel upload" => "Upload abbrechen",
"Nothing in here. Upload something!" => "Alles leer. Lade etwas hoch!",
"Download" => "Herunterladen",
"Upload too large" => "Upload 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"
+"Current scanning" => "Scanne",
+"Upgrading filesystem cache..." => "Dateisystem-Cache wird aktualisiert ..."
);
diff --git a/apps/files/l10n/de_DE.php b/apps/files/l10n/de_DE.php
index 72751a7fb6f..18f3ee38028 100644
--- a/apps/files/l10n/de_DE.php
+++ b/apps/files/l10n/de_DE.php
@@ -1,7 +1,4 @@
"Konnte %s nicht verschieben - Datei mit diesem Namen existiert bereits",
-"Could not move %s" => "Konnte %s nicht verschieben",
-"Unable to rename file" => "Konnte Datei nicht umbenennen",
"No file was uploaded. Unknown error" => "Keine Datei hochgeladen. Unbekannter Fehler",
"There is no error, the file uploaded with success" => "Es sind keine Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini",
@@ -10,7 +7,7 @@
"No file was uploaded" => "Es wurde keine Datei hochgeladen.",
"Missing a temporary folder" => "Der temporäre Ordner fehlt.",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
-"Not enough storage available" => "Nicht genug Speicher vorhanden.",
+"Not enough space available" => "Nicht genügend Speicherplatz verfügbar",
"Invalid directory." => "Ungültiges Verzeichnis.",
"Files" => "Dateien",
"Unshare" => "Nicht mehr freigeben",
@@ -23,8 +20,7 @@
"replaced {new_name}" => "{new_name} wurde ersetzt",
"undo" => "rückgängig machen",
"replaced {new_name} with {old_name}" => "{old_name} wurde ersetzt durch {new_name}",
-"unshared {files}" => "Freigabe für {files} beendet",
-"deleted {files}" => "{files} gelöscht",
+"perform delete operation" => "Führe das Löschen aus",
"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.",
"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.",
@@ -41,8 +37,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Der Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.",
"URL cannot be empty." => "Die URL darf nicht leer sein.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ungültiger Verzeichnisname. Die Nutzung von \"Shared\" ist ownCloud vorbehalten",
-"{count} files scanned" => "{count} Dateien wurden gescannt",
-"error while scanning" => "Fehler beim Scannen",
"Name" => "Name",
"Size" => "Größe",
"Modified" => "Bearbeitet",
@@ -63,11 +57,13 @@
"Text file" => "Textdatei",
"Folder" => "Ordner",
"From link" => "Von einem Link",
+"Trash" => "Abfall",
"Cancel upload" => "Upload abbrechen",
"Nothing in here. Upload something!" => "Alles leer. Bitte laden Sie etwas hoch!",
"Download" => "Herunterladen",
"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"
+"Current scanning" => "Scanne",
+"Upgrading filesystem cache..." => "Aktualisiere den Dateisystem-Cache"
);
diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php
index 196831b985d..7b458bf35dd 100644
--- a/apps/files/l10n/el.php
+++ b/apps/files/l10n/el.php
@@ -1,7 +1,4 @@
"Αδυναμία μετακίνησης του %s - υπάρχει ήδη αρχείο με αυτό το όνομα",
-"Could not move %s" => "Αδυναμία μετακίνησης του %s",
-"Unable to rename file" => "Αδυναμία μετονομασίας αρχείου",
"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:",
@@ -10,7 +7,7 @@
"No file was uploaded" => "Κανένα αρχείο δεν στάλθηκε",
"Missing a temporary folder" => "Λείπει ο προσωρινός φάκελος",
"Failed to write to disk" => "Αποτυχία εγγραφής στο δίσκο",
-"Not enough storage available" => "Μη επαρκής διαθέσιμος αποθηκευτικός χώρος",
+"Not enough space available" => "Δεν υπάρχει αρκετός διαθέσιμος χώρος",
"Invalid directory." => "Μη έγκυρος φάκελος.",
"Files" => "Αρχεία",
"Unshare" => "Διακοπή κοινής χρήσης",
@@ -23,8 +20,6 @@
"replaced {new_name}" => "{new_name} αντικαταστάθηκε",
"undo" => "αναίρεση",
"replaced {new_name} with {old_name}" => "αντικαταστάθηκε το {new_name} με {old_name}",
-"unshared {files}" => "μη διαμοιρασμένα {files}",
-"deleted {files}" => "διαγραμμένα {files}",
"'.' is an invalid file name." => "'.' είναι μη έγκυρο όνομα αρχείου.",
"File name cannot be empty." => "Το όνομα αρχείου δεν πρέπει να είναι κενό.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Μη έγκυρο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?' και '*' δεν επιτρέπονται.",
@@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Η αποστολή του αρχείου βρίσκεται σε εξέλιξη. Το κλείσιμο της σελίδας θα ακυρώσει την αποστολή.",
"URL cannot be empty." => "Η URL δεν πρέπει να είναι κενή.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Μη έγκυρο όνομα φακέλου. Η χρήση του 'Κοινόχρηστος' χρησιμοποιείται από ο Owncloud",
-"{count} files scanned" => "{count} αρχεία ανιχνεύτηκαν",
-"error while scanning" => "σφάλμα κατά την ανίχνευση",
"Name" => "Όνομα",
"Size" => "Μέγεθος",
"Modified" => "Τροποποιήθηκε",
diff --git a/apps/files/l10n/eo.php b/apps/files/l10n/eo.php
index fc4367c55a3..a510d47ad6c 100644
--- a/apps/files/l10n/eo.php
+++ b/apps/files/l10n/eo.php
@@ -1,7 +1,4 @@
"Ne eblis movi %s: dosiero kun ĉi tiu nomo jam ekzistas",
-"Could not move %s" => "Ne eblis movi %s",
-"Unable to rename file" => "Ne eblis alinomigi dosieron",
"No file was uploaded. Unknown error" => "Neniu dosiero alŝutiĝis. Nekonata eraro.",
"There is no error, the file uploaded with success" => "Ne estas eraro, la dosiero alŝutiĝis sukcese",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "La dosiero alŝutita superas la regulon upload_max_filesize el php.ini: ",
@@ -10,6 +7,7 @@
"No file was uploaded" => "Neniu dosiero estas alŝutita",
"Missing a temporary folder" => "Mankas tempa dosierujo",
"Failed to write to disk" => "Malsukcesis skribo al disko",
+"Not enough space available" => "Ne haveblas sufiĉa spaco",
"Invalid directory." => "Nevalida dosierujo.",
"Files" => "Dosieroj",
"Unshare" => "Malkunhavigi",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "anstataŭiĝis {new_name}",
"undo" => "malfari",
"replaced {new_name} with {old_name}" => "anstataŭiĝis {new_name} per {old_name}",
-"unshared {files}" => "malkunhaviĝis {files}",
-"deleted {files}" => "foriĝis {files}",
"'.' is an invalid file name." => "'.' ne estas valida dosiernomo.",
"File name cannot be empty." => "Dosiernomo devas ne malpleni.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nevalida nomo: “\\”, “/”, “<”, “>”, “:”, “\"”, “|”, “?” kaj “*” ne permesatas.",
@@ -38,8 +34,6 @@
"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.",
"URL cannot be empty." => "URL ne povas esti malplena.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nevalida dosierujnomo. Uzo de “Shared” rezervatas de Owncloud.",
-"{count} files scanned" => "{count} dosieroj skaniĝis",
-"error while scanning" => "eraro dum skano",
"Name" => "Nomo",
"Size" => "Grando",
"Modified" => "Modifita",
diff --git a/apps/files/l10n/es.php b/apps/files/l10n/es.php
index 1620208559f..bc5046767c6 100644
--- a/apps/files/l10n/es.php
+++ b/apps/files/l10n/es.php
@@ -1,7 +1,4 @@
"No se puede mover %s - Ya existe un archivo con ese nombre",
-"Could not move %s" => "No se puede mover %s",
-"Unable to rename file" => "No se puede renombrar el archivo",
"No file was uploaded. Unknown error" => "Fallo no se subió el fichero",
"There is no error, the file uploaded with success" => "No se ha producido ningún error, el archivo se ha subido con éxito",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "El archivo que intentas subir sobrepasa el tamaño definido por la variable upload_max_filesize en php.ini",
@@ -10,6 +7,7 @@
"No file was uploaded" => "No se ha subido ningún archivo",
"Missing a temporary folder" => "Falta un directorio temporal",
"Failed to write to disk" => "La escritura en disco ha fallado",
+"Not enough space available" => "No hay suficiente espacio disponible",
"Invalid directory." => "Directorio invalido.",
"Files" => "Archivos",
"Unshare" => "Dejar de compartir",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "reemplazado {new_name}",
"undo" => "deshacer",
"replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}",
-"unshared {files}" => "{files} descompartidos",
-"deleted {files}" => "{files} eliminados",
"'.' is an invalid file name." => "'.' es un nombre de archivo inválido.",
"File name cannot be empty." => "El nombre de archivo no puede estar vacío.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre Invalido, \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ",
@@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Salir de la página ahora cancelará la subida.",
"URL cannot be empty." => "La URL no puede estar vacía.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nombre de carpeta invalido. El uso de \"Shared\" esta reservado para Owncloud",
-"{count} files scanned" => "{count} archivos escaneados",
-"error while scanning" => "error escaneando",
"Name" => "Nombre",
"Size" => "Tamaño",
"Modified" => "Modificado",
diff --git a/apps/files/l10n/es_AR.php b/apps/files/l10n/es_AR.php
index cd8347a14ad..ea8352e3251 100644
--- a/apps/files/l10n/es_AR.php
+++ b/apps/files/l10n/es_AR.php
@@ -1,7 +1,4 @@
"No se pudo mover %s - Un archivo con este nombre ya existe",
-"Could not move %s" => "No se pudo mover %s ",
-"Unable to rename file" => "No fue posible cambiar el nombre al archivo",
"No file was uploaded. Unknown error" => "El archivo no fue subido. Error desconocido",
"There is no error, the file uploaded with success" => "No se han producido errores, el archivo se ha subido con éxito",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "El archivo que intentás subir excede el tamaño definido por upload_max_filesize en el php.ini:",
@@ -10,6 +7,7 @@
"No file was uploaded" => "El archivo no fue subido",
"Missing a temporary folder" => "Falta un directorio temporal",
"Failed to write to disk" => "Error al escribir en el disco",
+"Not enough space available" => "No hay suficiente espacio disponible",
"Invalid directory." => "Directorio invalido.",
"Files" => "Archivos",
"Unshare" => "Dejar de compartir",
@@ -22,11 +20,11 @@
"replaced {new_name}" => "reemplazado {new_name}",
"undo" => "deshacer",
"replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}",
-"unshared {files}" => "{files} se dejaron de compartir",
-"deleted {files}" => "{files} borrados",
"'.' is an invalid file name." => "'.' es un nombre de archivo inválido.",
"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.",
+"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}%)",
"Your download is being prepared. This might take some time if the files are big." => "Tu descarga esta siendo preparada. Esto puede tardar algun tiempo si los archivos son muy grandes.",
"Unable to upload your file as it is a directory or has 0 bytes" => "No fue posible subir el archivo porque es un directorio o porque su tamaño es 0 bytes",
"Upload Error" => "Error al subir el archivo",
@@ -38,8 +36,6 @@
"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",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nombre de carpeta inválido. El uso de 'Shared' está reservado por ownCloud",
-"{count} files scanned" => "{count} archivos escaneados",
-"error while scanning" => "error mientras se escaneaba",
"Name" => "Nombre",
"Size" => "Tamaño",
"Modified" => "Modificado",
diff --git a/apps/files/l10n/et_EE.php b/apps/files/l10n/et_EE.php
index 1df237baa82..54dd7cfdc56 100644
--- a/apps/files/l10n/et_EE.php
+++ b/apps/files/l10n/et_EE.php
@@ -17,8 +17,6 @@
"replaced {new_name}" => "asendatud nimega {new_name}",
"undo" => "tagasi",
"replaced {new_name} with {old_name}" => "asendas nime {old_name} nimega {new_name}",
-"unshared {files}" => "jagamata {files}",
-"deleted {files}" => "kustutatud {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Vigane nimi, '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' pole lubatud.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Sinu faili üleslaadimine ebaõnnestus, kuna see on kaust või selle suurus on 0 baiti",
"Upload Error" => "Üleslaadimise viga",
@@ -29,8 +27,6 @@
"Upload cancelled." => "Üleslaadimine tühistati.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise.",
"URL cannot be empty." => "URL ei saa olla tühi.",
-"{count} files scanned" => "{count} faili skännitud",
-"error while scanning" => "viga skännimisel",
"Name" => "Nimi",
"Size" => "Suurus",
"Modified" => "Muudetud",
diff --git a/apps/files/l10n/eu.php b/apps/files/l10n/eu.php
index 8b8f6d2bd17..6f4c55f4846 100644
--- a/apps/files/l10n/eu.php
+++ b/apps/files/l10n/eu.php
@@ -1,7 +1,4 @@
"Ezin da %s mugitu - Izen hau duen fitxategia dagoeneko existitzen da",
-"Could not move %s" => "Ezin dira fitxategiak mugitu %s",
-"Unable to rename file" => "Ezin izan da fitxategia berrizendatu",
"No file was uploaded. Unknown error" => "Ez da fitxategirik igo. Errore ezezaguna",
"There is no error, the file uploaded with success" => "Ez da arazorik izan, fitxategia ongi igo da",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Igotako fitxategiak php.ini fitxategian ezarritako upload_max_filesize muga gainditu du:",
@@ -10,7 +7,7 @@
"No file was uploaded" => "Ez da fitxategirik igo",
"Missing a temporary folder" => "Aldi baterako karpeta falta da",
"Failed to write to disk" => "Errore bat izan da diskoan idazterakoan",
-"Not enough storage available" => "Ez dago behar aina leku erabilgarri,",
+"Not enough space available" => "Ez dago leku nahikorik.",
"Invalid directory." => "Baliogabeko karpeta.",
"Files" => "Fitxategiak",
"Unshare" => "Ez elkarbanatu",
@@ -23,8 +20,6 @@
"replaced {new_name}" => "ordezkatua {new_name}",
"undo" => "desegin",
"replaced {new_name} with {old_name}" => " {new_name}-k {old_name} ordezkatu du",
-"unshared {files}" => "elkarbanaketa utzita {files}",
-"deleted {files}" => "ezabatuta {files}",
"'.' is an invalid file name." => "'.' ez da fitxategi izen baliogarria.",
"File name cannot be empty." => "Fitxategi izena ezin da hutsa izan.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "IZen aliogabea, '\\', '/', '<', '>', ':', '\"', '|', '?' eta '*' ez daude baimenduta.",
@@ -41,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.",
"URL cannot be empty." => "URLa ezin da hutsik egon.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Baliogabeako karpeta izena. 'Shared' izena Owncloudek erreserbatzen du",
-"{count} files scanned" => "{count} fitxategi eskaneatuta",
-"error while scanning" => "errore bat egon da eskaneatzen zen bitartean",
"Name" => "Izena",
"Size" => "Tamaina",
"Modified" => "Aldatuta",
diff --git a/apps/files/l10n/fa.php b/apps/files/l10n/fa.php
index 3d3bfad1f9b..a4181c6ff53 100644
--- a/apps/files/l10n/fa.php
+++ b/apps/files/l10n/fa.php
@@ -1,7 +1,4 @@
"%s نمی تواند حرکت کند - در حال حاضر پرونده با این نام وجود دارد. ",
-"Could not move %s" => "%s نمی تواند حرکت کند ",
-"Unable to rename file" => "قادر به تغییر نام پرونده نیست.",
"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 استفاده کرده است.",
@@ -10,6 +7,7 @@
"No file was uploaded" => "هیچ فایلی بارگذاری نشده",
"Missing a temporary folder" => "یک پوشه موقت گم شده است",
"Failed to write to disk" => "نوشتن بر روی دیسک سخت ناموفق بود",
+"Not enough space available" => "فضای کافی در دسترس نیست",
"Invalid directory." => "فهرست راهنما نامعتبر می باشد.",
"Files" => "فایل ها",
"Unshare" => "لغو اشتراک",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "{نام _جدید} جایگزین شد ",
"undo" => "بازگشت",
"replaced {new_name} with {old_name}" => "{نام_جدید} با { نام_قدیمی} جایگزین شد.",
-"unshared {files}" => "{ فایل های } قسمت نشده",
-"deleted {files}" => "{ فایل های } پاک شده",
"'.' is an invalid file name." => "'.' یک نام پرونده نامعتبر است.",
"File name cannot be empty." => "نام پرونده نمی تواند خالی باشد.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "نام نامعتبر ، '\\', '/', '<', '>', ':', '\"', '|', '?' و '*' مجاز نمی باشند.",
@@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ",
"URL cannot be empty." => "URL نمی تواند خالی باشد.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "نام پوشه نامعتبر است. استفاده از \" به اشتراک گذاشته شده \" متعلق به سایت Owncloud است.",
-"{count} files scanned" => "{ شمار } فایل های اسکن شده",
-"error while scanning" => "خطا در حال انجام اسکن ",
"Name" => "نام",
"Size" => "اندازه",
"Modified" => "تغییر یافته",
diff --git a/apps/files/l10n/fi_FI.php b/apps/files/l10n/fi_FI.php
index 999bd7884d3..809a5e5c554 100644
--- a/apps/files/l10n/fi_FI.php
+++ b/apps/files/l10n/fi_FI.php
@@ -1,7 +1,4 @@
"Kohteen %s siirto ei onnistunut - Tiedosto samalla nimellä on jo olemassa",
-"Could not move %s" => "Kohteen %s siirto ei onnistunut",
-"Unable to rename file" => "Tiedoston nimeäminen uudelleen ei onnistunut",
"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 MAX_FILE_SIZE directive that was specified in the HTML form" => "Lähetetty tiedosto ylittää HTML-lomakkeessa määritetyn MAX_FILE_SIZE-arvon ylärajan",
@@ -9,7 +6,7 @@
"No file was uploaded" => "Yhtäkään tiedostoa ei lähetetty",
"Missing a temporary folder" => "Väliaikaiskansiota ei ole olemassa",
"Failed to write to disk" => "Levylle kirjoitus epäonnistui",
-"Not enough storage available" => "Tallennustilaa ei ole riittävästi käytettävissä",
+"Not enough space available" => "Tilaa ei ole riittävästi",
"Invalid directory." => "Virheellinen kansio.",
"Files" => "Tiedostot",
"Unshare" => "Peru jakaminen",
@@ -20,6 +17,7 @@
"suggest name" => "ehdota nimeä",
"cancel" => "peru",
"undo" => "kumoa",
+"perform delete operation" => "suorita poistotoiminto",
"'.' is an invalid file name." => "'.' on virheellinen nimi tiedostolle.",
"File name cannot be empty." => "Tiedoston nimi ei voi olla tyhjä.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Virheellinen nimi, merkit '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' eivät ole sallittuja.",
@@ -53,11 +51,13 @@
"Text file" => "Tekstitiedosto",
"Folder" => "Kansio",
"From link" => "Linkistä",
+"Trash" => "Roskakori",
"Cancel upload" => "Peru lähetys",
"Nothing in here. Upload something!" => "Täällä ei ole mitään. Lähetä tänne jotakin!",
"Download" => "Lataa",
"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"
+"Current scanning" => "Tämänhetkinen tutkinta",
+"Upgrading filesystem cache..." => "Päivitetään tiedostojärjestelmän välimuistia..."
);
diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php
index ce8ef959d0a..4be699c0017 100644
--- a/apps/files/l10n/fr.php
+++ b/apps/files/l10n/fr.php
@@ -1,7 +1,4 @@
"Impossible de déplacer %s - Un fichier possédant ce nom existe déjà",
-"Could not move %s" => "Impossible de déplacer %s",
-"Unable to rename file" => "Impossible de renommer le fichier",
"No file was uploaded. Unknown error" => "Aucun fichier n'a été chargé. Erreur inconnue",
"There is no error, the file uploaded with success" => "Aucune erreur, le fichier a été téléversé avec succès",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Le fichier envoyé dépasse la valeur upload_max_filesize située dans le fichier php.ini:",
@@ -10,7 +7,7 @@
"No file was uploaded" => "Aucun fichier n'a été téléversé",
"Missing a temporary folder" => "Il manque un répertoire temporaire",
"Failed to write to disk" => "Erreur d'écriture sur le disque",
-"Not enough storage available" => "Plus assez d'espace de stockage disponible",
+"Not enough space available" => "Espace disponible insuffisant",
"Invalid directory." => "Dossier invalide.",
"Files" => "Fichiers",
"Unshare" => "Ne plus partager",
@@ -23,8 +20,7 @@
"replaced {new_name}" => "{new_name} a été remplacé",
"undo" => "annuler",
"replaced {new_name} with {old_name}" => "{new_name} a été remplacé par {old_name}",
-"unshared {files}" => "Fichiers non partagés : {files}",
-"deleted {files}" => "Fichiers supprimés : {files}",
+"perform delete operation" => "effectuer l'opération de suppression",
"'.' is an invalid file name." => "'.' n'est pas un nom de fichier valide.",
"File name cannot be empty." => "Le nom de fichier ne peut être vide.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés.",
@@ -41,8 +37,6 @@
"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.",
"URL cannot be empty." => "L'URL ne peut-être vide",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nom de dossier invalide. L'utilisation du mot 'Shared' est réservée à Owncloud",
-"{count} files scanned" => "{count} fichiers indexés",
-"error while scanning" => "erreur lors de l'indexation",
"Name" => "Nom",
"Size" => "Taille",
"Modified" => "Modifié",
@@ -63,11 +57,13 @@
"Text file" => "Fichier texte",
"Folder" => "Dossier",
"From link" => "Depuis le lien",
+"Trash" => "Corbeille",
"Cancel upload" => "Annuler l'envoi",
"Nothing in here. Upload something!" => "Il n'y a rien ici ! Envoyez donc quelque chose :)",
"Download" => "Télécharger",
"Upload too large" => "Fichier 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"
+"Current scanning" => "Analyse en cours",
+"Upgrading filesystem cache..." => "Mise à niveau du cache du système de fichier"
);
diff --git a/apps/files/l10n/gl.php b/apps/files/l10n/gl.php
index 3bac12b351e..a1c0f0a5dd5 100644
--- a/apps/files/l10n/gl.php
+++ b/apps/files/l10n/gl.php
@@ -1,7 +1,4 @@
"Non se moveu %s - Xa existe un ficheiro con ese nome.",
-"Could not move %s" => "Non se puido mover %s",
-"Unable to rename file" => "Non se pode renomear o ficheiro",
"No file was uploaded. Unknown error" => "Non se subiu ningún ficheiro. Erro descoñecido.",
"There is no error, the file uploaded with success" => "Non hai erros. O ficheiro enviouse correctamente",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "O ficheiro subido excede a directiva indicada polo tamaño_máximo_de_subida de php.ini",
@@ -10,6 +7,7 @@
"No file was uploaded" => "Non se enviou ningún ficheiro",
"Missing a temporary folder" => "Falta un cartafol temporal",
"Failed to write to disk" => "Erro ao escribir no disco",
+"Not enough space available" => "O espazo dispoñíbel é insuficiente",
"Invalid directory." => "O directorio é incorrecto.",
"Files" => "Ficheiros",
"Unshare" => "Deixar de compartir",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "substituír {new_name}",
"undo" => "desfacer",
"replaced {new_name} with {old_name}" => "substituír {new_name} polo {old_name}",
-"unshared {files}" => "{files} sen compartir",
-"deleted {files}" => "{files} eliminados",
"'.' is an invalid file name." => "'.' é un nonme de ficheiro non válido",
"File name cannot be empty." => "O nome de ficheiro non pode estar baldeiro",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non válido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non se permiten.",
@@ -37,8 +33,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "A subida do ficheiro está en curso. Saír agora da páxina cancelará a subida.",
"URL cannot be empty." => "URL non pode quedar baleiro.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome de cartafol non válido. O uso de 'Shared' está reservado por Owncloud",
-"{count} files scanned" => "{count} ficheiros escaneados",
-"error while scanning" => "erro mentres analizaba",
"Name" => "Nome",
"Size" => "Tamaño",
"Modified" => "Modificado",
diff --git a/apps/files/l10n/he.php b/apps/files/l10n/he.php
index 62b397e129e..94cddca0000 100644
--- a/apps/files/l10n/he.php
+++ b/apps/files/l10n/he.php
@@ -18,8 +18,6 @@
"replaced {new_name}" => "{new_name} הוחלף",
"undo" => "ביטול",
"replaced {new_name} with {old_name}" => "{new_name} הוחלף ב־{old_name}",
-"unshared {files}" => "בוטל שיתופם של {files}",
-"deleted {files}" => "{files} נמחקו",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "השם שגוי, אסור להשתמש בתווים '\\', '/', '<', '>', ':', '\"', '|', '?' ו־'*'.",
"Unable to upload your file as it is a directory or has 0 bytes" => "לא יכול להעלות את הקובץ מכיוון שזו תקיה או שמשקל הקובץ 0 בתים",
"Upload Error" => "שגיאת העלאה",
@@ -30,8 +28,6 @@
"Upload cancelled." => "ההעלאה בוטלה.",
"File upload is in progress. Leaving the page now will cancel the upload." => "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.",
"URL cannot be empty." => "קישור אינו יכול להיות ריק.",
-"{count} files scanned" => "{count} קבצים נסרקו",
-"error while scanning" => "אירעה שגיאה במהלך הסריקה",
"Name" => "שם",
"Size" => "גודל",
"Modified" => "זמן שינוי",
diff --git a/apps/files/l10n/hr.php b/apps/files/l10n/hr.php
index 7000caf0d17..4f4546aaf07 100644
--- a/apps/files/l10n/hr.php
+++ b/apps/files/l10n/hr.php
@@ -20,7 +20,6 @@
"1 file uploading" => "1 datoteka se učitava",
"Upload cancelled." => "Slanje poništeno.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Učitavanje datoteke. Napuštanjem stranice će prekinuti učitavanje.",
-"error while scanning" => "grečka prilikom skeniranja",
"Name" => "Naziv",
"Size" => "Veličina",
"Modified" => "Zadnja promjena",
diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php
index be3dd1b9c3c..86fc0f223f9 100644
--- a/apps/files/l10n/hu_HU.php
+++ b/apps/files/l10n/hu_HU.php
@@ -1,7 +1,4 @@
"%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",
-"Unable to rename file" => "Nem lehet átnevezni a fájlt",
"No file was uploaded. Unknown error" => "Nem történt feltöltés. Ismeretlen hiba",
"There is no error, the file uploaded with success" => "A fájlt sikerült feltölteni",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "A feltöltött fájl mérete meghaladja a php.ini állományban megadott upload_max_filesize paraméter értékét.",
@@ -10,7 +7,7 @@
"No file was uploaded" => "Nem töltődött fel semmi",
"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.",
+"Not enough space available" => "Nincs elég szabad hely",
"Invalid directory." => "Érvénytelen mappa.",
"Files" => "Fájlok",
"Unshare" => "Megosztás visszavonása",
@@ -23,8 +20,6 @@
"replaced {new_name}" => "a(z) {new_name} állományt kicseréltük",
"undo" => "visszavonás",
"replaced {new_name} with {old_name}" => "{new_name} fájlt kicseréltük ezzel: {old_name}",
-"unshared {files}" => "{files} fájl megosztása visszavonva",
-"deleted {files}" => "{files} fájl törölve",
"'.' is an invalid file name." => "'.' fájlnév érvénytelen.",
"File name cannot be empty." => "A fájlnév nem lehet semmi.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'",
@@ -41,8 +36,6 @@
"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.",
"URL cannot be empty." => "Az URL nem lehet semmi.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Érvénytelen mappanév. A név használata csak a Owncloud számára lehetséges.",
-"{count} files scanned" => "{count} fájlt találtunk",
-"error while scanning" => "Hiba a fájllista-ellenőrzés során",
"Name" => "Név",
"Size" => "Méret",
"Modified" => "Módosítva",
diff --git a/apps/files/l10n/is.php b/apps/files/l10n/is.php
index 297853c8161..43c10ef236e 100644
--- a/apps/files/l10n/is.php
+++ b/apps/files/l10n/is.php
@@ -1,7 +1,4 @@
"Gat ekki fært %s - Skrá með þessu nafni er þegar til",
-"Could not move %s" => "Gat ekki fært %s",
-"Unable to rename file" => "Gat ekki endurskýrt skrá",
"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:",
@@ -10,6 +7,7 @@
"No file was uploaded" => "Engin skrá skilaði sér",
"Missing a temporary folder" => "Vantar bráðabirgðamöppu",
"Failed to write to disk" => "Tókst ekki að skrifa á disk",
+"Not enough space available" => "Ekki nægt pláss tiltækt",
"Invalid directory." => "Ógild mappa.",
"Files" => "Skrár",
"Unshare" => "Hætta deilingu",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "endurskýrði {new_name}",
"undo" => "afturkalla",
"replaced {new_name} with {old_name}" => "yfirskrifaði {new_name} með {old_name}",
-"unshared {files}" => "Hætti við deilingu á {files}",
-"deleted {files}" => "eyddi {files}",
"'.' is an invalid file name." => "'.' er ekki leyfilegt nafn.",
"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ð.",
@@ -37,8 +33,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.",
"URL cannot be empty." => "Vefslóð má ekki vera tóm.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Óleyfilegt nafn á möppu. Nafnið 'Shared' er frátekið fyrir Owncloud",
-"{count} files scanned" => "{count} skrár skimaðar",
-"error while scanning" => "villa við skimun",
"Name" => "Nafn",
"Size" => "Stærð",
"Modified" => "Breytt",
diff --git a/apps/files/l10n/it.php b/apps/files/l10n/it.php
index 63bc71d6729..bb3a5bdf054 100644
--- a/apps/files/l10n/it.php
+++ b/apps/files/l10n/it.php
@@ -1,7 +1,4 @@
"Impossibile spostare %s - un file con questo nome esiste già",
-"Could not move %s" => "Impossibile spostare %s",
-"Unable to rename file" => "Impossibile rinominare il file",
"No file was uploaded. Unknown error" => "Nessun file è stato inviato. Errore sconosciuto",
"There is no error, the file uploaded with success" => "Non ci sono errori, file caricato con successo",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Il file caricato supera la direttiva upload_max_filesize in php.ini:",
@@ -10,7 +7,7 @@
"No file was uploaded" => "Nessun file è stato caricato",
"Missing a temporary folder" => "Cartella temporanea mancante",
"Failed to write to disk" => "Scrittura su disco non riuscita",
-"Not enough storage available" => "Spazio di archiviazione insufficiente",
+"Not enough space available" => "Spazio disponibile insufficiente",
"Invalid directory." => "Cartella non valida.",
"Files" => "File",
"Unshare" => "Rimuovi condivisione",
@@ -23,8 +20,7 @@
"replaced {new_name}" => "sostituito {new_name}",
"undo" => "annulla",
"replaced {new_name} with {old_name}" => "sostituito {new_name} con {old_name}",
-"unshared {files}" => "non condivisi {files}",
-"deleted {files}" => "eliminati {files}",
+"perform delete operation" => "esegui l'operazione di eliminazione",
"'.' is an invalid file name." => "'.' non è un nome file valido.",
"File name cannot be empty." => "Il nome del file non può essere vuoto.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non valido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non sono consentiti.",
@@ -41,8 +37,6 @@
"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.",
"URL cannot be empty." => "L'URL non può essere vuoto.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome della cartella non valido. L'uso di 'Shared' è riservato da ownCloud",
-"{count} files scanned" => "{count} file analizzati",
-"error while scanning" => "errore durante la scansione",
"Name" => "Nome",
"Size" => "Dimensione",
"Modified" => "Modificato",
@@ -63,11 +57,13 @@
"Text file" => "File di testo",
"Folder" => "Cartella",
"From link" => "Da collegamento",
+"Trash" => "Cestino",
"Cancel upload" => "Annulla invio",
"Nothing in here. Upload something!" => "Non c'è niente qui. Carica qualcosa!",
"Download" => "Scarica",
"Upload too large" => "Il file caricato è 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"
+"Current scanning" => "Scansione corrente",
+"Upgrading filesystem cache..." => "Aggiornamento della cache del filesystem in corso..."
);
diff --git a/apps/files/l10n/ja_JP.php b/apps/files/l10n/ja_JP.php
index 4a36e8aa421..c8b1054f30b 100644
--- a/apps/files/l10n/ja_JP.php
+++ b/apps/files/l10n/ja_JP.php
@@ -1,7 +1,4 @@
"%s を移動できませんでした ― この名前のファイルはすでに存在します",
-"Could not move %s" => "%s を移動できませんでした",
-"Unable to rename file" => "ファイル名の変更ができません",
"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 に設定されたサイズを超えています:",
@@ -10,7 +7,7 @@
"No file was uploaded" => "ファイルはアップロードされませんでした",
"Missing a temporary folder" => "テンポラリフォルダが見つかりません",
"Failed to write to disk" => "ディスクへの書き込みに失敗しました",
-"Not enough storage available" => "ストレージに十分な空き容量がありません",
+"Not enough space available" => "利用可能なスペースが十分にありません",
"Invalid directory." => "無効なディレクトリです。",
"Files" => "ファイル",
"Unshare" => "共有しない",
@@ -23,8 +20,7 @@
"replaced {new_name}" => "{new_name} を置換",
"undo" => "元に戻す",
"replaced {new_name} with {old_name}" => "{old_name} を {new_name} に置換",
-"unshared {files}" => "未共有 {files}",
-"deleted {files}" => "削除 {files}",
+"perform delete operation" => "削除を実行",
"'.' is an invalid file name." => "'.' は無効なファイル名です。",
"File name cannot be empty." => "ファイル名を空にすることはできません。",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "無効な名前、'\\', '/', '<', '>', ':', '\"', '|', '?', '*' は使用できません。",
@@ -41,8 +37,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "ファイル転送を実行中です。今このページから移動するとアップロードが中止されます。",
"URL cannot be empty." => "URLは空にできません。",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "無効なフォルダ名です。'Shared' の利用は ownCloud が予約済みです。",
-"{count} files scanned" => "{count} ファイルをスキャン",
-"error while scanning" => "スキャン中のエラー",
"Name" => "名前",
"Size" => "サイズ",
"Modified" => "更新日時",
@@ -63,11 +57,13 @@
"Text file" => "テキストファイル",
"Folder" => "フォルダ",
"From link" => "リンク",
+"Trash" => "ゴミ箱",
"Cancel upload" => "アップロードをキャンセル",
"Nothing in here. Upload something!" => "ここには何もありません。何かアップロードしてください。",
"Download" => "ダウンロード",
"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" => "スキャン中"
+"Current scanning" => "スキャン中",
+"Upgrading filesystem cache..." => "ファイルシステムキャッシュを更新中..."
);
diff --git a/apps/files/l10n/ka_GE.php b/apps/files/l10n/ka_GE.php
index 08225c114d1..7ab6122c659 100644
--- a/apps/files/l10n/ka_GE.php
+++ b/apps/files/l10n/ka_GE.php
@@ -16,8 +16,6 @@
"replaced {new_name}" => "{new_name} შეცვლილია",
"undo" => "დაბრუნება",
"replaced {new_name} with {old_name}" => "{new_name} შეცვლილია {old_name}–ით",
-"unshared {files}" => "გაზიარება მოხსნილი {files}",
-"deleted {files}" => "წაშლილი {files}",
"Unable to upload your file as it is a directory or has 0 bytes" => "თქვენი ფაილის ატვირთვა ვერ მოხერხდა. ის არის საქაღალდე და შეიცავს 0 ბაიტს",
"Upload Error" => "შეცდომა ატვირთვისას",
"Close" => "დახურვა",
@@ -26,8 +24,6 @@
"{count} files uploading" => "{count} ფაილი იტვირთება",
"Upload cancelled." => "ატვირთვა შეჩერებულ იქნა.",
"File upload is in progress. Leaving the page now will cancel the upload." => "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას",
-"{count} files scanned" => "{count} ფაილი სკანირებულია",
-"error while scanning" => "შეცდომა სკანირებისას",
"Name" => "სახელი",
"Size" => "ზომა",
"Modified" => "შეცვლილია",
diff --git a/apps/files/l10n/ko.php b/apps/files/l10n/ko.php
index cd95d61e4dc..7774aeea31c 100644
--- a/apps/files/l10n/ko.php
+++ b/apps/files/l10n/ko.php
@@ -1,7 +1,4 @@
"%s 항목을 이동시키지 못하였음 - 파일 이름이 이미 존재함",
-"Could not move %s" => "%s 항목을 이딩시키지 못하였음",
-"Unable to rename file" => "파일 이름바꾸기 할 수 없음",
"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보다 큽니다:",
@@ -10,7 +7,8 @@
"No file was uploaded" => "업로드된 파일 없음",
"Missing a temporary folder" => "임시 폴더가 사라짐",
"Failed to write to disk" => "디스크에 쓰지 못했습니다",
-"Invalid directory." => "올바르지 않은 디렉토리입니다.",
+"Not enough space available" => "여유 공간이 부족합니다",
+"Invalid directory." => "올바르지 않은 디렉터리입니다.",
"Files" => "파일",
"Unshare" => "공유 해제",
"Delete" => "삭제",
@@ -22,11 +20,12 @@
"replaced {new_name}" => "{new_name}을(를) 대체함",
"undo" => "실행 취소",
"replaced {new_name} with {old_name}" => "{old_name}이(가) {new_name}(으)로 대체됨",
-"unshared {files}" => "{files} 공유 해제됨",
-"deleted {files}" => "{files} 삭제됨",
"'.' is an invalid file name." => "'.' 는 올바르지 않은 파일 이름 입니다.",
-"File name cannot be empty." => "파일이름은 공란이 될 수 없습니다.",
+"File name cannot be empty." => "파일 이름이 비어 있을 수 없습니다.",
"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." => "다운로드가 준비 중입니다. 파일 크기가 크다면 시간이 오래 걸릴 수도 있습니다.",
"Unable to upload your file as it is a directory or has 0 bytes" => "이 파일은 디렉터리이거나 비어 있기 때문에 업로드할 수 없습니다",
"Upload Error" => "업로드 오류",
"Close" => "닫기",
@@ -37,8 +36,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "파일 업로드가 진행 중입니다. 이 페이지를 벗어나면 업로드가 취소됩니다.",
"URL cannot be empty." => "URL을 입력해야 합니다.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "폴더 이름이 유효하지 않습니다. ",
-"{count} files scanned" => "파일 {count}개 검색됨",
-"error while scanning" => "검색 중 오류 발생",
"Name" => "이름",
"Size" => "크기",
"Modified" => "수정됨",
@@ -65,5 +62,6 @@
"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" => "현재 검색"
+"Current scanning" => "현재 검색",
+"Upgrading filesystem cache..." => "파일 시스템 캐시 업그레이드 중..."
);
diff --git a/apps/files/l10n/lt_LT.php b/apps/files/l10n/lt_LT.php
index da209619e2a..f4ad655f421 100644
--- a/apps/files/l10n/lt_LT.php
+++ b/apps/files/l10n/lt_LT.php
@@ -16,8 +16,6 @@
"replaced {new_name}" => "pakeiskite {new_name}",
"undo" => "anuliuoti",
"replaced {new_name} with {old_name}" => "pakeiskite {new_name} į {old_name}",
-"unshared {files}" => "nebesidalinti {files}",
-"deleted {files}" => "ištrinti {files}",
"Unable to upload your file as it is a directory or has 0 bytes" => "Neįmanoma įkelti failo - jo dydis gali būti 0 bitų arba tai katalogas",
"Upload Error" => "Įkėlimo klaida",
"Close" => "Užverti",
@@ -26,8 +24,6 @@
"{count} files uploading" => "{count} įkeliami failai",
"Upload cancelled." => "Įkėlimas atšauktas.",
"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.",
-"{count} files scanned" => "{count} praskanuoti failai",
-"error while scanning" => "klaida skanuojant",
"Name" => "Pavadinimas",
"Size" => "Dydis",
"Modified" => "Pakeista",
diff --git a/apps/files/l10n/lv.php b/apps/files/l10n/lv.php
index b175b19bba9..25c1da73beb 100644
--- a/apps/files/l10n/lv.php
+++ b/apps/files/l10n/lv.php
@@ -1,40 +1,69 @@
"Viss kārtībā, augšupielāde veiksmīga",
-"No file was uploaded" => "Neviens fails netika augšuplādēts",
+"No file was uploaded. Unknown error" => "Netika augšupielādēta neviena datne. Nezināma kļūda",
+"There is no error, the file uploaded with success" => "Augšupielāde pabeigta bez kļūdām",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Augšupielādētā datne pārsniedz upload_max_filesize norādījumu php.ini datnē:",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Augšupielādētā datne pārsniedz MAX_FILE_SIZE norādi, kas ir norādīta HTML formā",
+"The uploaded file was only partially uploaded" => "Augšupielādētā datne ir tikai daļēji augšupielādēta",
+"No file was uploaded" => "Neviena datne netika augšupielādēta",
"Missing a temporary folder" => "Trūkst pagaidu mapes",
-"Failed to write to disk" => "Nav iespējams saglabāt",
-"Files" => "Faili",
-"Unshare" => "Pārtraukt līdzdalīšanu",
-"Delete" => "Izdzēst",
-"Rename" => "Pārdēvēt",
+"Failed to write to disk" => "Neizdevās saglabāt diskā",
+"Not enough space available" => "Nepietiek brīvas vietas",
+"Invalid directory." => "Nederīga direktorija.",
+"Files" => "Datnes",
+"Unshare" => "Pārtraukt dalīšanos",
+"Delete" => "Dzēst",
+"Rename" => "Pārsaukt",
+"{new_name} already exists" => "{new_name} jau eksistē",
"replace" => "aizvietot",
-"suggest name" => "Ieteiktais nosaukums",
+"suggest name" => "ieteiktais nosaukums",
"cancel" => "atcelt",
-"undo" => "vienu soli atpakaļ",
-"Unable to upload your file as it is a directory or has 0 bytes" => "Nav iespējams augšuplādēt jūsu failu, jo tāds jau eksistē vai arī failam nav izmēra (0 baiti)",
-"Upload Error" => "Augšuplādēšanas laikā radās kļūda",
+"replaced {new_name}" => "aizvietots {new_name}",
+"undo" => "atsaukt",
+"replaced {new_name} with {old_name}" => "aizvietoja {new_name} ar {old_name}",
+"perform delete operation" => "veikt dzēšanas darbību",
+"'.' is an invalid file name." => "'.' ir nederīgs datnes nosaukums.",
+"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 '*'.",
+"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}%)",
+"Your download is being prepared. This might take some time if the files are big." => "Tiek sagatavota lejupielāde. Tas var aizņemt kādu laiciņu, ja datnes ir lielas.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Nevar augšupielādēt jūsu datni, jo tā ir direktorija vai arī tās izmērs ir 0 baiti",
+"Upload Error" => "Kļūda augšupielādējot",
+"Close" => "Aizvērt",
"Pending" => "Gaida savu kārtu",
-"Upload cancelled." => "Augšuplāde ir atcelta",
+"1 file uploading" => "Augšupielādē 1 datni",
+"{count} files uploading" => "augšupielādē {count} datnes",
+"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.",
+"URL cannot be empty." => "URL nevar būt tukšs.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nederīgs mapes nosaukums. “Koplietots” izmantojums ir rezervēts ownCloud servisam.",
"Name" => "Nosaukums",
"Size" => "Izmērs",
-"Modified" => "Izmainīts",
-"Upload" => "Augšuplādet",
-"File handling" => "Failu pārvaldība",
-"Maximum upload size" => "Maksimālais failu augšuplādes apjoms",
-"max. possible: " => "maksīmālais iespējamais:",
-"Needed for multi-file and folder downloads." => "Vajadzīgs vairāku failu un mapju lejuplādei",
-"Enable ZIP-download" => "Iespējot ZIP lejuplādi",
+"Modified" => "Mainīts",
+"1 folder" => "1 mape",
+"{count} folders" => "{count} mapes",
+"1 file" => "1 datne",
+"{count} files" => "{count} datnes",
+"Upload" => "Augšupielādēt",
+"File handling" => "Datņu pārvaldība",
+"Maximum upload size" => "Maksimālais datņu augšupielādes apjoms",
+"max. possible: " => "maksimālais iespējamais:",
+"Needed for multi-file and folder downloads." => "Vajadzīgs vairāku datņu un mapju lejupielādēšanai.",
+"Enable ZIP-download" => "Aktivēt ZIP lejupielādi",
"0 is unlimited" => "0 ir neierobežots",
+"Maximum input size for ZIP files" => "Maksimālais ievades izmērs ZIP datnēm",
"Save" => "Saglabāt",
-"New" => "Jauns",
-"Text file" => "Teksta fails",
+"New" => "Jauna",
+"Text file" => "Teksta datne",
"Folder" => "Mape",
-"Cancel upload" => "Atcelt augšuplādi",
-"Nothing in here. Upload something!" => "Te vēl nekas nav. Rīkojies, sāc augšuplādēt",
-"Download" => "Lejuplādēt",
-"Upload too large" => "Fails ir par lielu lai to augšuplādetu",
-"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Jūsu augšuplādējamie faili pārsniedz servera pieļaujamo failu augšupielādes apjomu",
-"Files are being scanned, please wait." => "Faili šobrīd tiek caurskatīti, nedaudz jāpagaida.",
-"Current scanning" => "Šobrīd tiek pārbaudīti"
+"From link" => "No saites",
+"Trash" => "Miskaste",
+"Cancel upload" => "Atcelt augšupielādi",
+"Nothing in here. Upload something!" => "Te vēl nekas nav. Rīkojies, sāc augšupielādēt!",
+"Download" => "Lejupielādēt",
+"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..."
);
diff --git a/apps/files/l10n/mk.php b/apps/files/l10n/mk.php
index 0ca08d6bc6a..2580d1e6a97 100644
--- a/apps/files/l10n/mk.php
+++ b/apps/files/l10n/mk.php
@@ -18,8 +18,6 @@
"replaced {new_name}" => "земенета {new_name}",
"undo" => "врати",
"replaced {new_name} with {old_name}" => "заменета {new_name} со {old_name}",
-"unshared {files}" => "без споделување {files}",
-"deleted {files}" => "избришани {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправилно име. , '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не се дозволени.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Не може да се преземе вашата датотека бидејќи фолдерот во кој се наоѓа фајлот има големина од 0 бајти",
"Upload Error" => "Грешка при преземање",
@@ -30,8 +28,6 @@
"Upload cancelled." => "Преземањето е прекинато.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Подигање на датотека е во тек. Напуштење на страницата ќе го прекине.",
"URL cannot be empty." => "Адресата неможе да биде празна.",
-"{count} files scanned" => "{count} датотеки скенирани",
-"error while scanning" => "грешка при скенирање",
"Name" => "Име",
"Size" => "Големина",
"Modified" => "Променето",
diff --git a/apps/files/l10n/nb_NO.php b/apps/files/l10n/nb_NO.php
index 8bb7cfb2f9c..a6ba6e9c03f 100644
--- a/apps/files/l10n/nb_NO.php
+++ b/apps/files/l10n/nb_NO.php
@@ -17,7 +17,6 @@
"replaced {new_name}" => "erstatt {new_name}",
"undo" => "angre",
"replaced {new_name} with {old_name}" => "erstatt {new_name} med {old_name}",
-"deleted {files}" => "slettet {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldig navn, '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' er ikke tillatt.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan ikke laste opp filen din siden det er en mappe eller den har 0 bytes",
"Upload Error" => "Opplasting feilet",
@@ -28,8 +27,6 @@
"Upload cancelled." => "Opplasting avbrutt.",
"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-en kan ikke være tom.",
-"{count} files scanned" => "{count} filer lest inn",
-"error while scanning" => "feil under skanning",
"Name" => "Navn",
"Size" => "Størrelse",
"Modified" => "Endret",
diff --git a/apps/files/l10n/nl.php b/apps/files/l10n/nl.php
index c78ac346d13..addd3a93723 100644
--- a/apps/files/l10n/nl.php
+++ b/apps/files/l10n/nl.php
@@ -1,7 +1,4 @@
"Kon %s niet verplaatsen - Er bestaat al een bestand met deze naam",
-"Could not move %s" => "Kon %s niet verplaatsen",
-"Unable to rename file" => "Kan bestand niet hernoemen",
"No file was uploaded. Unknown error" => "Er was geen bestand geladen. Onbekende fout",
"There is no error, the file uploaded with success" => "Geen fout opgetreden, bestand successvol geupload.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Het geüploade bestand overscheidt de upload_max_filesize optie in php.ini:",
@@ -10,6 +7,7 @@
"No file was uploaded" => "Geen bestand geüpload",
"Missing a temporary folder" => "Een tijdelijke map mist",
"Failed to write to disk" => "Schrijven naar schijf mislukt",
+"Not enough space available" => "Niet genoeg ruimte beschikbaar",
"Invalid directory." => "Ongeldige directory.",
"Files" => "Bestanden",
"Unshare" => "Stop delen",
@@ -22,11 +20,12 @@
"replaced {new_name}" => "verving {new_name}",
"undo" => "ongedaan maken",
"replaced {new_name} with {old_name}" => "verving {new_name} met {old_name}",
-"unshared {files}" => "delen gestopt {files}",
-"deleted {files}" => "verwijderde {files}",
+"perform delete operation" => "uitvoeren verwijderactie",
"'.' is an invalid file name." => "'.' is een ongeldige bestandsnaam.",
"File name cannot be empty." => "Bestandsnaam kan niet leeg zijn.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Onjuiste naam; '\\', '/', '<', '>', ':', '\"', '|', '?' en '*' zijn niet toegestaan.",
+"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}%)",
"Your download is being prepared. This might take some time if the files are big." => "Uw download wordt voorbereid. Dit kan enige tijd duren bij grote bestanden.",
"Unable to upload your file as it is a directory or has 0 bytes" => "uploaden van de file mislukt, het is of een directory of de bestandsgrootte is 0 bytes",
"Upload Error" => "Upload Fout",
@@ -38,8 +37,6 @@
"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.",
"URL cannot be empty." => "URL kan niet leeg zijn.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ongeldige mapnaam. Gebruik van'Gedeeld' is voorbehouden aan Owncloud",
-"{count} files scanned" => "{count} bestanden gescanned",
-"error while scanning" => "Fout tijdens het scannen",
"Name" => "Naam",
"Size" => "Bestandsgrootte",
"Modified" => "Laatst aangepast",
@@ -60,11 +57,13 @@
"Text file" => "Tekstbestand",
"Folder" => "Map",
"From link" => "Vanaf link",
+"Trash" => "Verwijderen",
"Cancel upload" => "Upload afbreken",
"Nothing in here. Upload something!" => "Er bevindt zich hier niets. Upload een bestand!",
"Download" => "Download",
"Upload too large" => "Bestanden 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"
+"Current scanning" => "Er wordt gescand",
+"Upgrading filesystem cache..." => "Upgraden bestandssysteem cache..."
);
diff --git a/apps/files/l10n/oc.php b/apps/files/l10n/oc.php
index 76c8d6b655a..78045b299ed 100644
--- a/apps/files/l10n/oc.php
+++ b/apps/files/l10n/oc.php
@@ -19,7 +19,6 @@
"1 file uploading" => "1 fichièr al amontcargar",
"Upload cancelled." => "Amontcargar anullat.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Un amontcargar es a se far. Daissar aquesta pagina ara tamparà lo cargament. ",
-"error while scanning" => "error pendant l'exploracion",
"Name" => "Nom",
"Size" => "Talha",
"Modified" => "Modificat",
diff --git a/apps/files/l10n/pl.php b/apps/files/l10n/pl.php
index 477e14491f7..6855850f0da 100644
--- a/apps/files/l10n/pl.php
+++ b/apps/files/l10n/pl.php
@@ -1,7 +1,4 @@
"Nie można było przenieść %s - Plik o takiej nazwie już istnieje",
-"Could not move %s" => "Nie można było przenieść %s",
-"Unable to rename file" => "Nie można zmienić nazwy pliku",
"No file was uploaded. Unknown error" => "Plik nie został załadowany. Nieznany błąd",
"There is no error, the file uploaded with success" => "Przesłano plik",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Wgrany plik przekracza wartość upload_max_filesize zdefiniowaną w php.ini: ",
@@ -10,6 +7,7 @@
"No file was uploaded" => "Nie przesłano żadnego pliku",
"Missing a temporary folder" => "Brak katalogu tymczasowego",
"Failed to write to disk" => "Błąd zapisu na dysk",
+"Not enough space available" => "Za mało miejsca",
"Invalid directory." => "Zła ścieżka.",
"Files" => "Pliki",
"Unshare" => "Nie udostępniaj",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "zastąpiony {new_name}",
"undo" => "wróć",
"replaced {new_name} with {old_name}" => "zastąpiony {new_name} z {old_name}",
-"unshared {files}" => "Udostępniane wstrzymane {files}",
-"deleted {files}" => "usunięto {files}",
"'.' is an invalid file name." => "'.' jest nieprawidłową nazwą pliku.",
"File name cannot be empty." => "Nazwa pliku nie może być pusta.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Niepoprawna nazwa, Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*'są niedozwolone.",
@@ -37,8 +33,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Wysyłanie pliku jest w toku. Teraz opuszczając stronę wysyłanie zostanie anulowane.",
"URL cannot be empty." => "URL nie może być pusty.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nazwa folderu nieprawidłowa. Wykorzystanie \"Shared\" jest zarezerwowane przez Owncloud",
-"{count} files scanned" => "{count} pliki skanowane",
-"error while scanning" => "Wystąpił błąd podczas skanowania",
"Name" => "Nazwa",
"Size" => "Rozmiar",
"Modified" => "Czas modyfikacji",
diff --git a/apps/files/l10n/pt_BR.php b/apps/files/l10n/pt_BR.php
index 33014297ee5..361e81052b9 100644
--- a/apps/files/l10n/pt_BR.php
+++ b/apps/files/l10n/pt_BR.php
@@ -7,6 +7,7 @@
"No file was uploaded" => "Nenhum arquivo foi transferido",
"Missing a temporary folder" => "Pasta temporária não encontrada",
"Failed to write to disk" => "Falha ao escrever no disco",
+"Invalid directory." => "Diretório inválido.",
"Files" => "Arquivos",
"Unshare" => "Descompartilhar",
"Delete" => "Excluir",
@@ -18,9 +19,10 @@
"replaced {new_name}" => "substituído {new_name}",
"undo" => "desfazer",
"replaced {new_name} with {old_name}" => "Substituído {old_name} por {new_name} ",
-"unshared {files}" => "{files} não compartilhados",
-"deleted {files}" => "{files} apagados",
+"'.' is an invalid file name." => "'.' é um nome de arquivo inválido.",
+"File name cannot be empty." => "O nome do arquivo não pode estar vazio.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
+"Your download is being prepared. This might take some time if the files are big." => "Seu download está sendo preparado. Isto pode levar algum tempo se os arquivos forem grandes.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossível enviar seus arquivo como diretório ou ele tem 0 bytes.",
"Upload Error" => "Erro de envio",
"Close" => "Fechar",
@@ -30,8 +32,7 @@
"Upload cancelled." => "Envio cancelado.",
"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.",
"URL cannot be empty." => "URL não pode ficar em branco",
-"{count} files scanned" => "{count} arquivos scaneados",
-"error while scanning" => "erro durante verificação",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome de pasta inválido. O uso de 'Shared' é reservado para o Owncloud",
"Name" => "Nome",
"Size" => "Tamanho",
"Modified" => "Modificado",
diff --git a/apps/files/l10n/pt_PT.php b/apps/files/l10n/pt_PT.php
index 6cee8d9d88e..b1d7385bc58 100644
--- a/apps/files/l10n/pt_PT.php
+++ b/apps/files/l10n/pt_PT.php
@@ -1,7 +1,4 @@
"Não foi possível mover o ficheiro %s - Já existe um ficheiro com esse nome",
-"Could not move %s" => "Não foi possível move o ficheiro %s",
-"Unable to rename file" => "Não foi possível renomear o ficheiro",
"No file was uploaded. Unknown error" => "Nenhum ficheiro foi carregado. Erro desconhecido",
"There is no error, the file uploaded with success" => "Sem erro, ficheiro enviado com sucesso",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "O ficheiro enviado excede o limite permitido na directiva do php.ini upload_max_filesize",
@@ -10,7 +7,7 @@
"No file was uploaded" => "Não foi enviado nenhum ficheiro",
"Missing a temporary folder" => "Falta uma 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",
+"Not enough space available" => "Espaço em disco insuficiente!",
"Invalid directory." => "Directório Inválido",
"Files" => "Ficheiros",
"Unshare" => "Deixar de partilhar",
@@ -23,8 +20,7 @@
"replaced {new_name}" => "{new_name} substituido",
"undo" => "desfazer",
"replaced {new_name} with {old_name}" => "substituido {new_name} por {old_name}",
-"unshared {files}" => "{files} não partilhado(s)",
-"deleted {files}" => "{files} eliminado(s)",
+"perform delete operation" => "Executar a tarefa de apagar",
"'.' is an invalid file name." => "'.' não é um nome de ficheiro válido!",
"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.",
@@ -41,8 +37,6 @@
"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." => "O URL não pode estar vazio.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome de pasta inválido. O Uso de 'shared' é reservado para o ownCloud",
-"{count} files scanned" => "{count} ficheiros analisados",
-"error while scanning" => "erro ao analisar",
"Name" => "Nome",
"Size" => "Tamanho",
"Modified" => "Modificado",
@@ -63,11 +57,13 @@
"Text file" => "Ficheiro de texto",
"Folder" => "Pasta",
"From link" => "Da ligação",
+"Trash" => "Lixo",
"Cancel upload" => "Cancelar envio",
"Nothing in here. Upload something!" => "Vazio. Envie alguma coisa!",
"Download" => "Transferir",
"Upload too large" => "Envio muito grande",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Os ficheiros que está a tentar enviar excedem o tamanho máximo de envio permitido neste servidor.",
"Files are being scanned, please wait." => "Os ficheiros estão a ser analisados, por favor aguarde.",
-"Current scanning" => "Análise actual"
+"Current scanning" => "Análise actual",
+"Upgrading filesystem cache..." => "Atualizar cache do sistema de ficheiros..."
);
diff --git a/apps/files/l10n/ro.php b/apps/files/l10n/ro.php
index 424450e920f..7837b1f5b30 100644
--- a/apps/files/l10n/ro.php
+++ b/apps/files/l10n/ro.php
@@ -1,7 +1,4 @@
"Nu se poate de mutat %s - Fișier cu acest nume deja există",
-"Could not move %s" => "Nu s-a putut muta %s",
-"Unable to rename file" => "Nu s-a putut redenumi fișierul",
"No file was uploaded. Unknown error" => "Nici un fișier nu a fost încărcat. Eroare necunoscută",
"There is no error, the file uploaded with success" => "Nicio eroare, fișierul a fost încărcat cu succes",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fisierul incarcat depaseste upload_max_filesize permisi in php.ini: ",
@@ -10,6 +7,7 @@
"No file was uploaded" => "Niciun fișier încărcat",
"Missing a temporary folder" => "Lipsește un dosar temporar",
"Failed to write to disk" => "Eroare la scriere pe disc",
+"Not enough space available" => "Nu este suficient spațiu disponibil",
"Invalid directory." => "Director invalid.",
"Files" => "Fișiere",
"Unshare" => "Anulează partajarea",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "inlocuit {new_name}",
"undo" => "Anulează ultima acțiune",
"replaced {new_name} with {old_name}" => "{new_name} inlocuit cu {old_name}",
-"unshared {files}" => "nedistribuit {files}",
-"deleted {files}" => "Sterse {files}",
"'.' is an invalid file name." => "'.' este un nume invalid de fișier.",
"File name cannot be empty." => "Numele fișierului nu poate rămâne gol.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nume invalid, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise.",
@@ -38,8 +34,6 @@
"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.",
"URL cannot be empty." => "Adresa URL nu poate fi goală.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Invalid folder name. Usage of 'Shared' is reserved by Ownclou",
-"{count} files scanned" => "{count} fisiere scanate",
-"error while scanning" => "eroare la scanarea",
"Name" => "Nume",
"Size" => "Dimensiune",
"Modified" => "Modificat",
diff --git a/apps/files/l10n/ru.php b/apps/files/l10n/ru.php
index ae103a9e810..716afa5f29a 100644
--- a/apps/files/l10n/ru.php
+++ b/apps/files/l10n/ru.php
@@ -1,7 +1,4 @@
"Невозможно переместить %s - файл с таким именем уже существует",
-"Could not move %s" => "Невозможно переместить %s",
-"Unable to rename file" => "Невозможно переименовать файл",
"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:",
@@ -10,6 +7,7 @@
"No file was uploaded" => "Файл не был загружен",
"Missing a temporary folder" => "Невозможно найти временную папку",
"Failed to write to disk" => "Ошибка записи на диск",
+"Not enough space available" => "Недостаточно свободного места",
"Invalid directory." => "Неправильный каталог.",
"Files" => "Файлы",
"Unshare" => "Отменить публикацию",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "заменено {new_name}",
"undo" => "отмена",
"replaced {new_name} with {old_name}" => "заменено {new_name} на {old_name}",
-"unshared {files}" => "не опубликованные {files}",
-"deleted {files}" => "удаленные {files}",
"'.' is an invalid file name." => "'.' - неправильное имя файла.",
"File name cannot be empty." => "Имя файла не может быть пустым.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправильное имя, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' недопустимы.",
@@ -37,8 +33,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Файл в процессе загрузки. Покинув страницу вы прервёте загрузку.",
"URL cannot be empty." => "Ссылка не может быть пустой.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Неправильное имя каталога. Имя 'Shared' зарезервировано.",
-"{count} files scanned" => "{count} файлов просканировано",
-"error while scanning" => "ошибка во время санирования",
"Name" => "Название",
"Size" => "Размер",
"Modified" => "Изменён",
diff --git a/apps/files/l10n/ru_RU.php b/apps/files/l10n/ru_RU.php
index 60a7fd0f71e..e1952567d31 100644
--- a/apps/files/l10n/ru_RU.php
+++ b/apps/files/l10n/ru_RU.php
@@ -7,6 +7,8 @@
"No file was uploaded" => "Файл не был загружен",
"Missing a temporary folder" => "Отсутствует временная папка",
"Failed to write to disk" => "Не удалось записать на диск",
+"Not enough space available" => "Не достаточно свободного места",
+"Invalid directory." => "Неверный каталог.",
"Files" => "Файлы",
"Unshare" => "Скрыть",
"Delete" => "Удалить",
@@ -18,8 +20,8 @@
"replaced {new_name}" => "заменено {новое_имя}",
"undo" => "отменить действие",
"replaced {new_name} with {old_name}" => "заменено {новое_имя} с {старое_имя}",
-"unshared {files}" => "Cовместное использование прекращено {файлы}",
-"deleted {files}" => "удалено {файлы}",
+"'.' is an invalid file name." => "'.' является неверным именем файла.",
+"File name cannot be empty." => "Имя файла не может быть пустым.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Некорректное имя, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не допустимы.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Невозможно загрузить файл,\n так как он имеет нулевой размер или является директорией",
"Upload Error" => "Ошибка загрузки",
@@ -30,8 +32,7 @@
"Upload cancelled." => "Загрузка отменена",
"File upload is in progress. Leaving the page now will cancel the upload." => "Процесс загрузки файла. Если покинуть страницу сейчас, загрузка будет отменена.",
"URL cannot be empty." => "URL не должен быть пустым.",
-"{count} files scanned" => "{количество} файлов отсканировано",
-"error while scanning" => "ошибка при сканировании",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Неверное имя папки. Использование наименования 'Опубликовано' зарезервировано Owncloud",
"Name" => "Имя",
"Size" => "Размер",
"Modified" => "Изменен",
@@ -58,5 +59,6 @@
"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" => "Текущее сканирование"
+"Current scanning" => "Текущее сканирование",
+"Upgrading filesystem cache..." => "Обновление кэша файловой системы... "
);
diff --git a/apps/files/l10n/si_LK.php b/apps/files/l10n/si_LK.php
index 133737cb57a..316470d8396 100644
--- a/apps/files/l10n/si_LK.php
+++ b/apps/files/l10n/si_LK.php
@@ -20,7 +20,6 @@
"Upload cancelled." => "උඩුගත කිරීම අත් හරින්න ලදී",
"File upload is in progress. Leaving the page now will cancel the upload." => "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත",
"URL cannot be empty." => "යොමුව හිස් විය නොහැක",
-"error while scanning" => "පරීක්ෂා කිරීමේදී දෝෂයක්",
"Name" => "නම",
"Size" => "ප්රමාණය",
"Modified" => "වෙනස් කළ",
diff --git a/apps/files/l10n/sk_SK.php b/apps/files/l10n/sk_SK.php
index bae5670d061..9c27e215397 100644
--- a/apps/files/l10n/sk_SK.php
+++ b/apps/files/l10n/sk_SK.php
@@ -1,7 +1,4 @@
"Nie je možné presunúť %s - súbor s týmto menom už existuje",
-"Could not move %s" => "Nie je možné presunúť %s",
-"Unable to rename file" => "Nemožno premenovať súbor",
"No file was uploaded. Unknown error" => "Žiaden súbor nebol odoslaný. Neznáma chyba",
"There is no error, the file uploaded with success" => "Nenastala žiadna chyba, súbor bol úspešne nahraný",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Nahraný súbor predčil konfiguračnú direktívu upload_max_filesize v súbore php.ini:",
@@ -10,6 +7,7 @@
"No file was uploaded" => "Žiaden súbor nebol nahraný",
"Missing a temporary folder" => "Chýbajúci dočasný priečinok",
"Failed to write to disk" => "Zápis na disk sa nepodaril",
+"Not enough space available" => "Nie je k dispozícii dostatok miesta",
"Invalid directory." => "Neplatný adresár",
"Files" => "Súbory",
"Unshare" => "Nezdielať",
@@ -22,11 +20,12 @@
"replaced {new_name}" => "prepísaný {new_name}",
"undo" => "vrátiť",
"replaced {new_name} with {old_name}" => "prepísaný {new_name} súborom {old_name}",
-"unshared {files}" => "zdieľanie zrušené pre {files}",
-"deleted {files}" => "zmazané {files}",
+"perform delete operation" => "vykonať zmazanie",
"'.' is an invalid file name." => "'.' je neplatné meno súboru.",
"File name cannot be empty." => "Meno súboru nemôže byť prázdne",
"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}%)",
"Your download is being prepared. This might take some time if the files are big." => "Vaše sťahovanie sa pripravuje. Ak sú sťahované súbory veľké, môže to chvíľu trvať.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nemôžem nahrať súbor lebo je to priečinok alebo má 0 bajtov.",
"Upload Error" => "Chyba odosielania",
@@ -38,8 +37,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.",
"URL cannot be empty." => "URL nemôže byť prázdne",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Neplatné meno adresára. Používanie mena 'Shared' je vyhradené len pre Owncloud",
-"{count} files scanned" => "{count} súborov prehľadaných",
-"error while scanning" => "chyba počas kontroly",
"Name" => "Meno",
"Size" => "Veľkosť",
"Modified" => "Upravené",
@@ -60,11 +57,13 @@
"Text file" => "Textový súbor",
"Folder" => "Priečinok",
"From link" => "Z odkazu",
+"Trash" => "Kôš",
"Cancel upload" => "Zrušiť odosielanie",
"Nothing in here. Upload something!" => "Žiadny súbor. Nahrajte niečo!",
"Download" => "Stiahnuť",
"Upload too large" => "Odosielaný súbor 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 prehliadané"
+"Current scanning" => "Práve prehliadané",
+"Upgrading filesystem cache..." => "Aktualizujem medzipamäť súborového systému..."
);
diff --git a/apps/files/l10n/sl.php b/apps/files/l10n/sl.php
index fbc6ab83b8b..d55b4207d2b 100644
--- a/apps/files/l10n/sl.php
+++ b/apps/files/l10n/sl.php
@@ -18,8 +18,6 @@
"replaced {new_name}" => "zamenjano je ime {new_name}",
"undo" => "razveljavi",
"replaced {new_name} with {old_name}" => "zamenjano ime {new_name} z imenom {old_name}",
-"unshared {files}" => "odstranjeno iz souporabe {files}",
-"deleted {files}" => "izbrisano {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neveljavno ime, znaki '\\', '/', '<', '>', ':', '\"', '|', '?' in '*' niso dovoljeni.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Pošiljanje ni mogoče, saj gre za mapo, ali pa je datoteka velikosti 0 bajtov.",
"Upload Error" => "Napaka med nalaganjem",
@@ -30,8 +28,6 @@
"Upload cancelled." => "Pošiljanje je preklicano.",
"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.",
"URL cannot be empty." => "Naslov URL ne sme biti prazen.",
-"{count} files scanned" => "{count} files scanned",
-"error while scanning" => "napaka med pregledovanjem datotek",
"Name" => "Ime",
"Size" => "Velikost",
"Modified" => "Spremenjeno",
diff --git a/apps/files/l10n/sr.php b/apps/files/l10n/sr.php
index 71da2da4d14..188c8fc0da6 100644
--- a/apps/files/l10n/sr.php
+++ b/apps/files/l10n/sr.php
@@ -17,8 +17,6 @@
"replaced {new_name}" => "замењено {new_name}",
"undo" => "опозови",
"replaced {new_name} with {old_name}" => "замењено {new_name} са {old_name}",
-"unshared {files}" => "укинуто дељење {files}",
-"deleted {files}" => "обрисано {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неисправан назив. Следећи знакови нису дозвољени: \\, /, <, >, :, \", |, ? и *.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Не могу да отпремим датотеку као фасциклу или она има 0 бајтова",
"Upload Error" => "Грешка при отпремању",
@@ -28,8 +26,6 @@
"{count} files uploading" => "Отпремам {count} датотеке/а",
"Upload cancelled." => "Отпремање је прекинуто.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Отпремање датотеке је у току. Ако сада напустите страницу, прекинућете отпремање.",
-"{count} files scanned" => "Скенирано датотека: {count}",
-"error while scanning" => "грешка при скенирању",
"Name" => "Назив",
"Size" => "Величина",
"Modified" => "Измењено",
diff --git a/apps/files/l10n/sv.php b/apps/files/l10n/sv.php
index ebcb4626fc8..55493e24943 100644
--- a/apps/files/l10n/sv.php
+++ b/apps/files/l10n/sv.php
@@ -1,7 +1,4 @@
"Kunde inte flytta %s - Det finns redan en fil med detta namn",
-"Could not move %s" => "Kan inte flytta %s",
-"Unable to rename file" => "Kan inte byta namn på filen",
"No file was uploaded. Unknown error" => "Ingen fil uppladdad. Okänt fel",
"There is no error, the file uploaded with success" => "Inga fel uppstod. Filen laddades upp utan problem",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Den uppladdade filen överskrider upload_max_filesize direktivet php.ini:",
@@ -10,7 +7,7 @@
"No file was uploaded" => "Ingen fil blev uppladdad",
"Missing a temporary folder" => "Saknar en tillfällig mapp",
"Failed to write to disk" => "Misslyckades spara till disk",
-"Not enough storage available" => "Inte tillräckligt med lagringsutrymme tillgängligt",
+"Not enough space available" => "Inte tillräckligt med utrymme tillgängligt",
"Invalid directory." => "Felaktig mapp.",
"Files" => "Filer",
"Unshare" => "Sluta dela",
@@ -23,8 +20,7 @@
"replaced {new_name}" => "ersatt {new_name}",
"undo" => "ångra",
"replaced {new_name} with {old_name}" => "ersatt {new_name} med {old_name}",
-"unshared {files}" => "stoppad delning {files}",
-"deleted {files}" => "raderade {files}",
+"perform delete operation" => "utför raderingen",
"'.' is an invalid file name." => "'.' är ett ogiltigt filnamn.",
"File name cannot be empty." => "Filnamn kan inte vara tomt.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte tillåtet.",
@@ -41,8 +37,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.",
"URL cannot be empty." => "URL kan inte vara tom.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ogiltigt mappnamn. Användande av 'Shared' är reserverat av ownCloud",
-"{count} files scanned" => "{count} filer skannade",
-"error while scanning" => "fel vid skanning",
"Name" => "Namn",
"Size" => "Storlek",
"Modified" => "Ändrad",
@@ -63,11 +57,13 @@
"Text file" => "Textfil",
"Folder" => "Mapp",
"From link" => "Från länk",
+"Trash" => "Papperskorgen",
"Cancel upload" => "Avbryt uppladdning",
"Nothing in here. Upload something!" => "Ingenting här. Ladda upp något!",
"Download" => "Ladda ner",
"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"
+"Current scanning" => "Aktuell skanning",
+"Upgrading filesystem cache..." => "Uppgraderar filsystemets cache..."
);
diff --git a/apps/files/l10n/ta_LK.php b/apps/files/l10n/ta_LK.php
index 52916fed774..383b4ef6f85 100644
--- a/apps/files/l10n/ta_LK.php
+++ b/apps/files/l10n/ta_LK.php
@@ -17,8 +17,6 @@
"replaced {new_name}" => "மாற்றப்பட்டது {new_name}",
"undo" => "முன் செயல் நீக்கம் ",
"replaced {new_name} with {old_name}" => "{new_name} ஆனது {old_name} இனால் மாற்றப்பட்டது",
-"unshared {files}" => "பகிரப்படாதது {கோப்புகள்}",
-"deleted {files}" => "நீக்கப்பட்டது {கோப்புகள்}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "செல்லுபடியற்ற பெயர்,'\\', '/', '<', '>', ':', '\"', '|', '?' மற்றும் '*' ஆகியன அனுமதிக்கப்படமாட்டாது.",
"Unable to upload your file as it is a directory or has 0 bytes" => "அடைவு அல்லது 0 bytes ஐ கொண்டுள்ளதால் உங்களுடைய கோப்பை பதிவேற்ற முடியவில்லை",
"Upload Error" => "பதிவேற்றல் வழு",
@@ -29,8 +27,6 @@
"Upload cancelled." => "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது",
"File upload is in progress. Leaving the page now will cancel the upload." => "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.",
"URL cannot be empty." => "URL வெறுமையாக இருக்கமுடியாது.",
-"{count} files scanned" => "{எண்ணிக்கை} கோப்புகள் வருடப்பட்டது",
-"error while scanning" => "வருடும் போதான வழு",
"Name" => "பெயர்",
"Size" => "அளவு",
"Modified" => "மாற்றப்பட்டது",
diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php
index d7fcd82a9d1..06dab9d8e6c 100644
--- a/apps/files/l10n/th_TH.php
+++ b/apps/files/l10n/th_TH.php
@@ -1,7 +1,4 @@
"ไม่สามารถย้าย %s ได้ - ไฟล์ที่ใช้ชื่อนี้มีอยู่แล้ว",
-"Could not move %s" => "ไม่สามารถย้าย %s ได้",
-"Unable to rename file" => "ไม่สามารถเปลี่ยนชื่อไฟล์ได้",
"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",
@@ -10,7 +7,7 @@
"No file was uploaded" => "ยังไม่มีไฟล์ที่ถูกอัพโหลด",
"Missing a temporary folder" => "แฟ้มเอกสารชั่วคราวเกิดการสูญหาย",
"Failed to write to disk" => "เขียนข้อมูลลงแผ่นดิสก์ล้มเหลว",
-"Not enough storage available" => "เหลือพื้นที่ไม่เพียงสำหรับใช้งาน",
+"Not enough space available" => "มีพื้นที่เหลือไม่เพียงพอ",
"Invalid directory." => "ไดเร็กทอรี่ไม่ถูกต้อง",
"Files" => "ไฟล์",
"Unshare" => "ยกเลิกการแชร์ข้อมูล",
@@ -23,8 +20,7 @@
"replaced {new_name}" => "แทนที่ {new_name} แล้ว",
"undo" => "เลิกทำ",
"replaced {new_name} with {old_name}" => "แทนที่ {new_name} ด้วย {old_name} แล้ว",
-"unshared {files}" => "ยกเลิกการแชร์แล้ว {files} ไฟล์",
-"deleted {files}" => "ลบไฟล์แล้ว {files} ไฟล์",
+"perform delete operation" => "ดำเนินการตามคำสั่งลบ",
"'.' is an invalid file name." => "'.' เป็นชื่อไฟล์ที่ไม่ถูกต้อง",
"File name cannot be empty." => "ชื่อไฟล์ไม่สามารถเว้นว่างได้",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "ชื่อที่ใช้ไม่ถูกต้อง, '\\', '/', '<', '>', ':', '\"', '|', '?' และ '*' ไม่ได้รับอนุญาตให้ใช้งานได้",
@@ -41,8 +37,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "การอัพโหลดไฟล์กำลังอยู่ในระหว่างดำเนินการ การออกจากหน้าเว็บนี้จะทำให้การอัพโหลดถูกยกเลิก",
"URL cannot be empty." => "URL ไม่สามารถเว้นว่างได้",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "ชื่อโฟลเดอร์ไม่ถูกต้อง การใช้งาน 'แชร์' สงวนไว้สำหรับ Owncloud เท่านั้น",
-"{count} files scanned" => "สแกนไฟล์แล้ว {count} ไฟล์",
-"error while scanning" => "พบข้อผิดพลาดในระหว่างการสแกนไฟล์",
"Name" => "ชื่อ",
"Size" => "ขนาด",
"Modified" => "ปรับปรุงล่าสุด",
@@ -63,11 +57,13 @@
"Text file" => "ไฟล์ข้อความ",
"Folder" => "แฟ้มเอกสาร",
"From link" => "จากลิงก์",
+"Trash" => "ถังขยะ",
"Cancel upload" => "ยกเลิกการอัพโหลด",
"Nothing in here. Upload something!" => "ยังไม่มีไฟล์ใดๆอยู่ที่นี่ กรุณาอัพโหลดไฟล์!",
"Download" => "ดาวน์โหลด",
"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" => "ไฟล์ที่กำลังสแกนอยู่ขณะนี้"
+"Current scanning" => "ไฟล์ที่กำลังสแกนอยู่ขณะนี้",
+"Upgrading filesystem cache..." => "กำลังอัพเกรดหน่วยความจำแคชของระบบไฟล์..."
);
diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php
index 2eba20fd0ae..3412d8ad448 100644
--- a/apps/files/l10n/tr.php
+++ b/apps/files/l10n/tr.php
@@ -1,7 +1,4 @@
"%s taşınamadı. Bu isimde dosya zaten var.",
-"Could not move %s" => "%s taşınamadı",
-"Unable to rename file" => "Dosya adı değiştirilemedi",
"No file was uploaded. Unknown error" => "Dosya yüklenmedi. Bilinmeyen hata",
"There is no error, the file uploaded with success" => "Bir hata yok, dosya başarıyla yüklendi",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "php.ini dosyasında upload_max_filesize ile belirtilen dosya yükleme sınırı aşıldı.",
@@ -10,6 +7,7 @@
"No file was uploaded" => "Hiç dosya yüklenmedi",
"Missing a temporary folder" => "Geçici bir klasör eksik",
"Failed to write to disk" => "Diske yazılamadı",
+"Not enough space available" => "Yeterli disk alanı yok",
"Invalid directory." => "Geçersiz dizin.",
"Files" => "Dosyalar",
"Unshare" => "Paylaşılmayan",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "değiştirilen {new_name}",
"undo" => "geri al",
"replaced {new_name} with {old_name}" => "{new_name} ismi {old_name} ile değiştirildi",
-"unshared {files}" => "paylaşılmamış {files}",
-"deleted {files}" => "silinen {files}",
"'.' is an invalid file name." => "'.' geçersiz dosya adı.",
"File name cannot be empty." => "Dosya adı boş olamaz.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Geçersiz isim, '\\', '/', '<', '>', ':', '\"', '|', '?' ve '*' karakterlerine izin verilmemektedir.",
@@ -38,8 +34,6 @@
"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.",
"URL cannot be empty." => "URL boş olamaz.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Geçersiz dizin adı. Shared isminin kullanımı Owncloud tarafından rezerver edilmiştir.",
-"{count} files scanned" => "{count} dosya tarandı",
-"error while scanning" => "tararamada hata oluşdu",
"Name" => "Ad",
"Size" => "Boyut",
"Modified" => "Değiştirilme",
diff --git a/apps/files/l10n/uk.php b/apps/files/l10n/uk.php
index aafa035ea09..9831dfe0f8f 100644
--- a/apps/files/l10n/uk.php
+++ b/apps/files/l10n/uk.php
@@ -18,8 +18,6 @@
"replaced {new_name}" => "замінено {new_name}",
"undo" => "відмінити",
"replaced {new_name} with {old_name}" => "замінено {new_name} на {old_name}",
-"unshared {files}" => "неопубліковано {files}",
-"deleted {files}" => "видалено {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Невірне ім'я, '\\', '/', '<', '>', ':', '\"', '|', '?' та '*' не дозволені.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Неможливо завантажити ваш файл тому, що він тека або файл розміром 0 байт",
"Upload Error" => "Помилка завантаження",
@@ -30,8 +28,6 @@
"Upload cancelled." => "Завантаження перервано.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Виконується завантаження файлу. Закриття цієї сторінки приведе до відміни завантаження.",
"URL cannot be empty." => "URL не може бути пустим.",
-"{count} files scanned" => "{count} файлів проскановано",
-"error while scanning" => "помилка при скануванні",
"Name" => "Ім'я",
"Size" => "Розмір",
"Modified" => "Змінено",
diff --git a/apps/files/l10n/vi.php b/apps/files/l10n/vi.php
index ce4f3a7973f..0daf580a2f5 100644
--- a/apps/files/l10n/vi.php
+++ b/apps/files/l10n/vi.php
@@ -17,8 +17,6 @@
"replaced {new_name}" => "đã thay thế {new_name}",
"undo" => "lùi lại",
"replaced {new_name} with {old_name}" => "đã thay thế {new_name} bằng {old_name}",
-"unshared {files}" => "hủy chia sẽ {files}",
-"deleted {files}" => "đã xóa {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Tên không hợp lệ, '\\', '/', '<', '>', ':', '\"', '|', '?' và '*' thì không được phép dùng.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Không thể tải lên tập tin này do nó là một thư mục hoặc kích thước tập tin bằng 0 byte",
"Upload Error" => "Tải lên lỗi",
@@ -29,8 +27,6 @@
"Upload cancelled." => "Hủy tải lên",
"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 được để trống.",
-"{count} files scanned" => "{count} tập tin đã được quét",
-"error while scanning" => "lỗi trong khi quét",
"Name" => "Tên",
"Size" => "Kích cỡ",
"Modified" => "Thay đổi",
diff --git a/apps/files/l10n/zh_CN.GB2312.php b/apps/files/l10n/zh_CN.GB2312.php
index ae1b603369a..a38e2d3bc60 100644
--- a/apps/files/l10n/zh_CN.GB2312.php
+++ b/apps/files/l10n/zh_CN.GB2312.php
@@ -17,8 +17,6 @@
"replaced {new_name}" => "已替换 {new_name}",
"undo" => "撤销",
"replaced {new_name} with {old_name}" => "已用 {old_name} 替换 {new_name}",
-"unshared {files}" => "未分享的 {files}",
-"deleted {files}" => "已删除的 {files}",
"Unable to upload your file as it is a directory or has 0 bytes" => "不能上传你指定的文件,可能因为它是个文件夹或者大小为0",
"Upload Error" => "上传错误",
"Close" => "关闭",
@@ -28,8 +26,6 @@
"Upload cancelled." => "上传取消了",
"File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传。关闭页面会取消上传。",
"URL cannot be empty." => "网址不能为空。",
-"{count} files scanned" => "{count} 个文件已扫描",
-"error while scanning" => "扫描出错",
"Name" => "名字",
"Size" => "大小",
"Modified" => "修改日期",
diff --git a/apps/files/l10n/zh_CN.php b/apps/files/l10n/zh_CN.php
index 2e0f938dcd8..2491d645340 100644
--- a/apps/files/l10n/zh_CN.php
+++ b/apps/files/l10n/zh_CN.php
@@ -1,7 +1,4 @@
"无法移动 %s - 同名文件已存在",
-"Could not move %s" => "无法移动 %s",
-"Unable to rename file" => "无法重命名文件",
"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所规定的值",
@@ -10,6 +7,7 @@
"No file was uploaded" => "文件没有上传",
"Missing a temporary folder" => "缺少临时目录",
"Failed to write to disk" => "写入磁盘失败",
+"Not enough space available" => "没有足够可用空间",
"Invalid directory." => "无效文件夹。",
"Files" => "文件",
"Unshare" => "取消分享",
@@ -22,8 +20,6 @@
"replaced {new_name}" => "替换 {new_name}",
"undo" => "撤销",
"replaced {new_name} with {old_name}" => "已将 {old_name}替换成 {new_name}",
-"unshared {files}" => "取消了共享 {files}",
-"deleted {files}" => "删除了 {files}",
"'.' is an invalid file name." => "'.' 是一个无效的文件名。",
"File name cannot be empty." => "文件名不能为空。",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "无效名称,'\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 不被允许使用。",
@@ -38,8 +34,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传中。现在离开此页会导致上传动作被取消。",
"URL cannot be empty." => "URL不能为空",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "无效文件夹名。'共享' 是 Owncloud 预留的文件夹名。",
-"{count} files scanned" => "{count} 个文件已扫描。",
-"error while scanning" => "扫描时出错",
"Name" => "名称",
"Size" => "大小",
"Modified" => "修改日期",
diff --git a/apps/files/l10n/zh_TW.php b/apps/files/l10n/zh_TW.php
index 8d41a927355..104cb3a619f 100644
--- a/apps/files/l10n/zh_TW.php
+++ b/apps/files/l10n/zh_TW.php
@@ -1,7 +1,4 @@
"無法移動 %s - 同名的檔案已經存在",
-"Could not move %s" => "無法移動 %s",
-"Unable to rename file" => "無法重新命名檔案",
"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 參數的設定:",
@@ -10,6 +7,7 @@
"No file was uploaded" => "無已上傳檔案",
"Missing a temporary folder" => "遺失暫存資料夾",
"Failed to write to disk" => "寫入硬碟失敗",
+"Not enough space available" => "沒有足夠的可用空間",
"Invalid directory." => "無效的資料夾。",
"Files" => "檔案",
"Unshare" => "取消共享",
@@ -22,11 +20,12 @@
"replaced {new_name}" => "已取代 {new_name}",
"undo" => "復原",
"replaced {new_name} with {old_name}" => "使用 {new_name} 取代 {old_name}",
-"unshared {files}" => "已取消分享 {files}",
-"deleted {files}" => "已刪除 {files}",
+"perform delete operation" => "進行刪除動作",
"'.' is an invalid file name." => "'.' 是不合法的檔名。",
"File name cannot be empty." => "檔名不能為空。",
"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." => "正在準備您的下載,若您的檔案較大,將會需要更多時間。",
"Unable to upload your file as it is a directory or has 0 bytes" => "無法上傳您的檔案因為它可能是一個目錄或檔案大小為0",
"Upload Error" => "上傳發生錯誤",
@@ -38,8 +37,6 @@
"File upload is in progress. Leaving the page now will cancel the upload." => "檔案上傳中。離開此頁面將會取消上傳。",
"URL cannot be empty." => "URL 不能為空白.",
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "無效的資料夾名稱,'Shared' 的使用被 Owncloud 保留",
-"{count} files scanned" => "{count} 個檔案已掃描",
-"error while scanning" => "掃描時發生錯誤",
"Name" => "名稱",
"Size" => "大小",
"Modified" => "修改",
@@ -60,11 +57,13 @@
"Text file" => "文字檔",
"Folder" => "資料夾",
"From link" => "從連結",
+"Trash" => "回收筒",
"Cancel upload" => "取消上傳",
"Nothing in here. Upload something!" => "沒有任何東西。請上傳內容!",
"Download" => "下載",
"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" => "目前掃描"
+"Current scanning" => "目前掃描",
+"Upgrading filesystem cache..." => "正在更新檔案系統快取..."
);
diff --git a/apps/files/settings.php b/apps/files/settings.php
index ea730a5a727..8687f013137 100644
--- a/apps/files/settings.php
+++ b/apps/files/settings.php
@@ -32,7 +32,7 @@ OCP\Util::addscript( "files", "files" );
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
$files = array();
-foreach( OC_Files::getdirectorycontent( $dir ) as $i ) {
+foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $i ) {
$i["date"] = date( $CONFIG_DATEFORMAT, $i["mtime"] );
$files[] = $i;
}
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index b66b523ae38..2d4ed9ab2d9 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -35,6 +35,11 @@
+
+
';
+ var undeleteAction = $('tr').filterAttr('data-file',filename).children("td.date");
+ undeleteAction[0].innerHTML = undeleteAction[0].innerHTML+spinner;
+ $.post(OC.filePath('files_trashbin','ajax','undelete.php'),
+ {files:tr.attr('data-file'), dirlisting:tr.attr('data-dirlisting') },
+ function(result){
+ for (var i = 0; i < result.data.success.length; i++) {
+ var row = document.getElementById(result.data.success[i].filename);
+ row.parentNode.removeChild(row);
+ }
+ if (result.status != 'success') {
+ OC.dialogs.alert(result.data.message, 'Error');
+ }
+ });
+
+ });
+ };
+
+ // Sets the select_all checkbox behaviour :
+ $('#select_all').click(function() {
+ if($(this).attr('checked')){
+ // Check all
+ $('td.filename input:checkbox').attr('checked', true);
+ $('td.filename input:checkbox').parent().parent().addClass('selected');
+ }else{
+ // Uncheck all
+ $('td.filename input:checkbox').attr('checked', false);
+ $('td.filename input:checkbox').parent().parent().removeClass('selected');
+ }
+ processSelection();
+ });
+
+ $('td.filename input:checkbox').live('change',function(event) {
+ if (event.shiftKey) {
+ var last = $(lastChecked).parent().parent().prevAll().length;
+ var first = $(this).parent().parent().prevAll().length;
+ var start = Math.min(first, last);
+ var end = Math.max(first, last);
+ var rows = $(this).parent().parent().parent().children('tr');
+ for (var i = start; i < end; i++) {
+ $(rows).each(function(index) {
+ if (index == i) {
+ var checkbox = $(this).children().children('input:checkbox');
+ $(checkbox).attr('checked', 'checked');
+ $(checkbox).parent().parent().addClass('selected');
+ }
+ });
+ }
+ }
+ var selectedCount=$('td.filename input:checkbox:checked').length;
+ $(this).parent().parent().toggleClass('selected');
+ if(!$(this).attr('checked')){
+ $('#select_all').attr('checked',false);
+ }else{
+ if(selectedCount==$('td.filename input:checkbox').length){
+ $('#select_all').attr('checked',true);
+ }
+ }
+ processSelection();
+ });
+
+ $('.undelete').click('click',function(event) {
+ var spinner = '
';
+ var files=getSelectedFiles('file');
+ var fileslist=files.join(';');
+ var dirlisting=getSelectedFiles('dirlisting')[0];
+
+ for (var i in files) {
+ var undeleteAction = $('tr').filterAttr('data-file',files[i]).children("td.date");
+ undeleteAction[0].innerHTML = undeleteAction[0].innerHTML+spinner;
+ }
+
+ $.post(OC.filePath('files_trashbin','ajax','undelete.php'),
+ {files:fileslist, dirlisting:dirlisting},
+ function(result){
+ for (var i = 0; i < result.data.success.length; i++) {
+ var row = document.getElementById(result.data.success[i].filename);
+ row.parentNode.removeChild(row);
+ }
+ if (result.status != 'success') {
+ OC.dialogs.alert(result.data.message, 'Error');
+ }
+ });
+ });
+
+
+});
+
+function processSelection(){
+ var selected=getSelectedFiles();
+ var selectedFiles=selected.filter(function(el){return el.type=='file'});
+ var selectedFolders=selected.filter(function(el){return el.type=='dir'});
+ if(selectedFiles.length==0 && selectedFolders.length==0) {
+ $('#headerName>span.name').text(t('files','Name'));
+ $('#modified').text(t('files','Deleted'));
+ $('table').removeClass('multiselect');
+ $('.selectedActions').hide();
+ }
+ else {
+ $('.selectedActions').show();
+ var selection='';
+ if(selectedFolders.length>0){
+ if(selectedFolders.length==1){
+ selection+=t('files','1 folder');
+ }else{
+ selection+=t('files','{count} folders',{count: selectedFolders.length});
+ }
+ if(selectedFiles.length>0){
+ selection+=' & ';
+ }
+ }
+ if(selectedFiles.length>0){
+ if(selectedFiles.length==1){
+ selection+=t('files','1 file');
+ }else{
+ selection+=t('files','{count} files',{count: selectedFiles.length});
+ }
+ }
+ $('#headerName>span.name').text(selection);
+ $('#modified').text('');
+ $('table').addClass('multiselect');
+ }
+}
+
+/**
+ * @brief get a list of selected files
+ * @param string property (option) the property of the file requested
+ * @return array
+ *
+ * possible values for property: name, mime, size and type
+ * if property is set, an array with that property for each file is returnd
+ * if it's ommited an array of objects with all properties is returned
+ */
+function getSelectedFiles(property){
+ var elements=$('td.filename input:checkbox:checked').parent().parent();
+ var files=[];
+ elements.each(function(i,element){
+ var file={
+ name:$(element).attr('data-filename'),
+ file:$(element).attr('data-file'),
+ timestamp:$(element).attr('data-timestamp'),
+ type:$(element).attr('data-type'),
+ dirlisting:$(element).attr('data-dirlisting')
+ };
+ if(property){
+ files.push(file[property]);
+ }else{
+ files.push(file);
+ }
+ });
+ return files;
+}
\ No newline at end of file
diff --git a/apps/files_trashbin/l10n/.gitkeep b/apps/files_trashbin/l10n/.gitkeep
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/apps/files_trashbin/l10n/ar.php b/apps/files_trashbin/l10n/ar.php
new file mode 100644
index 00000000000..e38130fe2d3
--- /dev/null
+++ b/apps/files_trashbin/l10n/ar.php
@@ -0,0 +1,3 @@
+ "اسم"
+);
diff --git a/apps/files_trashbin/l10n/bg_BG.php b/apps/files_trashbin/l10n/bg_BG.php
new file mode 100644
index 00000000000..681c1dc5802
--- /dev/null
+++ b/apps/files_trashbin/l10n/bg_BG.php
@@ -0,0 +1,3 @@
+ "Име"
+);
diff --git a/apps/files_trashbin/l10n/bn_BD.php b/apps/files_trashbin/l10n/bn_BD.php
new file mode 100644
index 00000000000..c669eff7e1f
--- /dev/null
+++ b/apps/files_trashbin/l10n/bn_BD.php
@@ -0,0 +1,7 @@
+ "রাম",
+"1 folder" => "১টি ফোল্ডার",
+"{count} folders" => "{count} টি ফোল্ডার",
+"1 file" => "১টি ফাইল",
+"{count} files" => "{count} টি ফাইল"
+);
diff --git a/apps/files_trashbin/l10n/ca.php b/apps/files_trashbin/l10n/ca.php
new file mode 100644
index 00000000000..3af33c8a310
--- /dev/null
+++ b/apps/files_trashbin/l10n/ca.php
@@ -0,0 +1,11 @@
+ "executa l'operació de restauració",
+"Name" => "Nom",
+"Deleted" => "Eliminat",
+"1 folder" => "1 carpeta",
+"{count} folders" => "{count} carpetes",
+"1 file" => "1 fitxer",
+"{count} files" => "{count} fitxers",
+"Nothing in here. Your trash bin is empty!" => "La paperera està buida!",
+"Restore" => "Recupera"
+);
diff --git a/apps/files_trashbin/l10n/cs_CZ.php b/apps/files_trashbin/l10n/cs_CZ.php
new file mode 100644
index 00000000000..caaaea37436
--- /dev/null
+++ b/apps/files_trashbin/l10n/cs_CZ.php
@@ -0,0 +1,11 @@
+ "provést obnovu",
+"Name" => "Název",
+"Deleted" => "Smazáno",
+"1 folder" => "1 složka",
+"{count} folders" => "{count} složky",
+"1 file" => "1 soubor",
+"{count} files" => "{count} soubory",
+"Nothing in here. Your trash bin is empty!" => "Žádný obsah. Váš koš je prázdný.",
+"Restore" => "Obnovit"
+);
diff --git a/apps/files_trashbin/l10n/da.php b/apps/files_trashbin/l10n/da.php
new file mode 100644
index 00000000000..3343b6fc8f6
--- /dev/null
+++ b/apps/files_trashbin/l10n/da.php
@@ -0,0 +1,8 @@
+ "Navn",
+"1 folder" => "1 mappe",
+"{count} folders" => "{count} mapper",
+"1 file" => "1 fil",
+"{count} files" => "{count} filer",
+"Restore" => "Gendan"
+);
diff --git a/apps/files_trashbin/l10n/de.php b/apps/files_trashbin/l10n/de.php
new file mode 100644
index 00000000000..45dfb9d6057
--- /dev/null
+++ b/apps/files_trashbin/l10n/de.php
@@ -0,0 +1,11 @@
+ "Wiederherstellung ausführen",
+"Name" => "Name",
+"Deleted" => "gelöscht",
+"1 folder" => "1 Ordner",
+"{count} folders" => "{count} Ordner",
+"1 file" => "1 Datei",
+"{count} files" => "{count} Dateien",
+"Nothing in here. Your trash bin is empty!" => "Nichts zu löschen, der Papierkorb ist leer!",
+"Restore" => "Wiederherstellen"
+);
diff --git a/apps/files_trashbin/l10n/de_DE.php b/apps/files_trashbin/l10n/de_DE.php
new file mode 100644
index 00000000000..45e30d85a3b
--- /dev/null
+++ b/apps/files_trashbin/l10n/de_DE.php
@@ -0,0 +1,11 @@
+ "Führe die Wiederherstellung aus",
+"Name" => "Name",
+"Deleted" => "Gelöscht",
+"1 folder" => "1 Ordner",
+"{count} folders" => "{count} Ordner",
+"1 file" => "1 Datei",
+"{count} files" => "{count} Dateien",
+"Nothing in here. Your trash bin is empty!" => "Nichts zu löschen, Ihr Papierkorb ist leer!",
+"Restore" => "Wiederherstellen"
+);
diff --git a/apps/files_trashbin/l10n/el.php b/apps/files_trashbin/l10n/el.php
new file mode 100644
index 00000000000..83e359890ea
--- /dev/null
+++ b/apps/files_trashbin/l10n/el.php
@@ -0,0 +1,8 @@
+ "Όνομα",
+"1 folder" => "1 φάκελος",
+"{count} folders" => "{count} φάκελοι",
+"1 file" => "1 αρχείο",
+"{count} files" => "{count} αρχεία",
+"Restore" => "Επαναφορά"
+);
diff --git a/apps/files_trashbin/l10n/eo.php b/apps/files_trashbin/l10n/eo.php
new file mode 100644
index 00000000000..f357e3c10c2
--- /dev/null
+++ b/apps/files_trashbin/l10n/eo.php
@@ -0,0 +1,8 @@
+ "Nomo",
+"1 folder" => "1 dosierujo",
+"{count} folders" => "{count} dosierujoj",
+"1 file" => "1 dosiero",
+"{count} files" => "{count} dosierujoj",
+"Restore" => "Restaŭri"
+);
diff --git a/apps/files_trashbin/l10n/es.php b/apps/files_trashbin/l10n/es.php
new file mode 100644
index 00000000000..798322cab24
--- /dev/null
+++ b/apps/files_trashbin/l10n/es.php
@@ -0,0 +1,8 @@
+ "Nombre",
+"1 folder" => "1 carpeta",
+"{count} folders" => "{count} carpetas",
+"1 file" => "1 archivo",
+"{count} files" => "{count} archivos",
+"Restore" => "Recuperar"
+);
diff --git a/apps/files_trashbin/l10n/es_AR.php b/apps/files_trashbin/l10n/es_AR.php
new file mode 100644
index 00000000000..d2c5f304284
--- /dev/null
+++ b/apps/files_trashbin/l10n/es_AR.php
@@ -0,0 +1,8 @@
+ "Nombre",
+"1 folder" => "1 directorio",
+"{count} folders" => "{count} directorios",
+"1 file" => "1 archivo",
+"{count} files" => "{count} archivos",
+"Restore" => "Recuperar"
+);
diff --git a/apps/files_trashbin/l10n/et_EE.php b/apps/files_trashbin/l10n/et_EE.php
new file mode 100644
index 00000000000..4f46f388020
--- /dev/null
+++ b/apps/files_trashbin/l10n/et_EE.php
@@ -0,0 +1,7 @@
+ "Nimi",
+"1 folder" => "1 kaust",
+"{count} folders" => "{count} kausta",
+"1 file" => "1 fail",
+"{count} files" => "{count} faili"
+);
diff --git a/apps/files_trashbin/l10n/eu.php b/apps/files_trashbin/l10n/eu.php
new file mode 100644
index 00000000000..a1e3ca53e61
--- /dev/null
+++ b/apps/files_trashbin/l10n/eu.php
@@ -0,0 +1,8 @@
+ "Izena",
+"1 folder" => "karpeta bat",
+"{count} folders" => "{count} karpeta",
+"1 file" => "fitxategi bat",
+"{count} files" => "{count} fitxategi",
+"Restore" => "Berrezarri"
+);
diff --git a/apps/files_trashbin/l10n/fa.php b/apps/files_trashbin/l10n/fa.php
new file mode 100644
index 00000000000..487d1657985
--- /dev/null
+++ b/apps/files_trashbin/l10n/fa.php
@@ -0,0 +1,8 @@
+ "نام",
+"1 folder" => "1 پوشه",
+"{count} folders" => "{ شمار} پوشه ها",
+"1 file" => "1 پرونده",
+"{count} files" => "{ شمار } فایل ها",
+"Restore" => "بازیابی"
+);
diff --git a/apps/files_trashbin/l10n/fi_FI.php b/apps/files_trashbin/l10n/fi_FI.php
new file mode 100644
index 00000000000..de25027f9a8
--- /dev/null
+++ b/apps/files_trashbin/l10n/fi_FI.php
@@ -0,0 +1,11 @@
+ "suorita palautustoiminto",
+"Name" => "Nimi",
+"Deleted" => "Poistettu",
+"1 folder" => "1 kansio",
+"{count} folders" => "{count} kansiota",
+"1 file" => "1 tiedosto",
+"{count} files" => "{count} tiedostoa",
+"Nothing in here. Your trash bin is empty!" => "Tyhjää täynnä! Roskakorissa ei ole mitään.",
+"Restore" => "Palauta"
+);
diff --git a/apps/files_trashbin/l10n/fr.php b/apps/files_trashbin/l10n/fr.php
new file mode 100644
index 00000000000..51ade82d908
--- /dev/null
+++ b/apps/files_trashbin/l10n/fr.php
@@ -0,0 +1,11 @@
+ "effectuer l'opération de restauration",
+"Name" => "Nom",
+"Deleted" => "Effacé",
+"1 folder" => "1 dossier",
+"{count} folders" => "{count} dossiers",
+"1 file" => "1 fichier",
+"{count} files" => "{count} fichiers",
+"Nothing in here. Your trash bin is empty!" => "Il n'y a rien ici. Votre corbeille est vide !",
+"Restore" => "Restaurer"
+);
diff --git a/apps/files_trashbin/l10n/gl.php b/apps/files_trashbin/l10n/gl.php
new file mode 100644
index 00000000000..bdc3187b20b
--- /dev/null
+++ b/apps/files_trashbin/l10n/gl.php
@@ -0,0 +1,8 @@
+ "Nome",
+"1 folder" => "1 cartafol",
+"{count} folders" => "{count} cartafoles",
+"1 file" => "1 ficheiro",
+"{count} files" => "{count} ficheiros",
+"Restore" => "Restablecer"
+);
diff --git a/apps/files_trashbin/l10n/he.php b/apps/files_trashbin/l10n/he.php
new file mode 100644
index 00000000000..d026add5d75
--- /dev/null
+++ b/apps/files_trashbin/l10n/he.php
@@ -0,0 +1,7 @@
+ "שם",
+"1 folder" => "תיקייה אחת",
+"{count} folders" => "{count} תיקיות",
+"1 file" => "קובץ אחד",
+"{count} files" => "{count} קבצים"
+);
diff --git a/apps/files_trashbin/l10n/hr.php b/apps/files_trashbin/l10n/hr.php
new file mode 100644
index 00000000000..52255c7429a
--- /dev/null
+++ b/apps/files_trashbin/l10n/hr.php
@@ -0,0 +1,3 @@
+ "Ime"
+);
diff --git a/apps/files_trashbin/l10n/hu_HU.php b/apps/files_trashbin/l10n/hu_HU.php
new file mode 100644
index 00000000000..c4e2b5e2125
--- /dev/null
+++ b/apps/files_trashbin/l10n/hu_HU.php
@@ -0,0 +1,8 @@
+ "Név",
+"1 folder" => "1 mappa",
+"{count} folders" => "{count} mappa",
+"1 file" => "1 fájl",
+"{count} files" => "{count} fájl",
+"Restore" => "Visszaállítás"
+);
diff --git a/apps/files_trashbin/l10n/ia.php b/apps/files_trashbin/l10n/ia.php
new file mode 100644
index 00000000000..c2581f3de17
--- /dev/null
+++ b/apps/files_trashbin/l10n/ia.php
@@ -0,0 +1,3 @@
+ "Nomine"
+);
diff --git a/apps/files_trashbin/l10n/id.php b/apps/files_trashbin/l10n/id.php
new file mode 100644
index 00000000000..1a14d8b7c21
--- /dev/null
+++ b/apps/files_trashbin/l10n/id.php
@@ -0,0 +1,3 @@
+ "nama"
+);
diff --git a/apps/files_trashbin/l10n/is.php b/apps/files_trashbin/l10n/is.php
new file mode 100644
index 00000000000..416f641a8ef
--- /dev/null
+++ b/apps/files_trashbin/l10n/is.php
@@ -0,0 +1,7 @@
+ "Nafn",
+"1 folder" => "1 mappa",
+"{count} folders" => "{count} möppur",
+"1 file" => "1 skrá",
+"{count} files" => "{count} skrár"
+);
diff --git a/apps/files_trashbin/l10n/it.php b/apps/files_trashbin/l10n/it.php
new file mode 100644
index 00000000000..7def431a42a
--- /dev/null
+++ b/apps/files_trashbin/l10n/it.php
@@ -0,0 +1,11 @@
+ "esegui operazione di ripristino",
+"Name" => "Nome",
+"Deleted" => "Eliminati",
+"1 folder" => "1 cartella",
+"{count} folders" => "{count} cartelle",
+"1 file" => "1 file",
+"{count} files" => "{count} file",
+"Nothing in here. Your trash bin is empty!" => "Qui non c'è niente. Il tuo cestino è vuoto.",
+"Restore" => "Ripristina"
+);
diff --git a/apps/files_trashbin/l10n/ja_JP.php b/apps/files_trashbin/l10n/ja_JP.php
new file mode 100644
index 00000000000..0b4e1954e74
--- /dev/null
+++ b/apps/files_trashbin/l10n/ja_JP.php
@@ -0,0 +1,11 @@
+ "復元操作を実行する",
+"Name" => "名前",
+"Deleted" => "削除済み",
+"1 folder" => "1 フォルダ",
+"{count} folders" => "{count} フォルダ",
+"1 file" => "1 ファイル",
+"{count} files" => "{count} ファイル",
+"Nothing in here. Your trash bin is empty!" => "ここには何もありません。ゴミ箱は空です!",
+"Restore" => "復元"
+);
diff --git a/apps/files_trashbin/l10n/ka_GE.php b/apps/files_trashbin/l10n/ka_GE.php
new file mode 100644
index 00000000000..43dba38f5c7
--- /dev/null
+++ b/apps/files_trashbin/l10n/ka_GE.php
@@ -0,0 +1,7 @@
+ "სახელი",
+"1 folder" => "1 საქაღალდე",
+"{count} folders" => "{count} საქაღალდე",
+"1 file" => "1 ფაილი",
+"{count} files" => "{count} ფაილი"
+);
diff --git a/apps/files_trashbin/l10n/ko.php b/apps/files_trashbin/l10n/ko.php
new file mode 100644
index 00000000000..61acd1276a7
--- /dev/null
+++ b/apps/files_trashbin/l10n/ko.php
@@ -0,0 +1,8 @@
+ "이름",
+"1 folder" => "폴더 1개",
+"{count} folders" => "폴더 {count}개",
+"1 file" => "파일 1개",
+"{count} files" => "파일 {count}개",
+"Restore" => "복원"
+);
diff --git a/apps/files_trashbin/l10n/ku_IQ.php b/apps/files_trashbin/l10n/ku_IQ.php
new file mode 100644
index 00000000000..cbdbe4644d1
--- /dev/null
+++ b/apps/files_trashbin/l10n/ku_IQ.php
@@ -0,0 +1,3 @@
+ "ناو"
+);
diff --git a/apps/files_trashbin/l10n/lb.php b/apps/files_trashbin/l10n/lb.php
new file mode 100644
index 00000000000..d1bd7518663
--- /dev/null
+++ b/apps/files_trashbin/l10n/lb.php
@@ -0,0 +1,3 @@
+ "Numm"
+);
diff --git a/apps/files_trashbin/l10n/lt_LT.php b/apps/files_trashbin/l10n/lt_LT.php
new file mode 100644
index 00000000000..4933e97202f
--- /dev/null
+++ b/apps/files_trashbin/l10n/lt_LT.php
@@ -0,0 +1,7 @@
+ "Pavadinimas",
+"1 folder" => "1 aplankalas",
+"{count} folders" => "{count} aplankalai",
+"1 file" => "1 failas",
+"{count} files" => "{count} failai"
+);
diff --git a/apps/files_trashbin/l10n/lv.php b/apps/files_trashbin/l10n/lv.php
new file mode 100644
index 00000000000..017a8d285c0
--- /dev/null
+++ b/apps/files_trashbin/l10n/lv.php
@@ -0,0 +1,11 @@
+ "veikt atjaunošanu",
+"Name" => "Nosaukums",
+"Deleted" => "Dzēsts",
+"1 folder" => "1 mape",
+"{count} folders" => "{count} mapes",
+"1 file" => "1 datne",
+"{count} files" => "{count} datnes",
+"Nothing in here. Your trash bin is empty!" => "Šeit nekā nav. Jūsu miskaste ir tukša!",
+"Restore" => "Atjaunot"
+);
diff --git a/apps/files_trashbin/l10n/mk.php b/apps/files_trashbin/l10n/mk.php
new file mode 100644
index 00000000000..b983c341e8c
--- /dev/null
+++ b/apps/files_trashbin/l10n/mk.php
@@ -0,0 +1,7 @@
+ "Име",
+"1 folder" => "1 папка",
+"{count} folders" => "{count} папки",
+"1 file" => "1 датотека",
+"{count} files" => "{count} датотеки"
+);
diff --git a/apps/files_trashbin/l10n/ms_MY.php b/apps/files_trashbin/l10n/ms_MY.php
new file mode 100644
index 00000000000..73e97b496e4
--- /dev/null
+++ b/apps/files_trashbin/l10n/ms_MY.php
@@ -0,0 +1,3 @@
+ "Nama"
+);
diff --git a/apps/files_trashbin/l10n/nb_NO.php b/apps/files_trashbin/l10n/nb_NO.php
new file mode 100644
index 00000000000..49364753d13
--- /dev/null
+++ b/apps/files_trashbin/l10n/nb_NO.php
@@ -0,0 +1,7 @@
+ "Navn",
+"1 folder" => "1 mappe",
+"{count} folders" => "{count} mapper",
+"1 file" => "1 fil",
+"{count} files" => "{count} filer"
+);
diff --git a/apps/files_trashbin/l10n/nl.php b/apps/files_trashbin/l10n/nl.php
new file mode 100644
index 00000000000..4efa6ecf662
--- /dev/null
+++ b/apps/files_trashbin/l10n/nl.php
@@ -0,0 +1,11 @@
+ "uitvoeren restore operatie",
+"Name" => "Naam",
+"Deleted" => "Verwijderd",
+"1 folder" => "1 map",
+"{count} folders" => "{count} mappen",
+"1 file" => "1 bestand",
+"{count} files" => "{count} bestanden",
+"Nothing in here. Your trash bin is empty!" => "Niets te vinden. Uw prullenbak is leeg!",
+"Restore" => "Herstellen"
+);
diff --git a/apps/files_trashbin/l10n/nn_NO.php b/apps/files_trashbin/l10n/nn_NO.php
new file mode 100644
index 00000000000..be60dabdf01
--- /dev/null
+++ b/apps/files_trashbin/l10n/nn_NO.php
@@ -0,0 +1,3 @@
+ "Namn"
+);
diff --git a/apps/files_trashbin/l10n/oc.php b/apps/files_trashbin/l10n/oc.php
new file mode 100644
index 00000000000..2c705193c15
--- /dev/null
+++ b/apps/files_trashbin/l10n/oc.php
@@ -0,0 +1,3 @@
+ "Nom"
+);
diff --git a/apps/files_trashbin/l10n/pl.php b/apps/files_trashbin/l10n/pl.php
new file mode 100644
index 00000000000..d2ada4c9466
--- /dev/null
+++ b/apps/files_trashbin/l10n/pl.php
@@ -0,0 +1,8 @@
+ "Nazwa",
+"1 folder" => "1 folder",
+"{count} folders" => "{count} foldery",
+"1 file" => "1 plik",
+"{count} files" => "{count} pliki",
+"Restore" => "Przywróć"
+);
diff --git a/apps/files_trashbin/l10n/pt_BR.php b/apps/files_trashbin/l10n/pt_BR.php
new file mode 100644
index 00000000000..db5737d9238
--- /dev/null
+++ b/apps/files_trashbin/l10n/pt_BR.php
@@ -0,0 +1,11 @@
+ "realizar operação de restauração",
+"Name" => "Nome",
+"Deleted" => "Excluído",
+"1 folder" => "1 pasta",
+"{count} folders" => "{count} pastas",
+"1 file" => "1 arquivo",
+"{count} files" => "{count} arquivos",
+"Nothing in here. Your trash bin is empty!" => "Nada aqui. Sua lixeira está vazia!",
+"Restore" => "Restaurar"
+);
diff --git a/apps/files_trashbin/l10n/pt_PT.php b/apps/files_trashbin/l10n/pt_PT.php
new file mode 100644
index 00000000000..79930315b0e
--- /dev/null
+++ b/apps/files_trashbin/l10n/pt_PT.php
@@ -0,0 +1,11 @@
+ "Restaurar",
+"Name" => "Nome",
+"Deleted" => "Apagado",
+"1 folder" => "1 pasta",
+"{count} folders" => "{count} pastas",
+"1 file" => "1 ficheiro",
+"{count} files" => "{count} ficheiros",
+"Nothing in here. Your trash bin is empty!" => "Não ha ficheiros. O lixo está vazio",
+"Restore" => "Restaurar"
+);
diff --git a/apps/files_trashbin/l10n/ro.php b/apps/files_trashbin/l10n/ro.php
new file mode 100644
index 00000000000..6ece51e02cf
--- /dev/null
+++ b/apps/files_trashbin/l10n/ro.php
@@ -0,0 +1,7 @@
+ "Nume",
+"1 folder" => "1 folder",
+"{count} folders" => "{count} foldare",
+"1 file" => "1 fisier",
+"{count} files" => "{count} fisiere"
+);
diff --git a/apps/files_trashbin/l10n/ru.php b/apps/files_trashbin/l10n/ru.php
new file mode 100644
index 00000000000..23d739a2ff7
--- /dev/null
+++ b/apps/files_trashbin/l10n/ru.php
@@ -0,0 +1,7 @@
+ "Имя",
+"1 folder" => "1 папка",
+"{count} folders" => "{count} папок",
+"1 file" => "1 файл",
+"{count} files" => "{count} файлов"
+);
diff --git a/apps/files_trashbin/l10n/ru_RU.php b/apps/files_trashbin/l10n/ru_RU.php
new file mode 100644
index 00000000000..8ef2658cf24
--- /dev/null
+++ b/apps/files_trashbin/l10n/ru_RU.php
@@ -0,0 +1,7 @@
+ "Имя",
+"1 folder" => "1 папка",
+"{count} folders" => "{количество} папок",
+"1 file" => "1 файл",
+"{count} files" => "{количество} файлов"
+);
diff --git a/apps/files_trashbin/l10n/si_LK.php b/apps/files_trashbin/l10n/si_LK.php
new file mode 100644
index 00000000000..cb351afaec9
--- /dev/null
+++ b/apps/files_trashbin/l10n/si_LK.php
@@ -0,0 +1,5 @@
+ "නම",
+"1 folder" => "1 ෆොල්ඩරයක්",
+"1 file" => "1 ගොනුවක්"
+);
diff --git a/apps/files_trashbin/l10n/sk_SK.php b/apps/files_trashbin/l10n/sk_SK.php
new file mode 100644
index 00000000000..81d43614d7b
--- /dev/null
+++ b/apps/files_trashbin/l10n/sk_SK.php
@@ -0,0 +1,11 @@
+ "vykonať obnovu",
+"Name" => "Meno",
+"Deleted" => "Zmazané",
+"1 folder" => "1 priečinok",
+"{count} folders" => "{count} priečinkov",
+"1 file" => "1 súbor",
+"{count} files" => "{count} súborov",
+"Nothing in here. Your trash bin is empty!" => "Žiadny obsah. Kôš je prázdny!",
+"Restore" => "Obnoviť"
+);
diff --git a/apps/files_trashbin/l10n/sl.php b/apps/files_trashbin/l10n/sl.php
new file mode 100644
index 00000000000..2579f95c862
--- /dev/null
+++ b/apps/files_trashbin/l10n/sl.php
@@ -0,0 +1,7 @@
+ "Ime",
+"1 folder" => "1 mapa",
+"{count} folders" => "{count} map",
+"1 file" => "1 datoteka",
+"{count} files" => "{count} datotek"
+);
diff --git a/apps/files_trashbin/l10n/sr.php b/apps/files_trashbin/l10n/sr.php
new file mode 100644
index 00000000000..36659e70803
--- /dev/null
+++ b/apps/files_trashbin/l10n/sr.php
@@ -0,0 +1,11 @@
+ "врати у претходно стање",
+"Name" => "Име",
+"Deleted" => "Обрисано",
+"1 folder" => "1 фасцикла",
+"{count} folders" => "{count} фасцикле/и",
+"1 file" => "1 датотека",
+"{count} files" => "{count} датотеке/а",
+"Nothing in here. Your trash bin is empty!" => "Овде нема ништа. Корпа за отпатке је празна.",
+"Restore" => "Врати"
+);
diff --git a/apps/files_trashbin/l10n/sr@latin.php b/apps/files_trashbin/l10n/sr@latin.php
new file mode 100644
index 00000000000..52255c7429a
--- /dev/null
+++ b/apps/files_trashbin/l10n/sr@latin.php
@@ -0,0 +1,3 @@
+ "Ime"
+);
diff --git a/apps/files_trashbin/l10n/sv.php b/apps/files_trashbin/l10n/sv.php
new file mode 100644
index 00000000000..ca4dba04967
--- /dev/null
+++ b/apps/files_trashbin/l10n/sv.php
@@ -0,0 +1,10 @@
+ "Namn",
+"Deleted" => "Raderad",
+"1 folder" => "1 mapp",
+"{count} folders" => "{count} mappar",
+"1 file" => "1 fil",
+"{count} files" => "{count} filer",
+"Nothing in here. Your trash bin is empty!" => "Ingenting här. Din papperskorg är tom!",
+"Restore" => "Återskapa"
+);
diff --git a/apps/files_trashbin/l10n/ta_LK.php b/apps/files_trashbin/l10n/ta_LK.php
new file mode 100644
index 00000000000..a436e2344a4
--- /dev/null
+++ b/apps/files_trashbin/l10n/ta_LK.php
@@ -0,0 +1,7 @@
+ "பெயர்",
+"1 folder" => "1 கோப்புறை",
+"{count} folders" => "{எண்ணிக்கை} கோப்புறைகள்",
+"1 file" => "1 கோப்பு",
+"{count} files" => "{எண்ணிக்கை} கோப்புகள்"
+);
diff --git a/apps/files_trashbin/l10n/th_TH.php b/apps/files_trashbin/l10n/th_TH.php
new file mode 100644
index 00000000000..8a031fb0d70
--- /dev/null
+++ b/apps/files_trashbin/l10n/th_TH.php
@@ -0,0 +1,11 @@
+ "ดำเนินการคืนค่า",
+"Name" => "ชื่อ",
+"Deleted" => "ลบแล้ว",
+"1 folder" => "1 โฟลเดอร์",
+"{count} folders" => "{count} โฟลเดอร์",
+"1 file" => "1 ไฟล์",
+"{count} files" => "{count} ไฟล์",
+"Nothing in here. Your trash bin is empty!" => "ไม่มีอะไรอยู่ในนี้ ถังขยะของคุณยังว่างอยู่",
+"Restore" => "คืนค่า"
+);
diff --git a/apps/files_trashbin/l10n/tr.php b/apps/files_trashbin/l10n/tr.php
new file mode 100644
index 00000000000..5b7064eceaf
--- /dev/null
+++ b/apps/files_trashbin/l10n/tr.php
@@ -0,0 +1,7 @@
+ "İsim",
+"1 folder" => "1 dizin",
+"{count} folders" => "{count} dizin",
+"1 file" => "1 dosya",
+"{count} files" => "{count} dosya"
+);
diff --git a/apps/files_trashbin/l10n/uk.php b/apps/files_trashbin/l10n/uk.php
new file mode 100644
index 00000000000..14c6931255a
--- /dev/null
+++ b/apps/files_trashbin/l10n/uk.php
@@ -0,0 +1,7 @@
+ "Ім'я",
+"1 folder" => "1 папка",
+"{count} folders" => "{count} папок",
+"1 file" => "1 файл",
+"{count} files" => "{count} файлів"
+);
diff --git a/apps/files_trashbin/l10n/vi.php b/apps/files_trashbin/l10n/vi.php
new file mode 100644
index 00000000000..2c51c69aaf2
--- /dev/null
+++ b/apps/files_trashbin/l10n/vi.php
@@ -0,0 +1,7 @@
+ "Tên",
+"1 folder" => "1 thư mục",
+"{count} folders" => "{count} thư mục",
+"1 file" => "1 tập tin",
+"{count} files" => "{count} tập tin"
+);
diff --git a/apps/files_trashbin/l10n/zh_CN.GB2312.php b/apps/files_trashbin/l10n/zh_CN.GB2312.php
new file mode 100644
index 00000000000..2c6a7891e98
--- /dev/null
+++ b/apps/files_trashbin/l10n/zh_CN.GB2312.php
@@ -0,0 +1,7 @@
+ "名称",
+"1 folder" => "1 个文件夹",
+"{count} folders" => "{count} 个文件夹",
+"1 file" => "1 个文件",
+"{count} files" => "{count} 个文件"
+);
diff --git a/apps/files_trashbin/l10n/zh_CN.php b/apps/files_trashbin/l10n/zh_CN.php
new file mode 100644
index 00000000000..0060b1f31d6
--- /dev/null
+++ b/apps/files_trashbin/l10n/zh_CN.php
@@ -0,0 +1,7 @@
+ "名称",
+"1 folder" => "1个文件夹",
+"{count} folders" => "{count} 个文件夹",
+"1 file" => "1 个文件",
+"{count} files" => "{count} 个文件"
+);
diff --git a/apps/files_trashbin/l10n/zh_TW.php b/apps/files_trashbin/l10n/zh_TW.php
new file mode 100644
index 00000000000..be61d9b0b6d
--- /dev/null
+++ b/apps/files_trashbin/l10n/zh_TW.php
@@ -0,0 +1,7 @@
+ "名稱",
+"1 folder" => "1 個資料夾",
+"{count} folders" => "{count} 個資料夾",
+"1 file" => "1 個檔案",
+"{count} files" => "{count} 個檔案"
+);
diff --git a/apps/files_trashbin/lib/hooks.php b/apps/files_trashbin/lib/hooks.php
new file mode 100644
index 00000000000..d3bee105b51
--- /dev/null
+++ b/apps/files_trashbin/lib/hooks.php
@@ -0,0 +1,45 @@
+.
+ *
+ */
+
+/**
+ * This class contains all hooks.
+ */
+
+namespace OCA_Trash;
+
+class Hooks {
+
+ /**
+ * @brief Copy files to trash bin
+ * @param array
+ *
+ * This function is connected to the delete signal of OC_Filesystem
+ * to copy the file to the trash bin
+ */
+ public static function remove_hook($params) {
+
+ if ( \OCP\App::isEnabled('files_trashbin') ) {
+ $path = $params['path'];
+ Trashbin::move2trash($path);
+ }
+ }
+}
diff --git a/apps/files_trashbin/lib/trash.php b/apps/files_trashbin/lib/trash.php
new file mode 100644
index 00000000000..a7eff3d44e0
--- /dev/null
+++ b/apps/files_trashbin/lib/trash.php
@@ -0,0 +1,264 @@
+.
+ *
+ */
+
+namespace OCA_Trash;
+
+class Trashbin {
+
+ const DEFAULT_RETENTION_OBLIGATION=180; // how long do we keep files in the trash bin if no other value is defined in the config file (unit: days)
+ /**
+ * move file to the trash bin
+ *
+ * @param $file_path path to the deleted file/directory relative to the files root directory
+ */
+ public static function move2trash($file_path) {
+ $user = \OCP\User::getUser();
+ $view = new \OC_FilesystemView('/'. $user);
+ if (!$view->is_dir('files_trashbin')) {
+ $view->mkdir('files_trashbin');
+ $view->mkdir("versions_trashbin");
+ }
+
+ $path_parts = pathinfo($file_path);
+
+ $deleted = $path_parts['basename'];
+ $location = $path_parts['dirname'];
+ $timestamp = time();
+ $mime = $view->getMimeType('files'.$file_path);
+
+ if ( $view->is_dir('files'.$file_path) ) {
+ $type = 'dir';
+ } else {
+ $type = 'file';
+ }
+
+ self::copy_recursive($file_path, 'files_trashbin/'.$deleted.'.d'.$timestamp, $view);
+
+ if ( $view->file_exists('files_trashbin/'.$deleted.'.d'.$timestamp) ) {
+ $query = \OC_DB::prepare("INSERT INTO *PREFIX*files_trash (id,timestamp,location,type,mime,user) VALUES (?,?,?,?,?,?)");
+ $result = $query->execute(array($deleted, $timestamp, $location, $type, $mime, $user));
+ if ( !$result ) { // if file couldn't be added to the database than also don't store it in the trash bin.
+ $view->deleteAll('files_trashbin/'.$deleted.'.d'.$timestamp);
+ \OC_Log::write('files_trashbin', 'trash bin database couldn\'t be updated', \OC_log::ERROR);
+ return;
+ }
+
+ if ( \OCP\App::isEnabled('files_versions') ) {
+ if ( $view->is_dir('files_versions'.$file_path) ) {
+ $view->rename('files_versions'.$file_path, 'versions_trashbin/'. $deleted.'.d'.$timestamp);
+ } else if ( $versions = \OCA_Versions\Storage::getVersions($file_path) ) {
+ foreach ($versions as $v) {
+ $view->rename('files_versions'.$v['path'].'.v'.$v['version'], 'versions_trashbin/'. $deleted.'.v'.$v['version'].'.d'.$timestamp);
+ }
+ }
+ }
+ } else {
+ \OC_Log::write('files_trashbin', 'Couldn\'t move '.$file_path.' to the trash bin' , \OC_log::ERROR);
+ }
+
+ self::expire();
+ }
+
+
+ /**
+ * restore files from trash bin
+ * @param $file path to the deleted file
+ * @param $filename name of the file
+ * @param $timestamp time when the file was deleted
+ */
+ public static function restore($file, $filename, $timestamp) {
+
+ $user = \OCP\User::getUser();
+ $view = new \OC_FilesystemView('/'.$user);
+
+ if ( $timestamp ) {
+ $query = \OC_DB::prepare('SELECT location,type FROM *PREFIX*files_trash WHERE user=? AND id=? AND timestamp=?');
+ $result = $query->execute(array($user,$filename,$timestamp))->fetchAll();
+ if ( count($result) != 1 ) {
+ \OC_Log::write('files_trashbin', 'trash bin database inconsistent!', \OC_Log::ERROR);
+ return false;
+ }
+
+ // if location no longer exists, restore file in the root directory
+ $location = $result[0]['location'];
+ if ( $result[0]['location'] != '/' &&
+ (!$view->is_dir('files'.$result[0]['location']) ||
+ !$view->isUpdatable('files'.$result[0]['location'])) ) {
+ $location = '';
+ }
+ } else {
+ $path_parts = pathinfo($filename);
+ $result[] = array(
+ 'location' => $path_parts['dirname'],
+ 'type' => $view->is_dir('/files_trashbin/'.$file) ? 'dir' : 'files',
+ );
+ $location = '';
+ }
+
+ $source = \OC_Filesystem::normalizePath('files_trashbin/'.$file);
+ $target = \OC_Filesystem::normalizePath('files/'.$location.'/'.$filename);
+
+ // we need a extension in case a file/dir with the same name already exists
+ $ext = self::getUniqueExtension($location, $filename, $view);
+ $mtime = $view->filemtime($source);
+ if( $view->rename($source, $target.$ext) ) {
+ $view->touch($target.$ext, $mtime);
+ // if versioning app is enabled, copy versions from the trash bin back to the original location
+ if ( \OCP\App::isEnabled('files_versions') ) {
+ if ( $result[0]['type'] == 'dir' ) {
+ $view->rename(\OC_Filesystem::normalizePath('versions_trashbin/'. $file), \OC_Filesystem::normalizePath('files_versions/'.$location.'/'.$filename.$ext));
+ } else if ( $versions = self::getVersionsFromTrash($file, $timestamp) ) {
+ foreach ($versions as $v) {
+ if ($timestamp ) {
+ $view->rename('versions_trashbin/'.$filename.'.v'.$v.'.d'.$timestamp, 'files_versions/'.$location.'/'.$filename.$ext.'.v'.$v);
+ } else {
+ $view->rename('versions_trashbin/'.$file.'.v'.$v, 'files_versions/'.$location.'/'.$filename.$ext.'.v'.$v);
+ }
+ }
+ }
+ }
+
+ if ( $timestamp ) {
+ $query = \OC_DB::prepare('DELETE FROM *PREFIX*files_trash WHERE user=? AND id=? AND timestamp=?');
+ $query->execute(array($user,$filename,$timestamp));
+ }
+
+ return true;
+ } else {
+ \OC_Log::write('files_trashbin', 'Couldn\'t restore file from trash bin, '.$filename , \OC_log::ERROR);
+ }
+
+ return false;
+ }
+
+ /**
+ * clean up the trash bin
+ */
+ private static function expire() {
+
+ $view = new \OC_FilesystemView('/'.\OCP\User::getUser());
+ $user = \OCP\User::getUser();
+
+ $query = \OC_DB::prepare('SELECT location,type,id,timestamp FROM *PREFIX*files_trash WHERE user=?');
+ $result = $query->execute(array($user))->fetchAll();
+
+ $retention_obligation = \OC_Config::getValue('trashbin_retention_obligation', self::DEFAULT_RETENTION_OBLIGATION);
+
+ $limit = time() - ($retention_obligation * 86400);
+
+ foreach ( $result as $r ) {
+ $timestamp = $r['timestamp'];
+ $filename = $r['id'];
+ if ( $r['timestamp'] < $limit ) {
+ $view->unlink('files_trashbin/'.$filename.'.d'.$timestamp);
+ if ($r['type'] == 'dir') {
+ $view->unlink('versions_trashbin/'.$filename.'.d'.$timestamp);
+ } else if ( $versions = self::getVersionsFromTrash($filename, $timestamp) ) {
+ foreach ($versions as $v) {
+ $view->unlink('versions_trashbin/'.$filename.'.v'.$v.'.d'.$timestamp);
+ }
+ }
+ }
+ }
+
+ $query = \OC_DB::prepare('DELETE FROM *PREFIX*files_trash WHERE user=? AND timestamp');
+ $query->execute(array($user,$limit));
+ }
+
+ /**
+ * recursive copy to copy a whole directory
+ *
+ * @param $source source path, relative to the users files directory
+ * @param $destination destination path relative to the users root directoy
+ * @param $view file view for the users root directory
+ */
+ private static function copy_recursive( $source, $destination, $view ) {
+ if ( $view->is_dir( 'files'.$source ) ) {
+ $view->mkdir( $destination );
+ $view->touch($destination, $view->filemtime('files'.$source));
+ foreach ( \OC_Files::getDirectoryContent($source) as $i ) {
+ $pathDir = $source.'/'.$i['name'];
+ if ( $view->is_dir('files'.$pathDir) ) {
+ self::copy_recursive($pathDir, $destination.'/'.$i['name'], $view);
+ } else {
+ $view->copy( 'files'.$pathDir, $destination . '/' . $i['name'] );
+ $view->touch($destination . '/' . $i['name'], $view->filemtime('files'.$pathDir));
+ }
+ }
+ } else {
+ $view->copy( 'files'.$source, $destination );
+ $view->touch($destination, $view->filemtime('files'.$source));
+ }
+ }
+
+ /**
+ * find all versions which belong to the file we want to restore
+ * @param $filename name of the file which should be restored
+ * @param $timestamp timestamp when the file was deleted
+ */
+ private static function getVersionsFromTrash($filename, $timestamp) {
+ $view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/versions_trashbin');
+ $versionsName = \OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath($filename);
+ $versions = array();
+
+ if ($timestamp ) {
+ // fetch for old versions
+ $matches = glob( $versionsName.'.v*.d'.$timestamp );
+ $offset = -strlen($timestamp)-2;
+ } else {
+ $matches = glob( $versionsName.'.v*' );
+ }
+
+ foreach( $matches as $ma ) {
+ if ( $timestamp ) {
+ $parts = explode( '.v', substr($ma, 0, $offset) );
+ $versions[] = ( end( $parts ) );
+ } else {
+ $parts = explode( '.v', $ma );
+ $versions[] = ( end( $parts ) );
+ }
+ }
+ return $versions;
+ }
+
+ /**
+ * find unique extension for restored file if a file with the same name already exists
+ * @param $location where the file should be restored
+ * @param $filename name of the file
+ * @param $view filesystem view relative to users root directory
+ * @return string with unique extension
+ */
+ private static function getUniqueExtension($location, $filename, $view) {
+ $ext = '';
+ if ( $view->file_exists('files'.$location.'/'.$filename) ) {
+ $tmpext = '.restored';
+ $ext = $tmpext;
+ $i = 1;
+ while ( $view->file_exists('files'.$location.'/'.$filename.$ext) ) {
+ $ext = $tmpext.$i;
+ $i++;
+ }
+ }
+ return $ext;
+ }
+
+}
diff --git a/apps/files_trashbin/templates/index.php b/apps/files_trashbin/templates/index.php
new file mode 100644
index 00000000000..c3e51b4becd
--- /dev/null
+++ b/apps/files_trashbin/templates/index.php
@@ -0,0 +1,34 @@
+
+|
+
+ t( 'Name' ); ?>
+
+
+ |
+ + t( 'Deleted' ); ?> + | +
|---|
t('Help');?>
+
t('Help');?>
diff --git a/apps/user_ldap/user_ldap.php b/apps/user_ldap/user_ldap.php
index b3180e11358..6aa8cd9b83c 100644
--- a/apps/user_ldap/user_ldap.php
+++ b/apps/user_ldap/user_ldap.php
@@ -116,10 +116,9 @@ class USER_LDAP extends lib\Access implements \OCP\UserInterface {
if($limit <= 0) {
$limit = null;
}
- $search = empty($search) ? '*' : '*'.$search.'*';
$filter = $this->combineFilterWithAnd(array(
$this->connection->ldapUserFilter,
- $this->connection->ldapUserDisplayName.'='.$search
+ $this->getFilterPartForUserSearch($search)
));
\OCP\Util::writeLog('user_ldap', 'getUsers: Options: search '.$search.' limit '.$limit.' offset '.$offset.' Filter: '.$filter, \OCP\Util::DEBUG);
diff --git a/apps/user_ldap/user_proxy.php b/apps/user_ldap/user_proxy.php
new file mode 100644
index 00000000000..a94be3354fc
--- /dev/null
+++ b/apps/user_ldap/user_proxy.php
@@ -0,0 +1,186 @@
+.
+ *
+ */
+
+namespace OCA\user_ldap;
+
+class User_Proxy extends lib\Proxy implements \OCP\UserInterface {
+ private $backends = array();
+ private $refBackend = null;
+
+ /**
+ * @brief Constructor
+ * @param $serverConfigPrefixes array containing the config Prefixes
+ */
+ public function __construct($serverConfigPrefixes) {
+ parent::__construct();
+ foreach($serverConfigPrefixes as $configPrefix) {
+ $this->backends[$configPrefix] = new \OCA\user_ldap\USER_LDAP();
+ $connector = $this->getConnector($configPrefix);
+ $this->backends[$configPrefix]->setConnector($connector);
+ if(is_null($this->refBackend)) {
+ $this->refBackend = &$this->backends[$configPrefix];
+ }
+ }
+ }
+
+ /**
+ * @brief Tries the backends one after the other until a positive result is returned from the specified method
+ * @param $uid string, the uid connected to the request
+ * @param $method string, the method of the user backend that shall be called
+ * @param $parameters an array of parameters to be passed
+ * @return mixed, the result of the method or false
+ */
+ protected function walkBackends($uid, $method, $parameters) {
+ $cacheKey = $this->getUserCacheKey($uid);
+ foreach($this->backends as $configPrefix => $backend) {
+ if($result = call_user_func_array(array($backend, $method), $parameters)) {
+ $this->writeToCache($cacheKey, $configPrefix);
+ return $result;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @brief Asks the backend connected to the server that supposely takes care of the uid from the request.
+ * @param $uid string, the uid connected to the request
+ * @param $method string, the method of the user backend that shall be called
+ * @param $parameters an array of parameters to be passed
+ * @return mixed, the result of the method or false
+ */
+ protected function callOnLastSeenOn($uid, $method, $parameters) {
+ $cacheKey = $this->getUserCacheKey($uid);
+ $prefix = $this->getFromCache($cacheKey);
+ //in case the uid has been found in the past, try this stored connection first
+ if(!is_null($prefix)) {
+ if(isset($this->backends[$prefix])) {
+ $result = call_user_func_array(array($this->backends[$prefix], $method), $parameters);
+ if(!$result) {
+ //not found here, reset cache to null
+ $this->writeToCache($cacheKey, null);
+ }
+ return $result;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @brief Check if backend implements actions
+ * @param $actions bitwise-or'ed actions
+ * @returns boolean
+ *
+ * Returns the supported actions as int to be
+ * compared with OC_USER_BACKEND_CREATE_USER etc.
+ */
+ public function implementsActions($actions) {
+ //it's the same across all our user backends obviously
+ return $this->refBackend->implementsActions($actions);
+ }
+
+ /**
+ * @brief Get a list of all users
+ * @returns array with all uids
+ *
+ * Get a list of all users.
+ */
+ public function getUsers($search = '', $limit = 10, $offset = 0) {
+ //we do it just as the /OC_User implementation: do not play around with limit and offset but ask all backends
+ $users = array();
+ foreach($this->backends as $backend) {
+ $backendUsers = $backend->getUsers($search, $limit, $offset);
+ if (is_array($backendUsers)) {
+ $users = array_merge($users, $backendUsers);
+ }
+ }
+ return $users;
+ }
+
+ /**
+ * @brief check if a user exists
+ * @param string $uid the username
+ * @return boolean
+ */
+ public function userExists($uid) {
+ return $this->handleRequest($uid, 'userExists', array($uid));
+ }
+
+ /**
+ * @brief Check if the password is correct
+ * @param $uid The username
+ * @param $password The password
+ * @returns true/false
+ *
+ * Check if the password is correct without logging in the user
+ */
+ public function checkPassword($uid, $password) {
+ return $this->handleRequest($uid, 'checkPassword', array($uid, $password));
+ }
+
+ /**
+ * @brief get the user's home directory
+ * @param string $uid the username
+ * @return boolean
+ */
+ public function getHome($uid) {
+ return $this->handleRequest($uid, 'getHome', array($uid));
+ }
+
+ /**
+ * @brief get display name of the user
+ * @param $uid user ID of the user
+ * @return display name
+ */
+ public function getDisplayName($uid) {
+ return $this->handleRequest($uid, 'getDisplayName', array($uid));
+ }
+
+ /**
+ * @brief Get a list of all display names
+ * @returns array with all displayNames (value) and the corresponding uids (key)
+ *
+ * Get a list of all display names and user ids.
+ */
+ public function getDisplayNames($search = '', $limit = null, $offset = null) {
+ //we do it just as the /OC_User implementation: do not play around with limit and offset but ask all backends
+ $users = array();
+ foreach($this->backends as $backend) {
+ $backendUsers = $backend->getDisplayNames($search, $limit, $offset);
+ if (is_array($backendUsers)) {
+ $users = array_merge($users, $backendUsers);
+ }
+ }
+ return $users;
+ }
+
+ /**
+ * @brief delete a user
+ * @param $uid The username of the user to delete
+ * @returns true/false
+ *
+ * Deletes a user
+ */
+ public function deleteUser($uid) {
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/apps/user_webdavauth/appinfo/info.xml b/apps/user_webdavauth/appinfo/info.xml
index e51f2e9ec4f..f62f03577e8 100755
--- a/apps/user_webdavauth/appinfo/info.xml
+++ b/apps/user_webdavauth/appinfo/info.xml
@@ -7,7 +7,7 @@
This app is not compatible to the LDAP user and group backend.
- />
-
+
+
+