summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2012-12-11 23:57:59 +0100
committerRobin Appelman <icewind@owncloud.com>2012-12-11 23:57:59 +0100
commit7969d6e64617235744889df42d0e671085a779a8 (patch)
tree23733e41a7d58cb2903429e3dfb417327c39d835 /apps
parentcc0a0df88b3b6fdd2b1f9c85349683eb640f9670 (diff)
parentf7f462f2733117cc2e3be0421e7ebca85bac1562 (diff)
downloadnextcloud-server-7969d6e64617235744889df42d0e671085a779a8.tar.gz
nextcloud-server-7969d6e64617235744889df42d0e671085a779a8.zip
Merge branch 'master' into filesystem
Diffstat (limited to 'apps')
-rw-r--r--apps/files/css/files.css81
-rw-r--r--apps/files/index.php1
-rw-r--r--apps/files/js/filelist.js2
-rw-r--r--apps/files/js/files.js29
-rw-r--r--apps/files/js/keyboardshortcuts.js165
-rw-r--r--apps/files/l10n/es_AR.php2
-rw-r--r--apps/files/l10n/ko.php63
-rw-r--r--apps/files/l10n/sl.php1
-rw-r--r--apps/files/templates/index.php27
-rw-r--r--apps/files_encryption/l10n/ko.php2
-rw-r--r--apps/files_external/l10n/ko.php26
-rw-r--r--apps/files_sharing/l10n/ko.php10
-rw-r--r--apps/files_versions/l10n/ko.php8
-rw-r--r--apps/user_ldap/l10n/gl.php22
-rw-r--r--apps/user_ldap/l10n/ko.php36
15 files changed, 332 insertions, 143 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>
diff --git a/apps/files_encryption/l10n/ko.php b/apps/files_encryption/l10n/ko.php
index 83816bc2f14..4702753435e 100644
--- a/apps/files_encryption/l10n/ko.php
+++ b/apps/files_encryption/l10n/ko.php
@@ -1,6 +1,6 @@
<?php $TRANSLATIONS = array(
"Encryption" => "암호화",
-"Exclude the following file types from encryption" => "다음파일 형식에 암호화 제외",
+"Exclude the following file types from encryption" => "다음 파일 형식은 암호화하지 않음",
"None" => "없음",
"Enable Encryption" => "암호화 사용"
);
diff --git a/apps/files_external/l10n/ko.php b/apps/files_external/l10n/ko.php
index d44ad88d85c..74a400303b2 100644
--- a/apps/files_external/l10n/ko.php
+++ b/apps/files_external/l10n/ko.php
@@ -1,24 +1,24 @@
<?php $TRANSLATIONS = array(
-"Access granted" => "접근 허가",
-"Error configuring Dropbox storage" => "드롭박스 저장공간 구성 에러",
-"Grant access" => "접근권한 부여",
-"Fill out all required fields" => "모든 필요한 필드들을 입력하세요.",
-"Please provide a valid Dropbox app key and secret." => "유효한 드롭박스 응용프로그램 키와 비밀번호를 입력해주세요.",
-"Error configuring Google Drive storage" => "구글드라이브 저장공간 구성 에러",
-"External Storage" => "확장 저장공간",
-"Mount point" => "마운트 포인트",
+"Access granted" => "접근 허가됨",
+"Error configuring Dropbox storage" => "Dropbox 저장소 설정 오류",
+"Grant access" => "접근 권한 부여",
+"Fill out all required fields" => "모든 필수 항목을 입력하십시오",
+"Please provide a valid Dropbox app key and secret." => "올바른 Dropbox 앱 키와 암호를 입력하십시오.",
+"Error configuring Google Drive storage" => "Google 드라이브 저장소 설정 오류",
+"External Storage" => "외부 저장소",
+"Mount point" => "마운트 지점",
"Backend" => "백엔드",
"Configuration" => "설정",
"Options" => "옵션",
-"Applicable" => "적용가능",
-"Add mount point" => "마운트 포인트 추가",
-"None set" => "세트 없음",
+"Applicable" => "적용 가능",
+"Add mount point" => "마운트 지점 추가",
+"None set" => "설정되지 않음",
"All Users" => "모든 사용자",
"Groups" => "그룹",
"Users" => "사용자",
"Delete" => "삭제",
-"Enable User External Storage" => "사용자 확장 저장공간 사용",
-"Allow users to mount their own external storage" => "사용자들에게 그들의 확장 저장공간 마운트 하는것을 허용",
+"Enable User External Storage" => "사용자 외부 저장소 사용",
+"Allow users to mount their own external storage" => "사용자별 외부 저장소 마운트 허용",
"SSL root certificates" => "SSL 루트 인증서",
"Import Root Certificate" => "루트 인증서 가져오기"
);
diff --git a/apps/files_sharing/l10n/ko.php b/apps/files_sharing/l10n/ko.php
index c172da854d8..600168d9bfa 100644
--- a/apps/files_sharing/l10n/ko.php
+++ b/apps/files_sharing/l10n/ko.php
@@ -1,9 +1,9 @@
<?php $TRANSLATIONS = array(
-"Password" => "비밀번호",
+"Password" => "암호",
"Submit" => "제출",
-"%s shared the folder %s with you" => "%s 공유된 폴더 %s 당신과 함께",
-"%s shared the file %s with you" => "%s 공유된 파일 %s 당신과 함께",
+"%s shared the folder %s with you" => "%s 님이 폴더 %s을(를) 공유하였습니다",
+"%s shared the file %s with you" => "%s 님이 파일 %s을(를) 공유하였습니다",
"Download" => "다운로드",
-"No preview available for" => "사용가능한 프리뷰가 없습니다.",
-"web services under your control" => "당신의 통제하에 있는 웹서비스"
+"No preview available for" => "다음 항목을 미리 볼 수 없음:",
+"web services under your control" => "내가 관리하는 웹 서비스"
);
diff --git a/apps/files_versions/l10n/ko.php b/apps/files_versions/l10n/ko.php
index 9c14de0962a..688babb1121 100644
--- a/apps/files_versions/l10n/ko.php
+++ b/apps/files_versions/l10n/ko.php
@@ -1,8 +1,8 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "모든 버전이 만료되었습니다.",
+"Expire all versions" => "모든 버전 삭제",
"History" => "역사",
"Versions" => "버전",
-"This will delete all existing backup versions of your files" => "당신 파일의 존재하는 모든 백업 버전이 삭제될것입니다.",
-"Files Versioning" => "파일 버전관리중",
-"Enable" => "가능"
+"This will delete all existing backup versions of your files" => "이 파일의 모든 백업 버전을 삭제합니다",
+"Files Versioning" => "파일 버전 관리",
+"Enable" => "사용함"
);
diff --git a/apps/user_ldap/l10n/gl.php b/apps/user_ldap/l10n/gl.php
index efcea02c180..41431293cba 100644
--- a/apps/user_ldap/l10n/gl.php
+++ b/apps/user_ldap/l10n/gl.php
@@ -1,37 +1,37 @@
<?php $TRANSLATIONS = array(
"Host" => "Servidor",
-"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Podes omitir o protocolo agás que precises de SSL. Nese caso comeza con ldaps://",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Pode omitir o protocolo agás que precise de SSL. Nese caso comece con ldaps://",
"Base DN" => "DN base",
-"You can specify Base DN for users and groups in the Advanced tab" => "Podes especificar a DN base para usuarios e grupos na lapela de «Avanzado»",
+"You can specify Base DN for users and groups in the Advanced tab" => "Pode especificar a DN base para usuarios e grupos na lapela de «Avanzado»",
"User DN" => "DN do usuario",
-"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "O DN do cliente do usuario co que hai que estabelecer unha conexión, p.ex uid=axente, dc=exemplo, dc=com. Para o acceso en anónimo deixa o DN e o contrasinal baleiros.",
+"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "O DN do cliente do usuario co que hai que estabelecer unha conexión, p.ex uid=axente, dc=exemplo, dc=com. Para o acceso en anónimo de o DN e o contrasinal baleiros.",
"Password" => "Contrasinal",
-"For anonymous access, leave DN and Password empty." => "Para o acceso anónimo deixa o DN e o contrasinal baleiros.",
+"For anonymous access, leave DN and Password empty." => "Para o acceso anónimo deixe o DN e o contrasinal baleiros.",
"User Login Filter" => "Filtro de acceso de usuarios",
"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "Define o filtro que se aplica cando se intenta o acceso. %%uid substitúe o nome de usuario e a acción de acceso.",
"use %%uid placeholder, e.g. \"uid=%%uid\"" => "usar a marca de posición %%uid, p.ex «uid=%%uid»",
"User List Filter" => "Filtro da lista de usuarios",
"Defines the filter to apply, when retrieving users." => "Define o filtro a aplicar cando se recompilan os usuarios.",
-"without any placeholder, e.g. \"objectClass=person\"." => "sen ningunha marca de posición, como p.ex \"objectClass=persoa\".",
+"without any placeholder, e.g. \"objectClass=person\"." => "sen ningunha marca de posición, como p.ex «objectClass=persoa».",
"Group Filter" => "Filtro de grupo",
"Defines the filter to apply, when retrieving groups." => "Define o filtro a aplicar cando se recompilan os grupos.",
-"without any placeholder, e.g. \"objectClass=posixGroup\"." => "sen ningunha marca de posición, como p.ex \"objectClass=grupoPosix\".",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "sen ningunha marca de posición, como p.ex «objectClass=grupoPosix».",
"Port" => "Porto",
"Base User Tree" => "Base da árbore de usuarios",
"Base Group Tree" => "Base da árbore de grupo",
"Group-Member association" => "Asociación de grupos e membros",
"Use TLS" => "Usar TLS",
-"Do not use it for SSL connections, it will fail." => "Non o empregues para conexións SSL: fallará.",
+"Do not use it for SSL connections, it will fail." => "Non empregualo para conexións SSL: fallará.",
"Case insensitve LDAP server (Windows)" => "Servidor LDAP que non distingue entre maiúsculas e minúsculas (Windows)",
-"Turn off SSL certificate validation." => "Apaga a validación do certificado SSL.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Se a conexión só funciona con esta opción importa o certificado SSL do servidor LDAP no teu servidor ownCloud.",
+"Turn off SSL certificate validation." => "Desactiva a validación do certificado SSL.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Se a conexión só funciona con esta opción importa o certificado SSL do servidor LDAP no seu servidor ownCloud.",
"Not recommended, use for testing only." => "Non se recomenda. Só para probas.",
"User Display Name Field" => "Campo de mostra do nome de usuario",
"The LDAP attribute to use to generate the user`s ownCloud name." => "O atributo LDAP a empregar para xerar o nome de usuario de ownCloud.",
"Group Display Name Field" => "Campo de mostra do nome de grupo",
"The LDAP attribute to use to generate the groups`s ownCloud name." => "O atributo LDAP úsase para xerar os nomes dos grupos de ownCloud.",
"in bytes" => "en bytes",
-"in seconds. A change empties the cache." => "en segundos. Calquera cambio baleira o caché.",
-"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixar baleiro para o nome de usuario (por defecto). Noutro caso, especifica un atributo LDAP/AD.",
+"in seconds. A change empties the cache." => "en segundos. Calquera cambio baleira a caché.",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Deixar baleiro para o nome de usuario (predeterminado). Noutro caso, especifique un atributo LDAP/AD.",
"Help" => "Axuda"
);
diff --git a/apps/user_ldap/l10n/ko.php b/apps/user_ldap/l10n/ko.php
index 681365d221f..aa775e42b16 100644
--- a/apps/user_ldap/l10n/ko.php
+++ b/apps/user_ldap/l10n/ko.php
@@ -1,33 +1,37 @@
<?php $TRANSLATIONS = array(
"Host" => "호스트",
-"You can omit the protocol, except you require SSL. Then start with ldaps://" => "당신은 필요로하는 SSL을 제외하고, 프로토콜을 생략 할 수 있습니다. 다음 시작 주소는 LDAPS://",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "SSL을 사용하는 경우가 아니라면 프로토콜을 입력하지 않아도 됩니다. SSL을 사용하려면 ldaps://를 입력하십시오.",
"Base DN" => "기본 DN",
-"You can specify Base DN for users and groups in the Advanced tab" => "당신은 고급 탭에서 사용자 및 그룹에 대한 기본 DN을 지정할 수 있습니다.",
+"You can specify Base DN for users and groups in the Advanced tab" => "고급 탭에서 사용자 및 그룹에 대한 기본 DN을 지정할 수 있습니다.",
"User DN" => "사용자 DN",
-"Password" => "비밀번호",
-"For anonymous access, leave DN and Password empty." => "익명의 접속을 위해서는 DN과 비밀번호를 빈상태로 두면 됩니다.",
+"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "바인딩 작업을 수행할 클라이언트 사용자 DN입니다. 예를 들어서 uid=agent,dc=example,dc=com입니다. 익명 접근을 허용하려면 DN과 암호를 비워 두십시오.",
+"Password" => "암호",
+"For anonymous access, leave DN and Password empty." => "익명 접근을 허용하려면 DN과 암호를 비워 두십시오.",
"User Login Filter" => "사용자 로그인 필터",
-"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "로그인을 시도 할 때 적용 할 필터를 정의합니다. %%udi는 로그인 작업의 사용자 이름을 대체합니다.",
-"use %%uid placeholder, e.g. \"uid=%%uid\"" => "use %%uid placeholder, e.g. \"uid=%%uid\"",
+"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "로그인을 시도할 때 적용할 필터입니다. %%uid는 로그인 작업에서의 사용자 이름으로 대체됩니다.",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "%%uid 자리 비움자를 사용하십시오. 예제: \"uid=%%uid\"\"",
"User List Filter" => "사용자 목록 필터",
-"Defines the filter to apply, when retrieving users." => "사용자를 검색 할 때 적용 할 필터를 정의합니다.",
+"Defines the filter to apply, when retrieving users." => "사용자를 검색할 때 적용할 필터를 정의합니다.",
+"without any placeholder, e.g. \"objectClass=person\"." => "자리 비움자를 사용할 수 없습니다. 예제: \"objectClass=person\"",
"Group Filter" => "그룹 필터",
-"Defines the filter to apply, when retrieving groups." => "그룹을 검색 할 때 적용 할 필터를 정의합니다.",
+"Defines the filter to apply, when retrieving groups." => "그룹을 검색할 때 적용할 필터를 정의합니다.",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "자리 비움자를 사용할 수 없습니다. 예제: \"objectClass=posixGroup\"",
"Port" => "포트",
"Base User Tree" => "기본 사용자 트리",
"Base Group Tree" => "기본 그룹 트리",
-"Group-Member association" => "그룹 회원 동료",
+"Group-Member association" => "그룹-회원 연결",
"Use TLS" => "TLS 사용",
-"Do not use it for SSL connections, it will fail." => "SSL연결을 사용하지 마세요, 그것은 실패할겁니다.",
-"Case insensitve LDAP server (Windows)" => "insensitve LDAP 서버 (Windows)의 경우",
+"Do not use it for SSL connections, it will fail." => "SSL 연결 시 사용하는 경우 연결되지 않습니다.",
+"Case insensitve LDAP server (Windows)" => "서버에서 대소문자를 구분하지 않음 (Windows)",
"Turn off SSL certificate validation." => "SSL 인증서 유효성 검사를 해제합니다.",
-"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "연결에만 이 옵션을 사용할 경우 당신의 ownCloud 서버에 LDAP 서버의 SSL 인증서를 가져옵니다.",
-"Not recommended, use for testing only." => "추천하지 않음, 테스트로만 사용",
-"User Display Name Field" => "사용자 표시 이름 필드",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "이 옵션을 사용해야 연결할 수 있는 경우에는 LDAP 서버의 SSL 인증서를 ownCloud로 가져올 수 있습니다.",
+"Not recommended, use for testing only." => "추천하지 않음, 테스트로만 사용하십시오.",
+"User Display Name Field" => "사용자의 표시 이름 필드",
"The LDAP attribute to use to generate the user`s ownCloud name." => "LDAP 속성은 사용자의 ownCloud 이름을 생성하기 위해 사용합니다.",
-"Group Display Name Field" => "그룹 표시 이름 필드",
+"Group Display Name Field" => "그룹의 표시 이름 필드",
"The LDAP attribute to use to generate the groups`s ownCloud name." => "LDAP 속성은 그룹의 ownCloud 이름을 생성하기 위해 사용합니다.",
"in bytes" => "바이트",
-"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "사용자 이름(기본값)을 비워 둡니다. 그렇지 않으면 LDAP/AD 특성을 지정합니다.",
+"in seconds. A change empties the cache." => "초. 항목 변경 시 캐시가 갱신됩니다.",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "사용자 이름을 사용하려면 비워 두십시오(기본값). 기타 경우 LDAP/AD 속성을 지정하십시오.",
"Help" => "도움말"
);