From 8c19c652b59c67aa5b94ed0749253136ed30f00c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 20 May 2020 21:13:17 +0200 Subject: [PATCH 01/47] override mimetype only if mimetype != 'applicatin/octet-stream' --- op/op.AddDocument.php | 4 +++- op/op.UpdateDocument.php | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 598d8b02a..704052eea 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -353,7 +353,9 @@ for ($file_num=0;$file_num_overrideMimeType) { $finfo = finfo_open(FILEINFO_MIME_TYPE); - $userfiletype = finfo_file($finfo, $userfiletmp); + $tmpfiletype = finfo_file($finfo, $userfiletmp); + if($tmpfiletype != 'application/octet-stream') + $userfiletype = $tmpfiletype; } if ((count($_FILES["userfile"]["tmp_name"])==1)&&($_POST["name"]!="")) diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index c39d1d5ca..2e8a377a7 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -102,7 +102,9 @@ if (isset($_FILES['userfile']) && $_FILES['userfile']['error'] == 0) { if($settings->_overrideMimeType) { $finfo = finfo_open(FILEINFO_MIME_TYPE); - $userfiletype = finfo_file($finfo, $userfiletmp); + $tmpfiletype = finfo_file($finfo, $userfiletmp); + if($tmpfiletype != 'application/octet-stream') + $userfiletype = $tmpfiletype; } } elseif($settings->_dropFolderDir) { if($_POST['dropfolderfileform1']) { From e718520baa42234390e57bc8843b26483c738fcc Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 22 May 2020 14:25:07 +0200 Subject: [PATCH 02/47] fix creating preview images in drop folder --- CHANGELOG | 1 + op/op.DropFolderPreview.php | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index b1f25b1e5..f3e5b286d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,6 +11,7 @@ - new seeddms logo - fix moving clipboard (Closes: #473) - show access rights of folder/document if user has write access +- fix creating preview images of documents in drop folder -------------------------------------------------------------------------------- Changes in version 5.1.16 diff --git a/op/op.DropFolderPreview.php b/op/op.DropFolderPreview.php index 8a0da1513..84f36213b 100644 --- a/op/op.DropFolderPreview.php +++ b/op/op.DropFolderPreview.php @@ -48,6 +48,9 @@ $dir = $dropfolderdir.'/'.$user->getLogin(); if(!file_exists($dir.'/'.$filename)) exit; +$finfo = finfo_open(FILEINFO_MIME_TYPE); +$mimetype = finfo_file($finfo, $dir.'/'.$filename); + if(!empty($_GET["width"])) $previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir, $_GET["width"]); else @@ -55,7 +58,7 @@ else $previewer->setConverters($settings->_converters['preview']); $previewer->setXsendfile($settings->_enableXsendfile); if(!$previewer->hasRawPreview($dir.'/'.$filename, 'dropfolder/')) - $previewer->createRawPreview($dir.'/'.$filename, 'dropfolder/'); + $previewer->createRawPreview($dir.'/'.$filename, 'dropfolder/', $mimetype); header('Content-Type: image/png'); $previewer->getRawPreview($dir.'/'.$filename, 'dropfolder/'); From dd146a6f5e1d53426a2bb35708bb9e629c77b696 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 22 May 2020 16:25:50 +0200 Subject: [PATCH 03/47] fix getDocumentsExpired(), need to create temp tables --- SeedDMS_Core/Core/inc.ClassDMS.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index f3c65c68d..7fdba28d5 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -670,6 +670,10 @@ class SeedDMS_Core_DMS { function getDocumentsExpired($date, $user=null) { /* {{{ */ $db = $this->getDB(); + if (!$db->createTemporaryTable("ttstatid") || !$db->createTemporaryTable("ttcontentid")) { + return false; + } + if(is_int($date)) { $ts = mktime(0, 0, 0) + $date * 86400; } elseif(is_string($date)) { From 574dd54e1de8eea5565ebc4d4ae70a7cb23198d5 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 22 May 2020 16:26:23 +0200 Subject: [PATCH 04/47] fix output of expired documents --- CHANGELOG | 1 + views/bootstrap/class.ExpiredDocuments.php | 45 ++++++++++------------ 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index f3e5b286d..622e71968 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -12,6 +12,7 @@ - fix moving clipboard (Closes: #473) - show access rights of folder/document if user has write access - fix creating preview images of documents in drop folder +- fix list of expired documents in admin tools (Closes: #474) -------------------------------------------------------------------------------- Changes in version 5.1.16 diff --git a/views/bootstrap/class.ExpiredDocuments.php b/views/bootstrap/class.ExpiredDocuments.php index 4008df0a0..a915b1d17 100644 --- a/views/bootstrap/class.ExpiredDocuments.php +++ b/views/bootstrap/class.ExpiredDocuments.php @@ -36,6 +36,17 @@ require_once("SeedDMS/Preview.php"); */ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Bootstrap_Style { + function js() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + + header('Content-Type: application/javascript'); + parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder')); + $this->printDeleteDocumentButtonJs(); + /* Add js for catching click on document in one page mode */ + $this->printClickDocumentJs(); + } /* }}} */ + function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; @@ -45,6 +56,8 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Bootstrap_Style { $timeout = $this->params['timeout']; $xsendfile = $this->params['xsendfile']; + $this->htmlAddHeader(''."\n", 'js'); + $db = $dms->getDB(); $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); @@ -54,45 +67,27 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Bootstrap_Style { $this->pageNavigation(getMLText("expired_documents"), "admin_tools"); $this->contentHeading(getMLText("expired_documents")); - $this->contentContainerStart(); +// $this->contentContainerStart(); if($docs = $dms->getDocumentsExpired(-1400)) { print ""; print "\n\n"; print ""; - print "\n"; - print "\n"; - print "\n"; -// print "\n"; - print "\n"; + print "\n"; + print "\n"; + print "\n"; print "\n\n\n"; $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); foreach ($docs as $document) { - print "\n"; - $latestContent = $document->getLatestContent(); - $previewer->createPreview($latestContent); - print ""; - print "\n"; - $status = $latestContent->getStatus(); - print ""; - print ""; -// print ""; - print ""; - print "\n"; + echo $this->documentListRow($document, $previewer); } print "
".getMLText("name")."".getMLText("status")."".getMLText("version")."".getMLText("last_update")."".getMLText("expires")."".getMLText("name")."".getMLText("expires")."".getMLText("status")."".getMLText("action")."
getID()."&version=".$latestContent->getVersion()."\">"; - if($previewer->hasPreview($latestContent)) { - print "getID()."&version=".$latestContent->getVersion()."&width=".$previewwidth."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } else { - print "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; - } - print "getID()."\">" . htmlspecialchars($document->getName()) . "".getOverallStatusText($status["status"])."".$latestContent->getVersion()."".$status["statusDate"]." ". htmlspecialchars($status["statusName"])."".(!$document->getExpires() ? "-":getReadableDate($document->getExpires()))."
"; } - else printMLText("empty_notify_list"); + else $this->infoMsg("no_docs_expired"); - $this->contentContainerEnd(); +// $this->contentContainerEnd(); $this->contentEnd(); $this->htmlEndPage(); From 8548765ef8b99f0fe493ba2467930d0dcfc46fce Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 22 May 2020 16:27:58 +0200 Subject: [PATCH 05/47] add note for 5.1.17 --- SeedDMS_Core/package.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index eec455b72..b8e8cae36 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -25,6 +25,7 @@ GPL License - add new callback onSetStatus +- fix SeedDMS_Core_DMS::getExpiredDocuments(), sql statement failed because temp. tables were not created From 973f7eea6506e81be94701c6d076a60d9411d831 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 22 May 2020 16:30:23 +0200 Subject: [PATCH 06/47] update release date --- SeedDMS_Core/package.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index b8e8cae36..54f316133 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -12,7 +12,7 @@ uwe@steinmann.cx yes - 2020-05-14 + 2020-05-22 5.1.17 From 36f3ac6ab5ee1245c635cda6308a6e26cf021a6b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 22 May 2020 16:35:49 +0200 Subject: [PATCH 07/47] set showtree for view --- out/out.ExpiredDocuments.php | 1 + 1 file changed, 1 insertion(+) diff --git a/out/out.ExpiredDocuments.php b/out/out.ExpiredDocuments.php index cbc7d8dcb..47e0964c0 100644 --- a/out/out.ExpiredDocuments.php +++ b/out/out.ExpiredDocuments.php @@ -41,6 +41,7 @@ if (isset($_GET["orderby"]) && strlen($_GET["orderby"])==1 ) { } if($view) { + $view->setParam('showtree', showtree()); $view->setParam('orderby', $orderby); $view->setParam('cachedir', $settings->_cacheDir); $view->setParam('previewWidthList', $settings->_previewWidthList); From dbfeae23dbe1d5c0c135308c968d36ebb7076bb1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 25 May 2020 14:45:55 +0200 Subject: [PATCH 08/47] add support for uploading new document version --- utils/adddoc.php | 180 +++++++++++++++++++++++++++---------------- utils/seeddms-adddoc | 4 +- 2 files changed, 117 insertions(+), 67 deletions(-) diff --git a/utils/adddoc.php b/utils/adddoc.php index 3357fb3e1..c0a2912b5 100644 --- a/utils/adddoc.php +++ b/utils/adddoc.php @@ -1,40 +1,47 @@ ] [-c ] [-k ] [-s ] [-n ] [-V ] [-s ] [-t ] [-a ] [-h] [-v] -F -f \n"; + echo " seeddms-adddoc [--config ] [-c ] [-k ] [-s ] [-n ] [-V ] [-s ] [-t ] [-a ] [-h] [-v] -F -D -f \n"; echo "\n"; echo "Description:\n"; - echo " This program uploads a file into a folder of SeedDMS.\n"; + echo " This program uploads a file into a folder or updates a document of SeedDMS.\n"; echo "\n"; echo "Options:\n"; echo " -h, --help: print usage information and exit.\n"; echo " -v, --version: print version and exit.\n"; echo " --config: set alternative config file.\n"; echo " -F : id of folder the file is uploaded to\n"; - echo " -c : set comment for document\n"; + echo " -D : id of document the file is uploaded to.\n"; + echo " This will only be used if no folder id is given.\n"; + echo " -c : set comment for document. See [1].\n"; echo " -C : set comment for version\n"; - echo " -k : set keywords for file\n"; - echo " -K : set categories for file\n"; - echo " -s : set sequence for file (used for ordering files within a folder\n"; + echo " -k : set keywords for file. See [1].\n"; + echo " -K : set categories for file. See [1].\n"; + echo " -s : set sequence for file (used for ordering files within a folder. See [1].\n"; echo " -n : set name of file\n"; - echo " -V : set version of file (defaults to 1).\n"; + echo " -V : set version of file (defaults to 1). See [2].\n"; echo " -u : login name of user\n"; echo " -f : upload this file\n"; - echo " -s : set sequence of file\n"; + echo " -s : set sequence of file. See [1]\n"; echo " -t set mimetype of file manually. Do not do that unless you know\n"; echo " what you do. If not set, the mimetype will be determined automatically.\n"; - echo " -a : Set a document attribute; can occur multiple times.\n"; + echo " -a : Set a document attribute; can occur multiple times. See [1].\n"; echo " -A : Set a version attribute; can occur multiple times.\n"; + echo "\n"; + echo "[1] This option applies only if a new document is uploaded. It has no effect\n"." if a new document version is uploaded.\n"; + echo "[2] If a new document version is uploaded it defaults to the next version number.\n"; } /* }}} */ $version = "0.0.1"; -$shortoptions = "F:c:C:k:K:s:V:u:f:n:t:a:A:hv"; +$shortoptions = "D:F:c:C:k:K:s:V:u:f:n:t:a:A:hv"; $longoptions = array('help', 'version', 'config:'); if(false === ($options = getopt($shortoptions, $longoptions))) { usage(); @@ -58,13 +65,18 @@ if(isset($options['config'])) { define('SEEDDMS_CONFIG_FILE', $options['config']); } -/* Set parent folder */ +/* Set parent folder or document */ +$folderid = $documentid = 0; if(isset($options['F'])) { $folderid = (int) $options['F']; } else { - echo "Missing folder ID\n"; - usage(); - exit(1); + if(isset($options['D'])) { + $documentid = (int) $options['D']; + } else { + echo "Missing folder/document ID\n"; + usage(); + exit(1); + } } /* Set comment of document */ @@ -120,13 +132,13 @@ if(isset($options['V'])) { if($reqversion<1) $reqversion=1; -include("../inc/inc.Settings.php"); -include("../inc/inc.Init.php"); -include("../inc/inc.Extension.php"); -include("../inc/inc.DBInit.php"); -include("../inc/inc.ClassNotificationService.php"); -include("../inc/inc.ClassEmailNotify.php"); -include("../inc/inc.ClassController.php"); +include($myincpath."/inc/inc.Settings.php"); +include($myincpath."/inc/inc.Init.php"); +include($myincpath."/inc/inc.Extension.php"); +include($myincpath."/inc/inc.DBInit.php"); +include($myincpath."/inc/inc.ClassNotificationService.php"); +include($myincpath."/inc/inc.ClassEmailNotify.php"); +include($myincpath."/inc/inc.ClassController.php"); /* Parse categories {{{ */ $categories = array(); @@ -239,25 +251,41 @@ if(is_readable($filename)) { } $filetype = "." . pathinfo($filename, PATHINFO_EXTENSION); } else { - echo "File has zero size\n"; + echo "File '".$filename."' has zero size\n"; exit(1); } } else { - echo "File is not readable\n"; + echo "File '".$filename."' is not readable\n"; exit(1); } /* }}} */ -$folder = $dms->getFolder($folderid); +$folder = null; +$document = null; +if($folderid) { + $folder = $dms->getFolder($folderid); -if (!is_object($folder)) { - echo "Could not find specified folder\n"; - exit(1); -} + if (!is_object($folder)) { + echo "Could not find specified folder\n"; + exit(1); + } -if ($folder->getAccessMode($user) < M_READWRITE) { - echo "Not sufficient access rights\n"; - exit(1); + if ($folder->getAccessMode($user) < M_READWRITE) { + echo "Not sufficient access rights\n"; + exit(1); + } +} elseif($documentid) { + $document = $dms->getDocument($documentid); + + if (!is_object($document)) { + echo "Could not find specified document\n"; + exit(1); + } + + if ($document->getAccessMode($user) < M_READWRITE) { + echo "Not sufficient access rights\n"; + exit(1); + } } if (!is_numeric($sequence)) { @@ -282,40 +310,62 @@ if($settings->_enableFullSearch) { $indexconf = null; } -$controller = Controller::factory('AddDocument', array('dms'=>$dms, 'user'=>$user)); -$controller->setParam('documentsource', 'script'); -$controller->setParam('folder', $folder); -$controller->setParam('index', $index); -$controller->setParam('indexconf', $indexconf); -$controller->setParam('name', $name); -$controller->setParam('comment', $comment); -$controller->setParam('expires', $expires); -$controller->setParam('keywords', $keywords); -$controller->setParam('categories', $categories); -$controller->setParam('owner', $user); -$controller->setParam('userfiletmp', $filetmp); -$controller->setParam('userfilename', basename($filename)); -$controller->setParam('filetype', $filetype); -$controller->setParam('userfiletype', $mimetype); -$minmax = $folder->getDocumentsMinMax(); -if($settings->_defaultDocPosition == 'start') - $controller->setParam('sequence', $minmax['min'] - 1); -else - $controller->setParam('sequence', $minmax['max'] + 1); -$controller->setParam('reviewers', $reviewers); -$controller->setParam('approvers', $approvers); -$controller->setParam('reqversion', $reqversion); -$controller->setParam('versioncomment', $version_comment); -$controller->setParam('attributes', $document_attributes); -$controller->setParam('attributesversion', $version_attributes); -$controller->setParam('workflow', null); -$controller->setParam('notificationgroups', array()); -$controller->setParam('notificationusers', array()); -$controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText); -$controller->setParam('defaultaccessdocs', $settings->_defaultAccessDocs); +if($folder) { + $controller = Controller::factory('AddDocument', array('dms'=>$dms, 'user'=>$user)); + $controller->setParam('documentsource', 'script'); + $controller->setParam('folder', $folder); + $controller->setParam('index', $index); + $controller->setParam('indexconf', $indexconf); + $controller->setParam('name', $name); + $controller->setParam('comment', $comment); + $controller->setParam('expires', $expires); + $controller->setParam('keywords', $keywords); + $controller->setParam('categories', $categories); + $controller->setParam('owner', $user); + $controller->setParam('userfiletmp', $filetmp); + $controller->setParam('userfilename', basename($filename)); + $controller->setParam('filetype', $filetype); + $controller->setParam('userfiletype', $mimetype); + $minmax = $folder->getDocumentsMinMax(); + if($settings->_defaultDocPosition == 'start') + $controller->setParam('sequence', $minmax['min'] - 1); + else + $controller->setParam('sequence', $minmax['max'] + 1); + $controller->setParam('reviewers', $reviewers); + $controller->setParam('approvers', $approvers); + $controller->setParam('reqversion', $reqversion); + $controller->setParam('versioncomment', $version_comment); + $controller->setParam('attributes', $document_attributes); + $controller->setParam('attributesversion', $version_attributes); + $controller->setParam('workflow', null); + $controller->setParam('notificationgroups', array()); + $controller->setParam('notificationusers', array()); + $controller->setParam('maxsizeforfulltext', $settings->_maxSizeForFullText); + $controller->setParam('defaultaccessdocs', $settings->_defaultAccessDocs); -if(!$document = $controller->run()) { - echo "Could not add document to folder\n"; - exit(1); + if(!$document = $controller->run()) { + echo "Could not add document to folder\n"; + exit(1); + } +} elseif($document) { + $controller = Controller::factory('UpdateDocument', array('dms'=>$dms, 'user'=>$user)); + $controller->setParam('folder', $document->getFolder()); + $controller->setParam('document', $document); + $controller->setParam('index', $index); + $controller->setParam('indexconf', $indexconf); + $controller->setParam('comment', $comment); + $controller->setParam('userfiletmp', $filetmp); + $controller->setParam('userfilename', $filename); + $controller->setParam('filetype', $filetype); + $controller->setParam('userfiletype', $mimetype); + $controller->setParam('reviewers', $reviewers); + $controller->setParam('approvers', $approvers); + $controller->setParam('attributes', $version_attributes); + $controller->setParam('workflow', null); + + if(!$content = $controller->run()) { + echo "Could not add version to document\n"; + exit(1); + } } ?> diff --git a/utils/seeddms-adddoc b/utils/seeddms-adddoc index 2bedb5092..17012281b 100755 --- a/utils/seeddms-adddoc +++ b/utils/seeddms-adddoc @@ -1,8 +1,8 @@ #!/usr/bin/env bash if [ -z "${SEEDDMS_HOME}" ]; then - echo 'Please set $SEEDDMS_HOME before running this script' - exit 1 + parentdir=$(dirname "$0") + export SEEDDMS_HOME=$(dirname "$parentdir") fi exec php -f "${SEEDDMS_HOME}/utils/adddoc.php" -- "${@}" From 3b0037649de47212e6260325888718e7f1f5a91c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 25 May 2020 15:48:19 +0200 Subject: [PATCH 09/47] pass options of cookie as array --- inc/inc.Authentication.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/inc.Authentication.php b/inc/inc.Authentication.php index 89d3ab7c1..443e3b676 100644 --- a/inc/inc.Authentication.php +++ b/inc/inc.Authentication.php @@ -61,7 +61,7 @@ if (!isset($_COOKIE["mydms_session"])) { $dms_session = $_COOKIE["mydms_session"]; $session = new SeedDMS_Session($db); if(!$resArr = $session->load($dms_session)) { - setcookie("mydms_session", $dms_session, time()-3600, $settings->_httpRoot); //delete cookie + setcookie("mydms_session", $dms_session, array('expires'=>time()-3600, 'path'=>$settings->_httpRoot)); //delete cookie header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer); exit; } @@ -74,7 +74,7 @@ if((int)$resArr['lastAccess']+60 < time()) /* Load user data */ $user = $dms->getUser($resArr["userID"]); if (!is_object($user)) { - setcookie("mydms_session", $dms_session, time()-3600, $settings->_httpRoot); //delete cookie + setcookie("mydms_session", $dms_session, array('expires'=>time()-3600, 'path'=>$settings->_httpRoot)); //delete cookie header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer); exit; } @@ -145,5 +145,5 @@ if (!$user->isAdmin()) { if($settings->_cookieLifetime) { $lifetime = time() + intval($settings->_cookieLifetime); /* Turn off http only cookies if jumploader is enabled */ - setcookie("mydms_session", $dms_session, $lifetime, $settings->_httpRoot, null, null, !$settings->_enableLargeFileUpload); + setcookie("mydms_session", $dms_session, array('expires'=>$lifetime, 'path'=>$settings->_httpRoot, 'httponly'=>!$settings->_enableLargeFileUpload)); } From e5477708ad1ff1b9ae15b1030065928c5a46250f Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 25 May 2020 17:09:15 +0200 Subject: [PATCH 10/47] ??? --- inc/inc.ClassSchedulerTaskBase.php | 2 +- utils/schedulercli.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/inc.ClassSchedulerTaskBase.php b/inc/inc.ClassSchedulerTaskBase.php index c51c0c0e7..8cd8d40c6 100644 --- a/inc/inc.ClassSchedulerTaskBase.php +++ b/inc/inc.ClassSchedulerTaskBase.php @@ -29,7 +29,7 @@ * @package SeedDMS */ class SeedDMS_SchedulerTaskBase { - public function execute($task, $dms, $user) { + public function execute($task, $dms, $user, $settings) { return true; } } diff --git a/utils/schedulercli.php b/utils/schedulercli.php index 132613468..ee7838851 100644 --- a/utils/schedulercli.php +++ b/utils/schedulercli.php @@ -76,7 +76,7 @@ foreach($tasks as $task) { if(!$task->getDisabled() && $task->isDue()) { if($user = $dms->getUserByLogin('cli_scheduler')) { if($mode == 'run') { - if($taskobj->execute($task, $dms, $user)) { + if($taskobj->execute($task, $dms, $user, $settings)) { add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." successful."); $task->updateLastNextRun(); } else { From 90cf72367d3210f087e8e998d1929b3d3161ef9c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 26 May 2020 14:12:58 +0200 Subject: [PATCH 11/47] put name and description in one column --- views/bootstrap/class.SchedulerTaskMgr.php | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/views/bootstrap/class.SchedulerTaskMgr.php b/views/bootstrap/class.SchedulerTaskMgr.php index 8cb227173..1c5cec700 100644 --- a/views/bootstrap/class.SchedulerTaskMgr.php +++ b/views/bootstrap/class.SchedulerTaskMgr.php @@ -287,8 +287,7 @@ $(document).ready( function() { echo "\n"; print "\n\n"; print "\n"; - print "\n"; - print "\n"; + print "\n"; print "\n"; print "\n"; print "\n"; @@ -303,10 +302,8 @@ $(document).ready( function() { echo ""; - echo ""; echo ""; echo "
".getMLText('scheduler_class')."".getMLText('task_name')."".getMLText('task_description')."".getMLText('task_name')."/".getMLText('task_description')."".getMLText('task_frequency')."".getMLText('task_next_run')."".getMLText('task_last_run').""; echo $task->getExtension()."::".$task->getTask(); echo ""; - echo $task->getName(); - echo ""; + echo "".$task->getName()."
"; echo $task->getDescription(); echo "
"; From 5d5a7da2d05e77236e2355cccf4469efaa2d9df0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 26 May 2020 14:51:58 +0200 Subject: [PATCH 12/47] return to old setcookie() because the new parameter $options requires php 7.3 --- inc/inc.Authentication.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/inc.Authentication.php b/inc/inc.Authentication.php index 443e3b676..89d3ab7c1 100644 --- a/inc/inc.Authentication.php +++ b/inc/inc.Authentication.php @@ -61,7 +61,7 @@ if (!isset($_COOKIE["mydms_session"])) { $dms_session = $_COOKIE["mydms_session"]; $session = new SeedDMS_Session($db); if(!$resArr = $session->load($dms_session)) { - setcookie("mydms_session", $dms_session, array('expires'=>time()-3600, 'path'=>$settings->_httpRoot)); //delete cookie + setcookie("mydms_session", $dms_session, time()-3600, $settings->_httpRoot); //delete cookie header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer); exit; } @@ -74,7 +74,7 @@ if((int)$resArr['lastAccess']+60 < time()) /* Load user data */ $user = $dms->getUser($resArr["userID"]); if (!is_object($user)) { - setcookie("mydms_session", $dms_session, array('expires'=>time()-3600, 'path'=>$settings->_httpRoot)); //delete cookie + setcookie("mydms_session", $dms_session, time()-3600, $settings->_httpRoot); //delete cookie header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer); exit; } @@ -145,5 +145,5 @@ if (!$user->isAdmin()) { if($settings->_cookieLifetime) { $lifetime = time() + intval($settings->_cookieLifetime); /* Turn off http only cookies if jumploader is enabled */ - setcookie("mydms_session", $dms_session, array('expires'=>$lifetime, 'path'=>$settings->_httpRoot, 'httponly'=>!$settings->_enableLargeFileUpload)); + setcookie("mydms_session", $dms_session, $lifetime, $settings->_httpRoot, null, null, !$settings->_enableLargeFileUpload); } From 42de3129534e822431904f918188847436158820 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 26 May 2020 20:47:09 +0200 Subject: [PATCH 13/47] do not run authentication and pass user to addRoute hook --- index.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.php b/index.php index ee083d8a2..658fb6f01 100644 --- a/index.php +++ b/index.php @@ -26,13 +26,13 @@ if(true) { include("inc/inc.Init.php"); include("inc/inc.Extension.php"); include("inc/inc.DBInit.php"); - include("inc/inc.Authentication.php"); +// include("inc/inc.Authentication.php"); require "vendor/autoload.php"; $c = new \Slim\Container(); //Create Your container - $c['notFoundHandler'] = function ($c) use ($settings, $dms, $user, $theme) { - return function ($request, $response) use ($c, $settings, $dms, $user, $theme) { + $c['notFoundHandler'] = function ($c) use ($settings, $dms, $theme) { + return function ($request, $response) use ($c, $settings, $dms, $theme) { $uri = $request->getUri(); if($uri->getBasePath()) $file = $uri->getPath(); @@ -55,7 +55,7 @@ if(true) { if(isset($GLOBALS['SEEDDMS_HOOKS']['initDMS'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['initDMS'] as $hookObj) { if (method_exists($hookObj, 'addRoute')) { - $hookObj->addRoute(array('dms'=>$dms, 'user'=>$user, 'app'=>$app, 'settings'=>$settings)); + $hookObj->addRoute(array('dms'=>$dms, 'app'=>$app, 'settings'=>$settings)); } } } From f737b208307850a51a59fe8571698a3e08c9bc71 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 12:00:58 +0200 Subject: [PATCH 14/47] add new parameter and documentation for getDocumentsExpired() --- SeedDMS_Core/Core/inc.ClassDMS.php | 32 ++++++++++++++++++++++-------- SeedDMS_Core/package.xml | 1 + 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 7fdba28d5..83537c1de 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -662,20 +662,36 @@ class SeedDMS_Core_DMS { /** * Returns all documents which already expired or will expire in the future * + * The parameter $date will be relative to the start of the day. It can + * be either a number of days (if an integer is passed) or a date string + * in the format 'YYYY-MM-DD'. + * If the parameter $date is a negative number or a date in the past, then + * all documents from the start of that date till the end of the current + * day will be returned. If $date is a positive integer or $date is a + * date in the future, the all documents from the start of the current + * day till the end of the day of the given date will be returned. + * Passing 0 or the + * current date in $date, will return all documents expiring the current + * day. * @param string $date date in format YYYY-MM-DD or an integer with the number * of days. A negative value will cover the days in the past. - * @param SeedDMS_Core_User $user + * @param SeedDMS_Core_User $user limits the documents on those owned + * by this user + * @param string $orderby n=name, e=expired + * @param string $orderdir d=desc or a=asc + * @param bool $update update status of document if set to true * @return bool|SeedDMS_Core_Document[] */ - function getDocumentsExpired($date, $user=null) { /* {{{ */ + function getDocumentsExpired($date, $user=null, $orderby='e', $orderdir='desc', $update=true) { /* {{{ */ $db = $this->getDB(); if (!$db->createTemporaryTable("ttstatid") || !$db->createTemporaryTable("ttcontentid")) { return false; } + $tsnow = mktime(0, 0, 0); /* Start of today */ if(is_int($date)) { - $ts = mktime(0, 0, 0) + $date * 86400; + $ts = $tsnow + $date * 86400; } elseif(is_string($date)) { $tmp = explode('-', $date, 3); if(count($tmp) != 3) @@ -684,11 +700,10 @@ class SeedDMS_Core_DMS { } else return false; - $tsnow = mktime(0, 0, 0); /* Start of today */ if($ts < $tsnow) { /* Check for docs expired in the past */ $startts = $ts; $endts = $tsnow+86400; /* Use end of day */ - $updatestatus = true; + $updatestatus = $update; } else { /* Check for docs which will expire in the future */ $startts = $tsnow; $endts = $ts+86400; /* Use end of day */ @@ -706,12 +721,12 @@ class SeedDMS_Core_DMS { "LEFT JOIN `ttstatid` ON `ttstatid`.`statusID` = `tblDocumentStatus`.`statusID` ". "LEFT JOIN `tblDocumentStatusLog` ON `tblDocumentStatusLog`.`statusLogID` = `ttstatid`.`maxLogID`"; $queryStr .= - " WHERE `tblDocuments`.`expires` > ".$startts." AND `tblDocuments`.`expires` < ".$endts; + " WHERE `tblDocuments`.`expires` >= ".$startts." AND `tblDocuments`.`expires` < ".$endts; if($user) $queryStr .= " AND `tblDocuments`.`owner` = '".$user->getID()."' "; $queryStr .= - " ORDER BY `expires` DESC"; + " ORDER BY ".($orderby == 'e' ? "`expires`" : "`name`")." ".($orderdir == 'd' ? "DESC" : "ASC"); $resArr = $db->getResultArray($queryStr); if (is_bool($resArr) && !$resArr) @@ -721,8 +736,9 @@ class SeedDMS_Core_DMS { $documents = array(); foreach ($resArr as $row) { $document = $this->getDocument($row["id"]); - if($updatestatus) + if($updatestatus) { $document->verifyLastestContentExpriry(); + } $documents[] = $document; } return $documents; diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 54f316133..e8364dc0c 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -26,6 +26,7 @@ - add new callback onSetStatus - fix SeedDMS_Core_DMS::getExpiredDocuments(), sql statement failed because temp. tables were not created +- add parameters $orderdir, $orderby, $update to SeedDMS_Core::getExpiredDocuments() From a4b84f55588b51c8eb642c8c1e0b502cd179431a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 12:01:40 +0200 Subject: [PATCH 15/47] add docs for hasExpired(), doc expires with the first second of the next --- SeedDMS_Core/Core/inc.ClassDocument.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index fa62635ea..8d264bdb2 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -790,11 +790,16 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ /** * Check if the document has expired * + * The method expects to database field 'expired' to hold the timestamp + * of the start of day at which end the document expires. The document will + * expire if that day is over. Hence, a document will *not* + * be expired during the day of expiration but at the end of that day + * * @return boolean true if document has expired otherwise false */ function hasExpired() { /* {{{ */ if (intval($this->_expires) == 0) return false; - if (time()>$this->_expires+24*60*60) return true; + if (time()>=$this->_expires+24*60*60) return true; return false; } /* }}} */ From 640dea65346448e24e345a32fae2abdc1511d465 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 12:02:30 +0200 Subject: [PATCH 16/47] documents can be sorted by expiration date or name --- views/bootstrap/class.ExpiredDocuments.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.ExpiredDocuments.php b/views/bootstrap/class.ExpiredDocuments.php index a915b1d17..ccafb3a99 100644 --- a/views/bootstrap/class.ExpiredDocuments.php +++ b/views/bootstrap/class.ExpiredDocuments.php @@ -51,10 +51,12 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Bootstrap_Style { $dms = $this->params['dms']; $user = $this->params['user']; $orderby = $this->params['orderby']; + $orderdir = $this->params['orderdir']; $cachedir = $this->params['cachedir']; $previewwidth = $this->params['previewWidthList']; $timeout = $this->params['timeout']; $xsendfile = $this->params['xsendfile']; + $order = $orderby.$orderdir; $this->htmlAddHeader(''."\n", 'js'); @@ -69,12 +71,15 @@ class SeedDMS_View_ExpiredDocuments extends SeedDMS_Bootstrap_Style { $this->contentHeading(getMLText("expired_documents")); // $this->contentContainerStart(); - if($docs = $dms->getDocumentsExpired(-1400)) { + if($docs = $dms->getDocumentsExpired(-1400, null, $orderby, $orderdir, true)) { print ""; print "\n\n"; print ""; - print "\n"; + print "\n"; print "\n"; print "\n"; print "\n\n\n"; From e2e69f8fec1ac42d208f69958c725e500c678ee2 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 12:03:25 +0200 Subject: [PATCH 17/47] pass orderdir and orderby to view --- out/out.ExpiredDocuments.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/out/out.ExpiredDocuments.php b/out/out.ExpiredDocuments.php index 47e0964c0..89e296e16 100644 --- a/out/out.ExpiredDocuments.php +++ b/out/out.ExpiredDocuments.php @@ -35,14 +35,19 @@ if ($user->isGuest()) { UI::exitError(getMLText("expired_documents"),getMLText("access_denied")); } -$orderby='n'; +$orderby='e'; if (isset($_GET["orderby"]) && strlen($_GET["orderby"])==1 ) { $orderby=$_GET["orderby"]; } +$orderdir='d'; +if (isset($_GET["orderdir"]) && strlen($_GET["orderdir"])==1 ) { + $orderdir=$_GET["orderdir"]; +} if($view) { $view->setParam('showtree', showtree()); $view->setParam('orderby', $orderby); + $view->setParam('orderdir', $orderdir); $view->setParam('cachedir', $settings->_cacheDir); $view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('timeout', $settings->_cmdTimeout); From 06a6da01bdc5b3b06dbf835a4906abac133bf8bd Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 12:03:40 +0200 Subject: [PATCH 18/47] add item for 5.1.17 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 622e71968..615a35bdb 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -13,6 +13,7 @@ - show access rights of folder/document if user has write access - fix creating preview images of documents in drop folder - fix list of expired documents in admin tools (Closes: #474) +- list of expired documents can be sorted -------------------------------------------------------------------------------- Changes in version 5.1.16 From 965552027030fb240201415b8562001df7ca970a Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 12:06:10 +0200 Subject: [PATCH 19/47] various minor updates (mostly turkish) --- languages/ar_EG/lang.inc | 2 ++ languages/bg_BG/lang.inc | 2 ++ languages/ca_ES/lang.inc | 2 ++ languages/cs_CZ/lang.inc | 2 ++ languages/de_DE/lang.inc | 4 +++- languages/el_GR/lang.inc | 2 ++ languages/en_GB/lang.inc | 4 +++- languages/es_ES/lang.inc | 2 ++ languages/fr_FR/lang.inc | 2 ++ languages/hr_HR/lang.inc | 2 ++ languages/hu_HU/lang.inc | 22 ++++++++++++---------- languages/it_IT/lang.inc | 2 ++ languages/ko_KR/lang.inc | 2 ++ languages/lo_LA/lang.inc | 2 ++ languages/nb_NO/lang.inc | 2 ++ languages/nl_NL/lang.inc | 2 ++ languages/pl_PL/lang.inc | 2 ++ languages/pt_BR/lang.inc | 2 ++ languages/ro_RO/lang.inc | 2 ++ languages/ru_RU/lang.inc | 2 ++ languages/sk_SK/lang.inc | 2 ++ languages/sv_SE/lang.inc | 2 ++ languages/tr_TR/lang.inc | 28 +++++++++++++++------------- languages/uk_UA/lang.inc | 2 ++ languages/zh_CN/lang.inc | 2 ++ languages/zh_TW/lang.inc | 6 ++++-- 26 files changed, 79 insertions(+), 27 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 4a11c9490..7e1f6a5bc 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -1559,6 +1559,7 @@ URL: [url]', 'site_brand' => 'مجلس النواب اللبناني', 'sk_SK' => 'السلوفاكية', 'sort_by_date' => 'رتب حسب التاريخ', +'sort_by_expiration_date' => '', 'sort_by_name' => 'رتب حسب الإسم', 'sort_by_sequence' => 'رتب حسب التراتبية', 'space_used_on_data_folder' => 'المساحة المستخدمة لمجلد البيانات', @@ -1726,6 +1727,7 @@ URL: [url]', 'to' => 'الى', 'toggle_manager' => 'رجح مدير', 'toggle_qrcode' => 'toggle toggle', +'total' => '', 'to_before_from' => 'إلى قبل من', 'transfer_content' => 'تحويل المحتوى', 'transfer_document' => 'تحويل مستند', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 98796f7c5..c2cf7f8f9 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -1422,6 +1422,7 @@ $text = array( 'site_brand' => '', 'sk_SK' => 'Словашки', 'sort_by_date' => 'Сортирай по дата"', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Сортирай по име', 'sort_by_sequence' => '', 'space_used_on_data_folder' => 'Размер на каталога с данните', @@ -1589,6 +1590,7 @@ $text = array( 'to' => 'към', 'toggle_manager' => 'Превключи мениджър', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => '', 'transfer_content' => '', 'transfer_document' => 'Прехвърли документ', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index 35511e8e4..dd6519158 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -1427,6 +1427,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => 'Eslovac', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => '', 'sort_by_sequence' => '', 'space_used_on_data_folder' => 'Espai utilitzat a la carpeta de dades', @@ -1594,6 +1595,7 @@ URL: [url]', 'to' => 'Fins', 'toggle_manager' => 'Intercanviar manager', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => '', 'transfer_content' => '', 'transfer_document' => 'transferir document', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index f6c90e5fb..5456186ba 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -1631,6 +1631,7 @@ Jméno: [username] 'site_brand' => '', 'sk_SK' => 'Slovenština', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Třídit podle jména', 'sort_by_sequence' => '', 'space_used_on_data_folder' => 'Použité místo pro data složky', @@ -1798,6 +1799,7 @@ Jméno: [username] 'to' => 'Do', 'toggle_manager' => 'Přepnout správce', 'toggle_qrcode' => 'Zobrazit / skrýt QR kód', +'total' => '', 'to_before_from' => 'Datum ukončení nesmí být před datem zahájení', 'transfer_content' => '', 'transfer_document' => 'Přenést dokument', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 5fef65ae3..df78203df 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2767), dgrutsch (22) +// Translators: Admin (2769), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -1642,6 +1642,7 @@ Name: [username] 'site_brand' => '', 'sk_SK' => 'Slovakisch', 'sort_by_date' => 'Nach Datum sortieren', +'sort_by_expiration_date' => 'Nach Ablaufdatum sortieren', 'sort_by_name' => 'Nach Name sortieren', 'sort_by_sequence' => 'Nach Reihenfolge sortieren', 'space_used_on_data_folder' => 'Benutzter Plattenplatz', @@ -1809,6 +1810,7 @@ Name: [username] 'to' => 'bis', 'toggle_manager' => 'Managerstatus wechseln', 'toggle_qrcode' => 'Zeige/verberge QR-Code', +'total' => 'Gesamt', 'to_before_from' => 'Endedatum darf nicht vor dem Startdatum liegen', 'transfer_content' => 'Inhalt übertragen', 'transfer_document' => 'Dokument übertragen', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 7edaf768d..346579d90 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -1433,6 +1433,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => 'Σλοβάκικα', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => '', 'sort_by_sequence' => '', 'space_used_on_data_folder' => '', @@ -1600,6 +1601,7 @@ URL: [url]', 'to' => 'Προς', 'toggle_manager' => '', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => '', 'transfer_content' => '', 'transfer_document' => 'Μεταφορά εγγράφου', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 0f12104da..aa2d58da4 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1873), archonwang (3), dgrutsch (9), netixw (14) +// Translators: Admin (1875), archonwang (3), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -1636,6 +1636,7 @@ Name: [username] 'site_brand' => '', 'sk_SK' => 'Slovak', 'sort_by_date' => 'Sort by date', +'sort_by_expiration_date' => 'Sort by date of expiration', 'sort_by_name' => 'Sort by name', 'sort_by_sequence' => 'Sort by sequence', 'space_used_on_data_folder' => 'Space used on data folder', @@ -1803,6 +1804,7 @@ Name: [username] 'to' => 'To', 'toggle_manager' => 'Toggle manager', 'toggle_qrcode' => 'Show/hide QR code', +'total' => 'Total', 'to_before_from' => 'End date may not be before start date', 'transfer_content' => 'Transfer content', 'transfer_document' => 'Transfer document', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 896e23399..cb313daaf 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -1574,6 +1574,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => 'Slovaco', 'sort_by_date' => 'Ordenar por Fecha', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Ordenar por nombre', 'sort_by_sequence' => 'Ordenar por secuencia', 'space_used_on_data_folder' => 'Espacio usado en la carpeta de datos', @@ -1741,6 +1742,7 @@ URL: [url]', 'to' => 'Hasta', 'toggle_manager' => 'Intercambiar mánager', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => 'La fecha de finalización no debe ser anterior a la de inicio', 'transfer_content' => '', 'transfer_document' => 'Transferir documento', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 9948dad7d..f46f6020d 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -1634,6 +1634,7 @@ Nom : [username] 'site_brand' => '', 'sk_SK' => 'Slovaque', 'sort_by_date' => 'Trier par date', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Trier par nom', 'sort_by_sequence' => 'Trier par position', 'space_used_on_data_folder' => 'Espace utilisé dans le répertoire de données', @@ -1801,6 +1802,7 @@ Nom : [username] 'to' => 'Au', 'toggle_manager' => 'Basculer \'Responsable\'', 'toggle_qrcode' => 'Afficher/masquer le QR code', +'total' => '', 'to_before_from' => 'La date de fin ne peut pas être avant la date de début.', 'transfer_content' => 'Transférer le contenu', 'transfer_document' => 'Transférer le document', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 38c802f41..9a71b8823 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -1595,6 +1595,7 @@ Internet poveznica: [url]', 'site_brand' => '', 'sk_SK' => 'Slovački', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => '', 'sort_by_sequence' => '', 'space_used_on_data_folder' => 'Prostor iskorišten na podatkovnoj mapi', @@ -1762,6 +1763,7 @@ Internet poveznica: [url]', 'to' => 'Do', 'toggle_manager' => 'Zamjeni upravitelja', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => 'Datum završetka ne može biti prije datuma početka', 'transfer_content' => '', 'transfer_document' => 'Prijenos dokumenta', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 5e1e21ee4..5e2109a15 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (638), ribaz (1036) +// Translators: Admin (639), Kalpy (110), ribaz (1036) $text = array( '2_factor_auth' => 'Kétfaktoros azonosítás', @@ -131,7 +131,7 @@ URL: [url]', 'approver_already_assigned' => '', 'approver_already_removed' => '', 'april' => 'Április', -'archive' => '', +'archive' => 'Archívum', 'archive_creation' => 'Archívum létrehozása', 'archive_creation_warning' => 'Ezzel a művelettel archívumot hozhat létre, amely tartalmazza az összes DMS mappában található állományokat. A létrehozás követően az archívum a kiszolgáló adat mappájába lesz mentve.
FIGYELEM: az archívum értelmezhető formában kerül tárolásra és nem használható kiszolgáló mentésként.', 'ar_EG' => 'Arab', @@ -142,9 +142,9 @@ URL: [url]', 'assumed_released' => 'Feltételesen kiadott', 'attrdefgroup_management' => '', 'attrdefgrp_show_detail' => '', -'attrdefgrp_show_list' => '', +'attrdefgrp_show_list' => 'Lista', 'attrdefgrp_show_search' => 'Keresés', -'attrdefgrp_show_searchlist' => '', +'attrdefgrp_show_searchlist' => 'Keresés eredménye', 'attrdef_exists' => 'Jellemző meghatározás már létezik', 'attrdef_info' => 'Információ', 'attrdef_in_use' => 'Jellemző meghatározás még használatban van', @@ -254,7 +254,7 @@ URL: [url]', 'choose_attrdefgroup' => '', 'choose_category' => 'Kérjük válasszon', 'choose_group' => 'Válasszon csoportot', -'choose_role' => '', +'choose_role' => 'Válassz szabályt!', 'choose_target_category' => 'Válasszon kategóriát', 'choose_target_document' => 'Válasszon dokumentumot', 'choose_target_file' => 'Válasszon állományt', @@ -263,13 +263,13 @@ URL: [url]', 'choose_workflow' => 'Válasszon munkafolyamatot', 'choose_workflow_action' => 'Válasszon munkafolyamat műveletet', 'choose_workflow_state' => 'Válasszon munkafolyamat állapotot', -'class_name' => '', +'class_name' => 'Osztály neve', 'clear_cache' => 'Gyorsítótár törlése', 'clear_clipboard' => 'Vágólap törlése', 'clear_password' => 'jelszó törlése', 'clipboard' => 'Vágólap', 'close' => 'Bezár', -'command' => '', +'command' => 'Utasítás', 'comment' => 'Megjegyzés', 'comment_changed_email' => '', 'comment_for_current_version' => 'Megjegyzés az aktuális verzióhoz', @@ -345,7 +345,7 @@ URL: [url]', 'documents_to_revise' => '', 'documents_to_trigger_workflow' => '', 'documents_user_draft' => '', -'documents_user_expiration' => '', +'documents_user_expiration' => 'Lejárt dokumentumok', 'documents_user_needs_correction' => '', 'documents_user_no_reception' => '', 'documents_user_obsolete' => '', @@ -793,10 +793,10 @@ URL: [url]', 'my_documents' => 'Saját dokumentumok', 'my_transmittals' => '', 'name' => 'Név', -'nb_NO' => '', +'nb_NO' => 'Norvég', 'needs_correction' => '', 'needs_workflow_action' => 'Ez a dokumentum az Ön beavatkozására vár. Ellenőrizze a munkafolyamat fület.', -'network_drive' => '', +'network_drive' => 'Hálózati meghajtó', 'never' => 'soha', 'new' => 'Új', 'new_attrdef' => 'Jellemző meghatározás hozzáadása', @@ -1573,6 +1573,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => 'Szlovák', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => '', 'sort_by_sequence' => '', 'space_used_on_data_folder' => 'Használt terület az adat mappában', @@ -1740,6 +1741,7 @@ URL: [url]', 'to' => 'ig', 'toggle_manager' => 'Kulcs kezelő', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => 'A lejárati dátum nem előzheti meg a kezdési dátumot', 'transfer_content' => '', 'transfer_document' => 'Tulajdonos váltás', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index daf21b6b4..17ee00571 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -1622,6 +1622,7 @@ Name: [username] 'site_brand' => '', 'sk_SK' => 'Slovacco', 'sort_by_date' => 'Ordina per data', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Ordina per nome', 'sort_by_sequence' => 'Ordina per sequenza', 'space_used_on_data_folder' => 'Spazio utilizzato dai dati', @@ -1789,6 +1790,7 @@ Name: [username] 'to' => 'A', 'toggle_manager' => 'Gestore', 'toggle_qrcode' => 'Mostri/nascondi codice QR', +'total' => '', 'to_before_from' => 'La data di fine non può essere antecedente a quella di inizio', 'transfer_content' => 'Trasferisci contenuto', 'transfer_document' => 'Trasferisci documento', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index fb78321d2..eb57a0f13 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -1589,6 +1589,7 @@ URL : [url]', 'site_brand' => '', 'sk_SK' => '슬로바키아어', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => '', 'sort_by_sequence' => '', 'space_used_on_data_folder' => '데이터 폴더에 사용되는 공간', @@ -1756,6 +1757,7 @@ URL : [url]', 'to' => '마감일', 'toggle_manager' => '전환 매니저', 'toggle_qrcode' => 'QR code 보이기/숨기기', +'total' => '', 'to_before_from' => '종료일은 시작일 전이 될수 없습니다', 'transfer_content' => '', 'transfer_document' => '', diff --git a/languages/lo_LA/lang.inc b/languages/lo_LA/lang.inc index ae55181e3..c80ff2199 100644 --- a/languages/lo_LA/lang.inc +++ b/languages/lo_LA/lang.inc @@ -1615,6 +1615,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => 'ສະໂລວາເກຍ', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => '', 'sort_by_sequence' => '', 'space_used_on_data_folder' => 'ຟື້ນທີທີ່ໄຊ້ໃນໂຟລເດີຂໍ້ມູນ', @@ -1782,6 +1783,7 @@ URL: [url]', 'to' => 'ໄປຍັງ', 'toggle_manager' => 'ສຳລັບຜູ້ຈັດການ', 'toggle_qrcode' => 'ສະແດງ/ ຊ້ອນລະຫັດ QR', +'total' => '', 'to_before_from' => 'ວັນເລີ້ມຕົ້ນຈະບໍ່ຄືກັບວັນສຸດທ້າຍ', 'transfer_content' => '', 'transfer_document' => '', diff --git a/languages/nb_NO/lang.inc b/languages/nb_NO/lang.inc index 07dbf3ab5..c4b74825e 100644 --- a/languages/nb_NO/lang.inc +++ b/languages/nb_NO/lang.inc @@ -1628,6 +1628,7 @@ Bruker: [username] 'site_brand' => 'Nettsted merke/logo', 'sk_SK' => 'Slovakisk', 'sort_by_date' => 'Sorter etter dato', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Sorter etter navn', 'sort_by_sequence' => 'Sorter etter sekvens', 'space_used_on_data_folder' => 'Plass brukt på datamappe', @@ -1795,6 +1796,7 @@ Bruker: [username] 'to' => 'Til', 'toggle_manager' => 'Bytt leder', 'toggle_qrcode' => 'Vis/skjul QR-kode', +'total' => '', 'to_before_from' => 'Sluttdato kan ikke være før startdato', 'transfer_content' => 'Overfør innhold', 'transfer_document' => 'Overfør dokumentet', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index e65db868f..fea4c5072 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -1612,6 +1612,7 @@ Name: [username] 'site_brand' => '', 'sk_SK' => 'Slowaaks', 'sort_by_date' => 'Sorteren op datum', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Sorteren op naam', 'sort_by_sequence' => 'Sorteer op volgorde', 'space_used_on_data_folder' => 'Gebruikte diskomvang in data map', @@ -1779,6 +1780,7 @@ Name: [username] 'to' => 'aan', 'toggle_manager' => 'Wijzig Beheerder', 'toggle_qrcode' => 'Tonen/Verbergen QR-code', +'total' => '', 'to_before_from' => 'De einddatum mag niet voor de startdatum liggen', 'transfer_content' => '', 'transfer_document' => 'Document overdragen', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 12d9bebdb..0a4cde139 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -1553,6 +1553,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => 'słowacki', 'sort_by_date' => 'Sortuj według daty', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Sortuj według nazwy', 'sort_by_sequence' => '', 'space_used_on_data_folder' => 'Przestrzeń zajęta przez folder danych', @@ -1720,6 +1721,7 @@ URL: [url]', 'to' => 'Do', 'toggle_manager' => 'Przełączanie zarządcy', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => '', 'transfer_content' => '', 'transfer_document' => 'Transfer dokumentu', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 50e149806..42113d949 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -1634,6 +1634,7 @@ Nome: [username] 'site_brand' => '', 'sk_SK' => 'Eslovaco', 'sort_by_date' => 'classificar por data', +'sort_by_expiration_date' => '', 'sort_by_name' => 'classificar por nome', 'sort_by_sequence' => 'classificar por sequencia', 'space_used_on_data_folder' => 'Espaço usado na pasta de dados', @@ -1801,6 +1802,7 @@ Nome: [username] 'to' => 'Para', 'toggle_manager' => 'Alternar gerente', 'toggle_qrcode' => 'Mostrar / ocultar o código QR', +'total' => '', 'to_before_from' => 'A data de término não pode ser anterior a data de início', 'transfer_content' => 'Transferir conteúdo', 'transfer_document' => 'Transferir documento', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index d6d43ba4e..5bec75552 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -1596,6 +1596,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => 'Slovacă', 'sort_by_date' => 'Sortare dupa data', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Sortare dupa nume', 'sort_by_sequence' => 'Sortare dupa numar', 'space_used_on_data_folder' => 'Spatiu folosit în folderul de date', @@ -1763,6 +1764,7 @@ URL: [url]', 'to' => 'La', 'toggle_manager' => 'Comută Manager', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => 'Data de încheiere nu poate fi înainte de data de începere', 'transfer_content' => '', 'transfer_document' => 'Transfer document', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index e5991b686..aa197d80a 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -1603,6 +1603,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => 'Slovak', 'sort_by_date' => 'Сортировка по дате', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Сортировка по имени', 'sort_by_sequence' => 'Сортировка по порядку', 'space_used_on_data_folder' => 'Размер каталога данных', @@ -1770,6 +1771,7 @@ URL: [url]', 'to' => 'До', 'toggle_manager' => 'Изменить как менеджера', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => 'Конечная дата не может быть меньше начальной даты', 'transfer_content' => '', 'transfer_document' => 'Передать документ', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index e1f00607b..24405a394 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -1636,6 +1636,7 @@ Meno: [username] 'site_brand' => '', 'sk_SK' => 'Slovenčina', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => '', 'sort_by_sequence' => '', 'space_used_on_data_folder' => 'Space used on data folder', @@ -1803,6 +1804,7 @@ Meno: [username] 'to' => 'Do', 'toggle_manager' => 'Prepnúť stav manager', 'toggle_qrcode' => 'Ukázať/skryť QR kód', +'total' => '', 'to_before_from' => 'End date may not be before start date', 'transfer_content' => '', 'transfer_document' => 'Zmeniť vlastníka', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index fdf9e2f9e..05f779d26 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -1609,6 +1609,7 @@ Kommentar: [comment]', 'site_brand' => '', 'sk_SK' => 'Slovakiska', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => '', 'sort_by_sequence' => '', 'space_used_on_data_folder' => 'Utrymme använt i datakatalogen', @@ -1776,6 +1777,7 @@ Kommentar: [comment]', 'to' => 'till', 'toggle_manager' => 'Byt manager', 'toggle_qrcode' => 'Visa/göm QR-kod', +'total' => '', 'to_before_from' => 'Slutdatum får inte vara innan startdatum', 'transfer_content' => '', 'transfer_document' => 'Överför dokument', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 43ffc5b9c..41d0f1274 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -19,10 +19,10 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1095), aydin (83) +// Translators: Admin (1107), aydin (83) $text = array( -'2_factor_auth' => '', +'2_factor_auth' => 'İki faktörlü yetkilendirme', '2_factor_auth_info' => '', '2_fact_auth_secret' => '', 'accept' => 'Kabul', @@ -790,7 +790,7 @@ URL: [url]', 'move_folder' => 'Klasörü Taşı', 'my_account' => 'Hesabım', 'my_documents' => 'Dokümanlarım', -'my_transmittals' => '', +'my_transmittals' => 'Çevirilerim', 'name' => 'İsim', 'nb_NO' => 'Norveç Havayolları', 'needs_correction' => '', @@ -1111,7 +1111,7 @@ URL: [url]', 'role_admin' => 'Yönetici', 'role_guest' => 'Misafir', 'role_info' => '', -'role_management' => '', +'role_management' => 'Rol yönetimi', 'role_name' => '', 'role_type' => '', 'role_user' => 'Kullanıcı', @@ -1134,7 +1134,7 @@ URL: [url]', 'scheduler_class_description' => '', 'scheduler_class_parameter' => '', 'scheduler_class_tasks' => '', -'scheduler_task_mgr' => '', +'scheduler_task_mgr' => 'Takvim', 'search' => 'Ara', 'search_fulltext' => 'Tam metinde ara', 'search_in' => 'Şurada ara', @@ -1226,7 +1226,7 @@ URL: [url]', 'settings_contentDir_desc' => 'Yüklenecek dosyaların depolanacağı yer (web üzerinden erişilemeyen bir yer tercih etmeniz önerilir.)', 'settings_contentOffsetDir' => 'İçerik Ofset Klasörü', 'settings_contentOffsetDir_desc' => 'Dosya sistemindeki kısıtlamaları aşabilmek için mevcut içerik dizini içerisinde yeni bir dizin yapısı geliştirildi. Bu, başlangıç için temel bir dizin gerektirir. Genellikle bunu varsayılan değer olan 1048576 olarak bırakmanız önerilir fakat İçerik Dizininde mevcut olmayan herhangi bir sayı veya string olabilir.', -'settings_convertToPdf' => '', +'settings_convertToPdf' => 'PDF ön görünümden çevir', 'settings_convertToPdf_desc' => '', 'settings_cookieLifetime' => 'Çerez geçerlilik süresi', 'settings_cookieLifetime_desc' => 'Çerezlerin saniye olarak geçerlilik süresi. 0 olarak ayarlanırsa tarayıcı kapatıldığında çerezler silinir.', @@ -1255,9 +1255,9 @@ URL: [url]', 'settings_defaultDocPosition_desc' => '', 'settings_defaultDocPosition_val_end' => '', 'settings_defaultDocPosition_val_start' => '', -'settings_defaultSearchMethod' => '', +'settings_defaultSearchMethod' => 'Ön tanımlı arama metodu', 'settings_defaultSearchMethod_desc' => '', -'settings_defaultSearchMethod_valdatabase' => '', +'settings_defaultSearchMethod_valdatabase' => 'veritabanı', 'settings_defaultSearchMethod_valfulltext' => '', 'settings_delete_install_folder' => 'SeedDMS kullanabilmeniz için konfigürasyon (conf) dizini içindeki ENABLE_INSTALL_TOOL dosyasını silmelisiniz', 'settings_disableSelfEdit' => 'Kendi kendine Düzenlemeyi Kapat', @@ -1418,16 +1418,16 @@ URL: [url]', 'settings_maxDirID_desc' => 'Klasör altında oluşturulabilecek maksimum alt klasör sayısı Varsayılan: 0.', 'settings_maxExecutionTime' => 'Maksimum çalışma zamanı (s)', 'settings_maxExecutionTime_desc' => 'Durdurulmadan önce bir betikin en fazla kaç saniye çalışabileceğini ayarlar', -'settings_maxItemsPerPage' => '', +'settings_maxItemsPerPage' => 'Bir sayfadaki en fazla girdi sayısı', 'settings_maxItemsPerPage_desc' => '', 'settings_maxRecursiveCount' => 'Maks. özyinelemeli doküman/klasör sayısı', 'settings_maxRecursiveCount_desc' => 'Nesneleri özyinelemeli olarak erişim hakkı kontrolü için sayarken bu değer en fazla sayılacak doküman ve klasör sayısını belirler. Bu sayı aşıldığında klasörün içindeki dosya ve diğer klasörlerin sayısı tahmin yolu ile belirlenecektir.', -'settings_maxSizeForFullText' => '', +'settings_maxSizeForFullText' => 'Hızlı indeksleme için maksimum dosya boyu', 'settings_maxSizeForFullText_desc' => '', 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Daha fazla ayar yapın. Varsayılan kullanıcı adı/parola: admin/admin', -'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields' => 'Bu alanı gösterme', 'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Bulunamadı', 'settings_Notification' => 'Bildirim ayarları', @@ -1488,7 +1488,7 @@ URL: [url]', 'settings_rootFolderID_desc' => 'Kök dizinin ID numarası(genelde değiştirilmesine gerek yok)', 'settings_SaveError' => 'Konfigürasyon dosyası kaydedilemedi', 'settings_Server' => 'Sunucu ayarları', -'settings_showFullPreview' => '', +'settings_showFullPreview' => 'Tam dökümanı göster', 'settings_showFullPreview_desc' => '', 'settings_showMissingTranslations' => 'Eksik çevirileri göster', 'settings_showMissingTranslations_desc' => 'Eksik çevirilerin tamamı sayfanın en altında listelenir. Giriş yapan kullanıclıar yapacakları çevirileri csv formatında gönderebilirler. Gerçekte kullanılan sistemlerde bunu açmamanız önerilir!', @@ -1575,6 +1575,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => 'Slovakça', 'sort_by_date' => 'Tarihe göre sırala', +'sort_by_expiration_date' => '', 'sort_by_name' => 'Ada göre sırala', 'sort_by_sequence' => 'Eklenme sırasına göre sırala', 'space_used_on_data_folder' => 'Data klasörü kullanılan alan', @@ -1742,6 +1743,7 @@ URL: [url]', 'to' => 'Kime', 'toggle_manager' => 'Değişim yönetimi', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => 'Bitiş tarihi başlama tarihinden önce olamaz', 'transfer_content' => '', 'transfer_document' => 'Dokumanı gönder', @@ -1832,7 +1834,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Bu işlem ile tüm klasörlerdeki versiyon bilgisinin bulunduğu bir dosya oluşturursunuz. Her dosya oluşturulduğunda doküman klasörüne kaydedilir.', 'versioning_info' => 'Version bilgisi', 'versiontolow' => 'Versiyon düşük', -'version_comment' => '', +'version_comment' => 'Versiyon açıklaması', 'version_deleted_email' => 'Versiyon silindi', 'version_deleted_email_body' => 'Versiyon silindi Doküman: [name] diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index e14462605..1499b1905 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -1596,6 +1596,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => 'Slovak', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => '', 'sort_by_sequence' => '', 'space_used_on_data_folder' => 'Розмір каталогу даних', @@ -1763,6 +1764,7 @@ URL: [url]', 'to' => 'До', 'toggle_manager' => 'Змінити ознаку менеджера', 'toggle_qrcode' => '', +'total' => '', 'to_before_from' => 'Кінцева дата не може бути меншою початкової дати', 'transfer_content' => '', 'transfer_document' => '', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 7a888f5e7..992164e15 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -1571,6 +1571,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => '斯洛伐克语', 'sort_by_date' => '日期排序', +'sort_by_expiration_date' => '', 'sort_by_name' => '文件名排序', 'sort_by_sequence' => '顺序排列', 'space_used_on_data_folder' => '数据文件夹使用空间', @@ -1738,6 +1739,7 @@ URL: [url]', 'to' => '到', 'toggle_manager' => '角色切换', 'toggle_qrcode' => '显示/隐藏 QR 码', +'total' => '', 'to_before_from' => '结束日期不能早于开始日期', 'transfer_content' => '', 'transfer_document' => '共享文档', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 19e361749..938550dea 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2423) +// Translators: Admin (2424) $text = array( '2_factor_auth' => '', @@ -826,7 +826,7 @@ URL: [url]', 'personal_default_keywords' => '用戶關鍵字', 'pl_PL' => '波蘭語', 'possible_substitutes' => '', -'preset_expires' => '', +'preset_expires' => '預設到期日', 'preview' => '預覽', 'preview_converters' => '', 'preview_images' => '', @@ -1426,6 +1426,7 @@ URL: [url]', 'site_brand' => '', 'sk_SK' => '斯洛伐克語', 'sort_by_date' => '', +'sort_by_expiration_date' => '', 'sort_by_name' => '', 'sort_by_sequence' => '', 'space_used_on_data_folder' => '資料檔案夾使用空間', @@ -1593,6 +1594,7 @@ URL: [url]', 'to' => '到', 'toggle_manager' => '角色切換', 'toggle_qrcode' => '', +'total' => '總共', 'to_before_from' => '', 'transfer_content' => '', 'transfer_document' => '傳送檔案', From 376df1cb2098771654a3ff2e821bff92e258972d Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 15:12:03 +0200 Subject: [PATCH 20/47] include new task for checking for expired documents --- inc/inc.DBInit.php | 2 ++ inc/inc.Tasks.php | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 inc/inc.Tasks.php diff --git a/inc/inc.DBInit.php b/inc/inc.DBInit.php index 7d1290604..2d1e181a5 100644 --- a/inc/inc.DBInit.php +++ b/inc/inc.DBInit.php @@ -65,3 +65,5 @@ if(isset($GLOBALS['SEEDDMS_HOOKS']['initDMS'])) { } } } + +require_once('inc/inc.Tasks.php'); diff --git a/inc/inc.Tasks.php b/inc/inc.Tasks.php new file mode 100644 index 000000000..0f91348bb --- /dev/null +++ b/inc/inc.Tasks.php @@ -0,0 +1,40 @@ + + * @package SeedDMS + * @subpackage trash + */ +class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */ + + /** + * Run the task + * + * @param $task task to be executed + * @param $dms dms + * @return boolean true if task was executed succesfully, otherwise false + */ + public function execute($task, $dms, $user, $settings) { + $taskparams = $task->getParameter(); + $dms->getDocumentsExpired(intval($taskparams['days'])); + return true; + } + + public function getDescription() { + return 'Check for expired documents and set the document status'; + } + + public function getAdditionalParams() { + return array( + array( + 'name'=>'days', + 'type'=>'integer', + 'description'=> 'Number of days to check for. Negative values will look into the past. 0 will just check for documents expiring the current day. Keep in mind that the document is still valid on the expiration date.', + ) + ); + } +} /* }}} */ + +$GLOBALS['SEEDDMS_SCHEDULER']['tasks']['core']['expireddocs'] = new SeedDMS_ExpiredDocumentsTask; From aa55ed3bcb4d6345dba688f226b777298e0fa0e0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 16:23:19 +0200 Subject: [PATCH 21/47] show fast upload always but check for write access --- CHANGELOG | 2 ++ views/bootstrap/class.ViewFolder.php | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 615a35bdb..2e1775b20 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -14,6 +14,8 @@ - fix creating preview images of documents in drop folder - fix list of expired documents in admin tools (Closes: #474) - list of expired documents can be sorted +- show 'fast upload' always (if turned on), but issue an error msg if the + current folder is not writable -------------------------------------------------------------------------------- Changes in version 5.1.16 diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index 5c0df5135..d2733cb53 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -440,9 +440,13 @@ $('body').on('click', '.order-btn', function(ev) { $folder = $this->params['folder']; $this->contentHeading(getMLText("dropupload"), true); + if ($folder->getAccessMode($user) >= M_READWRITE) { ?>
errorMsg(getMLText('access_denied')); + } } /* }}} */ function entries() { /* {{{ */ @@ -594,7 +598,7 @@ $('body').on('click', '.order-btn', function(ev) { } echo "
\n"; - if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) { + if ($enableDropUpload/* && $folder->getAccessMode($user) >= M_READWRITE*/) { echo "
"; echo "
"; } @@ -603,7 +607,7 @@ $('body').on('click', '.order-btn', function(ev) { ?>
getID()."\"" : "") ?>>
getAccessMode($user) >= M_READWRITE) { + if ($enableDropUpload/* && $folder->getAccessMode($user) >= M_READWRITE*/) { echo "
"; echo "
"; // $this->dropUpload(); From bff27eb42c8af755f96c1cc49d524288036d9e6b Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 16:33:41 +0200 Subject: [PATCH 22/47] use $latestContent->getDocument() to get document --- views/bootstrap/class.ViewDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index fc86adb19..cdc976b5c 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -377,7 +377,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { $this->contentHeading(getMLText("preview")); ?> Date: Wed, 27 May 2020 16:35:11 +0200 Subject: [PATCH 23/47] fix getting document id for image preview --- views/bootstrap/class.ViewDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index 47f0dea9d..b3df666a6 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -394,7 +394,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { case 'image/gif': $this->contentHeading(getMLText("preview")); ?> - + Date: Wed, 27 May 2020 22:07:13 +0200 Subject: [PATCH 24/47] add script to run scheduled tasks --- controllers/class.Cron.php | 62 ++++++++++++++++++++++++++++++++++++++ op/op.Cron.php | 43 ++++++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 controllers/class.Cron.php create mode 100644 op/op.Cron.php diff --git a/controllers/class.Cron.php b/controllers/class.Cron.php new file mode 100644 index 000000000..631d20253 --- /dev/null +++ b/controllers/class.Cron.php @@ -0,0 +1,62 @@ + + * @copyright Copyright (C) 2010-2020 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Class which does the busines logic for the regular cron job + * + * @category DMS + * @package SeedDMS + * @author Uwe Steinmann + * @copyright Copyright (C) 2010-2020 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_Controller_Cron extends SeedDMS_Controller_Common { + + public function run() { /* {{{ */ + $dms = $this->params['dms']; + $settings = $this->params['settings']; + $mode = 'run'; //$this->params['mode']; + $db = $dms->getDb(); + +$scheduler = new SeedDMS_Scheduler($db); +$tasks = $scheduler->getTasks(); + +foreach($tasks as $task) { + if(isset($GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()]) && is_object($taskobj = $GLOBALS['SEEDDMS_SCHEDULER']['tasks'][$task->getExtension()][$task->getTask()])) { + switch($mode) { + case "run": + if(method_exists($taskobj, 'execute')) { + if(!$task->getDisabled() && $task->isDue()) { + if($user = $dms->getUserByLogin('cli_scheduler')) { + if($taskobj->execute($task, $dms, $user, $settings)) { + add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." successful."); + $task->updateLastNextRun(); + } else { + add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." failed, task has been disabled.", PEAR_LOG_ERR); + $task->setDisabled(1); + } + } else { + add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." failed because of missing user 'cli_scheduler'. Task has been disabled.", PEAR_LOG_ERR); + $task->setDisabled(1); + } + } + } + break; + } + } + +} + return true; + } /* }}} */ +} + diff --git a/op/op.Cron.php b/op/op.Cron.php new file mode 100644 index 000000000..b25b1584c --- /dev/null +++ b/op/op.Cron.php @@ -0,0 +1,43 @@ +$dms)); + +$controller->setParam('settings', $settings); +if(!$controller->run()) { + echo getMLText("error_occured"); + exit; +} + +add_log_line(); +exit(); + From c59a112917e9c865f6065a5b4d58778ed8275287 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 22:08:18 +0200 Subject: [PATCH 25/47] add entry for 6.0.10 (adding op.Cron.php) --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 9ebb91a65..67aeca945 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,7 @@ - fix uploading files with fine uploader (Closes: #472) - clear revision date when all revisors have been deleted - improve scheduler task management, tasks can be deleted, fix setting parameters +- add op.Cron.php for running all scheduled tasks -------------------------------------------------------------------------------- Changes in version 6.0.9 From 3a29edff89ff5655b64273a970ff791b5bdaa166 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 27 May 2020 22:13:47 +0200 Subject: [PATCH 26/47] some info on how to set up the cronjob --- doc/README.cron | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 doc/README.cron diff --git a/doc/README.cron b/doc/README.cron new file mode 100644 index 000000000..09b201b3a --- /dev/null +++ b/doc/README.cron @@ -0,0 +1,42 @@ +Running the scheduler +====================== + +Since version 6 of SeedDMS a scheduler is implemented which runs +scheduled tasks. Such tasks must be implemented in an extension +and can be scheduled by the administrator within the user interface. + +In order to check frequently for tasks ready to run, a system cron job +must be installed. On Linux this can be done by adding the following line +to the crontab + +*/5 * * * * /var/www/seeddms60x/seeddms/utils/seeddms-schedulercli --mode=run + +(Of course you need to change the path to `seeddms-schedulercli`) + +This will install a cronjob running every 5 minutes. `seeddms-schedulercli` will check +for tasks ready to run and execute them in that case. You can decrease the time between +two calls of the cronjob, but keep in mind that seeddms tasks may take longer and +are being started again before the previous task has been ended. + +If the configuration file of SeedDMS is not found, its path can be passed +on the command, though this should not be needed in a regular installation +obeying the directory structure of the quickstart archive. + +*/5 * * * * /var/www/seeddms60x/seeddms/utils/seeddms-schedulercli --config /var/www/seeddms60x/seeddms/conf/settings.xml --mode=run + +For testing purposes it may be usefull to run `seeddms-schedulercli` in list mode. + +seeddms-schedulercli --mode=list + +This will just list all tasks and its scheduled exection time. Tasks ready to run, +because its scheduled execution time is already in the past will be marked with +a `*`. Tasks which are disabled will be marked with a `-`. + +Executing `seeddms-schedulercli` in `dryrun` mode will behave just like in `run` mode +but instead of running the task it will just issue a line. + +Instead of running utils/seeddms-schedulercli you may as well access +op/op.Cron.php which also runs all scheduled tasks. On Linux you do this +by setting up a cronjob like + +*/5 * * * * wget -q -O - "http:///op/op.Cron.php" From b83db90f766849d6fb2854fc0abe02aa7892552c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 28 May 2020 07:36:44 +0200 Subject: [PATCH 27/47] add task_core_expireddocs_days --- languages/ar_EG/lang.inc | 1 + languages/bg_BG/lang.inc | 1 + languages/ca_ES/lang.inc | 1 + languages/cs_CZ/lang.inc | 1 + languages/de_DE/lang.inc | 3 ++- languages/el_GR/lang.inc | 1 + languages/en_GB/lang.inc | 3 ++- languages/es_ES/lang.inc | 1 + languages/fr_FR/lang.inc | 1 + languages/hr_HR/lang.inc | 1 + languages/hu_HU/lang.inc | 1 + languages/it_IT/lang.inc | 1 + languages/ko_KR/lang.inc | 1 + languages/lo_LA/lang.inc | 1 + languages/nb_NO/lang.inc | 1 + languages/nl_NL/lang.inc | 1 + languages/pl_PL/lang.inc | 1 + languages/pt_BR/lang.inc | 1 + languages/ro_RO/lang.inc | 1 + languages/ru_RU/lang.inc | 1 + languages/sk_SK/lang.inc | 1 + languages/sv_SE/lang.inc | 1 + languages/tr_TR/lang.inc | 1 + languages/uk_UA/lang.inc | 1 + languages/zh_CN/lang.inc | 1 + languages/zh_TW/lang.inc | 1 + 26 files changed, 28 insertions(+), 2 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 7e1f6a5bc..b7413aa43 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -1692,6 +1692,7 @@ URL: [url]', 'takeOverIndReviewer' => 'اخذ فهرسة المراجع', 'takeOverIndReviewers' => '', 'tasks' => 'مهمات', +'task_core_expireddocs_days' => '', 'task_description' => 'تفصيل المهام', 'task_disabled' => 'تم توقيف المهمة', 'task_frequency' => 'تردد المهمة', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index c2cf7f8f9..86ea1e7d3 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -1555,6 +1555,7 @@ $text = array( 'takeOverIndReviewer' => '', 'takeOverIndReviewers' => '', 'tasks' => '', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index dd6519158..f2b1b34d5 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -1560,6 +1560,7 @@ URL: [url]', 'takeOverIndReviewer' => '', 'takeOverIndReviewers' => '', 'tasks' => '', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 5456186ba..8d1e815ae 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -1764,6 +1764,7 @@ Jméno: [username] 'takeOverIndReviewer' => 'Převzít jednotlivého recenzenta z poslední verze.', 'takeOverIndReviewers' => '', 'tasks' => 'Úkoly', +'task_core_expireddocs_days' => '', 'task_description' => 'Popis', 'task_disabled' => 'Vypnuto', 'task_frequency' => 'Frekvence', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index df78203df..07a7ba8a3 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2769), dgrutsch (22) +// Translators: Admin (2770), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -1775,6 +1775,7 @@ Name: [username] 'takeOverIndReviewer' => 'Übernehme die Einzelprüfer von der letzten Version.', 'takeOverIndReviewers' => 'Einzelprüfer übernehmen', 'tasks' => 'Aufgaben', +'task_core_expireddocs_days' => 'Tage', 'task_description' => 'Beschreibung', 'task_disabled' => 'Deaktiviert', 'task_frequency' => 'Häufigkeit', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 346579d90..3a37f9b78 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -1566,6 +1566,7 @@ URL: [url]', 'takeOverIndReviewer' => '', 'takeOverIndReviewers' => '', 'tasks' => '', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index aa2d58da4..d4a6ffc36 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1875), archonwang (3), dgrutsch (9), netixw (14) +// Translators: Admin (1876), archonwang (3), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -1769,6 +1769,7 @@ Name: [username] 'takeOverIndReviewer' => 'Take over individual reviewer from last version.', 'takeOverIndReviewers' => 'Take Over Individual Reviewers', 'tasks' => 'Tasks', +'task_core_expireddocs_days' => 'Days', 'task_description' => 'Description', 'task_disabled' => 'Disabled', 'task_frequency' => 'Frequency', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index cb313daaf..b8e3f6e75 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -1707,6 +1707,7 @@ URL: [url]', 'takeOverIndReviewer' => 'Tomar control de la revisión de la última versión', 'takeOverIndReviewers' => '', 'tasks' => 'Tareas', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index f46f6020d..7ba4a3732 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -1767,6 +1767,7 @@ Nom : [username] 'takeOverIndReviewer' => 'Récupérer les examinateurs de la dernière version.', 'takeOverIndReviewers' => 'Récupérer les examinateurs individuels', 'tasks' => 'Tâches', +'task_core_expireddocs_days' => '', 'task_description' => 'Description', 'task_disabled' => 'Désactivée', 'task_frequency' => 'Fréquence', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 9a71b8823..7fab3f079 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -1728,6 +1728,7 @@ Internet poveznica: [url]', 'takeOverIndReviewer' => 'Preuzimanje pojedinačnog revizora iz zadnje verzije.', 'takeOverIndReviewers' => '', 'tasks' => 'Zadaci', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 5e2109a15..5c5d4b032 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -1706,6 +1706,7 @@ URL: [url]', 'takeOverIndReviewer' => '', 'takeOverIndReviewers' => '', 'tasks' => '', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 17ee00571..0d8fd704b 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -1755,6 +1755,7 @@ Name: [username] 'takeOverIndReviewer' => 'Riprendi il revisore dall\'ultima versione.', 'takeOverIndReviewers' => '', 'tasks' => 'Attività', +'task_core_expireddocs_days' => '', 'task_description' => 'Descrizione', 'task_disabled' => 'Disabilitata', 'task_frequency' => 'Frequenza', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index eb57a0f13..f8ade3f6d 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -1722,6 +1722,7 @@ URL : [url]', 'takeOverIndReviewer' => '최종 버전의 개인별 검수자를 상속합니다.', 'takeOverIndReviewers' => '', 'tasks' => '작업', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/lo_LA/lang.inc b/languages/lo_LA/lang.inc index c80ff2199..0f9d42de7 100644 --- a/languages/lo_LA/lang.inc +++ b/languages/lo_LA/lang.inc @@ -1748,6 +1748,7 @@ URL: [url]', 'takeOverIndReviewer' => 'ການກວດສອບແຕ່ລະບຸກຄົນຈາກເວີຊັ້ນລ່າສຸດ', 'takeOverIndReviewers' => '', 'tasks' => 'ງານ', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/nb_NO/lang.inc b/languages/nb_NO/lang.inc index c4b74825e..be2819954 100644 --- a/languages/nb_NO/lang.inc +++ b/languages/nb_NO/lang.inc @@ -1761,6 +1761,7 @@ Bruker: [username] 'takeOverIndReviewer' => 'Ta over individuell anmelder fra forrige versjon.', 'takeOverIndReviewers' => 'Ta over individuelle korrekturleser', 'tasks' => 'Oppgaver', +'task_core_expireddocs_days' => '', 'task_description' => 'Beskrivelse', 'task_disabled' => 'Deaktivert', 'task_frequency' => 'Frekvens', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index fea4c5072..67196458e 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -1745,6 +1745,7 @@ Name: [username] 'takeOverIndReviewer' => 'Onthoud de laatste groep individuele herzieners', 'takeOverIndReviewers' => '', 'tasks' => 'taken', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 0a4cde139..07206a753 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -1686,6 +1686,7 @@ URL: [url]', 'takeOverIndReviewer' => '', 'takeOverIndReviewers' => '', 'tasks' => '', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 42113d949..d006763fc 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -1767,6 +1767,7 @@ Nome: [username] 'takeOverIndReviewer' => 'Assuma o revisor individual da última versão.', 'takeOverIndReviewers' => '', 'tasks' => 'Tarefas', +'task_core_expireddocs_days' => '', 'task_description' => 'Descrição', 'task_disabled' => 'Desativado', 'task_frequency' => 'Frequência', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index 5bec75552..fe8008d5f 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -1729,6 +1729,7 @@ URL: [url]', 'takeOverIndReviewer' => 'Preia revizuitorul individual din ultima versiune.', 'takeOverIndReviewers' => '', 'tasks' => '', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index aa197d80a..dd9107aeb 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -1736,6 +1736,7 @@ URL: [url]', 'takeOverIndReviewer' => 'Использовать рецензентов из прошлой версии', 'takeOverIndReviewers' => '', 'tasks' => 'Задания', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 24405a394..5c9bbb3e3 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -1769,6 +1769,7 @@ Meno: [username] 'takeOverIndReviewer' => 'Take over individual reviewer from last version.', 'takeOverIndReviewers' => '', 'tasks' => 'Úlohy', +'task_core_expireddocs_days' => '', 'task_description' => 'Description', 'task_disabled' => 'Disabled', 'task_frequency' => 'Frequency', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 05f779d26..b3ef65ab4 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -1742,6 +1742,7 @@ Kommentar: [comment]', 'takeOverIndReviewer' => 'Ta över individuell granskare från senaste version', 'takeOverIndReviewers' => '', 'tasks' => 'Uppgifter', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index 41d0f1274..c4ab29d9f 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -1708,6 +1708,7 @@ URL: [url]', 'takeOverIndReviewer' => 'Bir önceki versiyonu kontrol edeni al.', 'takeOverIndReviewers' => '', 'tasks' => '', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 1499b1905..f8bf26bd9 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -1729,6 +1729,7 @@ URL: [url]', 'takeOverIndReviewer' => 'Використати рецензентів з попередньої версії', 'takeOverIndReviewers' => '', 'tasks' => 'Завдання', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 992164e15..10cf8e126 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -1704,6 +1704,7 @@ URL: [url]', 'takeOverIndReviewer' => '', 'takeOverIndReviewers' => '', 'tasks' => '任务', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 938550dea..5b8b4ee9a 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -1559,6 +1559,7 @@ URL: [url]', 'takeOverIndReviewer' => '從上個版本接管個別審稿人', 'takeOverIndReviewers' => '', 'tasks' => '', +'task_core_expireddocs_days' => '', 'task_description' => '', 'task_disabled' => '', 'task_frequency' => '', From 1d99c05b20a130b1f99c241f5f963dbb6cc78e8e Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 28 May 2020 07:59:57 +0200 Subject: [PATCH 28/47] fix check for edit version --- inc/inc.ClassAccessOperation.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/inc.ClassAccessOperation.php b/inc/inc.ClassAccessOperation.php index cbf170a34..352c7cead 100644 --- a/inc/inc.ClassAccessOperation.php +++ b/inc/inc.ClassAccessOperation.php @@ -67,7 +67,7 @@ class SeedDMS_AccessOperation { $version = $this->obj->getContentByVersion($vno); else $version = $this->obj->getLatestContent(); - if (!isset($this->settings->_editOnlineFileTypes) || !is_array($this->settings->_editOnlineFileTypes) || !in_array(strtolower($version->getFileType()), $this->settings->_editOnlineFileTypes) || !in_array(strtolower($version->getMimeType()), $this->settings->_editOnlineFileTypes)) + if (!isset($this->settings->_editOnlineFileTypes) || !is_array($this->settings->_editOnlineFileTypes) || (!in_array(strtolower($version->getFileType()), $this->settings->_editOnlineFileTypes) && !in_array(strtolower($version->getMimeType()), $this->settings->_editOnlineFileTypes))) return false; if ($this->obj->getAccessMode($this->user) == M_ALL || $this->user->isAdmin()) { return true; From 6f0b8806a18d80d01001b46c7d34d760261c75f0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 28 May 2020 08:10:39 +0200 Subject: [PATCH 29/47] include inc.ClassSchedulerTaskBase.php --- inc/inc.Tasks.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inc/inc.Tasks.php b/inc/inc.Tasks.php index 0f91348bb..0311c227a 100644 --- a/inc/inc.Tasks.php +++ b/inc/inc.Tasks.php @@ -1,5 +1,7 @@ Date: Thu, 28 May 2020 10:46:19 +0200 Subject: [PATCH 30/47] do not use $theme in notFoundHandler --- index.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.php b/index.php index 658fb6f01..c70f392f0 100644 --- a/index.php +++ b/index.php @@ -31,8 +31,8 @@ if(true) { require "vendor/autoload.php"; $c = new \Slim\Container(); //Create Your container - $c['notFoundHandler'] = function ($c) use ($settings, $dms, $theme) { - return function ($request, $response) use ($c, $settings, $dms, $theme) { + $c['notFoundHandler'] = function ($c) use ($settings, $dms) { + return function ($request, $response) use ($c, $settings, $dms) { $uri = $request->getUri(); if($uri->getBasePath()) $file = $uri->getPath(); From c70f1cc6f8770b732b4a08201ea262defb131b57 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 28 May 2020 11:51:55 +0200 Subject: [PATCH 31/47] start new version 5.1.18 --- CHANGELOG | 4 ++++ SeedDMS_Core/Core/inc.ClassDMS.php | 2 +- inc/inc.Version.php | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 2e1775b20..e12eeeb72 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +-------------------------------------------------------------------------------- + Changes in version 5.1.18 +-------------------------------------------------------------------------------- + -------------------------------------------------------------------------------- Changes in version 5.1.17 -------------------------------------------------------------------------------- diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 83537c1de..6f911b5d2 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -396,7 +396,7 @@ class SeedDMS_Core_DMS { $this->lasterror = ''; $this->version = '@package_version@'; if($this->version[0] == '@') - $this->version = '5.1.16'; + $this->version = '5.1.18'; } /* }}} */ /** diff --git a/inc/inc.Version.php b/inc/inc.Version.php index d564f80df..926d248a0 100644 --- a/inc/inc.Version.php +++ b/inc/inc.Version.php @@ -20,7 +20,7 @@ class SeedDMS_Version { /* {{{ */ - const _number = "5.1.17"; + const _number = "5.1.18"; const _string = "SeedDMS"; function __construct() { From e1a6497b05878d0e449c7c8daa6954a89c99e9ab Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Thu, 28 May 2020 12:49:53 +0200 Subject: [PATCH 32/47] start new version 5.1.18 --- SeedDMS_Core/package.xml | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index e8364dc0c..78e8b7e36 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -12,11 +12,11 @@ uwe@steinmann.cx yes - 2020-05-22 + 2020-05-28 - 5.1.17 - 5.1.17 + 5.1.18 + 5.1.18 stable @@ -24,9 +24,7 @@ GPL License -- add new callback onSetStatus -- fix SeedDMS_Core_DMS::getExpiredDocuments(), sql statement failed because temp. tables were not created -- add parameters $orderdir, $orderby, $update to SeedDMS_Core::getExpiredDocuments() +- ??? @@ -1765,5 +1763,23 @@ add method SeedDMS_Core_DatabaseAccess::setLogFp() - better error checking in SeedDMS_Core_Document::addDocumentFile() + + 2020-05-22 + + + 5.1.17 + 5.1.17 + + + stable + stable + + GPL License + +- add new callback onSetStatus +- fix SeedDMS_Core_DMS::getExpiredDocuments(), sql statement failed because temp. tables were not created +- add parameters $orderdir, $orderby, $update to SeedDMS_Core::getExpiredDocuments() + + From 095c63b884b9c7ea1a0d35eee9fd2d6f01eb1d23 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 3 Jun 2020 10:53:19 +0200 Subject: [PATCH 33/47] set name of folder tree to 'main' --- views/bootstrap/class.ViewFolder.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index d2733cb53..e0e50c83f 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -209,7 +209,7 @@ $('body').on('click', '.order-btn', function(ev) { printNewTreeNavigationJs($folder->getID(), M_READ, 0, '', ($expandFolderTree == 1) ? -1 : 3, $orderby); + $this->printNewTreeNavigationJs($folder->getID(), M_READ, 0, 'main', ($expandFolderTree == 1) ? -1 : 3, $orderby); if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) { echo "SeedDMSUpload.setUrl('../op/op.Ajax.php');"; @@ -581,7 +581,7 @@ $('body').on('click', '.order-btn', function(ev) { * access expandFolderTree with $this->params because it can * be changed by preContent hook. */ - $this->printNewTreeNavigationHtml($folderid, M_READ, 0, '', ($this->params['expandFolderTree'] == 1) ? -1 : 3, $orderby); + $this->printNewTreeNavigationHtml($folderid, M_READ, 0, 'main', ($this->params['expandFolderTree'] == 1) ? -1 : 3, $orderby); $this->contentContainerEnd(); } else { $this->contentHeading("", true); From 932cfab13e36caecc64e580ba2663fba3b81df0c Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 3 Jun 2020 10:53:49 +0200 Subject: [PATCH 34/47] minor improvements in folder tree (show 'plus' if children exists) --- views/bootstrap/class.Bootstrap.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index f7a2d6356..47a2ee2a5 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -1638,7 +1638,7 @@ $(document).ready(function() { * @param boolean $partialtree set to true if the given folder is the start folder */ function printNewTreeNavigationJs($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='', $partialtree=false) { /* {{{ */ - function jqtree($path, $folder, $user, $accessmode, $showdocs=1, $expandtree=0, $orderby='', $level=0) { + function jqtree($path, $folder, $user, $accessmode, $showdocs=1, $expandtree=0, $orderby='', $level=0) { /* {{{ */ $orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc'); if($path/* || $expandtree>=$level*/) { if($path) @@ -1651,7 +1651,7 @@ $(document).ready(function() { $subfolders = array($pathfolder); } foreach($subfolders as $subfolder) { - $node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>(0 && ($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs))) ? true : false, 'is_folder'=>true); + $node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>(1 && ($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs))) ? true : false, 'is_folder'=>true); if(/*$expandtree>=$level ||*/ $pathfolder->getID() == $subfolder->getID()) { $node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs, $expandtree, $orderby, $level+1); if($showdocs) { @@ -1677,7 +1677,7 @@ $(document).ready(function() { return $children; } return array(); - } + } /* }}} */ $orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc'); if($folderid) { @@ -1719,7 +1719,7 @@ var data = ; $(function() { const $tree = $('#jqtree'); $tree.tree({ -// saveState: true, +// saveState: false, selectable: true, data: data, saveState: 'jqtree', @@ -1742,7 +1742,7 @@ $(function() { } }); // Unfold node for currently selected folder - $('#jqtree').tree('selectNode', $('#jqtree').tree('getNodeById', ), false); + $('#jqtree').tree('selectNode', $('#jqtree').tree('getNodeById', ), false, true); $('#jqtree').on( 'tree.click', function(event) { From 3d754a376b4556074b7ea1e48702c7fa4b734819 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 3 Jun 2020 18:21:23 +0200 Subject: [PATCH 35/47] add coloured output, do not include Log.php, use PHP_EOL --- utils/indexer.php | 48 ++++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/utils/indexer.php b/utils/indexer.php index 6a4cd14e5..c2a825dc8 100644 --- a/utils/indexer.php +++ b/utils/indexer.php @@ -4,20 +4,19 @@ if(isset($_SERVER['SEEDDMS_HOME'])) { } else { require_once("../inc/inc.ClassSettings.php"); } -require("Log.php"); function usage() { /* {{{ */ - echo "Usage:\n"; - echo " seeddms-indexer [-h] [-v] [--config ]\n"; - echo "\n"; - echo "Description:\n"; - echo " This program recreates the full text index of SeedDMS.\n"; - echo "\n"; - echo "Options:\n"; - echo " -h, --help: print usage information and exit.\n"; - echo " -v, --version: print version and exit.\n"; - echo " -c: recreate index.\n"; - echo " --config: set alternative config file.\n"; + echo "Usage:".PHP_EOL; + echo " seeddms-indexer [-h] [-v] [--config ]".PHP_EOL; + echo "".PHP_EOL; + echo "Description:".PHP_EOL; + echo " This program recreates the full text index of SeedDMS.".PHP_EOL; + echo "".PHP_EOL; + echo "Options:".PHP_EOL; + echo " -h, --help: print usage information and exit.".PHP_EOL; + echo " -v, --version: print version and exit.".PHP_EOL; + echo " -c: recreate index.".PHP_EOL; + echo " --config: set alternative config file.".PHP_EOL; } /* }}} */ $version = "0.0.2"; @@ -36,7 +35,7 @@ if(isset($options['h']) || isset($options['help'])) { /* Print version and exit */ if(isset($options['v']) || isset($options['verѕion'])) { - echo $version."\n"; + echo $version."".PHP_EOL; exit(0); } @@ -60,6 +59,7 @@ if(isset($settings->_extraPath)) require_once("inc/inc.Init.php"); require_once("inc/inc.Extension.php"); require_once("inc/inc.DBInit.php"); +require "vendor/autoload.php"; if($settings->_fullSearchEngine == 'sqlitefts') { $indexconf = array( @@ -80,8 +80,8 @@ if($settings->_fullSearchEngine == 'sqlitefts') { } function tree($dms, $index, $indexconf, $folder, $indent='') { /* {{{ */ - global $settings; - echo $indent."D ".$folder->getName()."\n"; + global $settings, $themes; + echo $themes->black($indent."D ".$folder->getName()).PHP_EOL; $subfolders = $folder->getSubFolders(); foreach($subfolders as $subfolder) { tree($dms, $index, $indexconf, $subfolder, $indent.' '); @@ -101,9 +101,9 @@ function tree($dms, $index, $indexconf, $folder, $indent='') { /* {{{ */ } } $index->addDocument($idoc); - echo " (Document added)\n"; + echo $themes->green(" (Document added)").PHP_EOL; } catch(Exception $e) { - echo " (Timeout)\n"; + echo $themes->error(" (Timeout)").PHP_EOL; } } else { try { @@ -113,7 +113,7 @@ function tree($dms, $index, $indexconf, $folder, $indent='') { /* {{{ */ } $content = $document->getLatestContent(); if($created > $content->getDate()) { - echo " (Document unchanged)\n"; + echo $themes->italic(" (Document unchanged)").PHP_EOL; } else { $index->delete($hit->id); try { @@ -126,21 +126,23 @@ function tree($dms, $index, $indexconf, $folder, $indent='') { /* {{{ */ } } $index->addDocument($idoc); - echo " (Document updated)\n"; + echo $themes->green(" (Document updated)").PHP_EOL; } catch(Exception $e) { - echo " (Timeout)\n"; + echo $themes->error(" (Timeout)").PHP_EOL; } } } } } /* }}} */ +$themes = new \AlecRabbit\ConsoleColour\Themes(); + $db = new SeedDMS_Core_DatabaseAccess($settings->_dbDriver, $settings->_dbHostname, $settings->_dbUser, $settings->_dbPass, $settings->_dbDatabase); $db->connect() or die ("Could not connect to db-server \"" . $settings->_dbHostname . "\""); $dms = new SeedDMS_Core_DMS($db, $settings->_contentDir.$settings->_contentOffsetDir); -if(!$dms->checkVersion()) { - echo "Database update needed.\n"; +if(!$settings->_doNotCheckDBVersion && !$dms->checkVersion()) { + echo "Database update needed.".PHP_EOL; exit(1); } @@ -151,7 +153,7 @@ if($recreate) else $index = $indexconf['Indexer']::open($settings->_luceneDir); if(!$index) { - echo "Could not create index.\n"; + echo "Could not create index.".PHP_EOL; exit(1); } From 8e139e46b339bd71e94f6e3cb477c7eac4550296 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 3 Jun 2020 18:21:56 +0200 Subject: [PATCH 36/47] do not check for db version if disabled --- utils/createfolder.php | 2 +- utils/seeddms-indexer | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/utils/createfolder.php b/utils/createfolder.php index 9cc82b867..d5233e602 100644 --- a/utils/createfolder.php +++ b/utils/createfolder.php @@ -78,7 +78,7 @@ $db->connect() or die ("Could not connect to db-server \"" . $settings->_dbHostn //$db->_conn->debug = 1; $dms = new SeedDMS_Core_DMS($db, $settings->_contentDir.$settings->_contentOffsetDir); -if(!$dms->checkVersion()) { +if(!$settings->_doNotCheckDBVersion && !$dms->checkVersion()) { echo "Database update needed."; exit; } diff --git a/utils/seeddms-indexer b/utils/seeddms-indexer index cf481ebd6..6cc913ae9 100755 --- a/utils/seeddms-indexer +++ b/utils/seeddms-indexer @@ -1,8 +1,8 @@ #!/usr/bin/env bash if [ -z "${SEEDDMS_HOME}" ]; then - echo 'Please set $SEEDDMS_HOME before running this script' - exit 1 + parentdir=$(dirname "$0") + export SEEDDMS_HOME=$(dirname "$parentdir") fi exec php -f "${SEEDDMS_HOME}/utils/indexer.php" -- "${@}" From c0152e8def1edabf3e07d9de7f97a6e700117794 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 3 Jun 2020 18:31:01 +0200 Subject: [PATCH 37/47] undo naming tree 'main'. It breaks selection of folders in the tree --- views/bootstrap/class.ViewFolder.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index e0e50c83f..d2733cb53 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -209,7 +209,7 @@ $('body').on('click', '.order-btn', function(ev) { printNewTreeNavigationJs($folder->getID(), M_READ, 0, 'main', ($expandFolderTree == 1) ? -1 : 3, $orderby); + $this->printNewTreeNavigationJs($folder->getID(), M_READ, 0, '', ($expandFolderTree == 1) ? -1 : 3, $orderby); if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) { echo "SeedDMSUpload.setUrl('../op/op.Ajax.php');"; @@ -581,7 +581,7 @@ $('body').on('click', '.order-btn', function(ev) { * access expandFolderTree with $this->params because it can * be changed by preContent hook. */ - $this->printNewTreeNavigationHtml($folderid, M_READ, 0, 'main', ($this->params['expandFolderTree'] == 1) ? -1 : 3, $orderby); + $this->printNewTreeNavigationHtml($folderid, M_READ, 0, '', ($this->params['expandFolderTree'] == 1) ? -1 : 3, $orderby); $this->contentContainerEnd(); } else { $this->contentHeading("", true); From 76d92db9fa8659d37d9da368ae8d3824d74a50e8 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 3 Jun 2020 18:31:42 +0200 Subject: [PATCH 38/47] add changes for 5.1.18 --- CHANGELOG | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index e12eeeb72..58572a69a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,7 +1,9 @@ -------------------------------------------------------------------------------- Changes in version 5.1.18 -------------------------------------------------------------------------------- - +- various minor improvements of indexer.php script +- minor fix for better behaviour of folder tree ('plus' signs appears if folder + has children) -------------------------------------------------------------------------------- Changes in version 5.1.17 -------------------------------------------------------------------------------- From cc6fd60168140af49e0b7503870791b5f9076a98 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 5 Jun 2020 17:45:17 +0200 Subject: [PATCH 39/47] start new version 6.0.11 --- SeedDMS_Core/package.xml | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 186b8545a..afac0c81b 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -12,11 +12,11 @@ uwe@steinmann.cx yes - 2020-05-22 + 2020-06-05 - 6.0.10 - 6.0.10 + 6.0.11 + 6.0.11 stable @@ -24,7 +24,7 @@ GPL License -SeedDMS_Core_DocumentContent::delRevisor() returns -4 if user has already made a revision +SeedDMS_Core_DMS::filterAccess() properly checks for documents @@ -2002,5 +2002,21 @@ remove a user from all its process can also be used to set a new user - no changes, just keep same version as seeddms application + + 2020-05-22 + + + 6.0.10 + 6.0.10 + + + stable + stable + + GPL License + +SeedDMS_Core_DocumentContent::delRevisor() returns -4 if user has already made a revision + + From b974f4c4e98d3c1f3de75daa6aa85964713f8f87 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 5 Jun 2020 17:45:31 +0200 Subject: [PATCH 40/47] filterAccess() propperly checks for documents --- SeedDMS_Core/Core/inc.ClassDMS.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 899651a08..65484ed44 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -292,7 +292,7 @@ class SeedDMS_Core_DMS { foreach ($objArr as $obj) { if ($obj->getAccessMode($user) >= $minMode) { $dms = $obj->getDMS(); - if(get_class($obj) == $dms->getClassname('document')) { + if($obj->isType('document')) { if($obj->getLatestContent()) array_push($newArr, $obj); } else { From 98734e8ef93caa416084b6bc47a808c4b9bd8fa1 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 5 Jun 2020 17:50:26 +0200 Subject: [PATCH 41/47] add entry for 6.0.11 --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index ab14e69d1..e7e4950af 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ -------------------------------------------------------------------------------- Changes in version 6.0.11 -------------------------------------------------------------------------------- +- fix access restriction for roles (content of documents was visible even if the + role and status didn't allow it) -------------------------------------------------------------------------------- Changes in version 6.0.10 From 3cf091099b646afec9a9c8ad62c530943b78bb18 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 5 Jun 2020 18:06:27 +0200 Subject: [PATCH 42/47] =?UTF-8?q?fix=20many=20remaining=20todos=20(mo?= =?UTF-8?q?=D1=95tly=20wrong=20var=20names)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SeedDMS_Core/Core/inc.ClassAttribute.php | 7 +------ SeedDMS_Core/Core/inc.ClassDMS.php | 2 +- SeedDMS_Core/Core/inc.ClassDocument.php | 14 ++++++-------- SeedDMS_Core/Core/inc.ClassFolder.php | 4 ++-- SeedDMS_Core/package.xml | 2 +- 5 files changed, 11 insertions(+), 18 deletions(-) diff --git a/SeedDMS_Core/Core/inc.ClassAttribute.php b/SeedDMS_Core/Core/inc.ClassAttribute.php index f6b874c2b..89842171a 100644 --- a/SeedDMS_Core/Core/inc.ClassAttribute.php +++ b/SeedDMS_Core/Core/inc.ClassAttribute.php @@ -245,7 +245,7 @@ class SeedDMS_Core_Attribute { /* {{{ */ */ function validate() { /* {{{ */ /** @var SeedDMS_Core_AttributeDefinition $attrdef */ - $attrdef = $this->_attrdef(); /** @todo check this out, this method is not existing */ + $attrdef = $this->_attrdef; $result = $attrdef->validate($this->_value); $this->_validation_error = $attrdef->getValidationError(); return $result; @@ -1123,11 +1123,6 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */ if(!$success) $this->_validation_error = 3; break; - case self::type_boolean: /** @todo: Same case in LINE 966 */ - foreach($values as $value) { - $success &= preg_match('/^[01]$/', $value); - } - break; case self::type_email: foreach($values as $value) { $success &= preg_match('/^[a-z0-9._-]+@+[a-z0-9._-]+\.+[a-z]{2,4}$/i', $value); diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 6f911b5d2..34c996869 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -1217,7 +1217,7 @@ class SeedDMS_Core_DMS { $orderdir = 'ASC'; /** @noinspection PhpUndefinedConstantInspection */ $queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ". - "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.", ".S_IN_REVISION.") "; /** @todo S_IN_REVISION is not defined */ + "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.") "; if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 8d264bdb2..cdf702b18 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -1492,7 +1492,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ if ((int)$version<1) { $queryStr = "SELECT MAX(`version`) as m from `tblDocumentContent` where `document` = ".$this->_id; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && !$res) + if (is_bool($resArr) && !$resArr) return false; $version = $resArr[0]['m']+1; @@ -1563,7 +1563,6 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ // a document be rejected. $pendingReview=false; /** @noinspection PhpUnusedLocalVariableInspection */ - $reviewRes = array(); /** @todo unused variable */ foreach (array("i", "g") as $i){ if (isset($reviewers[$i])) { foreach ($reviewers[$i] as $reviewerID) { @@ -1582,7 +1581,6 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ // and make a recommendation on its release as an approved version. $pendingApproval=false; /** @noinspection PhpUnusedLocalVariableInspection */ - $approveRes = array(); /** @todo unused variable */ foreach (array("i", "g") as $i){ if (isset($approvers[$i])) { foreach ($approvers[$i] as $approverID) { @@ -1621,7 +1619,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ } /** @noinspection PhpMethodParametersCountMismatchInspection */ - $docResultSet->setStatus($status,$comment,$user); /** @todo parameter count wrong */ + $docResultSet->setStatus($status); $db->commitTransaction(); return $docResultSet; @@ -1659,7 +1657,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ if ((int) $version<1) { $queryStr = "SELECT MAX(`version`) as m from `tblDocumentContent` where `document` = ".$this->_id; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && !$res) /** @todo undefined variable */ + if (is_bool($resArr) && !$resArr) return false; $version = $resArr[0]['m']; @@ -1725,7 +1723,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ if (!isset($this->_content)) { $queryStr = "SELECT * FROM `tblDocumentContent` WHERE `document` = ".$this->_id." ORDER BY `version`"; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && !$res) /** @todo undefined variable */ + if (is_bool($resArr) && !$resArr) return false; $this->_content = array(); @@ -1771,7 +1769,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $db = $this->_dms->getDB(); $queryStr = "SELECT * FROM `tblDocumentContent` WHERE `document` = ".$this->_id." AND `version` = " . (int) $version; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && !$res) /** @todo undefined variable */ + if (is_bool($resArr) && !$resArr) return false; if (count($resArr) != 1) return false; @@ -1829,7 +1827,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $db = $this->_dms->getDB(); $queryStr = "SELECT * FROM `tblDocumentContent` WHERE `document` = ".$this->_id." ORDER BY `version` DESC"; $resArr = $db->getResultArray($queryStr); - if (is_bool($resArr) && !$res) /** @todo: $res not defined */ + if (is_bool($resArr) && !$resArr) return false; $classname = $this->_dms->getClassname('documentcontent'); diff --git a/SeedDMS_Core/Core/inc.ClassFolder.php b/SeedDMS_Core/Core/inc.ClassFolder.php index 58f21a26d..0b7945bff 100644 --- a/SeedDMS_Core/Core/inc.ClassFolder.php +++ b/SeedDMS_Core/Core/inc.ClassFolder.php @@ -555,7 +555,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { $db = $this->_dms->getDB(); if (isset($this->_subFolders)) { /** @noinspection PhpUndefinedFieldInspection */ - return count($this->subFolders); /** @todo not $this->_subFolders? */ + return count($this->_subFolders); } $queryStr = "SELECT count(*) as c FROM `tblFolders` WHERE `parent` = " . $this->_id; $resArr = $db->getResultArray($queryStr); @@ -757,7 +757,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { $db = $this->_dms->getDB(); if (isset($this->_documents)) { /** @noinspection PhpUndefinedFieldInspection */ - return count($this->documents); /** @todo not $this->_documents? */ + return count($this->_documents); } $queryStr = "SELECT count(*) as c FROM `tblDocuments` WHERE `folder` = " . $this->_id; $resArr = $db->getResultArray($queryStr); diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index 78e8b7e36..3a9fd91e4 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -24,7 +24,7 @@ GPL License -- ??? +- fixed remaining todos From 1c8452eceab7ba7a0f29bf0222e6ac9572e4b3ef Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Sat, 6 Jun 2020 16:15:32 +0200 Subject: [PATCH 43/47] docs in S_IN_REVISION are in list AppRev (had been removed after merge) --- SeedDMS_Core/Core/inc.ClassDMS.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 50a7cf33c..c76c03777 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -1580,7 +1580,7 @@ class SeedDMS_Core_DMS { $orderdir = 'ASC'; /** @noinspection PhpUndefinedConstantInspection */ $queryStr .= "AND `tblDocuments`.`owner` = '".$user->getID()."' ". - "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.") "; + "AND `tblDocumentStatusLog`.`status` IN (".S_DRAFT_REV.", ".S_DRAFT_APP.", ".S_IN_REVISION.") "; if ($orderby=='e') $queryStr .= "ORDER BY `expires`"; else if ($orderby=='u') $queryStr .= "ORDER BY `statusDate`"; else if ($orderby=='s') $queryStr .= "ORDER BY `status`"; From 46d392f71fa59d33774537dd6801df0fd4390783 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 8 Jun 2020 12:05:50 +0200 Subject: [PATCH 44/47] fix wrong var name in addLogLine() --- op/op.WorkflowStatesMgr.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op/op.WorkflowStatesMgr.php b/op/op.WorkflowStatesMgr.php index 4b7db435f..f80423001 100644 --- a/op/op.WorkflowStatesMgr.php +++ b/op/op.WorkflowStatesMgr.php @@ -118,7 +118,7 @@ else if ($action == "editworkflowstate") { if ($editedWorkflowState->getDocumentStatus() != $docstatus) $editedWorkflowState->setDocumentStatus($docstatus); - add_log_line(".php&action=editworkflowstate&workflowstateid=".$workflow); + add_log_line(".php&action=editworkflowstate&workflowstateid=".$workflowstateid); } else UI::exitError(getMLText("admin_tools"),getMLText("unknown_command")); From a15c968d7286e8e553c647c2ad34a7bcb99531d6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 8 Jun 2020 12:08:18 +0200 Subject: [PATCH 45/47] use getBoolValue() to get onePageMode from _POST --- op/op.Settings.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/op/op.Settings.php b/op/op.Settings.php index 178805c57..273626cb1 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -64,7 +64,7 @@ if ($action == "saveSettings") else $settings->_availablelanguages = $_POST["availablelanguages"]; $settings->_theme = $_POST["theme"]; - $settings->_onePageMode = $_POST["onePageMode"]; + $settings->_onePageMode = getBoolValue("onePageMode"); $settings->_previewWidthList = $_POST["previewWidthList"]; $settings->_previewWidthMenuList = $_POST["previewWidthMenuList"]; $settings->_previewWidthDropFolderList = $_POST["previewWidthDropFolderList"]; From 514002f87710dc40c978e546d1d73cd31c054c14 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 9 Jun 2020 21:07:47 +0200 Subject: [PATCH 46/47] import users from csv file --- CHANGELOG | 2 + op/op.ImportUsers.php | 134 ++++++++++++++++++++++++++ out/out.ImportUsers.php | 40 ++++++++ views/bootstrap/class.Bootstrap.php | 1 + views/bootstrap/class.ImportUsers.php | 74 ++++++++++++++ 5 files changed, 251 insertions(+) create mode 100644 op/op.ImportUsers.php create mode 100644 out/out.ImportUsers.php create mode 100644 views/bootstrap/class.ImportUsers.php diff --git a/CHANGELOG b/CHANGELOG index 58572a69a..e37ca2eed 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,6 +4,8 @@ - various minor improvements of indexer.php script - minor fix for better behaviour of folder tree ('plus' signs appears if folder has children) +- allow to import users from csv file + -------------------------------------------------------------------------------- Changes in version 5.1.17 -------------------------------------------------------------------------------- diff --git a/op/op.ImportUsers.php b/op/op.ImportUsers.php new file mode 100644 index 000000000..2c6d3e820 --- /dev/null +++ b/op/op.ImportUsers.php @@ -0,0 +1,134 @@ + $document->getName())),getMLText("error_occured")); + + if($_FILES["userdata"]["size"] == 0) + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("uploading_zerosize")); +} + +function getBaseData($colname, $coldata, $objdata) { /* {{{ */ + $objdata[$colname] = $coldata; + return $objdata; +} /* }}} */ + +function getGroupData($colname, $coldata, $objdata) { /* {{{ */ + global $dms; + if($group = $dms->getGroupByName($coldata)) { + $objdata['groups'][] = $group; + } + return $objdata; +} /* }}} */ + +function getRoleData($colname, $coldata, $objdata) { /* {{{ */ + switch($coldata) { + case 'admin': + $role = 1; + break; + case 'guest': + $role = 2; + break; + default: + $role = 0; + } + $objdata['role'] = $role; + return $objdata; +} /* }}} */ + + $csvdelim = ';'; + $csvencl = '"'; + if($fp = fopen($_FILES['userdata']['tmp_name'], 'r')) { + $colmap = array(); + if($header = fgetcsv($fp, 0, $csvdelim, $csvencl)) { + foreach($header as $i=>$colname) { + $colname = trim($colname); + if(substr($colname, 0, 5) == 'group') { + $colmap[$i] = array("getGroupData", $colname); + } elseif(in_array($colname, array('role'))) { + $colmap[$i] = array("getRoleData", $colname); + } elseif(in_array($colname, array('login', 'name', 'email', 'comment', 'group'))) { + $colmap[$i] = array("getBaseData", $colname); + } elseif(substr($colname, 0, 5) == 'attr:') { + $kk = explode(':', $colname, 2); + if(($attrdef = $dms->getAttributeDefinitionByName($kk[1])) || ($attrdef = $dms->getAttributeDefinition((int) $kk[1]))) { + $colmap[$i] = array("getAttributeData", $attrdef); + } + } + } + } +// echo "
";print_r($colmap);echo "
"; + if(count($colmap) > 1) { + $allusers = $dms->getAllUsers(); + $userids = array(); + foreach($allusers as $muser) + $userids[$muser->getLogin()] = $muser; + $newusers = array(); + while(!feof($fp)) { + if($data = fgetcsv($fp, 0, $csvdelim, $csvencl)) { + $md = array(); + foreach($data as $i=>$coldata) { + if(isset($colmap[$i])) { + $md = call_user_func($colmap[$i][0], $colmap[$i][1], $coldata, $md); + } + } + if($md) + $newusers[] = $md; + } + } +// print_r($newusers); + foreach($newusers as $u) { + if($eu = $dms->getUserByLogin($u['login'])) { + if(!empty($_POST['update'])) { + if(isset($u['name'])) + $eu->setFullName($u['name']); + if(isset($u['email'])) + $eu->setEmail($u['email']); + if(isset($u['comment'])) + $eu->setComment($u['comment']); + if(isset($u['language'])) + $eu->setLanguage($u['language']); + if(isset($u['groups'])) { + foreach($eu->getGroups() as $g) + $eu->leaveGroup($g); + foreach($u['groups'] as $g) + $eu->joinGroup($g); + } + } + } else { + if(!empty($u['login']) && !empty($u['name']) && !empty($u['email'])) { + $ret = $dms->addUser($u['login'], '', $u['name'], $u['email'], !empty($u['language']) ? $u['language'] : 'en_GB', 'bootstrap', !empty($u['comment']) ? $u['comment'] : '', $u['role']); + var_dump($ret); + } + } + } + } + } + +//header("Location:../out/out.ViewFolder.php?folderid=".$newfolder->getID()); diff --git a/out/out.ImportUsers.php b/out/out.ImportUsers.php new file mode 100644 index 000000000..4443ba892 --- /dev/null +++ b/out/out.ImportUsers.php @@ -0,0 +1,40 @@ +$dms, 'user'=>$user)); +if (!$user->isAdmin()) { + UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); +} + +if($view) { + $view($_GET); + exit; +} diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 47a2ee2a5..d22a64d67 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -721,6 +721,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; $menuitems['misc'] = array('link'=>"#", 'label'=>'misc'); $menuitems['misc']['children']['import_fs'] = array('link'=>"../out/out.ImportFS.php", 'label'=>'import_fs'); + $menuitems['misc']['children']['import_users'] = array('link'=>"../out/out.ImportUsers.php", 'label'=>'import_users'); $menuitems['misc']['children']['folders_and_documents_statistic'] = array('link'=>"../out/out.Statistic.php", 'label'=>'folders_and_documents_statistic'); $menuitems['misc']['children']['charts'] = array('link'=>"../out/out.Charts.php", 'label'=>'charts'); $menuitems['misc']['children']['timeline'] = array('link'=>"../out/out.Timeline.php", 'label'=>'timeline'); diff --git a/views/bootstrap/class.ImportUsers.php b/views/bootstrap/class.ImportUsers.php new file mode 100644 index 000000000..4496ccd5d --- /dev/null +++ b/views/bootstrap/class.ImportUsers.php @@ -0,0 +1,74 @@ + + * @copyright Copyright (C) 2002-2005 Markus Westphal, + * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, + * 2010-2012 Uwe Steinmann + * @version Release: @package_version@ + */ + +/** + * Include parent class + */ +require_once("class.Bootstrap.php"); + +/** + * Class which outputs the html page for ImportUsers view + * + * @category DMS + * @package SeedDMS + * @author Markus Westphal, Malcolm Cowe, Uwe Steinmann + * @copyright Copyright (C) 2002-2005 Markus Westphal, + * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, + * 2010-2012 Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_View_ImportUsers extends SeedDMS_Bootstrap_Style { + + function js() { /* {{{ */ + $this->printFileChooserJs(); + header('Content-Type: application/javascript'); + + } /* }}} */ + + function show() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + + $this->htmlStartPage(getMLText("import_users")); + $this->globalNavigation(); + $this->contentStart(); + $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); + + $this->contentHeading(getMLText("import_users")); + + $this->contentContainerStart(); + print "
"; + $this->formField( + getMLText("userdata_file"), + $this->getFileChooserHtml('userdata', false) + ); + $this->formField( + getMLText("import_users_update"), + array( + 'element'=>'input', + 'type'=>'checkbox', + 'name'=>'update', + 'value'=>'1' + ) + ); + $this->formSubmit(" ".getMLText('import')); + print "\n"; + $this->contentContainerEnd(); + + $this->contentEnd(); + $this->htmlEndPage(); + } /* }}} */ +} + From 859f6fd43036f368227d4e78c49fe36fbb9156f0 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Tue, 9 Jun 2020 21:19:00 +0200 Subject: [PATCH 47/47] many chinese taiwan translations --- languages/ar_EG/lang.inc | 3 + languages/bg_BG/lang.inc | 3 + languages/ca_ES/lang.inc | 17 +- languages/cs_CZ/lang.inc | 3 + languages/de_DE/lang.inc | 5 +- languages/el_GR/lang.inc | 3 + languages/en_GB/lang.inc | 5 +- languages/es_ES/lang.inc | 3 + languages/fr_FR/lang.inc | 3 + languages/hr_HR/lang.inc | 3 + languages/hu_HU/lang.inc | 11 +- languages/it_IT/lang.inc | 3 + languages/ko_KR/lang.inc | 3 + languages/lo_LA/lang.inc | 3 + languages/nb_NO/lang.inc | 3 + languages/nl_NL/lang.inc | 3 + languages/pl_PL/lang.inc | 3 + languages/pt_BR/lang.inc | 3 + languages/ro_RO/lang.inc | 3 + languages/ru_RU/lang.inc | 7 +- languages/sk_SK/lang.inc | 3 + languages/sv_SE/lang.inc | 3 + languages/tr_TR/lang.inc | 3 + languages/uk_UA/lang.inc | 3 + languages/zh_CN/lang.inc | 3 + languages/zh_TW/lang.inc | 2513 +++++++++++++++++++++----------------- 26 files changed, 1459 insertions(+), 1159 deletions(-) diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index b7413aa43..586a3d93d 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -637,6 +637,8 @@ URL: [url]', 'import_extension' => 'استيراد إضافات', 'import_fs' => 'نسخ من ملف النظام', 'import_fs_warning' => 'تحذير النسخ من ملف النظام', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'إضافة المحتوى', 'include_documents' => 'اشمل مستندات', 'include_subdirectories' => 'اشمل مجلدات فرعية', @@ -1797,6 +1799,7 @@ URL: [url]', 'uploading_zerosize' => 'تحميل ملف فارغ. عملية التحميل الغيت', 'used_discspace' => 'المساحة المستخدمة', 'user' => 'مستخدم', +'userdata_file' => '', 'userid_groupid' => 'هوية المجموعة', 'users' => 'مستخدمين', 'users_and_groups' => 'مستخدمين ومجموعات', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index 86ea1e7d3..e4a1e4e77 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -566,6 +566,8 @@ $text = array( 'import_extension' => '', 'import_fs' => 'добави от файловата система', 'import_fs_warning' => '', +'import_users' => '', +'import_users_update' => '', 'include_content' => '', 'include_documents' => 'Включи документи', 'include_subdirectories' => 'Включи под-папки', @@ -1651,6 +1653,7 @@ $text = array( 'uploading_zerosize' => 'Качване на празен файл/размер=0. Качването прекратено.', 'used_discspace' => 'Използвано дисково пространство', 'user' => 'Потребител', +'userdata_file' => '', 'userid_groupid' => '', 'users' => 'Потребители', 'users_and_groups' => '', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index f2b1b34d5..ce2b69397 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (752) +// Translators: Admin (758) $text = array( '2_factor_auth' => '', @@ -472,14 +472,14 @@ URL: [url]', 'expired_at_date' => '', 'expired_documents' => '', 'expires' => 'Caduca', -'expire_by_date' => '', +'expire_by_date' => 'Expiració segons data', 'expire_in_1d' => '', 'expire_in_1h' => '', -'expire_in_1m' => '', -'expire_in_1w' => '', -'expire_in_1y' => '', +'expire_in_1m' => 'Expira en un mes', +'expire_in_1w' => 'Expira en una setmana', +'expire_in_1y' => 'Expira en un any', 'expire_in_2h' => '', -'expire_in_2y' => '', +'expire_in_2y' => 'Expira en dos anys', 'expire_today' => '', 'expire_tomorrow' => '', 'expiry_changed_email' => 'Data de caducitat modificada', @@ -571,6 +571,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => 'Importa del sistema d\'arxius', 'import_fs_warning' => 'Només funciona arrastrant carpetes.La operació importarà recursivament totes les carpetes i arxius.', +'import_users' => '', +'import_users_update' => '', 'include_content' => '', 'include_documents' => 'Incloure documents', 'include_subdirectories' => 'Incloure subdirectoris', @@ -645,7 +647,7 @@ URL: [url]', 'keep' => '', 'keep_doc_status' => '', 'keywords' => 'Mots clau', -'keywords_loading' => '', +'keywords_loading' => 'Espera fins que la llista de paraules clau s\'hagi carregat...', 'keyword_exists' => 'El mot clau ja existeix', 'ko_KR' => 'Coreà', 'language' => 'Llenguatge', @@ -1656,6 +1658,7 @@ URL: [url]', 'uploading_zerosize' => '', 'used_discspace' => 'Espai utilitzat', 'user' => 'Usuari', +'userdata_file' => '', 'userid_groupid' => '', 'users' => 'Usuaris', 'users_and_groups' => '', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index 8d1e815ae..227d5e421 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -668,6 +668,8 @@ URL: [url]', 'import_extension' => 'Importovat rozšíření', 'import_fs' => 'Nahrát ze souborového systému', 'import_fs_warning' => 'To bude fungovat pouze pro složky ve vhazovací složce. Operace rekurzivně importuje všechny složky a soubory. Soubory budou okamžitě uvolněny.', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'Včetně obsahu', 'include_documents' => 'Včetně dokumentů', 'include_subdirectories' => 'Včetně podadresářů', @@ -1869,6 +1871,7 @@ URL: [url]', 'uploading_zerosize' => 'Nahrávání prázdného souboru. Nahrání zrušeno.', 'used_discspace' => 'Použité místo na disku', 'user' => 'Uživatel', +'userdata_file' => '', 'userid_groupid' => 'ID uživatel/ID skupiny', 'users' => 'Uživatel', 'users_and_groups' => 'Uživatelé / Skupiny', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 07a7ba8a3..5d3176663 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (2770), dgrutsch (22) +// Translators: Admin (2773), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -668,6 +668,8 @@ URL: [url]', 'import_extension' => 'Erweiterung importieren', 'import_fs' => 'Aus Dateisystem importieren', 'import_fs_warning' => 'Der Import kann nur für Ordner im Ablageordner erfolgen. Alle Ordner und Dateien werden rekursiv importiert. Dateien werden sofort freigegeben.', +'import_users' => 'Importiere Benutzer', +'import_users_update' => 'Aktualisiere bestehende Benutzer', 'include_content' => 'Inhalte mit exportieren', 'include_documents' => 'Dokumente miteinbeziehen', 'include_subdirectories' => 'Unterverzeichnisse miteinbeziehen', @@ -1880,6 +1882,7 @@ URL: [url]', 'uploading_zerosize' => 'Versuch eine leere Datei hochzuladen. Vorgang wird abgebrochen.', 'used_discspace' => 'Verbrauchter Speicherplatz', 'user' => 'Benutzer', +'userdata_file' => 'Benutzerdaten', 'userid_groupid' => 'Benutzer-ID/Gruppen-ID', 'users' => 'Benutzer', 'users_and_groups' => 'Benutzer/Gruppen', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 3a37f9b78..e871c9304 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -566,6 +566,8 @@ $text = array( 'import_extension' => '', 'import_fs' => 'Εισαγωγή από το σύστημα', 'import_fs_warning' => '', +'import_users' => '', +'import_users_update' => '', 'include_content' => '', 'include_documents' => '', 'include_subdirectories' => '', @@ -1662,6 +1664,7 @@ URL: [url]', 'uploading_zerosize' => '', 'used_discspace' => 'Χώρος', 'user' => 'Χρήστης', +'userdata_file' => '', 'userid_groupid' => '', 'users' => 'Χρήστες', 'users_and_groups' => 'Χρήστες/Ομάδες', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index d4a6ffc36..6959e89f1 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1876), archonwang (3), dgrutsch (9), netixw (14) +// Translators: Admin (1879), archonwang (3), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -668,6 +668,8 @@ URL: [url]', 'import_extension' => 'Import extension', 'import_fs' => 'Import from filesystem', 'import_fs_warning' => 'This will only work for folders in the drop folder. The operation recursively imports all folders and files. Files will be released immediately.', +'import_users' => 'Import users', +'import_users_update' => 'Update existing users', 'include_content' => 'Include content', 'include_documents' => 'Include documents', 'include_subdirectories' => 'Include subdirectories', @@ -1874,6 +1876,7 @@ URL: [url]', 'uploading_zerosize' => 'Uploading an empty file. Upload is canceled.', 'used_discspace' => 'Used disk space', 'user' => 'User', +'userdata_file' => 'User data file', 'userid_groupid' => 'User id/Group id', 'users' => 'Users', 'users_and_groups' => 'Users/Groups', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index b8e3f6e75..0a5e3ef2f 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -644,6 +644,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => 'Importar desde sistema de archivos', 'import_fs_warning' => 'Esto funciona únicamente con carpetas dentro de la carpeta destino. La operación importa recursivamente todos los archivos y carpetas. Los archivos serán liberados inmediatamente.', +'import_users' => '', +'import_users_update' => '', 'include_content' => '', 'include_documents' => 'Incluir documentos', 'include_subdirectories' => 'Incluir subcarpetas', @@ -1812,6 +1814,7 @@ URL: [url]', 'uploading_zerosize' => 'Subiendo un fichero vacío. -Subida cancelada.', 'used_discspace' => 'Espacio de disco utilizado', 'user' => 'Usuario', +'userdata_file' => '', 'userid_groupid' => 'ID Usuario/ID Grupo', 'users' => 'Usuarios', 'users_and_groups' => 'Usuarios/Grupos', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 7ba4a3732..d0b3093f7 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -668,6 +668,8 @@ URL: [url]', 'import_extension' => 'Importer l’extension', 'import_fs' => 'Importer depuis le système de fichiers', 'import_fs_warning' => 'L’importation peut se faire à partir du dossier de dépôt personnel uniquement. Tous les sous-dossiers et fichiers seront importés. Les fichiers seront immédiatement publiés.', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'Inclure le contenu', 'include_documents' => 'Inclure les documents', 'include_subdirectories' => 'Inclure les sous-dossiers', @@ -1872,6 +1874,7 @@ URL : [url]', 'uploading_zerosize' => 'Chargement d\'un fichier vide. Chargement annulé.', 'used_discspace' => 'Espace disque utilisé', 'user' => 'Utilisateur', +'userdata_file' => '', 'userid_groupid' => 'ID utilisateur/ID groupe', 'users' => 'Utilisateurs', 'users_and_groups' => 'Utilisateurs/groupes', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 7fab3f079..57a151fbd 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -649,6 +649,8 @@ Internet poveznica: [url]', 'import_extension' => '', 'import_fs' => 'Importaj iz FS-a', 'import_fs_warning' => '', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'Uključi sadržaj', 'include_documents' => 'Sadrži dokumente', 'include_subdirectories' => 'Sadrži podmape', @@ -1833,6 +1835,7 @@ Internet poveznica: [url]', 'uploading_zerosize' => 'Datoteka koja se učitava je prazna. Učitavanje je otkazano.', 'used_discspace' => 'Iskorišteni prostor na disku', 'user' => 'Korisnik', +'userdata_file' => '', 'userid_groupid' => 'ID Korisnika/ID Grupe', 'users' => 'Korisnici', 'users_and_groups' => 'Korisnici/Grupe', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 5c5d4b032..6ed06230c 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (639), Kalpy (110), ribaz (1036) +// Translators: Admin (639), Kalpy (113), ribaz (1036) $text = array( '2_factor_auth' => 'Kétfaktoros azonosítás', @@ -89,7 +89,7 @@ URL: [url]', 'already_subscribed' => 'Már feliratkozott', 'and' => '-', 'apply' => 'Elfogad', -'approvals_accepted' => '', +'approvals_accepted' => '[no_approvals] már elfogadott jóváhagyások', 'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', @@ -102,7 +102,7 @@ URL: [url]', 'approvals_without_user' => '', 'approval_deletion_email' => 'Jóváhagyási kérelem törölve', 'approval_deletion_email_body' => '', -'approval_deletion_email_subject' => '', +'approval_deletion_email_subject' => '[sitename]: [name] - Jóváhagyási kérelem törölve', 'approval_file' => 'Fájl', 'approval_group' => 'Jóváhagyó csoport', 'approval_log' => 'Jóváhagyási napló', @@ -128,7 +128,7 @@ URL: [url]', 'approval_summary' => 'Jóváhagyási összesítő', 'approval_update_failed' => 'Hiba történt a jóváhagyási állapot frissítése során. Frissítés sikertelen.', 'approvers' => 'Jóváhagyók', -'approver_already_assigned' => '', +'approver_already_assigned' => 'A felhasználót már jóváhagyóként megjelölték.', 'approver_already_removed' => '', 'april' => 'Április', 'archive' => 'Archívum', @@ -644,6 +644,8 @@ URL: [url]', 'import_extension' => 'Kiterjesztés import', 'import_fs' => 'Importálás fájlrendszerből', 'import_fs_warning' => '', +'import_users' => '', +'import_users_update' => '', 'include_content' => '', 'include_documents' => 'Tartalmazó dokumentumok', 'include_subdirectories' => 'Tartalmazó alkönyvtárak', @@ -1811,6 +1813,7 @@ URL: [url]', 'uploading_zerosize' => 'Üres állomány feltöltése. Feltöltés megszakítva.', 'used_discspace' => 'Felhasznált lemezterület', 'user' => 'Felhasználó', +'userdata_file' => '', 'userid_groupid' => 'Felhasználó ID/Csoport ID', 'users' => 'Felhasználók', 'users_and_groups' => 'Felhasználók/Csoportok', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 0d8fd704b..d7cf2078b 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -654,6 +654,8 @@ URL: [url]', 'import_extension' => 'Importa estensione', 'import_fs' => 'Importa dalla cartella di sistema', 'import_fs_warning' => 'Questo funziona solo per le cartelle nella cartella per lasciare. L\'operazione importa in modo ricorsivo tutte le cartelle e file. I file saranno pubblicati immediatamente.', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'Includi contenuto', 'include_documents' => 'Includi documenti', 'include_subdirectories' => 'Includi sottocartelle', @@ -1860,6 +1862,7 @@ URL: [url]', 'uploading_zerosize' => 'Si sta caricando un file vuoto. Operazione abortita.', 'used_discspace' => 'Spazio su disco occupato', 'user' => 'Utente', +'userdata_file' => '', 'userid_groupid' => 'id Utente/id Gruppo', 'users' => 'Utenti', 'users_and_groups' => 'Utenti/Gruppi', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index f8ade3f6d..43bee7805 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -650,6 +650,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => '파일시스템으로부터 가져오기', 'import_fs_warning' => '', +'import_users' => '', +'import_users_update' => '', 'include_content' => '내용을 포함', 'include_documents' => '문서 포함', 'include_subdirectories' => '하위 디렉터리 포함', @@ -1827,6 +1829,7 @@ URL : [url]', 'uploading_zerosize' => '빈 파일을 업로드 합니다. 업로드가 취소 됩니다.', 'used_discspace' => '사용된 디스크 공간', 'user' => '사용자', +'userdata_file' => '', 'userid_groupid' => 'User id/Group id', 'users' => '사용자', 'users_and_groups' => '사용자 / 그룹', diff --git a/languages/lo_LA/lang.inc b/languages/lo_LA/lang.inc index 0f9d42de7..f16771dbe 100644 --- a/languages/lo_LA/lang.inc +++ b/languages/lo_LA/lang.inc @@ -647,6 +647,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => 'ນຳເຂົ້າຈາກຟາຍລະບົບ', 'import_fs_warning' => 'ຊື່ງຈະໄຊ້ໄດ້ສະເພາະກັບໂຟລເດີໃນໂຟລເດີແບບເລືອນລົງເທົ່ານັ້ນ ການດຳເນີນການນີ້ຈະນຳເຂົ້າໄຟລແລະໂຟລເດີທັງຫມົດໄຟລຈະໄດ້ຮັບການເຜີຍແຜ່ທັນທີ', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'ລວມເນື້ອຫາ', 'include_documents' => 'ລວມເອກະສານ', 'include_subdirectories' => 'ລວມໄດເລັກທໍລີຍ່ອຍ', @@ -1853,6 +1855,7 @@ URL: [url]', 'uploading_zerosize' => 'ການອັບໂຫລດໄຟລເປົ່າ, ການອັບໂຫຼດຖຶກຍົກເລີກ', 'used_discspace' => 'ໄຊ້ເນື້ອທີດິສ', 'user' => 'ຜູ້ໄຊ້ງານ', +'userdata_file' => '', 'userid_groupid' => 'ລະຫັດຜູ້ໄຊ້ / ລະຫັດກຸ່ມ', 'users' => 'ຜູ້ໄຊ້', 'users_and_groups' => 'ຜູ້ໄຊ້ / ກຸ່ມ', diff --git a/languages/nb_NO/lang.inc b/languages/nb_NO/lang.inc index be2819954..61b6997d4 100644 --- a/languages/nb_NO/lang.inc +++ b/languages/nb_NO/lang.inc @@ -668,6 +668,8 @@ URL: [url]', 'import_extension' => 'Importer utvidelse', 'import_fs' => 'Import fra filsystem', 'import_fs_warning' => 'Dette fungerer bare for mapper i slippmappen. Operasjonen importerer rekursivt alle mapper og filer. Filer vil bli gitt ut umiddelbart.', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'Inkludere innhold', 'include_documents' => 'Inkludere dokument', 'include_subdirectories' => 'Inkludere undermapper', @@ -1866,6 +1868,7 @@ URL: [url]', 'uploading_zerosize' => 'Laster opp en tom fil. Opplastingen er kansellert.', 'used_discspace' => 'Brukt diskplass', 'user' => 'Bruker', +'userdata_file' => '', 'userid_groupid' => 'Brukernavn/gruppenavn', 'users' => 'Brukere', 'users_and_groups' => 'Brukere/grupper', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 67196458e..c4aad6a16 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -642,6 +642,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => 'Importeer van bestandssysteem', 'import_fs_warning' => 'Dit werkt alleen in de dropfolder. Mappen en bestanden worden recursief geïmporteerd. Bestanden worden direct ter beschikking gesteld.', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'inclusief inhoud', 'include_documents' => 'Inclusief documenten', 'include_subdirectories' => 'Inclusief submappen', @@ -1850,6 +1852,7 @@ URL: [url]', 'uploading_zerosize' => 'Uploaden van een leeg bestand. Upload wordt geannuleerd.', 'used_discspace' => 'Gebruike schijf ruimte', 'user' => 'Gebruiker', +'userdata_file' => '', 'userid_groupid' => 'GebruikerID / Groep ID', 'users' => 'Gebruikers', 'users_and_groups' => 'Gebruikers / Groepen', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 07206a753..abc68509f 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -637,6 +637,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => 'Import z systemu plików', 'import_fs_warning' => '', +'import_users' => '', +'import_users_update' => '', 'include_content' => '', 'include_documents' => 'Uwzględnij dokumenty', 'include_subdirectories' => 'Uwzględnij podkatalogi', @@ -1791,6 +1793,7 @@ URL: [url]', 'uploading_zerosize' => 'Próba przesłania pustego pliku. Przesłanie zostało przerwane.', 'used_discspace' => 'Użyta przestrzeń dyskowa', 'user' => 'Użytkownik', +'userdata_file' => '', 'userid_groupid' => 'Id Użytkownika/Id Grupy', 'users' => 'Użytkownicy', 'users_and_groups' => 'Użytkownicy/Grupy', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index d006763fc..ba852e6db 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -668,6 +668,8 @@ URL: [url]', 'import_extension' => 'Importar extensão', 'import_fs' => 'Importar do sistema de arquivos', 'import_fs_warning' => 'Isso só funcionará para pastas na pasta-alvo. A operação importa recursivamente todas as pastas e arquivos. Os arquivos serão liberados imediatamente.', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'Incluir conteúdo', 'include_documents' => 'Include documents', 'include_subdirectories' => 'Include subdirectories', @@ -1872,6 +1874,7 @@ URL: [url]', 'uploading_zerosize' => 'Envio de um arquivo vazio. Envio cancelado.', 'used_discspace' => 'Espaço em disco usado', 'user' => 'Usuário', +'userdata_file' => '', 'userid_groupid' => 'Id do Usuário/Id do Grupo', 'users' => 'Usuários', 'users_and_groups' => 'Usuários/Grupos', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index fe8008d5f..eaf20010f 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -649,6 +649,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => 'Import din filesystem', 'import_fs_warning' => '', +'import_users' => '', +'import_users_update' => '', 'include_content' => '', 'include_documents' => 'Include documente', 'include_subdirectories' => 'Include subfoldere', @@ -1834,6 +1836,7 @@ URL: [url]', 'uploading_zerosize' => 'Se încarcă un fișier gol. Încărcarea este anulată.', 'used_discspace' => 'Spatiu pe disc folosit', 'user' => 'Utilizator', +'userdata_file' => '', 'userid_groupid' => '', 'users' => 'Utilizatori', 'users_and_groups' => 'Utilizatori/Grupuri', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index dd9107aeb..621bd38d5 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -19,7 +19,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1681) +// Translators: Admin (1682) $text = array( '2_factor_auth' => 'Двухфакторная аутентификация', @@ -461,7 +461,7 @@ URL: [url]', 'dump_creation_warning' => 'Эта операция создаст дамп базы данных. После создания, файл будет сохранен в каталоге данных сервера.', 'dump_list' => 'Существующие дампы', 'dump_remove' => 'Удалить дамп', -'duplicates' => '', +'duplicates' => 'Дубликаты', 'duplicate_content' => 'Дублированное содержимое', 'edit' => 'Изменить', 'edit_attributes' => 'Изменить атрибуты', @@ -649,6 +649,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => 'Импорт из файловой системы', 'import_fs_warning' => 'Предупреждение импорта из ФС', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'Включая содержимое', 'include_documents' => 'Включая документы', 'include_subdirectories' => 'Включая подкаталоги', @@ -1841,6 +1843,7 @@ URL: [url]', 'uploading_zerosize' => 'Отменена загрузка пустого файла.', 'used_discspace' => 'Занятое дисковое пространство', 'user' => 'Пользователь', +'userdata_file' => '', 'userid_groupid' => '', 'users' => 'Пользователи', 'users_and_groups' => 'Пользователи / группы', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 5c9bbb3e3..f202c5bee 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -668,6 +668,8 @@ URL: [url]', 'import_extension' => 'Import extension', 'import_fs' => 'Importovanie zo súborového systému', 'import_fs_warning' => 'This will only work for folders in the drop folder. The operation recursively imports all folders and files. Files will be released immediately.', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'Zahrnúť obsah', 'include_documents' => 'Vrátane súborov', 'include_subdirectories' => 'Vrátane podzložiek', @@ -1874,6 +1876,7 @@ URL: [url]', 'uploading_zerosize' => 'Nahrávate prázdny súbor. Nahrávanie je zrušené.', 'used_discspace' => 'Využitý priestor na disku', 'user' => 'Používateľ', +'userdata_file' => '', 'userid_groupid' => 'Používateľ id/Skupina id', 'users' => 'Používateľ', 'users_and_groups' => 'Používatelia/Skupiny', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index b3ef65ab4..5e674e3a8 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -655,6 +655,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => 'Import från filsystem', 'import_fs_warning' => 'Detta fungerar endast för kataloger i mellanlagringsmappen. Filer och mappar får godkänd status direkt efter importen.', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'Inkudera innehåll', 'include_documents' => 'Inkludera dokument', 'include_subdirectories' => 'Inkludera underkataloger', @@ -1847,6 +1849,7 @@ URL: [url]', 'uploading_zerosize' => 'Uppladdning av tom fil. Uppladdningen avbryts.', 'used_discspace' => 'Använt lagringsutrymme', 'user' => 'Användare', +'userdata_file' => '', 'userid_groupid' => 'Användar-ID/Grupp-ID', 'users' => 'Användare', 'users_and_groups' => 'Användare/Grupper', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index c4ab29d9f..b3eb7ba27 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -643,6 +643,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => 'dosya sisteminden getir', 'import_fs_warning' => '', +'import_users' => '', +'import_users_update' => '', 'include_content' => '', 'include_documents' => 'Dokümanları kapsa', 'include_subdirectories' => 'Alt klasörleri kapsa', @@ -1813,6 +1815,7 @@ URL: [url]', 'uploading_zerosize' => 'Boş bir dosya yükleniyor. Yükleme iptal edildi.', 'used_discspace' => 'Kullanılan disk alanı', 'user' => 'Kullanıcı', +'userdata_file' => '', 'userid_groupid' => '', 'users' => 'Kullanıcı', 'users_and_groups' => 'Kullanıcılar/Gruplar', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index f8bf26bd9..512c3a5c5 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -649,6 +649,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => 'Імпортувати з файлової системи', 'import_fs_warning' => '', +'import_users' => '', +'import_users_update' => '', 'include_content' => 'Включно з вмістом', 'include_documents' => 'Включно з документами', 'include_subdirectories' => 'Включно з підкаталогами', @@ -1834,6 +1836,7 @@ URL: [url]', 'uploading_zerosize' => 'Відміна завантаження порожнього файлу.', 'used_discspace' => 'Зайнятий дисковий простір', 'user' => 'Користувач', +'userdata_file' => '', 'userid_groupid' => '', 'users' => 'Користувачі', 'users_and_groups' => 'Користувачі / групи', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index 10cf8e126..060a562d7 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -639,6 +639,8 @@ URL: [url]', 'import_extension' => '', 'import_fs' => '从文件系统导入', 'import_fs_warning' => '这将只适用于拖动文件夹。该操作将递归导入所有文件夹和文件。文件将立即释放。', +'import_users' => '', +'import_users_update' => '', 'include_content' => '', 'include_documents' => '包含文档', 'include_subdirectories' => '包含子目录', @@ -1800,6 +1802,7 @@ URL: [url]', 'uploading_zerosize' => '上传失败!请检查是否没有选择上传的文件。', 'used_discspace' => '使用磁盘空间', 'user' => '用户', +'userdata_file' => '', 'userid_groupid' => '用户ID/组ID', 'users' => '用户', 'users_and_groups' => '用户/组', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 5b8b4ee9a..f56c78b8a 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -22,13 +22,13 @@ // Translators: Admin (2424) $text = array( -'2_factor_auth' => '', -'2_factor_auth_info' => '', -'2_fact_auth_secret' => '', +'2_factor_auth' => '2階段認證', +'2_factor_auth_info' => '此系統強制執行2階段身份驗證。您將需要在手機上使用Google Authenticator。在下面,您可以看到兩個QR碼。正確的是您當前的秘密。在左側,您可以設置一個新的秘密。如果您設置了新的機密,請確保使用Google Authenticator重新掃描它。', +'2_fact_auth_secret' => '秘密', 'accept' => '接受', -'access_control' => '', -'access_control_is_off' => '', -'access_denied' => '拒絕訪問', +'access_control' => '存取控制', +'access_control_is_off' => '進階存取控制(ACL)關閉', +'access_denied' => '拒絕存取', 'access_inheritance' => '繼承存取權限', 'access_mode' => '訪問模式', 'access_mode_all' => '所有權限', @@ -36,147 +36,172 @@ $text = array( 'access_mode_read' => '唯讀許可權', 'access_mode_readwrite' => '讀寫許可權', 'access_permission_changed_email' => '許可權已改變', -'access_permission_changed_email_body' => '許可權已變更 -文檔: [name] -上級資料夾: [folder_path] -用戶: [username] +'access_permission_changed_email_body' => '許可權已變更 +文件: [name] +上級資料夾: [folder_path] +使用者: [username] URL: [url]', 'access_permission_changed_email_subject' => '[sitename]: [name] - 許可權已變更', 'according_settings' => '相應的設置', 'action' => '執行', 'actions' => '動作', -'action_approve' => '', -'action_complete' => '', -'action_is_complete' => '', -'action_is_not_complete' => '', +'action_approve' => '批准', +'action_complete' => '完成', +'action_is_complete' => '已完成', +'action_is_not_complete' => '未完成', 'action_reject' => '拒絕', 'action_review' => '檢查', -'action_revise' => '', -'add' => '添加', +'action_revise' => '修改', +'add' => '新增', 'add_approval' => '提交審核', -'add_attrdefgroup' => '', -'add_document' => '添加文檔', -'add_document_link' => '添加連結', -'add_document_notify' => '', -'add_doc_reviewer_approver_warning' => '備註:如果沒有指派校對人或審核人那麼文檔將被自動標注為發佈', -'add_doc_workflow_warning' => '', -'add_event' => '添加事件', +'add_attrdefgroup' => '新增新的屬性組', +'add_document' => '新增文件', +'add_document_link' => '新增連結', +'add_document_notify' => '加入通知', +'add_doc_reviewer_approver_warning' => '備註:如果沒有指派校對人或審核人那麼文件將被自動標注為發佈', +'add_doc_workflow_warning' => '備註:如果未分配工作流程,則文件會自動標記為已發布。', +'add_event' => '新增事件', 'add_group' => '增加新組', -'add_member' => '添加成員', -'add_multiple_documents' => '添加多個檔', -'add_multiple_files' => '批量添加文檔(文檔名無法手動修改)', -'add_receipt' => '', +'add_member' => '新增成員', +'add_multiple_documents' => '新增多個檔', +'add_multiple_files' => '批量新增文件(文件名無法手動修改)', +'add_receipt' => '確認接待', 'add_review' => '提交校對', -'add_revision' => '', -'add_role' => '', -'add_subfolder' => '添加子資料夾', -'add_task' => '', +'add_revision' => '加入修正', +'add_role' => '新增角色', +'add_subfolder' => '新增子資料夾', +'add_task' => '為此排程新增新任務', 'add_to_clipboard' => '複製', -'add_to_transmittal' => '', -'add_transmittal' => '', -'add_user' => '添加新用戶', -'add_user_to_group' => '添加新用戶至群組', -'add_workflow' => '添加工作流程', -'add_workflow_action' => '添加流程動作', -'add_workflow_state' => '添加流程狀態', +'add_to_transmittal' => '新增到傳輸', +'add_transmittal' => '新增傳輸', +'add_user' => '新增新使用者', +'add_user_to_group' => '新增新使用者至群組', +'add_workflow' => '新增工作流程', +'add_workflow_action' => '新增流程動作', +'add_workflow_state' => '新增流程狀態', 'admin' => '管理員', 'admin_tools' => '管理員工具', 'all' => '所有', 'all_categories' => '所有分類', -'all_documents' => '所有文檔', +'all_documents' => '所有文件', 'all_pages' => '所有頁面', -'all_users' => '所有用戶', +'all_users' => '所有使用者', 'already_subscribed' => '已經訂閱', 'and' => '和', 'apply' => '接受', -'approvals_accepted' => '', -'approvals_accepted_latest' => '', -'approvals_and_reviews_accepted' => '', -'approvals_and_reviews_not_touched' => '', -'approvals_and_reviews_rejected' => '', -'approvals_not_touched' => '', -'approvals_not_touched_latest' => '', -'approvals_rejected' => '', -'approvals_rejected_latest' => '', -'approvals_without_group' => '', -'approvals_without_user' => '', +'approvals_accepted' => '[no_approvals]個批准已被接受', +'approvals_accepted_latest' => '(最新版本為[no_approvals])', +'approvals_and_reviews_accepted' => '[no_approvals]個批准和[no_reviews]個評論已被接受', +'approvals_and_reviews_not_touched' => '未觸及[no_approvals]個批准和[no_reviews]條評論', +'approvals_and_reviews_rejected' => '[no_approvals]個批准和[no_reviews]條評論已被拒絕', +'approvals_not_touched' => '[no_approvals]個批准沒有被觸及', +'approvals_not_touched_latest' => '(最新版本為[no_approvals])', +'approvals_rejected' => '[no_approvals]個批准已被拒絕', +'approvals_rejected_latest' => '(最新版本為[no_approvals])', +'approvals_without_group' => '沒有小組批准', +'approvals_without_user' => '沒有使用者批准', 'approval_deletion_email' => '審核請求已被刪除', -'approval_deletion_email_body' => '', -'approval_deletion_email_subject' => '', -'approval_file' => '', +'approval_deletion_email_body' => '批准請求已刪除 +文件:[name] +版本:[version] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'approval_deletion_email_subject' => '[sitename]:[name]-批准請求已刪除', +'approval_file' => '檔案', 'approval_group' => '審核組', 'approval_log' => '審批記錄', 'approval_request_email' => '審核請求', -'approval_request_email_body' => '', -'approval_request_email_subject' => '', +'approval_request_email_body' => '批准請求 +文件:[name] +版本:[version] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'approval_request_email_subject' => '[sitename]:[name]-批准請求', 'approval_status' => '審核狀態', 'approval_submit_email' => '', -'approval_submit_email_body' => '', +'approval_submit_email_body' => '批准文件 +文件:[name] +版本:[version] +父文件夾:[folder_path] +狀態:[status] +評論:[comment] +使用者:[username] +網址:[url]', 'approval_submit_email_subject' => '[sitename]: [name] - 提交審核', 'approval_summary' => '審核匯總', 'approval_update_failed' => '錯誤:更新審核狀態.更新失敗.', 'approvers' => '審核人', -'approver_already_assigned' => '', -'approver_already_removed' => '', +'approver_already_assigned' => '使用者已被分配為批准者。', +'approver_already_removed' => '批准人已經從批准過程中刪除或已經提交了批准。', 'april' => '四 月', -'archive' => '', +'archive' => '封存', 'archive_creation' => '創建存檔', -'archive_creation_warning' => '通過此操作您可以創建一個包含這個DMS(文檔管理系統)的資料檔案夾。之後,所有文檔都將保存到您伺服器的資料檔案夾中.
警告:如果所創建文檔名為非數字的,那麼將在伺服器備份中不可用', +'archive_creation_warning' => '通過此操作您可以創建一個包含這個DMS(文件管理系統)的資料檔案夾。之後,所有文件都將保存到您伺服器的資料檔案夾中.
警告:如果所創建文件名為非數字的,那麼將在伺服器備份中不可用', 'ar_EG' => '阿拉伯語', 'assign_approvers' => '指派審核人', -'assign_recipients' => '', +'assign_recipients' => '分配收件人', 'assign_reviewers' => '指派校對人', 'assign_user_property_to' => '分配使用者屬性給', 'assumed_released' => '假定發佈', -'attrdefgroup_management' => '', -'attrdefgrp_show_detail' => '', -'attrdefgrp_show_list' => '', -'attrdefgrp_show_search' => '', -'attrdefgrp_show_searchlist' => '', -'attrdef_exists' => '', -'attrdef_info' => '', -'attrdef_in_use' => '', +'attrdefgroup_management' => '屬性組管理', +'attrdefgrp_show_detail' => '細節', +'attrdefgrp_show_list' => '列表', +'attrdefgrp_show_search' => '搜尋', +'attrdefgrp_show_searchlist' => '搜尋結果', +'attrdef_exists' => '屬性定義已存在', +'attrdef_info' => '資訊', +'attrdef_in_use' => '屬性定義仍在使用', 'attrdef_management' => '屬性定義管理', 'attrdef_maxvalues' => '最大值', 'attrdef_minvalues' => '最小值', -'attrdef_min_greater_max' => '', +'attrdef_min_greater_max' => '最小數值大於最大數值', 'attrdef_multiple' => '允許多個值', -'attrdef_multiple_needs_valueset' => '', -'attrdef_must_be_multiple' => '', +'attrdef_multiple_needs_valueset' => '具有多個值的屬性定義需要設置值。', +'attrdef_must_be_multiple' => '屬性必須具有多個值,但不能設置多個值', 'attrdef_name' => '名稱', -'attrdef_noname' => '', +'attrdef_noname' => '屬性定義的名稱遺失', 'attrdef_objtype' => '類別', 'attrdef_regex' => '規則運算式', 'attrdef_type' => '類型', 'attrdef_type_boolean' => '布林數', 'attrdef_type_date' => '日期', -'attrdef_type_email' => '', +'attrdef_type_email' => '信箱', 'attrdef_type_float' => '浮點數', 'attrdef_type_int' => '整數', 'attrdef_type_string' => '字串', -'attrdef_type_url' => '', +'attrdef_type_url' => '網址', 'attrdef_valueset' => '屬性值', 'attributes' => '屬性', -'attribute_changed_email_body' => '', -'attribute_changed_email_subject' => '', +'attribute_changed_email_body' => '屬性已更改 +文件:[name] +版本:[version] +屬性:[attribute_name] +舊值:[attribute_old_value] +新值:[attribute_new_value] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'attribute_changed_email_subject' => '[sitename]:[name]-屬性已更改', 'attribute_count' => '使用次數', 'attribute_value' => '屬性值', -'attribute_value_not_in_valueset' => '', -'attr_malformed_boolean' => '', -'attr_malformed_date' => '', -'attr_malformed_email' => '', -'attr_malformed_float' => '', -'attr_malformed_int' => '', -'attr_malformed_url' => '', -'attr_max_values' => '', -'attr_min_values' => '', -'attr_not_in_valueset' => '', -'attr_no_regex_match' => '', -'attr_validation_error' => '', -'at_least_n_users_of_group' => '', +'attribute_value_not_in_valueset' => '沒有設定值', +'attr_malformed_boolean' => '屬性\'[attrname] \'的屬性值\'[value] \'不是有效的布林值。', +'attr_malformed_date' => '屬性\'[attrname] \'的屬性值\'[value] \'不是有效日期。', +'attr_malformed_email' => '屬性\'[attrname] \'的屬性值\'[value] \'不是有效的URL。', +'attr_malformed_float' => '屬性\'[attrname] \'的屬性值\'[value] \'不是有效的浮點數。', +'attr_malformed_int' => '屬性\'[attrname] \'的屬性值\'[value] \'不是有效的整數。', +'attr_malformed_url' => '屬性\'[attrname] \'的屬性值\'[value] \'不是有效的URL。', +'attr_max_values' => '超過了屬性[attrname]的最大數量。', +'attr_min_values' => '沒有達到屬性[attrname]的最小數量。', +'attr_not_in_valueset' => '屬性\'[attrname] \'的屬性值\'[value] \'不包含在值集中。', +'attr_no_regex_match' => '屬性\'[attrname] \'的屬性值\'[value] \'與正規表式法\'[regex] \'不匹配', +'attr_validation_error' => '屬性\'[attrname] \'的值\'[value] \'無效。', +'at_least_n_users_of_group' => '[group]的至少[number_of_users]個使用者', 'august' => '八 月', -'authentication' => '', -'authentication_failed' => '', +'authentication' => '認證方式', +'authentication_failed' => '認證失敗', 'author' => '作者', 'automatic_status_update' => '自動狀態變化', 'back' => '返回', @@ -188,116 +213,116 @@ URL: [url]', 'bg_BG' => '保加利亞語', 'browse' => '瀏覽', 'calendar' => '日曆', -'calendar_week' => '', +'calendar_week' => '日曆週', 'cancel' => '取消', -'cannot_assign_invalid_state' => '不能修改文檔的最終狀態', -'cannot_change_final_states' => '警告:您不能更改文檔的拒絕、過期、待校對、或是待審核等狀態', -'cannot_delete_user' => '', +'cannot_assign_invalid_state' => '不能修改文件的最終狀態', +'cannot_change_final_states' => '警告:您不能更改文件的拒絕、過期、待校對、或是待審核等狀態', +'cannot_delete_user' => '不能刪除使用者', 'cannot_delete_yourself' => '不能刪除自己', 'cannot_move_root' => '錯誤:不能移動根目錄', 'cannot_retrieve_approval_snapshot' => '無法檢索到該檔版本的審核快照.', 'cannot_retrieve_review_snapshot' => '無法檢索到該檔版本的校對快照.', 'cannot_rm_root' => '錯誤:不能刪除根目錄.', 'categories' => '分類', -'categories_loading' => '', +'categories_loading' => '請等待,直到載入類別列表...', 'category' => '分類', -'category_exists' => '', +'category_exists' => '分類已經存在', 'category_filter' => '指定分類', -'category_info' => '', +'category_info' => '資訊', 'category_in_use' => '已有檔使用此分類', -'category_noname' => '', +'category_noname' => '沒有分類名稱', 'ca_ES' => '加泰羅尼亞語', -'changelog_loading' => '', +'changelog_loading' => '請等待,直到加載更改日誌為止……', 'change_assignments' => '分配變更', 'change_password' => '變更密碼', 'change_password_message' => '變更密碼提示', -'change_recipients' => '', -'change_revisors' => '', +'change_recipients' => '設置收件人', +'change_revisors' => '設置修訂者', 'change_status' => '變更狀態', 'charts' => '圖表', 'chart_docsaccumulated_title' => '每月文件數量', -'chart_docspercategory_title' => '', -'chart_docspermimetype_title' => '', +'chart_docspercategory_title' => '每一分類的文件數', +'chart_docspermimetype_title' => '每一 mime-type 的文件數', 'chart_docspermonth_title' => '每月新增文件', -'chart_docsperstatus_title' => '', -'chart_docsperuser_title' => '用戶文件比例圖表', +'chart_docsperstatus_title' => '每一文件的狀態', +'chart_docsperuser_title' => '使用者文件比例圖表', 'chart_selection' => '選擇圖表', -'chart_sizeperuser_title' => '', -'checkedout_file_has_different_version' => '', -'checkedout_file_has_disappeared' => '', -'checkedout_file_is_unchanged' => '', -'checkin_document' => '', -'checkoutpath_does_not_exist' => '', -'checkout_document' => '', -'checkout_is_disabled' => '', +'chart_sizeperuser_title' => '每一使用者的空間', +'checkedout_file_has_different_version' => '簽出的版本與當前版本不同。簽入將不會更新文件。', +'checkedout_file_has_disappeared' => '簽出文件的文件已消失。無法辦理入住手續。', +'checkedout_file_is_unchanged' => '簽出文件的文件仍保持不變。無法辦理入住手續。如果不計劃任何修改,則可以重置簽出狀態。', +'checkin_document' => '簽入', +'checkoutpath_does_not_exist' => '簽出路徑不存在', +'checkout_document' => '簽出', +'checkout_is_disabled' => '在配置中禁用了簽出文件功能。', 'choose_attrdef' => '請選擇屬性', -'choose_attrdefgroup' => '', +'choose_attrdefgroup' => '選擇屬性組', 'choose_category' => '請選擇', 'choose_group' => '選擇組別', -'choose_role' => '', -'choose_target_category' => '', -'choose_target_document' => '選擇文檔', +'choose_role' => '選擇角色', +'choose_target_category' => '選擇類別', +'choose_target_document' => '選擇文件', 'choose_target_file' => '選擇檔', 'choose_target_folder' => '選擇資料夾', -'choose_user' => '選擇用戶', +'choose_user' => '選擇使用者', 'choose_workflow' => '選擇流程', 'choose_workflow_action' => '選擇流程行為', 'choose_workflow_state' => '選擇流程狀態', -'class_name' => '', +'class_name' => '類別名稱', 'clear_cache' => '清除緩存', 'clear_clipboard' => '清除剪貼簿', -'clear_password' => '', +'clear_password' => '清除密碼', 'clipboard' => '剪貼簿', 'close' => '關閉', -'command' => '', +'command' => '指令', 'comment' => '說明', 'comment_changed_email' => '', 'comment_for_current_version' => '版本說明', 'configure_extension' => '配置擴充套件', -'confirm_clear_cache' => '', +'confirm_clear_cache' => '您真的要清除緩存嗎?這將刪除所有預先計算的預覽圖像。', 'confirm_create_fulltext_index' => '確認已新增之全文索引', -'confirm_move_document' => '', -'confirm_move_folder' => '', +'confirm_move_document' => '請確認移動文件。', +'confirm_move_folder' => '請確認移動文件夾。', 'confirm_pwd' => '確認密碼', -'confirm_rm_attr_value' => '', -'confirm_rm_backup' => '您確定要刪除"[arkname]"備份文檔?
請注意:此動作執行後不能撤銷.', -'confirm_rm_document' => '您確定要刪除"[documentname]"文檔?
請注意:此動作執行後不能撤銷.', +'confirm_rm_attr_value' => '您是否真的要刪除屬性值?', +'confirm_rm_backup' => '您確定要刪除"[arkname]"備份文件?
請注意:此動作執行後不能撤銷.', +'confirm_rm_document' => '您確定要刪除"[documentname]"文件?
請注意:此動作執行後不能撤銷.', 'confirm_rm_dump' => '您確定要刪除"[dumpname]"轉儲檔?
請注意:此動作執行後不能撤銷.', 'confirm_rm_event' => '您確定要刪除"[name]"事件?
請注意:此動作執行後不能撤銷.', -'confirm_rm_file' => '您確定要刪除"[documentname]"文檔中的"[name]"檔 ?
請注意:此動作執行後不能撤銷.', +'confirm_rm_file' => '您確定要刪除"[documentname]"文件中的"[name]"檔 ?
請注意:此動作執行後不能撤銷.', 'confirm_rm_folder' => '您確定要刪除"[foldername]"資料夾 及其內檔?
請注意:此動作執行後不能撤銷.', 'confirm_rm_folder_files' => '您確定要刪除"[foldername]" 中所有檔及其子資料夾?
請注意:此動作執行後不能撤銷.', 'confirm_rm_group' => '您確定要刪除"[groupname]"組?
請注意:此動作執行後不能撤銷.', 'confirm_rm_log' => '您確定要刪除"[logname]"日誌檔?
請注意:此動作執行後不能撤銷.', -'confirm_rm_transmittal' => '', -'confirm_rm_transmittalitem' => '', -'confirm_rm_user' => '您確定要刪除"[username]"用戶?
請注意:此動作執行後不能撤銷.', -'confirm_rm_user_from_processes' => '', -'confirm_rm_version' => '您確定要刪除"[documentname]文檔的[version]版本檔?
請注意:此動作執行後不能撤銷.', -'confirm_transfer_link_document' => '', -'confirm_transfer_objects' => '', -'confirm_update_transmittalitem' => '', +'confirm_rm_transmittal' => '請確認刪除傳送的內容。', +'confirm_rm_transmittalitem' => '確認移除', +'confirm_rm_user' => '您確定要刪除"[username]"使用者?
請注意:此動作執行後不能撤銷.', +'confirm_rm_user_from_processes' => '您真的要從所有進程中刪除使用者“[username]”嗎?請注意:如果該使用者是唯一或最後一個批准者,則此操作可能導致發布文件。', +'confirm_rm_version' => '您確定要刪除"[documentname]文件的[version]版本檔?
請注意:此動作執行後不能撤銷.', +'confirm_transfer_link_document' => '選擇是否要鏈接拖動的文件或將其內容作為新版本傳輸到目標文件。只能傳送一種版本的文件。拖動的文件隨後將被刪除。', +'confirm_transfer_objects' => '您是否真的要傳輸使用者“ [username]”的文件,文件夾等?
請注意:此操作無法撤消。', +'confirm_update_transmittalitem' => '確認更新', 'content' => '內容', 'continue' => '繼續', -'converter_new_cmd' => '', -'converter_new_mimetype' => '', -'copied_to_checkout_as' => '', +'converter_new_cmd' => '指令', +'converter_new_mimetype' => '新的 mimetype', +'copied_to_checkout_as' => '在[date]以\'[filename] \'複製到簽出空間的文件', 'create_download_link' => '', 'create_fulltext_index' => '創建全文索引', -'create_fulltext_index_warning' => '', +'create_fulltext_index_warning' => '您將要重新創建全文索引。這會花費大量時間並降低整體系統性能。如果您確實要重新創建索引,請確認操作。', 'creation_date' => '創建日期', 'cs_CZ' => '捷克語', -'current_password' => '', -'current_quota' => '', -'current_state' => '', +'current_password' => '當前密碼', +'current_quota' => '設置了當前系統範圍的配額[quota]。', +'current_state' => '當前狀態', 'current_version' => '當前版本', -'daily' => '', +'daily' => '每日', 'databasesearch' => '資料庫搜索', 'date' => '日期', -'days' => '', -'debug' => '', +'days' => '天數', +'debug' => '除錯', 'december' => '十二月', -'default_access' => '缺省訪問模式', +'default_access' => '默認訪問模式', 'default_keywords' => '可用關鍵字', 'definitions' => '定義', 'delete' => '刪除', @@ -305,73 +330,115 @@ URL: [url]', 'details_version' => '版本詳情:[version]', 'de_DE' => '德國語', 'disclaimer' => '警告:這是機密區.只有授權使用者才被允許訪問.任何違反行為將受到法律制裁', -'discspace' => '', -'docs_in_reception_no_access' => '', -'docs_in_revision_no_access' => '', -'document' => '文檔', -'documentcontent' => '', -'documents' => '文檔', -'documents_checked_out_by_you' => '', +'discspace' => '磁碟空間', +'docs_in_reception_no_access' => '帶有收件人的文件,收件人無法訪問', +'docs_in_revision_no_access' => '修訂中的文件,沒有修訂者可以訪問', +'document' => '文件', +'documentcontent' => '文件內容', +'documents' => '文件', +'documents_checked_out_by_you' => '您簽出的文件', 'documents_expired' => '過期文件', -'documents_in_process' => '待處理文檔', -'documents_locked' => '', -'documents_locked_by_you' => '被您鎖定的文檔', +'documents_in_process' => '待處理文件', +'documents_locked' => '文件鎖定', +'documents_locked_by_you' => '被您鎖定的文件', 'documents_only' => '指定檔', -'documents_to_approve' => '待您審核的文檔', -'documents_to_correct' => '', -'documents_to_process' => '', -'documents_to_receipt' => '', -'documents_to_review' => '待您校對的文檔', -'documents_to_revise' => '', -'documents_to_trigger_workflow' => '', -'documents_user_draft' => '', -'documents_user_expiration' => '', -'documents_user_needs_correction' => '', -'documents_user_no_reception' => '', -'documents_user_obsolete' => '', -'documents_user_reception' => '', +'documents_to_approve' => '待您審核的文件', +'documents_to_correct' => '需要更正的文件', +'documents_to_process' => '需要處理的文件', +'documents_to_receipt' => '等待確認回覆的文件', +'documents_to_review' => '待您校對的文件', +'documents_to_revise' => '等待您修改的文件', +'documents_to_trigger_workflow' => '文件在工作流程中', +'documents_user_draft' => '草稿', +'documents_user_expiration' => '過期的文件', +'documents_user_needs_correction' => '需要更正的文件', +'documents_user_no_reception' => '沒有回覆的文件', +'documents_user_obsolete' => '過時的文件', +'documents_user_reception' => '等待接收的文件', 'documents_user_rejected' => '被拒絕的文件', -'documents_user_requiring_attention' => '需您關注的文檔', -'documents_with_notification' => '', -'document_already_checkedout' => '', -'document_already_locked' => '該文檔已被鎖定', -'document_attribute_changed_email_body' => '', -'document_attribute_changed_email_subject' => '', -'document_comment_changed_email' => '', -'document_comment_changed_email_body' => '', -'document_comment_changed_email_subject' => '', -'document_count' => '', -'document_deleted' => '刪除文檔', -'document_deleted_email' => '文檔已被刪除', -'document_deleted_email_body' => '', -'document_deleted_email_subject' => '', -'document_duplicate_name' => '', -'document_has_no_workflow' => '', -'document_infos' => '文檔信息', -'document_is_checked_out' => '', -'document_is_not_locked' => '該文檔沒有被鎖定', +'documents_user_requiring_attention' => '需您關注的文件', +'documents_with_notification' => '帶有通知的文件', +'document_already_checkedout' => '此份文件已經簽出', +'document_already_locked' => '該文件已被鎖定', +'document_attribute_changed_email_body' => '屬性已更改 +文件:[name] +屬性:[attribute_name] +舊值:[attribute_old_value] +新值:[attribute_new_value] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'document_attribute_changed_email_subject' => '[sitename]:[name]-屬性已更改', +'document_comment_changed_email' => '評論已更改', +'document_comment_changed_email_body' => '評論已更改 +文件:[name] +舊評論:[old_comment] +新評論:[new_comment] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'document_comment_changed_email_subject' => '[sitename]:[name]-評論已更改', +'document_count' => '文件數', +'document_deleted' => '刪除文件', +'document_deleted_email' => '文件已被刪除', +'document_deleted_email_body' => '文件已刪除 +文件:[name] +父文件夾:[folder_path] +使用者:[username]', +'document_deleted_email_subject' => '[sitename]:[name]-文檔已刪除', +'document_duplicate_name' => '文件名稱重複', +'document_has_no_workflow' => '文件沒有工作流程', +'document_infos' => '文件資訊', +'document_is_checked_out' => '當前已簽出文檔。如果您上傳新版本,那麼簽出的版本將無法再簽回。', +'document_is_not_locked' => '該文件沒有被鎖定', 'document_link_by' => '連結', 'document_link_public' => '公開', -'document_moved_email' => '文檔已被移動', -'document_moved_email_body' => '', -'document_moved_email_subject' => '', -'document_not_checkedout' => '', -'document_renamed_email' => '文檔已被重命名', -'document_renamed_email_body' => '', -'document_renamed_email_subject' => '', -'document_status_changed_email' => '文檔狀態已被更改', -'document_status_changed_email_body' => '', -'document_status_changed_email_subject' => '', -'document_title' => '文檔名稱 \'[documentname]\'', -'document_transfered_email_body' => '', -'document_transfered_email_subject' => '', -'document_updated_email' => '文檔已被更新', -'document_updated_email_body' => '', -'document_updated_email_subject' => '', +'document_moved_email' => '文件已被移動', +'document_moved_email_body' => '文件已移走 +文件:[name] +舊文件夾:[old_folder_path] +新文件夾:[new_folder_path] +使用者:[username] +網址:[url]', +'document_moved_email_subject' => '[sitename]:[name]-文件已移動', +'document_not_checkedout' => '文件沒有簽出', +'document_renamed_email' => '文件已被重命名', +'document_renamed_email_body' => '文件名稱已變更 +文件:[name] +父文件夾:[folder_path] +舊名稱:[old_name] +使用者:[username] +網址:[url]', +'document_renamed_email_subject' => '[sitename]:[name]-文件已重命名', +'document_status_changed_email' => '文件狀態已被更改', +'document_status_changed_email_body' => '文件狀態已變更 +文件:[name] +狀態:[status] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'document_status_changed_email_subject' => '[sitename]:[name]-文檔狀態已更改', +'document_title' => '文件名稱 \'[documentname]\'', +'document_transfered_email_body' => '文件轉移給其他使用者 +文件:[name] +新所有者:[newuser] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'document_transfered_email_subject' => '[sitename]:[name]-轉移文件', +'document_updated_email' => '文件已被更新', +'document_updated_email_body' => '文件已更新 +文件:[name] +父文件夾:[folder_path] +使用者:[username] +評論:[comment] +版本註釋:[version_comment] +網址:[url]', +'document_updated_email_subject' => '[sitename]:[name]-文檔已更新', 'does_not_expire' => '永不過期', 'does_not_inherit_access_msg' => '繼承存取權限', 'download' => '下載', -'download_extension' => '', +'download_extension' => '將擴展名下載為zip文件', 'download_header_approval_comment' => '', 'download_header_approval_date' => '', 'download_header_approval_state' => '', @@ -385,110 +452,114 @@ URL: [url]', 'download_header_review_date' => '', 'download_header_review_state' => '', 'download_header_state' => '', -'download_links' => '', -'do_no_transfer_to_user' => '', -'do_object_repair' => '', -'do_object_setchecksum' => '', +'download_links' => '下載連結', +'do_no_transfer_to_user' => '不要轉移流程給使用者。', +'do_object_repair' => '修復所有文件夾和文檔。', +'do_object_setchecksum' => '設置文件校驗', 'do_object_setfilesize' => '設定檔案大小', -'do_object_setfiletype' => '', -'do_object_unlink' => '', -'draft' => '', +'do_object_setfiletype' => '設置檔案類型', +'do_object_unlink' => '刪除檔案版本', +'draft' => '草稿', 'draft_pending_approval' => '待審核', 'draft_pending_review' => '待校對', 'drag_icon_here' => '拖動圖示到這裡', -'dropfolderdir_missing' => '', +'dropfolderdir_missing' => '您的個人放置文件夾在服務器上不存在!請要求管理員創建它', 'dropfolder_file' => '檔案來源為 drop 目錄', -'dropfolder_folder' => '', -'dropfolder_metadata' => '', +'dropfolder_folder' => '目錄來源為下拉目錄', +'dropfolder_metadata' => '下拉目錄的Metadata', 'dropupload' => '快速上傳', 'drop_files_here' => '拖入這裡', 'dump_creation' => '轉儲數據', 'dump_creation_warning' => '通過此操作,您可以創建一個您資料庫的轉儲檔,之後可以將轉儲資料保存到您伺服器所在的資料檔案夾中', 'dump_list' => '存在轉儲文件', 'dump_remove' => '刪除轉儲檔', -'duplicates' => '', +'duplicates' => '重複項', 'duplicate_content' => '重複內容', 'edit' => '編輯', 'edit_attributes' => '編輯屬性', 'edit_comment' => '編輯說明', 'edit_default_keywords' => '編輯關鍵字', 'edit_document_access' => '編輯存取權限', -'edit_document_notify' => '文檔通知列表', -'edit_document_props' => '編輯文檔', +'edit_document_notify' => '文件通知列表', +'edit_document_props' => '編輯文件', 'edit_event' => '編輯事件', 'edit_existing_access' => '編輯訪問列表', -'edit_existing_attribute_groups' => '', +'edit_existing_attribute_groups' => '編輯屬性組', 'edit_existing_notify' => '編輯通知列表', 'edit_folder_access' => '編輯存取權限', -'edit_folder_attrdefgrp' => '', +'edit_folder_attrdefgrp' => '編輯屬性組', 'edit_folder_notify' => '資料夾通知列表', 'edit_folder_props' => '編輯資料夾', 'edit_group' => '編輯組別', -'edit_online' => '', -'edit_online_warning' => '', -'edit_task' => '', -'edit_transmittal_props' => '', -'edit_user' => '編輯用戶', -'edit_user_details' => '編輯用戶詳情', -'edit_version' => '', +'edit_online' => '線上編輯', +'edit_online_warning' => '保存更改將覆蓋當前版本的內容,而不是創建新版本。', +'edit_task' => '編輯工作', +'edit_transmittal_props' => '編輯傳輸屬性', +'edit_user' => '編輯使用者', +'edit_user_details' => '編輯使用者詳情', +'edit_version' => '編輯版本', 'el_GR' => '希臘語', 'email' => 'Email', -'email_error_title' => '', +'email_error_title' => '信箱沒有輸入', 'email_footer' => '您可以用‘我的帳戶’選項來改變您的e-mail設置', -'email_header' => '這是來自于DMS(文檔管理系統)的自動發送消息', -'email_not_given' => '', -'empty_attribute_group_list' => '', +'email_header' => '這是來自于DMS(文件管理系統)的自動發送消息', +'email_not_given' => '請輸入有效的信箱網址', +'empty_attribute_group_list' => '沒有屬性組', 'empty_folder_list' => '沒有檔或子目錄', -'empty_list' => '', +'empty_list' => '沒有條目', 'empty_notify_list' => '沒有條目', 'en_GB' => '英語', -'equal_transition_states' => '', +'equal_transition_states' => '起始狀態和結束狀態相等', 'error' => '錯誤', -'error_add_aro' => '', -'error_add_permission' => '', -'error_cleared_cache' => '', -'error_edit_task' => '', -'error_extension_getlist' => '', -'error_importfs' => '', -'error_no_document_selected' => '請選擇文檔', +'error_add_aro' => '新增訪問請求對象時出錯', +'error_add_permission' => '新增權限時出錯', +'error_cleared_cache' => '清除緩存時出錯', +'error_edit_task' => '保存任務時出錯', +'error_extension_getlist' => '從存儲庫獲取擴展列表時出錯', +'error_importfs' => '導入表單文件系統時出錯', +'error_no_document_selected' => '請選擇文件', 'error_no_folder_selected' => '請選擇資料夾', 'error_occured' => '出錯', -'error_remove_document' => '', -'error_remove_folder' => '', -'error_remove_permission' => '', -'error_rm_workflow' => '', -'error_rm_workflow_action' => '', -'error_rm_workflow_state' => '', -'error_toogle_permission' => '', -'error_transfer_document' => '', -'error_trigger_workflow' => '', -'error_update_document' => '', -'error_uploading_reviewer_only' => '', +'error_remove_document' => '刪除文件時出錯', +'error_remove_folder' => '刪除文件夾時出錯', +'error_remove_permission' => '刪除權限時出錯', +'error_rm_workflow' => '刪除工作流程時出錯', +'error_rm_workflow_action' => '刪除工作流程操作時出錯', +'error_rm_workflow_state' => '刪除工作流程狀態時出錯', +'error_toogle_permission' => '更改權限時出錯', +'error_transfer_document' => '傳送文件時發生錯誤', +'error_trigger_workflow' => '觸發工作流程轉換時出錯', +'error_update_document' => '更新文件時發生錯誤', +'error_uploading_reviewer_only' => '創建文件時出錯。該文件具有審閱者,但沒有批准者。', 'es_ES' => '西班牙語', 'event_details' => '錯誤詳情', 'exclude_items' => '例外項目', 'expired' => '過期', -'expired_at_date' => '', -'expired_documents' => '', +'expired_at_date' => '已於[datetime]過期', +'expired_documents' => '過期的文件', 'expires' => '有效限期', 'expire_by_date' => '到期日', -'expire_in_1d' => '', -'expire_in_1h' => '', +'expire_in_1d' => '1天後到期', +'expire_in_1h' => '1小時後到期', 'expire_in_1m' => '1個月到期', 'expire_in_1w' => '1個星期到期', 'expire_in_1y' => '1年到期', -'expire_in_2h' => '', +'expire_in_2h' => '2小時後到期', 'expire_in_2y' => '2年到期', -'expire_today' => '', -'expire_tomorrow' => '', +'expire_today' => '今天到期', +'expire_tomorrow' => '明天到期', 'expiry_changed_email' => '到期日子已改變', -'expiry_changed_email_body' => '', -'expiry_changed_email_subject' => '', -'export' => '', -'extension_archive' => '', +'expiry_changed_email_body' => '到期日已更改 +文件:[name] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'expiry_changed_email_subject' => '[sitename]: [name] - 有效日期已更改', +'export' => '匯出', +'extension_archive' => '擴充', 'extension_changelog' => '修改紀錄', 'extension_loading' => '擴充套件讀取中', -'extension_manager' => '整體索引進度', +'extension_manager' => '擴充套件的管理', 'extension_mgr_installed' => '已安裝', 'extension_mgr_no_upload' => '無法上傳新的套件因為套件目錄無法寫入', 'extension_mgr_repository' => '可用', @@ -497,45 +568,72 @@ URL: [url]', 'file' => '文件', 'files' => '文件', 'files_deletion' => '刪除檔', -'files_deletion_warning' => '通過此操作,您可以刪除整個DMS(文檔管理系統)資料夾裡的所有檔.但版本資訊將被保留', +'files_deletion_warning' => '通過此操作,您可以刪除整個DMS(文件管理系統)資料夾裡的所有檔.但版本資訊將被保留', 'files_loading' => '請稍候, 檔案讀取中', -'filetype' => '', +'filetype' => '檔案類型', 'file_size' => '文件大小', -'filter_for_documents' => '', -'filter_for_folders' => '', +'filter_for_documents' => '附加文件過濾器', +'filter_for_folders' => '文件夾的附加過濾器', 'folder' => '資料夾', 'folders' => '資料夾', 'folders_and_documents_statistic' => '內容概要', -'folders_with_notification' => '', -'folder_attribute_changed_email_body' => '', -'folder_attribute_changed_email_subject' => '', -'folder_comment_changed_email' => '', -'folder_comment_changed_email_body' => '', -'folder_comment_changed_email_subject' => '', +'folders_with_notification' => '帶有通知的文件夾', +'folder_attribute_changed_email_body' => '屬性已更改 +文件夾:[name] +屬性:[attribute_name] +舊值:[attribute_old_value] +新值:[attribute_new_value] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'folder_attribute_changed_email_subject' => '[sitename]: [name] - 屬性已更改', +'folder_comment_changed_email' => '評論已更改', +'folder_comment_changed_email_body' => '評論已更改 +文件夾:[name] +舊評論:[old_comment] +新評論:[new_comment] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'folder_comment_changed_email_subject' => '[sitename]: [name] - 評論已修改', 'folder_contents' => '資料夾內容', 'folder_deleted_email' => '資料夾已被刪除', -'folder_deleted_email_body' => '', -'folder_deleted_email_subject' => '', -'folder_infos' => '資料夾信息', +'folder_deleted_email_body' => '資料夾已刪除 +文件夾:[name] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'folder_deleted_email_subject' => '[sitename]: [name] - 資料夾已刪除', +'folder_infos' => '資料夾資訊', 'folder_moved_email' => '資料夾已被移動', -'folder_moved_email_body' => '', -'folder_moved_email_subject' => '', +'folder_moved_email_body' => '文件夾移動 +文件夾:[name] +舊文件夾:[old_folder_path] +新文件夾:[new_folder_path] +使用者:[username] +網址:[url]', +'folder_moved_email_subject' => '[sitename]: [name] - 資料夾已移動', 'folder_renamed_email' => '資料夾已被重命名', -'folder_renamed_email_body' => '', -'folder_renamed_email_subject' => '', +'folder_renamed_email_body' => '文件夾已重命名 +文件夾:[name] +父文件夾:[folder_path] +舊名稱:[old_name] +使用者:[username] +網址:[url]', +'folder_renamed_email_subject' => '[sitename]: [name] - 資料夾已經重新命名', 'folder_title' => '資料夾 \'[foldername]\'', 'foot_note' => '', 'force_update' => '更新', 'friday' => 'Friday', -'friday_abbr' => '', +'friday_abbr' => 'Fr', 'from' => '從', 'fr_FR' => '法語', 'fullsearch' => '全文檢索搜尋', 'fullsearch_hint' => '使用全文索引', -'fulltextsearch_disabled' => '', +'fulltextsearch_disabled' => '全文索引已禁用', 'fulltext_converters' => '索引檔轉換', 'fulltext_info' => '全文索引資訊', -'global_attributedefinitiongroups' => '', +'global_attributedefinitiongroups' => '屬性組', 'global_attributedefinitions' => '屬性', 'global_default_keywords' => '全域關鍵字', 'global_document_categories' => '分類', @@ -546,44 +644,46 @@ URL: [url]', 'groups' => '組別', 'group_approval_summary' => '審核組匯總', 'group_exists' => '組已存在', -'group_info' => '', +'group_info' => '群組資訊', 'group_management' => '組管理', 'group_members' => '組成員', -'group_receipt_summary' => '', +'group_receipt_summary' => '群組回覆匯總', 'group_review_summary' => '校對組匯總', -'group_revision_summary' => '', +'group_revision_summary' => '群組修訂匯總', 'guest_login' => '來賓登錄', 'guest_login_disabled' => '來賓登錄被禁止', -'hash' => '', +'hash' => 'Hash', 'help' => '幫助', -'home_folder' => '', -'hook_name' => '', -'hourly' => '', -'hours' => '', +'home_folder' => '家目錄', +'hook_name' => '掛鉤的名稱', +'hourly' => '每小時', +'hours' => '小時', 'hr_HR' => '克羅埃西亞語', 'human_readable' => '可讀存檔', 'hu_HU' => '匈牙利語', 'id' => '序號', 'identical_version' => '新版本的內容與舊版本完全相同', 'import' => '匯入', -'importfs' => '', -'import_extension' => '', +'importfs' => '從檔案系統匯入', +'import_extension' => '匯入擴充', 'import_fs' => '由檔案系統匯入', -'import_fs_warning' => '', -'include_content' => '', -'include_documents' => '包含文檔', +'import_fs_warning' => '這僅適用於放置文件夾中的文件夾。該操作以遞歸方式導入所有文件夾和文件。文件將立即釋放。', +'import_users' => '', +'import_users_update' => '', +'include_content' => '包含內容', +'include_documents' => '包含文件', 'include_subdirectories' => '包含子目錄', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => '索引任務正在序列中', 'index_converters' => '', -'index_done' => '', -'index_error' => '', +'index_done' => '完成', +'index_error' => '錯誤', 'index_folder' => '索引目錄', -'index_no_content' => '', -'index_pending' => '', +'index_no_content' => '沒有索引內容', +'index_pending' => '待定', 'index_waiting' => '請稍後', 'individuals' => '個人', -'individuals_in_groups' => '', -'info_recipients_tab_not_released' => '', +'individuals_in_groups' => '小組成員', +'info_recipients_tab_not_released' => '由於未發布該文檔版本,因此無法確認接收。', 'inherited' => '繼承', 'inherits_access_copy_msg' => '複製繼承存取權限列表', 'inherits_access_empty_msg' => '從存取權限空列表開始', @@ -595,40 +695,40 @@ URL: [url]', 'invalid_approval_status' => '無效審核狀態', 'invalid_create_date_end' => '無效截止日期,不在創建日期範圍內', 'invalid_create_date_start' => '無效開始日期,不在創建日期範圍內', -'invalid_doc_id' => '無效文檔ID號', -'invalid_dropfolder_folder' => '', -'invalid_expiration_date_end' => '', -'invalid_expiration_date_start' => '', +'invalid_doc_id' => '無效文件ID號', +'invalid_dropfolder_folder' => '下拉資料夾中的資料夾無效', +'invalid_expiration_date_end' => '到期日期範圍的結束日期無效。', +'invalid_expiration_date_start' => '到期日期範圍的開始日期無效。', 'invalid_file_id' => '無效檔ID號', 'invalid_folder_id' => '無效資料夾ID號', 'invalid_group_id' => '無效組別ID號', 'invalid_link_id' => '無效連結標示', -'invalid_request_token' => 'Invalid Request Token', +'invalid_request_token' => '無效的令牌請求', 'invalid_review_status' => '無效校對狀態', 'invalid_sequence' => '無效序列值', -'invalid_status' => '無效文檔狀態', +'invalid_status' => '無效文件狀態', 'invalid_target_doc_id' => '無效目的文件ID號', 'invalid_target_folder' => '無效目的檔案夾ID號', -'invalid_user_id' => '無效用戶ID號', -'invalid_version' => '無效文檔版本', -'in_folder' => '', -'in_revision' => '', -'in_workflow' => '', +'invalid_user_id' => '無效使用者ID號', +'invalid_version' => '無效文件版本', +'in_folder' => '在', +'in_revision' => '修訂中', +'in_workflow' => '在工作流程中', 'is_disabled' => '禁用帳戶', -'is_hidden' => '從用戶列表中隱藏', +'is_hidden' => '從使用者列表中隱藏', 'it_IT' => '義大利語', 'january' => '一 月', -'js_form_error' => '', -'js_form_errors' => '', -'js_invalid_email' => '', +'js_form_error' => '表單仍然包含 # 錯誤。', +'js_form_errors' => '表單仍然包含 # 個錯誤。', +'js_invalid_email' => '郵箱地址無效', 'js_no_approval_group' => '請選擇審核組', 'js_no_approval_status' => '請選擇審核狀態', -'js_no_comment' => '沒有添加說明', -'js_no_currentpwd' => '', +'js_no_comment' => '沒有新增說明', +'js_no_currentpwd' => '請輸入您的當前密碼', 'js_no_email' => '輸入您的e-mail', 'js_no_file' => '請選擇一個檔', 'js_no_keywords' => '指定關鍵字', -'js_no_login' => '輸入用戶名', +'js_no_login' => '輸入使用者名', 'js_no_name' => '請輸入名稱', 'js_no_override_status' => '請選擇一個新的[override]狀態', 'js_no_pwd' => '您需要輸入您的密碼', @@ -636,1006 +736,1125 @@ URL: [url]', 'js_no_review_group' => '請選擇一個校對組', 'js_no_review_status' => '請選擇校對狀態', 'js_pwd_not_conf' => '密碼與確認密碼不一致', -'js_select_user' => '請選擇一個用戶', -'js_select_user_or_group' => '選擇至少一個用戶或一個組', -'js_unequal_passwords' => '', +'js_select_user' => '請選擇一個使用者', +'js_select_user_or_group' => '選擇至少一個使用者或一個組', +'js_unequal_passwords' => '密碼不相符', 'july' => '七 月', 'june' => '六 月', -'keep' => '', -'keep_doc_status' => '', +'keep' => '不要改變', +'keep_doc_status' => '保持文件狀態', 'keywords' => '關鍵字', 'keywords_loading' => '請稍後,關鍵字載入中', 'keyword_exists' => '關鍵字已存在', 'ko_KR' => '韓語', 'language' => '語言', -'lastaccess' => '', +'lastaccess' => '最後訪問', 'last_update' => '上次更新', -'legend' => '', -'librarydoc' => '', -'linked_documents' => '相關文檔', +'legend' => '說明', +'librarydoc' => '文件庫', +'linked_documents' => '相關文件', 'linked_files' => '附件', -'linked_to_current_version' => '', -'linked_to_document' => '', -'linked_to_this_version' => '', -'link_alt_updatedocument' => '超過20M大檔,請選擇上傳大檔.', -'link_document' => '', -'link_to_version' => '', +'linked_to_current_version' => '連結到當前版本', +'linked_to_document' => '連結到文件', +'linked_to_this_version' => '連結到這個版本', +'link_alt_updatedocument' => '如果您要上傳的文件大於當前的最大上傳大小,請使用其他上傳頁面。', +'link_document' => '連結文件', +'link_to_version' => '附加到版本', 'list_access_rights' => '列出權限', -'list_contains_no_access_docs' => '', -'list_hooks' => '', -'list_tasks' => '', -'local_file' => '本地檔', +'list_contains_no_access_docs' => '該列表包含更多您無法訪問且不會顯示的文檔。', +'list_hooks' => '掛勾列表', +'list_tasks' => '工作列表', +'local_file' => '選擇檔案', 'locked_by' => '鎖定人', 'lock_document' => '鎖定', -'lock_message' => '此文檔已被 [username] 鎖定. 只有授權使用者才能解鎖.', +'lock_message' => '此文件已被 [username] 鎖定. 只有授權使用者才能解鎖.', 'lock_status' => '鎖定狀態', -'logfile_loading' => '', -'login' => '', -'login_disabled_text' => '', -'login_disabled_title' => '', -'login_error_text' => '登錄錯誤.用戶名或密碼不正確', +'logfile_loading' => '請稍等,直到加載日誌文件……', +'login' => '登入', +'login_disabled_text' => '您的帳戶被禁用,可能是由於登錄失敗太多。', +'login_disabled_title' => '帳戶已被禁用', +'login_error_text' => '登錄錯誤.使用者名或密碼不正確', 'login_error_title' => '登錄錯誤', -'login_not_given' => '缺少用戶名', +'login_not_given' => '缺少使用者名', 'login_ok' => '登錄成功', -'login_restrictions_apply' => '', +'login_restrictions_apply' => '由於限制,登錄失敗', 'logout' => '登出', 'log_management' => '日誌管理', 'lo_LA' => '位置', -'malformed_expiration_date' => '', +'malformed_expiration_date' => '格式錯誤的到期日期', 'manager' => '管理員', -'manager_of_group' => '', -'mandatory_approvergroups' => '', -'mandatory_approvergroup_no_access' => '', -'mandatory_approvers' => '', -'mandatory_approver_no_access' => '', -'mandatory_reviewergroups' => '', -'mandatory_reviewergroup_no_access' => '', -'mandatory_reviewers' => '', -'mandatory_reviewer_no_access' => '', +'manager_of_group' => '您是這個群組的管理員', +'mandatory_approvergroups' => '強制批准的群組', +'mandatory_approvergroup_no_access' => '強制批准者組\'[group] \'沒有足夠的訪問權限。', +'mandatory_approvers' => '強制性批准人', +'mandatory_approver_no_access' => '強制批准者\'[user] \'沒有足夠的訪問權限。', +'mandatory_reviewergroups' => '強制性審稿人小組', +'mandatory_reviewergroup_no_access' => '強制性審閱者組\'[group] \'沒有足夠的訪問權限。', +'mandatory_reviewers' => '強制性審稿人', +'mandatory_reviewer_no_access' => '強制性審閱者\'[user] \'沒有足夠的訪問權限。', 'march' => '三 月', 'max_upload_size' => '最大上傳文件大小', 'may' => '五 月', -'menu_dropfolder' => '', -'menu_upload_from_dropfolder' => '', +'menu_dropfolder' => '下拉目錄', +'menu_upload_from_dropfolder' => '匯入這個檔案', 'mimetype' => 'MIME類型', -'minutes' => '', +'minutes' => '分鐘', 'misc' => '其他', -'missing_checksum' => '', -'missing_file' => '', -'missing_filesize' => '', -'missing_reception' => '', -'missing_request_object' => '', -'missing_transition_user_group' => '', -'monday' => 'Monday', -'monday_abbr' => '', -'monthly' => '', +'missing_checksum' => '缺少校驗', +'missing_file' => '缺少檔案', +'missing_filesize' => '缺少檔案大小', +'missing_reception' => '缺少接待處', +'missing_request_object' => '缺少請求物件', +'missing_transition_user_group' => '缺少傳送的使用者/群組', +'monday' => '禮拜一', +'monday_abbr' => 'Mo', +'monthly' => '月', 'month_view' => '月視圖', -'more_objects_loading' => '', +'more_objects_loading' => '較多物件載入中...', 'move' => '移動', 'move_clipboard' => '移動剪貼簿', -'move_document' => '移動文檔', +'move_document' => '移動文件', 'move_folder' => '移動資料夾', 'my_account' => '我的帳戶', 'my_documents' => '我的文件', -'my_transmittals' => '', +'my_transmittals' => '我的傳送', 'name' => '名稱', 'nb_NO' => '', -'needs_correction' => '', -'needs_workflow_action' => '', -'network_drive' => '', -'never' => '', +'needs_correction' => '需要糾正', +'needs_workflow_action' => '本文檔需要您注意。請檢查工作流程標籤。', +'network_drive' => '網路磁碟機', +'never' => '從不', 'new' => 'New', -'new_attrdef' => '添加屬性', -'new_default_keywords' => '添加關鍵字', -'new_default_keyword_category' => '添加類別', +'new_attrdef' => '新增屬性', +'new_default_keywords' => '新增關鍵字', +'new_default_keyword_category' => '新增類別', 'new_document_category' => '增加分類', -'new_document_email' => '添加新文檔', -'new_document_email_body' => '', -'new_document_email_subject' => '', -'new_file_email' => '添加新附件', -'new_file_email_body' => '', -'new_file_email_subject' => '', +'new_document_email' => '新增新文件', +'new_document_email_body' => '新文件 +姓名:[name] +父文件夾:[folder_path] +評論:[comment] +版本註釋:[version_comment] +使用者:[username] +網址:[url]', +'new_document_email_subject' => '[sitename]: [document] - 新文件', +'new_file_email' => '新增新附件', +'new_file_email_body' => '新附件 +姓名:[name] +文件:[document] +評論:[comment] +使用者:[username] +網址:[url]', +'new_file_email_subject' => '[sitename]: [document] - 新附件', 'new_folder' => '新建資料夾', -'new_password' => '', +'new_password' => '新密碼', 'new_subfolder_email' => '創建新資料夾', -'new_subfolder_email_body' => '', -'new_subfolder_email_subject' => '', +'new_subfolder_email_body' => '新建文件夾 +姓名:[name] +父文件夾:[folder_path] +評論:[comment] +使用者:[username] +網址:[url]', +'new_subfolder_email_subject' => '[sitename]: [name] - 新文件夾', 'new_user_image' => '新建圖片', -'next_revision_abbr' => '', -'next_state' => '', +'next_revision_abbr' => '下一版', +'next_state' => '新狀態', 'nl_NL' => '荷蘭語', 'no' => '否', -'notification' => '', -'notify_added_email' => '您已被添加到了通知名單中', -'notify_added_email_body' => '', -'notify_added_email_subject' => '', +'notification' => '通知', +'notify_added_email' => '您已被新增到了通知名單中', +'notify_added_email_body' => '已添加到通知列表 +姓名:[name] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'notify_added_email_subject' => '[sitename]: [name] - 從通知列表中刪除', 'notify_deleted_email' => '您已經從通知名單中刪除', -'notify_deleted_email_body' => '', -'notify_deleted_email_subject' => '', +'notify_deleted_email_body' => '從通知列表中刪除 +姓名:[name] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'notify_deleted_email_subject' => '[sitename]: [name] - 從通知列表中刪除', 'november' => '十一月', -'now' => '', +'now' => '現在', 'no_action' => '無動作請求', 'no_approval_needed' => '無待審核的檔', 'no_attached_files' => '無附件', -'no_backup_dir' => '', -'no_current_version' => '', +'no_backup_dir' => '未設置備份目錄。', +'no_current_version' => '您正在運行舊版本的SeedDMS。最新的可用版本是[latestversion]。', 'no_default_keywords' => '無關鍵字', -'no_docs_checked_out' => '', -'no_docs_expired' => '', -'no_docs_locked' => '無鎖定的文檔', -'no_docs_needs_correction' => '', -'no_docs_rejected' => '', -'no_docs_to_approve' => '當前沒有需要審核的文檔', -'no_docs_to_look_at' => '沒有需要關注的文檔', -'no_docs_to_receipt' => '', -'no_docs_to_review' => '當前沒有需要校對的文檔', -'no_docs_to_revise' => '', -'no_email_or_login' => '', -'no_fulltextindex' => '', +'no_docs_checked_out' => '沒有簽出文件', +'no_docs_expired' => '沒有過期的文件', +'no_docs_locked' => '無鎖定的文件', +'no_docs_needs_correction' => '沒有文件,需要更正', +'no_docs_rejected' => '沒有文件被拒絕。', +'no_docs_to_approve' => '當前沒有需要審核的文件', +'no_docs_to_look_at' => '沒有需要關注的文件', +'no_docs_to_receipt' => '無需文件收據', +'no_docs_to_review' => '當前沒有需要校對的文件', +'no_docs_to_revise' => '當前沒有需要修改的文件。', +'no_email_or_login' => '必須輸入登入名和電子郵件', +'no_fulltextindex' => '沒有全文索引', 'no_groups' => '無組別', 'no_group_members' => '該組沒有成員', 'no_linked_files' => '無連結檔', 'no_previous_versions' => '無其它版本', -'no_receipt_needed' => '', +'no_receipt_needed' => '當前沒有需要收據確認的文件。', 'no_review_needed' => '無待校對的文件', -'no_revision_needed' => '', -'no_revision_planed' => '', -'no_update_cause_locked' => '您不能更新此文檔,請聯繫該文檔鎖定人', +'no_revision_needed' => '沒有待定的修訂。', +'no_revision_planed' => '未計劃修訂文件', +'no_update_cause_locked' => '您不能更新此文件,請聯繫該文件鎖定人', 'no_user_image' => '無圖片', -'no_version_check' => '', -'no_version_modification' => '', -'no_workflow_available' => '', +'no_version_check' => '檢查新版本的SeedDMS失敗!這可能是由於在您的php配置中將allow_url_fopen設置為0', +'no_version_modification' => '沒有版本修改', +'no_workflow_available' => '沒有可用的工作流程', 'objectcheck' => '資料夾/檔檢查', -'object_check_critical' => '', -'object_check_warning' => '', +'object_check_critical' => '嚴重錯誤', +'object_check_warning' => '警告', 'obsolete' => '過時的', 'october' => '十 月', 'old' => 'Old', 'only_jpg_user_images' => '只用jpg格式的圖片才可以作為使用者身份圖片', -'order_by_sequence_off' => '', +'order_by_sequence_off' => '在設置中關閉了按順序排序。如果希望此參數生效,則必須重新打開它。', 'original_filename' => '原始檔名', -'overall_indexing_progress' => '', +'overall_indexing_progress' => '整體索引編制進度', 'owner' => '所有者', 'ownership_changed_email' => '所有者已變更', -'ownership_changed_email_body' => '', -'ownership_changed_email_subject' => '', +'ownership_changed_email_body' => '所有者已更改 +文件:[name] +父文件夾:[folder_path] +舊所有者:[old_owner] +新所有者:[new_owner] +使用者:[username] +網址:[url]', +'ownership_changed_email_subject' => '[sitename]: [name] - 擁有者已改變', 'password' => '密碼', -'password_already_used' => '', -'password_expiration' => '', -'password_expiration_text' => '', -'password_expired' => '', -'password_expires_in_days' => '', -'password_forgotten' => '', -'password_forgotten_email_body' => '', -'password_forgotten_email_subject' => '', -'password_forgotten_send_hash' => '', -'password_forgotten_text' => '', -'password_forgotten_title' => '', -'password_repeat' => '', -'password_send' => '', -'password_send_text' => '', +'password_already_used' => '密碼已使用', +'password_expiration' => '密碼過期', +'password_expiration_text' => '您的密碼已過期。請先選擇一個新版本,然後再繼續使用SeedDMS。', +'password_expired' => '密碼已過期', +'password_expires_in_days' => '密碼將於%s天后過期。', +'password_forgotten' => '忘記密碼', +'password_forgotten_email_body' => '尊敬的SeedDMS使用者, + +我們已收到更改您的密碼的請求。 + +可以通過單擊以下鏈接來完成: + +[url_prefix] out / out.ChangePassword.php?hash = [hash]', +'password_forgotten_email_subject' => '[sitename]: 密碼忘記', +'password_forgotten_send_hash' => '有關如何進行操作的說明已發送到使用者的電子郵件地址', +'password_forgotten_text' => '填寫以下表格,然後按照將發送給您的電子郵件中的說明進行操作。', +'password_forgotten_title' => '密碼已寄出', +'password_repeat' => '重複輸入密碼', +'password_send' => '密碼寄出', +'password_send_text' => '如果登錄名和電子郵件與現有使用者匹配,則您的新密碼已發送到給定的電子郵件地址。如果您在接下來的幾分鐘內沒有收到電子郵件,請確保登錄名和電子郵件均正確無誤,然後重新啟動該過程。', 'password_strength' => '密碼強度', -'password_strength_insuffient' => '', -'password_wrong' => '', -'pdf_converters' => '', -'pending_approvals' => '', -'pending_receipt' => '', -'pending_reviews' => '', -'pending_revision' => '', -'pending_workflows' => '', -'personal_default_keywords' => '用戶關鍵字', +'password_strength_insuffient' => '密碼強度不足', +'password_wrong' => '錯誤密碼', +'pdf_converters' => 'PDF 轉換', +'pending_approvals' => '待批准', +'pending_receipt' => '待收據', +'pending_reviews' => '待審核', +'pending_revision' => '待修訂', +'pending_workflows' => '待處理的工作流程', +'personal_default_keywords' => '使用者關鍵字', 'pl_PL' => '波蘭語', -'possible_substitutes' => '', +'possible_substitutes' => '替代品', 'preset_expires' => '預設到期日', 'preview' => '預覽', -'preview_converters' => '', -'preview_images' => '', -'preview_markdown' => '', -'preview_pdf' => '', -'preview_plain' => '', -'previous_state' => '', +'preview_converters' => '預覽文件轉換', +'preview_images' => '預覽圖像', +'preview_markdown' => 'Markdown', +'preview_pdf' => '預覽為PDF', +'preview_plain' => '文本', +'previous_state' => '先前狀態', 'previous_versions' => '先前版本', -'process' => '', +'process' => '處理', 'process_without_user_group' => '程序缺少使用者/群組', 'pt_BR' => '葡萄牙語', 'quota' => '配額', -'quota_exceeded' => '', -'quota_is_disabled' => '', -'quota_warning' => '', -'receipts_accepted' => '', -'receipts_accepted_latest' => '', -'receipts_not_touched' => '', -'receipts_not_touched_latest' => '', -'receipts_rejected' => '', -'receipts_rejected_latest' => '', -'receipts_without_group' => '', -'receipts_without_user' => '', -'receipt_deletion_email_body' => '', -'receipt_deletion_email_subject' => '', -'receipt_log' => '', -'receipt_request_email_body' => '', -'receipt_request_email_subject' => '', -'receipt_status' => '', -'receipt_summary' => '', -'receipt_update_failed' => '', +'quota_exceeded' => '您的磁盤配額超出了[bytes]。', +'quota_is_disabled' => '當前在設置中禁用了配額支持。除非再次啟用,否則設置使用者配額將無效。', +'quota_warning' => '您的最大光盤使用量超出了[bytes]。請刪除文檔或以前的版本。', +'receipts_accepted' => '[no_receipts]張收據已被接受', +'receipts_accepted_latest' => '(最新版本為[no_receipts])', +'receipts_not_touched' => '[no_receipts]收據未觸及', +'receipts_not_touched_latest' => '(最新版本為[no_receipts])', +'receipts_rejected' => '[no_receipts]條收據已被拒絕', +'receipts_rejected_latest' => '(最新版本為[no_receipts])', +'receipts_without_group' => '無組收據', +'receipts_without_user' => '沒有使用者的收據', +'receipt_deletion_email_body' => '使用者已從收件人列表中刪除 +文件:[name] +版本:[version] +父文件夾:[folder_path] +收件人:[recipient] +使用者:[username] +網址:[url]', +'receipt_deletion_email_subject' => '[sitename]: [name] - 收件人已刪除', +'receipt_log' => '接待記錄', +'receipt_request_email_body' => '接待要求 +文件:[name] +版本:[version] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'receipt_request_email_subject' => '[sitename]: [name] - 接待要求', +'receipt_status' => '狀態', +'receipt_summary' => '收據摘要', +'receipt_update_failed' => '確認接收失敗', 'recent_uploads' => '最近上傳', -'reception' => '', -'reception_acknowleged' => '', -'reception_noaction' => '', -'reception_rejected' => '', -'recipients' => '', -'recipient_already_removed' => '', -'redraw' => '', +'reception' => '接待處', +'reception_acknowleged' => '接待確認', +'reception_noaction' => '沒有行動', +'reception_rejected' => '接待被拒絕', +'recipients' => '收件者', +'recipient_already_removed' => '收件人已被刪除或已知為收件人。', +'redraw' => '重畫', 'refresh' => '重新整理', 'rejected' => '拒絕', 'released' => '發佈', 'removed_approver' => '已經從審核人名單中刪除', 'removed_file_email' => '刪除附件', -'removed_file_email_body' => '', -'removed_file_email_subject' => '', -'removed_recipient' => '', +'removed_file_email_body' => '移除了附件 +文件:[document] +使用者:[username] +網址:[url]', +'removed_file_email_subject' => '[sitename]: [document] - 移除了附件', +'removed_recipient' => '已從收件人列表中刪除。', 'removed_reviewer' => '已經從校對人名單中刪除', -'removed_revisor' => '', -'removed_workflow_email_body' => '', -'removed_workflow_email_subject' => '', -'removeFolderFromDropFolder' => '', +'removed_revisor' => '已從修訂者列表中刪除。', +'removed_workflow_email_body' => '從文檔版本中刪除了工作流程 +文件:[name] +版本:[version] +工作流程:[workflow] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'removed_workflow_email_subject' => '[sitename]: [name] - 從文檔版本中刪除了工作流程', +'removeFolderFromDropFolder' => '導入後刪除文件夾', 'remove_marked_files' => '刪除勾選的檔案', -'repaired' => '', -'repairing_objects' => '', -'request_workflow_action_email_body' => '', -'request_workflow_action_email_subject' => '', -'reset_checkout' => '', -'restrict_access' => '', +'repaired' => '修復', +'repairing_objects' => '修復文檔和文件夾。', +'request_workflow_action_email_body' => '工作流程已達到需要您採取措施的狀態。 +文件:[name] +版本:[version] +工作流程:[workflow] +當前狀態:[current_state] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'request_workflow_action_email_subject' => '[sitename]: [name] - 需要採取的工作流程措施', +'reset_checkout' => '完成簽出', +'restrict_access' => '無法訪問', 'results_page' => '結果頁面', -'return_from_subworkflow' => '', -'return_from_subworkflow_email_body' => '', -'return_from_subworkflow_email_subject' => '', -'reverse_links' => '', +'return_from_subworkflow' => '返回子流程', +'return_from_subworkflow_email_body' => '從子工作流返回 +文件:[name] +版本:[version] +工作流程:[workflow] +子工作流程:[subworkflow] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'return_from_subworkflow_email_subject' => '[sitename]: [name] - 返回子流程', +'reverse_links' => '文檔,具有指向當前文檔的鏈接', 'reviewers' => '校對人', 'reviewer_already_assigned' => '已經被指派為校對人', 'reviewer_already_removed' => '已經從校對佇列中刪除或者已經提交校對', -'reviews_accepted' => '', -'reviews_accepted_latest' => '', -'reviews_not_touched' => '', -'reviews_not_touched_latest' => '', -'reviews_rejected' => '', -'reviews_rejected_latest' => '', -'reviews_without_group' => '', -'reviews_without_user' => '', +'reviews_accepted' => '[no_reviews]條評論已被接受', +'reviews_accepted_latest' => '(最新版本為[no_reviews])', +'reviews_not_touched' => '[no_reviews]條評論未觸及', +'reviews_not_touched_latest' => '(最新版本為[no_reviews])', +'reviews_rejected' => '[no_reviews]條評論已被拒絕', +'reviews_rejected_latest' => '(最新版本為[no_reviews])', +'reviews_without_group' => '群組沒有校對', +'reviews_without_user' => '使用者沒有校對', 'review_deletion_email' => '校對請求被刪除', -'review_deletion_email_body' => '', -'review_deletion_email_subject' => '', -'review_file' => '', +'review_deletion_email_body' => '審核請求已刪除 +文件:[name] +版本:[version] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'review_deletion_email_subject' => '[sitename]: [name] - 審核請求已刪除', +'review_file' => '檔案', 'review_group' => '校對組', 'review_log' => '檢閱紀錄', 'review_request_email' => '校對請求', -'review_request_email_body' => '', -'review_request_email_subject' => '', +'review_request_email_body' => '審查要求 +文件:[name] +版本:[version] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'review_request_email_subject' => '[sitename]: [name] - 審查要求', 'review_status' => '校對狀態', 'review_submit_email' => '提交校對', -'review_submit_email_body' => '', -'review_submit_email_subject' => '', +'review_submit_email_body' => '提交評論 +文件:[name] +版本:[version] +狀態:[status] +評論:[comment] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'review_submit_email_subject' => '[sitename]: [name] - 提交評論', 'review_summary' => '校對匯總', 'review_update_failed' => '錯誤 更新校對狀態.更新失敗', -'revise_document' => '', -'revise_document_on' => '', -'revisions_accepted' => '', -'revisions_accepted_latest' => '', -'revisions_not_touched' => '', -'revisions_not_touched_latest' => '', -'revisions_pending' => '', -'revisions_pending_latest' => '', -'revisions_rejected' => '', -'revisions_rejected_latest' => '', -'revisions_without_group' => '', -'revisions_without_user' => '', -'revision_date' => '', -'revision_log' => '', -'revision_request_email_body' => '', -'revision_request_email_subject' => '', -'revision_status' => '', +'revise_document' => '修改文件', +'revise_document_on' => '[date]文檔版本的下一修訂版', +'revisions_accepted' => '[no_revisions]個修訂已被接受', +'revisions_accepted_latest' => '(最新版本為[no_revisions])', +'revisions_not_touched' => '[no_revisions]修訂未涉及', +'revisions_not_touched_latest' => '(最新版本為[no_revisions])', +'revisions_pending' => '[no_revisions]個修訂版本將在將來發布', +'revisions_pending_latest' => '(最新版本為[no_revisions])', +'revisions_rejected' => '[no_revisions]個修訂已被拒絕', +'revisions_rejected_latest' => '(最新版本為[no_revisions])', +'revisions_without_group' => '沒有組的修訂', +'revisions_without_user' => '沒有使用者的修訂', +'revision_date' => '修訂日期', +'revision_log' => '修訂日誌', +'revision_request_email_body' => '修訂要求 +文件:[name] +版本:[version] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'revision_request_email_subject' => '[sitename]: [name] - 修訂要求', +'revision_status' => '狀態', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', -'revision_summary' => '', -'revisors' => '', -'revisor_already_assigned' => '', -'revisor_already_removed' => '', -'rewind_workflow' => '', -'rewind_workflow_email_body' => '', -'rewind_workflow_email_subject' => '', -'rewind_workflow_warning' => '', -'rm_attrdef' => '', -'rm_attrdefgroup' => '', -'rm_attr_value' => '', +'revision_summary' => '修訂摘要', +'revisors' => '修訂者', +'revisor_already_assigned' => '使用者已被分配為修訂者。', +'revisor_already_removed' => '修訂程序已經從修訂過程中刪除或已經修訂了文檔。', +'rewind_workflow' => '倒帶工作流程', +'rewind_workflow_email_body' => '工作流程已倒帶 +文件:[name] +版本:[version] +工作流程:[workflow] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'rewind_workflow_email_subject' => '[sitename]: [name] - 工作流程已倒帶', +'rewind_workflow_warning' => '如果將工作流程倒回其初始狀態,則該文檔的整個工作流程日誌將被刪除並且無法恢復。', +'rm_attrdef' => '刪除屬性定義', +'rm_attrdefgroup' => '刪除該屬性組', +'rm_attr_value' => '刪除值', 'rm_default_keyword_category' => '刪除類別', -'rm_document' => '刪除文檔', +'rm_document' => '刪除文件', 'rm_document_category' => '刪除分類', -'rm_event' => '', +'rm_event' => '刪除事件', 'rm_file' => '刪除檔', 'rm_folder' => '刪除資料夾', -'rm_from_clipboard' => '', +'rm_from_clipboard' => '從剪貼板中刪除', 'rm_group' => '刪除該組', -'rm_role' => '', -'rm_transmittal' => '', -'rm_transmittalitem' => '', -'rm_user' => '刪除該用戶', -'rm_user_from_processes' => '', +'rm_role' => '刪除這個角色', +'rm_transmittal' => '刪除傳送', +'rm_transmittalitem' => '移除項目', +'rm_user' => '刪除該使用者', +'rm_user_from_processes' => '從流程中刪除使用者', 'rm_version' => '刪除該版本', -'rm_workflow' => '', -'rm_workflow_action' => '', -'rm_workflow_state' => '', -'rm_workflow_warning' => '', +'rm_workflow' => '刪除流程', +'rm_workflow_action' => '刪除工作流程動作', +'rm_workflow_state' => '刪除工作流程狀態', +'rm_workflow_warning' => '您將要從文檔中刪除工作流程。這不能被撤消。', 'role' => '角色', 'role_admin' => '管理員', 'role_guest' => '來賓', -'role_info' => '', -'role_management' => '', -'role_name' => '', -'role_type' => '', -'role_user' => '用戶', +'role_info' => '資訊', +'role_management' => '角色管理', +'role_name' => '名字', +'role_type' => '角色類型', +'role_user' => '使用者', 'ro_RO' => '羅馬尼亞文', -'run_subworkflow' => '', -'run_subworkflow_email_body' => '', -'run_subworkflow_email_subject' => '', +'run_subworkflow' => '跑子流程', +'run_subworkflow_email_body' => '子工作流程已啟動 +文件:[name] +版本:[version] +工作流程:[workflow] +子工作流程:[subworkflow] +父文件夾:[folder_path] +使用者:[username] +網址:[url]', +'run_subworkflow_email_subject' => '[sitename]: [name] - 子流程啟動', 'ru_RU' => '俄語', 'saturday' => 'Saturday', -'saturday_abbr' => '', +'saturday_abbr' => 'Sa', 'save' => '保存', -'scheduler_class' => '', -'scheduler_class_description' => '', -'scheduler_class_parameter' => '', -'scheduler_class_tasks' => '', -'scheduler_task_mgr' => '', +'scheduler_class' => '類別', +'scheduler_class_description' => '描述', +'scheduler_class_parameter' => '參數', +'scheduler_class_tasks' => '類別的工作', +'scheduler_task_mgr' => '排程', 'search' => '搜索', -'search_fulltext' => '', +'search_fulltext' => '全文檢索', 'search_in' => '搜索於', 'search_mode_and' => '與模式', -'search_mode_documents' => '', -'search_mode_folders' => '', +'search_mode_documents' => '只文件', +'search_mode_folders' => '只資料夾', 'search_mode_or' => '或模式', -'search_no_results' => '沒有找到與您搜索添加相匹配的檔', +'search_no_results' => '沒有找到與您搜索新增相匹配的檔', 'search_query' => '搜索', -'search_report' => '找到 [count] 個文檔', -'search_report_fulltext' => '', +'search_report' => '找到 [doccount] 個文件和 [foldercount] 個目錄。耗時: [searchtime] 秒。', +'search_report_fulltext' => '找到 [doccount] 個文件', 'search_resultmode' => '搜尋結果', -'search_resultmode_both' => '', +'search_resultmode_both' => '文件和資料夾', 'search_results' => '搜索結果', -'search_results_access_filtered' => '搜索到得結果中可能包含受限訪問的文檔', +'search_results_access_filtered' => '搜索到得結果中可能包含受限訪問的文件', 'search_time' => '耗時:[time]秒', -'seconds' => '', +'seconds' => '秒', 'selection' => '選擇', -'select_attrdefgrp_show' => '', -'select_attribute_value' => '', +'select_attrdefgrp_show' => '選擇當展示時', +'select_attribute_value' => '選擇屬性值', 'select_category' => '選中分類', -'select_group' => '', +'select_group' => '選擇群', 'select_groups' => '點擊選擇組', 'select_grp_approvers' => '請點選審核人員群組', -'select_grp_ind_approvers' => '', -'select_grp_ind_notification' => '', -'select_grp_ind_recipients' => '', -'select_grp_ind_reviewers' => '', -'select_grp_ind_revisors' => '', -'select_grp_notification' => '', -'select_grp_recipients' => '', +'select_grp_ind_approvers' => '點擊選擇群組', +'select_grp_ind_notification' => '點擊選擇群組', +'select_grp_ind_recipients' => '點擊選擇群組', +'select_grp_ind_reviewers' => '點擊選擇群組', +'select_grp_ind_revisors' => '點擊選擇群組', +'select_grp_notification' => '單擊以選擇組通知', +'select_grp_recipients' => '單擊以選中收件人組', 'select_grp_reviewers' => '請點選校對人員群組', -'select_grp_revisors' => '', +'select_grp_revisors' => '單擊以選中修訂者組', 'select_ind_approvers' => '請點選單一的審核人', -'select_ind_notification' => '', -'select_ind_recipients' => '', +'select_ind_notification' => '單擊以選擇單個通知', +'select_ind_recipients' => '單擊以選擇單個收件人', 'select_ind_reviewers' => '請點選單一的校對人', -'select_ind_revisors' => '', +'select_ind_revisors' => '單擊以選中單個修訂者', 'select_one' => '選擇一個', -'select_user' => '', -'select_users' => '點擊選擇用戶', +'select_user' => '選擇使用者', +'select_users' => '點擊選擇使用者', 'select_value' => '選取值', -'select_workflow' => '', -'send_email' => '', -'send_login_data' => '', -'send_login_data_body' => '', -'send_login_data_subject' => '', -'send_test_mail' => '', +'select_workflow' => '選擇工作流程', +'send_email' => '寄送信件', +'send_login_data' => '寄送登入資料', +'send_login_data_body' => '登錄數據 + +登錄:[login] +名稱:[username] + +[comment]', +'send_login_data_subject' => '[sitename]: [login] - 您的登入資料', +'send_test_mail' => '寄送測試信件', 'september' => '九 月', 'sequence' => '次序', 'seq_after' => '在"[prevname]"之後', 'seq_end' => '末尾', 'seq_keep' => '當前', 'seq_start' => '首位', -'sessions' => '', -'setDateFromFile' => '', -'setDateFromFolder' => '', +'sessions' => '在線用戶', +'setDateFromFile' => '從導入的文件接管日期', +'setDateFromFolder' => '從導入的文件夾接管日期', 'settings' => '設置', -'settings_activate_module' => '', -'settings_activate_php_extension' => '', -'settings_adminIP' => '', -'settings_adminIP_desc' => '', +'settings_activate_module' => '激活模塊', +'settings_activate_php_extension' => '激活PHP擴展', +'settings_adminIP' => 'Admin IP', +'settings_adminIP_desc' => '如果設置,則管理員只能通過指定的IP地址登錄。留空以免失去訪問權限。注意:僅適用於本地身份驗證(無LDAP)', 'settings_Advanced' => '進階', -'settings_advancedAcl' => '', -'settings_advancedAcl_desc' => '', -'settings_allowChangeRevAppInProcess' => '', -'settings_allowChangeRevAppInProcess_desc' => '', -'settings_allowReviewerOnly' => '', -'settings_allowReviewerOnly_desc' => '', -'settings_apache_mod_rewrite' => '', -'settings_Authentication' => '', -'settings_autoLoginUser' => '', -'settings_autoLoginUser_desc' => '', -'settings_available_languages' => '', -'settings_available_languages_desc' => '', -'settings_backupDir' => '', -'settings_backupDir_desc' => '', -'settings_cacheDir' => '', -'settings_cacheDir_desc' => '', -'settings_Calendar' => '', -'settings_calendarDefaultView' => '', -'settings_calendarDefaultView_desc' => '', -'settings_cannot_disable' => '', -'settings_checkOutDir' => '', -'settings_checkOutDir_desc' => '', -'settings_cmdTimeout' => '', -'settings_cmdTimeout_desc' => '', -'settings_contentDir' => '', -'settings_contentDir_desc' => '', +'settings_advancedAcl' => '進階存取控制', +'settings_advancedAcl_desc' => '高級訪問控制將允許打開/關閉軟件的某些模塊。它不能用於文檔和文件夾的訪問權限。', +'settings_allowChangeRevAppInProcess' => '流程開始後允許更改審閱者/批准者', +'settings_allowChangeRevAppInProcess_desc' => '默認情況下,一旦提交了審核或批准,就不能再更改審核者和批准者。只要未發布或拒絕文檔,此選項將允許管理員執行此操作。', +'settings_allowReviewerOnly' => '只允許設置審閱者', +'settings_allowReviewerOnly_desc' => '如果允許在傳統的工作流程模式下僅設置審閱者而不設置批准者,則啟用此功能。', +'settings_apache_mod_rewrite' => 'Apache - Module Rewrite', +'settings_Authentication' => '認證設定', +'settings_autoLoginUser' => '自動登入', +'settings_autoLoginUser_desc' => '如果用戶尚未登錄,請使用此用戶ID進行訪問。這種訪問不會創建會話。', +'settings_available_languages' => '可使用的語言', +'settings_available_languages_desc' => '僅所選語言會被加載並顯示在語言選擇器中。默認語言將始終被加載。', +'settings_backupDir' => '備份目錄', +'settings_backupDir_desc' => '備份工具保存備份的目錄。如果未設置此目錄或無法訪問該目錄,則備份將保存在內容目錄中。', +'settings_cacheDir' => '緩存目錄', +'settings_cacheDir_desc' => '預覽圖像的存儲位置(最好選擇無法通過Web服務器訪問的目錄)', +'settings_Calendar' => '日曆設定', +'settings_calendarDefaultView' => '預設月曆檢視', +'settings_calendarDefaultView_desc' => '預設月曆檢視', +'settings_cannot_disable' => '無法刪除文件ENABLE_INSTALL_TOOL', +'settings_checkOutDir' => '簽出文件目錄', +'settings_checkOutDir_desc' => '如果檢出該文件,則在此目錄中復製文件的最新內容。如果您使用戶可以訪問此目錄,則他們可以編輯文件並在完成後將其重新簽入。', +'settings_cmdTimeout' => '外部命令超時', +'settings_cmdTimeout_desc' => '此持續時間(以秒為單位)確定何時終止外部命令(例如,用於創建全文本索引)。', +'settings_contentDir' => '內容目錄', +'settings_contentDir_desc' => '上載文件的存儲位置(最好選擇無法通過Web服務器訪問的目錄)', 'settings_contentOffsetDir' => '內容偏移目錄', 'settings_contentOffsetDir_desc' => '要解決在底層檔案系統的限制,一個新的目錄結構已制定了內容目錄(內容目錄)中存在的。這需要從它開始一個基本目錄。通常離開這個為默認設置,1048576,也可以是內(內容目錄)不存在任何數位或字串', -'settings_convertToPdf' => '', -'settings_convertToPdf_desc' => '', -'settings_cookieLifetime' => '', -'settings_cookieLifetime_desc' => '', -'settings_coreDir' => 'KME文檔系統核心目錄', -'settings_coreDir_desc' => '', -'settings_createCheckOutDir' => '', -'settings_createCheckOutDir_desc' => '', -'settings_createdatabase' => '', -'settings_createdirectory' => '', -'settings_currentvalue' => '', -'settings_Database' => '', -'settings_dbDatabase' => '', -'settings_dbDatabase_desc' => '', -'settings_dbDriver' => '', -'settings_dbDriver_desc' => '', -'settings_dbHostname' => '', -'settings_dbHostname_desc' => '', -'settings_dbPass' => '', -'settings_dbPass_desc' => '', -'settings_dbUser' => '', -'settings_dbUser_desc' => '', -'settings_dbVersion' => '', -'settings_defaultAccessDocs' => '', -'settings_defaultAccessDocs_desc' => '', -'settings_defaultDocPosition' => '', -'settings_defaultDocPosition_desc' => '', -'settings_defaultDocPosition_val_end' => '', -'settings_defaultDocPosition_val_start' => '', -'settings_defaultSearchMethod' => '', -'settings_defaultSearchMethod_desc' => '', -'settings_defaultSearchMethod_valdatabase' => '', -'settings_defaultSearchMethod_valfulltext' => '', -'settings_delete_install_folder' => '', -'settings_disableSelfEdit' => '', -'settings_disableSelfEdit_desc' => '', -'settings_disable_install' => '', +'settings_convertToPdf' => '將文檔轉換為PDF以進行預覽', +'settings_convertToPdf_desc' => '如果瀏覽器無法自然顯示文檔,則會顯示轉換為pdf的版本。', +'settings_cookieLifetime' => 'Cookie生存時間', +'settings_cookieLifetime_desc' => 'Cookie的生存時間(以秒為單位)。如果設置為0,則在關閉瀏覽器時將刪除cookie。', +'settings_coreDir' => 'KME文件系統核心目錄', +'settings_coreDir_desc' => 'SeedDMS_Core的路徑(可選)。如果您已將SeedDMS_Core安裝在PHP可以找到的位置,請將該字段留空。額外的PHP包含路徑', +'settings_createCheckOutDir' => '創建簽出目錄', +'settings_createCheckOutDir_desc' => '創建結帳目錄(如果不存在)', +'settings_createdatabase' => '創建數據庫表', +'settings_createdirectory' => '創建目錄', +'settings_currentvalue' => '當前值', +'settings_Database' => '資料庫設定', +'settings_dbDatabase' => '資料庫', +'settings_dbDatabase_desc' => '在安裝過程中輸入的數據庫名稱。除非必要,否則請勿編輯此字段,例如,如果數據庫已移動。', +'settings_dbDriver' => '資料庫類型', +'settings_dbDriver_desc' => '在安裝過程中輸入的正在使用的數據庫類型。除非由於主機更改而不得不遷移到其他類型的數據庫,否則不要編輯該字段。 adodb使用的DB-Driver的類型(請參閱adodb-readme)', +'settings_dbHostname' => '服務名稱', +'settings_dbHostname_desc' => '在安裝過程中輸入的數據庫主機名。除非絕對必要,否則不要編輯字段,例如,將數據庫轉移到新主機。', +'settings_dbPass' => '密碼', +'settings_dbPass_desc' => '在安裝過程中輸入的用於訪問數據庫的密碼。', +'settings_dbUser' => '使用者名稱', +'settings_dbUser_desc' => '在安裝過程中輸入的用於訪問數據庫的用戶名。除非絕對必要,否則不要編輯字段,例如,將數據庫轉移到新主機。', +'settings_dbVersion' => '數據庫架構太舊', +'settings_defaultAccessDocs' => '新文件的默認訪問權限', +'settings_defaultAccessDocs_desc' => '創建新文檔時,這將是默認的訪問權限。', +'settings_defaultDocPosition' => '創建文件時的位置', +'settings_defaultDocPosition_desc' => '這是創建文檔時文件夾中的默認位置。', +'settings_defaultDocPosition_val_end' => '結束', +'settings_defaultDocPosition_val_start' => '開始', +'settings_defaultSearchMethod' => '預設搜尋方式', +'settings_defaultSearchMethod_desc' => '默認搜索方法,當通過主菜單中的搜索表單開始搜索時。', +'settings_defaultSearchMethod_valdatabase' => '資料庫', +'settings_defaultSearchMethod_valfulltext' => '全文', +'settings_delete_install_folder' => '為了使用SeedDMS,必須在配置目錄中刪除文件ENABLE_INSTALL_TOOL', +'settings_disableSelfEdit' => '禁用自我編輯', +'settings_disableSelfEdit_desc' => '如果選中,則用戶無法編輯自己的個人資料', +'settings_disable_install' => '如果可能,刪除文件ENABLE_INSTALL_TOOL', 'settings_Display' => '顯示設定', -'settings_dropFolderDir' => '', -'settings_dropFolderDir_desc' => '', -'settings_Edition' => '', -'settings_editOnlineFileTypes' => '', -'settings_editOnlineFileTypes_desc' => '', -'settings_enable2FactorAuthentication' => '', -'settings_enable2FactorAuthentication_desc' => '', +'settings_dropFolderDir' => '存放文件夾的目錄', +'settings_dropFolderDir_desc' => '此目錄可用於將文件拖放到服務器的文件系統上並從那裡導入,而不是通過瀏覽器上傳。該目錄必須為每個被允許以這種方式導入文件的用戶包含一個子目錄。', +'settings_Edition' => '版本設置', +'settings_editOnlineFileTypes' => '編輯在線文件類型', +'settings_editOnlineFileTypes_desc' => '具有以下結尾或MIME類型之一的文件可以在線編輯(僅使用小寫字母)', +'settings_enable2FactorAuthentication' => '啟用兩因素身份驗證', +'settings_enable2FactorAuthentication_desc' => '啟用/禁用2因子身份驗證。用戶將需要在其手機上使用Google Authenticator。', 'settings_enableAcknowledgeWorkflow' => '', 'settings_enableAcknowledgeWorkflow_desc' => '', -'settings_enableAdminReceipt' => '', -'settings_enableAdminReceipt_desc' => '', -'settings_enableAdminRevApp' => '', -'settings_enableAdminRevApp_desc' => '', -'settings_enableCalendar' => '', -'settings_enableCalendar_desc' => '', -'settings_enableClipboard' => '', -'settings_enableClipboard_desc' => '', -'settings_enableConverting' => '', -'settings_enableConverting_desc' => '', -'settings_enableDebugMode' => '', -'settings_enableDebugMode_desc' => '', -'settings_enableDropFolderList' => '', -'settings_enableDropFolderList_desc' => '', -'settings_enableDropUpload' => '', -'settings_enableDropUpload_desc' => '', +'settings_enableAdminReceipt' => '允許管理員接收文件', +'settings_enableAdminReceipt_desc' => '如果希望管理員被列為文檔的收件人,請啟用此選項。', +'settings_enableAdminRevApp' => '允許管理員審核/批准', +'settings_enableAdminRevApp_desc' => '如果希望管理員被列為審閱者/批准者並進行工作流轉換,請啟用此選項。', +'settings_enableCalendar' => '啟動月曆', +'settings_enableCalendar_desc' => '啟用/禁用日曆', +'settings_enableClipboard' => '啟動剪貼簿', +'settings_enableClipboard_desc' => '在“查看文件夾”頁面上啟用/禁用剪貼簿', +'settings_enableConverting' => '啟動轉換', +'settings_enableConverting_desc' => '啟用/禁用文件轉換', +'settings_enableDebugMode' => '除錯模式', +'settings_enableDebugMode_desc' => '啟用此選項可打開調試模式,該模式將在管理工具中添加新菜單', +'settings_enableDropFolderList' => '啟用選單中放置文件夾中的文件列表', +'settings_enableDropFolderList_desc' => '打開放置文件夾中的文件列表。該列表顯示在主選單中。', +'settings_enableDropUpload' => '啟動快速上傳', +'settings_enableDropUpload_desc' => '啟用/禁用“查看文件夾”頁面上的拖放區域,以通過拖放方式上傳文件。', 'settings_enableDuplicateDocNames' => '允許重複的檔案名', -'settings_enableDuplicateDocNames_desc' => '', -'settings_enableDuplicateSubFolderNames' => '', -'settings_enableDuplicateSubFolderNames_desc' => '', -'settings_enableEmail' => '', -'settings_enableEmail_desc' => '', -'settings_enableFilterReceipt' => '', -'settings_enableFilterReceipt_desc' => '', -'settings_enableFolderTree' => '', -'settings_enableFolderTree_desc' => '', -'settings_enableFullSearch' => '', -'settings_enableFullSearch_desc' => '', -'settings_enableGuestAutoLogin' => '', -'settings_enableGuestAutoLogin_desc' => '', -'settings_enableGuestLogin' => '', -'settings_enableGuestLogin_desc' => '', -'settings_enableHelp' => '', -'settings_enableHelp_desc' => '', -'settings_enableLanguageSelector' => '', -'settings_enableLanguageSelector_desc' => '', -'settings_enableLargeFileUpload' => '', -'settings_enableLargeFileUpload_desc' => '', -'settings_enableMenuTasks' => '', -'settings_enableMenuTasks_desc' => '', -'settings_enableMultiUpload' => '', -'settings_enableMultiUpload_desc' => '', -'settings_enableNotificationAppRev' => '', -'settings_enableNotificationAppRev_desc' => '', -'settings_enableNotificationWorkflow' => '', -'settings_enableNotificationWorkflow_desc' => '', -'settings_enableOwnerNotification' => '', -'settings_enableOwnerNotification_desc' => '', -'settings_enableOwnerReceipt' => '', -'settings_enableOwnerReceipt_desc' => '', -'settings_enableOwnerRevApp' => '', -'settings_enableOwnerRevApp_desc' => '', -'settings_enablePasswordForgotten' => '', -'settings_enablePasswordForgotten_desc' => '', -'settings_enableReceiptReject' => '', -'settings_enableReceiptReject_desc' => '', -'settings_enableReceiptWorkflow' => '', -'settings_enableReceiptWorkflow_desc' => '', -'settings_enableRecursiveCount' => '', -'settings_enableRecursiveCount_desc' => '', -'settings_enableRevisionOneVoteReject' => '', -'settings_enableRevisionOneVoteReject_desc' => '', +'settings_enableDuplicateDocNames_desc' => '允許文件夾中有重複的文檔名稱。', +'settings_enableDuplicateSubFolderNames' => '允許重複的子文件夾名稱', +'settings_enableDuplicateSubFolderNames_desc' => '允許文件夾中有重複的子文件夾名稱。', +'settings_enableEmail' => '啟動 E-mail', +'settings_enableEmail_desc' => '啟用/禁用自動電子郵件通知', +'settings_enableFilterReceipt' => '從接待清單中過濾出所有者,審閱者,...', +'settings_enableFilterReceipt_desc' => '啟用,以便在選擇了組成員的情況下從接收列表中過濾掉某些收件人。', +'settings_enableFolderTree' => '啟動目錄樹', +'settings_enableFolderTree_desc' => '在“查看文件夾”頁面上啟用/禁用目錄樹', +'settings_enableFullSearch' => '啟動全文檢索', +'settings_enableFullSearch_desc' => '啟用全文搜索', +'settings_enableGuestAutoLogin' => '為訪客啟用自動登錄', +'settings_enableGuestAutoLogin_desc' => '如果啟用了訪客登錄和自動登錄,則訪客將自動登錄。', +'settings_enableGuestLogin' => '啟用訪客登錄', +'settings_enableGuestLogin_desc' => '如果您希望任何人以訪客身份登錄,請選中此選項。注意:訪客登錄僅應在受信任的環境中使用', +'settings_enableHelp' => '啟動幫助', +'settings_enableHelp_desc' => '啟用/禁用菜單中幫助屏幕的鏈接', +'settings_enableLanguageSelector' => '啟用語言選擇器', +'settings_enableLanguageSelector_desc' => '登錄後顯示用戶界面語言的選擇器。', +'settings_enableLargeFileUpload' => '啟用大文件上傳', +'settings_enableLargeFileUpload_desc' => '如果設置了該選項,則還可以通過一個名為Jumploader的Java小程序來上傳文件,而瀏覽器沒有設置文件大小限制。它還允許一步上傳幾個文件。啟用此功能將關閉僅HTTP cookie。', +'settings_enableMenuTasks' => '在菜單中啟用任務列表', +'settings_enableMenuTasks_desc' => '啟用/禁用包含用戶所有任務的菜單項。其中包含需要審查,批准等的文件。', +'settings_enableMultiUpload' => '允許上傳多個文件', +'settings_enableMultiUpload_desc' => '創建新文檔時,可以上傳多個文件。每個都將創建一個新文檔。', +'settings_enableNotificationAppRev' => '啟用審閱者/批准者通知', +'settings_enableNotificationAppRev_desc' => '新增新文檔版本時,選擇發送通知給審閱者/批准者', +'settings_enableNotificationWorkflow' => '在下一個工作流程過渡中向用戶發送通知', +'settings_enableNotificationWorkflow_desc' => '如果啟用此選項,則將通知需要在下一個工作流程轉換中執行操作的用戶和組。即使他們尚未為文檔添加通知。', +'settings_enableOwnerNotification' => '默認啟用所有者通知', +'settings_enableOwnerNotification_desc' => '如果添加了文檔,請檢查是否為所有者添加了通知。', +'settings_enableOwnerReceipt' => '允許所有者接收文件', +'settings_enableOwnerReceipt_desc' => '如果您希望將文檔所有者列為收件人,請啟用此選項。', +'settings_enableOwnerRevApp' => '允許所有者審查/批准', +'settings_enableOwnerRevApp_desc' => '如果您希望文檔的所有者被列為審閱者/批准者並進行工作流轉換,請啟用此選項。', +'settings_enablePasswordForgotten' => '啟動密碼忘記', +'settings_enablePasswordForgotten_desc' => '如果要允許用戶設置新密碼並通過郵件發送,請選中此選項。', +'settings_enableReceiptReject' => '啟用拒絕接收', +'settings_enableReceiptReject_desc' => '啟用,打開拒絕接收。', +'settings_enableReceiptWorkflow' => '啟用確認文件接收', +'settings_enableReceiptWorkflow_desc' => '啟用,打開工作流程以確認文檔接收。', +'settings_enableRecursiveCount' => '啟用遞歸文檔/文件夾計數', +'settings_enableRecursiveCount_desc' => '如果啟用,將通過遞歸處理文件夾併計數允許用戶訪問的那些文件和文件夾來計算所有對象,從而確定文件夾視圖中的文件和文件夾的數量。', +'settings_enableRevisionOneVoteReject' => '被一名審查員拒絕', +'settings_enableRevisionOneVoteReject_desc' => '如果啟用,則在第一個修訂者拒絕文檔後,文檔狀態將設置為“需要更正”。如果禁用,則在所有修訂者完成修訂之前,文檔狀態不會更改。', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', -'settings_enableRevisionWorkflow' => '', -'settings_enableRevisionWorkflow_desc' => '', -'settings_enableSelfReceipt' => '', -'settings_enableSelfReceipt_desc' => '', -'settings_enableSelfRevApp' => '', -'settings_enableSelfRevApp_desc' => '', -'settings_enableSessionList' => '', -'settings_enableSessionList_desc' => '', -'settings_enableThemeSelector' => '', -'settings_enableThemeSelector_desc' => '', -'settings_enableUpdateReceipt' => '', -'settings_enableUpdateReceipt_desc' => '', -'settings_enableUpdateRevApp' => '', -'settings_enableUpdateRevApp_desc' => '', -'settings_enableUserImage' => '', -'settings_enableUserImage_desc' => '', -'settings_enableUsersView' => '', -'settings_enableUsersView_desc' => '', -'settings_enableVersionDeletion' => '', -'settings_enableVersionDeletion_desc' => '', -'settings_enableVersionModification' => '', -'settings_enableVersionModification_desc' => '', -'settings_enableWebdavReplaceDoc' => '', -'settings_enableWebdavReplaceDoc_desc' => '', -'settings_enableXsendfile' => '', -'settings_enableXsendfile_desc' => '', -'settings_encryptionKey' => '', -'settings_encryptionKey_desc' => '', -'settings_error' => '', -'settings_expandFolderTree' => '', -'settings_expandFolderTree_desc' => '', -'settings_expandFolderTree_val0' => '', -'settings_expandFolderTree_val1' => '', -'settings_expandFolderTree_val2' => '', +'settings_enableRevisionWorkflow' => '啟用文件修訂', +'settings_enableRevisionWorkflow_desc' => '啟用,以便能夠在給定時間段後運行工作流程以修改文檔。', +'settings_enableSelfReceipt' => '允許接收已登錄用戶的文檔', +'settings_enableSelfReceipt_desc' => '如果希望將當前登錄的用戶列為文檔的收件人,請啟用此選項。', +'settings_enableSelfRevApp' => '允許對登錄用戶進行審核/批准', +'settings_enableSelfRevApp_desc' => '如果要將當前登錄的用戶列為審閱者/批准者並進行工作流轉換,請啟用此選項。', +'settings_enableSessionList' => '在菜單中啟用在線用戶列表', +'settings_enableSessionList_desc' => '在菜單中啟用當前登錄用戶的列表。', +'settings_enableThemeSelector' => '主題選擇', +'settings_enableThemeSelector_desc' => '打開/關閉登錄頁面上的主題選擇器。', +'settings_enableUpdateReceipt' => '允許編輯現有接收', +'settings_enableUpdateReceipt_desc' => '如果進行接收的用戶可能會更改決定,請啟用此功能。', +'settings_enableUpdateRevApp' => '允許編輯現有的審核/批准', +'settings_enableUpdateRevApp_desc' => '如果進行了審核/批准的用戶可以更改決策,只要當前工作流程步驟尚未完成,請啟用此功能。', +'settings_enableUserImage' => '啟用使用者圖像', +'settings_enableUserImage_desc' => '啟用使用者圖像', +'settings_enableUsersView' => '啟用使用者視圖', +'settings_enableUsersView_desc' => '為所有用戶啟用/禁用組和用戶視圖', +'settings_enableVersionDeletion' => '啟用刪除以前的版本', +'settings_enableVersionDeletion_desc' => '啟用/禁用普通用戶刪除以前的文檔版本。管理員可能總是刪除舊版本。', +'settings_enableVersionModification' => '啟用版本修改', +'settings_enableVersionModification_desc' => '上載版本後,由普通用戶啟用/禁用對文檔版本的修改。管理員可以在上傳後隨時修改版本。', +'settings_enableWebdavReplaceDoc' => '保存時替換文件', +'settings_enableWebdavReplaceDoc_desc' => '如果啟用,則保存文檔的新版本將替換舊文檔,而不是創建新版本。僅當用戶,mimetype和文件名等於上一個版本時才適用。當應用程序以固定間隔自動保存文檔時,這可能很有用。', +'settings_enableXsendfile' => '使用apache xsendfile模塊', +'settings_enableXsendfile_desc' => '如果設置了此選項並且安裝了apache模塊xsendfile,它將用於傳送映像。', +'settings_encryptionKey' => '加密金鑰', +'settings_encryptionKey_desc' => '該字符串用於創建唯一的標識符,該標識符作為隱藏字段添加到表單中,以防止CSRF攻擊。', +'settings_error' => '錯誤', +'settings_expandFolderTree' => '展開文件樹', +'settings_expandFolderTree_desc' => '展開文件樹', +'settings_expandFolderTree_val0' => '從隱藏的樹開始', +'settings_expandFolderTree_val1' => '從顯示的樹開始,展開第一級', +'settings_expandFolderTree_val2' => '從顯示完全展開的樹開始', 'settings_Extensions' => '延伸功能', 'settings_extraPath' => '額外的PHP的include路徑', 'settings_extraPath_desc' => '附加軟體的路徑。這是包含目錄,例如在ADODB目錄或額外的PEAR包', -'settings_firstDayOfWeek' => '', -'settings_firstDayOfWeek_desc' => '', +'settings_firstDayOfWeek' => '一周的第一天', +'settings_firstDayOfWeek_desc' => '一周的第一天', 'settings_footNote' => '頁尾註解', -'settings_footNote_desc' => '', -'settings_fullSearchEngine' => '', -'settings_fullSearchEngine_desc' => '', +'settings_footNote_desc' => '消息顯示在每頁底部', +'settings_fullSearchEngine' => '全文檢索引擎', +'settings_fullSearchEngine_desc' => '設置用於全文搜索的方法。', 'settings_fullSearchEngine_vallucene' => 'Zend Lucene', 'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS', -'settings_guestID' => '', -'settings_guestID_desc' => '', -'settings_httpRoot' => '', -'settings_httpRoot_desc' => '', -'settings_incItemsPerPage' => '', -'settings_incItemsPerPage_desc' => '', -'settings_initialDocumentStatus' => '', -'settings_initialDocumentStatus_desc' => '', -'settings_initialDocumentStatus_draft' => '', -'settings_initialDocumentStatus_released' => '', -'settings_installADOdb' => '', -'settings_install_disabled' => '', -'settings_install_pear_package_log' => '', -'settings_install_pear_package_webdav' => '', -'settings_install_success' => '', -'settings_install_welcome_text' => '', -'settings_install_welcome_title' => '', -'settings_install_zendframework' => '', -'settings_language' => '', -'settings_language_desc' => '', -'settings_libraryFolder' => '', -'settings_libraryFolder_desc' => '', -'settings_logFileEnable' => '', -'settings_logFileEnable_desc' => '', -'settings_logFileRotation' => '', -'settings_logFileRotation_desc' => '', -'settings_loginFailure' => '', -'settings_loginFailure_desc' => '', +'settings_guestID' => 'Guest ID', +'settings_guestID_desc' => '以訪客身份登錄時使用的訪客用戶ID(通常無需更改)', +'settings_httpRoot' => 'Http Root', +'settings_httpRoot_desc' => 'URL中的相對路徑,在域部分之後。不要包含http://前綴或Web主機名。例如如果完整的URL是http://www.example.com/seeddms/,則設置\'/ seeddms / \'。如果網址為http://www.example.com/,則設置\'/ \'', +'settings_incItemsPerPage' => '頁面末加載的條目數', +'settings_incItemsPerPage_desc' => '如果文件夾和文檔的數量受到限制,則當向下滾動到視圖文件夾頁面的底部時,這將設置額外加載的對象的數量。將此設置為0,將加載與最初加載的對像數量相同的對象。', +'settings_initialDocumentStatus' => '初始文件狀態', +'settings_initialDocumentStatus_desc' => '添加文檔時將設置此狀態。', +'settings_initialDocumentStatus_draft' => '草案', +'settings_initialDocumentStatus_released' => '已發布', +'settings_installADOdb' => '安裝 ADOdb', +'settings_install_disabled' => '文件ENABLE_INSTALL_TOOL已刪除。現在,您可以登錄SeedDMS並進行進一步的配置。', +'settings_install_pear_package_log' => '安裝Pear軟件包\'Log \'', +'settings_install_pear_package_webdav' => '如果您打算使用webdav界面,請安裝Pear包\'HTTP_WebDAV_Server \'', +'settings_install_success' => '安裝已成功完成。', +'settings_install_welcome_text' => '

開始安裝SeedDMS之前,請確保已在配置目錄中創建文件\'ENABLE_INSTALL_TOOL ,否則安裝將無法進行。在Unix系統上,可以使用\'touch conf / ENABLE_INSTALL_TOOL \'輕鬆完成。安裝完成後,刪除文件。

SeedDMS的要求非常低。您將需要mysql數據庫或sqlite支持以及啟用了php的Web服務器。梨包Log也必須安裝。對於lucene全文搜索,您還需要將Zend框架安裝在光盤上,而php可以找到它。對於WebDAV服務器,您還將需要HTTP_WebDAV_Server。以後可以在安裝過程中設置它的路徑。

如果您想在開始安裝之前創建數據庫,則只需使用自己喜歡的工具手動創建它,或者創建一個具有數據庫訪問權限的數據庫用戶並在配置目錄中導入數據庫轉儲之一。安裝腳本也可以為您執行此操作,但是需要具有足夠權限的數據庫訪問權限才能創建數據庫。', +'settings_install_welcome_title' => '歡迎安裝SeedDMS', +'settings_install_zendframework' => '如果您打算使用基於zend的全文本搜索引擎,請安裝Zend Framework。否則,請忽略此消息並繼續安裝。', +'settings_language' => '預設的語系', +'settings_language_desc' => '默認語言(“語言”文件夾中子文件夾的名稱)', +'settings_libraryFolder' => '函式庫目錄', +'settings_libraryFolder_desc' => '可以在其中復製文檔以創建新文檔的文件夾。', +'settings_logFileEnable' => '日誌文件啟用', +'settings_logFileEnable_desc' => '啟用/禁用日誌文件', +'settings_logFileRotation' => '日誌文件輪換', +'settings_logFileRotation_desc' => '日誌文件輪換', +'settings_loginFailure' => '登錄失敗', +'settings_loginFailure_desc' => 'n次登錄失敗後禁用帳戶。', 'settings_luceneClassDir' => 'Lucene的SeedDMS目錄', -'settings_luceneClassDir_desc' => '', -'settings_luceneDir' => '', -'settings_luceneDir_desc' => '', +'settings_luceneClassDir_desc' => 'SeedDMS_Lucene的路徑(可選)。如果您已在PHP可以找到SeedDMS_Lucene的位置安裝了該字段,請將該字段留空。額外的PHP包含路徑', +'settings_luceneDir' => '全文索引目錄', +'settings_luceneDir_desc' => 'Lucene索引的路徑', 'settings_maxDirID' => '最大目錄編號', 'settings_maxDirID_desc' => '每個父目錄的子目錄的最大數目。預設值:0。', 'settings_maxExecutionTime' => '最大執行時間(秒)', 'settings_maxExecutionTime_desc' => '此設置最長時間,以秒為腳本允許運行之前它是由解析終止', -'settings_maxItemsPerPage' => '', -'settings_maxItemsPerPage_desc' => '', -'settings_maxRecursiveCount' => '', -'settings_maxRecursiveCount_desc' => '', -'settings_maxSizeForFullText' => '', -'settings_maxSizeForFullText_desc' => '', -'settings_maxUploadSize' => '', -'settings_maxUploadSize_desc' => '', -'settings_more_settings' => '', -'settings_noDocumentFormFields' => '', -'settings_noDocumentFormFields_desc' => '', -'settings_notfound' => '', +'settings_maxItemsPerPage' => '最高頁面上的條目數', +'settings_maxItemsPerPage_desc' => '限制查看文件夾頁面上顯示的文件夾和文檔的數量。滾動到頁面末尾時,將加載更多對象。設置為0總是顯示所有對象。', +'settings_maxRecursiveCount' => '最高遞歸文檔/文件夾數', +'settings_maxRecursiveCount_desc' => '這是遞歸計數對象時將檢查其訪問權限的最大文檔或文件夾數。如果超過此數量,則將估算文件夾視圖中的文檔和文件夾數量。', +'settings_maxSizeForFullText' => '即時索引的最大文件大小', +'settings_maxSizeForFullText_desc' => '上傳後,所有小於配置大小的新文檔版本都會被完全索引。在所有其他情況下,僅元數據將被索引。', +'settings_maxUploadSize' => '上載文件的最大大小', +'settings_maxUploadSize_desc' => '這是上傳文件的最大大小。這將對文檔版本和附件產生影響。', +'settings_more_settings' => '配置更多設置。默認登錄名:admin / admin', +'settings_noDocumentFormFields' => '不顯示此字段', +'settings_noDocumentFormFields_desc' => '添加或編輯文檔時不會顯示此字段。現有值將保留。', +'settings_notfound' => '找不到', 'settings_Notification' => '通知設置', -'settings_notwritable' => '', -'settings_no_content_dir' => '', -'settings_onePageMode' => '', -'settings_onePageMode_desc' => '', -'settings_overrideMimeType' => '', -'settings_overrideMimeType_desc' => '', -'settings_partitionSize' => '', -'settings_partitionSize_desc' => '', -'settings_passwordExpiration' => '', -'settings_passwordExpiration_desc' => '', -'settings_passwordHistory' => '', -'settings_passwordHistory_desc' => '', -'settings_passwordStrength' => '', -'settings_passwordStrengthAlgorithm' => '', -'settings_passwordStrengthAlgorithm_desc' => '', -'settings_passwordStrengthAlgorithm_valadvanced' => '', -'settings_passwordStrengthAlgorithm_valsimple' => '', -'settings_passwordStrength_desc' => '', -'settings_pear_log' => '', -'settings_pear_webdav' => '', -'settings_perms' => '', -'settings_php_dbDriver' => '', -'settings_php_gd2' => '', -'settings_php_mbstring' => '', -'settings_php_version' => '', -'settings_presetExpirationDate' => '', -'settings_presetExpirationDate_desc' => '', -'settings_previewWidthDetail' => '', -'settings_previewWidthDetail_desc' => '', -'settings_previewWidthDropFolderList' => '', -'settings_previewWidthDropFolderList_desc' => '', -'settings_previewWidthList' => '', -'settings_previewWidthList_desc' => '', -'settings_previewWidthMenuList' => '', -'settings_previewWidthMenuList_desc' => '', -'settings_printDisclaimer' => '', -'settings_printDisclaimer_desc' => '', -'settings_proxyUPassword' => '', -'settings_proxyUPassword_desc' => '', -'settings_proxyUrl' => '', -'settings_proxyUrl_desc' => '', -'settings_proxyUser' => '', -'settings_proxyUser_desc' => '', -'settings_quota' => '', -'settings_quota_desc' => '', -'settings_removeFromDropFolder' => '', -'settings_removeFromDropFolder_desc' => '', -'settings_repositoryUrl' => '', -'settings_repositoryUrl_desc' => '', -'settings_restricted' => '', -'settings_restricted_desc' => '', -'settings_rootDir' => '', -'settings_rootDir_desc' => '', -'settings_rootFolderID' => '', -'settings_rootFolderID_desc' => '', -'settings_SaveError' => '', -'settings_Server' => '', -'settings_showFullPreview' => '', -'settings_showFullPreview_desc' => '', -'settings_showMissingTranslations' => '', -'settings_showMissingTranslations_desc' => '', -'settings_showSingleSearchHit' => '', -'settings_showSingleSearchHit_desc' => '', +'settings_notwritable' => '由於配置文件不可寫,因此無法保存配置。', +'settings_no_content_dir' => '內容目錄', +'settings_onePageMode' => '單一頁面模式', +'settings_onePageMode_desc' => '單一頁面模式將打開ViewFolder頁面上的javascript代碼,當單擊文件夾或更改排序參數時,該代碼將更新文件夾/文檔列表,導航等。', +'settings_overrideMimeType' => '覆蓋MimeType', +'settings_overrideMimeType_desc' => '如果上傳了文件,則覆蓋瀏覽器提供的MimeType。新的MimeType由SeedDMS本身確定。', +'settings_partitionSize' => '部分文件大小', +'settings_partitionSize_desc' => '由Jumploader上傳的部分文件的大小(以字節為單位)。請勿將值設置為大於服務器設置的最大上傳大小。', +'settings_passwordExpiration' => '密碼過期', +'settings_passwordExpiration_desc' => '密碼過期的天數,必須重設。 0關閉密碼過期。', +'settings_passwordHistory' => '密碼記錄', +'settings_passwordHistory_desc' => '在可以重複使用密碼之前,用戶必須已使用的密碼數。 0關閉密碼歷史記錄。', +'settings_passwordStrength' => '最小密碼強度', +'settings_passwordStrengthAlgorithm' => '密碼強度算法', +'settings_passwordStrengthAlgorithm_desc' => '用於計算密碼強度的算法。 “簡單”算法僅檢查總共至少八個字符,一個小寫字母,一個大寫字母,一個數字和一個特殊字符。如果滿足這些條件,則返回的分數為100,否則為0。', +'settings_passwordStrengthAlgorithm_valadvanced' => '進階', +'settings_passwordStrengthAlgorithm_valsimple' => '簡易', +'settings_passwordStrength_desc' => '最小密碼強度是從0到100的整數值。將其設置為0將關閉對最小密碼強度的檢查。', +'settings_pear_log' => 'Pear package : Log', +'settings_pear_webdav' => 'Pear package : HTTP_WebDAV_Server', +'settings_perms' => '權限', +'settings_php_dbDriver' => 'PHP擴展名:php_ \'查看當前值\'', +'settings_php_gd2' => 'PHP extension : php_gd2', +'settings_php_mbstring' => 'PHP extension : php_mbstring', +'settings_php_version' => 'PHP 版本', +'settings_presetExpirationDate' => '預設到期日期', +'settings_presetExpirationDate_desc' => '所有新上傳的文檔的有效期都將設置為此值。輸入的日期可以由PHP的strtotime()函數指定,例如+5週。', +'settings_previewWidthDetail' => '預覽圖像的寬度(詳細資訊)', +'settings_previewWidthDetail_desc' => '詳細資訊頁面上顯示的預覽圖像的寬度', +'settings_previewWidthDropFolderList' => '預覽圖像的寬度(下拉列表)', +'settings_previewWidthDropFolderList_desc' => '從放置文件夾中選擇文件時,列表中顯示的預覽圖像的寬度。', +'settings_previewWidthList' => '預覽圖像的寬度(列表)', +'settings_previewWidthList_desc' => '列表中顯示的預覽圖像的寬度', +'settings_previewWidthMenuList' => '預覽圖像的寬度(菜單列表)', +'settings_previewWidthMenuList_desc' => '在放置文件夾菜單中顯示為項目的預覽圖像的寬度。', +'settings_printDisclaimer' => '印刷免責聲明', +'settings_printDisclaimer_desc' => '如果啟用,則免責聲明消息將打印在每頁底部', +'settings_proxyUPassword' => '代理密碼', +'settings_proxyUPassword_desc' => '代理驗證密碼', +'settings_proxyUrl' => '代理網址', +'settings_proxyUrl_desc' => '用於訪問擴展存儲庫的代理的URL。', +'settings_proxyUser' => '代理使用的用戶名', +'settings_proxyUser_desc' => '用於代理身份驗證的用戶名', +'settings_quota' => '用戶配額', +'settings_quota_desc' => '用戶在磁盤上可以使用的最大字節數。將此設置為0可獲得無限的磁盤空間。可以為每個用戶的個人資料覆蓋此值。', +'settings_removeFromDropFolder' => '成功上傳後從放置文件夾中刪除文件', +'settings_removeFromDropFolder_desc' => '如果成功上傳後應刪除從放置文件夾中提取的文件,請啟用此選項。', +'settings_repositoryUrl' => '數據庫的URL', +'settings_repositoryUrl_desc' => '擴展庫的URL', +'settings_restricted' => '禁止進入', +'settings_restricted_desc' => '僅當用戶在本地數據庫中有條目時才允許登錄(與LDAP成功身份驗證無關)', +'settings_rootDir' => '根目錄', +'settings_rootDir_desc' => 'SeedDMS所在的路徑', +'settings_rootFolderID' => '根文件夾ID', +'settings_rootFolderID_desc' => '根文件夾的ID(通常無需更改)', +'settings_SaveError' => '配置文件保存錯誤', +'settings_Server' => '服務器設定', +'settings_showFullPreview' => '顯示完整文件', +'settings_showFullPreview_desc' => '如果瀏覽器有能力,則在詳細資訊頁面上啟用/禁用文檔的完整預覽。', +'settings_showMissingTranslations' => '顯示缺少的翻譯', +'settings_showMissingTranslations_desc' => '在頁面底部的頁面上列出所有缺少的翻譯。登錄的用戶將能夠為缺少的翻譯提交提案,該提案將保存在csv文件中。如果在生產環境中,請勿打開此功能!', +'settings_showSingleSearchHit' => '直接跳轉到單個搜索命中', +'settings_showSingleSearchHit_desc' => '如果搜索結果僅命中一次,那麼它將立即顯示,而不是結果列表。', 'settings_Site' => '站台', 'settings_siteDefaultPage' => '網站的默認頁', -'settings_siteDefaultPage_desc' => '', +'settings_siteDefaultPage_desc' => '登錄時的默認頁面。如果為空,則默認為out / out.ViewFolder.php', 'settings_siteName' => '站台名稱', -'settings_siteName_desc' => '', +'settings_siteName_desc' => '頁面標題中使用的站點名稱。默認值:SeedDMS', 'settings_SMTP' => 'SMTP 伺服器設定', -'settings_smtpPassword' => '', -'settings_smtpPassword_desc' => '', +'settings_smtpPassword' => 'SMTP服務器密碼', +'settings_smtpPassword_desc' => 'SMTP服務器密碼', 'settings_smtpPort' => 'SMTP 伺服器埠', 'settings_smtpPort_desc' => 'SMTP 伺服器埠,默認25', 'settings_smtpSendFrom' => '發送自', 'settings_smtpSendFrom_desc' => '發送自', -'settings_smtpSendTestMail' => '', -'settings_smtpSendTestMail_desc' => '', +'settings_smtpSendTestMail' => '寄送測試信箱', +'settings_smtpSendTestMail_desc' => '發送測試郵件,以檢查當前的電子郵件配置。', 'settings_smtpServer' => 'SMTP 伺服器名稱', 'settings_smtpServer_desc' => 'SMTP 伺服器名稱', -'settings_smtpUser' => '', -'settings_smtpUser_desc' => '', -'settings_sortFoldersDefault' => '', -'settings_sortFoldersDefault_desc' => '', -'settings_sortFoldersDefault_val_name' => '按名称', -'settings_sortFoldersDefault_val_sequence' => '', +'settings_smtpUser' => 'SMTP服務器用戶', +'settings_smtpUser_desc' => 'SMTP服務器用戶', +'settings_sortFoldersDefault' => '預設排序', +'settings_sortFoldersDefault_desc' => '這將在文件夾視圖中設置文件夾和文檔的排序方法。', +'settings_sortFoldersDefault_val_name' => '按名稱', +'settings_sortFoldersDefault_val_sequence' => '按順序', 'settings_sortFoldersDefault_val_unsorted' => '不排序', -'settings_sortUsersInList' => '', -'settings_sortUsersInList_desc' => '', -'settings_sortUsersInList_val_fullname' => '', -'settings_sortUsersInList_val_login' => '', -'settings_stagingDir' => '', -'settings_stagingDir_desc' => '', -'settings_start_install' => '', -'settings_stopWordsFile' => '', -'settings_stopWordsFile_desc' => '', -'settings_strictFormCheck' => '', -'settings_strictFormCheck_desc' => '', -'settings_suggestionvalue' => '', +'settings_sortUsersInList' => '在列表中對用戶排序', +'settings_sortUsersInList_desc' => '設置選擇菜單中的用戶是按登錄名還是全名排序', +'settings_sortUsersInList_val_fullname' => '按全名排序', +'settings_sortUsersInList_val_login' => '按登錄排序', +'settings_stagingDir' => '部分上傳目錄', +'settings_stagingDir_desc' => '在目錄中,jumploader將文件上載的各個部分放回原處。', +'settings_start_install' => '開始安裝', +'settings_stopWordsFile' => '停用詞文件的路徑', +'settings_stopWordsFile_desc' => '如果啟用了全文搜索,則此文件將包含未索引的停用詞', +'settings_strictFormCheck' => '嚴格的表格檢查', +'settings_strictFormCheck_desc' => '嚴格的表格檢查。如果設置為true,則將檢查表單中的所有字段的值。如果設置為false,則(大多數)註釋和關鍵字字段變為可選。提交評論或覆蓋文檔狀態時始終需要評論', +'settings_suggestionvalue' => '建議值', 'settings_System' => '系統', -'settings_tasksInMenu' => '', -'settings_tasksInMenu_approval' => '', -'settings_tasksInMenu_desc' => '', -'settings_tasksInMenu_needscorrection' => '', -'settings_tasksInMenu_receipt' => '', -'settings_tasksInMenu_review' => '', -'settings_tasksInMenu_revision' => '', -'settings_tasksInMenu_workflow' => '', -'settings_theme' => '', -'settings_theme_desc' => '', -'settings_titleDisplayHack' => '', -'settings_titleDisplayHack_desc' => '', -'settings_undelUserIds' => '', -'settings_undelUserIds_desc' => '', -'settings_updateDatabase' => '', +'settings_tasksInMenu' => '選定的任務', +'settings_tasksInMenu_approval' => '批准書', +'settings_tasksInMenu_desc' => '選擇要計算的那些任務。如果未選擇任何一項,則將計算所有任務。', +'settings_tasksInMenu_needscorrection' => '需要更正', +'settings_tasksInMenu_receipt' => '收據', +'settings_tasksInMenu_review' => '預覽', +'settings_tasksInMenu_revision' => '修訂版', +'settings_tasksInMenu_workflow' => '工作流程', +'settings_theme' => '預設外觀', +'settings_theme_desc' => '默認樣式(文件夾“styles”中子文件夾的名稱)', +'settings_titleDisplayHack' => '標題顯示黑客', +'settings_titleDisplayHack_desc' => '超過兩行的頁面標題的解決方法。', +'settings_undelUserIds' => '不可刪除的用戶ID', +'settings_undelUserIds_desc' => '以逗號分隔的用戶ID列表,無法刪除。', +'settings_updateDatabase' => '在數據庫上運行架構更新腳本', 'settings_updateNotifyTime' => '更新時間通知', -'settings_updateNotifyTime_desc' => '通知用戶有關文檔的變化,採取了最後的內地方“更新通知時間”秒', -'settings_upgrade_php' => '', +'settings_updateNotifyTime_desc' => '通知使用者有關文件的變化,採取了最後的內地方“更新通知時間”秒', +'settings_upgrade_php' => '將PHP升級到至少5.6.38版本', 'settings_versioningFileName' => '檔案名版本', -'settings_versioningFileName_desc' => '', -'settings_versiontolow' => '', -'settings_viewOnlineFileTypes' => '', -'settings_viewOnlineFileTypes_desc' => '', -'settings_webdav' => '', -'settings_workflowMode' => '', -'settings_workflowMode_desc' => '', +'settings_versioningFileName_desc' => '備份工具創建的版本資訊文件的名稱', +'settings_versiontolow' => '版本低', +'settings_viewOnlineFileTypes' => '查看在線文件類型', +'settings_viewOnlineFileTypes_desc' => '可以在線查看具有以下結尾之一的文件(僅使用小寫字母)', +'settings_webdav' => 'WebDAV', +'settings_workflowMode' => '工作流程模式', +'settings_workflowMode_desc' => '高級工作流程允許您為文檔版本指定自己的發布工作流程。', 'settings_workflowMode_valadvanced' => '先進...', -'settings_workflowMode_valnone' => '', +'settings_workflowMode_valnone' => '無', 'settings_workflowMode_valtraditional' => '傳統', -'settings_workflowMode_valtraditional_only_approval' => '', -'settings_zendframework' => '', +'settings_workflowMode_valtraditional_only_approval' => '傳統(未經審核)', +'settings_zendframework' => 'Zend Framework', 'set_expiry' => '設置截止日期', 'set_owner' => '設置所有者', 'set_owner_error' => '錯誤 設置所有者', -'set_password' => '', -'set_workflow' => '', -'show_extension_changelog' => '', +'set_password' => '設定密碼', +'set_workflow' => '設定工作流程', +'show_extension_changelog' => '顯示變更日誌', 'show_extension_version_list' => '版本列表', 'signed_in_as' => '登錄為', -'sign_in' => '', +'sign_in' => '登入', 'sign_out' => '登出', -'sign_out_user' => '', +'sign_out_user' => '登出使用者', 'site_brand' => '', 'sk_SK' => '斯洛伐克語', -'sort_by_date' => '', +'sort_by_date' => '依日期排序', 'sort_by_expiration_date' => '', -'sort_by_name' => '', -'sort_by_sequence' => '', +'sort_by_name' => '依名稱排序', +'sort_by_sequence' => '按順序排序', 'space_used_on_data_folder' => '資料檔案夾使用空間', 'splash_added_to_clipboard' => '已複製', -'splash_add_access' => '', -'splash_add_attribute' => '', -'splash_add_group' => '', -'splash_add_group_member' => '', -'splash_add_role' => '', -'splash_add_to_transmittal' => '', -'splash_add_transmittal' => '', -'splash_add_user' => '', -'splash_cleared_cache' => '', -'splash_cleared_clipboard' => '', -'splash_delete_access' => '', -'splash_document_added' => '', -'splash_document_checkedout' => '', -'splash_document_edited' => '', -'splash_document_indexed' => '', -'splash_document_locked' => '文檔已被鎖定', -'splash_document_unlocked' => '已解鎖的文檔', -'splash_edit_access' => '', -'splash_edit_attribute' => '', -'splash_edit_event' => '', -'splash_edit_group' => '', -'splash_edit_role' => '', -'splash_edit_task' => '', -'splash_edit_transmittal' => '', -'splash_edit_user' => '', -'splash_error_add_to_transmittal' => '', -'splash_error_rm_download_link' => '', -'splash_error_send_download_link' => '', -'splash_extension_getlist' => '', -'splash_extension_import' => '', -'splash_extension_refresh' => '', -'splash_extension_upload' => '', -'splash_folder_edited' => '', -'splash_importfs' => '', -'splash_inherit_access' => '', -'splash_invalid_folder_id' => '', -'splash_invalid_searchterm' => '', -'splash_link_document' => '', -'splash_moved_clipboard' => '', -'splash_move_document' => '', -'splash_move_folder' => '', -'splash_notinherit_access' => '', -'splash_receipt_update_success' => '', -'splash_removed_from_clipboard' => '', -'splash_rm_attribute' => '', -'splash_rm_attr_value' => '', -'splash_rm_document' => '文檔已被移除', -'splash_rm_download_link' => '', +'splash_add_access' => '新增訪問權限', +'splash_add_attribute' => '新增屬性', +'splash_add_group' => '新增群組', +'splash_add_group_member' => '新群組會員新增', +'splash_add_role' => '新增一個角色', +'splash_add_to_transmittal' => '新增到傳送', +'splash_add_transmittal' => '加入傳送', +'splash_add_user' => '新增新的使用者', +'splash_cleared_cache' => '快取清除', +'splash_cleared_clipboard' => '剪貼簿已清除', +'splash_delete_access' => '訪問權限已刪除', +'splash_document_added' => '文件已新增', +'splash_document_checkedout' => '文件簽出', +'splash_document_edited' => '文件儲存', +'splash_document_indexed' => '已為文檔“ [name] ”建立索引。', +'splash_document_locked' => '文件已被鎖定', +'splash_document_unlocked' => '已解鎖的文件', +'splash_edit_access' => '訪問權限已更改', +'splash_edit_attribute' => '屬性已保存', +'splash_edit_event' => '活動已保存', +'splash_edit_group' => '群組已保存', +'splash_edit_role' => '角色已保存', +'splash_edit_task' => '任務已儲存', +'splash_edit_transmittal' => '傳送已儲存', +'splash_edit_user' => '使用者已儲存', +'splash_error_add_to_transmittal' => '將文件添加到傳送時出錯', +'splash_error_rm_download_link' => '刪除下載鏈接時出錯', +'splash_error_send_download_link' => '發送下載鏈接時出錯', +'splash_extension_getlist' => '來自存儲庫的擴展名更新列表', +'splash_extension_import' => '安裝擴展', +'splash_extension_refresh' => '刷新的擴展名列表', +'splash_extension_upload' => '安裝擴展', +'splash_folder_edited' => '保存文件夾更改', +'splash_importfs' => '導入的[docs]文檔和[folders]文件夾', +'splash_inherit_access' => '訪問權限將被繼承', +'splash_invalid_folder_id' => '無效的文件夾ID', +'splash_invalid_searchterm' => '搜尋字詞無效', +'splash_link_document' => '鏈接已添加', +'splash_moved_clipboard' => '剪貼簿已移至當前文件夾', +'splash_move_document' => '文件已移走', +'splash_move_folder' => '文件夾已移動', +'splash_notinherit_access' => '訪問權限不再繼承', +'splash_receipt_update_success' => '接待已成功添加', +'splash_removed_from_clipboard' => '已從剪貼簿中刪除', +'splash_rm_attribute' => '屬性已刪除', +'splash_rm_attr_value' => '屬性值已刪除', +'splash_rm_document' => '文件已被移除', +'splash_rm_download_link' => '刪除了下載鏈接', 'splash_rm_folder' => '已刪除的資料夾', -'splash_rm_group' => '', -'splash_rm_group_member' => '', -'splash_rm_role' => '', -'splash_rm_transmittal' => '', -'splash_rm_user' => '', -'splash_rm_user_processes' => '', -'splash_rm_workflow' => '', -'splash_rm_workflow_action' => '', -'splash_rm_workflow_state' => '', -'splash_saved_file' => '', -'splash_save_user_data' => '', -'splash_send_download_link' => '', -'splash_send_login_data' => '', -'splash_setowner' => '', -'splash_settings_saved' => '', -'splash_set_default_access' => '', -'splash_substituted_user' => '', -'splash_switched_back_user' => '', -'splash_toogle_group_manager' => '', -'splash_transfer_content' => '', -'splash_transfer_document' => '', -'splash_transfer_objects' => '', -'splash_trigger_workflow' => '', -'state_and_next_state' => '', -'statistic' => '', +'splash_rm_group' => '組已刪除', +'splash_rm_group_member' => '組成員已刪除', +'splash_rm_role' => '角色已刪除', +'splash_rm_transmittal' => '傳送已刪除', +'splash_rm_user' => '用戶已刪除', +'splash_rm_user_processes' => '用戶已從所有處理中刪除', +'splash_rm_workflow' => '工作流程已刪除', +'splash_rm_workflow_action' => '工作流程操作已刪除', +'splash_rm_workflow_state' => '工作流程狀態已刪除', +'splash_saved_file' => '版本已儲存', +'splash_save_user_data' => '使用者資料已儲存', +'splash_send_download_link' => '寄送下載連結的信件', +'splash_send_login_data' => '登入紀錄已寄送', +'splash_setowner' => '設定新的擁有者', +'splash_settings_saved' => '設定儲存', +'splash_set_default_access' => '默認訪問權限集', +'splash_substituted_user' => '替代用戶', +'splash_switched_back_user' => '切換回原始用戶', +'splash_toogle_group_manager' => '集團經理', +'splash_transfer_content' => '內容已轉移', +'splash_transfer_document' => '文件已轉移', +'splash_transfer_objects' => '轉移的物件', +'splash_trigger_workflow' => '觸發工作流程過渡', +'state_and_next_state' => '狀態/下一個狀態', +'statistic' => '統計', 'status' => '狀態', 'status_approval_rejected' => '擬拒絕', 'status_approved' => '批准', 'status_approver_removed' => '從審核佇列中刪除', -'status_needs_correction' => '', +'status_needs_correction' => '需要糾正', 'status_not_approved' => '未批准', -'status_not_receipted' => '', +'status_not_receipted' => '尚未收到', 'status_not_reviewed' => '未校對', -'status_not_revised' => '', -'status_receipted' => '', -'status_receipt_rejected' => '', -'status_recipient_removed' => '', +'status_not_revised' => '未修改', +'status_receipted' => '已收貨', +'status_receipt_rejected' => '拒絕', +'status_recipient_removed' => '收件人已從列表中刪除', 'status_reviewed' => '通過', 'status_reviewer_rejected' => '擬拒絕', 'status_reviewer_removed' => '從校對佇列中刪除', -'status_revised' => '', -'status_revision_rejected' => '', -'status_revision_sleeping' => '', -'status_revisor_removed' => '', +'status_revised' => '修訂版', +'status_revision_rejected' => '拒絕', +'status_revision_sleeping' => '待定', +'status_revisor_removed' => '修訂者已從清單中刪除', 'status_unknown' => '未知', 'storage_size' => '存儲大小', -'subfolder_duplicate_name' => '', -'submit_2_fact_auth' => '', +'subfolder_duplicate_name' => '子文件夾名稱重複', +'submit_2_fact_auth' => '保存秘密', 'submit_approval' => '提交審核', 'submit_login' => '登錄', -'submit_password' => '', -'submit_password_forgotten' => '', -'submit_receipt' => '', +'submit_password' => '設定新密碼', +'submit_password_forgotten' => '開始過程', +'submit_receipt' => '提交收據', 'submit_review' => '提交校對', -'submit_revision' => '', -'submit_userinfo' => '', +'submit_revision' => '新增修訂', +'submit_userinfo' => '提交資料', 'submit_webauthn_login' => '', 'submit_webauthn_register' => '', -'subsribe_timelinefeed' => '', -'substitute_to_user' => '', +'subsribe_timelinefeed' => '訂閱時間線供稿', +'substitute_to_user' => '切換為\'[username] \'', 'substitute_user' => '代理人', -'success_add_aro' => '', -'success_add_permission' => '', -'success_remove_permission' => '', -'success_toogle_permission' => '', +'success_add_aro' => '新增訪問請求對象', +'success_add_permission' => '新增權限', +'success_remove_permission' => '刪除權限', +'success_toogle_permission' => '權限改變', 'sunday' => 'Sunday', -'sunday_abbr' => '', +'sunday_abbr' => 'Su', 'sv_SE' => '瑞典語', -'switched_to' => '', -'takeOverAttributeValue' => '', -'takeOverGrpApprover' => '', -'takeOverGrpApprovers' => '', -'takeOverGrpReviewer' => '', -'takeOverGrpReviewers' => '', -'takeOverIndApprover' => '', -'takeOverIndApprovers' => '', +'switched_to' => '切換為', +'takeOverAttributeValue' => '接管最新版本的屬性值', +'takeOverGrpApprover' => '接管來自最新版本的批准者組。', +'takeOverGrpApprovers' => '接管小組批准人', +'takeOverGrpReviewer' => '從最新版本接管審閱者組。', +'takeOverGrpReviewers' => '接管小組審稿人', +'takeOverIndApprover' => '從上一版本接管單個審批者。', +'takeOverIndApprovers' => '接管個人批准人', 'takeOverIndReviewer' => '從上個版本接管個別審稿人', -'takeOverIndReviewers' => '', -'tasks' => '', -'task_core_expireddocs_days' => '', -'task_description' => '', -'task_disabled' => '', -'task_frequency' => '', -'task_last_run' => '', -'task_name' => '', -'task_next_run' => '', -'temp_jscode' => '', -'testmail_body' => '', -'testmail_subject' => '', +'takeOverIndReviewers' => '接管個人審稿人', +'tasks' => '任務', +'task_core_expireddocs_days' => '天數', +'task_description' => '描述', +'task_disabled' => '不啟用', +'task_frequency' => '頻率', +'task_last_run' => '最後一次啟用', +'task_name' => '名稱', +'task_next_run' => '下次啟用', +'temp_jscode' => '臨時JavaScript代碼', +'testmail_body' => '該郵件僅用於測試SeedDMS的郵件配置', +'testmail_subject' => '測試信件', 'theme' => '主題', 'thursday' => 'Thursday', -'thursday_abbr' => '', +'thursday_abbr' => 'Th', 'timeline' => '時間軸', 'timeline_add_file' => '新附件', -'timeline_add_version' => '', -'timeline_full_add_file' => '', -'timeline_full_add_version' => '', -'timeline_full_scheduled_revision' => '', -'timeline_full_status_change' => '', -'timeline_scheduled_revision' => '', -'timeline_selected_item' => '', +'timeline_add_version' => '新版本 [version]', +'timeline_full_add_file' => '[document]
新附件', +'timeline_full_add_version' => '[document]
新版本 [version]', +'timeline_full_scheduled_revision' => '[document]
版本修訂 [version]', +'timeline_full_status_change' => '[document]
Version [version]: [status]', +'timeline_scheduled_revision' => '版本[version]的修訂', +'timeline_selected_item' => '選定文件', 'timeline_skip_add_file' => '新增附件', -'timeline_skip_scheduled_revision' => '', -'timeline_skip_status_change_-1' => '', -'timeline_skip_status_change_-3' => '', -'timeline_skip_status_change_0' => '', -'timeline_skip_status_change_1' => '', -'timeline_skip_status_change_2' => '', -'timeline_skip_status_change_3' => '', -'timeline_skip_status_change_4' => '', -'timeline_skip_status_change_5' => '', -'timeline_status_change' => '版本 [版本號]:[狀態]', +'timeline_skip_scheduled_revision' => '預定修訂', +'timeline_skip_status_change_-1' => '拒絕', +'timeline_skip_status_change_-3' => '已過期', +'timeline_skip_status_change_0' => '等待審核', +'timeline_skip_status_change_1' => '等待批准', +'timeline_skip_status_change_2' => '已發布', +'timeline_skip_status_change_3' => '在工作流程中', +'timeline_skip_status_change_4' => '修訂中', +'timeline_skip_status_change_5' => '草案', +'timeline_status_change' => '版本 [version]:[status]', 'to' => '到', 'toggle_manager' => '角色切換', -'toggle_qrcode' => '', +'toggle_qrcode' => '秀/隱藏 QR code', 'total' => '總共', -'to_before_from' => '', -'transfer_content' => '', +'to_before_from' => '結束日期可能不早於開始日期', +'transfer_content' => '傳送內容', 'transfer_document' => '傳送檔案', -'transfer_no_read_access' => '', -'transfer_no_write_access' => '', -'transfer_objects' => '', -'transfer_objects_to_user' => '', -'transfer_process_to_user' => '', -'transfer_to_user' => '', -'transition_triggered_email' => '', -'transition_triggered_email_body' => '', -'transition_triggered_email_subject' => '', -'transmittal' => '', -'transmittalitem_removed' => '', -'transmittalitem_updated' => '', -'transmittal_comment' => '', -'transmittal_name' => '', -'transmittal_size' => '', +'transfer_no_read_access' => '用戶在文件夾中沒有讀取權限', +'transfer_no_write_access' => '用戶在文件夾中沒有寫權限', +'transfer_objects' => '傳送物件', +'transfer_objects_to_user' => '新擁有者', +'transfer_process_to_user' => '傳送處理給使用者', +'transfer_to_user' => '傳送給使用者', +'transition_triggered_email' => '觸發工作流程過渡', +'transition_triggered_email_body' => '觸發工作流程過渡 +文件:[name] +版本:[version] +評論:[comment] +工作流程:[workflow] +先前狀態:[previous_state] +當前狀態:[current_state] +父文件夾:[folder_path] +用戶:[username] +網址:[url]', +'transition_triggered_email_subject' => '[sitename]: [name] - 觸發工作流程過渡', +'transmittal' => '傳輸', +'transmittalitem_removed' => '傳輸項目已刪除', +'transmittalitem_updated' => '文件已更新至最新版本', +'transmittal_comment' => '註解', +'transmittal_name' => '名稱', +'transmittal_size' => '大小', 'tree_loading' => '請稍待,直到文件樹狀結構載入完畢...', -'trigger_workflow' => '', +'trigger_workflow' => '工作流程', 'tr_TR' => '土耳其語', 'tuesday' => 'Tuesday', -'tuesday_abbr' => '', -'type_of_hook' => '', -'type_to_filter' => '', +'tuesday_abbr' => 'Tu', +'type_of_hook' => '類型', +'type_to_filter' => '鍵入到篩選列表', 'type_to_search' => '搜索類型', 'uk_UA' => '烏克蘭語', 'under_folder' => '資料夾內', -'unknown_attrdef' => '', +'unknown_attrdef' => '未知的屬性定義', 'unknown_command' => '未知命令', 'unknown_document_category' => '未知檔分類', 'unknown_group' => '未知組ID號', 'unknown_id' => '未知ID號', 'unknown_keyword_category' => '未知類別', 'unknown_owner' => '未知所有者ID號', -'unknown_user' => '未知用戶ID號', -'unlinked_content' => '', -'unlinked_documents' => '', -'unlinked_folders' => '', -'unlinking_objects' => '', +'unknown_user' => '未知使用者ID號', +'unlinked_content' => '未關聯的內容', +'unlinked_documents' => '未關聯的文件', +'unlinked_folders' => '未鏈接的文件夾', +'unlinking_objects' => '取消鏈接內容', 'unlock_cause_access_mode_all' => '您仍然可以更新,因為您有擁有所有權限"all". 鎖定狀態被自動解除.', 'unlock_cause_locking_user' => '您仍然可以更新,因為是您鎖定了該檔. 鎖定狀態被自動解除.', 'unlock_document' => '解鎖', @@ -1644,43 +1863,49 @@ URL: [url]', 'update_document' => '更新', 'update_fulltext_index' => '更新全文索引', 'update_info' => '更新資訊', -'update_locked_msg' => '該文檔被鎖定', +'update_locked_msg' => '該文件被鎖定', 'update_recipients' => '', 'update_reviewers' => '更新校對人名單', -'update_revisors' => '', -'update_transmittalitem' => '', +'update_revisors' => '更新重新提交者列表', +'update_transmittalitem' => '更新到最新文檔版本', 'uploaded_by' => '上傳者', 'uploading_failed' => '文件太大無法上傳!請處理後重新上傳。', 'uploading_maxsize' => '最大上傳限制', 'uploading_zerosize' => '上傳失敗!請檢查是否沒有選擇上傳的檔。', 'used_discspace' => '使用磁碟空間', -'user' => '用戶', +'user' => '使用者', +'userdata_file' => '', 'userid_groupid' => '使用者 id/群組 id', -'users' => '用戶', -'users_and_groups' => '', -'users_done_work' => '', -'user_exists' => '用戶已存在', +'users' => '使用者', +'users_and_groups' => '使用者/群組', +'users_done_work' => '用戶完成工作', +'user_exists' => '使用者已存在', 'user_group' => '使用者/群組', -'user_group_management' => '用戶/組的管理', +'user_group_management' => '使用者/組的管理', 'user_image' => '使用者圖片', 'user_info' => '使用者資訊', -'user_list' => '用戶列表', -'user_login' => '用戶ID', -'user_management' => '用戶管理', +'user_list' => '使用者列表', +'user_login' => '使用者ID', +'user_management' => '使用者管理', 'user_name' => '全名', -'use_comment_of_document' => '', +'use_comment_of_document' => '使用文件的評論', 'use_default_categories' => '默認分類', 'use_default_keywords' => '使用預定義關鍵字', -'valid_till' => '', +'valid_till' => '有效期至', 'version' => '版本', 'versioning_file_creation' => '創建版本檔', 'versioning_file_creation_warning' => '通過此操作,您可以一個包含整個DMS資料夾的版本資訊檔. 版本檔一經創建,每個檔都將保存到資料夾中.', 'versioning_info' => '版本資訊', -'versiontolow' => '', -'version_comment' => '', +'versiontolow' => '版本低', +'version_comment' => '版本註釋', 'version_deleted_email' => '版本已被刪除', -'version_deleted_email_body' => '', -'version_deleted_email_subject' => '', +'version_deleted_email_body' => '版本已刪除 +文件:[name] +版本:[version] +父文件夾:[folder_path] +用戶:[username] +網址:[url]', +'version_deleted_email_subject' => '[sitename]: [name]-版本已刪除', 'version_info' => '版本資訊', 'view' => '檢視', 'view_online' => '線上流覽', @@ -1690,37 +1915,37 @@ URL: [url]', 'webauthn_info' => '', 'webauth_crossplatform' => '', 'wednesday' => 'Wednesday', -'wednesday_abbr' => '', -'weeks' => '', +'wednesday_abbr' => 'We', +'weeks' => '週', 'week_view' => '周視圖', 'workflow' => '流程', -'workflows_involded' => '', +'workflows_involded' => '參與工作流程', 'workflow_actions_management' => '流程動作管理', 'workflow_action_in_use' => '正在使用之流程動作', 'workflow_action_name' => '流程動作名稱', -'workflow_editor' => '', +'workflow_editor' => '工作流程編輯器', 'workflow_group_summary' => '流程群組簡述', -'workflow_has_cycle' => '', -'workflow_initstate' => '', +'workflow_has_cycle' => '工作流程有周期', +'workflow_initstate' => '初始狀態', 'workflow_in_use' => '正在使用之流程', -'workflow_layoutdata_saved' => '', +'workflow_layoutdata_saved' => '版面數據已保存', 'workflow_management' => '流程管理', 'workflow_name' => '流程名稱', -'workflow_no_doc_rejected_state' => '', -'workflow_no_doc_released_state' => '', -'workflow_no_initial_state' => '', -'workflow_no_states' => '', -'workflow_save_layout' => '', -'workflow_state' => '', +'workflow_no_doc_rejected_state' => '在工作流程狀態下不會拒絕該文檔!', +'workflow_no_doc_released_state' => '該文檔將不會以工作流程狀態發布!', +'workflow_no_initial_state' => '任何過渡都不會從工作流程的初始狀態開始!', +'workflow_no_states' => '您必須先定義工作流程狀態,然後才能添加工作流程。', +'workflow_save_layout' => '保存佈局', +'workflow_state' => '工作流程狀態', 'workflow_states_management' => '流程狀態管理', 'workflow_state_docstatus' => '文件流程狀態', 'workflow_state_in_use' => '正在使用之流程狀態', 'workflow_state_name' => '流程狀態名稱', -'workflow_summary' => '', -'workflow_transition_without_user_group' => '', -'workflow_user_summary' => '', -'wrong_filetype' => '', -'x_more_objects' => '增加[數值]物件', +'workflow_summary' => '工作流程摘要', +'workflow_transition_without_user_group' => '至少有一個過渡既沒有用戶也沒有組!', +'workflow_user_summary' => '使用者摘要', +'wrong_filetype' => '錯誤的檔案類型', +'x_more_objects' => '增加[number]物件', 'year_view' => '年視圖', 'yes' => '是', 'zh_CN' => '中文簡體',

".getMLText("name")."".getMLText("expires")."".getMLText("name"); + print " ".($order=="na"?' ':($order=="nd"?' ':' ')).""; + print " ".($order=="ea"?' ':($order=="ed"?' ':' ')).""; + print "".getMLText("status")."".getMLText("action")."