diff options
author | Robin Appelman <icewind@owncloud.com> | 2012-12-11 23:57:59 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-12-11 23:57:59 +0100 |
commit | 7969d6e64617235744889df42d0e671085a779a8 (patch) | |
tree | 23733e41a7d58cb2903429e3dfb417327c39d835 /apps/files | |
parent | cc0a0df88b3b6fdd2b1f9c85349683eb640f9670 (diff) | |
parent | f7f462f2733117cc2e3be0421e7ebca85bac1562 (diff) | |
download | nextcloud-server-7969d6e64617235744889df42d0e671085a779a8.tar.gz nextcloud-server-7969d6e64617235744889df42d0e671085a779a8.zip |
Merge branch 'master' into filesystem
Diffstat (limited to 'apps/files')
-rw-r--r-- | apps/files/css/files.css | 81 | ||||
-rw-r--r-- | apps/files/index.php | 1 | ||||
-rw-r--r-- | apps/files/js/filelist.js | 2 | ||||
-rw-r--r-- | apps/files/js/files.js | 29 | ||||
-rw-r--r-- | apps/files/js/keyboardshortcuts.js | 165 | ||||
-rw-r--r-- | apps/files/l10n/es_AR.php | 2 | ||||
-rw-r--r-- | apps/files/l10n/ko.php | 63 | ||||
-rw-r--r-- | apps/files/l10n/sl.php | 1 | ||||
-rw-r--r-- | apps/files/templates/index.php | 27 |
9 files changed, 278 insertions, 93 deletions
diff --git a/apps/files/css/files.css b/apps/files/css/files.css index 0b886fc3fa9..9bd92c92580 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -4,40 +4,65 @@ /* FILE MENU */ .actions { padding:.3em; float:left; height:2em; } -.actions input, .actions button, .actions .button { margin:0; } -#file_menu { right:0; position:absolute; top:0; } -#file_menu a { display:block; float:left; background-image:none; text-decoration:none; } -.file_upload_form, #file_newfolder_form { display:inline; float: left; margin-left:0; } -#fileSelector, #file_upload_submit, #file_newfolder_submit { display:none; } -.file_upload_wrapper, #file_newfolder_name { background-repeat:no-repeat; background-position:.5em .5em; padding-left:2em; } -.file_upload_wrapper { font-weight:bold; display:-moz-inline-box; /* fallback for older firefox versions*/ display:block; float:left; padding-left:0; overflow:hidden; position:relative; margin:0; margin-left:2px; } -.file_upload_wrapper .file_upload_button_wrapper { position:absolute; top:0; left:0; width:100%; height:100%; cursor:pointer; z-index:1000; } -#new { background-color:#5bb75b; float:left; margin:0 0 0 1em; border-right:none; z-index:1010; height:1.3em; } -#new:hover, a.file_upload_button_wrapper:hover + button.file_upload_filename { background-color:#4b964b; } +.actions input, .actions button, .actions .button { margin:0; float:left; } + +#new { + height:17px; margin:0 0 0 1em; z-index:1010; float:left; + background-color:#5bb75b; + border:1px solid; border-color:#51a351 #419341 #387038; + -moz-box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; + -webkit-box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; + box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; +} +#new:hover, #upload:hover { background-color:#4b964b; } #new.active { border-bottom-left-radius:0; border-bottom-right-radius:0; border-bottom:none; } #new>a { padding:.5em 1.2em .3em; color:#fff; text-shadow:0 1px 0 #51a351; } -#new>ul { display:none; position:fixed; text-align:left; padding:.5em; background:#f8f8f8; margin-top:0.075em; border:1px solid #ddd; min-width:7em; margin-left:-.5em; z-index:-1; } -#new>ul>li { margin:.3em; padding-left:2em; background-repeat:no-repeat; cursor:pointer; padding-bottom:0.1em } +#new>ul { + display:none; position:fixed; min-width:7em; z-index:-1; + padding:.5em; margin-top:0.075em; margin-left:-.5em; + text-align:left; + background:#f8f8f8; border:1px solid #ddd; +} +#new>ul>li { height:20px; margin:.3em; padding-left:2em; padding-bottom:0.1em; + background-repeat:no-repeat; cursor:pointer; } #new>ul>li>p { cursor:pointer; } #new>ul>li>input { padding:0.3em; margin:-0.3em; } -#new, .file_upload_filename { border:1px solid; border-color:#51a351 #419341 #387038; -moz-box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; -webkit-box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; } #new .popup { border-top-left-radius:0; z-index:10; } -#file_newfolder_name { background-image:url('%webroot%/core/img/places/folder.svg'); font-weight:normal; width:7em; } -.file_upload_start, .file_upload_filename { font-size:1em; } -#file_newfolder_submit, #file_upload_submit { width:3em; } +#upload { + height:27px; padding:0; margin-left:0.2em; overflow:hidden; + color:#fff; text-shadow:0 1px 0 #51a351; + border-color:#51a351 #419341 #387038; + box-shadow:0 1px 1px #f8f8f8, 1px 1px 1px #ada inset; + background-color:#5bb75b; +} +#upload a { + position:relative; display:block; width:100%; height:27px; + cursor:pointer; z-index:1000; + background-image:url('%webroot%/core/img/actions/upload-white.svg'); + background-repeat:no-repeat; + background-position:7px 6px; +} .file_upload_target { display:none; } +.file_upload_form { display:inline; float:left; margin:0; padding:0; cursor:pointer; overflow:visible; } +#file_upload_start { + left:0; top:0; width:28px; height:27px; padding:0; + font-size:1em; + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; + z-index:-1; position:relative; cursor:pointer; overflow:hidden; +} -.file_upload_start { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; z-index:1; position:absolute; left:0; top:0; width:100%; cursor:pointer;} -.file_upload_filename { background-color:#5bb75b; z-index:100; cursor:pointer; background-image: url('%webroot%/core/img/actions/upload-white.svg'); background-repeat: no-repeat; background-position: center; height: 2.29em; width: 2.5em; } - -#upload { position:absolute; right:13.5em; top:0em; } -#upload #uploadprogressbar { position:relative; display:inline-block; width:10em; height:1.5em; top:.4em; } - -.file_upload_form, .file_upload_wrapper, .file_upload_start, .file_upload_filename, #file_upload_submit { cursor:pointer; } +#uploadprogresswrapper { position:absolute; right:13.5em; top:0em; } +#uploadprogresswrapper #uploadprogressbar { position:relative; display:inline-block; width:10em; height:1.5em; top:.4em; } /* FILE TABLE */ -#emptyfolder { position:absolute; margin:10em 0 0 10em; font-size:1.5em; font-weight:bold; color:#888; text-shadow:#fff 0 1px 0; } + +#emptyfolder { + position:absolute; + margin:10em 0 0 10em; + font-size:1.5em; font-weight:bold; + color:#888; text-shadow:#fff 0 1px 0; +} table { position:relative; top:37px; width:100%; } tbody tr { background-color:#fff; height:2.5em; } tbody tr:hover, tbody tr:active, tbody tr.selected { background-color:#f8f8f8; } @@ -60,13 +85,13 @@ table tr[data-type="dir"] td.filename a.name span.nametext {font-weight:bold; } table td.filename input.filename { width:100%; cursor:text; } table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete { padding:.2em .5em .5em 0; } table td.filename .nametext, .uploadtext, .modified { float:left; padding:.3em 0; } -// TODO fix usability bug (accidental file/folder selection) -table td.filename .nametext { width:40em; overflow:hidden; text-overflow:ellipsis; } +/* TODO fix usability bug (accidental file/folder selection) */ +table td.filename .nametext { overflow:hidden; text-overflow:ellipsis; } table td.filename .uploadtext { font-weight:normal; margin-left:.5em; } table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; } table thead.fixed tr{ position:fixed; top:6.5em; z-index:49; -moz-box-shadow:0 -3px 7px #ddd; -webkit-box-shadow:0 -3px 7px #ddd; box-shadow:0 -3px 7px #ddd; } table thead.fixed { height:2em; } -#fileList tr td.filename>input[type=checkbox]:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; float:left; margin:.7em 0 0 1em; /* bigger clickable area doesn’t work in FF width:2.8em; height:2.4em;*/ -webkit-transition:opacity 200ms; -moz-transition:opacity 200ms; -o-transition:opacity 200ms; transition:opacity 200ms; } +#fileList tr td.filename>input[type="checkbox"]:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; float:left; margin:.7em 0 0 1em; /* bigger clickable area doesn’t work in FF width:2.8em; height:2.4em;*/ -webkit-transition:opacity 200ms; -moz-transition:opacity 200ms; -o-transition:opacity 200ms; transition:opacity 200ms; } #fileList tr td.filename>input[type="checkbox"]:hover:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; filter:alpha(opacity=80); opacity:.8; } #fileList tr td.filename>input[type="checkbox"]:checked:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; } #fileList tr td.filename { -webkit-transition:background-image 500ms; -moz-transition:background-image 500ms; -o-transition:background-image 500ms; transition:background-image 500ms; position:relative; } @@ -87,4 +112,4 @@ a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; } #scanning-message{ top:40%; left:40%; position:absolute; display:none; } -div.crumb a{ padding: 0.9em 0 0.7em 0; } +div.crumb a{ padding:0.9em 0 0.7em 0; } diff --git a/apps/files/index.php b/apps/files/index.php index a88e1f00741..173cef791d3 100644 --- a/apps/files/index.php +++ b/apps/files/index.php @@ -31,6 +31,7 @@ OCP\Util::addscript( 'files', 'jquery.fileupload' ); OCP\Util::addscript( 'files', 'files' ); OCP\Util::addscript( 'files', 'filelist' ); OCP\Util::addscript( 'files', 'fileactions' ); +OCP\Util::addscript( 'files', 'keyboardshortcuts' ); if(!isset($_SESSION['timezone'])) { OCP\Util::addscript( 'files', 'timezone' ); } diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 5674206632b..9f0bafafbdf 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -89,7 +89,6 @@ var FileList={ $('tr').filterAttr('data-file',name).remove(); if($('tr[data-file]').length==0){ $('#emptyfolder').show(); - $('.file_upload_filename').addClass('highlight'); } }, insertElement:function(name,type,element){ @@ -118,7 +117,6 @@ var FileList={ $('#fileList').append(element); } $('#emptyfolder').hide(); - $('.file_upload_filename').removeClass('highlight'); }, loadingDone:function(name, id){ var mime, tr=$('tr').filterAttr('data-file',name); diff --git a/apps/files/js/files.js b/apps/files/js/files.js index 7c6d4fd3ee5..3f25e3bb3a3 100644 --- a/apps/files/js/files.js +++ b/apps/files/js/files.js @@ -40,15 +40,12 @@ Files={ } }; $(document).ready(function() { + Files.bindKeyboardShortcuts(document, jQuery); $('#fileList tr').each(function(){ //little hack to set unescape filenames in attribute $(this).attr('data-file',decodeURIComponent($(this).attr('data-file'))); }); - if($('tr[data-file]').length==0){ - $('.file_upload_filename').addClass('highlight'); - } - $('#file_action_panel').attr('activeAction', false); //drag/drop of files @@ -69,8 +66,8 @@ $(document).ready(function() { } // Triggers invisible file input - $('.file_upload_button_wrapper').live('click', function() { - $(this).parent().children('.file_upload_start').trigger('click'); + $('#upload a').live('click', function() { + $(this).parent().children('#file_upload_start').trigger('click'); return false; }); @@ -171,12 +168,6 @@ $(document).ready(function() { procesSelection(); }); - $('#file_newfolder_name').click(function(){ - if($('#file_newfolder_name').val() == 'New Folder'){ - $('#file_newfolder_name').val(''); - } - }); - $('.download').click('click',function(event) { var files=getSelectedFiles('name').join(';'); var dir=$('#dir').val()||'/'; @@ -204,9 +195,9 @@ $(document).ready(function() { e.preventDefault(); // prevent browser from doing anything, if file isn't dropped in dropZone }); - if ( document.getElementById("data-upload-form") ) { + if ( document.getElementById('data-upload-form') ) { $(function() { - $('.file_upload_start').fileupload({ + $('#file_upload_start').fileupload({ dropZone: $('#content'), // restrict dropZone to content div add: function(e, data) { var files = data.files; @@ -221,7 +212,7 @@ $(document).ready(function() { totalSize+=files[i].size; if(FileList.deleteFiles && FileList.deleteFiles.indexOf(files[i].name)!=-1){//finish delete if we are uploading a deleted file FileList.finishDelete(function(){ - $('.file_upload_start').change(); + $('#file_upload_start').change(); }); return; } @@ -295,7 +286,7 @@ $(document).ready(function() { var dropTarget = $(e.originalEvent.target).closest('tr'); if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder var dirName = dropTarget.attr('data-file') - var jqXHR = $('.file_upload_start').fileupload('send', {files: files[i], + var jqXHR = $('#file_upload_start').fileupload('send', {files: files[i], formData: function(form) { var formArray = form.serializeArray(); // array index 0 contains the max files size @@ -356,7 +347,7 @@ $(document).ready(function() { } uploadingFiles[dirName][fileName] = jqXHR; } else { - var jqXHR = $('.file_upload_start').fileupload('send', {files: files[i]}) + var jqXHR = $('#file_upload_start').fileupload('send', {files: files[i]}) .success(function(result, textStatus, jqXHR) { var response; response=jQuery.parseJSON(result); @@ -453,7 +444,7 @@ $(document).ready(function() { //add multiply file upload attribute to all browsers except konqueror (which crashes when it's used) if(navigator.userAgent.search(/konqueror/i)==-1){ - $('.file_upload_start').attr('multiple','multiple') + $('#file_upload_start').attr('multiple','multiple') } //if the breadcrumb is to long, start by replacing foldernames with '...' except for the current folder @@ -481,7 +472,6 @@ $(document).ready(function() { $(window).click(function(){ $('#new>ul').hide(); $('#new').removeClass('active'); - $('button.file_upload_filename').removeClass('active'); $('#new li').each(function(i,element){ if($(element).children('p').length==0){ $(element).children('input').remove(); @@ -495,7 +485,6 @@ $(document).ready(function() { $('#new>a').click(function(){ $('#new>ul').toggle(); $('#new').toggleClass('active'); - $('button.file_upload_filename').toggleClass('active'); }); $('#new li').click(function(){ if($(this).children('p').length==0){ diff --git a/apps/files/js/keyboardshortcuts.js b/apps/files/js/keyboardshortcuts.js new file mode 100644 index 00000000000..562755f55b7 --- /dev/null +++ b/apps/files/js/keyboardshortcuts.js @@ -0,0 +1,165 @@ +/** + * Copyright (c) 2012 Erik Sargent <esthepiking at gmail dot com> + * This file is licensed under the Affero General Public License version 3 or + * later. + */ +/***************************** + * Keyboard shortcuts for Files app + * ctrl/cmd+n: new folder + * ctrl/cmd+shift+n: new file + * esc (while new file context menu is open): close menu + * up/down: select file/folder + * enter: open file/folder + * delete/backspace: delete file/folder + *****************************/ +var Files = Files || {}; +(function(Files) { + var keys = []; + var keyCodes = { + shift: 16, + n: 78, + cmdFirefox: 224, + cmdOpera: 17, + leftCmdWebKit: 91, + rightCmdWebKit: 93, + ctrl: 17, + esc: 27, + downArrow: 40, + upArrow: 38, + enter: 13, + del: 46 + }; + + function removeA(arr) { + var what, a = arguments, + L = a.length, + ax; + while (L > 1 && arr.length) { + what = a[--L]; + while ((ax = arr.indexOf(what)) !== -1) { + arr.splice(ax, 1); + } + } + return arr; + } + + function newFile() { + $("#new").addClass("active"); + $(".popup.popupTop").toggle(true); + $('#new li[data-type="file"]').trigger('click'); + removeA(keys, keyCodes.n); + } + + function newFolder() { + $("#new").addClass("active"); + $(".popup.popupTop").toggle(true); + $('#new li[data-type="folder"]').trigger('click'); + removeA(keys, keyCodes.n); + } + + function esc() { + $("#controls").trigger('click'); + } + + function down() { + var select = -1; + $("#fileList tr").each(function(index) { + if ($(this).hasClass("mouseOver")) { + select = index + 1; + $(this).removeClass("mouseOver"); + } + }); + if (select === -1) { + $("#fileList tr:first").addClass("mouseOver"); + } else { + $("#fileList tr").each(function(index) { + if (index === select) { + $(this).addClass("mouseOver"); + } + }); + } + } + + function up() { + var select = -1; + $("#fileList tr").each(function(index) { + if ($(this).hasClass("mouseOver")) { + select = index - 1; + $(this).removeClass("mouseOver"); + } + }); + if (select === -1) { + $("#fileList tr:last").addClass("mouseOver"); + } else { + $("#fileList tr").each(function(index) { + if (index === select) { + $(this).addClass("mouseOver"); + } + }); + } + } + + function enter() { + $("#fileList tr").each(function(index) { + if ($(this).hasClass("mouseOver")) { + $(this).removeClass("mouseOver"); + $(this).find("span.nametext").trigger('click'); + } + }); + } + + function del() { + $("#fileList tr").each(function(index) { + if ($(this).hasClass("mouseOver")) { + $(this).removeClass("mouseOver"); + $(this).find("a.action.delete").trigger('click'); + } + }); + } + + function rename() { + $("#fileList tr").each(function(index) { + if ($(this).hasClass("mouseOver")) { + $(this).removeClass("mouseOver"); + $(this).find("a[data-action='Rename']").trigger('click'); + } + }); + } + Files.bindKeyboardShortcuts = function(document, $) { + $(document).keydown(function(event) { //check for modifier keys + var preventDefault = false; + if ($.inArray(event.keyCode, keys) === -1) keys.push(event.keyCode); + if ( + $.inArray(keyCodes.n, keys) !== -1 && ($.inArray(keyCodes.cmdFirefox, keys) !== -1 || $.inArray(keyCodes.cmdOpera, keys) !== -1 || $.inArray(keyCodes.leftCmdWebKit, keys) !== -1 || $.inArray(keyCodes.rightCmdWebKit, keys) !== -1 || $.inArray(keyCodes.ctrl, keys) !== -1 || event.ctrlKey)) { + preventDefault = true; //new file/folder prevent browser from responding + } + if (preventDefault) { + event.preventDefault(); //Prevent web browser from responding + event.stopPropagation(); + return false; + } + }); + $(document).keyup(function(event) { + // do your event.keyCode checks in here + if ( + $.inArray(keyCodes.n, keys) !== -1 && ($.inArray(keyCodes.cmdFirefox, keys) !== -1 || $.inArray(keyCodes.cmdOpera, keys) !== -1 || $.inArray(keyCodes.leftCmdWebKit, keys) !== -1 || $.inArray(keyCodes.rightCmdWebKit, keys) !== -1 || $.inArray(keyCodes.ctrl, keys) !== -1 || event.ctrlKey)) { + if ($.inArray(keyCodes.shift, keys) !== -1) { //16=shift, New File + newFile(); + } else { //New Folder + newFolder(); + } + } else if ($("#new").hasClass("active") && $.inArray(keyCodes.esc, keys) !== -1) { //close new window + esc(); + } else if ($.inArray(keyCodes.downArrow, keys) !== -1) { //select file + down(); + } else if ($.inArray(keyCodes.upArrow, keys) !== -1) { //select file + up(); + } else if (!$("#new").hasClass("active") && $.inArray(keyCodes.enter, keys) !== -1) { //open file + enter(); + } else if (!$("#new").hasClass("active") && $.inArray(keyCodes.del, keys) !== -1) { //delete file + del(); + } + removeA(keys, event.keyCode); + }); + }; +})(Files);
\ No newline at end of file diff --git a/apps/files/l10n/es_AR.php b/apps/files/l10n/es_AR.php index 5c7ca37387b..e514d8de59a 100644 --- a/apps/files/l10n/es_AR.php +++ b/apps/files/l10n/es_AR.php @@ -1,5 +1,6 @@ <?php $TRANSLATIONS = array( "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:", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "El archivo que intentás subir sobrepasa el tamaño definido por la variable MAX_FILE_SIZE especificada en el formulario HTML", "The uploaded file was only partially uploaded" => "El archivo que intentás subir solo se subió parcialmente", "No file was uploaded" => "El archivo no fue subido", @@ -18,6 +19,7 @@ "replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}", "unshared {files}" => "{files} se dejaron de compartir", "deleted {files}" => "{files} borrados", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre invalido, '\\', '/', '<', '>', ':', '\"', '|', '?' y '*' no están permitidos.", "generating ZIP-file, it may take some time." => "generando un archivo ZIP, puede llevar un tiempo.", "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", diff --git a/apps/files/l10n/ko.php b/apps/files/l10n/ko.php index 0e2e542678f..4b5d57dff92 100644 --- a/apps/files/l10n/ko.php +++ b/apps/files/l10n/ko.php @@ -1,59 +1,62 @@ <?php $TRANSLATIONS = array( "There is no error, the file uploaded with success" => "업로드에 성공하였습니다.", +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "업로드한 파일이 php.ini의 upload_max_filesize보다 큽니다:", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "업로드한 파일이 HTML 문서에 지정한 MAX_FILE_SIZE보다 더 큼", "The uploaded file was only partially uploaded" => "파일이 부분적으로 업로드됨", "No file was uploaded" => "업로드된 파일 없음", "Missing a temporary folder" => "임시 폴더가 사라짐", "Failed to write to disk" => "디스크에 쓰지 못했습니다", "Files" => "파일", -"Unshare" => "공유해제", +"Unshare" => "공유 해제", "Delete" => "삭제", -"Rename" => "이름변경", -"{new_name} already exists" => "{new_name} 이미 존재함", -"replace" => "대체", -"suggest name" => "이름을 제안", +"Rename" => "이름 바꾸기", +"{new_name} already exists" => "{new_name}이(가) 이미 존재함", +"replace" => "바꾸기", +"suggest name" => "이름 제안", "cancel" => "취소", -"replaced {new_name}" => "{new_name} 으로 대체", -"undo" => "복구", -"replaced {new_name} with {old_name}" => "{old_name}이 {new_name}으로 대체됨", -"unshared {files}" => "{files} 공유해제", +"replaced {new_name}" => "{new_name}을(를) 대체함", +"undo" => "실행 취소", +"replaced {new_name} with {old_name}" => "{old_name}이(가) {new_name}(으)로 대체됨", +"unshared {files}" => "{files} 공유 해제됨", "deleted {files}" => "{files} 삭제됨", -"generating ZIP-file, it may take some time." => "ZIP파일 생성에 시간이 걸릴 수 있습니다.", -"Unable to upload your file as it is a directory or has 0 bytes" => "이 파일은 디렉토리이거나 0 바이트이기 때문에 업로드 할 수 없습니다.", -"Upload Error" => "업로드 에러", +"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "폴더 이름이 올바르지 않습니다. 이름에 문자 '\\', '/', '<', '>', ':', '\"', '|', '? ', '*'는 사용할 수 없습니다.", +"generating ZIP-file, it may take some time." => "ZIP 파일을 생성하고 있습니다. 시간이 걸릴 수도 있습니다.", +"Unable to upload your file as it is a directory or has 0 bytes" => "이 파일은 디렉터리이거나 비어 있기 때문에 업로드할 수 없습니다", +"Upload Error" => "업로드 오류", "Close" => "닫기", "Pending" => "보류 중", -"1 file uploading" => "1 파일 업로드중", -"{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" => "스캔하는 도중 에러", +"1 file uploading" => "파일 1개 업로드 중", +"{count} files uploading" => "파일 {count}개 업로드 중", +"Upload cancelled." => "업로드가 취소되었습니다.", +"File upload is in progress. Leaving the page now will cancel the upload." => "파일 업로드가 진행 중입니다. 이 페이지를 벗어나면 업로드가 취소됩니다.", +"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "폴더 이름이 올바르지 않습니다. \"Shared\" 폴더는 ownCloud에서 예약되었습니다.", +"{count} files scanned" => "파일 {count}개 검색됨", +"error while scanning" => "검색 중 오류 발생", "Name" => "이름", "Size" => "크기", "Modified" => "수정됨", -"1 folder" => "1 폴더", -"{count} folders" => "{count} 폴더", -"1 file" => "1 파일", -"{count} files" => "{count} 파일", +"1 folder" => "폴더 1개", +"{count} folders" => "폴더 {count}개", +"1 file" => "파일 1개", +"{count} files" => "파일 {count}개", "File handling" => "파일 처리", "Maximum upload size" => "최대 업로드 크기", -"max. possible: " => "최대. 가능한:", -"Needed for multi-file and folder downloads." => "멀티 파일 및 폴더 다운로드에 필요.", -"Enable ZIP-download" => "ZIP- 다운로드 허용", -"0 is unlimited" => "0은 무제한 입니다", -"Maximum input size for ZIP files" => "ZIP 파일에 대한 최대 입력 크기", +"max. possible: " => "최대 가능:", +"Needed for multi-file and folder downloads." => "다중 파일 및 폴더 다운로드에 필요합니다.", +"Enable ZIP-download" => "ZIP 다운로드 허용", +"0 is unlimited" => "0은 무제한입니다", +"Maximum input size for ZIP files" => "ZIP 파일 최대 크기", "Save" => "저장", "New" => "새로 만들기", "Text file" => "텍스트 파일", "Folder" => "폴더", -"From link" => "From link", +"From link" => "링크에서", "Upload" => "업로드", "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" => "커런트 스캐닝" +"Files are being scanned, please wait." => "파일을 검색하고 있습니다. 기다려 주십시오.", +"Current scanning" => "현재 검색" ); diff --git a/apps/files/l10n/sl.php b/apps/files/l10n/sl.php index b9d030c5d5d..c5ee6c422d5 100644 --- a/apps/files/l10n/sl.php +++ b/apps/files/l10n/sl.php @@ -1,5 +1,6 @@ <?php $TRANSLATIONS = array( "There is no error, the file uploaded with success" => "Datoteka je uspešno naložena brez napak.", +"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Naložena datoteka presega dovoljeno velikost. Le-ta je določena z vrstico upload_max_filesize v datoteki php.ini:", "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Naložena datoteka presega velikost, ki jo določa parameter MAX_FILE_SIZE v HTML obrazcu", "The uploaded file was only partially uploaded" => "Datoteka je le delno naložena", "No file was uploaded" => "Nobena datoteka ni bila naložena", diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php index de440a6f79c..bd34c9a76d9 100644 --- a/apps/files/templates/index.php +++ b/apps/files/templates/index.php @@ -3,7 +3,7 @@ <?php echo($_['breadcrumb']); ?> <?php if ($_['isCreatable']):?> <div class="actions <?php if (isset($_['files']) and count($_['files'])==0):?>emptyfolder<?php endif; ?>"> - <div id='new' class='button'> + <div id="new" class="button"> <a><?php echo $l->t('New');?></a> <ul class="popup popupTop"> <li style="background-image:url('<?php echo OCP\mimetype_icon('text/plain') ?>')" @@ -14,7 +14,7 @@ data-type='web'><p><?php echo $l->t('From link');?></p></li> </ul> </div> - <div class="file_upload_wrapper svg"> + <div id="upload" class="button"> <form data-upload-id='1' id="data-upload-form" class="file_upload_form" @@ -30,19 +30,20 @@ <input type="hidden" class="max_human_file_size" value="(max <?php echo $_['uploadMaxHumanFilesize']; ?>)"> <input type="hidden" name="dir" value="<?php echo $_['dir'] ?>" id="dir"> - <input class="file_upload_start" type="file" name='files[]'/> - <a href="#" class="file_upload_button_wrapper" onclick="return false;" - title="<?php echo $l->t('Upload'); echo ' max. '.$_['uploadMaxHumanFilesize'] ?>"></a> - <button class="file_upload_filename"></button> - <iframe name="file_upload_target_1" class='file_upload_target' src=""></iframe> + <input type="file" id="file_upload_start" name='files[]'/> + <a href="#" class="svg" onclick="return false;" + title="<?php echo $l->t('Upload') . ' max. '.$_['uploadMaxHumanFilesize'] ?>"></a> + + <iframe name="file_upload_target_1" class="file_upload_target" src=""></iframe> </form> </div> - <div id="upload"> - <div id="uploadprogressbar"></div> - <input type="button" class="stop" style="display:none" - value="<?php echo $l->t('Cancel upload');?>" - onclick="javascript:Files.cancelUploads();" /> - </div> + <div id="uploadprogresswrapper"> + <div id="uploadprogressbar"></div> + <input type="button" class="stop" style="display:none" + value="<?php echo $l->t('Cancel upload');?>" + onclick="javascript:Files.cancelUploads();" + /> + </div> </div> <div id="file_action_panel"></div> |