Merge branch 'master' into fixing-unused-and-undefined-in-master
This commit is contained in:
commit
388bb6a5e1
|
@ -0,0 +1,37 @@
|
|||
## Submitting issues
|
||||
|
||||
If you have questions about how to use ownCloud, please direct these to the [mailing list][mailinglist] or our [forum][forum]. We are also available on [IRC][irc].
|
||||
|
||||
### Guidelines
|
||||
* Report the issue using our [template][template], it includes all the informations we need to track down the issue.
|
||||
* This repository is *only* for issues within the ownCloud core code. Issues in other compontents should be reported in their own repositores:
|
||||
- [Android client](https://github.com/owncloud/android/issues)
|
||||
- [iOS client](https://github.com/owncloud/ios-issues/issues)
|
||||
- [Desktop client](https://github.com/owncloud/mirall/issues)
|
||||
- [ownCloud apps](https://github.com/owncloud/apps/issues) (e.g. Calendar, Contacts...)
|
||||
* Search the existing issues first, it's likely that your issue was already reported.
|
||||
|
||||
If your issue appears to be a bug, and hasn't been reported, open a new issue.
|
||||
|
||||
Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.
|
||||
|
||||
[template]: https://raw.github.com/owncloud/core/master/issue_template.md
|
||||
[mailinglist]: https://mail.kde.org/mailman/listinfo/owncloud
|
||||
[forum]: http://forum.owncloud.org/
|
||||
[irc]: http://webchat.freenode.net/?channels=owncloud&uio=d4
|
||||
|
||||
## Contributing to Source Code
|
||||
|
||||
Thanks for wanting to contribute source code to ownCloud. That's great!
|
||||
|
||||
Before we're able to merge your code into the ownCloud core, you need to sign our [Contributor Agreement][agreement].
|
||||
|
||||
Please read the [Developer Manuals][devmanual] to get useful infos like how to create your first application or how to test the ownCloud code with phpunit.
|
||||
|
||||
[agreement]: http://owncloud.org/about/contributor-agreement/
|
||||
[devmanual]: http://owncloud.org/dev/
|
||||
|
||||
## Translations
|
||||
Please submit translations via [Transifex][transifex].
|
||||
|
||||
[transifex]: https://www.transifex.com/projects/p/owncloud/
|
|
@ -11,14 +11,15 @@ $dir = stripslashes($_GET["dir"]);
|
|||
$file = stripslashes($_GET["file"]);
|
||||
$target = stripslashes(rawurldecode($_GET["target"]));
|
||||
|
||||
$l=OC_L10N::get('files');
|
||||
|
||||
if(OC_Filesystem::file_exists($target . '/' . $file)) {
|
||||
OCP\JSON::error(array("data" => array( "message" => "Could not move $file - File with this name already exists" )));
|
||||
OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s - File with this name already exists", array($file)) )));
|
||||
exit;
|
||||
}
|
||||
|
||||
if(OC_Files::move($dir, $file, $target, $file)) {
|
||||
OCP\JSON::success(array("data" => array( "dir" => $dir, "files" => $file )));
|
||||
} else {
|
||||
OCP\JSON::error(array("data" => array( "message" => "Could not move $file" )));
|
||||
OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s", array($file)) )));
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ $newname = stripslashes($_GET["newname"]);
|
|||
// Delete
|
||||
if( $newname !== '.' and OC_Files::move( $dir, $file, $dir, $newname )) {
|
||||
OCP\JSON::success(array("data" => array( "dir" => $dir, "file" => $file, "newname" => $newname )));
|
||||
}
|
||||
else{
|
||||
OCP\JSON::error(array("data" => array( "message" => "Unable to rename file" )));
|
||||
} else {
|
||||
$l=OC_L10N::get('files');
|
||||
OCP\JSON::error(array("data" => array( "message" => $l->t("Unable to rename file") )));
|
||||
}
|
||||
|
|
|
@ -45,6 +45,7 @@ $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, 'ownCloud'));
|
|||
$server->addPlugin(new Sabre_DAV_Locks_Plugin($lockBackend));
|
||||
$server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload
|
||||
$server->addPlugin(new OC_Connector_Sabre_QuotaPlugin());
|
||||
$server->addPlugin(new OC_Connector_Sabre_MaintenancePlugin());
|
||||
|
||||
// And off we go!
|
||||
$server->exec();
|
||||
|
|
|
@ -21,14 +21,14 @@
|
|||
#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>ul>li>form>input { padding:0.3em; margin:-0.3em; }
|
||||
|
||||
#upload {
|
||||
height:27px; padding:0; margin-left:0.2em; overflow:hidden;
|
||||
}
|
||||
#upload a {
|
||||
position:relative; display:block; width:100%; height:27px;
|
||||
cursor:pointer; z-index:1000;
|
||||
cursor:pointer; z-index:10;
|
||||
background-image:url('%webroot%/core/img/actions/upload.svg');
|
||||
background-repeat:no-repeat;
|
||||
background-position:7px 6px;
|
||||
|
@ -39,7 +39,7 @@
|
|||
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;
|
||||
z-index:20; position:relative; cursor:pointer; overflow:hidden;
|
||||
}
|
||||
|
||||
#uploadprogresswrapper { position:absolute; right:13.5em; top:0em; }
|
||||
|
|
|
@ -151,8 +151,7 @@ var FileList={
|
|||
var newname=input.val();
|
||||
if (!Files.isFileNameValid(newname)) {
|
||||
return false;
|
||||
}
|
||||
if (newname != name) {
|
||||
} else if (newname != name) {
|
||||
if (FileList.checkName(name, newname, false)) {
|
||||
newname = name;
|
||||
} else {
|
||||
|
@ -185,6 +184,13 @@ var FileList={
|
|||
td.children('a.name').show();
|
||||
return false;
|
||||
});
|
||||
input.keyup(function(event){
|
||||
if (event.keyCode == 27) {
|
||||
tr.data('renaming',false);
|
||||
form.remove();
|
||||
td.children('a.name').show();
|
||||
}
|
||||
});
|
||||
input.click(function(event){
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
|
|
|
@ -26,19 +26,19 @@ Files={
|
|||
});
|
||||
procesSelection();
|
||||
},
|
||||
isFileNameValid:function (name) {
|
||||
if (name === '.') {
|
||||
$('#notification').text(t('files', "'.' is an invalid file name."));
|
||||
$('#notification').fadeIn();
|
||||
return false;
|
||||
}
|
||||
if (name.length == 0) {
|
||||
$('#notification').text(t('files', "File name cannot be empty."));
|
||||
$('#notification').fadeIn();
|
||||
return false;
|
||||
}
|
||||
isFileNameValid:function (name) {
|
||||
if (name === '.') {
|
||||
$('#notification').text(t('files', '\'.\' is an invalid file name.'));
|
||||
$('#notification').fadeIn();
|
||||
return false;
|
||||
}
|
||||
if (name.length == 0) {
|
||||
$('#notification').text(t('files', 'File name cannot be empty.'));
|
||||
$('#notification').fadeIn();
|
||||
return false;
|
||||
}
|
||||
|
||||
// check for invalid characters
|
||||
// check for invalid characters
|
||||
var invalid_characters = ['\\', '/', '<', '>', ':', '"', '|', '?', '*'];
|
||||
for (var i = 0; i < invalid_characters.length; i++) {
|
||||
if (name.indexOf(invalid_characters[i]) != -1) {
|
||||
|
@ -87,8 +87,8 @@ $(document).ready(function() {
|
|||
|
||||
// Sets the file link behaviour :
|
||||
$('td.filename a').live('click',function(event) {
|
||||
event.preventDefault();
|
||||
if (event.ctrlKey || event.shiftKey) {
|
||||
event.preventDefault();
|
||||
if (event.shiftKey) {
|
||||
var last = $(lastChecked).parent().parent().prevAll().length;
|
||||
var first = $(this).parent().parent().prevAll().length;
|
||||
|
@ -130,6 +130,7 @@ $(document).ready(function() {
|
|||
var permissions = $(this).parent().parent().data('permissions');
|
||||
var action=FileActions.getDefault(mime,type, permissions);
|
||||
if(action){
|
||||
event.preventDefault();
|
||||
action(filename);
|
||||
}
|
||||
}
|
||||
|
@ -246,12 +247,12 @@ $(document).ready(function() {
|
|||
}
|
||||
});
|
||||
}else{
|
||||
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 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 date=new Date();
|
||||
var date=new Date();
|
||||
if(files){
|
||||
for(var i=0;i<files.length;i++){
|
||||
if(files[i].size>0){
|
||||
|
@ -304,9 +305,9 @@ $(document).ready(function() {
|
|||
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
|
||||
// array index 1 contains the request token
|
||||
// array index 2 contains the directory
|
||||
// array index 0 contains the max files size
|
||||
// array index 1 contains the request token
|
||||
// array index 2 contains the directory
|
||||
formArray[2]['value'] = dirName;
|
||||
return formArray;
|
||||
}}).success(function(result, textStatus, jqXHR) {
|
||||
|
@ -317,13 +318,14 @@ $(document).ready(function() {
|
|||
$('#notification').fadeIn();
|
||||
}
|
||||
var file=response[0];
|
||||
// TODO: this doesn't work if the file name has been changed server side
|
||||
// TODO: this doesn't work if the file name has been changed server side
|
||||
delete uploadingFiles[dirName][file.name];
|
||||
if ($.assocArraySize(uploadingFiles[dirName]) == 0) {
|
||||
delete uploadingFiles[dirName];
|
||||
}
|
||||
if ($.assocArraySize(uploadingFiles[dirName]) == 0) {
|
||||
delete uploadingFiles[dirName];
|
||||
}
|
||||
//TODO update file upload size limit
|
||||
|
||||
var uploadtext = $('tr').filterAttr('data-type', 'dir').filterAttr('data-file', dirName).find('.uploadtext')
|
||||
var uploadtext = $('tr').filterAttr('data-type', 'dir').filterAttr('data-file', dirName).find('.uploadtext')
|
||||
var currentUploads = parseInt(uploadtext.attr('currentUploads'));
|
||||
currentUploads -= 1;
|
||||
uploadtext.attr('currentUploads', currentUploads);
|
||||
|
@ -351,6 +353,7 @@ $(document).ready(function() {
|
|||
} else {
|
||||
uploadtext.text(t('files', '{count} files uploading', {count: currentUploads}));
|
||||
}
|
||||
delete uploadingFiles[dirName][fileName];
|
||||
$('#notification').hide();
|
||||
$('#notification').text(t('files', 'Upload cancelled.'));
|
||||
$('#notification').fadeIn();
|
||||
|
@ -374,8 +377,10 @@ $(document).ready(function() {
|
|||
if(size==t('files','Pending')){
|
||||
$('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
|
||||
}
|
||||
//TODO update file upload size limit
|
||||
FileList.loadingDone(file.name, file.id);
|
||||
} else {
|
||||
Files.cancelUpload(this.files[0].name);
|
||||
$('#notification').text(t('files', response.data.message));
|
||||
$('#notification').fadeIn();
|
||||
$('#fileList > tr').not('[data-mime]').fadeOut();
|
||||
|
@ -384,6 +389,7 @@ $(document).ready(function() {
|
|||
})
|
||||
.error(function(jqXHR, textStatus, errorThrown) {
|
||||
if(errorThrown === 'abort') {
|
||||
Files.cancelUpload(this.files[0].name);
|
||||
$('#notification').hide();
|
||||
$('#notification').text(t('files', 'Upload cancelled.'));
|
||||
$('#notification').fadeIn();
|
||||
|
@ -404,8 +410,10 @@ $(document).ready(function() {
|
|||
if(size==t('files','Pending')){
|
||||
$('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
|
||||
}
|
||||
//TODO update file upload size limit
|
||||
FileList.loadingDone(file.name, file.id);
|
||||
} else {
|
||||
//TODO Files.cancelUpload(/*where do we get the filename*/);
|
||||
$('#notification').text(t('files', response.data.message));
|
||||
$('#notification').fadeIn();
|
||||
$('#fileList > tr').not('[data-mime]').fadeOut();
|
||||
|
@ -446,7 +454,7 @@ $(document).ready(function() {
|
|||
// http://stackoverflow.com/a/6700/11236
|
||||
var size = 0, key;
|
||||
for (key in obj) {
|
||||
if (obj.hasOwnProperty(key)) size++;
|
||||
if (obj.hasOwnProperty(key)) size++;
|
||||
}
|
||||
return size;
|
||||
};
|
||||
|
@ -489,7 +497,7 @@ $(document).ready(function() {
|
|||
$('#new').removeClass('active');
|
||||
$('#new li').each(function(i,element){
|
||||
if($(element).children('p').length==0){
|
||||
$(element).children('input').remove();
|
||||
$(element).children('form').remove();
|
||||
$(element).append('<p>'+$(element).data('text')+'</p>');
|
||||
}
|
||||
});
|
||||
|
@ -508,7 +516,7 @@ $(document).ready(function() {
|
|||
|
||||
$('#new li').each(function(i,element){
|
||||
if($(element).children('p').length==0){
|
||||
$(element).children('input').remove();
|
||||
$(element).children('form').remove();
|
||||
$(element).append('<p>'+$(element).data('text')+'</p>');
|
||||
}
|
||||
});
|
||||
|
@ -517,23 +525,32 @@ $(document).ready(function() {
|
|||
var text=$(this).children('p').text();
|
||||
$(this).data('text',text);
|
||||
$(this).children('p').remove();
|
||||
var form=$('<form></form>');
|
||||
var input=$('<input>');
|
||||
$(this).append(input);
|
||||
form.append(input);
|
||||
$(this).append(form);
|
||||
input.focus();
|
||||
input.change(function(){
|
||||
if (type != 'web' && !Files.isFileNameValid($(this).val())) {
|
||||
return;
|
||||
} else if( type == 'folder' && $('#dir').val() == '/' && $(this).val() == 'Shared') {
|
||||
$('#notification').text(t('files','Invalid folder name. Usage of "Shared" is reserved by Owncloud'));
|
||||
form.submit(function(event){
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
var newname=input.val();
|
||||
if(type == 'web' && newname.length == 0) {
|
||||
$('#notification').text(t('files', 'URL cannot be empty.'));
|
||||
$('#notification').fadeIn();
|
||||
return;
|
||||
return false;
|
||||
} else if (type != 'web' && !Files.isFileNameValid(newname)) {
|
||||
return false;
|
||||
} else if( type == 'folder' && $('#dir').val() == '/' && newname == 'Shared') {
|
||||
$('#notification').text(t('files','Invalid folder name. Usage of \'Shared\' is reserved by Owncloud'));
|
||||
$('#notification').fadeIn();
|
||||
return false;
|
||||
}
|
||||
if (FileList.lastAction) {
|
||||
FileList.lastAction();
|
||||
}
|
||||
var name = getUniqueName($(this).val());
|
||||
if (name != $(this).val()) {
|
||||
FileList.checkName(name, $(this).val(), true);
|
||||
var name = getUniqueName(newname);
|
||||
if (newname != name) {
|
||||
FileList.checkName(name, newname, true);
|
||||
var hidden = true;
|
||||
} else {
|
||||
var hidden = false;
|
||||
|
@ -577,7 +594,7 @@ $(document).ready(function() {
|
|||
break;
|
||||
case 'web':
|
||||
if(name.substr(0,8)!='https://' && name.substr(0,7)!='http://'){
|
||||
name='http://'.name;
|
||||
name='http://'+name;
|
||||
}
|
||||
var localName=name;
|
||||
if(localName.substr(localName.length-1,1)=='/'){//strip /
|
||||
|
@ -616,8 +633,8 @@ $(document).ready(function() {
|
|||
});
|
||||
break;
|
||||
}
|
||||
var li=$(this).parent();
|
||||
$(this).remove();
|
||||
var li=form.parent();
|
||||
form.remove();
|
||||
li.append('<p>'+li.data('text')+'</p>');
|
||||
$('#new>a').click();
|
||||
});
|
||||
|
|
|
@ -1,28 +1,22 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"There is no error, the file uploaded with success" => "Файлът е качен успешно",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Файлът който се опитвате да качите надвишава стойностите в MAX_FILE_SIZE в HTML формата.",
|
||||
"The uploaded file was only partially uploaded" => "Файлът е качен частично",
|
||||
"No file was uploaded" => "Фахлът не бе качен",
|
||||
"Missing a temporary folder" => "Липсва временната папка",
|
||||
"Failed to write to disk" => "Грешка при запис на диска",
|
||||
"Missing a temporary folder" => "Липсва временна папка",
|
||||
"Files" => "Файлове",
|
||||
"Delete" => "Изтриване",
|
||||
"Upload Error" => "Грешка при качване",
|
||||
"Upload cancelled." => "Качването е отменено.",
|
||||
"Rename" => "Преименуване",
|
||||
"replace" => "препокриване",
|
||||
"cancel" => "отказ",
|
||||
"undo" => "възтановяване",
|
||||
"Upload cancelled." => "Качването е спряно.",
|
||||
"Name" => "Име",
|
||||
"Size" => "Размер",
|
||||
"Modified" => "Променено",
|
||||
"Maximum upload size" => "Макс. размер за качване",
|
||||
"0 is unlimited" => "0 означава без ограничение",
|
||||
"Maximum upload size" => "Максимален размер за качване",
|
||||
"0 is unlimited" => "Ползвайте 0 за без ограничения",
|
||||
"Save" => "Запис",
|
||||
"New" => "Нов",
|
||||
"Text file" => "Текстов файл",
|
||||
"New" => "Ново",
|
||||
"Folder" => "Папка",
|
||||
"Upload" => "Качване",
|
||||
"Cancel upload" => "Отказване на качването",
|
||||
"Nothing in here. Upload something!" => "Няма нищо, качете нещо!",
|
||||
"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." => "Файловете се претърсват, изчакайте."
|
||||
"Upload too large" => "Файлът който сте избрали за качване е прекалено голям"
|
||||
);
|
||||
|
|
|
@ -1,46 +1,71 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "%s কে স্থানান্তর করা সম্ভব হলো না - এই নামের ফাইল বিদ্যমান",
|
||||
"Could not move %s" => "%s কে স্থানান্তর করা সম্ভব হলো না",
|
||||
"Unable to rename file" => "ফাইলের নাম পরিবর্তন করা সম্ভব হলো না",
|
||||
"No file was uploaded. Unknown error" => "কোন ফাইল আপলোড করা হয় নি। সমস্যা অজ্ঞাত।",
|
||||
"There is no error, the file uploaded with success" => "কোন সমস্যা নেই, ফাইল আপলোড সুসম্পন্ন হয়েছে",
|
||||
"The uploaded file was only partially uploaded" => "আপলোড করা ফাইলটি আংশিক আপলোড হয়েছে",
|
||||
"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" => "ডিস্কে লিখতে পারা গেল না",
|
||||
"Missing a temporary folder" => "অস্থায়ী ফোল্ডার খোয়া গিয়েছে",
|
||||
"Failed to write to disk" => "ডিস্কে লিখতে ব্যর্থ",
|
||||
"Not enough space available" => "যথেষ্ঠ পরিমাণ স্থান নেই",
|
||||
"Invalid directory." => "ভুল ডিরেক্টরি",
|
||||
"Files" => "ফাইল",
|
||||
"Unshare" => "ভাগাভাগি বাতিল",
|
||||
"Unshare" => "ভাগাভাগি বাতিল ",
|
||||
"Delete" => "মুছে ফেল",
|
||||
"Rename" => "পূনঃনামকরণ",
|
||||
"{new_name} already exists" => "{new_name} টি বিদ্যমান",
|
||||
"replace" => "প্রতিস্থাপন",
|
||||
"suggest name" => "নাম সুপারিশ কর",
|
||||
"suggest name" => "নাম সুপারিশ করুন",
|
||||
"cancel" => "বাতিল",
|
||||
"replaced {new_name}" => "{new_name} প্রতিস্থাপন করা হয়েছে",
|
||||
"undo" => "ক্রিয়া প্রত্যাহার",
|
||||
"replaced {new_name} with {old_name}" => "{new_name} কে {old_name} নামে প্রতিস্থাপন করা হয়েছে",
|
||||
"unshared {files}" => "{files} ভাগাভাগি বাতিল কর",
|
||||
"deleted {files}" => "{files} মুছে ফেলা হয়েছে",
|
||||
"Upload Error" => "আপলোড করতে সমস্যা",
|
||||
"'.' is an invalid file name." => "টি একটি অননুমোদিত নাম।",
|
||||
"File name cannot be empty." => "ফাইলের নামটি ফাঁকা রাখা যাবে না।",
|
||||
"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" => "১ টি ফাইল আপলোড করা হচ্ছে",
|
||||
"Upload cancelled." => "আপলোড বাতিল করা হয়েছে ।",
|
||||
"1 file uploading" => "১টি ফাইল আপলোড করা হচ্ছে",
|
||||
"{count} files uploading" => "{count} টি ফাইল আপলোড করা হচ্ছে",
|
||||
"Upload cancelled." => "আপলোড বাতিল করা হয়েছে।",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।",
|
||||
"URL cannot be empty." => "URL ফাঁকা রাখা যাবে না।",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "ফোল্ডারের নামটি সঠিক নয়। 'ভাগাভাগি করা' শুধুমাত্র Owncloud এর জন্য সংরক্ষিত।",
|
||||
"{count} files scanned" => "{count} টি ফাইল স্ক্যান করা হয়েছে",
|
||||
"error while scanning" => "স্ক্যান করার সময় সমস্যা দেখা দিয়েছে",
|
||||
"Name" => "নাম",
|
||||
"Size" => "আকার",
|
||||
"Modified" => "পরিবর্তিত",
|
||||
"File handling" => "ফাইল হ্যান্ডলিং",
|
||||
"1 folder" => "১টি ফোল্ডার",
|
||||
"{count} folders" => "{count} টি ফোল্ডার",
|
||||
"1 file" => "১টি ফাইল",
|
||||
"{count} files" => "{count} টি ফাইল",
|
||||
"File handling" => "ফাইল হ্যার্ডলিং",
|
||||
"Maximum upload size" => "আপলোডের সর্বোচ্চ আকার",
|
||||
"max. possible: " => "সম্ভাব্য সর্বোচ্চঃ",
|
||||
"Needed for multi-file and folder downloads." => "একাধিক ফাইল এবং ফোল্ডার ডাউনলোড করার ক্ষেত্রে আবশ্যক।",
|
||||
"Enable ZIP-download" => "জিপ ডাউনলোড সক্রিয় কর",
|
||||
"0 is unlimited" => "০ এর অর্থ হলো অসীম",
|
||||
"Maximum input size for ZIP files" => "জিপ ফাইলের জন্য সর্বোচ্চ ইনপুট",
|
||||
"Save" => "সংরক্ষণ কর",
|
||||
"max. possible: " => "অনুমোদিত সর্বোচ্চ আকার",
|
||||
"Needed for multi-file and folder downloads." => "একাধিক ফাইল এবং ফোল্ডার ডাউনলোড করার জন্য আবশ্যক।",
|
||||
"Enable ZIP-download" => "ZIP ডাউনলোড সক্রিয় কর",
|
||||
"0 is unlimited" => "০ এর অর্থ অসীম",
|
||||
"Maximum input size for ZIP files" => "ZIP ফাইলের ইনপুটের সর্বোচ্চ আকার",
|
||||
"Save" => "সংরক্ষন কর",
|
||||
"New" => "নতুন",
|
||||
"Text file" => "টেক্সট ফাইল",
|
||||
"Folder" => "ফোল্ডার",
|
||||
"From link" => " লিংক থেকে",
|
||||
"Upload" => "আপলোড",
|
||||
"Cancel upload" => "আপলোড বাতিল কর",
|
||||
"Nothing in here. Upload something!" => "এখানে কোন কিছুই নেই। কিছু আপলোড করুন !",
|
||||
"Nothing in here. Upload something!" => "এখানে কিছুই নেই। কিছু আপলোড করুন !",
|
||||
"Download" => "ডাউনলোড",
|
||||
"Upload too large" => "আপলোডের আকার অনেক বড়",
|
||||
"Files are being scanned, please wait." => "ফাইল স্ক্যান করা হচ্ছে, দয়া করে অপেক্ষা করুন।",
|
||||
"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" => "বর্তমান স্ক্যানিং"
|
||||
);
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "No s'ha pogut moure %s - Ja hi ha un fitxer amb aquest nom",
|
||||
"Could not move %s" => " No s'ha pogut moure %s",
|
||||
"Unable to rename file" => "No es pot canviar el nom del fitxer",
|
||||
"No file was uploaded. Unknown error" => "No s'ha carregat cap fitxer. Error desconegut",
|
||||
"There is no error, the file uploaded with success" => "El fitxer s'ha pujat correctament",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "L’arxiu que voleu carregar supera el màxim definit en la directiva upload_max_filesize del php.ini:",
|
||||
|
@ -22,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "s'ha substituït {old_name} per {new_name}",
|
||||
"unshared {files}" => "no compartits {files}",
|
||||
"deleted {files}" => "eliminats {files}",
|
||||
"'.' is an invalid file name." => "'.' és un nom no vàlid per un fitxer.",
|
||||
"File name cannot be empty." => "El nom del fitxer no pot ser buit.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no estan permesos.",
|
||||
"generating ZIP-file, it may take some time." => "s'estan generant fitxers ZIP, pot trigar una estona.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "No es pot pujar el fitxer perquè és una carpeta o té 0 bytes",
|
||||
|
@ -32,7 +37,8 @@
|
|||
"{count} files uploading" => "{count} fitxers en pujada",
|
||||
"Upload cancelled." => "La pujada s'ha cancel·lat.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "El nom de la carpeta no és vàlid. L'ús de \"Compartit\" està reservat per a OwnCloud",
|
||||
"URL cannot be empty." => "La URL no pot ser buida",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nom de carpeta no vàlid. L'ús de 'Shared' està reservat per Owncloud",
|
||||
"{count} files scanned" => "{count} fitxers escannejats",
|
||||
"error while scanning" => "error durant l'escaneig",
|
||||
"Name" => "Nom",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Nelze přesunout %s - existuje soubor se stejným názvem",
|
||||
"Could not move %s" => "Nelze přesunout %s",
|
||||
"Unable to rename file" => "Nelze přejmenovat soubor",
|
||||
"No file was uploaded. Unknown error" => "Soubor nebyl odeslán. Neznámá chyba",
|
||||
"There is no error, the file uploaded with success" => "Soubor byl odeslán úspěšně",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Odesílaný soubor přesahuje velikost upload_max_filesize povolenou v php.ini:",
|
||||
|
@ -7,6 +10,8 @@
|
|||
"No file was uploaded" => "Žádný soubor nebyl odeslán",
|
||||
"Missing a temporary folder" => "Chybí adresář pro dočasné soubory",
|
||||
"Failed to write to disk" => "Zápis na disk selhal",
|
||||
"Not enough space available" => "Nedostatek dostupného místa",
|
||||
"Invalid directory." => "Neplatný adresář",
|
||||
"Files" => "Soubory",
|
||||
"Unshare" => "Zrušit sdílení",
|
||||
"Delete" => "Smazat",
|
||||
|
@ -20,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "nahrazeno {new_name} s {old_name}",
|
||||
"unshared {files}" => "sdílení zrušeno pro {files}",
|
||||
"deleted {files}" => "smazáno {files}",
|
||||
"'.' is an invalid file name." => "'.' je neplatným názvem souboru.",
|
||||
"File name cannot be empty." => "Název souboru nemůže být prázdný řetězec.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny.",
|
||||
"generating ZIP-file, it may take some time." => "generuji ZIP soubor, může to nějakou dobu trvat.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Nelze odeslat Váš soubor, protože je to adresář nebo má velikost 0 bajtů",
|
||||
|
@ -30,7 +37,8 @@
|
|||
"{count} files uploading" => "odesílám {count} souborů",
|
||||
"Upload cancelled." => "Odesílání zrušeno.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Probíhá odesílání souboru. Opuštění stránky vyústí ve zrušení nahrávání.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Neplatný název složky. Použití názvu \"Shared\" je rezervováno pro interní úžití službou Owncloud.",
|
||||
"URL cannot be empty." => "URL nemůže být prázdná",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Neplatný název složky. Použití 'Shared' je rezervováno pro vnitřní potřeby Owncloud",
|
||||
"{count} files scanned" => "prozkoumáno {count} souborů",
|
||||
"error while scanning" => "chyba při prohledávání",
|
||||
"Name" => "Název",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{count} files uploading" => "{count} filer uploades",
|
||||
"Upload cancelled." => "Upload afbrudt.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ugyldigt mappenavn. Brug af \"Shared\" er forbeholdt Owncloud",
|
||||
"URL cannot be empty." => "URLen kan ikke være tom.",
|
||||
"{count} files scanned" => "{count} filer skannet",
|
||||
"error while scanning" => "fejl under scanning",
|
||||
"Name" => "Navn",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Konnte %s nicht verschieben - Datei mit diesem Namen existiert bereits.",
|
||||
"Could not move %s" => "Konnte %s nicht verschieben",
|
||||
"Unable to rename file" => "Konnte Datei nicht umbenennen",
|
||||
"No file was uploaded. Unknown error" => "Keine Datei hochgeladen. Unbekannter Fehler",
|
||||
"There is no error, the file uploaded with success" => "Datei fehlerfrei hochgeladen.",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini",
|
||||
|
@ -8,7 +11,7 @@
|
|||
"Missing a temporary folder" => "Temporärer Ordner fehlt.",
|
||||
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
|
||||
"Not enough space available" => "Nicht genug Speicherplatz verfügbar",
|
||||
"Invalid directory." => "Ungültiges Verzeichnis.",
|
||||
"Invalid directory." => "Ungültiges Verzeichnis",
|
||||
"Files" => "Dateien",
|
||||
"Unshare" => "Nicht mehr freigeben",
|
||||
"Delete" => "Löschen",
|
||||
|
@ -22,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "{old_name} ersetzt durch {new_name}",
|
||||
"unshared {files}" => "Freigabe von {files} aufgehoben",
|
||||
"deleted {files}" => "{files} gelöscht",
|
||||
"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname",
|
||||
"File name cannot be empty." => "Der Dateiname darf nicht leer sein",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.",
|
||||
"generating ZIP-file, it may take some time." => "Erstelle ZIP-Datei. Dies kann eine Weile dauern.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Deine Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist.",
|
||||
|
@ -32,7 +37,8 @@
|
|||
"{count} files uploading" => "{count} Dateien werden hochgeladen",
|
||||
"Upload cancelled." => "Upload abgebrochen.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Dateiupload läuft. Wenn Du die Seite jetzt verlässt, wird der Upload abgebrochen.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ungültiger Ordnername. Die Verwendung von \"Shared\" ist ownCloud vorbehalten.",
|
||||
"URL cannot be empty." => "Die URL darf nicht leer sein",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ungültiger Verzeichnisname. Die Nutzung von \"Shared\" ist ownCloud vorbehalten.",
|
||||
"{count} files scanned" => "{count} Dateien wurden gescannt",
|
||||
"error while scanning" => "Fehler beim Scannen",
|
||||
"Name" => "Name",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Konnte %s nicht verschieben - Datei mit diesem Namen existiert bereits",
|
||||
"Could not move %s" => "Konnte %s nicht verschieben",
|
||||
"Unable to rename file" => "Konnte Datei nicht umbenennen",
|
||||
"No file was uploaded. Unknown error" => "Keine Datei hochgeladen. Unbekannter Fehler",
|
||||
"There is no error, the file uploaded with success" => "Es sind keine Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini",
|
||||
|
@ -7,7 +10,7 @@
|
|||
"No file was uploaded" => "Es wurde keine Datei hochgeladen.",
|
||||
"Missing a temporary folder" => "Der temporäre Ordner fehlt.",
|
||||
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
|
||||
"Not enough space available" => "Nicht genug Speicher verfügbar",
|
||||
"Not enough space available" => "Nicht genügend Speicherplatz verfügbar",
|
||||
"Invalid directory." => "Ungültiges Verzeichnis.",
|
||||
"Files" => "Dateien",
|
||||
"Unshare" => "Nicht mehr freigeben",
|
||||
|
@ -22,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "{old_name} wurde ersetzt durch {new_name}",
|
||||
"unshared {files}" => "Freigabe für {files} beendet",
|
||||
"deleted {files}" => "{files} gelöscht",
|
||||
"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.",
|
||||
"File name cannot be empty." => "Der Dateiname darf nicht leer sein.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.",
|
||||
"generating ZIP-file, it may take some time." => "Erstelle ZIP-Datei. Dies kann eine Weile dauern.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Ihre Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist.",
|
||||
|
@ -32,7 +37,8 @@
|
|||
"{count} files uploading" => "{count} Dateien wurden hochgeladen",
|
||||
"Upload cancelled." => "Upload abgebrochen.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Der Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ungültiger Ordnername. Die Verwendung von \"Shared\" ist ownCloud vorbehalten.",
|
||||
"URL cannot be empty." => "Die URL darf nicht leer sein.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ungültiger Verzeichnisname. Die Nutzung von \"Shared\" ist ownCloud vorbehalten",
|
||||
"{count} files scanned" => "{count} Dateien wurden gescannt",
|
||||
"error while scanning" => "Fehler beim Scannen",
|
||||
"Name" => "Name",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{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",
|
||||
"URL cannot be empty." => "Η URL δεν πρέπει να είναι κενή.",
|
||||
"{count} files scanned" => "{count} αρχεία ανιχνεύτηκαν",
|
||||
"error while scanning" => "σφάλμα κατά την ανίχνευση",
|
||||
"Name" => "Όνομα",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{count} files uploading" => "{count} dosieroj alŝutatas",
|
||||
"Upload cancelled." => "La alŝuto nuliĝis.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Dosieralŝuto plenumiĝas. Lasi la paĝon nun nuligus la alŝuton.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nevalida nomo de dosierujo. Uzo de “Shared” rezervitas de Owncloud",
|
||||
"URL cannot be empty." => "URL ne povas esti malplena.",
|
||||
"{count} files scanned" => "{count} dosieroj skaniĝis",
|
||||
"error while scanning" => "eraro dum skano",
|
||||
"Name" => "Nomo",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "No se puede mover %s - Ya existe un archivo con ese nombre",
|
||||
"Could not move %s" => "No se puede mover %s",
|
||||
"Unable to rename file" => "No se puede renombrar el archivo",
|
||||
"No file was uploaded. Unknown error" => "Fallo no se subió el fichero",
|
||||
"There is no error, the file uploaded with success" => "No se ha producido ningún error, el archivo se ha subido con éxito",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "El archivo que intentas subir sobrepasa el tamaño definido por la variable upload_max_filesize en php.ini",
|
||||
|
@ -22,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}",
|
||||
"unshared {files}" => "{files} descompartidos",
|
||||
"deleted {files}" => "{files} eliminados",
|
||||
"'.' is an invalid file name." => "'.' es un nombre de archivo inválido.",
|
||||
"File name cannot be empty." => "El nombre de archivo no puede estar vacío.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre Invalido, \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ",
|
||||
"generating ZIP-file, it may take some time." => "generando un fichero ZIP, puede llevar un tiempo.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "No ha sido posible subir tu archivo porque es un directorio o tiene 0 bytes",
|
||||
|
@ -32,7 +37,7 @@
|
|||
"{count} files uploading" => "Subiendo {count} archivos",
|
||||
"Upload cancelled." => "Subida cancelada.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Salir de la página ahora cancelará la subida.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nombre de la carpeta invalido. El uso de \"Shared\" esta reservado para Owncloud",
|
||||
"URL cannot be empty." => "La URL no puede estar vacía.",
|
||||
"{count} files scanned" => "{count} archivos escaneados",
|
||||
"error while scanning" => "error escaneando",
|
||||
"Name" => "Nombre",
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
"{count} files uploading" => "Subiendo {count} archivos",
|
||||
"Upload cancelled." => "La subida fue cancelada",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nombre del directorio inválido. Usar \"Shared\" está reservado por ownCloud.",
|
||||
"URL cannot be empty." => "La URL no puede estar vacía",
|
||||
"{count} files scanned" => "{count} archivos escaneados",
|
||||
"error while scanning" => "error mientras se escaneaba",
|
||||
"Name" => "Nombre",
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
"{count} files uploading" => "{count} faili üleslaadimist",
|
||||
"Upload cancelled." => "Üleslaadimine tühistati.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Vigane kausta nimi. Nime \"Jagatud\" kasutamine on Owncloudi poolt broneeritud ",
|
||||
"URL cannot be empty." => "URL ei saa olla tühi.",
|
||||
"{count} files scanned" => "{count} faili skännitud",
|
||||
"error while scanning" => "viga skännimisel",
|
||||
"Name" => "Nimi",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{count} files uploading" => "{count} fitxategi igotzen",
|
||||
"Upload cancelled." => "Igoera ezeztatuta",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Karpeta izen baliogabea. \"Shared\" karpetaren erabilera Owncloudek erreserbatuta dauka",
|
||||
"URL cannot be empty." => "URLa ezin da hutsik egon.",
|
||||
"{count} files scanned" => "{count} fitxategi eskaneatuta",
|
||||
"error while scanning" => "errore bat egon da eskaneatzen zen bitartean",
|
||||
"Name" => "Izena",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Kohteen %s siirto ei onnistunut - Tiedosto samalla nimellä on jo olemassa",
|
||||
"Could not move %s" => "Kohteen %s siirto ei onnistunut",
|
||||
"Unable to rename file" => "Tiedoston nimeäminen uudelleen ei onnistunut",
|
||||
"No file was uploaded. Unknown error" => "Tiedostoa ei lähetetty. Tuntematon virhe",
|
||||
"There is no error, the file uploaded with success" => "Ei virheitä, tiedosto lähetettiin onnistuneesti",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Lähetetty tiedosto ylittää HTML-lomakkeessa määritetyn MAX_FILE_SIZE-arvon ylärajan",
|
||||
|
@ -17,6 +20,8 @@
|
|||
"suggest name" => "ehdota nimeä",
|
||||
"cancel" => "peru",
|
||||
"undo" => "kumoa",
|
||||
"'.' is an invalid file name." => "'.' on virheellinen nimi tiedostolle.",
|
||||
"File name cannot be empty." => "Tiedoston nimi ei voi olla tyhjä.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Virheellinen nimi, merkit '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' eivät ole sallittuja.",
|
||||
"generating ZIP-file, it may take some time." => "luodaan ZIP-tiedostoa, tämä saattaa kestää hetken.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Tiedoston lähetys epäonnistui, koska sen koko on 0 tavua tai kyseessä on kansio",
|
||||
|
@ -25,6 +30,7 @@
|
|||
"Pending" => "Odottaa",
|
||||
"Upload cancelled." => "Lähetys peruttu.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen.",
|
||||
"URL cannot be empty." => "Verkko-osoite ei voi olla tyhjä",
|
||||
"Name" => "Nimi",
|
||||
"Size" => "Koko",
|
||||
"Modified" => "Muutettu",
|
||||
|
@ -43,6 +49,7 @@
|
|||
"New" => "Uusi",
|
||||
"Text file" => "Tekstitiedosto",
|
||||
"Folder" => "Kansio",
|
||||
"From link" => "Linkistä",
|
||||
"Upload" => "Lähetä",
|
||||
"Cancel upload" => "Peru lähetys",
|
||||
"Nothing in here. Upload something!" => "Täällä ei ole mitään. Lähetä tänne jotakin!",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Impossible de déplacer %s - Un fichier possédant ce nom existe déjà",
|
||||
"Could not move %s" => "Impossible de déplacer %s",
|
||||
"Unable to rename file" => "Impossible de renommer le fichier",
|
||||
"No file was uploaded. Unknown error" => "Aucun fichier n'a été chargé. Erreur inconnue",
|
||||
"There is no error, the file uploaded with success" => "Aucune erreur, le fichier a été téléversé avec succès",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Le fichier envoyé dépasse la valeur upload_max_filesize située dans le fichier php.ini:",
|
||||
|
@ -7,6 +10,8 @@
|
|||
"No file was uploaded" => "Aucun fichier n'a été téléversé",
|
||||
"Missing a temporary folder" => "Il manque un répertoire temporaire",
|
||||
"Failed to write to disk" => "Erreur d'écriture sur le disque",
|
||||
"Not enough space available" => "Espace disponible insuffisant",
|
||||
"Invalid directory." => "Dossier invalide.",
|
||||
"Files" => "Fichiers",
|
||||
"Unshare" => "Ne plus partager",
|
||||
"Delete" => "Supprimer",
|
||||
|
@ -20,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "{new_name} a été remplacé par {old_name}",
|
||||
"unshared {files}" => "Fichiers non partagés : {files}",
|
||||
"deleted {files}" => "Fichiers supprimés : {files}",
|
||||
"'.' is an invalid file name." => "'.' n'est pas un nom de fichier valide.",
|
||||
"File name cannot be empty." => "Le nom de fichier ne peut être vide.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés.",
|
||||
"generating ZIP-file, it may take some time." => "Fichier ZIP en cours d'assemblage ; cela peut prendre du temps.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossible de charger vos fichiers car il s'agit d'un dossier ou le fichier fait 0 octet.",
|
||||
|
@ -30,7 +37,8 @@
|
|||
"{count} files uploading" => "{count} fichiers téléversés",
|
||||
"Upload cancelled." => "Chargement annulé.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nom de répertoire invalide. \"Shared\" est réservé par ownCloud",
|
||||
"URL cannot be empty." => "L'URL ne peut-être vide",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nom de dossier invalide. L'utilisation du mot 'Shared' est réservée à Owncloud",
|
||||
"{count} files scanned" => "{count} fichiers indexés",
|
||||
"error while scanning" => "erreur lors de l'indexation",
|
||||
"Name" => "Nom",
|
||||
|
@ -55,7 +63,7 @@
|
|||
"Upload" => "Envoyer",
|
||||
"Cancel upload" => "Annuler l'envoi",
|
||||
"Nothing in here. Upload something!" => "Il n'y a rien ici ! Envoyez donc quelque chose :)",
|
||||
"Download" => "Téléchargement",
|
||||
"Download" => "Télécharger",
|
||||
"Upload too large" => "Fichier trop volumineux",
|
||||
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Les fichiers que vous essayez d'envoyer dépassent la taille maximale permise par ce serveur.",
|
||||
"Files are being scanned, please wait." => "Les fichiers sont en cours d'analyse, veuillez patienter.",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Non se moveu %s - Xa existe un ficheiro con ese nome.",
|
||||
"Could not move %s" => "Non se puido mover %s",
|
||||
"Unable to rename file" => "Non se pode renomear o ficheiro",
|
||||
"No file was uploaded. Unknown error" => "Non se subiu ningún ficheiro. Erro descoñecido.",
|
||||
"There is no error, the file uploaded with success" => "Non hai erros. O ficheiro enviouse correctamente",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "O ficheiro subido excede a directiva indicada polo tamaño_máximo_de_subida de php.ini",
|
||||
|
@ -7,6 +10,8 @@
|
|||
"No file was uploaded" => "Non se enviou ningún ficheiro",
|
||||
"Missing a temporary folder" => "Falta un cartafol temporal",
|
||||
"Failed to write to disk" => "Erro ao escribir no disco",
|
||||
"Not enough space available" => "O espazo dispoñíbel é insuficiente",
|
||||
"Invalid directory." => "O directorio é incorrecto.",
|
||||
"Files" => "Ficheiros",
|
||||
"Unshare" => "Deixar de compartir",
|
||||
"Delete" => "Eliminar",
|
||||
|
@ -20,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "substituír {new_name} polo {old_name}",
|
||||
"unshared {files}" => "{files} sen compartir",
|
||||
"deleted {files}" => "{files} eliminados",
|
||||
"'.' is an invalid file name." => "'.' é un nonme de ficheiro non válido",
|
||||
"File name cannot be empty." => "O nome de ficheiro non pode estar baldeiro",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non válido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non se permiten.",
|
||||
"generating ZIP-file, it may take some time." => "xerando un ficheiro ZIP, o que pode levar un anaco.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Non se puido subir o ficheiro pois ou é un directorio ou ten 0 bytes",
|
||||
|
@ -30,7 +37,8 @@
|
|||
"{count} files uploading" => "{count} ficheiros subíndose",
|
||||
"Upload cancelled." => "Subida cancelada.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "A subida do ficheiro está en curso. Saír agora da páxina cancelará a subida.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nome de cartafol non válido. O uso de \"compartido\" está reservado exclusivamente para ownCloud",
|
||||
"URL cannot be empty." => "URL non pode quedar baleiro.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome de cartafol non válido. O uso de 'Shared' está reservado por Owncloud",
|
||||
"{count} files scanned" => "{count} ficheiros escaneados",
|
||||
"error while scanning" => "erro mentres analizaba",
|
||||
"Name" => "Nome",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{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",
|
||||
"URL cannot be empty." => "קישור אינו יכול להיות ריק.",
|
||||
"{count} files scanned" => "{count} קבצים נסרקו",
|
||||
"error while scanning" => "אירעה שגיאה במהלך הסריקה",
|
||||
"Name" => "שם",
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
"No file was uploaded" => "Nem töltődött fel semmi",
|
||||
"Missing a temporary folder" => "Hiányzik egy ideiglenes mappa",
|
||||
"Failed to write to disk" => "Nem sikerült a lemezre történő írás",
|
||||
"Not enough space available" => "Nincs elég szabad hely",
|
||||
"Invalid directory." => "Érvénytelen mappa.",
|
||||
"Files" => "Fájlok",
|
||||
"Unshare" => "Megosztás visszavonása",
|
||||
"Delete" => "Törlés",
|
||||
|
@ -20,6 +22,8 @@
|
|||
"replaced {new_name} with {old_name}" => "{new_name} fájlt kicseréltük ezzel: {old_name}",
|
||||
"unshared {files}" => "{files} fájl megosztása visszavonva",
|
||||
"deleted {files}" => "{files} fájl törölve",
|
||||
"'.' is an invalid file name." => "'.' fájlnév érvénytelen.",
|
||||
"File name cannot be empty." => "A fájlnév nem lehet semmi.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'",
|
||||
"generating ZIP-file, it may take some time." => "ZIP-fájl generálása, ez eltarthat egy ideig.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Nem tölthető fel, mert mappa volt, vagy 0 byte méretű",
|
||||
|
@ -30,7 +34,7 @@
|
|||
"{count} files uploading" => "{count} fájl töltődik föl",
|
||||
"Upload cancelled." => "A feltöltést megszakítottuk.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Érvénytelen mappanév. A \"Shared\" elnevezést az Owncloud rendszer használja.",
|
||||
"URL cannot be empty." => "Az URL nem lehet semmi.",
|
||||
"{count} files scanned" => "{count} fájlt találtunk",
|
||||
"error while scanning" => "Hiba a fájllista-ellenőrzés során",
|
||||
"Name" => "Név",
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
"Close" => "tutup",
|
||||
"Pending" => "Menunggu",
|
||||
"Upload cancelled." => "Pengunggahan dibatalkan.",
|
||||
"URL cannot be empty." => "tautan tidak boleh kosong",
|
||||
"Name" => "Nama",
|
||||
"Size" => "Ukuran",
|
||||
"Modified" => "Dimodifikasi",
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Gat ekki fært %s - Skrá með þessu nafni er þegar til",
|
||||
"Could not move %s" => "Gat ekki fært %s",
|
||||
"Unable to rename file" => "Gat ekki endurskýrt skrá",
|
||||
"No file was uploaded. Unknown error" => "Engin skrá var send inn. Óþekkt villa.",
|
||||
"There is no error, the file uploaded with success" => "Engin villa, innsending heppnaðist",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Innsend skrá er stærri en upload_max stillingin í php.ini:",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Innsenda skráin er stærri en MAX_FILE_SIZE sem skilgreint er í HTML sniðinu.",
|
||||
|
@ -6,6 +10,8 @@
|
|||
"No file was uploaded" => "Engin skrá skilaði sér",
|
||||
"Missing a temporary folder" => "Vantar bráðabirgðamöppu",
|
||||
"Failed to write to disk" => "Tókst ekki að skrifa á disk",
|
||||
"Not enough space available" => "Ekki nægt pláss tiltækt",
|
||||
"Invalid directory." => "Ógild mappa.",
|
||||
"Files" => "Skrár",
|
||||
"Unshare" => "Hætta deilingu",
|
||||
"Delete" => "Eyða",
|
||||
|
@ -19,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "yfirskrifaði {new_name} með {old_name}",
|
||||
"unshared {files}" => "Hætti við deilingu á {files}",
|
||||
"deleted {files}" => "eyddi {files}",
|
||||
"'.' is an invalid file name." => "'.' er ekki leyfilegt nafn.",
|
||||
"File name cannot be empty." => "Nafn skráar má ekki vera tómt",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ógilt nafn, táknin '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' eru ekki leyfð.",
|
||||
"generating ZIP-file, it may take some time." => "bý til ZIP skrá, það gæti tekið smá stund.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Innsending á skrá mistókst, hugsanlega sendir þú möppu eða skráin er 0 bæti.",
|
||||
|
@ -29,7 +37,8 @@
|
|||
"{count} files uploading" => "{count} skrár innsendar",
|
||||
"Upload cancelled." => "Hætt við innsendingu.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ógilt nafn á möppu. Nafnið \"Shared\" er frátekið fyrir ownCloud.",
|
||||
"URL cannot be empty." => "Vefslóð má ekki vera tóm.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Óleyfilegt nafn á möppu. Nafnið 'Shared' er frátekið fyrir Owncloud",
|
||||
"{count} files scanned" => "{count} skrár skimaðar",
|
||||
"error while scanning" => "villa við skimun",
|
||||
"Name" => "Nafn",
|
||||
|
@ -53,9 +62,9 @@
|
|||
"From link" => "Af tengli",
|
||||
"Upload" => "Senda inn",
|
||||
"Cancel upload" => "Hætta við innsendingu",
|
||||
"Nothing in here. Upload something!" => "Ekkert hér. Sendu eitthvað inn!",
|
||||
"Nothing in here. Upload something!" => "Ekkert hér. Settu eitthvað inn!",
|
||||
"Download" => "Niðurhal",
|
||||
"Upload too large" => "Innsend skrá of stór",
|
||||
"Upload too large" => "Innsend skrá er of stór",
|
||||
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.",
|
||||
"Files are being scanned, please wait." => "Verið er að skima skrár, vinsamlegast hinkraðu.",
|
||||
"Current scanning" => "Er að skima"
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Impossibile spostare %s - un file con questo nome esiste già",
|
||||
"Could not move %s" => "Impossibile spostare %s",
|
||||
"Unable to rename file" => "Impossibile rinominare il file",
|
||||
"No file was uploaded. Unknown error" => "Nessun file è stato inviato. Errore sconosciuto",
|
||||
"There is no error, the file uploaded with success" => "Non ci sono errori, file caricato con successo",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Il file caricato supera la direttiva upload_max_filesize in php.ini:",
|
||||
|
@ -22,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "sostituito {new_name} con {old_name}",
|
||||
"unshared {files}" => "non condivisi {files}",
|
||||
"deleted {files}" => "eliminati {files}",
|
||||
"'.' is an invalid file name." => "'.' non è un nome file valido.",
|
||||
"File name cannot be empty." => "Il nome del file non può essere vuoto.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non valido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non sono consentiti.",
|
||||
"generating ZIP-file, it may take some time." => "creazione file ZIP, potrebbe richiedere del tempo.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossibile inviare il file poiché è una cartella o ha dimensione 0 byte",
|
||||
|
@ -32,7 +37,8 @@
|
|||
"{count} files uploading" => "{count} file in fase di caricamentoe",
|
||||
"Upload cancelled." => "Invio annullato",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nome della cartella non valido. L'uso di \"Shared\" è riservato a ownCloud",
|
||||
"URL cannot be empty." => "L'URL non può essere vuoto.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome della cartella non valido. L'uso di 'Shared' è riservato da ownCloud",
|
||||
"{count} files scanned" => "{count} file analizzati",
|
||||
"error while scanning" => "errore durante la scansione",
|
||||
"Name" => "Nome",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "%s を移動できませんでした ― この名前のファイルはすでに存在します",
|
||||
"Could not move %s" => "%s を移動できませんでした",
|
||||
"Unable to rename file" => "ファイル名の変更ができません",
|
||||
"No file was uploaded. Unknown error" => "ファイルは何もアップロードされていません。不明なエラー",
|
||||
"There is no error, the file uploaded with success" => "エラーはありません。ファイルのアップロードは成功しました",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "アップロードされたファイルはphp.ini の upload_max_filesize に設定されたサイズを超えています:",
|
||||
|
@ -7,6 +10,8 @@
|
|||
"No file was uploaded" => "ファイルはアップロードされませんでした",
|
||||
"Missing a temporary folder" => "テンポラリフォルダが見つかりません",
|
||||
"Failed to write to disk" => "ディスクへの書き込みに失敗しました",
|
||||
"Not enough space available" => "利用可能なスペースが十分にありません",
|
||||
"Invalid directory." => "無効なディレクトリです。",
|
||||
"Files" => "ファイル",
|
||||
"Unshare" => "共有しない",
|
||||
"Delete" => "削除",
|
||||
|
@ -20,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "{old_name} を {new_name} に置換",
|
||||
"unshared {files}" => "未共有 {files}",
|
||||
"deleted {files}" => "削除 {files}",
|
||||
"'.' is an invalid file name." => "'.' は無効なファイル名です。",
|
||||
"File name cannot be empty." => "ファイル名を空にすることはできません。",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "無効な名前、'\\', '/', '<', '>', ':', '\"', '|', '?', '*' は使用できません。",
|
||||
"generating ZIP-file, it may take some time." => "ZIPファイルを生成中です、しばらくお待ちください。",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "ディレクトリもしくは0バイトのファイルはアップロードできません",
|
||||
|
@ -30,7 +37,8 @@
|
|||
"{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 が予約済みです。",
|
||||
"URL cannot be empty." => "URLは空にできません。",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "無効なフォルダ名です。'Shared' の利用は ownCloud が予約済みです。",
|
||||
"{count} files scanned" => "{count} ファイルをスキャン",
|
||||
"error while scanning" => "スキャン中のエラー",
|
||||
"Name" => "名前",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "%s 항목을 이동시키지 못하였음 - 파일 이름이 이미 존재함",
|
||||
"Could not move %s" => "%s 항목을 이딩시키지 못하였음",
|
||||
"Unable to rename file" => "파일 이름바꾸기 할 수 없음",
|
||||
"No file was uploaded. Unknown error" => "파일이 업로드되지 않았습니다. 알 수 없는 오류입니다",
|
||||
"There is no error, the file uploaded with success" => "업로드에 성공하였습니다.",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "업로드한 파일이 php.ini의 upload_max_filesize보다 큽니다:",
|
||||
|
@ -7,6 +10,8 @@
|
|||
"No file was uploaded" => "업로드된 파일 없음",
|
||||
"Missing a temporary folder" => "임시 폴더가 사라짐",
|
||||
"Failed to write to disk" => "디스크에 쓰지 못했습니다",
|
||||
"Not enough space available" => "여유공간이 부족합니다",
|
||||
"Invalid directory." => "올바르지 않은 디렉토리입니다.",
|
||||
"Files" => "파일",
|
||||
"Unshare" => "공유 해제",
|
||||
"Delete" => "삭제",
|
||||
|
@ -20,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "{old_name}이(가) {new_name}(으)로 대체됨",
|
||||
"unshared {files}" => "{files} 공유 해제됨",
|
||||
"deleted {files}" => "{files} 삭제됨",
|
||||
"'.' is an invalid file name." => "'.' 는 올바르지 않은 파일 이름 입니다.",
|
||||
"File name cannot be empty." => "파일이름은 공란이 될 수 없습니다.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "폴더 이름이 올바르지 않습니다. 이름에 문자 '\\', '/', '<', '>', ':', '\"', '|', '? ', '*'는 사용할 수 없습니다.",
|
||||
"generating ZIP-file, it may take some time." => "ZIP 파일을 생성하고 있습니다. 시간이 걸릴 수도 있습니다.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "이 파일은 디렉터리이거나 비어 있기 때문에 업로드할 수 없습니다",
|
||||
|
@ -30,7 +37,8 @@
|
|||
"{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에서 예약되었습니다.",
|
||||
"URL cannot be empty." => "URL을 입력해야 합니다.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "폴더 이름이 유효하지 않습니다. ",
|
||||
"{count} files scanned" => "파일 {count}개 검색됨",
|
||||
"error while scanning" => "검색 중 오류 발생",
|
||||
"Name" => "이름",
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Close" => "داخستن",
|
||||
"URL cannot be empty." => "ناونیشانی بهستهر نابێت بهتاڵ بێت.",
|
||||
"Name" => "ناو",
|
||||
"Save" => "پاشکهوتکردن",
|
||||
"Folder" => "بوخچه",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{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",
|
||||
"URL cannot be empty." => "Адресата неможе да биде празна.",
|
||||
"{count} files scanned" => "{count} датотеки скенирани",
|
||||
"error while scanning" => "грешка при скенирање",
|
||||
"Name" => "Име",
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
"{count} files uploading" => "{count} filer laster opp",
|
||||
"Upload cancelled." => "Opplasting avbrutt.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ugyldig mappenavn. Bruk av \"Shared\" er reservert av ownCloud.",
|
||||
"URL cannot be empty." => "URL-en kan ikke være tom.",
|
||||
"{count} files scanned" => "{count} filer lest inn",
|
||||
"error while scanning" => "feil under skanning",
|
||||
"Name" => "Navn",
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
"No file was uploaded" => "Geen bestand geüpload",
|
||||
"Missing a temporary folder" => "Een tijdelijke map mist",
|
||||
"Failed to write to disk" => "Schrijven naar schijf mislukt",
|
||||
"Not enough space available" => "Niet genoeg ruimte beschikbaar",
|
||||
"Invalid directory." => "Ongeldige directory.",
|
||||
"Files" => "Bestanden",
|
||||
"Unshare" => "Stop delen",
|
||||
"Delete" => "Verwijder",
|
||||
|
@ -20,6 +22,8 @@
|
|||
"replaced {new_name} with {old_name}" => "verving {new_name} met {old_name}",
|
||||
"unshared {files}" => "delen gestopt {files}",
|
||||
"deleted {files}" => "verwijderde {files}",
|
||||
"'.' is an invalid file name." => "'.' is een ongeldige bestandsnaam.",
|
||||
"File name cannot be empty." => "Bestandsnaam kan niet leeg zijn.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Onjuiste naam; '\\', '/', '<', '>', ':', '\"', '|', '?' en '*' zijn niet toegestaan.",
|
||||
"generating ZIP-file, it may take some time." => "aanmaken ZIP-file, dit kan enige tijd duren.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "uploaden van de file mislukt, het is of een directory of de bestandsgrootte is 0 bytes",
|
||||
|
@ -30,7 +34,7 @@
|
|||
"{count} files uploading" => "{count} bestanden aan het uploaden",
|
||||
"Upload cancelled." => "Uploaden geannuleerd.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Folder naam niet toegestaan. Het gebruik van \"Shared\" is aan Owncloud voorbehouden",
|
||||
"URL cannot be empty." => "URL kan niet leeg zijn.",
|
||||
"{count} files scanned" => "{count} bestanden gescanned",
|
||||
"error while scanning" => "Fout tijdens het scannen",
|
||||
"Name" => "Naam",
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
"No file was uploaded" => "Nie przesłano żadnego pliku",
|
||||
"Missing a temporary folder" => "Brak katalogu tymczasowego",
|
||||
"Failed to write to disk" => "Błąd zapisu na dysk",
|
||||
"Not enough space available" => "Za mało miejsca",
|
||||
"Invalid directory." => "Zła ścieżka.",
|
||||
"Files" => "Pliki",
|
||||
"Unshare" => "Nie udostępniaj",
|
||||
"Delete" => "Usuwa element",
|
||||
|
@ -20,6 +22,8 @@
|
|||
"replaced {new_name} with {old_name}" => "zastąpiony {new_name} z {old_name}",
|
||||
"unshared {files}" => "Udostępniane wstrzymane {files}",
|
||||
"deleted {files}" => "usunięto {files}",
|
||||
"'.' is an invalid file name." => "'.' jest nieprawidłową nazwą pliku.",
|
||||
"File name cannot be empty." => "Nazwa pliku nie może być pusta.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Niepoprawna nazwa, Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*'są niedozwolone.",
|
||||
"generating ZIP-file, it may take some time." => "Generowanie pliku ZIP, może potrwać pewien czas.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Nie można wczytać pliku jeśli jest katalogiem lub ma 0 bajtów",
|
||||
|
@ -30,7 +34,8 @@
|
|||
"{count} files uploading" => "{count} przesyłanie plików",
|
||||
"Upload cancelled." => "Wczytywanie anulowane.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Wysyłanie pliku jest w toku. Teraz opuszczając stronę wysyłanie zostanie anulowane.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Błędna nazwa folderu. Nazwa \"Shared\" jest zarezerwowana dla Owncloud",
|
||||
"URL cannot be empty." => "URL nie może być pusty.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nazwa folderu nieprawidłowa. Wykorzystanie \"Shared\" jest zarezerwowane przez Owncloud",
|
||||
"{count} files scanned" => "{count} pliki skanowane",
|
||||
"error while scanning" => "Wystąpił błąd podczas skanowania",
|
||||
"Name" => "Nazwa",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{count} files uploading" => "Enviando {count} arquivos",
|
||||
"Upload cancelled." => "Envio cancelado.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Upload em andamento. Sair da página agora resultará no cancelamento do envio.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nome de pasta inválido. O nome \"Shared\" é reservado pelo Owncloud",
|
||||
"URL cannot be empty." => "URL não pode ficar em branco",
|
||||
"{count} files scanned" => "{count} arquivos scaneados",
|
||||
"error while scanning" => "erro durante verificação",
|
||||
"Name" => "Nome",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Não foi possível mover o ficheiro %s - Já existe um ficheiro com esse nome",
|
||||
"Could not move %s" => "Não foi possível move o ficheiro %s",
|
||||
"Unable to rename file" => "Não foi possível renomear o ficheiro",
|
||||
"No file was uploaded. Unknown error" => "Nenhum ficheiro foi carregado. Erro desconhecido",
|
||||
"There is no error, the file uploaded with success" => "Sem erro, ficheiro enviado com sucesso",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "O ficheiro enviado excede o limite permitido na directiva do php.ini upload_max_filesize",
|
||||
|
@ -22,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "substituido {new_name} por {old_name}",
|
||||
"unshared {files}" => "{files} não partilhado(s)",
|
||||
"deleted {files}" => "{files} eliminado(s)",
|
||||
"'.' is an invalid file name." => "'.' não é um nome de ficheiro válido!",
|
||||
"File name cannot be empty." => "O nome do ficheiro não pode estar vazio.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
|
||||
"generating ZIP-file, it may take some time." => "a gerar o ficheiro ZIP, poderá demorar algum tempo.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Não é possível fazer o envio do ficheiro devido a ser uma pasta ou ter 0 bytes",
|
||||
|
@ -32,7 +37,8 @@
|
|||
"{count} files uploading" => "A carregar {count} ficheiros",
|
||||
"Upload cancelled." => "O envio foi cancelado.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Envio de ficheiro em progresso. Irá cancelar o envio se sair da página agora.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nome de pasta inválido! O uso de \"Shared\" (Partilhado) está reservado pelo OwnCloud",
|
||||
"URL cannot be empty." => "O URL não pode estar vazio.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome de pasta inválido. O Uso de 'shared' é reservado para o ownCloud",
|
||||
"{count} files scanned" => "{count} ficheiros analisados",
|
||||
"error while scanning" => "erro ao analisar",
|
||||
"Name" => "Nome",
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s" => "Nu s-a putut muta %s",
|
||||
"Unable to rename file" => "Nu s-a putut redenumi fișierul",
|
||||
"No file was uploaded. Unknown error" => "Nici un fișier nu a fost încărcat. Eroare necunoscută",
|
||||
"There is no error, the file uploaded with success" => "Nicio eroare, fișierul a fost încărcat cu succes",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fisierul incarcat depaseste upload_max_filesize permisi in php.ini: ",
|
||||
|
@ -7,6 +9,8 @@
|
|||
"No file was uploaded" => "Niciun fișier încărcat",
|
||||
"Missing a temporary folder" => "Lipsește un dosar temporar",
|
||||
"Failed to write to disk" => "Eroare la scriere pe disc",
|
||||
"Not enough space available" => "Nu este suficient spațiu disponibil",
|
||||
"Invalid directory." => "Director invalid.",
|
||||
"Files" => "Fișiere",
|
||||
"Unshare" => "Anulează partajarea",
|
||||
"Delete" => "Șterge",
|
||||
|
@ -20,6 +24,8 @@
|
|||
"replaced {new_name} with {old_name}" => "{new_name} inlocuit cu {old_name}",
|
||||
"unshared {files}" => "nedistribuit {files}",
|
||||
"deleted {files}" => "Sterse {files}",
|
||||
"'.' is an invalid file name." => "'.' este un nume invalid de fișier.",
|
||||
"File name cannot be empty." => "Numele fișierului nu poate rămâne gol.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nume invalid, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise.",
|
||||
"generating ZIP-file, it may take some time." => "se generază fișierul ZIP, va dura ceva timp.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Nu s-a putut încărca fișierul tău deoarece pare să fie un director sau are 0 bytes.",
|
||||
|
@ -30,7 +36,7 @@
|
|||
"{count} files uploading" => "{count} fisiere incarcate",
|
||||
"Upload cancelled." => "Încărcare anulată.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nume de folder invalid. Numele este rezervat pentru OwnCloud",
|
||||
"URL cannot be empty." => "Adresa URL nu poate fi goală.",
|
||||
"{count} files scanned" => "{count} fisiere scanate",
|
||||
"error while scanning" => "eroare la scanarea",
|
||||
"Name" => "Nume",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Could not move %s - File with this name already exists" => "Невозможно переместить %s - файл с таким именем уже существует",
|
||||
"Could not move %s" => "Невозможно переместить %s",
|
||||
"Unable to rename file" => "Невозможно переименовать файл",
|
||||
"No file was uploaded. Unknown error" => "Файл не был загружен. Неизвестная ошибка",
|
||||
"There is no error, the file uploaded with success" => "Файл успешно загружен",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Файл превышает размер установленный upload_max_filesize в php.ini:",
|
||||
|
@ -7,6 +10,8 @@
|
|||
"No file was uploaded" => "Файл не был загружен",
|
||||
"Missing a temporary folder" => "Невозможно найти временную папку",
|
||||
"Failed to write to disk" => "Ошибка записи на диск",
|
||||
"Not enough space available" => "Недостаточно свободного места",
|
||||
"Invalid directory." => "Неправильный каталог.",
|
||||
"Files" => "Файлы",
|
||||
"Unshare" => "Отменить публикацию",
|
||||
"Delete" => "Удалить",
|
||||
|
@ -20,6 +25,8 @@
|
|||
"replaced {new_name} with {old_name}" => "заменено {new_name} на {old_name}",
|
||||
"unshared {files}" => "не опубликованные {files}",
|
||||
"deleted {files}" => "удаленные {files}",
|
||||
"'.' is an invalid file name." => "'.' - неправильное имя файла.",
|
||||
"File name cannot be empty." => "Имя файла не может быть пустым.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Неправильное имя, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' недопустимы.",
|
||||
"generating ZIP-file, it may take some time." => "создание ZIP-файла, это может занять некоторое время.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Не удается загрузить файл размером 0 байт в каталог",
|
||||
|
@ -30,7 +37,8 @@
|
|||
"{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",
|
||||
"URL cannot be empty." => "Ссылка не может быть пустой.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Неправильное имя каталога. Имя 'Shared' зарезервировано.",
|
||||
"{count} files scanned" => "{count} файлов просканировано",
|
||||
"error while scanning" => "ошибка во время санирования",
|
||||
"Name" => "Название",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{count} files uploading" => "{количество} загружено файлов",
|
||||
"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" => "Некорректное имя папки. Нименование \"Опубликовано\" зарезервировано ownCloud",
|
||||
"URL cannot be empty." => "URL не должен быть пустым.",
|
||||
"{count} files scanned" => "{количество} файлов отсканировано",
|
||||
"error while scanning" => "ошибка при сканировании",
|
||||
"Name" => "Имя",
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
"1 file uploading" => "1 ගොනුවක් උඩගත කෙරේ",
|
||||
"Upload cancelled." => "උඩුගත කිරීම අත් හරින්න ලදී",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත",
|
||||
"URL cannot be empty." => "යොමුව හිස් විය නොහැක",
|
||||
"error while scanning" => "පරීක්ෂා කිරීමේදී දෝෂයක්",
|
||||
"Name" => "නම",
|
||||
"Size" => "ප්රමාණය",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{count} files uploading" => "{count} súborov odosielaných",
|
||||
"Upload cancelled." => "Odosielanie zrušené",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nesprávne meno adresára. Použitie slova \"Shared\" (Zdieľané) je vyhradené službou ownCloud.",
|
||||
"URL cannot be empty." => "URL nemôže byť prázdne",
|
||||
"{count} files scanned" => "{count} súborov prehľadaných",
|
||||
"error while scanning" => "chyba počas kontroly",
|
||||
"Name" => "Meno",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{count} files uploading" => "nalagam {count} datotek",
|
||||
"Upload cancelled." => "Pošiljanje je preklicano.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Neveljavno ime datoteke. Uporaba mape \"Share\" je rezervirana za ownCloud.",
|
||||
"URL cannot be empty." => "Naslov URL ne sme biti prazen.",
|
||||
"{count} files scanned" => "{count} files scanned",
|
||||
"error while scanning" => "napaka med pregledovanjem datotek",
|
||||
"Name" => "Ime",
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
"{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" => "Неисправан назив фасцикле. „Дељено“ користи Оунклауд.",
|
||||
"{count} files scanned" => "Скенирано датотека: {count}",
|
||||
"error while scanning" => "грешка при скенирању",
|
||||
"Name" => "Назив",
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
"No file was uploaded" => "Ingen fil blev uppladdad",
|
||||
"Missing a temporary folder" => "Saknar en tillfällig mapp",
|
||||
"Failed to write to disk" => "Misslyckades spara till disk",
|
||||
"Not enough space available" => "Inte tillräckligt med utrymme tillgängligt",
|
||||
"Invalid directory." => "Felaktig mapp.",
|
||||
"Files" => "Filer",
|
||||
"Unshare" => "Sluta dela",
|
||||
"Delete" => "Radera",
|
||||
|
@ -20,6 +22,8 @@
|
|||
"replaced {new_name} with {old_name}" => "ersatt {new_name} med {old_name}",
|
||||
"unshared {files}" => "stoppad delning {files}",
|
||||
"deleted {files}" => "raderade {files}",
|
||||
"'.' is an invalid file name." => "'.' är ett ogiltigt filnamn.",
|
||||
"File name cannot be empty." => "Filnamn kan inte vara tomt.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte tillåtet.",
|
||||
"generating ZIP-file, it may take some time." => "genererar ZIP-fil, det kan ta lite tid.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Kunde inte ladda upp dina filer eftersom det antingen är en mapp eller har 0 bytes.",
|
||||
|
@ -30,7 +34,8 @@
|
|||
"{count} files uploading" => "{count} filer laddas upp",
|
||||
"Upload cancelled." => "Uppladdning avbruten.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ogiltigt mappnamn. Ordet \"Delad\" är reserverat av ownCloud.",
|
||||
"URL cannot be empty." => "URL kan inte vara tom.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ogiltigt mappnamn. Användande av 'Shared' är reserverat av ownCloud",
|
||||
"{count} files scanned" => "{count} filer skannade",
|
||||
"error while scanning" => "fel vid skanning",
|
||||
"Name" => "Namn",
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
"{count} files uploading" => "{எண்ணிக்கை} கோப்புகள் பதிவேற்றப்படுகின்றது",
|
||||
"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" => "செல்லுபடியற்ற கோப்புறை பெயர். \"பகிர்வின்\" பாவனை Owncloud இனால் ஒதுக்கப்பட்டுள்ளது",
|
||||
"URL cannot be empty." => "URL வெறுமையாக இருக்கமுடியாது.",
|
||||
"{count} files scanned" => "{எண்ணிக்கை} கோப்புகள் வருடப்பட்டது",
|
||||
"error while scanning" => "வருடும் போதான வழு",
|
||||
"Name" => "பெயர்",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{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" => "ชื่อโฟลเดอร์ที่ใช้ไม่ถูกต้อง การใช้งาน \"ถูกแชร์\" ถูกสงวนไว้เฉพาะ Owncloud เท่านั้น",
|
||||
"URL cannot be empty." => "URL ไม่สามารถเว้นว่างได้",
|
||||
"{count} files scanned" => "สแกนไฟล์แล้ว {count} ไฟล์",
|
||||
"error while scanning" => "พบข้อผิดพลาดในระหว่างการสแกนไฟล์",
|
||||
"Name" => "ชื่อ",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{count} files uploading" => "{count} dosya yükleniyor",
|
||||
"Upload cancelled." => "Yükleme iptal edildi.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Dosya yükleme işlemi sürüyor. Şimdi sayfadan ayrılırsanız işleminiz iptal olur.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Geçersiz dizin ismi. \"Shared\" dizini OwnCloud tarafından kullanılmaktadır.",
|
||||
"URL cannot be empty." => "URL boş olamaz.",
|
||||
"{count} files scanned" => "{count} dosya tarandı",
|
||||
"error while scanning" => "tararamada hata oluşdu",
|
||||
"Name" => "Ad",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{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",
|
||||
"URL cannot be empty." => "URL не може бути пустим.",
|
||||
"{count} files scanned" => "{count} файлів проскановано",
|
||||
"error while scanning" => "помилка при скануванні",
|
||||
"Name" => "Ім'я",
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
"{count} files uploading" => "{count} tập tin đang tải lên",
|
||||
"Upload cancelled." => "Hủy tải lên",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Tập tin tải lên đang được xử lý. Nếu bạn rời khỏi trang bây giờ sẽ hủy quá trình này.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Tên thư mục không hợp lệ. Sử dụng \"Chia sẻ\" được dành riêng bởi Owncloud",
|
||||
"URL cannot be empty." => "URL không được để trống.",
|
||||
"{count} files scanned" => "{count} tập tin đã được quét",
|
||||
"error while scanning" => "lỗi trong khi quét",
|
||||
"Name" => "Tên",
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
"{count} files uploading" => "{count} 个文件正在上传",
|
||||
"Upload cancelled." => "上传取消了",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传。关闭页面会取消上传。",
|
||||
"URL cannot be empty." => "网址不能为空。",
|
||||
"{count} files scanned" => "{count} 个文件已扫描",
|
||||
"error while scanning" => "扫描出错",
|
||||
"Name" => "名字",
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
"{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 保留字符。",
|
||||
"URL cannot be empty." => "URL不能为空",
|
||||
"{count} files scanned" => "{count} 个文件已扫描。",
|
||||
"error while scanning" => "扫描时出错",
|
||||
"Name" => "名称",
|
||||
|
|
|
@ -1,30 +1,45 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"No file was uploaded. Unknown error" => "沒有檔案被上傳. 未知的錯誤.",
|
||||
"Could not move %s - File with this name already exists" => "無法移動 %s - 同名的檔案已經存在",
|
||||
"Could not move %s" => "無法移動 %s",
|
||||
"Unable to rename file" => "無法重新命名檔案",
|
||||
"No file was uploaded. Unknown error" => "沒有檔案被上傳。未知的錯誤。",
|
||||
"There is no error, the file uploaded with success" => "無錯誤,檔案上傳成功",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "上傳黨案的超過 HTML 表單中指定 MAX_FILE_SIZE 限制",
|
||||
"The uploaded file was only partially uploaded" => "只有部分檔案被上傳",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "上傳的檔案大小超過 php.ini 當中 upload_max_filesize 參數的設定:",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "上傳的檔案大小超過 HTML 表單中 MAX_FILE_SIZE 的限制",
|
||||
"The uploaded file was only partially uploaded" => "只有檔案的一部分被上傳",
|
||||
"No file was uploaded" => "無已上傳檔案",
|
||||
"Missing a temporary folder" => "遺失暫存資料夾",
|
||||
"Failed to write to disk" => "寫入硬碟失敗",
|
||||
"Not enough space available" => "沒有足夠的可用空間",
|
||||
"Invalid directory." => "無效的資料夾。",
|
||||
"Files" => "檔案",
|
||||
"Unshare" => "取消共享",
|
||||
"Delete" => "刪除",
|
||||
"Rename" => "重新命名",
|
||||
"{new_name} already exists" => "{new_name} 已經存在",
|
||||
"replace" => "取代",
|
||||
"suggest name" => "建議檔名",
|
||||
"cancel" => "取消",
|
||||
"replaced {new_name}" => "已取代 {new_name}",
|
||||
"undo" => "復原",
|
||||
"replaced {new_name} with {old_name}" => "使用 {new_name} 取代 {old_name}",
|
||||
"generating ZIP-file, it may take some time." => "產生壓縮檔, 它可能需要一段時間.",
|
||||
"unshared {files}" => "已取消分享 {files}",
|
||||
"deleted {files}" => "已刪除 {files}",
|
||||
"'.' is an invalid file name." => "'.' 是不合法的檔名。",
|
||||
"File name cannot be empty." => "檔名不能為空。",
|
||||
"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" => "無法上傳您的檔案因為它可能是一個目錄或檔案大小為0",
|
||||
"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." => "檔案上傳中. 離開此頁面將會取消上傳.",
|
||||
"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "無效的資料夾名稱. \"Shared\" 名稱已被 Owncloud 所保留使用",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "檔案上傳中。離開此頁面將會取消上傳。",
|
||||
"URL cannot be empty." => "URL 不能為空白.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "無效的資料夾名稱,'Shared' 的使用被 Owncloud 保留",
|
||||
"{count} files scanned" => "{count} 個檔案已掃描",
|
||||
"error while scanning" => "掃描時發生錯誤",
|
||||
"Name" => "名稱",
|
||||
"Size" => "大小",
|
||||
|
@ -34,22 +49,23 @@
|
|||
"1 file" => "1 個檔案",
|
||||
"{count} files" => "{count} 個檔案",
|
||||
"File handling" => "檔案處理",
|
||||
"Maximum upload size" => "最大上傳容量",
|
||||
"max. possible: " => "最大允許: ",
|
||||
"Needed for multi-file and folder downloads." => "針對多檔案和目錄下載是必填的",
|
||||
"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檔案最大輸入大小",
|
||||
"Maximum input size for ZIP files" => "針對 ZIP 檔案最大輸入大小",
|
||||
"Save" => "儲存",
|
||||
"New" => "新增",
|
||||
"Text file" => "文字檔",
|
||||
"Folder" => "資料夾",
|
||||
"From link" => "從連結",
|
||||
"Upload" => "上傳",
|
||||
"Cancel upload" => "取消上傳",
|
||||
"Nothing in here. Upload something!" => "沒有任何東西。請上傳內容!",
|
||||
"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." => "你試圖上傳的檔案已超過伺服器的最大容量限制。 ",
|
||||
"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" => "目前掃描"
|
||||
);
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
data-type='web'><p><?php echo $l->t('From link');?></p></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="upload" class="button">
|
||||
<div id="upload" class="button"
|
||||
title="<?php echo $l->t('Upload') . ' max. '.$_['uploadMaxHumanFilesize'] ?>">
|
||||
<form data-upload-id='1'
|
||||
id="data-upload-form"
|
||||
class="file_upload_form"
|
||||
|
@ -31,10 +32,7 @@
|
|||
value="(max <?php echo $_['uploadMaxHumanFilesize']; ?>)">
|
||||
<input type="hidden" name="dir" value="<?php echo $_['dir'] ?>" id="dir">
|
||||
<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>
|
||||
<a href="#" class="svg" onclick="return false;"></a>
|
||||
</form>
|
||||
</div>
|
||||
<div id="uploadprogresswrapper">
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<?php for($i=0; $i<count($_["breadcrumb"]); $i++):
|
||||
$crumb = $_["breadcrumb"][$i];
|
||||
$dir = str_replace('+', '%20', urlencode($crumb["dir"]));
|
||||
$dir = str_replace('%2F', '/', $dir); ?>
|
||||
<div class="crumb <?php if($i == count($_["breadcrumb"])-1) echo 'last';?> svg"
|
||||
data-dir='<?php echo $dir;?>'
|
||||
style='background-image:url("<?php echo OCP\image_path('core', 'breadcrumb.png');?>")'>
|
||||
<a href="<?php echo $_['baseURL'].$dir; ?>"><?php echo OCP\Util::sanitizeHTML($crumb["name"]); ?></a>
|
||||
</div>
|
||||
<?php endfor;
|
||||
<?php for($i=0; $i<count($_["breadcrumb"]); $i++):
|
||||
$crumb = $_["breadcrumb"][$i];
|
||||
$dir = str_replace('+', '%20', urlencode($crumb["dir"]));
|
||||
$dir = str_replace('%2F', '/', $dir); ?>
|
||||
<div class="crumb <?php if($i == count($_["breadcrumb"])-1) echo 'last';?> svg"
|
||||
data-dir='<?php echo $dir;?>'
|
||||
style='background-image:url("<?php echo OCP\image_path('core', 'breadcrumb.png');?>")'>
|
||||
<a href="<?php echo $_['baseURL'].$dir; ?>"><?php echo OCP\Util::sanitizeHTML($crumb["name"]); ?></a>
|
||||
</div>
|
||||
<?php endfor;
|
|
@ -1,70 +1,70 @@
|
|||
<script type="text/javascript">
|
||||
<?php if ( array_key_exists('publicListView', $_) && $_['publicListView'] == true ) :?>
|
||||
var publicListView = true;
|
||||
<?php else: ?>
|
||||
var publicListView = false;
|
||||
<?php endif; ?>
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
<?php if ( array_key_exists('publicListView', $_) && $_['publicListView'] == true ) :?>
|
||||
var publicListView = true;
|
||||
<?php else: ?>
|
||||
var publicListView = false;
|
||||
<?php endif; ?>
|
||||
</script>
|
||||
|
||||
<?php foreach($_['files'] as $file):
|
||||
$simple_file_size = OCP\simple_file_size($file['size']);
|
||||
// the bigger the file, the darker the shade of grey; megabytes*2
|
||||
$simple_size_color = intval(200-$file['size']/(1024*1024)*2);
|
||||
if($simple_size_color<0) $simple_size_color = 0;
|
||||
$relative_modified_date = OCP\relative_modified_date($file['mtime']);
|
||||
// the older the file, the brighter the shade of grey; days*14
|
||||
$relative_date_color = round((time()-$file['mtime'])/60/60/24*14);
|
||||
if($relative_date_color>200) $relative_date_color = 200;
|
||||
$name = str_replace('+', '%20', urlencode($file['name']));
|
||||
$name = str_replace('%2F', '/', $name);
|
||||
$directory = str_replace('+', '%20', urlencode($file['directory']));
|
||||
$directory = str_replace('%2F', '/', $directory); ?>
|
||||
<tr data-id="<?php echo $file['id']; ?>"
|
||||
data-file="<?php echo $name;?>"
|
||||
data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>"
|
||||
data-mime="<?php echo $file['mimetype']?>"
|
||||
data-size='<?php echo $file['size'];?>'
|
||||
data-permissions='<?php echo $file['permissions']; ?>'>
|
||||
<td class="filename svg"
|
||||
<?php if($file['type'] == 'dir'): ?>
|
||||
style="background-image:url(<?php echo OCP\mimetype_icon('dir'); ?>)"
|
||||
<?php else: ?>
|
||||
style="background-image:url(<?php echo OCP\mimetype_icon($file['mimetype']); ?>)"
|
||||
<?php endif; ?>
|
||||
>
|
||||
<?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>
|
||||
<?php if($file['type'] == 'dir'): ?>
|
||||
<a class="name" href="<?php $_['baseURL'].$directory.'/'.$name; ?>)" title="">
|
||||
<?php else: ?>
|
||||
<a class="name" href="<?php echo $_['downloadURL'].$directory.'/'.$name; ?>" title="">
|
||||
<?php endif; ?>
|
||||
<span class="nametext">
|
||||
<?php if($file['type'] == 'dir'):?>
|
||||
<?php echo htmlspecialchars($file['name']);?>
|
||||
<?php else:?>
|
||||
<?php echo htmlspecialchars($file['basename']);?><span
|
||||
class='extension'><?php echo $file['extension'];?></span>
|
||||
<?php endif;?>
|
||||
</span>
|
||||
<?php if($file['type'] == 'dir'):?>
|
||||
<span class="uploadtext" currentUploads="0">
|
||||
</span>
|
||||
<?php endif;?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="filesize"
|
||||
title="<?php echo OCP\human_file_size($file['size']); ?>"
|
||||
style="color:rgb(<?php echo $simple_size_color.','.$simple_size_color.','.$simple_size_color ?>)">
|
||||
<?php echo $simple_file_size; ?>
|
||||
</td>
|
||||
<td class="date">
|
||||
<span class="modified"
|
||||
title="<?php echo $file['date']; ?>"
|
||||
style="color:rgb(<?php echo $relative_date_color.','
|
||||
.$relative_date_color.','
|
||||
.$relative_date_color ?>)">
|
||||
<?php echo $relative_modified_date; ?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;
|
||||
<?php foreach($_['files'] as $file):
|
||||
$simple_file_size = OCP\simple_file_size($file['size']);
|
||||
// the bigger the file, the darker the shade of grey; megabytes*2
|
||||
$simple_size_color = intval(200-$file['size']/(1024*1024)*2);
|
||||
if($simple_size_color<0) $simple_size_color = 0;
|
||||
$relative_modified_date = OCP\relative_modified_date($file['mtime']);
|
||||
// the older the file, the brighter the shade of grey; days*14
|
||||
$relative_date_color = round((time()-$file['mtime'])/60/60/24*14);
|
||||
if($relative_date_color>200) $relative_date_color = 200;
|
||||
$name = str_replace('+', '%20', urlencode($file['name']));
|
||||
$name = str_replace('%2F', '/', $name);
|
||||
$directory = str_replace('+', '%20', urlencode($file['directory']));
|
||||
$directory = str_replace('%2F', '/', $directory); ?>
|
||||
<tr data-id="<?php echo $file['id']; ?>"
|
||||
data-file="<?php echo $name;?>"
|
||||
data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>"
|
||||
data-mime="<?php echo $file['mimetype']?>"
|
||||
data-size='<?php echo $file['size'];?>'
|
||||
data-permissions='<?php echo $file['permissions']; ?>'>
|
||||
<td class="filename svg"
|
||||
<?php if($file['type'] == 'dir'): ?>
|
||||
style="background-image:url(<?php echo OCP\mimetype_icon('dir'); ?>)"
|
||||
<?php else: ?>
|
||||
style="background-image:url(<?php echo OCP\mimetype_icon($file['mimetype']); ?>)"
|
||||
<?php endif; ?>
|
||||
>
|
||||
<?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>
|
||||
<?php if($file['type'] == 'dir'): ?>
|
||||
<a class="name" href="<?php $_['baseURL'].$directory.'/'.$name; ?>)" title="">
|
||||
<?php else: ?>
|
||||
<a class="name" href="<?php echo $_['downloadURL'].$directory.'/'.$name; ?>" title="">
|
||||
<?php endif; ?>
|
||||
<span class="nametext">
|
||||
<?php if($file['type'] == 'dir'):?>
|
||||
<?php echo htmlspecialchars($file['name']);?>
|
||||
<?php else:?>
|
||||
<?php echo htmlspecialchars($file['basename']);?><span
|
||||
class='extension'><?php echo $file['extension'];?></span>
|
||||
<?php endif;?>
|
||||
</span>
|
||||
<?php if($file['type'] == 'dir'):?>
|
||||
<span class="uploadtext" currentUploads="0">
|
||||
</span>
|
||||
<?php endif;?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="filesize"
|
||||
title="<?php echo OCP\human_file_size($file['size']); ?>"
|
||||
style="color:rgb(<?php echo $simple_size_color.','.$simple_size_color.','.$simple_size_color ?>)">
|
||||
<?php echo $simple_file_size; ?>
|
||||
</td>
|
||||
<td class="date">
|
||||
<span class="modified"
|
||||
title="<?php echo $file['date']; ?>"
|
||||
style="color:rgb(<?php echo $relative_date_color.','
|
||||
.$relative_date_color.','
|
||||
.$relative_date_color ?>)">
|
||||
<?php echo $relative_modified_date; ?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;
|
|
@ -0,0 +1,6 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Encryption" => "Криптиране",
|
||||
"Enable Encryption" => "Включване на криптирането",
|
||||
"None" => "Няма",
|
||||
"Exclude the following file types from encryption" => "Изключване на следните файлови типове от криптирането"
|
||||
);
|
|
@ -0,0 +1,6 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Encryption" => "সংকেতায়ন",
|
||||
"Enable Encryption" => "সংকেতায়ন সক্রিয় কর",
|
||||
"None" => "কোনটিই নয়",
|
||||
"Exclude the following file types from encryption" => "সংকেতায়ন থেকে নিম্নোক্ত ধরণসমূহ বাদ দাও"
|
||||
);
|
|
@ -1,4 +1,18 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Access granted" => "Достъпът е даден",
|
||||
"Grant access" => "Даване на достъп",
|
||||
"Fill out all required fields" => "Попълнете всички задължителни полета",
|
||||
"External Storage" => "Външно хранилище",
|
||||
"Backend" => "Администрация",
|
||||
"Configuration" => "Конфигурация",
|
||||
"Options" => "Опции",
|
||||
"None set" => "Няма избрано",
|
||||
"All Users" => "Всички потребители",
|
||||
"Groups" => "Групи",
|
||||
"Delete" => "Изтриване"
|
||||
"Users" => "Потребители",
|
||||
"Delete" => "Изтриване",
|
||||
"Enable User External Storage" => "Вкл. на поддръжка за външно потр. хранилище",
|
||||
"Allow users to mount their own external storage" => "Позволено е на потребителите да ползват тяхно лично външно хранилище",
|
||||
"SSL root certificates" => "SSL основни сертификати",
|
||||
"Import Root Certificate" => "Импортиране на основен сертификат"
|
||||
);
|
||||
|
|
|
@ -1,6 +1,24 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Backend" => "প্রশাসক",
|
||||
"Groups" => "গোষ্ঠী",
|
||||
"Users" => "ব্যবহারকারিবৃন্দ",
|
||||
"Delete" => "মুছে ফেল"
|
||||
"Access granted" => "অধিগমনের অনুমতি প্রদান করা হলো",
|
||||
"Error configuring Dropbox storage" => "Dropbox সংরক্ষণাগার নির্ধারণ করতে সমস্যা ",
|
||||
"Grant access" => "অধিগমনের অনুমতি প্রদান কর",
|
||||
"Fill out all required fields" => "আবশ্যিক সমস্ত ক্ষেত্র পূরণ করুন",
|
||||
"Please provide a valid Dropbox app key and secret." => "দয়া করে সঠিক এবং বৈধ Dropbox app key and secret প্রদান করুন।",
|
||||
"Error configuring Google Drive storage" => "Google Drive সংরক্ষণাগার নির্ধারণ করতে সমস্যা ",
|
||||
"External Storage" => "বাহ্যিক সংরক্ষণাগার",
|
||||
"Mount point" => "মাউন্ট পয়েন্ট",
|
||||
"Backend" => "পশ্চাদপট",
|
||||
"Configuration" => "কনফিগারেসন",
|
||||
"Options" => "বিকল্পসমূহ",
|
||||
"Applicable" => "প্রযোজ্য",
|
||||
"Add mount point" => "মাউন্ট পয়েন্ট যোগ কর",
|
||||
"None set" => "কোনটিই নির্ধারণ করা হয় নি",
|
||||
"All Users" => "সমস্ত ব্যবহারকারী",
|
||||
"Groups" => "গোষ্ঠীসমূহ",
|
||||
"Users" => "ব্যবহারকারী",
|
||||
"Delete" => "মুছে ফেল",
|
||||
"Enable User External Storage" => "ব্যবহারকারীর বাহ্যিক সংরক্ষণাগার সক্রিয় কর",
|
||||
"Allow users to mount their own external storage" => "ব্যবহারকারীদেরকে তাদের নিজস্ব বাহ্যিক সংরক্ষনাগার সাউন্ট করতে অনুমোদন দাও",
|
||||
"SSL root certificates" => "SSL রুট সনদপত্র",
|
||||
"Import Root Certificate" => "রুট সনদপত্রটি আমদানি করুন"
|
||||
);
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
"Fill out all required fields" => "모든 필수 항목을 입력하십시오",
|
||||
"Please provide a valid Dropbox app key and secret." => "올바른 Dropbox 앱 키와 암호를 입력하십시오.",
|
||||
"Error configuring Google Drive storage" => "Google 드라이브 저장소 설정 오류",
|
||||
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>경고</b>\"smbclient\"가 설치되지 않았습니다. CIFS/SMB 공유애 연결이 불가능 합니다.. 시스템 관리자에게 요청하여 설치하시기 바랍니다.",
|
||||
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>경고</b>PHP용 FTP 지원이 사용 불가능 하거나 설치되지 않았습니다. FTP 공유에 연결이 불가능 합니다. 시스템 관리자에게 요청하여 설치하시기 바랍니다. ",
|
||||
"External Storage" => "외부 저장소",
|
||||
"Mount point" => "마운트 지점",
|
||||
"Backend" => "백엔드",
|
||||
|
|
|
@ -50,7 +50,7 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
|
|||
'password' => $this->password,
|
||||
);
|
||||
|
||||
$this->client = new OC_Connector_Sabre_Client($settings);
|
||||
$this->client = new Sabre_DAV_Client($settings);
|
||||
|
||||
$caview = \OCP\Files::getStorage('files_external');
|
||||
if ($caview) {
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Password" => "Парола",
|
||||
"Submit" => "Потвърждение",
|
||||
"%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" => "уеб услуги под Ваш контрол"
|
||||
);
|
|
@ -1,6 +1,9 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Password" => "কূটশব্দ",
|
||||
"Submit" => "পাঠাও",
|
||||
"Submit" => "জমা দাও",
|
||||
"%s shared the folder %s with you" => "%s আপনার সাথে %s ফোল্ডারটি ভাগাভাগি করেছেন",
|
||||
"%s shared the file %s with you" => "%s আপনার সাথে %s ফাইলটি ভাগাভাগি করেছেন",
|
||||
"Download" => "ডাউনলোড",
|
||||
"web services under your control" => "ওয়েব সেবাসমূহ এখন আপনার হাতের মুঠোয়"
|
||||
"No preview available for" => "এর জন্য কোন প্রাকবীক্ষণ সুলভ নয়",
|
||||
"web services under your control" => "ওয়েব সার্ভিস আপনার হাতের মুঠোয়"
|
||||
);
|
||||
|
|
|
@ -7,7 +7,7 @@ OC_App::loadApps();
|
|||
// support will be removed in OC 5.0,a
|
||||
if (isset($_GET['token'])) {
|
||||
unset($_GET['file']);
|
||||
$qry = \OC_DB::prepare('SELECT `source` FROM `*PREFIX*sharing` WHERE `target` = ? LIMIT 1');
|
||||
$qry = \OC_DB::prepare('SELECT `source` FROM `*PREFIX*sharing` WHERE `target` = ?', 1);
|
||||
$filepath = $qry->execute(array($_GET['token']))->fetchOne();
|
||||
if(isset($filepath)) {
|
||||
$info = OC_FileCache_Cached::get($filepath, '');
|
||||
|
@ -16,7 +16,9 @@ if (isset($_GET['token'])) {
|
|||
} else {
|
||||
$_GET['file'] = $filepath;
|
||||
}
|
||||
\OCP\Util::writeLog('files_sharing', 'You have files that are shared by link originating from ownCloud 4.0. Redistribute the new links, because backwards compatibility will be removed in ownCloud 5.', \OCP\Util::WARN);
|
||||
\OCP\Util::writeLog('files_sharing', 'You have files that are shared by link originating from ownCloud 4.0.'
|
||||
.' Redistribute the new links, because backwards compatibility will be removed in ownCloud 5.',
|
||||
\OCP\Util::WARN);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,7 +29,10 @@ function getID($path) {
|
|||
$path_parts = explode('/', $path, 5);
|
||||
$user = $path_parts[1];
|
||||
$intPath = '/'.$path_parts[4];
|
||||
$query = \OC_DB::prepare('SELECT `item_source` FROM `*PREFIX*share` WHERE `uid_owner` = ? AND `file_target` = ? ');
|
||||
$query = \OC_DB::prepare('SELECT `item_source`'
|
||||
.' FROM `*PREFIX*share`'
|
||||
.' WHERE `uid_owner` = ?'
|
||||
.' AND `file_target` = ? ');
|
||||
$result = $query->execute(array($user, $intPath));
|
||||
$row = $result->fetchRow();
|
||||
$fileSource = $row['item_source'];
|
||||
|
@ -69,7 +74,8 @@ if (isset($_GET['t'])) {
|
|||
|
||||
//if this is a reshare check the file owner also exists
|
||||
if ($shareOwner != $fileOwner && ! OCP\User::userExists($fileOwner)) {
|
||||
OCP\Util::writeLog('share', 'original file owner '.$fileOwner.' does not exist for share '.$linkItem['id'], \OCP\Util::ERROR);
|
||||
OCP\Util::writeLog('share', 'original file owner '.$fileOwner
|
||||
.' does not exist for share '.$linkItem['id'], \OCP\Util::ERROR);
|
||||
header('HTTP/1.0 404 Not Found');
|
||||
$tmpl = new OCP\Template('', '404', 'guest');
|
||||
$tmpl->printPage();
|
||||
|
@ -134,7 +140,8 @@ if ($linkItem) {
|
|||
// Check Password
|
||||
$forcePortable = (CRYPT_BLOWFISH != 1);
|
||||
$hasher = new PasswordHash(8, $forcePortable);
|
||||
if (!($hasher->CheckPassword($password.OC_Config::getValue('passwordsalt', ''), $linkItem['share_with']))) {
|
||||
if (!($hasher->CheckPassword($password.OC_Config::getValue('passwordsalt', ''),
|
||||
$linkItem['share_with']))) {
|
||||
$tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest');
|
||||
$tmpl->assign('URL', $url);
|
||||
$tmpl->assign('error', true);
|
||||
|
@ -145,19 +152,25 @@ if ($linkItem) {
|
|||
$_SESSION['public_link_authenticated'] = $linkItem['id'];
|
||||
}
|
||||
} else {
|
||||
OCP\Util::writeLog('share', 'Unknown share type '.$linkItem['share_type'].' for share id '.$linkItem['id'], \OCP\Util::ERROR);
|
||||
OCP\Util::writeLog('share', 'Unknown share type '.$linkItem['share_type']
|
||||
.' for share id '.$linkItem['id'], \OCP\Util::ERROR);
|
||||
header('HTTP/1.0 404 Not Found');
|
||||
$tmpl = new OCP\Template('', '404', 'guest');
|
||||
$tmpl->printPage();
|
||||
exit();
|
||||
}
|
||||
// Check if item id is set in session
|
||||
} else if (!isset($_SESSION['public_link_authenticated']) || $_SESSION['public_link_authenticated'] !== $linkItem['id']) {
|
||||
// Prompt for password
|
||||
$tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest');
|
||||
$tmpl->assign('URL', $url);
|
||||
$tmpl->printPage();
|
||||
exit();
|
||||
|
||||
} else {
|
||||
// Check if item id is set in session
|
||||
if (!isset($_SESSION['public_link_authenticated'])
|
||||
|| $_SESSION['public_link_authenticated'] !== $linkItem['id']
|
||||
) {
|
||||
// Prompt for password
|
||||
$tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest');
|
||||
$tmpl->assign('URL', $url);
|
||||
$tmpl->printPage();
|
||||
exit();
|
||||
}
|
||||
}
|
||||
}
|
||||
$basePath = substr($pathAndUser['path'], strlen('/'.$fileOwner.'/files'));
|
||||
|
@ -203,7 +216,9 @@ if ($linkItem) {
|
|||
$getPath = '';
|
||||
}
|
||||
//
|
||||
$urlLinkIdentifiers= (isset($token)?'&t='.$token:'').(isset($_GET['dir'])?'&dir='.$_GET['dir']:'').(isset($_GET['file'])?'&file='.$_GET['file']:'');
|
||||
$urlLinkIdentifiers= (isset($token)?'&t='.$token:'')
|
||||
.(isset($_GET['dir'])?'&dir='.$_GET['dir']:'')
|
||||
.(isset($_GET['file'])?'&file='.$_GET['file']:'');
|
||||
// Show file list
|
||||
if (OC_Filesystem::is_dir($path)) {
|
||||
OCP\Util::addStyle('files', 'files');
|
||||
|
@ -260,13 +275,16 @@ if ($linkItem) {
|
|||
$folder->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
|
||||
$tmpl->assign('folder', $folder->fetchPage(), false);
|
||||
$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
|
||||
$tmpl->assign('downloadURL', OCP\Util::linkToPublic('files').$urlLinkIdentifiers.'&download&path='.urlencode($getPath));
|
||||
$tmpl->assign('downloadURL', OCP\Util::linkToPublic('files')
|
||||
.$urlLinkIdentifiers.'&download&path='.urlencode($getPath));
|
||||
} else {
|
||||
// Show file preview if viewer is available
|
||||
if ($type == 'file') {
|
||||
$tmpl->assign('downloadURL', OCP\Util::linkToPublic('files').$urlLinkIdentifiers.'&download');
|
||||
$tmpl->assign('downloadURL', OCP\Util::linkToPublic('files')
|
||||
.$urlLinkIdentifiers.'&download');
|
||||
} else {
|
||||
$tmpl->assign('downloadURL', OCP\Util::linkToPublic('files').$urlLinkIdentifiers.'&download&path='.urlencode($getPath));
|
||||
$tmpl->assign('downloadURL', OCP\Util::linkToPublic('files')
|
||||
.$urlLinkIdentifiers.'&download&path='.urlencode($getPath));
|
||||
}
|
||||
}
|
||||
$tmpl->printPage();
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* ownCloud - user_migrate
|
||||
*
|
||||
* @author Sam Tuke
|
||||
* @copyright 2012 Sam Tuke samtuke@owncloud.com
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
// TODO: Allow admins to expire versions of any user
|
||||
// TODO: Provide feedback as to how many versions were deleted
|
||||
|
||||
// Check user and app status
|
||||
OCP\JSON::checkLoggedIn();
|
||||
OCP\App::checkAppEnabled('files_versions');
|
||||
OCP\JSON::callCheck();
|
||||
|
||||
$versions = new OCA_Versions\Storage();
|
||||
|
||||
if( $versions->expireAll() ) {
|
||||
|
||||
OCP\JSON::success();
|
||||
die();
|
||||
|
||||
} else {
|
||||
|
||||
OCP\JSON::error();
|
||||
die();
|
||||
|
||||
}
|
|
@ -4,10 +4,9 @@ OCP\JSON::checkAppEnabled('files_versions');
|
|||
$userDirectory = "/".OCP\USER::getUser()."/files";
|
||||
$source = $_GET['source'];
|
||||
|
||||
if( OCA_Versions\Storage::isversioned( $source ) ) {
|
||||
$count = 5; //show the newest revisions
|
||||
if( ($versions = OCA_Versions\Storage::getVersions( $source, $count)) ) {
|
||||
|
||||
$count=5; //show the newest revisions
|
||||
$versions = OCA_Versions\Storage::getVersions( $source, $count);
|
||||
$versionsFormatted = array();
|
||||
|
||||
foreach ( $versions AS $version ) {
|
||||
|
|
|
@ -8,10 +8,9 @@ $userDirectory = "/".OCP\USER::getUser()."/files";
|
|||
$file = $_GET['file'];
|
||||
$revision=(int)$_GET['revision'];
|
||||
|
||||
if( OCA_Versions\Storage::isversioned( $file ) ) {
|
||||
if(OCA_Versions\Storage::rollback( $file, $revision )) {
|
||||
OCP\JSON::success(array("data" => array( "revision" => $revision, "file" => $file )));
|
||||
}else{
|
||||
OCP\JSON::error(array("data" => array( "message" => "Could not revert:" . $file )));
|
||||
}
|
||||
if(OCA_Versions\Storage::rollback( $file, $revision )) {
|
||||
OCP\JSON::success(array("data" => array( "revision" => $revision, "file" => $file )));
|
||||
}else{
|
||||
OCP\JSON::error(array("data" => array( "message" => "Could not revert:" . $file )));
|
||||
}
|
||||
|
||||
|
|
|
@ -51,10 +51,8 @@ if ( isset( $_GET['path'] ) ) {
|
|||
}
|
||||
|
||||
// show the history only if there is something to show
|
||||
if( OCA_Versions\Storage::isversioned( $path ) ) {
|
||||
|
||||
$count = 999; //show the newest revisions
|
||||
$versions = OCA_Versions\Storage::getVersions( $path, $count);
|
||||
$count = 999; //show the newest revisions
|
||||
if( ($versions = OCA_Versions\Storage::getVersions( $path, $count)) ) {
|
||||
|
||||
$tmpl->assign( 'versions', array_reverse( $versions ) );
|
||||
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
// TODO: allow the button to be clicked only once
|
||||
|
||||
$( document ).ready(function(){
|
||||
//
|
||||
$( '#expireAllBtn' ).click(
|
||||
|
||||
function( event ) {
|
||||
|
||||
// Prevent page from reloading
|
||||
event.preventDefault();
|
||||
|
||||
// Show loading gif
|
||||
$('.expireAllLoading').show();
|
||||
|
||||
$.getJSON(
|
||||
OC.filePath('files_versions','ajax','expireAll.php'),
|
||||
function(result){
|
||||
if (result.status == 'success') {
|
||||
$('.expireAllLoading').hide();
|
||||
$('#expireAllBtn').html('Expiration successful');
|
||||
} else {
|
||||
|
||||
// Cancel loading
|
||||
$('#expireAllBtn').html('Expiration failed');
|
||||
|
||||
// Show Dialog
|
||||
OC.dialogs.alert(
|
||||
'Something went wrong, your files may not have been expired',
|
||||
'An error has occurred',
|
||||
function(){
|
||||
$('#expireAllBtn').html(t('files_versions', 'Expire all versions')+'<img style="display: none;" class="loading" src="'+OC.filePath('core','img','loading.gif')+'" />');
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
});
|
|
@ -0,0 +1,6 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"History" => "История",
|
||||
"Versions" => "Версии",
|
||||
"This will delete all existing backup versions of your files" => "Това действие ще изтрие всички налични архивни версии на Вашите файлове",
|
||||
"Enable" => "Включено"
|
||||
);
|
|
@ -1,3 +1,8 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Enable" => "সক্রিয়"
|
||||
"Expire all versions" => "সমস্ত ভার্সন মেয়াদোত্তীর্ণ",
|
||||
"History" => "ইতিহাস",
|
||||
"Versions" => "ভার্সন",
|
||||
"This will delete all existing backup versions of your files" => "এটি আপনার বিদ্যমান ফাইলের সমস্ত ব্যাক-আপ ভার্সন মুছে ফেলবে।",
|
||||
"Files Versioning" => "ফাইল ভার্সন করা",
|
||||
"Enable" => "সক্রিয় "
|
||||
);
|
||||
|
|
|
@ -39,15 +39,15 @@ class Hooks {
|
|||
* cleanup the versions directory if the actual file gets deleted
|
||||
*/
|
||||
public static function remove_hook($params) {
|
||||
$versions_fileview = \OCP\Files::getStorage('files_versions');
|
||||
$rel_path = $params['path'];
|
||||
$abs_path = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$rel_path.'.v';
|
||||
if(Storage::isversioned($rel_path)) {
|
||||
$versions = Storage::getVersions($rel_path);
|
||||
foreach ($versions as $v) {
|
||||
unlink($abs_path . $v['version']);
|
||||
}
|
||||
}
|
||||
if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
|
||||
|
||||
$versions = new Storage( new \OC_FilesystemView('') );
|
||||
|
||||
$path = $params[\OC_Filesystem::signal_param_path];
|
||||
|
||||
if($path<>'') $versions->delete( $path );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -58,18 +58,16 @@ class Hooks {
|
|||
* of the stored versions along the actual file
|
||||
*/
|
||||
public static function rename_hook($params) {
|
||||
$versions_fileview = \OCP\Files::getStorage('files_versions');
|
||||
$rel_oldpath = $params['oldpath'];
|
||||
$abs_oldpath = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$rel_oldpath.'.v';
|
||||
$abs_newpath = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$params['newpath'].'.v';
|
||||
if(Storage::isversioned($rel_oldpath)) {
|
||||
$info=pathinfo($abs_newpath);
|
||||
if(!file_exists($info['dirname'])) mkdir($info['dirname'], 0750, true);
|
||||
$versions = Storage::getVersions($rel_oldpath);
|
||||
foreach ($versions as $v) {
|
||||
rename($abs_oldpath.$v['version'], $abs_newpath.$v['version']);
|
||||
}
|
||||
if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
|
||||
|
||||
$versions = new Storage( new \OC_FilesystemView('') );
|
||||
|
||||
$oldpath = $params['oldpath'];
|
||||
$newpath = $params['newpath'];
|
||||
|
||||
if($oldpath<>'' && $newpath<>'') $versions->rename( $oldpath, $newpath );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
/**
|
||||
* Copyright (c) 2012 Frank Karlitschek <frank@owncloud.org>
|
||||
* 2013 Bjoern Schiessle <schiessle@owncloud.com>
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later.
|
||||
* See the COPYING-README file.
|
||||
|
@ -16,24 +17,23 @@ namespace OCA_Versions;
|
|||
|
||||
class Storage {
|
||||
|
||||
|
||||
// config.php configuration:
|
||||
// - files_versions
|
||||
// - files_versionsfolder
|
||||
// - files_versionsblacklist
|
||||
// - files_versionsmaxfilesize
|
||||
// - files_versionsinterval
|
||||
// - files_versionmaxversions
|
||||
//
|
||||
// todo:
|
||||
// - finish porting to OC_FilesystemView to enable network transparency
|
||||
// - add transparent compression. first test if it´s worth it.
|
||||
|
||||
const DEFAULTENABLED=true;
|
||||
const DEFAULTBLACKLIST='avi mp3 mpg mp4 ctmp';
|
||||
const DEFAULTMAXFILESIZE=1048576; // 10MB
|
||||
const DEFAULTMININTERVAL=60; // 1 min
|
||||
const DEFAULTMAXVERSIONS=50;
|
||||
const DEFAULTMAXSIZE=50; // unit: percentage; 50% of available disk space/quota
|
||||
|
||||
private static $max_versions_per_interval = array(
|
||||
1 => array('intervalEndsAfter' => 10, //first 10sec, one version every 2sec
|
||||
'step' => 2),
|
||||
2 => array('intervalEndsAfter' => 60, //next minute, one version every 10sec
|
||||
'step' => 10),
|
||||
3 => array('intervalEndsAfter' => 3600, //next hour, one version every minute
|
||||
'step' => 60),
|
||||
4 => array('intervalEndsAfter' => 86400, //next 24h, one version every hour
|
||||
'step' => 3600),
|
||||
5 => array('intervalEndsAfter' => 2592000, //next 30days, one version per day
|
||||
'step' => 86400),
|
||||
6 => array('intervalEndsAfter' => -1, //until the end one version per week
|
||||
'step' => 604800),
|
||||
);
|
||||
|
||||
private static function getUidAndFilename($filename)
|
||||
{
|
||||
|
@ -72,40 +72,11 @@ class Storage {
|
|||
return false;
|
||||
}
|
||||
|
||||
// check filetype blacklist
|
||||
$blacklist=explode(' ', \OCP\Config::getSystemValue('files_versionsblacklist', Storage::DEFAULTBLACKLIST));
|
||||
foreach($blacklist as $bl) {
|
||||
$parts=explode('.', $filename);
|
||||
$ext=end($parts);
|
||||
if(strtolower($ext)==$bl) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// we should have a source file to work with
|
||||
if (!$files_view->file_exists($filename)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// check filesize
|
||||
if($files_view->filesize($filename)>\OCP\Config::getSystemValue('files_versionsmaxfilesize', Storage::DEFAULTMAXFILESIZE)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// check mininterval if the file is being modified by the owner (all shared files should be versioned despite mininterval)
|
||||
if ($uid == \OCP\User::getUser()) {
|
||||
$versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
|
||||
$versionsName=\OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath($filename);
|
||||
$versionsFolderName=\OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('');
|
||||
$matches=glob($versionsName.'.v*');
|
||||
sort($matches);
|
||||
$parts=explode('.v', end($matches));
|
||||
if((end($parts)+Storage::DEFAULTMININTERVAL)>time()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// create all parent folders
|
||||
$info=pathinfo($filename);
|
||||
if(!file_exists($versionsFolderName.'/'.$info['dirname'])) {
|
||||
|
@ -113,14 +84,63 @@ class Storage {
|
|||
}
|
||||
|
||||
// store a new version of a file
|
||||
$users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.time());
|
||||
|
||||
$result = $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
|
||||
if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
|
||||
$versionsSize = self::calculateSize($uid);
|
||||
}
|
||||
$versionsSize += $users_view->filesize('files'.$filename);
|
||||
|
||||
// expire old revisions if necessary
|
||||
Storage::expire($filename);
|
||||
$newSize = self::expire($filename, $versionsSize);
|
||||
|
||||
if ( $newSize != $versionsSize ) {
|
||||
\OCP\Config::setAppValue('files_versions', 'size', $versionsSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Delete versions of a file
|
||||
*/
|
||||
public static function delete($filename) {
|
||||
list($uid, $filename) = self::getUidAndFilename($filename);
|
||||
$versions_fileview = new \OC_FilesystemView('/'.$uid .'/files_versions');
|
||||
|
||||
$abs_path = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$filename.'.v';
|
||||
if( ($versions = self::getVersions($filename)) ) {
|
||||
if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
|
||||
$versionsSize = self::calculateSize($uid);
|
||||
}
|
||||
foreach ($versions as $v) {
|
||||
unlink($abs_path . $v['version']);
|
||||
$versionsSize -= $v['size'];
|
||||
}
|
||||
\OCP\Config::setAppValue('files_versions', 'size', $versionsSize);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* rename versions of a file
|
||||
*/
|
||||
public static function rename($oldpath, $newpath) {
|
||||
list($uid, $oldpath) = self::getUidAndFilename($oldpath);
|
||||
list($uidn, $newpath) = self::getUidAndFilename($newpath);
|
||||
$versions_view = new \OC_FilesystemView('/'.$uid .'/files_versions');
|
||||
$files_view = new \OC_FilesystemView('/'.$uid .'/files');
|
||||
|
||||
if ( $files_view->is_dir($oldpath) && $versions_view->is_dir($oldpath) ) {
|
||||
$versions_view->rename($oldpath, $newpath);
|
||||
} else if ( ($versions = Storage::getVersions($oldpath)) ) {
|
||||
$info=pathinfo($abs_newpath);
|
||||
if(!file_exists($info['dirname'])) mkdir($info['dirname'], 0750, true);
|
||||
$versions = Storage::getVersions($oldpath);
|
||||
foreach ($versions as $v) {
|
||||
$versions_view->rename($oldpath.'.v'.$v['version'], $newpath.'.v'.$v['version']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* rollback to an old version of a file.
|
||||
*/
|
||||
|
@ -130,44 +150,27 @@ class Storage {
|
|||
list($uid, $filename) = self::getUidAndFilename($filename);
|
||||
$users_view = new \OC_FilesystemView('/'.$uid);
|
||||
|
||||
//first create a new version
|
||||
$version = 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename);
|
||||
if ( !$users_view->file_exists($version)) {
|
||||
$users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
|
||||
$versionCreated = true;
|
||||
}
|
||||
|
||||
// rollback
|
||||
if( @$users_view->copy('files_versions'.$filename.'.v'.$revision, 'files'.$filename) ) {
|
||||
|
||||
$users_view->touch('files'.$filename, $revision);
|
||||
Storage::expire($filename);
|
||||
return true;
|
||||
|
||||
}else{
|
||||
|
||||
return false;
|
||||
|
||||
}else if ( $versionCreated ) {
|
||||
$users_view->unlink($version);
|
||||
}
|
||||
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* check if old versions of a file exist.
|
||||
*/
|
||||
public static function isversioned($filename) {
|
||||
if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
|
||||
list($uid, $filename) = self::getUidAndFilename($filename);
|
||||
$versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
|
||||
|
||||
$versionsName=\OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath($filename);
|
||||
|
||||
// check for old versions
|
||||
$matches=glob($versionsName.'.v*');
|
||||
if(count($matches)>0) {
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}else{
|
||||
return(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief get a list of all available versions of a file in descending chronological order
|
||||
|
@ -187,92 +190,232 @@ class Storage {
|
|||
|
||||
sort( $matches );
|
||||
|
||||
$i = 0;
|
||||
|
||||
$files_view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/files');
|
||||
$files_view = new \OC_FilesystemView('/'.$uid.'/files');
|
||||
$local_file = $files_view->getLocalFile($filename);
|
||||
foreach( $matches as $ma ) {
|
||||
|
||||
$i++;
|
||||
$versions[$i]['cur'] = 0;
|
||||
foreach( $matches as $ma ) {
|
||||
$parts = explode( '.v', $ma );
|
||||
$versions[$i]['version'] = ( end( $parts ) );
|
||||
$version = ( end( $parts ) );
|
||||
$key = $version.'#'.$filename;
|
||||
$versions[$key]['cur'] = 0;
|
||||
$versions[$key]['version'] = $version;
|
||||
$versions[$key]['path'] = $filename;
|
||||
$versions[$key]['size'] = $versions_fileview->filesize($filename.'.v'.$version);
|
||||
|
||||
// if file with modified date exists, flag it in array as currently enabled version
|
||||
( \md5_file( $ma ) == \md5_file( $local_file ) ? $versions[$i]['fileMatch'] = 1 : $versions[$i]['fileMatch'] = 0 );
|
||||
( \md5_file( $ma ) == \md5_file( $local_file ) ? $versions[$key]['fileMatch'] = 1 : $versions[$key]['fileMatch'] = 0 );
|
||||
|
||||
}
|
||||
|
||||
$versions = array_reverse( $versions );
|
||||
|
||||
foreach( $versions as $key => $value ) {
|
||||
|
||||
// flag the first matched file in array (which will have latest modification date) as current version
|
||||
if ( $value['fileMatch'] ) {
|
||||
|
||||
$value['cur'] = 1;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$versions = array_reverse( $versions );
|
||||
|
||||
// only show the newest commits
|
||||
if( $count != 0 and ( count( $versions )>$count ) ) {
|
||||
|
||||
$versions = array_slice( $versions, count( $versions ) - $count );
|
||||
|
||||
}
|
||||
|
||||
return( $versions );
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
// if versioning isn't enabled then return an empty array
|
||||
return( array() );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get the size of all stored versions from a given user
|
||||
* @param $uid id from the user
|
||||
* @return size of vesions
|
||||
*/
|
||||
private static function calculateSize($uid) {
|
||||
if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) {
|
||||
$versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
|
||||
$versionsRoot = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('');
|
||||
|
||||
$iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($versionsRoot), \RecursiveIteratorIterator::CHILD_FIRST);
|
||||
|
||||
$size = 0;
|
||||
|
||||
foreach ($iterator as $path) {
|
||||
if ( preg_match('/^.+\.v(\d+)$/', $path, $match) ) {
|
||||
$relpath = substr($path, strlen($versionsRoot)-1);
|
||||
$size += $versions_fileview->filesize($relpath);
|
||||
}
|
||||
}
|
||||
|
||||
return $size;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief returns all stored file versions from a given user
|
||||
* @param $uid id to the user
|
||||
* @return array with contains two arrays 'all' which contains all versions sorted by age and 'by_file' which contains all versions sorted by filename
|
||||
*/
|
||||
private static function getAllVersions($uid) {
|
||||
if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) {
|
||||
$versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
|
||||
$versionsRoot = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('');
|
||||
|
||||
$iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($versionsRoot), \RecursiveIteratorIterator::CHILD_FIRST);
|
||||
|
||||
$versions = array();
|
||||
|
||||
foreach ($iterator as $path) {
|
||||
if ( preg_match('/^.+\.v(\d+)$/', $path, $match) ) {
|
||||
$relpath = substr($path, strlen($versionsRoot)-1);
|
||||
$versions[$match[1].'#'.$relpath] = array('path' => $relpath, 'timestamp' => $match[1]);
|
||||
}
|
||||
}
|
||||
|
||||
ksort($versions);
|
||||
|
||||
$i = 0;
|
||||
|
||||
$result = array();
|
||||
|
||||
foreach( $versions as $key => $value ) {
|
||||
$i++;
|
||||
$size = $versions_fileview->filesize($value['path']);
|
||||
$filename = substr($value['path'], 0, -strlen($value['timestamp'])-2);
|
||||
|
||||
$result['all'][$key]['version'] = $value['timestamp'];
|
||||
$result['all'][$key]['path'] = $filename;
|
||||
$result['all'][$key]['size'] = $size;
|
||||
|
||||
$filename = substr($value['path'], 0, -strlen($value['timestamp'])-2);
|
||||
$result['by_file'][$filename][$key]['version'] = $value['timestamp'];
|
||||
$result['by_file'][$filename][$key]['path'] = $filename;
|
||||
$result['by_file'][$filename][$key]['size'] = $size;
|
||||
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Erase a file's versions which exceed the set quota
|
||||
*/
|
||||
public static function expire($filename) {
|
||||
private static function expire($filename, $versionsSize = null) {
|
||||
if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
|
||||
list($uid, $filename) = self::getUidAndFilename($filename);
|
||||
list($uid, $filename) = self::getUidAndFilename($filename);
|
||||
$versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
|
||||
|
||||
$versionsName=\OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath($filename);
|
||||
|
||||
// check for old versions
|
||||
$matches = glob( $versionsName.'.v*' );
|
||||
|
||||
if( count( $matches ) > \OCP\Config::getSystemValue( 'files_versionmaxversions', Storage::DEFAULTMAXVERSIONS ) ) {
|
||||
|
||||
$numberToDelete = count($matches) - \OCP\Config::getSystemValue( 'files_versionmaxversions', Storage::DEFAULTMAXVERSIONS );
|
||||
|
||||
// delete old versions of a file
|
||||
$deleteItems = array_slice( $matches, 0, $numberToDelete );
|
||||
|
||||
foreach( $deleteItems as $de ) {
|
||||
|
||||
unlink( $versionsName.'.v'.$de );
|
||||
|
||||
|
||||
// get available disk space for user
|
||||
$quota = \OCP\Util::computerFileSize(\OC_Preferences::getValue($uid, 'files', 'quota'));
|
||||
if ( $quota == null ) {
|
||||
$quota = \OCP\Util::computerFileSize(\OC_Appconfig::getValue('files', 'default_quota'));
|
||||
}
|
||||
if ( $quota == null ) {
|
||||
$quota = \OC_Filesystem::free_space('/');
|
||||
}
|
||||
|
||||
// make sure that we have the current size of the version history
|
||||
if ( $versionsSize === null ) {
|
||||
if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
|
||||
$versionsSize = self::calculateSize($uid);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Erase all old versions of all user files
|
||||
* @return true/false
|
||||
*/
|
||||
public function expireAll() {
|
||||
$view = \OCP\Files::getStorage('files_versions');
|
||||
return $view->deleteAll('', true);
|
||||
// calculate available space for version history
|
||||
$rootInfo = \OC_FileCache::get('', '/'. $uid . '/files');
|
||||
$free = $quota-$rootInfo['size']; // remaining free space for user
|
||||
if ( $free > 0 ) {
|
||||
$availableSpace = ($free * self::DEFAULTMAXSIZE / 100) - $versionsSize; // how much space can be used for versions
|
||||
} else {
|
||||
$availableSpace = $free-$versionsSize;
|
||||
}
|
||||
|
||||
// after every 1000s run reduce the number of all versions not only for the current file
|
||||
$random = rand(0, 1000);
|
||||
if ($random == 0) {
|
||||
$result = Storage::getAllVersions($uid);
|
||||
$versions_by_file = $result['by_file'];
|
||||
$all_versions = $result['all'];
|
||||
} else {
|
||||
$all_versions = Storage::getVersions($filename);
|
||||
$versions_by_file[$filename] = $all_versions;
|
||||
}
|
||||
|
||||
$time = time();
|
||||
|
||||
// it is possible to expire versions from more than one file
|
||||
// iterate through all given files
|
||||
foreach ($versions_by_file as $filename => $versions) {
|
||||
$versions = array_reverse($versions); // newest version first
|
||||
|
||||
$interval = 1;
|
||||
$step = Storage::$max_versions_per_interval[$interval]['step'];
|
||||
if (Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'] == -1) {
|
||||
$nextInterval = -1;
|
||||
} else {
|
||||
$nextInterval = $time - Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'];
|
||||
}
|
||||
|
||||
$firstVersion = reset($versions);
|
||||
$firstKey = key($versions);
|
||||
$prevTimestamp = $firstVersion['version'];
|
||||
$nextVersion = $firstVersion['version'] - $step;
|
||||
$remaining_versions[$firstKey] = $firstVersion;
|
||||
unset($versions[$firstKey]);
|
||||
|
||||
foreach ($versions as $key => $version) {
|
||||
$newInterval = true;
|
||||
while ( $newInterval ) {
|
||||
if ( $nextInterval == -1 || $version['version'] >= $nextInterval ) {
|
||||
if ( $version['version'] > $nextVersion ) {
|
||||
//distance between two version too small, delete version
|
||||
$versions_fileview->unlink($version['path'].'.v'.$version['version']);
|
||||
$availableSpace += $version['size'];
|
||||
$versionsSize -= $version['size'];
|
||||
unset($all_versions[$key]); // update array with all versions
|
||||
} else {
|
||||
$nextVersion = $version['version'] - $step;
|
||||
}
|
||||
$newInterval = false; // version checked so we can move to the next one
|
||||
} else { // time to move on to the next interval
|
||||
$interval++;
|
||||
$step = Storage::$max_versions_per_interval[$interval]['step'];
|
||||
$nextVersion = $prevTimestamp - $step;
|
||||
if ( Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'] == -1 ) {
|
||||
$nextInterval = -1;
|
||||
} else {
|
||||
$nextInterval = $time - Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'];
|
||||
}
|
||||
$newInterval = true; // we changed the interval -> check same version with new interval
|
||||
}
|
||||
}
|
||||
$prevTimestamp = $version['version'];
|
||||
}
|
||||
}
|
||||
|
||||
// check if enough space is available after versions are rearranged.
|
||||
// if not we delete the oldest versions until we meet the size limit for versions
|
||||
$numOfVersions = count($all_versions);
|
||||
$i = 0;
|
||||
while ($availableSpace < 0) {
|
||||
if ($i = $numOfVersions-2) break; // keep at least the last version
|
||||
$versions_fileview->unlink($all_versions[$i]['path'].'.v'.$all_versions[$i]['version']);
|
||||
$versionsSize -= $all_versions[$i]['size'];
|
||||
$availableSpace += $all_versions[$i]['size'];
|
||||
$i++;
|
||||
}
|
||||
|
||||
return $versionsSize; // finally return the new size of the version history
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<?php
|
||||
|
||||
$tmpl = new OCP\Template( 'files_versions', 'settings-personal');
|
||||
|
||||
OCP\Util::addscript('files_versions', 'settings-personal');
|
||||
|
||||
return $tmpl->fetchPage();
|
|
@ -1,12 +0,0 @@
|
|||
<form id="versions">
|
||||
<fieldset class="personalblock">
|
||||
<legend>
|
||||
<strong><?php echo $l->t('Versions'); ?></strong>
|
||||
</legend>
|
||||
<button id="expireAllBtn">
|
||||
<?php echo $l->t('Expire all versions'); ?>
|
||||
<img style="display: none;" class="expireAllLoading" src="<?php echo OCP\Util::imagePath('core', 'loading.gif'); ?>" />
|
||||
</button>
|
||||
<br /><em><?php echo $l->t('This will delete all existing backup versions of your files'); ?></em>
|
||||
</fieldset>
|
||||
</form>
|
|
@ -0,0 +1,4 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Password" => "Парола",
|
||||
"Help" => "Помощ"
|
||||
);
|
|
@ -1,4 +1,37 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Host" => "হোস্ট",
|
||||
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "SSL আবশ্যক না হলে আপনি এই প্রটোকলটি মুছে ফেলতে পারেন । এরপর শুরু করুন এটা দিয়ে ldaps://",
|
||||
"Base DN" => "ভিত্তি DN",
|
||||
"You can specify Base DN for users and groups in the Advanced tab" => "সুচারু ট্যঅবে গিয়ে আপনি ব্যবহারকারি এবং গোষ্ঠীসমূহের জন্য ভিত্তি DN নির্ধারণ করতে পারেন।",
|
||||
"User DN" => "ব্যবহারকারি 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." => "The DN of the client user with which the bind shall be done, e.g. 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." => "প্রবেশের চেষ্টা করার সময় প্রযোজ্য ছাঁকনীটি নির্ধারণ করবে। প্রবেশের সময় ব্যবহারকারী নামটি %%uid দিয়ে প্রতিস্থাপিত হবে।",
|
||||
"use %%uid placeholder, e.g. \"uid=%%uid\"" => "%%uid স্থানধারক ব্যবহার করুন, উদাহরণঃ \"uid=%%uid\"",
|
||||
"User List Filter" => "ব্যবহারকারী তালিকা ছাঁকনী",
|
||||
"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." => "গোষ্ঠীসমূহ উদ্ধার করার সময় প্রয়োগের জন্য ছাঁকনী নির্ধারণ করবে।",
|
||||
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "কোন স্থান ধারক ব্যতীত, উদাহরণঃ\"objectClass=posixGroup\"।",
|
||||
"Port" => "পোর্ট",
|
||||
"Base User Tree" => "ভিত্তি ব্যবহারকারি বৃক্ষাকারে",
|
||||
"Base Group Tree" => "ভিত্তি গোষ্ঠী বৃক্ষাকারে",
|
||||
"Group-Member association" => "গোষ্ঠী-সদস্য সংস্থাপন",
|
||||
"Use TLS" => "TLS ব্যবহার কর",
|
||||
"Do not use it for SSL connections, it will fail." => "SSL সংযোগের জন্য এটি ব্যবহার করবেন না, তাহলে ব্যর্থ হবেনই।",
|
||||
"Case insensitve LDAP server (Windows)" => "বর্ণ অসংবেদী LDAP সার্ভার (উইন্ডোজ)",
|
||||
"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" => "ব্যবহারকারীর প্রদর্শিতব্য নামের ক্ষেত্র",
|
||||
"The LDAP attribute to use to generate the user`s ownCloud name." => "ব্যবহারকারীর ownCloud নাম তৈরি করার জন্য ব্যভহৃত LDAP বৈশিষ্ট্য।",
|
||||
"Group Display Name Field" => "গোষ্ঠীর প্রদর্শিতব্য নামের ক্ষেত্র",
|
||||
"The LDAP attribute to use to generate the groups`s ownCloud name." => "গোষ্ঠীর ownCloud নাম তৈরি করার জন্য ব্যভহৃত LDAP বৈশিষ্ট্য।",
|
||||
"in bytes" => "বাইটে",
|
||||
"in seconds. A change empties the cache." => "সেকেন্ডে। কোন পরিবর্তন ক্যাসে খালি করবে।",
|
||||
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "ব্যবহারকারী নামের জন্য ফাঁকা রাখুন (পূর্বনির্ধারিত)। অন্যথায়, LDAP/AD বৈশিষ্ট্য নির্ধারণ করুন।",
|
||||
"Help" => "সহায়িকা"
|
||||
);
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Host" => "מארח",
|
||||
"User DN" => "DN משתמש",
|
||||
"Password" => "סיסמא",
|
||||
"For anonymous access, leave DN and Password empty." => "לגישה אנונימית, השאר את הDM והסיסמא ריקים.",
|
||||
"User Login Filter" => "סנן כניסת משתמש",
|
||||
"User List Filter" => "סנן רשימת משתמשים",
|
||||
"Group Filter" => "סנן קבוצה",
|
||||
"in bytes" => "בבתים",
|
||||
"in seconds. A change empties the cache." => "בשניות. שינוי מרוקן את המטמון.",
|
||||
"Help" => "עזרה"
|
||||
);
|
|
@ -17,6 +17,7 @@
|
|||
"Group Filter" => "A csoportok szűrője",
|
||||
"Defines the filter to apply, when retrieving groups." => "Ez a szűrő érvényes a csoportok listázásakor.",
|
||||
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "itt ne használjunk változót, pl. \"objectClass=posixGroup\".",
|
||||
"Port" => "Port",
|
||||
"Base User Tree" => "A felhasználói fa gyökere",
|
||||
"Base Group Tree" => "A csoportfa gyökere",
|
||||
"Group-Member association" => "A csoporttagság attribútuma",
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>경고</b>user_ldap 앱과 user_webdavauth 앱은 호환되지 않습니다. 오동작을 일으킬 수 있으므로, 시스템 관리자에게 요청하여, 둘 중 하나를 비활성화 하시기 바랍니다.",
|
||||
"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>경고</b>PHP LDAP 모듈이 설치되지 않았습니다. 백엔드가 동작하지 않을 것 입니다. 시스템관리자에게 요청하여 해당 모듈을 설치하시기 바랍니다.",
|
||||
"Host" => "호스트",
|
||||
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "SSL을 사용하는 경우가 아니라면 프로토콜을 입력하지 않아도 됩니다. SSL을 사용하려면 ldaps://를 입력하십시오.",
|
||||
"Base DN" => "기본 DN",
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"URL: http://" => "URL:http://",
|
||||
"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct."
|
||||
);
|
|
@ -1,3 +1,4 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"URL: http://" => "URL : http://"
|
||||
"URL: http://" => "URL : http://",
|
||||
"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud "
|
||||
);
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"WebDAV URL: http://" => "WebDAV URL: http://"
|
||||
"URL: http://" => "URL: http://",
|
||||
"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud는 이 URL로 유저 인증을 보내게 되며, http 401 과 http 403은 인증 오류로, 그 외 코드는 인증이 올바른 것으로 해석합니다."
|
||||
);
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<form id="webdavauth" action="#" method="post">
|
||||
<fieldset class="personalblock">
|
||||
<legend><strong>WebDAV Authentication</strong></legend>
|
||||
<legend><strong><?php echo $l->t('WebDAV Authentication');?></strong></legend>
|
||||
<p><label for="webdav_url"><?php echo $l->t('URL: http://');?><input type="text" id="webdav_url" name="webdav_url" value="<?php echo $_['webdav_url']; ?>"></label>
|
||||
<input type="submit" value="Save" />
|
||||
<br /><?php echo $l->t('ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct.'); ?>
|
||||
<br /><?php echo $l->t('ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials.'); ?>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
|
|
@ -65,7 +65,7 @@ class OC_USER_WEBDAVAUTH extends OC_User_Backend {
|
|||
}
|
||||
|
||||
/*
|
||||
* we don´t know if a user exists without the password. so we have to return false all the time
|
||||
* we don´t know if a user exists without the password. so we have to return true all the time
|
||||
*/
|
||||
public function userExists( $uid ){
|
||||
return true;
|
||||
|
|
|
@ -36,12 +36,6 @@ $CONFIG = array(
|
|||
/* The automatic protocol detection of ownCloud can fail in certain reverse proxy situations. This option allows to manually override the protocol detection. For example "https" */
|
||||
"overwriteprotocol" => "",
|
||||
|
||||
/* Enhanced auth forces users to enter their password again when performing potential sensitive actions like creating or deleting users */
|
||||
"enhancedauth" => true,
|
||||
|
||||
/* Time in seconds how long an user is authenticated without entering his password again before performing sensitive actions like creating or deleting users etc...*/
|
||||
"enhancedauthtime" => 15 * 60,
|
||||
|
||||
/* A proxy to use to connect to the internet. For example "myproxy.org:88" */
|
||||
"proxy" => "",
|
||||
|
||||
|
|
|
@ -5,15 +5,25 @@
|
|||
ul.multiselectoptions {
|
||||
background-color:#fff;
|
||||
border:1px solid #ddd;
|
||||
border-bottom-left-radius:.5em;
|
||||
border-bottom-right-radius:.5em;
|
||||
border-top:none;
|
||||
box-shadow:0 1px 1px #ddd;
|
||||
padding-top:.5em;
|
||||
position:absolute;
|
||||
max-height: 20em;
|
||||
overflow-y: auto;
|
||||
z-index:49;
|
||||
}
|
||||
|
||||
ul.multiselectoptions.down {
|
||||
border-bottom-left-radius:.5em;
|
||||
border-bottom-right-radius:.5em;
|
||||
}
|
||||
|
||||
ul.multiselectoptions.up {
|
||||
border-top-left-radius:.5em;
|
||||
border-top-right-radius:.5em;
|
||||
}
|
||||
|
||||
ul.multiselectoptions>li {
|
||||
overflow:hidden;
|
||||
white-space:nowrap;
|
||||
|
@ -30,11 +40,20 @@
|
|||
|
||||
div.multiselect.active {
|
||||
background-color:#fff;
|
||||
position:relative;
|
||||
z-index:50;
|
||||
}
|
||||
|
||||
div.multiselect.up {
|
||||
border-top:0 none;
|
||||
border-top-left-radius:0;
|
||||
border-top-right-radius:0;
|
||||
}
|
||||
|
||||
div.multiselect.down {
|
||||
border-bottom:none;
|
||||
border-bottom-left-radius:0;
|
||||
border-bottom-right-radius:0;
|
||||
position:relative;
|
||||
z-index:50;
|
||||
}
|
||||
|
||||
div.multiselect>span:first-child {
|
||||
|
|
|
@ -34,7 +34,7 @@ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#35537a', endC
|
|||
|
||||
/* INPUTS */
|
||||
input[type="text"], input[type="password"] { cursor:text; }
|
||||
input:not([type="checkbox"]), textarea, select, button, .button, #quota, div.jp-progress, .pager li a {
|
||||
input, textarea, select, button, .button, #quota, div.jp-progress, .pager li a {
|
||||
width:10em; margin:.3em; padding:.6em .5em .4em;
|
||||
font-size:1em; font-family:Arial, Verdana, sans-serif;
|
||||
background:#fff; color:#333; border:1px solid #ddd; outline:none;
|
||||
|
@ -56,7 +56,7 @@ input[type="checkbox"]:hover+label, input[type="checkbox"]:focus+label { color:#
|
|||
/* BUTTONS */
|
||||
input[type="submit"], input[type="button"], button, .button, #quota, div.jp-progress, select, .pager li a {
|
||||
width:auto; padding:.4em;
|
||||
background-color:rgba(230,230,230,.5); font-weight:bold; color:#555; text-shadow:#fff 0 1px 0; border:1px solid rgba(180,180,180,.5); cursor:pointer;
|
||||
background-color:rgba(230,230,230,.5); font-weight:bold; color:#555; text-shadow:#fff 0 1px 0; border:1px solid #bbb; border:1px solid rgba(180,180,180,.5); cursor:pointer;
|
||||
-moz-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset; -webkit-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset; box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset;
|
||||
-moz-border-radius:.5em; -webkit-border-radius:.5em; border-radius:.5em;
|
||||
}
|
||||
|
|
|
@ -50,6 +50,6 @@ OC.AppConfig={
|
|||
},
|
||||
deleteApp:function(app){
|
||||
OC.AppConfig.postCall('deleteApp',{app:app});
|
||||
},
|
||||
}
|
||||
};
|
||||
//TODO OC.Preferences
|
||||
|
|
|
@ -343,8 +343,15 @@ if(typeof localStorage !=='undefined' && localStorage !== null){
|
|||
return localStorage.setItem(OC.localStorage.namespace+name,JSON.stringify(item));
|
||||
},
|
||||
getItem:function(name){
|
||||
if(localStorage.getItem(OC.localStorage.namespace+name)===null){return null;}
|
||||
return JSON.parse(localStorage.getItem(OC.localStorage.namespace+name));
|
||||
var item = localStorage.getItem(OC.localStorage.namespace+name);
|
||||
if(item===null) {
|
||||
return null;
|
||||
} else if (typeof JSON === 'undefined') {
|
||||
//fallback to jquery for IE6/7/8
|
||||
return $.parseJSON(item);
|
||||
} else {
|
||||
return JSON.parse(item);
|
||||
}
|
||||
}
|
||||
};
|
||||
}else{
|
||||
|
@ -615,7 +622,7 @@ $(document).ready(function(){
|
|||
$('.jp-controls .jp-previous').tipsy({gravity:'nw', fade:true, live:true});
|
||||
$('.jp-controls .jp-next').tipsy({gravity:'n', fade:true, live:true});
|
||||
$('.password .action').tipsy({gravity:'se', fade:true, live:true});
|
||||
$('#upload a').tipsy({gravity:'w', fade:true});
|
||||
$('#upload').tipsy({gravity:'w', fade:true});
|
||||
$('.selectedActions a').tipsy({gravity:'s', fade:true, live:true});
|
||||
$('a.delete').tipsy({gravity: 'e', fade:true, live:true});
|
||||
$('a.action').tipsy({gravity:'s', fade:true, live:true});
|
||||
|
|
|
@ -1,20 +1,44 @@
|
|||
/**
|
||||
* @param 'createCallback' A function to be called when a new entry is created. Two arguments are supplied to this function:
|
||||
* The select element used and the value of the option. If the function returns false addition will be cancelled. If it returns
|
||||
* anything else it will be used as the value of the newly added option.
|
||||
* @param 'createText' The placeholder text for the create action.
|
||||
* @param 'title' The title to show if no options are selected.
|
||||
* @param 'checked' An array containing values for options that should be checked. Any options which are already selected will be added to this array.
|
||||
* @param 'labels' The corresponding labels to show for the checked items.
|
||||
* @param 'oncheck' Callback function which will be called when a checkbox/radiobutton is selected. If the function returns false the input will be unchecked.
|
||||
* @param 'onuncheck' @see 'oncheck'.
|
||||
* @param 'singleSelect' If true radiobuttons will be used instead of checkboxes.
|
||||
*/
|
||||
(function( $ ){
|
||||
var multiSelectId=-1;
|
||||
$.fn.multiSelect=function(options){
|
||||
$.fn.multiSelect=function(options) {
|
||||
multiSelectId++;
|
||||
var settings = {
|
||||
'createCallback':false,
|
||||
'createText':false,
|
||||
'singleSelect':false,
|
||||
'selectedFirst':false,
|
||||
'sort':true,
|
||||
'title':this.attr('title'),
|
||||
'checked':[],
|
||||
'labels':[],
|
||||
'oncheck':false,
|
||||
'onuncheck':false,
|
||||
'minWidth': 'default;',
|
||||
};
|
||||
$(this).attr('data-msid', multiSelectId);
|
||||
$.extend(settings,options);
|
||||
$.each(this.children(),function(i,option){
|
||||
if($(option).attr('selected') && settings.checked.indexOf($(option).val())==-1){
|
||||
$.each(this.children(),function(i,option) {
|
||||
// If the option is selected, but not in the checked array, add it.
|
||||
if($(option).attr('selected') && settings.checked.indexOf($(option).val()) === -1) {
|
||||
settings.checked.push($(option).val());
|
||||
settings.labels.push($(option).text().trim());
|
||||
}
|
||||
// If the option is in the checked array but not selected, select it.
|
||||
else if(settings.checked.indexOf($(option).val()) !== -1 && !$(option).attr('selected')) {
|
||||
$(option).attr('selected', 'selected');
|
||||
settings.labels.push($(option).text().trim());
|
||||
}
|
||||
});
|
||||
var button=$('<div class="multiselect button"><span>'+settings.title+'</span><span>▾</span></div>');
|
||||
|
@ -24,24 +48,36 @@
|
|||
button.selectedItems=[];
|
||||
this.hide();
|
||||
this.before(span);
|
||||
if(settings.minWidth=='default'){
|
||||
if(settings.minWidth=='default') {
|
||||
settings.minWidth=button.width();
|
||||
}
|
||||
button.css('min-width',settings.minWidth);
|
||||
settings.minOuterWidth=button.outerWidth()-2;
|
||||
button.data('settings',settings);
|
||||
if(settings.checked.length>0){
|
||||
button.children('span').first().text(settings.checked.join(', '));
|
||||
|
||||
if(!settings.singleSelect && settings.checked.length>0) {
|
||||
button.children('span').first().text(settings.labels.join(', '));
|
||||
} else if(settings.singleSelect) {
|
||||
button.children('span').first().text(this.find(':selected').text());
|
||||
}
|
||||
|
||||
var self = this;
|
||||
self.menuDirection = 'down';
|
||||
button.click(function(event){
|
||||
|
||||
var button=$(this);
|
||||
if(button.parent().children('ul').length>0){
|
||||
button.parent().children('ul').slideUp(400,function(){
|
||||
button.parent().children('ul').remove();
|
||||
button.removeClass('active');
|
||||
});
|
||||
if(button.parent().children('ul').length>0) {
|
||||
if(self.menuDirection === 'down') {
|
||||
button.parent().children('ul').slideUp(400,function() {
|
||||
button.parent().children('ul').remove();
|
||||
button.removeClass('active down');
|
||||
});
|
||||
} else {
|
||||
button.parent().children('ul').fadeOut(400,function() {
|
||||
button.parent().children('ul').remove();
|
||||
button.removeClass('active up');
|
||||
});
|
||||
}
|
||||
return;
|
||||
}
|
||||
var lists=$('ul.multiselectoptions');
|
||||
|
@ -54,49 +90,69 @@
|
|||
event.stopPropagation();
|
||||
var options=$(this).parent().next().children();
|
||||
var list=$('<ul class="multiselectoptions"/>').hide().appendTo($(this).parent());
|
||||
function createItem(element,checked){
|
||||
var inputType = settings.singleSelect ? 'radio' : 'checkbox';
|
||||
function createItem(element, checked){
|
||||
element=$(element);
|
||||
var item=element.val();
|
||||
var id='ms'+multiSelectId+'-option-'+item;
|
||||
var input=$('<input type="checkbox"/>');
|
||||
var input=$('<input type="' + inputType + '"/>');
|
||||
input.attr('id',id);
|
||||
if(settings.singleSelect) {
|
||||
input.attr('name', 'ms'+multiSelectId+'-option');
|
||||
}
|
||||
var label=$('<label/>');
|
||||
label.attr('for',id);
|
||||
label.text(item);
|
||||
if(settings.checked.indexOf(item)!=-1 || checked){
|
||||
input.attr('checked',true);
|
||||
label.text(element.text() || item);
|
||||
if(settings.checked.indexOf(item)!=-1 || checked) {
|
||||
input.attr('checked', true);
|
||||
}
|
||||
if(checked){
|
||||
settings.checked.push(item);
|
||||
if(settings.singleSelect) {
|
||||
settings.checked = [item];
|
||||
settings.labels = [item];
|
||||
} else {
|
||||
settings.checked.push(item);
|
||||
settings.labels.push(item);
|
||||
}
|
||||
}
|
||||
input.change(function(){
|
||||
var groupname=$(this).next().text();
|
||||
if($(this).is(':checked')){
|
||||
var value = $(this).attr('id').substring(String('ms'+multiSelectId+'-option').length+1);
|
||||
var label = $(this).next().text().trim();
|
||||
if($(this).is(':checked')) {
|
||||
if(settings.singleSelect) {
|
||||
settings.checked = [];
|
||||
settings.labels = [];
|
||||
$.each(self.find('option'), function() {
|
||||
$(this).removeAttr('selected');
|
||||
});
|
||||
}
|
||||
element.attr('selected','selected');
|
||||
if(settings.oncheck){
|
||||
if(settings.oncheck(groupname)===false){
|
||||
if(typeof settings.oncheck === 'function') {
|
||||
if(settings.oncheck(value)===false) {
|
||||
$(this).attr('checked', false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
settings.checked.push(groupname);
|
||||
}else{
|
||||
var index=settings.checked.indexOf(groupname);
|
||||
settings.checked.push(value);
|
||||
settings.labels.push(label);
|
||||
$(this).parent().addClass('checked');
|
||||
} else {
|
||||
var index=settings.checked.indexOf(value);
|
||||
element.attr('selected',null);
|
||||
if(settings.onuncheck){
|
||||
if(settings.onuncheck(groupname)===false){
|
||||
if(typeof settings.onuncheck === 'function') {
|
||||
if(settings.onuncheck(value)===false) {
|
||||
$(this).attr('checked',true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
$(this).parent().removeClass('checked');
|
||||
settings.checked.splice(index,1);
|
||||
settings.labels.splice(index,1);
|
||||
}
|
||||
var oldWidth=button.width();
|
||||
if(settings.checked.length>0){
|
||||
button.children('span').first().text(settings.checked.join(', '));
|
||||
}else{
|
||||
button.children('span').first().text(settings.title);
|
||||
}
|
||||
button.children('span').first().text(settings.labels.length > 0
|
||||
? settings.labels.join(', ')
|
||||
: settings.title);
|
||||
var newOuterWidth=Math.max((button.outerWidth()-2),settings.minOuterWidth)+'px';
|
||||
var newWidth=Math.max(button.width(),settings.minWidth);
|
||||
var pos=button.position();
|
||||
|
@ -110,6 +166,9 @@
|
|||
});
|
||||
var li=$('<li></li>');
|
||||
li.append(input).append(label);
|
||||
if(input.is(':checked')) {
|
||||
li.addClass('checked');
|
||||
}
|
||||
return li;
|
||||
}
|
||||
$.each(options,function(index,item){
|
||||
|
@ -117,13 +176,13 @@
|
|||
});
|
||||
button.parent().data('preventHide',false);
|
||||
if(settings.createText){
|
||||
var li=$('<li>+ <em>'+settings.createText+'<em></li>');
|
||||
var li=$('<li class="creator">+ <em>'+settings.createText+'<em></li>');
|
||||
li.click(function(event){
|
||||
li.empty();
|
||||
var input=$('<input class="new">');
|
||||
li.append(input);
|
||||
input.focus();
|
||||
input.css('width',button.width());
|
||||
input.css('width',button.innerWidth());
|
||||
button.parent().data('preventHide',true);
|
||||
input.keypress(function(event) {
|
||||
if(event.keyCode == 13) {
|
||||
|
@ -132,7 +191,7 @@
|
|||
var value = $(this).val();
|
||||
var exists = false;
|
||||
$.each(options,function(index, item) {
|
||||
if ($(item).val() == value) {
|
||||
if ($(item).val() == value || $(item).text() == value) {
|
||||
exists = true;
|
||||
return false;
|
||||
}
|
||||
|
@ -141,22 +200,39 @@
|
|||
return false;
|
||||
}
|
||||
var li=$(this).parent();
|
||||
var val = $(this).val()
|
||||
var select=button.parent().next();
|
||||
if(typeof settings.createCallback === 'function') {
|
||||
var response = settings.createCallback(select, val);
|
||||
if(response === false) {
|
||||
return false;
|
||||
} else if(typeof response !== 'undefined') {
|
||||
val = response;
|
||||
}
|
||||
}
|
||||
if(settings.singleSelect) {
|
||||
$.each(select.find('option:selected'), function() {
|
||||
$(this).removeAttr('selected');
|
||||
});
|
||||
}
|
||||
$(this).remove();
|
||||
li.text('+ '+settings.createText);
|
||||
li.before(createItem(this));
|
||||
var select=button.parent().next();
|
||||
var option=$('<option selected="selected"/>');
|
||||
option.attr('value',value);
|
||||
option.text($(this).val());
|
||||
option.text($(this).val()).val(val).attr('selected', 'selected');
|
||||
select.append(option);
|
||||
li.prev().children('input').trigger('click');
|
||||
li.prev().children('input').prop('checked', true).trigger('change');
|
||||
button.parent().data('preventHide',false);
|
||||
if(settings.createCallback){
|
||||
settings.createCallback($(this).val());
|
||||
button.children('span').first().text(settings.labels.length > 0
|
||||
? settings.labels.join(', ')
|
||||
: settings.title);
|
||||
if(self.menuDirection === 'up') {
|
||||
var list = li.parent();
|
||||
list.css('top', list.position().top-li.outerHeight());
|
||||
}
|
||||
}
|
||||
});
|
||||
input.blur(function(){
|
||||
input.blur(function() {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
$(this).remove();
|
||||
|
@ -168,21 +244,72 @@
|
|||
});
|
||||
list.append(li);
|
||||
}
|
||||
|
||||
var doSort = function(list, selector) {
|
||||
var rows = list.find('li'+selector).get();
|
||||
|
||||
if(settings.sort) {
|
||||
rows.sort(function(a, b) {
|
||||
return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
|
||||
});
|
||||
}
|
||||
|
||||
$.each(rows, function(index, row) {
|
||||
list.append(row);
|
||||
});
|
||||
};
|
||||
if(settings.sort && settings.selectedFirst) {
|
||||
doSort(list, '.checked');
|
||||
doSort(list, ':not(.checked)');
|
||||
} else if(settings.sort && !settings.selectedFirst) {
|
||||
doSort(list, '');
|
||||
}
|
||||
list.append(list.find('li.creator'));
|
||||
var pos=button.position();
|
||||
list.css('top',pos.top+button.outerHeight()-5);
|
||||
list.css('left',pos.left+3);
|
||||
list.css('width',(button.outerWidth()-2)+'px');
|
||||
list.slideDown();
|
||||
list.click(function(event){
|
||||
if($(document).height() > (button.offset().top+button.outerHeight() + list.children().length * button.height())
|
||||
|| $(document).height()/2 > pos.top
|
||||
) {
|
||||
list.css({
|
||||
top:pos.top+button.outerHeight()-5,
|
||||
left:pos.left+3,
|
||||
width:(button.outerWidth()-2)+'px',
|
||||
'max-height':($(document).height()-(button.offset().top+button.outerHeight()+10))+'px'
|
||||
});
|
||||
list.addClass('down');
|
||||
button.addClass('down');
|
||||
list.slideDown();
|
||||
} else {
|
||||
list.css('max-height', $(document).height()-($(document).height()-(pos.top)+50)+'px');
|
||||
list.css({
|
||||
top:pos.top - list.height(),
|
||||
left:pos.left+3,
|
||||
width:(button.outerWidth()-2)+'px'
|
||||
|
||||
});
|
||||
list.detach().insertBefore($(this));
|
||||
list.addClass('up');
|
||||
button.addClass('up');
|
||||
list.fadeIn();
|
||||
self.menuDirection = 'up';
|
||||
}
|
||||
list.click(function(event) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
});
|
||||
$(window).click(function(){
|
||||
if(!button.parent().data('preventHide')){
|
||||
button.parent().children('ul').slideUp(400,function(){
|
||||
button.parent().children('ul').remove();
|
||||
button.removeClass('active');
|
||||
});
|
||||
$(window).click(function() {
|
||||
if(!button.parent().data('preventHide')) {
|
||||
// How can I save the effect in a var?
|
||||
if(self.menuDirection === 'down') {
|
||||
button.parent().children('ul').slideUp(400,function() {
|
||||
button.parent().children('ul').remove();
|
||||
button.removeClass('active down');
|
||||
});
|
||||
} else {
|
||||
button.parent().children('ul').fadeOut(400,function() {
|
||||
button.parent().children('ul').remove();
|
||||
button.removeClass('active up');
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -98,7 +98,6 @@
|
|||
"Lost your password?" => "هل نسيت كلمة السر؟",
|
||||
"remember" => "تذكر",
|
||||
"Log in" => "أدخل",
|
||||
"You are logged out." => "تم الخروج بنجاح.",
|
||||
"prev" => "السابق",
|
||||
"next" => "التالي",
|
||||
"Security Warning!" => "تحذير أمان!",
|
||||
|
|
|
@ -1,62 +1,19 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"This category already exists: " => "Категорията вече съществува:",
|
||||
"No categories selected for deletion." => "Няма избрани категории за изтриване",
|
||||
"Settings" => "Настройки",
|
||||
"Cancel" => "Отказ",
|
||||
"No" => "Не",
|
||||
"Yes" => "Да",
|
||||
"Ok" => "Добре",
|
||||
"Error" => "Грешка",
|
||||
"seconds ago" => "преди секунди",
|
||||
"1 minute ago" => "преди 1 минута",
|
||||
"1 hour ago" => "преди 1 час",
|
||||
"today" => "днес",
|
||||
"yesterday" => "вчера",
|
||||
"last month" => "последният месец",
|
||||
"last year" => "последната година",
|
||||
"years ago" => "последните години",
|
||||
"Password" => "Парола",
|
||||
"You will receive a link to reset your password via Email." => "Ще получите връзка за нулиране на паролата Ви.",
|
||||
"Username" => "Потребител",
|
||||
"Request reset" => "Нулиране на заявка",
|
||||
"Your password was reset" => "Вашата парола е нулирана",
|
||||
"New password" => "Нова парола",
|
||||
"Reset password" => "Нулиране на парола",
|
||||
"Personal" => "Лични",
|
||||
"Users" => "Потребители",
|
||||
"Apps" => "Програми",
|
||||
"Apps" => "Приложения",
|
||||
"Admin" => "Админ",
|
||||
"Help" => "Помощ",
|
||||
"Access forbidden" => "Достъпът е забранен",
|
||||
"Cloud not found" => "облакът не намерен",
|
||||
"Edit categories" => "Редактиране на категориите",
|
||||
"Add" => "Добавяне",
|
||||
"Create an <strong>admin account</strong>" => "Създаване на <strong>админ профил</strong>",
|
||||
"Advanced" => "Разширено",
|
||||
"Data folder" => "Директория за данни",
|
||||
"Configure the database" => "Конфигуриране на базата",
|
||||
"will be used" => "ще се ползва",
|
||||
"Database user" => "Потребител за базата",
|
||||
"Database password" => "Парола за базата",
|
||||
"Database name" => "Име на базата",
|
||||
"Database host" => "Хост за базата",
|
||||
"Finish setup" => "Завършване на настройките",
|
||||
"Sunday" => "Неделя",
|
||||
"Monday" => "Понеделник",
|
||||
"Tuesday" => "Вторник",
|
||||
"Wednesday" => "Сряда",
|
||||
"Thursday" => "Четвъртък",
|
||||
"Friday" => "Петък",
|
||||
"Saturday" => "Събота",
|
||||
"January" => "Януари",
|
||||
"February" => "Февруари",
|
||||
"March" => "Март",
|
||||
"April" => "Април",
|
||||
"May" => "Май",
|
||||
"June" => "Юни",
|
||||
"July" => "Юли",
|
||||
"August" => "Август",
|
||||
"September" => "Септември",
|
||||
"October" => "Октомври",
|
||||
"November" => "Ноември",
|
||||
"December" => "Декември",
|
||||
"Log out" => "Изход",
|
||||
"Lost your password?" => "Забравена парола?",
|
||||
"remember" => "запомни",
|
||||
"Log in" => "Вход",
|
||||
"You are logged out." => "Вие излязохте.",
|
||||
"prev" => "пред.",
|
||||
"next" => "следващо"
|
||||
"web services under your control" => "уеб услуги под Ваш контрол"
|
||||
);
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"User %s shared a file with you" => "%s নামের ব্যবহারকারি আপনার সাথে একটা ফাইল ভাগাভাগি করেছেন",
|
||||
"User %s shared a folder with you" => "%s নামের ব্যবহারকারি আপনার সাথে একটা ফোল্ডার ভাগাভাগি করেছেন",
|
||||
"User %s shared the file \"%s\" with you. It is available for download here: %s" => "%s নামের ব্যবহারকারী \"%s\" ফাইলটি আপনার সাথে ভাগাভাগি করেছেন। এটি এখন এখানে ডাউনলোড করার জন্য সুলভঃ %s",
|
||||
"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "%s নামের ব্যবহারকারী \"%s\" ফোল্ডারটি আপনার সাথে ভাগাভাগি করেছেন। এটি এখন এখানে ডাউনলোড করার জন্য সুলভঃ %s",
|
||||
"Category type not provided." => "ক্যাটেগরির ধরণটি প্রদান করা হয় নি।",
|
||||
"No category to add?" => "যোগ করার মত কোন ক্যাটেগরি নেই ?",
|
||||
"This category already exists: " => "এই ক্যাটেগরিটি বিদ্যমানঃ",
|
||||
"This category already exists: " => "এই ক্যাটেগরিটি পূর্ব থেকেই বিদ্যমানঃ",
|
||||
"Object type not provided." => "অবজেক্টের ধরণটি প্রদান করা হয় নি।",
|
||||
"%s ID not provided." => "%s ID প্রদান করা হয় নি।",
|
||||
"Error adding %s to favorites." => "প্রিয়তে %s যোগ করতে সমস্যা দেখা দিয়েছে।",
|
||||
"No categories selected for deletion." => "মুছে ফেলার জন্য কোন ক্যাটেগরি নির্বাচন করা হয় নি।",
|
||||
"No categories selected for deletion." => "মুছে ফেলার জন্য কোন ক্যাটেগরি নির্বাচন করা হয় নি ।",
|
||||
"Error removing %s from favorites." => "প্রিয় থেকে %s সরিয়ে ফেলতে সমস্যা দেখা দিয়েছে।",
|
||||
"Settings" => "নিয়ামকসমূহ",
|
||||
"seconds ago" => "সেকেন্ড পূর্বে",
|
||||
|
@ -22,8 +25,8 @@
|
|||
"months ago" => "মাস পূর্বে",
|
||||
"last year" => "গত বছর",
|
||||
"years ago" => "বছর পূর্বে",
|
||||
"Choose" => "নির্বাচন",
|
||||
"Cancel" => "বাতিল",
|
||||
"Choose" => "বেছে নিন",
|
||||
"Cancel" => "বাতির",
|
||||
"No" => "না",
|
||||
"Yes" => "হ্যাঁ",
|
||||
"Ok" => "তথাস্তু",
|
||||
|
@ -31,64 +34,67 @@
|
|||
"Error" => "সমস্যা",
|
||||
"The app name is not specified." => "অ্যাপের নামটি সুনির্দিষ্ট নয়।",
|
||||
"The required file {file} is not installed!" => "আবশ্যিক {file} টি সংস্থাপিত নেই !",
|
||||
"Error while sharing" => "ভাগাভাগি করার সময় সমস্যা দেখা দিয়েছে",
|
||||
"Error while unsharing" => "ভাগাভাগি বাতিল করার সময় সমস্যা দেখা দিয়েছে",
|
||||
"Error while changing permissions" => "অনুমতি পরিবর্তন করার সময় সমস্যা দেখা দিয়েছে",
|
||||
"Share with" => "যাদের সাথে ভাগাভাগি করবে",
|
||||
"Share with link" => "লিংক সহযোগে ভাগাভাগি",
|
||||
"Password protect" => "কূটশব্দদ্বারা সুরক্ষিত",
|
||||
"Error while sharing" => "ভাগাভাগি করতে সমস্যা দেখা দিয়েছে ",
|
||||
"Error while unsharing" => "ভাগাভাগি বাতিল করতে সমস্যা দেখা দিয়েছে",
|
||||
"Error while changing permissions" => "অনুমতিসমূহ পরিবর্তন করতে সমস্যা দেখা দিয়েছে",
|
||||
"Shared with you and the group {group} by {owner}" => "{owner} আপনার এবং {group} গোষ্ঠীর সাথে ভাগাভাগি করেছেন",
|
||||
"Shared with you by {owner}" => "{owner} আপনার সাথে ভাগাভাগি করেছেন",
|
||||
"Share with" => "যাদের সাথে ভাগাভাগি করা হয়েছে",
|
||||
"Share with link" => "লিংকের সাথে ভাগাভাগি কর",
|
||||
"Password protect" => "কূটশব্দ সুরক্ষিত",
|
||||
"Password" => "কূটশব্দ",
|
||||
"Email link to person" => "ব্যক্তির সাথে ই-মেইল যুক্ত কর",
|
||||
"Send" => "পাঠাও",
|
||||
"Set expiration date" => "মেয়াদোত্তীর্ণ হওয়ার তারিখ নির্ধারণ করুন",
|
||||
"Expiration date" => "মেয়াদোত্তীর্ণ হওয়ার তারিখ",
|
||||
"Share via email:" => "ই-মেইলের মাধ্যমে ভাগাভাগি করঃ",
|
||||
"Share via email:" => "ই-মেইলের মাধ্যমে ভাগাভাগি করুনঃ",
|
||||
"No people found" => "কোন ব্যক্তি খুঁজে পাওয়া গেল না",
|
||||
"Resharing is not allowed" => "পূনরায় ভাগাভাগি করার অনুমতি নেই",
|
||||
"Unshare" => "ভাগাভাগি বাতিল",
|
||||
"can edit" => "সম্পাদনা করতে পারবে",
|
||||
"access control" => "অধিগম্যতার নিয়ন্ত্রণ",
|
||||
"create" => "তৈরি কর",
|
||||
"Resharing is not allowed" => "পূনঃরায় ভাগাভাগি অনুমোদিত নয়",
|
||||
"Shared in {item} with {user}" => "{user} এর সাথে {item} ভাগাভাগি করা হয়েছে",
|
||||
"Unshare" => "ভাগাভাগি বাতিল কর",
|
||||
"can edit" => "সম্পাদনা করতে পারবেন",
|
||||
"access control" => "অধিগম্যতা নিয়ন্ত্রণ",
|
||||
"create" => "তৈরী করুন",
|
||||
"update" => "পরিবর্ধন কর",
|
||||
"delete" => "মুছে ফেল",
|
||||
"share" => "ভাগাভাগি কর",
|
||||
"Password protected" => "কূটশব্দদ্বারা সুরক্ষিত",
|
||||
"Error unsetting expiration date" => "মেয়াদোত্তীর্ণ হওয়ার তারিখ নির্ধারণ বাতিল করতে সমস্যা",
|
||||
"Error setting expiration date" => "মেয়াদোত্তীর্ণ হওয়ার তারিখ নির্ধারণ করতে সমস্যা",
|
||||
"Error unsetting expiration date" => "মেয়াদোত্তীর্ণ হওয়ার তারিখ নির্ধারণ বাতিল করতে সমস্যা দেখা দিয়েছে",
|
||||
"Error setting expiration date" => "মেয়াদোত্তীর্ণ হওয়ার তারিখ নির্ধারণ করতে সমস্যা দেখা দিয়েছে",
|
||||
"Sending ..." => "পাঠানো হচ্ছে......",
|
||||
"Email sent" => "ই-মেইল পাঠানো হয়েছে",
|
||||
"ownCloud password reset" => "ownCloud কূটশব্দ পূনঃনির্ধারণ",
|
||||
"Use the following link to reset your password: {link}" => "কূটশব্দ পূনঃনির্ধারণ করতে নিম্নোক্ত লিংকে ক্লিক করুন:{link}",
|
||||
"You will receive a link to reset your password via Email." => "কূটশব্দ পূনঃনির্ধারণের জন্য একটি লিংক ই-মেইলের মাধ্যমে পাঠানো হয়েছে।",
|
||||
"Use the following link to reset your password: {link}" => "আপনার কূটশব্দটি পূনঃনির্ধারণ করার জন্য নিম্নোক্ত লিংকটি ব্যবহার করুনঃ {link}",
|
||||
"You will receive a link to reset your password via Email." => "কূটশব্দ পূনঃনির্ধারণের জন্য একটি টূনঃনির্ধারণ লিংকটি আপনাকে ই-মেইলে পাঠানো হয়েছে ।",
|
||||
"Reset email send." => "পূনঃনির্ধারণ ই-মেইল পাঠানো হয়েছে।",
|
||||
"Request failed!" => "অনুরোধ ব্যর্থ !",
|
||||
"Username" => "ব্যবহারকারি",
|
||||
"Request reset" => "পূনঃনির্ধারণের জন্য অনুরোধ",
|
||||
"Your password was reset" => "আপনার কূটশব্দটি পূনঃনির্ধারণ করা হয়েছে",
|
||||
"To login page" => "প্রবেশ পাতায়",
|
||||
"Username" => "ব্যবহারকারী",
|
||||
"Request reset" => "অনুরোধ পূনঃনির্ধারণ",
|
||||
"Your password was reset" => "আপনার কূটশব্দটি পূনঃনির্ধারণ করা হয়েছে",
|
||||
"To login page" => "প্রবেশ পৃষ্ঠায়",
|
||||
"New password" => "নতুন কূটশব্দ",
|
||||
"Reset password" => "কূটশব্দ পূনঃনির্ধারণ",
|
||||
"Reset password" => "কূটশব্দ পূনঃনির্ধারণ কর",
|
||||
"Personal" => "ব্যক্তিগত",
|
||||
"Users" => "ব্যবহারকারিবৃন্দ",
|
||||
"Users" => "ব্যবহারকারী",
|
||||
"Apps" => "অ্যাপস",
|
||||
"Admin" => "প্রশাসক",
|
||||
"Admin" => "প্রশাসন",
|
||||
"Help" => "সহায়িকা",
|
||||
"Access forbidden" => "অধিগমনের অনুমতি নেই",
|
||||
"Cloud not found" => "ক্লাউড খুঁজে পাওয়া গেল না",
|
||||
"Edit categories" => "ক্যাটেগরি সম্পাদনা",
|
||||
"Add" => "যোগ কর",
|
||||
"Security Warning" => "নিরাপত্তাজনিত সতর্কতা",
|
||||
"Create an <strong>admin account</strong>" => "<strong>প্রশাসক একাউন্ট</strong> তৈরি কর",
|
||||
"Create an <strong>admin account</strong>" => "<strong>প্রশাসক একাউন্ট</strong> তৈরী করুন",
|
||||
"Advanced" => "সুচারু",
|
||||
"Data folder" => "ডাটা ফোল্ডার",
|
||||
"Configure the database" => "ডাটাবেজ কনফিগার কর",
|
||||
"Data folder" => "ডাটা ফোল্ডার ",
|
||||
"Configure the database" => "ডাটাবেচ কনফিগার করুন",
|
||||
"will be used" => "ব্যবহৃত হবে",
|
||||
"Database user" => "ডাটাবেজ ব্যবহারকারি",
|
||||
"Database user" => "ডাটাবেজ ব্যবহারকারী",
|
||||
"Database password" => "ডাটাবেজ কূটশব্দ",
|
||||
"Database name" => "ডাটাবেজের নাম",
|
||||
"Database tablespace" => "ডাটাবেজ টেবিলস্পেস",
|
||||
"Database tablespace" => "ডাটাবেজ টেবলস্পেস",
|
||||
"Database host" => "ডাটাবেজ হোস্ট",
|
||||
"Finish setup" => "সেট-আপ সুসম্পন্ন কর",
|
||||
"Finish setup" => "সেটআপ সুসম্পন্ন কর",
|
||||
"Sunday" => "রবিবার",
|
||||
"Monday" => "সোমবার",
|
||||
"Tuesday" => "মঙ্গলবার",
|
||||
|
@ -103,19 +109,19 @@
|
|||
"May" => "মে",
|
||||
"June" => "জুন",
|
||||
"July" => "জুলাই",
|
||||
"August" => "অগাস্ট",
|
||||
"August" => "অগাষ্ট",
|
||||
"September" => "সেপ্টেম্বর",
|
||||
"October" => "অক্টোবর",
|
||||
"November" => "নভেম্বর",
|
||||
"December" => "ডিসেম্বর",
|
||||
"web services under your control" => "ওয়েব সেবাসমূহ এখন আপনার হাতের মুঠোয়",
|
||||
"web services under your control" => "ওয়েব সার্ভিসের নিয়ন্ত্রণ আপনার হাতের মুঠোয়",
|
||||
"Log out" => "প্রস্থান",
|
||||
"Lost your password?" => "আপনার কূটশব্দটি হারিয়েছেন ?",
|
||||
"Lost your password?" => "কূটশব্দ হারিয়েছেন?",
|
||||
"remember" => "মনে রাখ",
|
||||
"Log in" => "প্রবেশ",
|
||||
"You are logged out." => "আপনি প্রস্থান করেছেন",
|
||||
"prev" => "পূর্ববর্তী",
|
||||
"next" => "পরবর্তী",
|
||||
"Updating ownCloud to version %s, this may take a while." => "%s ভার্সনে ownCloud পরিবর্ধন করা হচ্ছে, এজন্য কিছু সময় প্রয়োজন।",
|
||||
"Security Warning!" => "নিরাপত্তাবিষয়ক সতর্কবাণী",
|
||||
"Verify" => "যাচাই কর"
|
||||
);
|
||||
|
|
|
@ -125,9 +125,9 @@
|
|||
"Lost your password?" => "Heu perdut la contrasenya?",
|
||||
"remember" => "recorda'm",
|
||||
"Log in" => "Inici de sessió",
|
||||
"You are logged out." => "Heu tancat la sessió.",
|
||||
"prev" => "anterior",
|
||||
"next" => "següent",
|
||||
"Updating ownCloud to version %s, this may take a while." => "S'està actualitzant ownCloud a la versió %s, pot trigar una estona.",
|
||||
"Security Warning!" => "Avís de seguretat!",
|
||||
"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Comproveu la vostra contrasenya. <br/>Per raons de seguretat se us pot demanar escriure de nou la vostra contrasenya.",
|
||||
"Verify" => "Comprova"
|
||||
|
|
|
@ -125,9 +125,9 @@
|
|||
"Lost your password?" => "Ztratili jste své heslo?",
|
||||
"remember" => "zapamatovat si",
|
||||
"Log in" => "Přihlásit",
|
||||
"You are logged out." => "Jste odhlášeni.",
|
||||
"prev" => "předchozí",
|
||||
"next" => "následující",
|
||||
"Updating ownCloud to version %s, this may take a while." => "Aktualizuji ownCloud na verzi %s, bude to chvíli trvat.",
|
||||
"Security Warning!" => "Bezpečnostní upozornění.",
|
||||
"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Ověřte, prosím, své heslo. <br/>Z bezpečnostních důvodů můžete být občas požádáni o jeho opětovné zadání.",
|
||||
"Verify" => "Ověřit"
|
||||
|
|
|
@ -125,7 +125,6 @@
|
|||
"Lost your password?" => "Mistet dit kodeord?",
|
||||
"remember" => "husk",
|
||||
"Log in" => "Log ind",
|
||||
"You are logged out." => "Du er nu logget ud.",
|
||||
"prev" => "forrige",
|
||||
"next" => "næste",
|
||||
"Security Warning!" => "Sikkerhedsadvarsel!",
|
||||
|
|
|
@ -125,9 +125,9 @@
|
|||
"Lost your password?" => "Passwort vergessen?",
|
||||
"remember" => "merken",
|
||||
"Log in" => "Einloggen",
|
||||
"You are logged out." => "Du wurdest abgemeldet.",
|
||||
"prev" => "Zurück",
|
||||
"next" => "Weiter",
|
||||
"Updating ownCloud to version %s, this may take a while." => "Aktualisiere ownCloud auf Version %s. Dies könnte eine Weile dauern.",
|
||||
"Security Warning!" => "Sicherheitswarnung!",
|
||||
"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Bitte bestätige Dein Passwort. <br/> Aus Sicherheitsgründen wirst Du hierbei gebeten, Dein Passwort erneut einzugeben.",
|
||||
"Verify" => "Bestätigen"
|
||||
|
|
|
@ -125,9 +125,9 @@
|
|||
"Lost your password?" => "Passwort vergessen?",
|
||||
"remember" => "merken",
|
||||
"Log in" => "Einloggen",
|
||||
"You are logged out." => "Sie wurden abgemeldet.",
|
||||
"prev" => "Zurück",
|
||||
"next" => "Weiter",
|
||||
"Updating ownCloud to version %s, this may take a while." => "Aktualisiere ownCloud auf Version %s. Dies könnte eine Weile dauern.",
|
||||
"Security Warning!" => "Sicherheitshinweis!",
|
||||
"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Bitte überprüfen Sie Ihr Passwort. <br/>Aus Sicherheitsgründen werden Sie gelegentlich aufgefordert, Ihr Passwort erneut einzugeben.",
|
||||
"Verify" => "Überprüfen"
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue