diff options
Diffstat (limited to 'apps/files')
29 files changed, 161 insertions, 56 deletions
diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml index 1faf2c80adc..f5b43070cee 100644 --- a/apps/files/appinfo/info.xml +++ b/apps/files/appinfo/info.xml @@ -1,22 +1,43 @@ <?xml version="1.0"?> -<info> +<info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd"> <id>files</id> <name>Files</name> + <summary>File Management</summary> <description>File Management</description> - <licence>AGPL</licence> + <version>1.9.0</version> + <licence>agpl</licence> <author>Robin Appelman</author> <author>Vincent Petry</author> <default_enable/> - <version>1.9.0</version> <types> <filesystem/> </types> - <dependencies> - <nextcloud min-version="14" max-version="14" /> - </dependencies> <documentation> <user>user-files</user> </documentation> + <category>files</category> + <bugs>https://github.com/nextcloud/server/issues</bugs> + <dependencies> + <nextcloud min-version="14" max-version="14" /> + </dependencies> + + <background-jobs> + <job>OCA\Files\BackgroundJob\ScanFiles</job> + <job>OCA\Files\BackgroundJob\DeleteOrphanedItems</job> + <job>OCA\Files\BackgroundJob\CleanupFileLocks</job> + </background-jobs> + + <commands> + <command>OCA\Files\Command\Scan</command> + <command>OCA\Files\Command\DeleteOrphanedFiles</command> + <command>OCA\Files\Command\TransferOwnership</command> + <command>OCA\Files\Command\ScanAppData</command> + </commands> + + <settings> + <admin>OCA\Files\Settings\Admin</admin> + </settings> <activity> <settings> @@ -39,23 +60,6 @@ </providers> </activity> - <background-jobs> - <job>OCA\Files\BackgroundJob\ScanFiles</job> - <job>OCA\Files\BackgroundJob\DeleteOrphanedItems</job> - <job>OCA\Files\BackgroundJob\CleanupFileLocks</job> - </background-jobs> - - <settings> - <admin>OCA\Files\Settings\Admin</admin> - </settings> - - <commands> - <command>OCA\Files\Command\Scan</command> - <command>OCA\Files\Command\DeleteOrphanedFiles</command> - <command>OCA\Files\Command\TransferOwnership</command> - <command>OCA\Files\Command\ScanAppData</command> - </commands> - <navigations> <navigation> <name>Files</name> diff --git a/apps/files/download.php b/apps/files/download.php index 60f386f50f0..2389c9b535e 100644 --- a/apps/files/download.php +++ b/apps/files/download.php @@ -41,7 +41,9 @@ $ftype=\OC::$server->getMimeTypeDetector()->getSecureMimeType(\OC\Files\Filesyst header('Content-Type:'.$ftype); OCP\Response::setContentDispositionHeader(basename($filename), 'attachment'); -OCP\Response::disableCaching(); +header('Pragma: public');// enable caching in IE +header('Expires: 0'); +header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); OCP\Response::setContentLengthHeader(\OC\Files\Filesystem::filesize($filename)); OC_Util::obEnd(); diff --git a/apps/files/img/change.png b/apps/files/img/change.png Binary files differindex 9f64e60d565..ca77a8844f6 100644 --- a/apps/files/img/change.png +++ b/apps/files/img/change.png diff --git a/apps/files/img/change.svg b/apps/files/img/change.svg index b3404d2ef84..12071422b7f 100644 --- a/apps/files/img/change.svg +++ b/apps/files/img/change.svg @@ -1 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1"><path d="m8 0c-2.8557-3.771e-8 -5.4999 1.5269-6.9277 4l2.5976 1.5c0.8944-1.5491 2.5413-2.5 4.3301-2.5 1.5874 0 3.0628 0.74877 4 2l-2 2h6v-6l-1.875 1.875c-1.505-1.797-3.736-2.875-6.125-2.875z"/><path d="m0 9v6l1.877-1.877c1.4882 1.778 3.7559 2.857 6.123 2.877 2.8797 0.02436 5.4878-1.506 6.9277-4l-2.598-1.5c-0.902 1.562-2.5261 2.515-4.33 2.5-1.5737-0.013-3.0729-0.762-4-2l2-2z"/></svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" version="1.1" height="16"><path d="m8 2c-2.142 0-4.125 1.145-5.196 3l1.948 1.125c0.671-1.162 1.906-1.875 3.2476-1.875 1.1906 0 2.297 0.56157 3 1.5l-1.5 1.5h4.5v-4.5l-1.406 1.406c-1.129-1.348-2.802-2.1563-4.594-2.1563z"/><path d="m2 8.75v4.5l1.408-1.41c1.116 1.334 2.817 2.145 4.592 2.16 2.16 0.01827 4.116-1.132 5.196-3.002l-1.948-1.125c-0.677 1.171-1.9005 1.886-3.248 1.875-1.18-0.01-2.3047-0.572-3-1.5l1.5-1.5z"/></svg> diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index 2fb7dfba29f..a6d376aa2a9 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -625,12 +625,23 @@ this.registerAction({ name: 'MoveCopy', - displayName: t('files', 'Move or copy'), + displayName: function(context) { + var permissions = context.fileInfoModel.attributes.permissions; + if (permissions & OC.PERMISSION_UPDATE) { + return t('files', 'Move or copy'); + } + return t('files', 'Copy'); + }, mime: 'all', order: -25, - permissions: OC.PERMISSION_UPDATE, + permissions: $('#isPublic').val() ? OC.PERMISSION_UPDATE : OC.PERMISSION_READ, iconClass: 'icon-external', actionHandler: function (filename, context) { + var permissions = context.fileInfoModel.attributes.permissions; + var actions = OC.dialogs.FILEPICKER_TYPE_COPY; + if (permissions & OC.PERMISSION_UPDATE) { + actions = OC.dialogs.FILEPICKER_TYPE_COPY_MOVE; + } OC.dialogs.filepicker(t('files', 'Target folder'), function(targetPath, type) { if (type === OC.dialogs.FILEPICKER_TYPE_COPY) { context.fileList.copy(filename, targetPath); @@ -638,7 +649,7 @@ if (type === OC.dialogs.FILEPICKER_TYPE_MOVE) { context.fileList.move(filename, targetPath); } - }, false, "httpd/unix-directory", true, OC.dialogs.FILEPICKER_TYPE_COPY_MOVE); + }, false, "httpd/unix-directory", true, actions); } }); diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 6fa57325bd4..e1a0491cdc8 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -798,6 +798,7 @@ OCA.Files.FileActions.updateFileActionSpinner(moveFileAction, false); }; + var actions = this.isSelectedMovable() ? OC.dialogs.FILEPICKER_TYPE_COPY_MOVE : OC.dialogs.FILEPICKER_TYPE_COPY; OC.dialogs.filepicker(t('files', 'Target folder'), function(targetPath, type) { if (type === OC.dialogs.FILEPICKER_TYPE_COPY) { self.copy(files, targetPath, disableLoadingState); @@ -805,7 +806,7 @@ if (type === OC.dialogs.FILEPICKER_TYPE_MOVE) { self.move(files, targetPath, disableLoadingState); } - }, false, "httpd/unix-directory", true, OC.dialogs.FILEPICKER_TYPE_COPY_MOVE); + }, false, "httpd/unix-directory", true, actions); return false; }, @@ -2875,18 +2876,39 @@ this.$el.find('#headerName a.name>span:first').text(selection); this.$el.find('#modified a>span:first').text(''); this.$el.find('table').addClass('multiselect'); - this.$el.find('.selectedActions .copy-move').toggleClass('hidden', !this.isSelectedCopiableOrMovable()); this.$el.find('.selectedActions .download').toggleClass('hidden', !this.isSelectedDownloadable()); this.$el.find('.delete-selected').toggleClass('hidden', !this.isSelectedDeletable()); + + var $copyMove = this.$el.find('.selectedActions .copy-move'); + if (this.isSelectedCopiable()) { + $copyMove.toggleClass('hidden', false); + if (this.isSelectedMovable()) { + $copyMove.find('.label').text(t('files', 'Move or copy')); + } else { + $copyMove.find('.label').text(t('files', 'Copy')); + } + } else { + $copyMove.toggleClass('hidden', true); + } } }, /** - * Check whether all selected files are copiable or movable + * Check whether all selected files are copiable + */ + isSelectedCopiable: function() { + return _.reduce(this.getSelectedFiles(), function(copiable, file) { + var requiredPermission = $('#isPublic').val() ? OC.PERMISSION_UPDATE : OC.PERMISSION_READ; + return copiable && (file.permissions & requiredPermission); + }, true); + }, + + /** + * Check whether all selected files are movable */ - isSelectedCopiableOrMovable: function() { - return _.reduce(this.getSelectedFiles(), function(copiableOrMovable, file) { - return copiableOrMovable && (file.permissions & OC.PERMISSION_UPDATE); + isSelectedMovable: function() { + return _.reduce(this.getSelectedFiles(), function(movable, file) { + return movable && (file.permissions & OC.PERMISSION_UPDATE); }, true); }, diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js index d83d2ee3c95..ec3708417d8 100644 --- a/apps/files/l10n/es.js +++ b/apps/files/l10n/es.js @@ -1,8 +1,8 @@ OC.L10N.register( "files", { - "Storage is temporarily not available" : "El almacenamiento no esta disponible temporalmente", - "Storage invalid" : "Almacenamiento inválido", + "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente", + "Storage invalid" : "Almacenamiento no válido", "Unknown error" : "Error desconocido", "All files" : "Todos los archivos", "Recent" : "Reciente", diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json index 212da33a515..f7982515bab 100644 --- a/apps/files/l10n/es.json +++ b/apps/files/l10n/es.json @@ -1,6 +1,6 @@ { "translations": { - "Storage is temporarily not available" : "El almacenamiento no esta disponible temporalmente", - "Storage invalid" : "Almacenamiento inválido", + "Storage is temporarily not available" : "El almacenamiento no está disponible temporalmente", + "Storage invalid" : "Almacenamiento no válido", "Unknown error" : "Error desconocido", "All files" : "Todos los archivos", "Recent" : "Reciente", diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js index 7629e273784..e7e754f5ead 100644 --- a/apps/files/l10n/ja.js +++ b/apps/files/l10n/ja.js @@ -16,7 +16,10 @@ OC.L10N.register( "Not enough free space, you are uploading {size1} but only {size2} is left" : "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。", "Target folder \"{dir}\" does not exist any more" : "対象フォルダー \"{dir}\" がもう存在しません", "Not enough free space" : "十分な空き容量がありません", + "Uploading …" : "アップロード中...", + "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中 {loadedSize} ({bitrate})", + "Target folder does not exist any more" : "対象フォルダーがもう存在しません", "Actions" : "アクション", "Download" : "ダウンロード", "Rename" : "名前の変更", @@ -56,8 +59,11 @@ OC.L10N.register( "You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません", "_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"], "New" : "新規作成", + "{used} of {quota} used" : "{used} / {quota} 使用中", + "{used} used" : "{used} 使用中", "\"{name}\" is an invalid file name." : "\"{name}\" は無効なファイル名です。", "File name cannot be empty." : "ファイル名を空にすることはできません。", + "\"/\" is not allowed inside a file name." : "\"/\" はファイル名に利用できません。", "\"{name}\" is not an allowed filetype" : "\"{name}\" は無効なファイル形式です", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} のストレージは一杯です。ファイルの更新と同期はもうできません!", "Your storage is full, files can not be updated or synced anymore!" : "あなたのストレージは一杯です。ファイルの更新と同期はもうできません!", @@ -73,6 +79,9 @@ OC.L10N.register( "Favorite" : "お気に入り", "New folder" : "新しいフォルダー", "Upload file" : "ファイルをアップロード", + "Not favorited" : "お気に入りではありません", + "Remove from favorites" : "お気に入りから削除", + "Add to favorites" : "お気に入りに追加", "An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました", "Added to favorites" : "お気に入りに追加", "Removed from favorites" : "お気に入りから削除", @@ -118,6 +127,8 @@ OC.L10N.register( "Settings" : "設定", "Show hidden files" : "隠しファイルを表示", "WebDAV" : "WebDAV", + "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">WebDAV 経由でファイルにアクセス</a>するにはこのアドレスを利用してください", + "Cancel upload" : "アップロードをキャンセル", "No files in here" : "ファイルがありません", "Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。", "No entries found in this folder" : "このフォルダーにはエントリーがありません", @@ -132,6 +143,7 @@ OC.L10N.register( "Tags" : "タグ", "Deleted files" : "ゴミ箱", "Text file" : "テキストファイル", - "New text file.txt" : "新規のテキストファイル作成" + "New text file.txt" : "新規のテキストファイル作成", + "Move" : "移動" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json index 1af3dbeb40b..a643d750f1c 100644 --- a/apps/files/l10n/ja.json +++ b/apps/files/l10n/ja.json @@ -14,7 +14,10 @@ "Not enough free space, you are uploading {size1} but only {size2} is left" : "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。", "Target folder \"{dir}\" does not exist any more" : "対象フォルダー \"{dir}\" がもう存在しません", "Not enough free space" : "十分な空き容量がありません", + "Uploading …" : "アップロード中...", + "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中 {loadedSize} ({bitrate})", + "Target folder does not exist any more" : "対象フォルダーがもう存在しません", "Actions" : "アクション", "Download" : "ダウンロード", "Rename" : "名前の変更", @@ -54,8 +57,11 @@ "You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません", "_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"], "New" : "新規作成", + "{used} of {quota} used" : "{used} / {quota} 使用中", + "{used} used" : "{used} 使用中", "\"{name}\" is an invalid file name." : "\"{name}\" は無効なファイル名です。", "File name cannot be empty." : "ファイル名を空にすることはできません。", + "\"/\" is not allowed inside a file name." : "\"/\" はファイル名に利用できません。", "\"{name}\" is not an allowed filetype" : "\"{name}\" は無効なファイル形式です", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} のストレージは一杯です。ファイルの更新と同期はもうできません!", "Your storage is full, files can not be updated or synced anymore!" : "あなたのストレージは一杯です。ファイルの更新と同期はもうできません!", @@ -71,6 +77,9 @@ "Favorite" : "お気に入り", "New folder" : "新しいフォルダー", "Upload file" : "ファイルをアップロード", + "Not favorited" : "お気に入りではありません", + "Remove from favorites" : "お気に入りから削除", + "Add to favorites" : "お気に入りに追加", "An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました", "Added to favorites" : "お気に入りに追加", "Removed from favorites" : "お気に入りから削除", @@ -116,6 +125,8 @@ "Settings" : "設定", "Show hidden files" : "隠しファイルを表示", "WebDAV" : "WebDAV", + "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">WebDAV 経由でファイルにアクセス</a>するにはこのアドレスを利用してください", + "Cancel upload" : "アップロードをキャンセル", "No files in here" : "ファイルがありません", "Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。", "No entries found in this folder" : "このフォルダーにはエントリーがありません", @@ -130,6 +141,7 @@ "Tags" : "タグ", "Deleted files" : "ゴミ箱", "Text file" : "テキストファイル", - "New text file.txt" : "新規のテキストファイル作成" + "New text file.txt" : "新規のテキストファイル作成", + "Move" : "移動" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js index e3e69bb3a84..a30e7272c5d 100644 --- a/apps/files/l10n/lt_LT.js +++ b/apps/files/l10n/lt_LT.js @@ -54,6 +54,7 @@ OC.L10N.register( "You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus", "_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"], "New" : "Naujas", + "{used} of {quota} used" : "panaudota {used} iš {quota}", "\"{name}\" is an invalid file name." : "„{name}“ yra netinkamas bylos pavadinimas.", "File name cannot be empty." : "Failo pavadinimas negali būti tuščias.", "\"{name}\" is not an allowed filetype" : "\"{name}\" nėra leidžiamas failo tipas", diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json index 6bb6ff51681..78aec5fd463 100644 --- a/apps/files/l10n/lt_LT.json +++ b/apps/files/l10n/lt_LT.json @@ -52,6 +52,7 @@ "You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus", "_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"], "New" : "Naujas", + "{used} of {quota} used" : "panaudota {used} iš {quota}", "\"{name}\" is an invalid file name." : "„{name}“ yra netinkamas bylos pavadinimas.", "File name cannot be empty." : "Failo pavadinimas negali būti tuščias.", "\"{name}\" is not an allowed filetype" : "\"{name}\" nėra leidžiamas failo tipas", diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js index 7c15a6bf95d..616c39fff8b 100644 --- a/apps/files/l10n/lv.js +++ b/apps/files/l10n/lv.js @@ -24,7 +24,7 @@ OC.L10N.register( "Delete" : "Dzēst", "Disconnect storage" : "Atvienot glabātuvi", "Unshare" : "Pārtraukt koplietošanu", - "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par failu \"{file}\"", + "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par datni \"{file}\"", "Files" : "Datnes", "Details" : "Detaļas", "Select" : "Norādīt", diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json index ed2b04ac59d..cc8ecb6bb0d 100644 --- a/apps/files/l10n/lv.json +++ b/apps/files/l10n/lv.json @@ -22,7 +22,7 @@ "Delete" : "Dzēst", "Disconnect storage" : "Atvienot glabātuvi", "Unshare" : "Pārtraukt koplietošanu", - "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par failu \"{file}\"", + "Could not load info for file \"{file}\"" : "Nevar ielādēt informāciju par datni \"{file}\"", "Files" : "Datnes", "Details" : "Detaļas", "Select" : "Norādīt", diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js index aacae19af41..6adfb86aee1 100644 --- a/apps/files/l10n/nl.js +++ b/apps/files/l10n/nl.js @@ -147,6 +147,9 @@ OC.L10N.register( "Deleted files" : "Verwijderde bestanden", "Text file" : "Tekstbestand", "New text file.txt" : "Nieuw tekstbestand.txt", - "Move" : "Verplaatsen" + "Move" : "Verplaatsen", + "A new file or folder has been <strong>deleted</strong>" : "Een nieuw bestand of nieuwe map is <strong>verwijderd</strong>", + "A new file or folder has been <strong>restored</strong>" : "Een nieuw bestand of een nieuwe map is <strong>hersteld</strong>", + "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Gebruik deze link om je <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">bestanden via WebDAV te benaderen</a>" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json index de059f16f08..ca422e8d07b 100644 --- a/apps/files/l10n/nl.json +++ b/apps/files/l10n/nl.json @@ -145,6 +145,9 @@ "Deleted files" : "Verwijderde bestanden", "Text file" : "Tekstbestand", "New text file.txt" : "Nieuw tekstbestand.txt", - "Move" : "Verplaatsen" + "Move" : "Verplaatsen", + "A new file or folder has been <strong>deleted</strong>" : "Een nieuw bestand of nieuwe map is <strong>verwijderd</strong>", + "A new file or folder has been <strong>restored</strong>" : "Een nieuw bestand of een nieuwe map is <strong>hersteld</strong>", + "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Gebruik deze link om je <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">bestanden via WebDAV te benaderen</a>" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js index feb43aced76..ffa95f4b93c 100644 --- a/apps/files/l10n/pt_PT.js +++ b/apps/files/l10n/pt_PT.js @@ -17,8 +17,10 @@ OC.L10N.register( "Target folder \"{dir}\" does not exist any more" : "A pasta de destino \"{dir}\" já não existe", "Not enough free space" : "Espaço insuficiente", "Uploading …" : "A carregar ...", + "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Target folder does not exist any more" : "A pasta de destino já não existe", + "Error when assembling chunks, status code {status}" : "Erro ao agregar partições, código de estado: {estado}", "Actions" : "Ações", "Download" : "Transferir", "Rename" : "Renomear", diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json index 97d4308cab4..31ecc0ef67d 100644 --- a/apps/files/l10n/pt_PT.json +++ b/apps/files/l10n/pt_PT.json @@ -15,8 +15,10 @@ "Target folder \"{dir}\" does not exist any more" : "A pasta de destino \"{dir}\" já não existe", "Not enough free space" : "Espaço insuficiente", "Uploading …" : "A carregar ...", + "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})", "Target folder does not exist any more" : "A pasta de destino já não existe", + "Error when assembling chunks, status code {status}" : "Erro ao agregar partições, código de estado: {estado}", "Actions" : "Ações", "Download" : "Transferir", "Rename" : "Renomear", diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js index d4bce72110e..5f4912587b7 100644 --- a/apps/files/l10n/ru.js +++ b/apps/files/l10n/ru.js @@ -81,7 +81,7 @@ OC.L10N.register( "Favorited" : "Избранное", "Favorite" : "Добавить в избранное", "New folder" : "Новый каталог", - "Upload file" : "Зарузить файл", + "Upload file" : "Загрузить файл", "Not favorited" : "Не избранное", "Remove from favorites" : "Удалить из избранных", "Add to favorites" : "Добавить в избранное", diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json index 705a2a75c7c..65cc92c052e 100644 --- a/apps/files/l10n/ru.json +++ b/apps/files/l10n/ru.json @@ -79,7 +79,7 @@ "Favorited" : "Избранное", "Favorite" : "Добавить в избранное", "New folder" : "Новый каталог", - "Upload file" : "Зарузить файл", + "Upload file" : "Загрузить файл", "Not favorited" : "Не избранное", "Remove from favorites" : "Удалить из избранных", "Add to favorites" : "Добавить в избранное", diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js index 89da1860307..c609ee92197 100644 --- a/apps/files/l10n/sk.js +++ b/apps/files/l10n/sk.js @@ -20,6 +20,7 @@ OC.L10N.register( "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})", "Target folder does not exist any more" : "Cieľový priečinok už neexistuje", + "Error when assembling chunks, status code {status}" : "Chyba pri zostavovaní kusov, kód chyby {status}", "Actions" : "Akcie", "Download" : "Sťahovanie", "Rename" : "Premenovať", @@ -65,6 +66,7 @@ OC.L10N.register( "{used} used" : "{used} použitých", "\"{name}\" is an invalid file name." : "\"{name}\" je neplatné meno súboru.", "File name cannot be empty." : "Meno súboru nemôže byť prázdne", + "\"/\" is not allowed inside a file name." : "Znak \"/\" nie je povolený v názve súboru.", "\"{name}\" is not an allowed filetype" : "\"{name}\" nie je povolený typ súboru", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložisko používateľa {owner} je plné, súbory sa viac nedajú aktualizovať ani synchronizovať.", "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ť!", @@ -144,6 +146,10 @@ OC.L10N.register( "Tags" : "Štítky", "Deleted files" : "Zmazané súbory", "Text file" : "Textový súbor", - "New text file.txt" : "Nový text file.txt" + "New text file.txt" : "Nový text file.txt", + "Move" : "Presunúť", + "A new file or folder has been <strong>deleted</strong>" : "Nový súbor alebo priečinok bol <strong>zmazaný</strong>", + "A new file or folder has been <strong>restored</strong>" : "Nový súbor alebo priečinok bol<strong>obnovený</strong>", + "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Použi túto adresu pre <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">prístup ku svojím súborom cez WebDAV</a>" }, "nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json index 7e764476c8b..59d387b91b1 100644 --- a/apps/files/l10n/sk.json +++ b/apps/files/l10n/sk.json @@ -18,6 +18,7 @@ "…" : "...", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} z {totalSize} ({bitrate})", "Target folder does not exist any more" : "Cieľový priečinok už neexistuje", + "Error when assembling chunks, status code {status}" : "Chyba pri zostavovaní kusov, kód chyby {status}", "Actions" : "Akcie", "Download" : "Sťahovanie", "Rename" : "Premenovať", @@ -63,6 +64,7 @@ "{used} used" : "{used} použitých", "\"{name}\" is an invalid file name." : "\"{name}\" je neplatné meno súboru.", "File name cannot be empty." : "Meno súboru nemôže byť prázdne", + "\"/\" is not allowed inside a file name." : "Znak \"/\" nie je povolený v názve súboru.", "\"{name}\" is not an allowed filetype" : "\"{name}\" nie je povolený typ súboru", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložisko používateľa {owner} je plné, súbory sa viac nedajú aktualizovať ani synchronizovať.", "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ť!", @@ -142,6 +144,10 @@ "Tags" : "Štítky", "Deleted files" : "Zmazané súbory", "Text file" : "Textový súbor", - "New text file.txt" : "Nový text file.txt" + "New text file.txt" : "Nový text file.txt", + "Move" : "Presunúť", + "A new file or folder has been <strong>deleted</strong>" : "Nový súbor alebo priečinok bol <strong>zmazaný</strong>", + "A new file or folder has been <strong>restored</strong>" : "Nový súbor alebo priečinok bol<strong>obnovený</strong>", + "Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">access your Files via WebDAV</a>" : "Použi túto adresu pre <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">prístup ku svojím súborom cez WebDAV</a>" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js index 8bfc3c23027..c893216a3bf 100644 --- a/apps/files/l10n/sv.js +++ b/apps/files/l10n/sv.js @@ -62,8 +62,11 @@ OC.L10N.register( "You don’t have permission to upload or create files here" : "Du har ej tillåtelse att ladda upp eller skapa filer här", "_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"], "New" : "Ny", + "{used} of {quota} used" : "{used} av {quota} använt", + "{used} used" : "{used} använt", "\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltigt filnamn.", "File name cannot be empty." : "Filnamn kan inte vara tomt.", + "\"/\" is not allowed inside a file name." : "\"/\" är inte tillåtet i ett filnamn.", "\"{name}\" is not an allowed filetype" : "\"{name}\" är inte en tillåten filtyp", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Lagring av {owner} är full, filer kan inte uppdateras eller synkroniseras längre!", "Your storage is full, files can not be updated or synced anymore!" : "Ditt lagringsutrymme är fullt, filer kan inte längre uppdateras eller synkroniseras!", diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json index a33455084d9..24586c07bbf 100644 --- a/apps/files/l10n/sv.json +++ b/apps/files/l10n/sv.json @@ -60,8 +60,11 @@ "You don’t have permission to upload or create files here" : "Du har ej tillåtelse att ladda upp eller skapa filer här", "_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"], "New" : "Ny", + "{used} of {quota} used" : "{used} av {quota} använt", + "{used} used" : "{used} använt", "\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltigt filnamn.", "File name cannot be empty." : "Filnamn kan inte vara tomt.", + "\"/\" is not allowed inside a file name." : "\"/\" är inte tillåtet i ett filnamn.", "\"{name}\" is not an allowed filetype" : "\"{name}\" är inte en tillåten filtyp", "Storage of {owner} is full, files can not be updated or synced anymore!" : "Lagring av {owner} är full, filer kan inte uppdateras eller synkroniseras längre!", "Your storage is full, files can not be updated or synced anymore!" : "Ditt lagringsutrymme är fullt, filer kan inte längre uppdateras eller synkroniseras!", diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js index 66766641618..f1e0d376991 100644 --- a/apps/files/l10n/zh_CN.js +++ b/apps/files/l10n/zh_CN.js @@ -17,7 +17,7 @@ OC.L10N.register( "Target folder \"{dir}\" does not exist any more" : "目标目录 \"{dir}\" 不存在", "Not enough free space" : "可用空间不足", "Uploading …" : "上传中…", - "…" : "undefined", + "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})", "Target folder does not exist any more" : "目标文件夹不存在", "Actions" : "操作", @@ -124,7 +124,7 @@ OC.L10N.register( "Save" : "保存", "With PHP-FPM it might take 5 minutes for changes to be applied." : "对于 PHP-FPM 这个值改变后可能需要 5 分钟才会生效.", "Missing permissions to edit from here." : "没有权限编辑", - "%s of %s used" : " %s 的%s 已使用", + "%s of %s used" : "%s 已使用 (共 %s)", "%s used" : "%s 已使用", "Settings" : "设置", "Show hidden files" : "显示隐藏文件", @@ -144,6 +144,7 @@ OC.L10N.register( "Tags" : "标签", "Deleted files" : "已删除的文件", "Text file" : "文本文件", - "New text file.txt" : "创建文本文件 .txt" + "New text file.txt" : "新建文本文件.txt", + "Move" : "移动" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json index 17f074d5faf..f2396a979ec 100644 --- a/apps/files/l10n/zh_CN.json +++ b/apps/files/l10n/zh_CN.json @@ -15,7 +15,7 @@ "Target folder \"{dir}\" does not exist any more" : "目标目录 \"{dir}\" 不存在", "Not enough free space" : "可用空间不足", "Uploading …" : "上传中…", - "…" : "undefined", + "…" : "…", "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} / {totalSize} ({bitrate})", "Target folder does not exist any more" : "目标文件夹不存在", "Actions" : "操作", @@ -122,7 +122,7 @@ "Save" : "保存", "With PHP-FPM it might take 5 minutes for changes to be applied." : "对于 PHP-FPM 这个值改变后可能需要 5 分钟才会生效.", "Missing permissions to edit from here." : "没有权限编辑", - "%s of %s used" : " %s 的%s 已使用", + "%s of %s used" : "%s 已使用 (共 %s)", "%s used" : "%s 已使用", "Settings" : "设置", "Show hidden files" : "显示隐藏文件", @@ -142,6 +142,7 @@ "Tags" : "标签", "Deleted files" : "已删除的文件", "Text file" : "文本文件", - "New text file.txt" : "创建文本文件 .txt" + "New text file.txt" : "新建文本文件.txt", + "Move" : "移动" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php index fd5423c334f..e6b1e54d389 100644 --- a/apps/files/templates/list.php +++ b/apps/files/templates/list.php @@ -53,7 +53,7 @@ <span id="selectedActionsList" class="selectedActions"> <a href="" class="copy-move"> <span class="icon icon-external"></span> - <span><?php p($l->t('Move or copy'))?></span> + <span class="label"><?php p($l->t('Move or copy'))?></span> </a> <a href="" class="download"> <span class="icon icon-download"></span> diff --git a/apps/files/tests/js/fileactionsmenuSpec.js b/apps/files/tests/js/fileactionsmenuSpec.js index 926516b3043..c678d166153 100644 --- a/apps/files/tests/js/fileactionsmenuSpec.js +++ b/apps/files/tests/js/fileactionsmenuSpec.js @@ -271,6 +271,7 @@ describe('OCA.Files.FileActionsMenu tests', function() { $file: $tr, fileList: fileList, fileActions: fileActions, + fileInfoModel: new OCA.Files.FileInfoModel(fileData), dir: fileList.getCurrentDirectory() }; menu = new OCA.Files.FileActionsMenu(); @@ -304,6 +305,7 @@ describe('OCA.Files.FileActionsMenu tests', function() { $file: $tr, fileList: fileList, fileActions: fileActions, + fileInfoModel: new OCA.Files.FileInfoModel(fileData), dir: '/anotherpath/there' }; menu = new OCA.Files.FileActionsMenu(); @@ -336,6 +338,7 @@ describe('OCA.Files.FileActionsMenu tests', function() { $file: $tr, fileList: fileList, fileActions: fileActions, + fileInfoModel: new OCA.Files.FileInfoModel(fileData), dir: '/somepath/dir' }; menu = new OCA.Files.FileActionsMenu(); diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index 08da15b8a88..1b26a468172 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -94,7 +94,7 @@ describe('OCA.Files.FileList tests', function() { '<input type="checkbox" id="select_all_files" class="select-all checkbox">' + '<a class="name columntitle" data-sort="name"><span>Name</span><span class="sort-indicator"></span></a>' + '<span id="selectedActionsList" class="selectedActions hidden">' + - '<a href class="copy-move">Move or copy</a>' + + '<a href class="copy-move"><span class="label">Move or copy</span></a>' + '<a href class="download"><img src="actions/download.svg">Download</a>' + '<a href class="delete-selected">Delete</a></span>' + '</th>' + @@ -2101,10 +2101,17 @@ describe('OCA.Files.FileList tests', function() { $('#permissions').val(OC.PERMISSION_READ | OC.PERMISSION_UPDATE); $('.select-all').click(); expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(false); + expect(fileList.$el.find('.selectedActions .copy-move .label').text()).toEqual('Move or copy'); testFiles[0].permissions = OC.PERMISSION_READ; $('.select-all').click(); fileList.setFiles(testFiles); $('.select-all').click(); + expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(false); + expect(fileList.$el.find('.selectedActions .copy-move .label').text()).toEqual('Copy'); + testFiles[0].permissions = OC.PERMISSION_NONE; + $('.select-all').click(); + fileList.setFiles(testFiles); + $('.select-all').click(); expect(fileList.$el.find('.selectedActions .copy-move').hasClass('hidden')).toEqual(true); }); it('show doesnt show the download action if one or more files are not downloadable', function () { |