Merge branch 'seeddms-5.1.x'

This commit is contained in:
Uwe Steinmann 2021-08-19 15:54:46 +02:00
commit 40ce4a74e1
318 changed files with 28280 additions and 6825 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
*.tar.gz
SeedDMS_*/*.tgz
ext/*
webapp/*

View File

@ -1,3 +1,41 @@
--------------------------------------------------------------------------------
Changes in version 5.1.23
--------------------------------------------------------------------------------
- output path of parent folder in many document/folder lists
- list affected documents when transfering processes to another user
- check for quota and duplicate content in restapi
- remove preview images before removing document
- fixed error due to multiple declared function when controller method
RemoveFolder::run was called more than once
- fix php error setting mandatory workflow when uploading documents via webdav
- typeahead search for folders can search in subfolders
- new theme based on bootstrap 4, including many improvements on small displays
- propperly check for translation of html email body (Closes: #510)
- set mandatory group reviewer/approver when adding a new document or version
- fix sending notification mails to group when uploading document via drag&drop
- guest login can use any user account
- issue warning if document cannot be approved/reviewed anymore, because it has
expired
- much better form validation based on jquery validation
- secure unlocking/locking of a documents with form token to prevent CSRF attacks
- append referuri to base url to prevent redirects to arbitraty sites in op.Login.php
- theme can be set in user manager
- fields in configuration can be omitted from display and saving
- comment of document version may not be modified when document has expired
- attributes of document version may be edited if enableVersionModification is true
even if the document has been released, obsoleted or has been expired
- reviews and approvals can be removed by admin
- links are all created absolute based on _httpRoot instead of relative to
the current page. This fixes a potential security hole cased by malformed
links.
- add chart with number of folders per document
- add number of links, attachments, versions of a selected user in the user
manager
- add support for drag and drop of attachments
- show all folders in tree when selecting a target folder for move operations
even if they are not writable, otherwise sub folders may not appear in the
tree, because parent folders are not writable
--------------------------------------------------------------------------------
Changes in version 5.1.22
--------------------------------------------------------------------------------

View File

@ -1,7 +1,7 @@
module.exports = function (grunt) {
'use strict';
var bootstrapDir = 'views/bootstrap/vendors',
var bootstrapDir = 'views/bootstrap4/vendors',
tdkDir = 'views/tdk/vendors',
nodeDir = 'node_modules';
@ -78,6 +78,20 @@ module.exports = function (grunt) {
],
dest: bootstrapDir + '/select2/css',
flatten: true
},{
expand: true,
src: [
nodeDir + '/@ttskch/select2-bootstrap4-theme/dist/*'
],
dest: bootstrapDir + '/select2-bootstrap4-theme',
flatten: true
},{
expand: true,
src: [
nodeDir + '/vis-timeline/dist/*'
],
dest: bootstrapDir + '/vis-timeline',
flatten: true
},{
expand: true,
src: [
@ -145,6 +159,13 @@ module.exports = function (grunt) {
],
dest: bootstrapDir + '/moment/locale',
flatten: true
},{
expand: true,
src: [
nodeDir + '/popper.js/dist/umd/*'
],
dest: bootstrapDir + '/popper',
flatten: true
},{
expand: true,
src: [
@ -152,6 +173,14 @@ module.exports = function (grunt) {
],
dest: bootstrapDir + '/perfect-scrollbar',
flatten: true
},{
expand: true,
src: [
nodeDir + '/bootstrap/dist/js/bootstrap.min.js',
nodeDir + '/bootstrap/dist/css/bootstrap.min.css'
],
dest: bootstrapDir + '/bootstrap',
flatten: true
},{
expand: true,
src: [

View File

@ -1,6 +1,6 @@
VERSION=$(shell php -r 'include("inc/inc.Version.php"); $$v=new SeedDMS_Version(); echo $$v->version();')
SRC=CHANGELOG inc conf utils index.php .htaccess languages op out controllers doc TODO LICENSE webdav install restapi pdfviewer
VIEWS ?= bootstrap
VIEWS ?= bootstrap bootstrap4
NODISTFILES=utils/importmail.php utils/seedddms-importmail utils/remote-email-upload utils/remote-upload utils/da-bv-reminder.php utils/seeddms-da-bv-reminder .svn .gitignore

View File

@ -1233,7 +1233,8 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
break;
case self::type_email:
foreach($values as $value) {
$success &= preg_match('/^[a-z0-9._-]+@+[a-z0-9._-]+\.+[a-z]{2,4}$/i', $value);
//$success &= filter_var($value, FILTER_VALIDATE_EMAIL) ? true : false;
$success &= preg_match('/^[a-z0-9._-]+@+[a-z0-9._-]+\.+[a-z]{2,63}$/i', $value);
}
if(!$success)
$this->_validation_error = 5;

View File

@ -404,7 +404,7 @@ class SeedDMS_Core_DMS {
$this->lasterror = '';
$this->version = '@package_version@';
if($this->version[0] == '@')
$this->version = '5.1.21';
$this->version = '5.1.23';
} /* }}} */
/**
@ -1459,6 +1459,8 @@ class SeedDMS_Core_DMS {
*/
function search($query, $limit=0, $offset=0, $logicalmode='AND', $searchin=array(), $startFolder=null, $owner=null, $status = array(), $creationstartdate=array(), $creationenddate=array(), $modificationstartdate=array(), $modificationenddate=array(), $categories=array(), $attributes=array(), $mode=0x3, $expirationstartdate=array(), $expirationenddate=array()) { /* {{{ */
$orderby = '';
$statusstartdate = array();
$statusenddate = array();
if(is_array($query)) {
foreach(array('limit', 'offset', 'logicalmode', 'searchin', 'startFolder', 'owner', 'status', 'creationstartdate', 'creationenddate', 'modificationstartdate', 'modificationenddate', 'categories', 'attributes', 'mode', 'expirationstartdate', 'expirationenddate') as $paramname)
${$paramname} = isset($query[$paramname]) ? $query[$paramname] : ${$paramname};
@ -3172,7 +3174,14 @@ class SeedDMS_Core_DMS {
function getStatisticalData($type='') { /* {{{ */
switch($type) {
case 'docsperuser':
$queryStr = "select b.`fullName` as `key`, count(`owner`) as total from `tblDocuments` a left join `tblUsers` b on a.`owner`=b.`id` group by `owner`, b.`fullName`";
$queryStr = "select ".$this->db->concat(array('b.`fullName`', "' ('", 'b.`login`', "')'"))." as `key`, count(`owner`) as total from `tblDocuments` a left join `tblUsers` b on a.`owner`=b.`id` group by `owner`, b.`fullName`";
$resArr = $this->db->getResultArray($queryStr);
if (!$resArr)
return false;
return $resArr;
case 'foldersperuser':
$queryStr = "select ".$this->db->concat(array('b.`fullName`', "' ('", 'b.`login`', "')'"))." as `key`, count(`owner`) as total from `tblFolders` a left join `tblUsers` b on a.`owner`=b.`id` group by `owner`, b.`fullName`";
$resArr = $this->db->getResultArray($queryStr);
if (!$resArr)
return false;
@ -3225,7 +3234,7 @@ class SeedDMS_Core_DMS {
}
return $resArr;
case 'sizeperuser':
$queryStr = "select c.`fullName` as `key`, sum(`fileSize`) as total from `tblDocuments` a left join `tblDocumentContent` b on a.id=b.`document` left join `tblUsers` c on a.`owner`=c.`id` group by a.`owner`, c.`fullName`";
$queryStr = "select ".$this->db->concat(array('c.`fullName`', "' ('", 'c.`login`', "')'"))." as `key`, sum(`fileSize`) as total from `tblDocuments` a left join `tblDocumentContent` b on a.id=b.`document` left join `tblUsers` c on a.`owner`=c.`id` group by a.`owner`, c.`fullName`";
$resArr = $this->db->getResultArray($queryStr);
if (!$resArr)
return false;
@ -3259,7 +3268,13 @@ class SeedDMS_Core_DMS {
/** @var SeedDMS_Core_Document[] $timeline */
$timeline = array();
$queryStr = "SELECT DISTINCT document FROM `tblDocumentContent` WHERE `date` > ".$startts." AND `date` < ".$endts." UNION SELECT DISTINCT document FROM `tblDocumentFiles` WHERE `date` > ".$startts." AND `date` < ".$endts;
if(0) {
$queryStr = "SELECT DISTINCT `document` FROM `tblDocumentContent` WHERE `date` > ".$startts." AND `date` < ".$endts." UNION SELECT DISTINCT `document` FROM `tblDocumentFiles` WHERE `date` > ".$startts." AND `date` < ".$endts;
} else {
$startdate = date('Y-m-d H:i:s', $startts);
$enddate = date('Y-m-d H:i:s', $endts);
$queryStr = "SELECT DISTINCT `documentID` AS `document` FROM `tblDocumentStatus` LEFT JOIN `tblDocumentStatusLog` ON `tblDocumentStatus`.`statusId`=`tblDocumentStatusLog`.`statusID` WHERE `date` > ".$this->db->qstr($startdate)." AND `date` < ".$this->db->qstr($enddate)." UNION SELECT DISTINCT document FROM `tblDocumentFiles` WHERE `date` > ".$this->db->qstr($startdate)." AND `date` < ".$this->db->qstr($enddate)." UNION SELECT DISTINCT `document` FROM `tblDocumentFiles` WHERE `date` > ".$startts." AND `date` < ".$endts;
}
$resArr = $this->db->getResultArray($queryStr);
if ($resArr === false)
return false;

View File

@ -429,6 +429,26 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
return true;
} /* }}} */
/**
* Check if document has a given category
*
* @param SeedDMS_Core_DocumentCategory $cat
* @return bool true if document has category, otherwise false
*/
function hasCategory($cat) { /* {{{ */
$db = $this->_dms->getDB();
if(!$cat)
return false;
$queryStr = "SELECT * FROM `tblDocumentCategory` WHERE `documentID` = ".$this->_id." AND `categoryID`=".$cat->getId();
$resArr = $db->getResultArray($queryStr);
if (!$resArr)
return false;
return true;
} /* }}} */
/**
* Retrieve a list of all categories this document belongs to
*
@ -3382,6 +3402,35 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return M_NONE;
} /* }}} */
/**
* Return a list of all reviewers separated by individuals and groups
*
* @return array|bool|null
*/
function getReviewers() { /* {{{ */
$dms = $this->_document->getDMS();
$db = $dms->getDB();
$queryStr=
"SELECT * FROM `tblDocumentReviewers` WHERE `version`='".$this->_version
."' AND `documentID` = '". $this->_document->getID() ."' ";
$recs = $db->getResultArray($queryStr);
if (is_bool($recs))
return false;
$reviewers = array('i'=>array(), 'g'=>array());
foreach($recs as $rec) {
if($rec['type'] == 0) {
if($u = $dms->getUser($rec['required']))
$reviewers['i'][] = $u;
} elseif($rec['type'] == 1) {
if($g = $dms->getGroup($rec['required']))
$reviewers['g'][] = $g;
}
}
return $reviewers;
} /* }}} */
/**
* Get the current review status of the document content
* The review status is a list of reviews and its current status
@ -3439,6 +3488,27 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return $this->_reviewStatus;
} /* }}} */
/**
* Get the latest entries from the review log of the document content
*
* @param integer $limit the number of log entries returned, defaults to 1
* @return array list of review log entries
*/
function getReviewLog($limit=1) { /* {{{ */
$db = $this->_document->getDMS()->getDB();
if (!is_numeric($limit)) return false;
$queryStr=
"SELECT * FROM `tblDocumentReviewLog` LEFT JOIN `tblDocumentReviewers` ON `tblDocumentReviewLog`.`reviewID` = `tblDocumentReviewers`.`reviewID` WHERE `version`='".$this->_version
."' AND `documentID` = '". $this->_document->getID() ."' "
."ORDER BY `tblDocumentReviewLog`.`reviewLogID` DESC LIMIT ".(int) $limit;
$recs = $db->getResultArray($queryStr);
if (is_bool($recs) && !$recs)
return false;
return($recs);
} /* }}} */
/**
* Rewrites the complete review log
*
@ -3510,6 +3580,35 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return true;
} /* }}} */
/**
* Return a list of all approvers separated by individuals and groups
*
* @return array|bool|null
*/
function getApprovers() { /* {{{ */
$dms = $this->_document->getDMS();
$db = $dms->getDB();
$queryStr=
"SELECT * FROM `tblDocumentApprovers` WHERE `version`='".$this->_version
."' AND `documentID` = '". $this->_document->getID() ."' ";
$recs = $db->getResultArray($queryStr);
if (is_bool($recs))
return false;
$approvers = array('i'=>array(), 'g'=>array());
foreach($recs as $rec) {
if($rec['type'] == 0) {
if($u = $dms->getUser($rec['required']))
$approvers['i'][] = $u;
} elseif($rec['type'] == 1) {
if($g = $dms->getGroup($rec['required']))
$approvers['g'][] = $g;
}
}
return $approvers;
} /* }}} */
/**
* Get the current approval status of the document content
* The approval status is a list of approvals and its current status
@ -3567,6 +3666,27 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return $this->_approvalStatus;
} /* }}} */
/**
* Get the latest entries from the approval log of the document content
*
* @param integer $limit the number of log entries returned, defaults to 1
* @return array list of approval log entries
*/
function getApproveLog($limit=1) { /* {{{ */
$db = $this->_document->getDMS()->getDB();
if (!is_numeric($limit)) return false;
$queryStr=
"SELECT * FROM `tblDocumentApproveLog` LEFT JOIN `tblDocumentApprovers` ON `tblDocumentApproveLog`.`approveID` = `tblDocumentApprovers`.`approveID` WHERE `version`='".$this->_version
."' AND `documentID` = '". $this->_document->getID() ."' "
."ORDER BY `tblDocumentApproveLog`.`approveLogID` DESC LIMIT ".(int) $limit;
$recs = $db->getResultArray($queryStr);
if (is_bool($recs) && !$recs)
return false;
return($recs);
} /* }}} */
/**
* Rewrites the complete approval log
*
@ -3805,6 +3925,53 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return $reviewLogID;
} /* }}} */
/**
* Add another entry to review log which resets the status
*
* This method will not delete anything from the database, but will add
* a new review log entry which sets the status to 0. This is only allowed
* if the current status is either 1 or -1.
*
* After calling this method SeedDMS_Core_DocumentCategory::verifyStatus()
* should be called to recalculate the document status.
*
* @param SeedDMS_Core_User $user
* @return int 0 if successful
*/
public function removeReview($reviewid, $requestUser, $comment='') { /* {{{ */
$db = $this->_document->getDMS()->getDB();
// Check to see if the user can be removed from the review list.
$reviews = $this->getReviewStatus();
if (is_bool($reviews) && !$reviews) {
return -1;
}
$reviewStatus = null;
foreach($reviews as $review) {
if($review['reviewID'] == $reviewid) {
$reviewStatus = $review;
break;
}
}
if(!$reviewStatus)
return -2;
// The review log entry may only be removed if the status is 1 or -1
if ($reviewStatus["status"] != 1 && $reviewStatus["status"] != -1)
return -3;
$queryStr = "INSERT INTO `tblDocumentReviewLog` (`reviewID`, `status`,
`comment`, `date`, `userID`) ".
"VALUES ('". $reviewStatus["reviewID"] ."', '0', ".$db->qstr($comment).", ".$db->getCurrentDatetime().", '".
$requestUser->getID() ."')";
//$queryStr = "DELETE FROM `tblDocumentReviewLog` WHERE `reviewLogID` = ".$reviewStatus['reviewLogID'];
$res=$db->getResult($queryStr);
if (is_bool($res) && !$res)
return -1;
return 0;
} /* }}} */
/**
* Add a review to the document content
*
@ -4027,6 +4194,53 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return $approveLogID;
} /* }}} */
/**
* Add another entry to approval log which resets the status
*
* This method will not delete anything from the database, but will add
* a new review log entry which sets the status to 0. This is only allowed
* if the current status is either 1 or -1.
*
* After calling this method SeedDMS_Core_DocumentCategory::verifyStatus()
* should be called to recalculate the document status.
*
* @param SeedDMS_Core_User $user
* @return int 0 if successful
*/
public function removeApproval($approveid, $requestUser, $comment='') { /* {{{ */
$db = $this->_document->getDMS()->getDB();
// Check to see if the user can be removed from the approval list.
$approvals = $this->getApprovalStatus();
if (is_bool($approvals) && !$approvals) {
return -1;
}
$approvalStatus = null;
foreach($approvals as $approval) {
if($approval['approveID'] == $approveid) {
$approvalStatus = $approval;
break;
}
}
if(!$approvalStatus)
return -2;
// The approval log entry may only be removed if the status is 1 or -1
if ($approvalStatus["status"] != 1 && $approvalStatus["status"] != -1)
return -3;
$queryStr = "INSERT INTO `tblDocumentApproveLog` (`approveID`, `status`,
`comment`, `date`, `userID`) ".
"VALUES ('". $approvalStatus["approveID"] ."', '0', ".$db->qstr($comment).", ".$db->getCurrentDatetime().", '".
$requestUser->getID() ."')";
$res=$db->getResult($queryStr);
if (is_bool($res) && !$res)
return -1;
return 0;
} /* }}} */
/**
* Sets approval status of a document content for a group
* The functions behaves like
@ -4231,11 +4445,11 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
if (!$this->_workflowState) {
$queryStr=
"SELECT b.* FROM `tblWorkflowDocumentContent` a LEFT JOIN `tblWorkflowStates` b ON a.`state` = b.`id` WHERE `workflow`=". intval($this->_workflow->getID())
"SELECT b.* FROM `tblWorkflowDocumentContent` a LEFT JOIN `tblWorkflowStates` b ON a.`state` = b.`id` WHERE a.`state` IS NOT NULL AND `workflow`=". intval($this->_workflow->getID())
." AND a.`version`='".$this->_version
."' AND a.`document` = '". $this->_document->getID() ."' ";
$recs = $db->getResultArray($queryStr);
if (is_bool($recs) && !$recs)
if (!$recs)
return false;
$this->_workflowState = new SeedDMS_Core_Workflow_State($recs[0]['id'], $recs[0]['name'], $recs[0]['maxtime'], $recs[0]['precondfunc'], $recs[0]['documentstatus']);
$this->_workflowState->setDMS($this->_document->getDMS());
@ -4397,7 +4611,11 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */
return true;
}
if(SeedDMS_Core_DMS::checkIfEqual($this->_workflow->getInitState(), $this->getWorkflowState()) || $unlink == true) {
/* A workflow should always be in a state, but in case it isn't, the
* at least allow to remove the workflow.
*/
$currentstate = $this->getWorkflowState();
if(!$currentstate || SeedDMS_Core_DMS::checkIfEqual($this->_workflow->getInitState(), $currentstate) || $unlink == true) {
$db->startTransaction();
$queryStr=
"DELETE FROM `tblWorkflowDocumentContent` WHERE "

View File

@ -1189,6 +1189,106 @@ class SeedDMS_Core_User { /* {{{ */
return $documents;
} /* }}} */
/**
* Returns all document links of a given user
* @return SeedDMS_Core_DocumentLink[]|bool list of document links
*/
function getDocumentLinks() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblDocumentLinks` ".
"WHERE `userID` = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
$links = array();
$classname = 'SeedDMS_Core_DocumentLink';
foreach ($resArr as $row) {
$document = $this->_dms->getDocument($row["document"]);
$target = $this->_dms->getDocument($row["target"]);
/** @var SeedDMS_Core_Document $document */
$link = new $classname((int) $row["id"], $document, $target, $row["userID"], $row["public"]);
$links[] = $link;
}
return $links;
} /* }}} */
/**
* Returns all document files of a given user
* @return SeedDMS_Core_DocumentFile[]|bool list of document files
*/
function getDocumentFiles() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblDocumentFiles` ".
"WHERE `userID` = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
$files = array();
$classname = 'SeedDMS_Core_DocumentFile';
foreach ($resArr as $row) {
$document = $this->_dms->getDocument($row["document"]);
/** @var SeedDMS_Core_DocumentFile $file */
$file = new $classname((int) $row["id"], $document, $row["userID"], $row["comment"], $row["date"], $row["dir"], $row["fileType"], $row["mimeType"], $row["orgFileName"], $row["name"],$row["version"],$row["public"]);
$files[] = $file;
}
return $files;
} /* }}} */
/**
* Returns all document contents of a given user
* @return SeedDMS_Core_DocumentContent[]|bool list of document contents
*/
function getDocumentContents() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblDocumentContent` WHERE `createdBy` = " . $this->_id;
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
$contents = array();
$classname = $this->_dms->getClassname('documentcontent');
foreach ($resArr as $row) {
$document = $this->_dms->getDocument($row["document"]);
/** @var SeedDMS_Core_DocumentContent $content */
$content = new $classname((int) $row["id"], $this, $row["version"], $row["comment"], $row["date"], $row["createdBy"], $row["dir"], $row["orgFileName"], $row["fileType"], $row["mimeType"], $row['fileSize'], $row['checksum']);
$contents[] = $content;
}
return $contents;
} /* }}} */
/**
* Returns all folders of a given user
* @return SeedDMS_Core_Folder[]|bool list of folders
*/
function getFolders() { /* {{{ */
$db = $this->_dms->getDB();
$queryStr = "SELECT * FROM `tblFolders` ".
"WHERE `owner` = " . $this->_id . " ORDER BY `sequence`";
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && !$resArr)
return false;
$folders = array();
$classname = $this->_dms->getClassname('folder');
foreach ($resArr as $row) {
/** @var SeedDMS_Core_Folder $folder */
$folder = new $classname((int) $row["id"], $row["name"], $row['parent'], $row["comment"], $row["date"], $row["owner"], $row["inheritAccess"], $row["defaultAccess"], $row["sequence"]);
$folder->setDMS($this->_dms);
$folders[] = $folder;
}
return $folders;
} /* }}} */
/**
* Get a list of reviews
*

View File

@ -199,6 +199,9 @@ class SeedDMS_Core_Workflow { /* {{{ */
function getNextTransitions($state) { /* {{{ */
$db = $this->_dms->getDB();
if(!$state)
return false;
$queryStr = "SELECT * FROM `tblWorkflowTransitions` WHERE `workflow`=".$this->_id." AND `state`=".$state->getID();
$resArr = $db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)

View File

@ -283,22 +283,26 @@ class SeedDMS_Core_DatabaseAccess {
$dsn = $this->_driver.":".$this->_database;
break;
}
/** @noinspection PhpUndefinedVariableInspection */
$this->_conn = new PDO($dsn, $this->_user, $this->_passw);
if (!$this->_conn)
return false;
try {
/** @noinspection PhpUndefinedVariableInspection */
$this->_conn = new PDO($dsn, $this->_user, $this->_passw);
if (!$this->_conn)
return false;
switch($this->_driver) {
case 'mysql':
$this->_conn->exec('SET NAMES utf8');
/* Turn this on if you want strict checking of default values, etc. */
// $this->_conn->exec("SET SESSION sql_mode = 'STRICT_TRANS_TABLES'");
/* The following is the default on Ubuntu 16.04 */
// $this->_conn->exec("SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'");
break;
case 'sqlite':
$this->_conn->exec('PRAGMA foreign_keys = ON');
break;
switch($this->_driver) {
case 'mysql':
$this->_conn->exec('SET NAMES utf8');
/* Turn this on if you want strict checking of default values, etc. */
/* $this->_conn->exec("SET SESSION sql_mode = 'STRICT_TRANS_TABLES'"); */
/* The following is the default on Ubuntu 16.04 */
/* $this->_conn->exec("SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'"); */
break;
case 'sqlite':
$this->_conn->exec('PRAGMA foreign_keys = ON');
break;
}
} catch (Exception $e) {
return false;
}
if($this->_useviews) {
$tmp = $this->ViewList();
@ -346,6 +350,27 @@ class SeedDMS_Core_DatabaseAccess {
return str_replace('`', '"', $text);
} /* }}} */
/**
* Return sql to concat strings or fields
*
* @param array $arr list of field names or strings
* @return string concated string
*/
function concat($arr) { /* {{{ */
switch($this->_driver) {
case 'mysql':
return 'concat('.implode(',', $arr).')';
break;
case 'pgsql':
return implode(' || ', $arr);
break;
case 'sqlite':
return implode(' || ', $arr);
break;
}
return '';
} /* }}} */
/**
* Execute SQL query and return result
*

View File

@ -12,11 +12,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2021-03-15</date>
<date>2021-04-13</date>
<time>13:44:55</time>
<version>
<release>5.1.22</release>
<api>5.1.22</api>
<release>5.1.23</release>
<api>5.1.23</api>
</version>
<stability>
<release>stable</release>
@ -24,15 +24,19 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- add SeedDMS_Core_DatabaseAccess::hasTable()
- add SeedDMS_Core_User->isType() and SeedDMS_Core_Group->isType()
- add SeedDMS_Core_User->getDMS() and SeedDMS_Core_Group->getDMS()
- add new parameter to SeedDMS_Core_DMS->getDocumentList() for skipping expired documents
- add parameter $incdisabled to SeedDMS_Core_Folder::getNotifyList()
- do not validate value in SeedDMS_Core_Attribute::setValue(), it should have been done before
- SeedDMS_Core_DMS::search() can search for last date of document status change
- smarter caching in SeedDMS_Core_Document::getDocumentFiles() which fixes a potential
problem when removing a document
- SeedDMS_Core_DMS::getTimeline() uses status log instead of document content
- add methods SeedDMS_Core_DocumentContent::getReviewers() and SeedDMS_Core_DocumentContent::getApprovers()
- add methods SeedDMS_Core_DocumentContent::getApproveLog() and SeedDMS_Core_DocumentContent::getReviewLog()
- better handling of document with an empty workflow state
- fix checking of email addresses by using filter_var instead of regex
- add new method SeedDMS_Core_Document::hasCategory()
- add new method SeedDMS_Core_DocumentContent::removeReview()
- add new method SeedDMS_Core_DocumentContent::removeApproval()
- add new method SeedDMS_Core_User::getFolders()
- add new method SeedDMS_Core_User::getDocumentContents()
- add new method SeedDMS_Core_User::getDocumentFiles()
- add new method SeedDMS_Core_User::getDocumentLinks()
- add new type 'foldersperuser' to method SeedDMS_Core_DMS::getStatisticalData()
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -1867,5 +1871,29 @@ add method SeedDMS_Core_DatabaseAccess::setLogFp()
- check if attribute definition exists when setting attributes of folders and documents
</notes>
</release>
<release>
<date>2021-03-15</date>
<time>13:44:55</time>
<version>
<release>5.1.22</release>
<api>5.1.22</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- add SeedDMS_Core_DatabaseAccess::hasTable()
- add SeedDMS_Core_User->isType() and SeedDMS_Core_Group->isType()
- add SeedDMS_Core_User->getDMS() and SeedDMS_Core_Group->getDMS()
- add new parameter to SeedDMS_Core_DMS->getDocumentList() for skipping expired documents
- add parameter $incdisabled to SeedDMS_Core_Folder::getNotifyList()
- do not validate value in SeedDMS_Core_Attribute::setValue(), it should have been done before
- SeedDMS_Core_DMS::search() can search for last date of document status change
- smarter caching in SeedDMS_Core_Document::getDocumentFiles() which fixes a potential
problem when removing a document
</notes>
</release>
</changelog>
</package>

View File

@ -40,9 +40,11 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
protected $cmd;
/**
* Run a shell command
*
* @param $cmd
* @param int $timeout
* @return string
* @return array
* @throws Exception
*/
static function execWithTimeout($cmd, $timeout=2) { /* {{{ */
@ -54,7 +56,11 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
$pipes = array();
$timeout += time();
$process = proc_open($cmd, $descriptorspec, $pipes);
// Putting an 'exec' before the command will not fork the command
// and therefore not create any child process. proc_terminate will
// then reliably terminate the cmd and not just shell. See notes of
// https://www.php.net/manual/de/function.proc-terminate.php
$process = proc_open('exec '.$cmd, $descriptorspec, $pipes);
if (!is_resource($process)) {
throw new Exception("proc_open failed on: " . $cmd);
}
@ -79,11 +85,15 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
$timeleft = $timeout - time();
} while (!feof($pipes[1]) && $timeleft > 0);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
if ($timeleft <= 0) {
proc_terminate($process);
throw new Exception("command timeout on: " . $cmd);
} else {
return array('stdout'=>$output, 'stderr'=>$error);
$return_value = proc_close($process);
return array('stdout'=>$output, 'stderr'=>$error, 'return'=>$return_value);
}
} /* }}} */
@ -210,8 +220,20 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document {
return $this->mimetype;
} /* }}} */
public function setContent($data) { /* {{{ */
$this->addField(Zend_Search_Lucene_Field::UnStored('content', $data, 'utf-8'));
} /* }}} */
public function getCmd() { /* {{{ */
return $this->cmd;
} /* }}} */
/* Use only for setting the command if e.g. an extension takes over the
* conversion to txt (like the office extension which uses the collabora
* conversion service).
*/
public function setCmd($cmd) { /* {{{ */
$this->cmd = $cmd;
} /* }}} */
}
?>

View File

@ -11,11 +11,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2020-12-12</date>
<date>2021-05-10</date>
<time>08:55:43</time>
<version>
<release>1.1.16</release>
<api>1.1.16</api>
<release>1.1.17</release>
<api>1.1.17</api>
</version>
<stability>
<release>stable</release>
@ -23,7 +23,7 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- add indexing of folders
- close pipes in execWithTimeout(), also return exit code of command
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -352,5 +352,21 @@ Index users with at least read access on the document
and SeedDMS_Lucene_Indexer::open()
</notes>
</release>
<release>
<date>2020-12-12</date>
<time>08:55:43</time>
<version>
<release>1.1.16</release>
<api>1.1.16</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- add indexing of folders
</notes>
</release>
</changelog>
</package>

View File

@ -70,6 +70,14 @@ class SeedDMS_Preview_Base {
$this->xsendfile = $xsendfile;
} /* }}} */
/**
* Run a shell command
*
* @param $cmd
* @param int $timeout
* @return array
* @throws Exception
*/
static function execWithTimeout($cmd, $timeout=5) { /* {{{ */
$descriptorspec = array(
0 => array("pipe", "r"),
@ -108,11 +116,15 @@ class SeedDMS_Preview_Base {
$timeleft = $timeout - time();
} while (!feof($pipes[1]) && $timeleft > 0);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
if ($timeleft <= 0) {
proc_terminate($process);
throw new Exception("command timeout on: " . $cmd);
} else {
return array('stdout'=>$output, 'stderr'=>$error);
$return_value = proc_close($process);
return array('stdout'=>$output, 'stderr'=>$error, 'return'=>$return_value);
}
} /* }}} */

View File

@ -89,7 +89,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
* @param string $target optional name of preview image (without extension)
* @return boolean true on success, false on failure
*/
public function createRawPreview($infile, $dir, $mimetype, $width=0, $target='') { /* {{{ */
public function createRawPreview($infile, $dir, $mimetype, $width=0, $target='', &$new=false) { /* {{{ */
if($width == 0)
$width = $this->width;
else
@ -120,6 +120,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
if($cmd) {
try {
self::execWithTimeout($cmd, $this->timeout);
$new = true;
} catch(Exception $e) {
$this->lastpreviewfile = '';
return false;
@ -127,6 +128,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
}
return true;
}
$new = false;
return true;
} /* }}} */
@ -144,7 +146,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
* @param integer $width desired width of preview image
* @return boolean true on success, false on failure
*/
public function createPreview($object, $width=0) { /* {{{ */
public function createPreview($object, $width=0, &$new=false) { /* {{{ */
if(!$object)
return false;
@ -155,7 +157,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base {
$document = $object->getDocument();
$file = $document->_dms->contentDir.$object->getPath();
$target = $this->getFileName($object, $width);
return $this->createRawPreview($file, $document->getDir(), $object->getMimeType(), $width, $target);
return $this->createRawPreview($file, $document->getDir(), $object->getMimeType(), $width, $target, $new);
} /* }}} */
/**

View File

@ -14,8 +14,8 @@
<date>2020-12-23</date>
<time>09:49:39</time>
<version>
<release>1.3.2</release>
<api>1.3.1</api>
<release>1.3.3</release>
<api>1.3.3</api>
</version>
<stability>
<release>stable</release>
@ -23,8 +23,9 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
set header Content-Length
update package description
- close pipes in execWithTimeout(), also return exit code of command
- createPreview() has optional parameter by referenz to return true if a
preview image was actually created
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -453,5 +454,22 @@ add new methode getPreviewFile()
add parameter $target to SeedDMS_Preview_pdfPreviewer::hasRawPreview() and SeedDMS_Preview_pdfPreviewer::getRawPreview()
</notes>
</release>
<release>
<date>2020-12-23</date>
<time>09:49:39</time>
<version>
<release>1.3.2</release>
<api>1.3.1</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
set header Content-Length
update package description
</notes>
</release>
</changelog>
</package>

View File

@ -36,14 +36,14 @@ class SeedDMS_SQLiteFTS_Document {
*/
protected $fields;
public function __get($key) { /* {{{ */
public function ___get($key) { /* {{{ */
if(isset($this->fields[$key]))
return $this->fields[$key];
else
return false;
} /* }}} */
public function addField($key, $value) { /* {{{ */
public function _addField($key, $value) { /* {{{ */
//if($key == 'document_id') {
if($key == 'docid') {
$this->id = $this->fields[$key] = (int) $value;
@ -55,12 +55,63 @@ class SeedDMS_SQLiteFTS_Document {
}
} /* }}} */
public function getFieldValue($key) { /* {{{ */
public function addField(SeedDMS_SQLiteFTS_Field $field) { /* {{{ */
$this->fields[$field->name] = $field;
if($field->name == 'docid') {
$this->id = $field->value;
}
return $this;
} /* }}} */
/**
* Return an array with the names of the fields in this document.
*
* @return array
*/
public function getFieldNames() {
return array_keys($this->fields);
}
public function _getFieldValue($key) { /* {{{ */
if(isset($this->fields[$key]))
return $this->fields[$key];
else
return false;
} /* }}} */
/**
* Proxy method for getFieldValue(), provides more convenient access to
* the string value of a field.
*
* @param string $name
* @return string
*/
public function __get($name) {
return $this->getFieldValue($name);
}
/**
* Returns Zend_Search_Lucene_Field object for a named field in this document.
*
* @param string $fieldName
* @return Zend_Search_Lucene_Field
*/
public function getField($fieldName) {
if (!array_key_exists($fieldName, $this->fields)) {
require_once 'SeedDMS/SQLiteFTS/Exception.php';
throw new SeedDMS_SQLiteFTS_Exception("Field name \"$fieldName\" not found in document.");
}
return $this->fields[$fieldName];
}
/**
* Returns the string value of a named field in this document.
*
* @see __get()
* @return string
*/
public function getFieldValue($fieldName) {
return $this->getField($fieldName)->value;
}
}
?>

View File

@ -0,0 +1,41 @@
<?php
/**
* SeedDMS_SQLiteFTS
*
* @category SeedDMS
* @package SeedDMS
* @copyright Copyright (c) 2021 uwe@steinmann.cx
* @license http://framework.zend.com/license/new-bsd New BSD License
* @version $Id$
*/
/**
* @category SeedDMS
* @package SeedDMS
* @copyright Copyright (c) 2021 uwe@steinmann.cx
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class SeedDMS_SQLiteFTS_Exception extends Exception
{
/**
* Construct the exception
*
* @param string $msg
* @param int $code
* @param Exception $previous
* @return void
*/
public function __construct($msg = '', $code = 0, Exception $previous = null) {
parent::__construct($msg, (int) $code, $previous);
}
/**
* String representation of the exception
*
* @return string
*/
public function __toString() {
return parent::__toString();
}
}

View File

@ -0,0 +1,88 @@
<?php
/**
* Implementation of a field
*
* @category DMS
* @package SeedDMS_SQLiteFTS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010, Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Class for managing a field.
*
* @category DMS
* @package SeedDMS_SQLiteFTS
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2011, Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_SQLiteFTS_Field {
/**
* Field name
*
* @var string
*/
public $name;
/**
* Field value
*
* @var boolean
*/
public $value;
/**
* Object constructor
*
* @param string $name
* @param string $value
*/
public function __construct($name, $value) {
$this->name = $name;
$this->value = $value;
}
/**
* Constructs a String-valued Field that is not tokenized, but is indexed
* and stored. Useful for non-text fields, e.g. date or url.
*
* @param string $name
* @param string $value
* @return SeedDMS_SQLiteFTS_Field
*/
public static function keyword($name, $value) {
return new self($name, $value);
}
/**
* Constructs a String-valued Field that is tokenized and indexed,
* and is stored in the index, for return with hits. Useful for short text
* fields, like "title" or "subject". Term vector will not be stored for this field.
*
* @param string $name
* @param string $value
* @return SeedDMS_SQLiteFTS_Field
*/
public static function text($name, $value) {
return new self($name, $value);
}
/**
* Constructs a String-valued Field that is tokenized and indexed,
* but that is not stored in the index.
*
* @param string $name
* @param string $value
* @return SeedDMS_SQLiteFTS_Field
*/
public static function unStored($name, $value) {
return new self($name, $value);
}
}

View File

@ -15,6 +15,7 @@
* @uses SeedDMS_SQLiteFTS_Document
*/
require_once('Document.php');
require_once('Field.php');
/**
@ -44,6 +45,14 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
*/
protected $cmd;
/**
* Run a shell command
*
* @param $cmd
* @param int $timeout
* @return array
* @throws Exception
*/
static function execWithTimeout($cmd, $timeout=2) { /* {{{ */
$descriptorspec = array(
0 => array("pipe", "r"),
@ -53,7 +62,11 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
$pipes = array();
$timeout += time();
$process = proc_open($cmd, $descriptorspec, $pipes);
// Putting an 'exec' before the command will not fork the command
// and therefore not create any child process. proc_terminate will
// then reliably terminate the cmd and not just shell. See notes of
// https://www.php.net/manual/de/function.proc-terminate.php
$process = proc_open('exec '.$cmd, $descriptorspec, $pipes);
if (!is_resource($process)) {
throw new Exception("proc_open failed on: " . $cmd);
}
@ -78,11 +91,15 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
$timeleft = $timeout - time();
} while (!feof($pipes[1]) && $timeleft > 0);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
if ($timeleft <= 0) {
proc_terminate($process);
throw new Exception("command timeout on: " . $cmd);
} else {
return array('stdout'=>$output, 'stderr'=>$error);
$return_value = proc_close($process);
return array('stdout'=>$output, 'stderr'=>$error, 'return'=>$return_value);
}
} /* }}} */
@ -95,50 +112,50 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
$this->cmd = '';
$this->mimetype = '';
$this->addField('title', $document->getName());
$this->addField(SeedDMS_SQLiteFTS_Field::Text('title', $document->getName()));
if($acllist = $document->getReadAccessList(1, 1, 1)) {
$allu = [];
foreach($acllist['users'] as $u)
$allu[] = $u->getLogin();
$this->addField('users', implode(' ', $allu));
$this->addField(SeedDMS_SQLiteFTS_Field::Text('users', implode(' ', $allu)));
/*
$allg = [];
foreach($acllist['groups'] as $g)
$allg[] = $g->getName();
$this->addField('groups', implode(' ', $allg));
$this->addField(SeedDMS_SQLiteFTS_Field::Text('groups', implode(' ', $allg)));
*/
}
if($attributes = $document->getAttributes()) {
foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition();
if($attrdef->getValueSet() != '')
$this->addField('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue());
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()));
else
$this->addField('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue());
$this->addField(SeedDMS_SQLiteFTS_Field::Text('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()));
}
}
$owner = $document->getOwner();
$this->addField('owner', $owner->getLogin());
$this->addField('path', str_replace(':', 'x', $document->getFolderList()));
$this->addField(SeedDMS_SQLiteFTS_Field::Text('owner', $owner->getLogin()));
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('path', str_replace(':', 'x', $document->getFolderList())));
if($comment = $document->getComment()) {
$this->addField('comment', $comment);
$this->addField(SeedDMS_SQLiteFTS_Field::Text('comment', $comment));
}
if($document->isType('document')) {
$this->addField('document_id', 'D'.$document->getID());
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('document_id', 'D'.$document->getID()));
$version = $document->getLatestContent();
if($version) {
$this->addField('mimetype', $version->getMimeType());
$this->addField('origfilename', $version->getOriginalFileName());
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('mimetype', $version->getMimeType()));
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('origfilename', $version->getOriginalFileName()));
if(!$nocontent)
$this->addField('created', $version->getDate(), 'unindexed');
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('created', $version->getDate(), 'unindexed'));
if($attributes = $version->getAttributes()) {
foreach($attributes as $attribute) {
$attrdef = $attribute->getAttributeDefinition();
if($attrdef->getValueSet() != '')
$this->addField('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue());
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()));
else
$this->addField('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue());
$this->addField(SeedDMS_SQLiteFTS_Field::Text('attr_'.str_replace(' ', '_', $attrdef->getName()), $attribute->getValue()));
}
}
}
@ -147,14 +164,14 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
foreach($categories as $cat) {
$names[] = $cat->getName();
}
$this->addField('category', implode(' ', $names));
$this->addField(SeedDMS_SQLiteFTS_Field::Text('category', implode(' ', $names)));
}
if($keywords = $document->getKeywords()) {
$this->addField('keywords', $keywords);
$this->addField(SeedDMS_SQLiteFTS_Field::Text('keywords', $keywords));
}
if($version) {
$status = $version->getStatus();
$this->addField('status', $status['status']+10);
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('status', $status['status']+10));
}
if($version && !$nocontent) {
$path = $dms->contentDir . $version->getPath();
@ -176,7 +193,7 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
try {
$content = self::execWithTimeout($cmd, $timeout);
if($content['stdout']) {
$this->addField('content', $content['stdout'], 'unstored');
$this->addField(SeedDMS_SQLiteFTS_Field::UnStored('content', $content['stdout']));
}
if($content['stderr']) {
$this->errormsg = $content['stderr'];
@ -187,7 +204,8 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
}
}
} elseif($document->isType('folder')) {
$this->addField('document_id', 'F'.$document->getID());
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('document_id', 'F'.$document->getID()));
$this->addField(SeedDMS_SQLiteFTS_Field::Keyword('created', $document->getDate(), 'unindexed'));
}
} /* }}} */
@ -199,8 +217,20 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document {
return $this->mimetype;
} /* }}} */
public function setContent($data) { /* {{{ */
$this->addField(SeedDMS_SQLiteFTS_Field::Text('content', $data));
} /* }}} */
public function getCmd() { /* {{{ */
return $this->cmd;
} /* }}} */
/* Use only for setting the command if e.g. an extension takes over the
* conversion to txt (like the office extension which uses the collabora
* conversion service).
*/
public function setCmd($cmd) { /* {{{ */
$this->cmd = $cmd;
} /* }}} */
}
?>

View File

@ -23,18 +23,31 @@
* @version Release: @package_version@
*/
class SeedDMS_SQLiteFTS_Indexer {
/**
* @var string $ftstype
* @access protected
*/
protected $_ftstype;
/**
* @var object $index sqlite index
* @access protected
*/
protected $_conn;
const ftstype = 'fts5';
/**
* Constructor
*
*/
function __construct($indexerDir) { /* {{{ */
$this->_conn = new PDO('sqlite:'.$indexerDir.'/index.db');
$this->_ftstype = self::ftstype;
if($this->_ftstype == 'fts5')
$this->_rawid = 'rowid';
else
$this->_rawid = 'docid';
} /* }}} */
/**
@ -62,19 +75,33 @@ class SeedDMS_SQLiteFTS_Indexer {
* in SeedDMS_SQLiteFTS_Term
*/
$version = SQLite3::version();
if($version['versionNumber'] >= 3008000)
$sql = 'CREATE VIRTUAL TABLE docs USING fts4(documentid, title, comment, keywords, category, mimetype, origfilename, owner, content, created, users, status, path, notindexed=created, matchinfo=fts3)';
else
$sql = 'CREATE VIRTUAL TABLE docs USING fts4(documentid, title, comment, keywords, category, mimetype, origfilename, owner, content, created, users, status, path, matchinfo=fts3)';
$res = $index->_conn->exec($sql);
if($res === false) {
if(self::ftstype == 'fts4') {
if($version['versionNumber'] >= 3008000)
$sql = 'CREATE VIRTUAL TABLE docs USING fts4(documentid, title, comment, keywords, category, mimetype, origfilename, owner, content, created, users, status, path, notindexed=created, matchinfo=fts3)';
else
$sql = 'CREATE VIRTUAL TABLE docs USING fts4(documentid, title, comment, keywords, category, mimetype, origfilename, owner, content, created, users, status, path, matchinfo=fts3)';
$res = $index->_conn->exec($sql);
if($res === false) {
return null;
}
$sql = 'CREATE VIRTUAL TABLE docs_terms USING fts4aux(docs);';
$res = $index->_conn->exec($sql);
if($res === false) {
return null;
}
} elseif(self::ftstype == 'fts5') {
$sql = 'CREATE VIRTUAL TABLE docs USING fts5(documentid, title, comment, keywords, category, mimetype, origfilename, owner, content, created unindexed, users, status, path)';
$res = $index->_conn->exec($sql);
if($res === false) {
return null;
}
$sql = 'CREATE VIRTUAL TABLE docs_terms USING fts5vocab(docs, \'col\');';
$res = $index->_conn->exec($sql);
if($res === false) {
return null;
}
} else
return null;
}
$sql = 'CREATE VIRTUAL TABLE docs_terms USING fts4aux(docs);';
$res = $index->_conn->exec($sql);
if($res === false) {
return null;
}
return($index);
} /* }}} */
@ -96,7 +123,14 @@ class SeedDMS_SQLiteFTS_Indexer {
if(!$this->_conn)
return false;
$sql = "INSERT INTO docs (documentid, title, comment, keywords, category, owner, content, mimetype, origfilename, created, users, status, path) VALUES (".$this->_conn->quote($doc->getFieldValue('document_id')).", ".$this->_conn->quote($doc->getFieldValue('title')).", ".$this->_conn->quote($doc->getFieldValue('comment')).", ".$this->_conn->quote($doc->getFieldValue('keywords')).", ".$this->_conn->quote($doc->getFieldValue('category')).", ".$this->_conn->quote($doc->getFieldValue('owner')).", ".$this->_conn->quote($doc->getFieldValue('content')).", ".$this->_conn->quote($doc->getFieldValue('mimetype')).", ".$this->_conn->quote($doc->getFieldValue('origfilename')).", ".(int)$doc->getFieldValue('created').", ".$this->_conn->quote($doc->getFieldValue('users')).", ".$this->_conn->quote($doc->getFieldValue('status')).", ".$this->_conn->quote($doc->getFieldValue('path'))/*time()*/.")";
foreach(array('comment', 'keywords', 'category', 'content', 'mimetype', 'origfilename', 'status', 'created') as $kk) {
try {
${$kk} = $doc->getFieldValue($kk);
} catch (Exception $e) {
${$kk} = '';
}
}
$sql = "INSERT INTO docs (documentid, title, comment, keywords, category, owner, content, mimetype, origfilename, created, users, status, path) VALUES (".$this->_conn->quote($doc->getFieldValue('document_id')).", ".$this->_conn->quote($doc->getFieldValue('title')).", ".$this->_conn->quote($comment).", ".$this->_conn->quote($keywords).", ".$this->_conn->quote($category).", ".$this->_conn->quote($doc->getFieldValue('owner')).", ".$this->_conn->quote($content).", ".$this->_conn->quote($mimetype).", ".$this->_conn->quote($origfilename).", ".(int)$created.", ".$this->_conn->quote($doc->getFieldValue('users')).", ".$this->_conn->quote($status).", ".$this->_conn->quote($doc->getFieldValue('path'))/*time()*/.")";
$res = $this->_conn->exec($sql);
if($res === false) {
return false;
@ -116,7 +150,7 @@ class SeedDMS_SQLiteFTS_Indexer {
if(!$this->_conn)
return false;
$sql = "DELETE FROM docs WHERE docid=".(int) $id;
$sql = "DELETE FROM docs WHERE ".$this->_rawid."=".(int) $id;
$res = $this->_conn->exec($sql);
return $res;
} /* }}} */
@ -138,7 +172,7 @@ class SeedDMS_SQLiteFTS_Indexer {
* @param string $query
* @param array $limit array with elements 'limit' and 'offset'
* @return boolean false in case of an error, otherwise array with elements
* 'count', 'hits', 'facets'
* 'count', 'hits', 'facets'. 'hits' is an array of SeedDMS_SQLiteFTS_QueryHit
*/
public function find($query, $limit=array()) { /* {{{ */
if(!$this->_conn)
@ -148,12 +182,17 @@ class SeedDMS_SQLiteFTS_Indexer {
if($query)
$sql .= " WHERE docs MATCH ".$this->_conn->quote($query);
$res = $this->_conn->query($sql);
if(!$res)
return false;
$row = $res->fetch();
$sql = "SELECT docid, documentid FROM docs";
$sql = "SELECT ".$this->_rawid.", documentid FROM docs";
if($query)
$sql .= " WHERE docs MATCH ".$this->_conn->quote($query);
$res = $this->_conn->query($sql);
if($this->_ftstype == 'fts5')
//$sql .= " ORDER BY rank";
// boost documentid, title and comment
$sql .= " ORDER BY bm25(docs, 10.0, 10.0, 10.0)";
if(!empty($limit['limit']))
$sql .= " LIMIT ".(int) $limit['limit'];
if(!empty($limit['offset']))
@ -163,7 +202,7 @@ class SeedDMS_SQLiteFTS_Indexer {
if($res) {
foreach($res as $rec) {
$hit = new SeedDMS_SQLiteFTS_QueryHit($this);
$hit->id = $rec['docid'];
$hit->id = $rec[$this->_rawid];
$hit->documentid = $rec['documentid'];
$hits[] = $hit;
}
@ -174,20 +213,21 @@ class SeedDMS_SQLiteFTS_Indexer {
/**
* Get a single document from index
*
* @param integer $id id of document
* @param string $id id of document
* @return boolean false in case of an error, otherwise true
*/
public function findById($id) { /* {{{ */
if(!$this->_conn)
return false;
$sql = "SELECT docid FROM docs WHERE docid=".(int) $id;
$sql = "SELECT ".$this->_rawid.", documentid FROM docs WHERE documentid=".$this->_conn->quote($id);
$res = $this->_conn->query($sql);
$hits = array();
if($res) {
while($rec = $res->fetch(PDO::FETCH_ASSOC)) {
$hit = new SeedDMS_SQLiteFTS_QueryHit($this);
$hit->id = $rec['docid'];
$hit->id = $rec[$this->_rawid];
$hit->documentid = $rec['documentid'];
$hits[] = $hit;
}
}
@ -200,57 +240,32 @@ class SeedDMS_SQLiteFTS_Indexer {
* @param integer $id id of index record
* @return boolean false in case of an error, otherwise true
*/
public function getDocument($id) { /* {{{ */
public function getDocument($id, $content=true) { /* {{{ */
if(!$this->_conn)
return false;
$sql = "SELECT docid, documentid, title, comment, owner, keywords, category, mimetype, origfilename, created, users, status, path FROM docs WHERE docid=".$id;
$sql = "SELECT ".$this->_rawid.", documentid, title, comment, owner, keywords, category, mimetype, origfilename, created, users, status, path".($content ? ", content" : "")." FROM docs WHERE ".$this->_rawid."='".$id."'";
$res = $this->_conn->query($sql);
$doc = false;
if($res) {
$rec = $res->fetch(PDO::FETCH_ASSOC);
if(!($rec = $res->fetch(PDO::FETCH_ASSOC)))
return false;
$doc = new SeedDMS_SQLiteFTS_Document();
$doc->addField('docid', $rec['docid']);
$doc->addField('document_id', $rec['documentid']);
$doc->addField('title', $rec['title']);
$doc->addField('comment', $rec['comment']);
$doc->addField('keywords', $rec['keywords']);
$doc->addField('category', $rec['category']);
$doc->addField('mimetype', $rec['mimetype']);
$doc->addField('origfilename', $rec['origfilename']);
$doc->addField('owner', $rec['owner']);
$doc->addField('created', $rec['created']);
$doc->addField('users', $rec['users']);
$doc->addField('status', $rec['status']);
$doc->addField('path', $rec['path']);
}
return $doc;
} /* }}} */
/**
* Get a single folder from index
*
* @param integer $id id of folder
* @return boolean false in case of an error, otherwise true
*/
public function getFolder($id) { /* {{{ */
if(!$this->_conn)
return false;
$sql = "SELECT docid, documentid, title, comment, owner, keywords, category, mimetype, origfilename, created, users, status, path FROM docs WHERE documentid='F".$id."'";
$res = $this->_conn->query($sql);
$doc = false;
if($res) {
$rec = $res->fetch(PDO::FETCH_ASSOC);
$doc = new SeedDMS_SQLiteFTS_Document();
$doc->addField('docid', $rec['docid']);
$doc->addField('document_id', $rec['documentid']);
$doc->addField('title', $rec['title']);
$doc->addField('comment', $rec['comment']);
$doc->addField('owner', $rec['owner']);
$doc->addField('created', $rec['created']);
$doc->addField('users', $rec['users']);
$doc->addField('path', $rec['path']);
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('docid', $rec[$this->_rawid]));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('document_id', $rec['documentid']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('title', $rec['title']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('comment', $rec['comment']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('keywords', $rec['keywords']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('category', $rec['category']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('mimetype', $rec['mimetype']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('origfilename', $rec['origfilename']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('owner', $rec['owner']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('created', $rec['created']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Text('users', $rec['users']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('status', $rec['status']));
$doc->addField(SeedDMS_SQLiteFTS_Field::Keyword('path', $rec['path']));
if($content)
$doc->addField(SeedDMS_SQLiteFTS_Field::UnStored('content', $rec['content']));
}
return $doc;
} /* }}} */
@ -264,7 +279,10 @@ class SeedDMS_SQLiteFTS_Indexer {
if(!$this->_conn)
return false;
$sql = "SELECT term, col, occurrences FROM docs_terms WHERE col!='*' ORDER BY col";
if($this->_ftstype == 'fts5')
$sql = "SELECT term, col, doc as occurrences FROM docs_terms WHERE col!='*' ORDER BY col";
else
$sql = "SELECT term, col, occurrences FROM docs_terms WHERE col!='*' ORDER BY col";
$res = $this->_conn->query($sql);
$terms = array();
if($res) {

View File

@ -45,23 +45,23 @@ class SeedDMS_SQliteFTS_Search {
/**
* Get document from index
*
* @param int $id real document id
* @param int $id id of seeddms document
* @return object instance of SeedDMS_SQliteFTS_QueryHit or false
*/
function getDocument($id) { /* {{{ */
$hits = $this->index->find('D'.$id);
return $hits['hits'] ? $hits['hits'][0] : false;
$hits = $this->index->findById('D'.$id);
return $hits ? $hits[0] : false;
} /* }}} */
/**
* Get folder from index
*
* @param int $id real folder id
* @param int $id id of seeddms folder
* @return object instance of SeedDMS_SQliteFTS_QueryHit or false
*/
function getFolder($id) { /* {{{ */
$hits = $this->index->find('F'.$id);
return $hits['hits'] ? $hits['hits'][0] : false;
$hits = $this->index->findById('F'.$id);
return $hits ? $hits[0] : false;
} /* }}} */
/**
@ -79,11 +79,11 @@ class SeedDMS_SQliteFTS_Search {
if(!empty($fields['owner'])) {
if(is_string($fields['owner'])) {
if($querystr)
$querystr .= ' ';
$querystr .= ' AND ';
$querystr .= 'owner:'.$fields['owner'];
} elseif(is_array($fields['owner'])) {
if($querystr)
$querystr .= ' ';
$querystr .= ' AND ';
$querystr .= '(owner:';
$querystr .= implode(' OR owner:', $fields['owner']);
$querystr .= ')';
@ -91,14 +91,14 @@ class SeedDMS_SQliteFTS_Search {
}
if(!empty($fields['category'])) {
if($querystr)
$querystr .= ' ';
$querystr .= ' AND ';
$querystr .= '(category:';
$querystr .= implode(' OR category:', $fields['category']);
$querystr .= ')';
}
if(!empty($fields['status'])) {
if($querystr)
$querystr .= ' ';
$querystr .= ' AND ';
$status = array_map(function($v){return $v+10;}, $fields['status']);
$querystr .= '(status:';
$querystr .= implode(' OR status:', $status);
@ -106,21 +106,21 @@ class SeedDMS_SQliteFTS_Search {
}
if(!empty($fields['user'])) {
if($querystr)
$querystr .= ' ';
$querystr .= ' AND ';
$querystr .= '(users:';
$querystr .= implode(' OR users:', $fields['user']);
$querystr .= ')';
}
if(!empty($fields['rootFolder']) && $fields['rootFolder']->getFolderList()) {
if($querystr)
$querystr .= ' ';
$querystr .= ' AND ';
$querystr .= '(path:';
$querystr .= str_replace(':', 'x', $fields['rootFolder']->getFolderList().$fields['rootFolder']->getID().':');
$querystr .= ')';
}
if(!empty($fields['startFolder']) && $fields['startFolder']->getFolderList()) {
if($querystr)
$querystr .= ' ';
$querystr .= ' AND ';
$querystr .= '(path:';
$querystr .= str_replace(':', 'x', $fields['startFolder']->getFolderList().$fields['startFolder']->getID().':');
$querystr .= ')';

View File

@ -62,7 +62,11 @@ class SeedDMS_SQLiteFTS_Term {
11 => 'status',
12 => 'path'
);
$this->field = $fields[$col];
/* fts5 pass the column name in $col, fts4 uses an integer */
if(is_int($col))
$this->field = $fields[$col];
else
$this->field = $col; //$fields[$col];
$this->_occurrence = $occurrence;
} /* }}} */

View File

@ -11,11 +11,11 @@
<email>uwe@steinmann.cx</email>
<active>yes</active>
</lead>
<date>2020-12-12</date>
<date>2021-05-10</date>
<time>08:57:44</time>
<version>
<release>1.0.15</release>
<api>1.0.15</api>
<release>1.0.16</release>
<api>1.0.16</api>
</version>
<stability>
<release>stable</release>
@ -23,7 +23,9 @@
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- add indexing folders
- close pipes in execWithTimeout(), also return exit code of command
- add support for fts5 (make it the default)
- add class SeedDMS_SQLiteFTS_Field
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">
@ -46,6 +48,12 @@
<file name="Term.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Field.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
<file name="Exception.php" role="php">
<tasks:replace from="@package_version@" to="version" type="package-info" />
</file>
</dir> <!-- /SQLiteFTS -->
<dir name="tests">
</dir> <!-- /tests -->
@ -312,5 +320,21 @@ add user to list of terms
and SeedDMS_Lucene_Indexer::open()
</notes>
</release>
<release>
<date>2020-12-12</date>
<time>08:57:44</time>
<version>
<release>1.0.15</release>
<api>1.0.15</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
- add indexing folders
</notes>
</release>
</changelog>
</package>

View File

@ -52,7 +52,7 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
$expires = $this->params['expires'];
$oldexpires = $document->getExpires();
if ($expires != $oldexpires) {
if(!$this->callHook('preSetExpires', $document, $expires)) {
if(false === $this->callHook('preSetExpires', $document, $expires)) {
}
if(!$document->setExpires($expires)) {
@ -61,21 +61,21 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
$document->verifyLastestContentExpriry();
if(!$this->callHook('postSetExpires', $document, $expires)) {
if(false === $this->callHook('postSetExpires', $document, $expires)) {
}
}
$keywords = $this->params['keywords'];
$oldkeywords = $document->getKeywords();
if ($oldkeywords != $keywords) {
if(!$this->callHook('preSetKeywords', $document, $keywords, $oldkeywords)) {
if(false === $this->callHook('preSetKeywords', $document, $keywords, $oldkeywords)) {
}
if(!$document->setKeywords($keywords)) {
return false;
}
if(!$this->callHook('postSetKeywords', $document, $keywords, $oldkeywords)) {
if(false === $this->callHook('postSetKeywords', $document, $keywords, $oldkeywords)) {
}
}
@ -95,21 +95,21 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
if (count($categoriesarr) != count($oldcategories) ||
array_diff($categories, $oldcatsids)) {
if(!$this->callHook('preSetCategories', $document, $categoriesarr, $oldcategories)) {
if(false === $this->callHook('preSetCategories', $document, $categoriesarr, $oldcategories)) {
}
if(!$document->setCategories($categoriesarr)) {
return false;
}
if(!$this->callHook('postSetCategories', $document, $categoriesarr, $oldcategories)) {
if(false === $this->callHook('postSetCategories', $document, $categoriesarr, $oldcategories)) {
}
}
} elseif($oldcategories) {
if(!$this->callHook('preSetCategories', $document, array(), $oldcategories)) {
if(false === $this->callHook('preSetCategories', $document, array(), $oldcategories)) {
}
if(!$document->setCategories(array())) {
return false;
}
if(!$this->callHook('postSetCategories', $document, array(), $oldcategories)) {
if(false === $this->callHook('postSetCategories', $document, array(), $oldcategories)) {
}
}
@ -180,7 +180,7 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common {
return false;
}
if(!$this->callHook('postEditDocument')) {
if(false === $this->callHook('postEditDocument')) {
}
return true;

View File

@ -108,7 +108,7 @@ class SeedDMS_Controller_EditFolder extends SeedDMS_Controller_Common {
return false;
}
if(!$this->callHook('postEditFolder')) {
if(false === $this->callHook('postEditFolder')) {
}
return true;

View File

@ -68,7 +68,7 @@ class SeedDMS_Controller_EmptyFolder extends SeedDMS_Controller_Common {
return false;
}
if(!$this->callHook('postEmptyFolder')) {
if(false === $this->callHook('postEmptyFolder')) {
}
return true;

View File

@ -58,17 +58,15 @@ class SeedDMS_Controller_Login extends SeedDMS_Controller_Common {
*/
if(!$user && $settings->_enableGuestLogin && (int) $settings->_guestID) {
$guestUser = $dms->getUser((int) $settings->_guestID);
if(!$guestUser) {
$this->setErrorMsg("login_error_text");
return false;
}
if(($login != $guestUser->getLogin())) {
if ((!isset($pwd) || strlen($pwd)==0)) {
$this->setErrorMsg("login_error_text");
return false;
if($guestUser) {
if(($login != $guestUser->getLogin())) {
if ((!isset($pwd) || strlen($pwd)==0)) {
$this->setErrorMsg("login_error_text");
return false;
}
} else {
$user = $guestUser;
}
} else {
$user = $guestUser;
}
}

View File

@ -43,6 +43,9 @@ class SeedDMS_Controller_RemoveDocument extends SeedDMS_Controller_Common {
$result = $this->callHook('removeDocument', $document);
if($result === null) {
require_once("SeedDMS/Preview.php");
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir);
$previewer->deleteDocumentPreviews($document);
if (!$document->remove()) {
if($dms->lasterror)
$this->errormsg = $dms->lasterror;
@ -65,7 +68,7 @@ class SeedDMS_Controller_RemoveDocument extends SeedDMS_Controller_Common {
}
}
if(!$this->callHook('postRemoveDocument')) {
if(false === $this->callHook('postRemoveDocument')) {
}
return true;

View File

@ -22,7 +22,33 @@
*/
class SeedDMS_Controller_RemoveFolder extends SeedDMS_Controller_Common {
public function run() {
/* Register a callback which removes each document from the fulltext index
* The callback must return null otherwise the removal will be canceled.
*/
static function removeFromIndex($arr, $document) { /* {{{ */
$fulltextservice = $arr[0];
$lucenesearch = $fulltextservice->Search();
$hit = null;
if($document->isType('document'))
$hit = $lucenesearch->getDocument($document->getID());
elseif($document->isType('folder'))
$hit = $lucenesearch->getFolder($document->getID());
if($hit) {
$index = $fulltextservice->Indexer();
$index->delete($hit->id);
$index->commit();
}
return null;
} /* }}} */
static function removePreviews($arr, $document) { /* {{{ */
$previewer = $arr[0];
$previewer->deleteDocumentPreviews($document);
return null;
} /* }}} */
public function run() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
@ -41,38 +67,19 @@ class SeedDMS_Controller_RemoveFolder extends SeedDMS_Controller_Common {
$result = $this->callHook('removeFolder', $folder);
if($result === null) {
/* Register a callback which removes each document from the fulltext index
* The callback must return null other the removal will be canceled.
*/
function removeFromIndex($arr, $document) {
$fulltextservice = $arr[0];
$lucenesearch = $fulltextservice->Search();
$hit = null;
if($document->isType('document'))
$hit = $lucenesearch->getDocument($document->getID());
elseif($document->isType('folder'))
$hit = $lucenesearch->getFolder($document->getID());
if($hit) {
$index = $fulltextservice->Indexer();
$index->delete($hit->id);
$index->commit();
}
return null;
}
if($fulltextservice && ($index = $fulltextservice->Indexer())) {
$dms->addCallback('onPreRemoveDocument', 'removeFromIndex', array($fulltextservice));
$dms->addCallback('onPreRemoveFolder', 'removeFromIndex', array($fulltextservice));
/* Register a callback which is called by SeedDMS_Core when a folder
* or document is removed. The second parameter passed to this callback
* is the document or folder to be removed.
*/
$dms->addCallback('onPreRemoveDocument', 'SeedDMS_Controller_RemoveFolder::removeFromIndex', array($fulltextservice));
$dms->addCallback('onPreRemoveFolder', 'SeedDMS_Controller_RemoveFolder::removeFromIndex', array($fulltextservice));
}
function removePreviews($arr, $document) {
$previewer = $arr[0];
$previewer->deleteDocumentPreviews($document);
return null;
}
/* Register another callback which removes the preview images of the document */
require_once("SeedDMS/Preview.php");
$previewer = new SeedDMS_Preview_Previewer($settings->_cacheDir);
$dms->addCallback('onPreRemoveDocument', 'removePreviews', array($previewer));
$dms->addCallback('onPreRemoveDocument', 'SeedDMS_Controller_RemoveFolder::removePreviews', array($previewer));
if (!$folder->remove()) {
$this->errormsg = 'error_occured';
@ -84,9 +91,9 @@ class SeedDMS_Controller_RemoveFolder extends SeedDMS_Controller_Common {
return false;
}
if(!$this->callHook('postRemoveFolder')) {
if(false === $this->callHook('postRemoveFolder')) {
}
return true;
}
} /* }}} */
}

View File

@ -42,7 +42,7 @@ class SeedDMS_Controller_TransferDocument extends SeedDMS_Controller_Common {
if (!$document->transferToUser($newuser)) {
return false;
} else {
if(!$this->callHook('postTransferDocument')) {
if(false === $this->callHook('postTransferDocument')) {
}
}
}

View File

@ -88,7 +88,7 @@ class SeedDMS_Controller_UpdateDocument extends SeedDMS_Controller_Common {
}
}
if(!$this->callHook('postUpdateDocument', $document, $content)) {
if(false === $this->callHook('postUpdateDocument', $document, $content)) {
}
return $content;

View File

@ -27,6 +27,12 @@ text/html
Many office formats
unoconv -d document -f txt --stdout '%s'
Apache Tika is another option for creating plain text from various document
types. Just use curl to send the document to your tika server and get the
plain text in return.
curl -s -T '%s' http://localhost:9998/tika --header 'Accept: text/plain'
Conversion to pdf for pdf preview
==================================

View File

@ -41,8 +41,18 @@ The fastes way to get SeedDMS running is by unpacking the archive
Let's assume you use seeddms-quickstart-5.1.10.tar.gz.
It will create a new directory `seeddms51x` containing everything you
need to run SeedDMS with sqlite3.
Setting up the web server
--------------------------
First you will need to set up your web server. Here, we will only focus
on apache.
Either let the document root of your web server point to the directory `www`
below `seeddms51x` or add an alias. For apache this could be like
below `seeddms51x`
DocumentRoot /var/www/seeddms51x/www
or add an alias. For apache this could be like
Alias /seeddms51x /<some directory>/seeddms51x/www
@ -52,11 +62,16 @@ Alias /mydms /<some directory>/seeddms51x/www
Do not set the DocumentRoot or Alias to
the `seeddms51x` directory, because this will allow anybody to access
your `data` and `conf` directory. This is a major security risk.
your `data` and `conf` directory if it is not secured by a .htaccess file.
This is a major security risk.
Make sure that the subdirectory `seeddms51x/data` and the configuration file
`seeddms51/conf/settings.xml` is writeable by your web server. All other
directories must just be readable by your web server.
directories can be just readable by your web server, though it is advisable
to even protect them from writing.
Adjusting the configuration of SeedDMS
---------------------------------------
In the next step you need to adjust the configuration file in
`seeddms51x/conf/settings.xml`. Open the file in your favorite text editor
@ -69,9 +84,9 @@ set an alias like described above).
It will first ask to unlock the installer by creating a file
`ENABLE_INSTALL_TOOL` in the diretory `seeddms51x/conf/`. Change all paths by
replacing `/home/wwww-data` with your base directory where you put seeddms51x.
replacing `/home/www-data` with your base directory where you put seeddms51x.
Set httpRoot to '/' (if the document root points to`seeddms51x/www`) or
'/seeddms51x' (if you have set an alias like described above).
'/seeddms51x' (if you have set an alias `seeddms51x` like described above).
Once your configuration is done,
save it, remove the file `ENABLE_INSTALL_TOOL` and point your browser to

View File

@ -16,6 +16,7 @@ require_once("inc.Utils.php");
require_once("inc.ClassNotificationService.php");
require_once("inc.ClassEmailNotify.php");
require_once("inc.ClassSession.php");
require_once("inc.ClassAccessOperation.php");
$refer = $_SERVER["REQUEST_URI"];
if (!strncmp("/op", $refer, 3)) {
@ -128,6 +129,5 @@ if (!$user->isAdmin()) {
/* Update cookie lifetime */
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, $lifetime, $settings->_httpRoot, null, false, true);
}

View File

@ -107,10 +107,11 @@ class SeedDMS_AccessOperation {
*/
function mayOverwriteStatus() { /* {{{ */
if($this->obj->isType('document')) {
$latestContent = $this->obj->getLatestContent();
$status = $latestContent->getStatus();
if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED || $status["status"]==S_OBSOLETE )) {
return true;
if($latestContent = $this->obj->getLatestContent()) {
$status = $latestContent->getStatus();
if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED || $status["status"]==S_OBSOLETE )) {
return true;
}
}
}
return false;
@ -128,22 +129,23 @@ class SeedDMS_AccessOperation {
*/
function maySetReviewersApprovers() { /* {{{ */
if($this->obj->isType('document')) {
$latestContent = $this->obj->getLatestContent();
$status = $latestContent->getStatus();
$reviewstatus = $latestContent->getReviewStatus();
$hasreview = false;
foreach($reviewstatus as $r) {
if($r['status'] == 1 || $r['status'] == -1)
$hasreview = true;
}
$approvalstatus = $latestContent->getApprovalStatus();
$hasapproval = false;
foreach($approvalstatus as $r) {
if($r['status'] == 1 || $r['status'] == -1)
$hasapproval = true;
}
if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (($status["status"]==S_DRAFT_REV && !$hasreview) || ($status["status"]==S_DRAFT_APP && !$hasreview && !$hasapproval))) {
return true;
if($latestContent = $this->obj->getLatestContent()) {
$status = $latestContent->getStatus();
$reviewstatus = $latestContent->getReviewStatus();
$hasreview = false;
foreach($reviewstatus as $r) {
if($r['status'] == 1 || $r['status'] == -1)
$hasreview = true;
}
$approvalstatus = $latestContent->getApprovalStatus();
$hasapproval = false;
foreach($approvalstatus as $r) {
if($r['status'] == 1 || $r['status'] == -1)
$hasapproval = true;
}
if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (($status["status"]==S_DRAFT_REV && !$hasreview) || ($status["status"]==S_DRAFT_APP && !$hasreview && !$hasapproval))) {
return true;
}
}
}
return false;
@ -160,10 +162,12 @@ class SeedDMS_AccessOperation {
*/
function maySetWorkflow() { /* {{{ */
if($this->obj->isType('document')) {
$latestContent = $this->obj->getLatestContent();
$workflow = $latestContent->getWorkflow();
if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (!$workflow || ($workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()))) {
return true;
if($latestContent = $this->obj->getLatestContent()) {
$workflow = $latestContent->getWorkflow();
$workflowstate = $latestContent->getWorkflowState();
if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (!$workflow || ($workflowstate && ($workflow->getInitState()->getID() == $workflowstate->getID())))) {
return true;
}
}
}
return false;
@ -177,10 +181,11 @@ class SeedDMS_AccessOperation {
*/
function maySetExpires() { /* {{{ */
if($this->obj->isType('document')) {
$latestContent = $this->obj->getLatestContent();
$status = $latestContent->getStatus();
if ((($this->obj->getAccessMode($this->user) == M_ALL) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) {
return true;
if($latestContent = $this->obj->getLatestContent()) {
$status = $latestContent->getStatus();
if ((($this->obj->getAccessMode($this->user) == M_ALL) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) {
return true;
}
}
}
return false;
@ -191,22 +196,25 @@ class SeedDMS_AccessOperation {
*
* This check can only be done for documents. Setting the documents
* comment date is only allowed if version modification is turned on in
* the settings and the document has not been obsoleted.
* the settings and the document has not been obsoleted or expired.
* The admin may set the comment even if is
* disallowed in the settings.
*/
function mayEditComment() { /* {{{ */
if($this->obj->isType('document')) {
if($this->obj->getAccessMode($this->user) < M_READWRITE)
return false;
if($this->obj->isLocked()) {
$lockingUser = $this->obj->getLockingUser();
if (($lockingUser->getID() != $this->user->getID()) && ($this->obj->getAccessMode($this->user) != M_ALL)) {
return false;
}
}
$latestContent = $this->obj->getLatestContent();
$status = $latestContent->getStatus();
if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) >= M_READWRITE)) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) {
return true;
if($latestContent = $this->obj->getLatestContent()) {
$status = $latestContent->getStatus();
if (($this->settings->_enableVersionModification || $this->user->isAdmin()) && !in_array($status["status"], array(S_OBSOLETE, S_EXPIRED))) {
return true;
}
}
}
return false;
@ -217,17 +225,20 @@ class SeedDMS_AccessOperation {
*
* Setting the object attributes
* is only allowed if version modification is turned on in
* the settings and the document has not been obsoleted.
* The admin may set the comment even if is
* disallowed in the settings.
* the settings or the document is still in an approval/review
* or intial workflow step.
*/
function mayEditAttributes() { /* {{{ */
if($this->obj->isType('document')) {
$latestContent = $this->obj->getLatestContent();
$status = $latestContent->getStatus();
$workflow = $latestContent->getWorkflow();
if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) >= M_READWRITE)) || $this->user->isAdmin()) && (in_array($status["status"], array(S_DRAFT_REV, S_DRAFT_APP)) || ($workflow && $workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()))) {
return true;
if($latestContent = $this->obj->getLatestContent()) {
$status = $latestContent->getStatus();
$workflow = $latestContent->getWorkflow();
$workflowstate = $latestContent->getWorkflowState();
if($this->obj->getAccessMode($this->user) < M_READWRITE)
return false;
if ($this->settings->_enableVersionModification || in_array($status["status"], array(S_DRAFT_REV, S_DRAFT_APP)) || ($workflow && $workflowstate && $workflow->getInitState()->getID() == $workflowstate->getID())) {
return true;
}
}
}
return false;
@ -242,10 +253,11 @@ class SeedDMS_AccessOperation {
*/
function mayReview() { /* {{{ */
if($this->obj->isType('document')) {
$latestContent = $this->obj->getLatestContent();
$status = $latestContent->getStatus();
if ($status["status"]==S_DRAFT_REV) {
return true;
if($latestContent = $this->obj->getLatestContent()) {
$status = $latestContent->getStatus();
if ($status["status"]==S_DRAFT_REV) {
return true;
}
}
}
return false;
@ -277,10 +289,11 @@ class SeedDMS_AccessOperation {
*/
function mayApprove() { /* {{{ */
if($this->obj->isType('document')) {
$latestContent = $this->obj->getLatestContent();
$status = $latestContent->getStatus();
if ($status["status"]==S_DRAFT_APP) {
return true;
if($latestContent = $this->obj->getLatestContent()) {
$status = $latestContent->getStatus();
if ($status["status"]==S_DRAFT_APP) {
return true;
}
}
}
return false;
@ -300,4 +313,148 @@ class SeedDMS_AccessOperation {
}
return false;
} /* }}} */
protected function check_view_legacy_access($view, $get=array()) { /* {{{ */
if($this->user->isAdmin())
return true;
if(is_string($view)) {
$scripts = array($view);
} elseif(is_array($view)) {
$scripts = $view;
} elseif(is_subclass_of($view, 'SeedDMS_View_Common')) {
$scripts = array($view->getParam('class'));
} else {
return false;
}
if($this->user->isGuest()) {
$user_allowed = array(
'Calendar',
'ErrorDlg',
'Help',
'Login',
'Search',
'ViewDocument',
'ViewFolder',
);
} else {
$user_allowed = array(
'AddDocument',
'AddDocumentLink',
'AddEvent',
'AddFile',
'AddSubFolder',
'AddToTransmittal',
'ApprovalSummary',
'ApproveDocument',
'Calendar',
'CategoryChooser',
'ChangePassword',
'CheckInDocument',
'Clipboard',
'DocumentAccess',
'DocumentChooser',
'DocumentNotify',
'DocumentVersionDetail',
'DropFolderChooser',
'EditAttributes',
'EditComment',
'EditDocumentFile',
'EditDocument',
'EditEvent',
'EditFolder',
'EditOnline',
'EditUserData',
'ErrorDlg',
'FolderAccess',
'FolderChooser',
'FolderNotify',
'ForcePasswordChange',
'GroupView',
'Help',
'KeywordChooser',
'Login',
'ManageNotify',
'MoveDocument',
'MoveFolder',
'MyAccount',
'MyDocuments',
'OpensearchDesc',
'OverrideContentStatus',
'PasswordForgotten',
'PasswordSend',
'ReceiptDocument',
'ReceiptSummary',
'RemoveDocumentFile',
'RemoveDocument',
'RemoveEvent',
'RemoveFolderFiles',
'RemoveFolder',
'RemoveTransmittal',
'RemoveVersion',
'RemoveWorkflowFromDocument',
'ReturnFromSubWorkflow',
'ReviewDocument',
'ReviewSummary',
'ReviseDocument',
'RevisionSummary',
'RewindWorkflow',
'RunSubWorkflow',
'Search',
'Session',
'SetExpires',
'SetRecipients',
'SetReviewersApprovers',
'SetRevisors',
'SetWorkflow',
'SubstituteUser',
'Tasks',
'TransmittalMgr',
'TriggerWorkflow',
'UpdateDocument',
'UserDefaultKeywords',
'UserImage',
'UsrView',
'ViewDocument',
'ViewEvent',
'ViewFolder',
'WorkflowGraph',
'WorkflowSummary');
}
if(array_intersect($scripts, $user_allowed))
return true;
return false;
} /* }}} */
/**
* Check for access permission on view
*
* This function will always return true because it was added to smooth
* migration from 5.1.x to 6.0.x
*
* @param mixed $view Instanz of view, name of view or array of view names
* @param string $get query parameters possible containing the element 'action'
* @return boolean true if access is allowed, false if access is disallowed
* no specific access right is set, otherwise false
*/
function check_view_access($view, $get=array()) { /* {{{ */
return $this->check_view_legacy_access($view, $get);
} /* }}} */
/**
* Check for access permission on controller
*
* This function will always return true because it was added to smooth
* migration from 5.1.x to 6.0.x
*
* @param mixed $controller Instanz of controller, name of controller or array of controller names
* @param string $get query parameters
* @return boolean true if access is allowed otherwise false
*/
function check_controller_access($controller, $get=array()) { /* {{{ */
return true;
} /* }}} */
}

View File

@ -139,6 +139,46 @@ class SeedDMS_Controller_Common {
$this->errormsg = $msg;
} /* }}} */
/**
* Return a list of hook classes for the current class
*
* Hooks are associated to a controller class. Calling a hook with
* SeedDMS_View_Common::callHook() will run through a list of
* controller classes searching for the hook. This method returns this
* list.
*
* If a controller is implemented in SeedDMS_View_Example which inherits
* from SeedDMS_Theme_Style which again inherits from SeedDMS_View_Common,
* then this method will return an array with the elments:
* 'Example', 'Style', 'Common'. If SeedDMS_View_Example also sets
* the class property 'controllerAliasName', then this value will be added
* to the beginning of the list.
*
* When a hook is called, it will run through this list and checks
* if $GLOBALS['SEEDDMS_HOOKS']['controller'][<element>] exists and contains
* an instanciated class. This class must implement the hook.
*
* @return array list of controller class names.
*/
protected function getHookClassNames() { /* {{{ */
$tmps = array();
/* the controllerAliasName can be set in the controller to specify a different name
* than extracted from the class name.
*/
if(property_exists($this, 'controllerAliasName') && !empty($this->controllerAliasName)) {
$tmps[] = $this->controllerAliasName;
}
$tmp = explode('_', get_class($this));
$tmps[] = $tmp[2];
foreach(class_parents($this) as $pc) {
$tmp = explode('_', $pc);
$tmps[] = $tmp[2];
}
/* Run array_unique() in case the parent class has the same suffix */
$tmps = array_unique($tmps);
return $tmps;
} /* }}} */
/**
* Call all hooks registered for a controller
*
@ -190,17 +230,8 @@ class SeedDMS_Controller_Common {
* null if no hook was called
*/
function callHook($hook) { /* {{{ */
$tmps = array();
$tmp = explode('_', get_class($this));
$tmps[] = $tmp[2];
foreach(class_parents($this) as $pc) {
$tmp = explode('_', $pc);
$tmps[] = $tmp[2];
}
// $tmp = explode('_', get_parent_class($this));
// $tmps[] = $tmp[2];
/* Run array_unique() in case the parent class has the same suffix */
$tmps = array_unique($tmps);
$tmps = $this->getHookClassNames();
$ret = null;
foreach($tmps as $tmp)
if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)])) {
$this->lasthookresult = null;
@ -208,29 +239,35 @@ class SeedDMS_Controller_Common {
if (method_exists($hookObj, $hook)) {
switch(func_num_args()) {
case 4:
$result = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3));
$tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3));
break;
case 3:
$result = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2));
$tmpret = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2));
break;
case 2:
$result = $hookObj->$hook($this, func_get_arg(1));
$tmpret = $hookObj->$hook($this, func_get_arg(1));
break;
case 1:
default:
$result = $hookObj->$hook($this);
$tmpret = $hookObj->$hook($this);
}
if($result === false) {
return $result;
if($tmpret === false) {
return $tmpret;
}
if($result !== null) {
$this->lasthookresult = $result;
if($tmpret !== null) {
$this->lasthookresult = $tmpret;
if(is_string($tmpret)) {
$ret = ($ret === null) ? $tmpret : (is_string($ret) ? $ret.$tmpret : array_merge($ret, array($tmpret)));
} elseif(is_array($tmpret)) { // || is_object($tmpret)) {
$ret = ($ret === null) ? $tmpret : (is_string($ret) ? array_merge(array($ret), $tmpret) : array_merge($ret, $tmpret));
} else
$ret = $tmpret;
}
}
}
return $this->lasthookresult;
// return $this->lasthookresult;
}
return null;
return $ret;
} /* }}} */
/**
@ -242,11 +279,13 @@ class SeedDMS_Controller_Common {
* null if no hook was called
*/
function hasHook($hook) { /* {{{ */
$tmp = explode('_', get_class($this));
if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp[2])])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp[2])] as $hookObj) {
if (method_exists($hookObj, $hook)) {
return true;
$tmps = $this->getHookClassNames();
foreach($tmps as $tmp) {
if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)] as $hookObj) {
if (method_exists($hookObj, $hook)) {
return true;
}
}
}
}

View File

@ -133,7 +133,7 @@ class SeedDMS_EmailNotify extends SeedDMS_Notify {
}
$bodyhtml = '';
if(isset($params['__body_html__']) || getMLText($messagekey.'_html')) {
if(isset($params['__body_html__']) || getMLText($messagekey.'_html', $params, "", $lang)) {
if(!isset($params['__skip_header__']) || !$params['__skip_header__']) {
if(!isset($params['__header_html__']))
$bodyhtml .= getMLText("email_header_html", $params, "", $lang)."\r\n\r\n";

View File

@ -304,7 +304,7 @@ class SeedDMS_Extension_Mgr {
* @param SeedDMS_Core_DMS $dms
* @return boolean true on success, false on error
*/
public function migrate($extname, $settings, $dms) { /* {{{ */
public function migrate($extname, $settings, $dms, $logger) { /* {{{ */
if(!isset($this->extconf[$extname]))
return false;
$extconf = $this->extconf[$extname];
@ -313,7 +313,7 @@ class SeedDMS_Extension_Mgr {
$classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file'];
if(file_exists($classfile)) {
require_once($classfile);
$obj = new $extconf['class']['name']($settings, $dms);
$obj = new $extconf['class']['name']($settings, $dms, $logger);
if(method_exists($obj, 'migrate'))
$ret = $obj->migrate();
}

File diff suppressed because it is too large Load Diff

View File

@ -23,7 +23,10 @@
class Settings { /* {{{ */
// Config File Path
var $_configFilePath = null;
var $_configFileDir = '';
// Fields not shown in gui
var $_hiddenConfFields = '';
// Name of site
var $_siteName = "SeedDMS";
// Message to display at the bottom of every page.
@ -59,7 +62,7 @@ class Settings { /* {{{ */
// maximum amount of bytes a user may consume, 0 = unlimited
var $_quota = 0;
// comma separated list of undeleteable user ids
var $_undelUserIds = 0;
var $_undelUserIds = array();
// Restricted access: only allow users to log in if they have an entry in
// the local database (irrespective of successful authentication with LDAP).
var $_restricted = true;
@ -166,6 +169,8 @@ class Settings { /* {{{ */
var $_enableSelfRevApp = false;
// enable/disable update of a review/approval by the reviewer/approver
var $_enableUpdateRevApp = false;
// enable/disable removal of a review/approval by the admiistrator
var $_enableRemoveRevApp = false;
// enable/disable default notification for owner
var $_enableOwnerNotification = false;
// enable/disable deleting of versions for regular users
@ -344,6 +349,8 @@ class Settings { /* {{{ */
exit;
}
}
$this->_configFileDir = dirname($this->_configFilePath);
if(!$this->load($configFilePath)) {
echo "Your configuration contains errors.";
exit;
@ -572,7 +579,8 @@ class Settings { /* {{{ */
$this->_loginFailure = intval($tab["loginFailure"]);
$this->_autoLoginUser = intval($tab["autoLoginUser"]);
$this->_quota = intval($tab["quota"]);
$this->_undelUserIds = strval($tab["undelUserIds"]);
if(trim(strval($tab["undelUserIds"])))
$this->_undelUserIds = explode(',',strval($tab["undelUserIds"]));
$this->_encryptionKey = strval($tab["encryptionKey"]);
$this->_cookieLifetime = intval($tab["cookieLifetime"]);
$this->_defaultAccessDocs = intval($tab["defaultAccessDocs"]);
@ -669,6 +677,7 @@ class Settings { /* {{{ */
$this->_useHomeAsRootFolder = Settings::boolval($tab["useHomeAsRootFolder"]);
$this->_titleDisplayHack = Settings::boolval($tab["titleDisplayHack"]);
$this->_showMissingTranslations = Settings::boolval($tab["showMissingTranslations"]);
$this->_hiddenConfFields = explode(';', strval($tab["hiddenConfFields"]));
}
// XML Path: /configuration/advanced/authentication
@ -690,6 +699,7 @@ class Settings { /* {{{ */
$this->_enableOwnerRevApp = Settings::boolval($tab["enableOwnerRevApp"]);
$this->_enableSelfRevApp = Settings::boolval($tab["enableSelfRevApp"]);
$this->_enableUpdateRevApp = Settings::boolval($tab["enableUpdateRevApp"]);
$this->_enableRemoveRevApp = Settings::boolval($tab["enableRemoveRevApp"]);
$this->_presetExpirationDate = strval($tab["presetExpirationDate"]);
$this->_versioningFileName = strval($tab["versioningFileName"]);
$this->_workflowMode = strval($tab["workflowMode"]);
@ -927,7 +937,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "loginFailure", $this->_loginFailure);
$this->setXMLAttributValue($node, "autoLoginUser", $this->_autoLoginUser);
$this->setXMLAttributValue($node, "quota", $this->_quota);
$this->setXMLAttributValue($node, "undelUserIds", $this->_undelUserIds);
$this->setXMLAttributValue($node, "undelUserIds", implode(',', $this->_undelUserIds));
$this->setXMLAttributValue($node, "encryptionKey", $this->_encryptionKey);
$this->setXMLAttributValue($node, "cookieLifetime", $this->_cookieLifetime);
$this->setXMLAttributValue($node, "defaultAccessDocs", $this->_defaultAccessDocs);
@ -991,7 +1001,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "dbDatabase", $this->_dbDatabase);
$this->setXMLAttributValue($node, "dbUser", $this->_dbUser);
$this->setXMLAttributValue($node, "dbPass", $this->_dbPass);
$this->setXMLAttributValue($node, "doNotCheckVersion", $this->_doNotCheckDBVersion);
$this->setXMLAttributValue($node, "doNotCheckDBVersion", $this->_doNotCheckDBVersion);
// XML Path: /configuration/system/smtp
$node = $this->getXMLNode($xml, '/configuration/system', 'smtp');
@ -1009,6 +1019,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "useHomeAsRootFolder", $this->_useHomeAsRootFolder);
$this->setXMLAttributValue($node, "titleDisplayHack", $this->_titleDisplayHack);
$this->setXMLAttributValue($node, "showMissingTranslations", $this->_showMissingTranslations);
// $this->setXMLAttributValue($node, "hiddenConfFields", $this->_hiddenConfFields);
// XML Path: /configuration/advanced/authentication
$node = $this->getXMLNode($xml, '/configuration/advanced', 'authentication');
@ -1024,6 +1035,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableOwnerRevApp", $this->_enableOwnerRevApp);
$this->setXMLAttributValue($node, "enableSelfRevApp", $this->_enableSelfRevApp);
$this->setXMLAttributValue($node, "enableUpdateRevApp", $this->_enableUpdateRevApp);
$this->setXMLAttributValue($node, "enableRemoveRevApp", $this->_enableRemoveRevApp);
$this->setXMLAttributValue($node, "presetExpirationDate", $this->_presetExpirationDate);
$this->setXMLAttributValue($node, "versioningFileName", $this->_versioningFileName);
$this->setXMLAttributValue($node, "presetExpirationDate", $this->_presetExpirationDate);
@ -1158,6 +1170,10 @@ class Settings { /* {{{ */
* @return NULL|string config directory
*/
static function getConfigDir() { /* {{{ */
if(defined("SEEDDMS_CONFIG_FILE"))
return dirname(SEEDDMS_CONFIG_FILE);
elseif(getenv("SEEDDMS_CONFIG_FILE"))
return dirname(getenv("SEEDDMS_CONFIG_FILE"));
$_tmp = dirname($_SERVER['SCRIPT_FILENAME']);
$_arr = preg_split('/\//', rtrim(str_replace('\\', '/', $_tmp)));
$configDir = null;
@ -1264,6 +1280,7 @@ class Settings { /* {{{ */
// TODO
// $this->_coreDir
/*
if($this->_coreDir) {
if (!file_exists($this->_coreDir ."Core.php")) {
$result["coreDir"] = array(
@ -1284,7 +1301,7 @@ class Settings { /* {{{ */
);
}
}
*/
// $this->_httpRoot
$tmp = $this->curPageURL();
$tmp = str_replace ("install.php", "" , $tmp);
@ -1435,7 +1452,7 @@ class Settings { /* {{{ */
if(!empty($this->_coreDir))
require_once($this->_coreDir.'/Core.php');
else
require_once('SeedDMS/Core.php');
require_once($this->_rootDir.'../pear/SeedDMS/Core.php');
$tmpcore = new SeedDMS_Core_DMS(null, $this->_contentDir);
$db = new SeedDMS_Core_DatabaseAccess($this->_dbDriver, $this->_dbHostname, $this->_dbUser, $this->_dbPass, $this->_dbDatabase);
if(!$db->connect()) {
@ -1498,7 +1515,7 @@ class Settings { /* {{{ */
}
// Check PHP version
if (version_compare(PHP_VERSION, '5.6.38') < 0) {
if (version_compare(PHP_VERSION, '7.2.5') < 0) {
$result["php_version"] = array(
"status" => "versiontolow",
"type" => "error",
@ -1508,6 +1525,15 @@ class Settings { /* {{{ */
// Check PHP configuration
$loaded_extensions = get_loaded_extensions();
// xml
if (!in_array("xml", $loaded_extensions)) {
$result["php_xml"] = array(
"status" => "notfound",
"type" => "error",
"suggestion" => "activate_php_extension"
);
}
// gd2
if (!in_array("gd", $loaded_extensions)) {
$result["php_gd2"] = array(
@ -1526,6 +1552,42 @@ class Settings { /* {{{ */
);
}
// json
if (!in_array("json", $loaded_extensions)) {
$result["php_json"] = array(
"status" => "notfound",
"type" => "error",
"suggestion" => "activate_php_extension"
);
}
// zip
if (!in_array("zip", $loaded_extensions)) {
$result["php_zip"] = array(
"status" => "notfound",
"type" => "error",
"suggestion" => "activate_php_extension"
);
}
// fileinfo
if (!in_array("fileinfo", $loaded_extensions)) {
$result["php_fileinfo"] = array(
"status" => "notfound",
"type" => "error",
"suggestion" => "activate_php_extension"
);
}
// sqlite3
if (!in_array("sqlite3", $loaded_extensions)) {
$result["php_sqlite3"] = array(
"status" => "notfound",
"type" => "error",
"suggestion" => "activate_php_extension"
);
}
// database
if (!in_array('pdo_'.$this->_dbDriver, $loaded_extensions)) {
$result["php_dbDriver"] = array(
@ -1549,6 +1611,7 @@ class Settings { /* {{{ */
*/
// Check for HTTP/WebDAV/Server.php
/*
if (!Settings::findInIncPath('HTTP/WebDAV/Server.php')) {
$result["pear_webdav"] = array(
"status" => "notfound",
@ -1556,8 +1619,10 @@ class Settings { /* {{{ */
"suggestion" => "install_pear_package_webdav"
);
}
*/
// Check for Zend/Search/Lucene.php
/*
if (!Settings::findInIncPath('Zend/Search/Lucene.php')) {
$result["zendframework"] = array(
"status" => "notfound",
@ -1565,6 +1630,7 @@ class Settings { /* {{{ */
"suggestion" => "install_zendframework"
);
}
*/
return $result;
} /* }}} */

View File

@ -95,6 +95,12 @@ class UI extends UI_Default {
if(file_exists($filename)) {
$httpbasedir = 'ext/'.$extname.'/';
break;
} else {
$filename = $settings->_rootDir.'ext/'.$extname.'/views/bootstrap/class.'.$class.".php";
if(file_exists($filename)) {
$httpbasedir = 'ext/'.$extname.'/';
break;
}
}
$filename = '';
}
@ -102,17 +108,24 @@ class UI extends UI_Default {
}
if(!$filename)
$filename = $settings->_rootDir."views/".$theme."/class.".$class.".php";
/* Fall back onto the view class in bootstrap theme */
if(!file_exists($filename))
$filename = $settings->_rootDir."views/bootstrap/class.".$class.".php";
if(!file_exists($filename))
$filename = '';
if($filename) {
require($filename);
/* Always include the base class which defines class SeedDMS_Theme_Style */
require_once($settings->_rootDir."views/".$theme."/class.".ucfirst($theme).".php");
require_once($filename);
$params['settings'] = $settings;
$view = new $classname($params, $theme);
/* Set some configuration parameters */
$view->setParam('refferer', $_SERVER['REQUEST_URI']);
$view->setParam('absbaseprefix', $settings->_httpRoot.$httpbasedir);
$view->setParam('theme', $theme);
$view->setParam('class', $class);
$view->setParam('session', $session);
$view->setParam('settings', $settings);
// $view->setParam('settings', $settings);
$view->setParam('sitename', $settings->_siteName);
$view->setParam('rootfolderid', $settings->_rootFolderID);
$view->setParam('disableselfedit', $settings->_disableSelfEdit);
@ -168,10 +181,12 @@ class UI extends UI_Default {
} /* }}} */
static function exitError($pagetitle, $error, $noexit=false, $plain=false) {
global $theme, $dms, $user;
global $theme, $dms, $user, $settings;
$accessop = new SeedDMS_AccessOperation($dms, null, $user, $settings);
$view = UI::factory($theme, 'ErrorDlg');
$view->setParam('dms', $dms);
$view->setParam('user', $user);
$view->setParam('accessobject', $accessop);
$view->setParam('pagetitle', $pagetitle);
$view->setParam('errormsg', $error);
$view->setParam('plain', $plain);

File diff suppressed because it is too large Load Diff

View File

@ -39,7 +39,10 @@ class SeedDMS_View_Common {
$this->theme = $theme;
$this->params = $params;
$this->baseurl = '';
$this->imgpath = '../views/'.$theme.'/images/';
if(isset($params['settings']))
$this->imgpath = $params['settings']->_httpRoot.'views/'.$theme.'/images/';
else
$this->imgpath = '../views/'.$theme.'/images/';
}
public function __invoke($get=array()) {
@ -95,6 +98,46 @@ class SeedDMS_View_Common {
public function show() {
}
/**
* Return a list of hook classes for the current class
*
* Hooks are associated to a view class. Calling a hook with
* SeedDMS_View_Common::callHook() will run through a list of
* view classes searching for the hook. This method returns this
* list.
*
* If a view is implemented in SeedDMS_View_Example which inherits
* from SeedDMS_Theme_Style which again inherits from SeedDMS_View_Common,
* then this method will return an array with the elments:
* 'Example', 'Style', 'Common'. If SeedDMS_View_Example also sets
* the class property 'viewAliasName', then this value will be added
* to the beginning of the list.
*
* When a hook is called, it will run through this list and checks
* if $GLOBALS['SEEDDMS_HOOKS']['view'][<element>] exists and contains
* an instanciated class. This class must implement the hook.
*
* @return array list of view class names.
*/
protected function getHookClassNames() { /* {{{ */
$tmps = array();
/* the viewAliasName can be set in the view to specify a different name
* than extracted from the class name.
*/
if(property_exists($this, 'viewAliasName') && !empty($this->viewAliasName)) {
$tmps[] = $this->viewAliasName;
}
$tmp = explode('_', get_class($this));
$tmps[] = $tmp[2];
foreach(class_parents($this) as $pc) {
$tmp = explode('_', $pc);
$tmps[] = $tmp[2];
}
/* Run array_unique() in case the parent class has the same suffix */
$tmps = array_unique($tmps);
return $tmps;
} /* }}} */
/**
* Call a hook with a given name
*
@ -113,15 +156,7 @@ class SeedDMS_View_Common {
* function returns
*/
public function callHook($hook) { /* {{{ */
$tmps = array();
$tmp = explode('_', get_class($this));
$tmps[] = $tmp[2];
foreach(class_parents($this) as $pc) {
$tmp = explode('_', $pc);
$tmps[] = $tmp[2];
}
/* Run array_unique() in case the parent class has the same suffix */
$tmps = array_unique($tmps);
$tmps = $this->getHookClassNames();
$ret = null;
foreach($tmps as $tmp)
if(isset($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp)])) {
@ -174,6 +209,9 @@ class SeedDMS_View_Common {
* ?>
* </code>
*
* The method does not return hooks for parent classes nor does it
* evaluate the viewAliasName property.
*
* @params string $classname name of class (current class if left empty)
* @return array list of hook objects registered for the class
*/
@ -197,14 +235,7 @@ class SeedDMS_View_Common {
* null if no hook was called
*/
public function hasHook($hook) { /* {{{ */
$tmps = array();
$tmp = explode('_', get_class($this));
$tmps[] = $tmp[2];
$tmp = explode('_', get_parent_class($this));
$tmps[] = $tmp[2];
/* Run array_unique() in case the parent class has the same suffix */
$tmps = array_unique($tmps);
$ret = null;
$tmps = $this->getHookClassNames();
foreach($tmps as $tmp) {
if(isset($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp)])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp)] as $hookObj) {
@ -217,6 +248,80 @@ class SeedDMS_View_Common {
return false;
} /* }}} */
/**
* Check if the access on the view with given name or the current view itself
* may be accessed.
*
* The function requires the parameter 'accessobject' to be available in the
* view, because it calls SeedDMS_AccessOperation::check_view_access()
* to check access rights. If the the optional $name is not set the
* current view is used.
*
* If $name is an array then just one of the passed objects in the array
* must be accessible for this function to return true.
*
* @param string|array $name name of view or list of view names
* @return boolean true if access is allowed otherwise false
*/
protected function check_view_access($name='') { /* {{{ */
if(!$name)
$name = $this;
if(!isset($this->params['accessobject']))
return false;
$access = $this->params['accessobject']->check_view_access($name);
return $access;
if(isset($this->params['user']) && $this->params['user']->isAdmin()) {
if($access === -1)
return false;
else
return true;
}
return ($access === 1);
} /* }}} */
/**
* Create an url to a view
*
* @param string $name name of view
* @param array $urlparams list of url parameters
* @return string $url
*/
protected function html_url($view, $urlparams=array()) { /* {{{ */
$url = $this->params['settings']->_httpRoot."out/out.".$view.".php";
if($urlparams)
$url .= "?".http_build_query($urlparams);
return $url;
} /* }}} */
/**
* Create a html link to a view
*
* First checks if the view may be accessed by the user
*
* @param string $name name of view
* @param array $urlparams list of url parameters
* @param array $linkparams list of link attributes (e.g. class, target)
* @param string $link the link text itself
* @param boolean $hsc set to false if htmlspecialchars() shall not be called
* @return string link
*/
protected function html_link($view='', $urlparams=array(), $linkparams=array(), $link, $hsc=true, $nocheck=false, $wrap=array()) { /* {{{ */
if(!$nocheck)
if(!$this->check_view_access($view))
return '';
$url = $this->html_url($view, $urlparams);
$tag = "<a href=\"".$url."\"";
if($linkparams)
foreach($linkparams as $k=>$v)
$tag .= " ".$k."=\"".$v."\"";
$tag .= ">".($hsc ? htmlspecialchars($link) : $link)."</a>";
if(is_array($wrap) && count($wrap) == 2)
return $wrap[0].$tag.$wrap[1];
return $tag;
} /* }}} */
public function jsTranslations($keys) { /* {{{ */
echo "var trans = {\n";
foreach($keys as $key) {

View File

@ -49,6 +49,9 @@ $dms = new SeedDMS_Core_DMS($db, $settings->_contentDir.$settings->_contentOffse
if(!$settings->_doNotCheckDBVersion && !$dms->checkVersion()) {
echo "Database update needed.";
if($v = $dms->getDBVersion()) {
echo " Database has version ".$v['major'].".".$v['minor'].".".$v['subminor']." but this is SeedDMS ".$dms->version.".";
}
exit;
}

48
inc/inc.FulltextInit.php Normal file
View File

@ -0,0 +1,48 @@
<?php
$fulltextservice = null;
if($settings->_enableFullSearch) {
require_once("inc.ClassFulltextService.php");
$fulltextservice = new SeedDMS_FulltextService();
if($settings->_fullSearchEngine == 'sqlitefts') {
$indexconf = array(
'Indexer' => 'SeedDMS_SQLiteFTS_Indexer',
'Search' => 'SeedDMS_SQLiteFTS_Search',
'IndexedDocument' => 'SeedDMS_SQLiteFTS_IndexedDocument',
'Conf' => array('indexdir' => $settings->_luceneDir)
);
$fulltextservice->addService('sqlitefts', $indexconf);
require_once('SeedDMS/SQLiteFTS.php');
} elseif($settings->_fullSearchEngine == 'lucene') {
$indexconf = array(
'Indexer' => 'SeedDMS_Lucene_Indexer',
'Search' => 'SeedDMS_Lucene_Search',
'IndexedDocument' => 'SeedDMS_Lucene_IndexedDocument',
'Conf' => array('indexdir' => $settings->_luceneDir)
);
$fulltextservice->addService('lucene', $indexconf);
if(!empty($settings->_luceneClassDir))
require_once($settings->_luceneClassDir.'/Lucene.php');
else
require_once('SeedDMS/Lucene.php');
} else {
$indexconf = null;
if(isset($GLOBALS['SEEDDMS_HOOKS']['initFulltext'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['initFulltext'] as $hookObj) {
if (method_exists($hookObj, 'initFulltextService')) {
$indexconf = $hookObj->initFulltextService(array('engine'=>$settings->_fullSearchEngine, 'dms'=>$dms, 'settings'=>$settings));
}
}
}
if($indexconf) {
$fulltextservice->addService($settings->_fullSearchEngine, $indexconf);
}
}
$fulltextservice->setConverters(isset($settings->_converters['fulltext']) ? $settings->_converters['fulltext'] : null);
$fulltextservice->setMaxSize($settings->_maxSizeForFullText);
$fulltextservice->setCmdTimeout($settings->_cmdTimeout);
}

View File

@ -273,7 +273,7 @@ function getAttributeValidationError($error, $attrname='', $attrvalue='', $regex
case 10:
return array("attr_not_in_valueset", array('attrname'=>$attrname, 'value'=>$attrvalue));
break;
case 8:
case 9:
return array("attr_malformed_date", array('attrname'=>$attrname, 'value'=>$attrvalue));
break;
case 8:

View File

@ -13,7 +13,7 @@
*/
global $logger;
$notifier = new SeedDMS_NotificationService($logger);
$notifier = new SeedDMS_NotificationService($logger, $settings);
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {

View File

@ -25,7 +25,7 @@ elseif(getenv("SEEDDMS_CONFIG_FILE"))
$settings = new Settings(getenv("SEEDDMS_CONFIG_FILE"));
else
$settings = new Settings();
if(!defined("SEEDDMS_INSTALL") && file_exists(dirname($settings->_configFilePath)."/ENABLE_INSTALL_TOOL")) {
if(!defined("SEEDDMS_INSTALL") && file_exists($settings->_configFileDir."/ENABLE_INSTALL_TOOL")) {
die("SeedDMS won't run unless your remove the file ENABLE_INSTALL_TOOL from your configuration directory.");
}
@ -35,11 +35,13 @@ if(!trim($settings->_encryptionKey)) {
$settings->save();
}
if(isset($settings->_extraPath))
ini_set('include_path', $settings->_rootDir.'pear'. PATH_SEPARATOR .ini_get('include_path'));
if(!empty($settings->_extraPath)) {
ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path'));
/* composer is installed in pear directory */
require_once 'vendor/autoload.php';
}
/* composer is installed in pear directory, but install tool does not need it */
if(!defined("SEEDDMS_INSTALL"))
require_once $settings->_rootDir.'../pear/vendor/autoload.php';
if(isset($settings->_maxExecutionTime)) {
if (php_sapi_name() !== "cli") {
@ -47,7 +49,7 @@ if(isset($settings->_maxExecutionTime)) {
}
}
if (get_magic_quotes_gpc()) {
if (function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc()) {
$process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
while (list($key, $val) = each($process)) {
foreach ($val as $k => $v) {
@ -67,3 +69,7 @@ if (get_magic_quotes_gpc()) {
* relative to it.
*/
ini_set('include_path', $settings->_rootDir. PATH_SEPARATOR .ini_get('include_path'));
/* Add root Dir.'../pear'. Needed because the SeedDMS_Core, etc. are included
* relative to it.
*/
ini_set('include_path', $settings->_rootDir.'../pear'. PATH_SEPARATOR .ini_get('include_path'));

View File

@ -413,7 +413,7 @@ function add_log_line($msg="", $priority=null) { /* {{{ */
if($user)
$logger->log($user->getLogin()." (".$ip.") ".basename($_SERVER["REQUEST_URI"], ".php").($msg ? $msg : ''), $priority);
else
$logger->log("-- (".$ip.") ".basename($_SERVER["REQUEST_URI"], ".php").($msg ? $msg : ''), $priority);
$logger->log("-- (".$ip.") ".basename($_SERVER["REQUEST_URI"]).($msg ? $msg : ''), $priority);
} /* }}} */
function _add_log_line($msg="") { /* {{{ */
@ -426,7 +426,7 @@ function _add_log_line($msg="") { /* {{{ */
else $logname=date("Ym", time());
if($h = fopen($settings->_contentDir.$logname.".log", "a")) {
fwrite($h,date("Y/m/d H:i", time())." ".$user->getLogin()." (".$_SERVER['REMOTE_ADDR'].") ".basename($_SERVER["REQUEST_URI"], ".php").$msg."\n");
fwrite($h,date("Y/m/d H:i", time())." ".$user->getLogin()." (".$_SERVER['REMOTE_ADDR'].") ".basename($_SERVER["REQUEST_URI"]).$msg."\n");
fclose($h);
}
} /* }}} */
@ -473,10 +473,10 @@ function showtree() { /* {{{ */
function createFormKey($formid='') { /* {{{ */
global $settings, $session;
if($id = $session->getId()) {
if($session && $id = $session->getId()) {
return md5($id.$settings->_encryptionKey.$formid);
} else {
return false;
return md5($settings->_encryptionKey.$formid);
}
} /* }}} */
@ -778,6 +778,44 @@ function createNonce() { /* {{{ */
return base64_encode($bytes);
} /* }}} */
/**
* Compare function for sorting users by login
*
* Use this for usort()
*
* <code>
* $users = $dms->getAllUsers();
* usort($users, 'cmp_user_login');
* </code>
*/
function cmp_user_login($a, $b) { /* {{{ */
$as = strtolower($a->getLogin());
$bs = strtolower($b->getLogin());
if ($as == $bs) {
return 0;
}
return ($as < $bs) ? -1 : 1;
} /* }}} */
/**
* Compare function for sorting users by name
*
* Use this for usort()
*
* <code>
* $users = $dms->getAllUsers();
* usort($users, 'cmp_user_fullname');
* </code>
*/
function cmp_user_fullname($a, $b) { /* {{{ */
$as = strtolower($a->getFullName());
$bs = strtolower($b->getFullName());
if ($as == $bs) {
return 0;
}
return ($as < $bs) ? -1 : 1;
} /* }}} */
/**
* Returns the mandatory reviewers
*
@ -913,13 +951,74 @@ class SeedDMS_CSRF { /* {{{ */
} /* }}} */
} /* }}} */
/**
* Class to represent a jwt token
*
*
* @category DMS
* @package SeedDMS
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright 2016 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_JwtToken { /* {{{ */
protected $jwtsecret;
public function __construct($jwtsecret = '') { /* {{{ */
$this->jwtsecret = $jwtsecret;
} /* }}} */
public function jwtEncode($payload) { /* {{{ */
$header = [
"alg" => "HS256",
"typ" => "JWT"
];
$encHeader = self::base64UrlEncode(json_encode($header));
$encPayload = self::base64UrlEncode(json_encode($payload));
$hash = self::base64UrlEncode(self::calculateHash($encHeader, $encPayload));
return "$encHeader.$encPayload.$hash";
} /* }}} */
public function jwtDecode($token) { /* {{{ */
if (!$this->jwtsecret) return "";
$split = explode(".", $token);
if (count($split) != 3) return "";
$hash = self::base64UrlEncode(self::calculateHash($split[0], $split[1]));
if (strcmp($hash, $split[2]) != 0) return "";
return self::base64UrlDecode($split[1]);
} /* }}} */
protected function calculateHash($encHeader, $encPayload) { /* {{{ */
return hash_hmac("sha256", "$encHeader.$encPayload", $this->jwtsecret, true);
} /* }}} */
protected function base64UrlEncode($str) { /* {{{ */
return str_replace("/", "_", str_replace("+", "-", trim(base64_encode($str), "=")));
} /* }}} */
protected function base64UrlDecode($payload) { /* {{{ */
$b64 = str_replace("_", "/", str_replace("-", "+", $payload));
switch (strlen($b64) % 4) {
case 2:
$b64 = $b64 . "=="; break;
case 3:
$b64 = $b64 . "="; break;
}
return base64_decode($b64);
} /* }}} */
} /* }}} */
class SeedDMS_FolderTree { /* {{{ */
public function __construct($folder, $callback) { /* {{{ */
$iter = new \SeedDMS\RecursiveFolderIterator($folder);
$iter2 = new RecursiveIteratorIterator($iter, RecursiveIteratorIterator:: SELF_FIRST);
foreach($iter2 as $ff) {
call_user_func($callback, $ff);
call_user_func($callback, $ff, $iter2->getDepth());
// echo $ff->getID().': '.$ff->getFolderPathPlain().'-'.$ff->getName()."<br />";
}
} /* }}} */

View File

@ -20,7 +20,7 @@
class SeedDMS_Version { /* {{{ */
const _number = "5.1.22";
const _number = "5.1.23";
const _string = "SeedDMS";
function __construct() {

493
install/class.Install.php Normal file
View File

@ -0,0 +1,493 @@
<?php
include("../views/bootstrap/class.Bootstrap.php");
class SeedDMS_View_Install extends SeedDMS_Theme_Style {
protected function printError($error) { /* {{{ */
print "<div class=\"alert alert-error\">\n";
print $error;
print "</div>";
} /* }}} */
protected function printWarning($error) { /* {{{ */
print "<div class=\"alert alert-warning\">";
print $error;
print "</div>";
} /* }}} */
protected function printCheckError($resCheck) { /* {{{ */
$hasError = false;
foreach($resCheck as $keyRes => $paramRes) {
if(isset($paramRes['type']) && $paramRes['type'] == 'error')
$hasError = true;
$errorMes = getMLText("settings_$keyRes"). " : " . getMLText("settings_".$paramRes["status"]);
if (isset($paramRes["currentvalue"]))
$errorMes .= "<br/> =&gt; " . getMLText("settings_currentvalue") . " : " . $paramRes["currentvalue"];
if (isset($paramRes["suggestionvalue"]))
$errorMes .= "<br/> =&gt; " . getMLText("settings_suggestionvalue") . " : " . $paramRes["suggestionvalue"];
if (isset($paramRes["suggestion"]))
$errorMes .= "<br/> =&gt; " . getMLText("settings_".$paramRes["suggestion"]);
if (isset($paramRes["systemerror"]))
$errorMes .= "<br/> =&gt; " . $paramRes["systemerror"];
if(isset($paramRes['type']) && $paramRes['type'] == 'error')
$this->printError($errorMes);
else
$this->printWarning($errorMes);
}
return $hasError;
} /* }}} */
protected function openDBConnection($settings) { /* {{{ */
switch($settings->_dbDriver) {
case 'mysql':
case 'mysqli':
case 'mysqlnd':
case 'pgsql':
$tmp = explode(":", $settings->_dbHostname);
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
if(isset($tmp[1]))
$dsn .= ";port=".$tmp[1];
break;
case 'sqlite':
$dsn = $settings->_dbDriver.":".$settings->_dbDatabase;
break;
}
$connTmp = new PDO($dsn, $settings->_dbUser, $settings->_dbPass);
return $connTmp;
} /* }}} */
public function intro() { /* {{{ */
$this->htmlStartPage("INSTALL");
$this->globalBanner();
$this->contentStart();
$this->contentHeading("SeedDMS Installation for version ".SEEDDMS_VERSION);
$this->contentContainerStart();
echo "<h2>".getMLText('settings_install_welcome_title')."</h2>";
echo "<div style=\"width: 600px;\">".getMLText('settings_install_welcome_text')."</div>";
echo '<p><a href="install.php">' . getMLText("settings_start_install") . '</a></p>';
$this->contentContainerEnd();
$this->contentEnd();
$this->htmlEndPage();
} /* }}} */
public function install($msg) { /* {{{ */
$settings = $this->params['settings'];
$configDir = $this->params['configdir'];
$this->htmlStartPage("INSTALL");
$this->globalBanner();
$this->contentStart();
$this->contentHeading("SeedDMS Installation for version ".SEEDDMS_VERSION);
if(isset($msg))
$this->warningMsg($msg);
$this->contentContainerStart();
/**
* Show phpinfo
*/
if (isset($_GET['phpinfo'])) {
echo '<a href="install.php">' . getMLText("back") . '</a>';
phpinfo();
$this->contentContainerEnd();
$this->contentEnd();
$this->htmlEndPage();
exit();
}
/**
* check if ENABLE_INSTALL_TOOL shall be removed
*/
if (isset($_GET['disableinstall'])) { /* {{{ */
if(file_exists($configDir."/ENABLE_INSTALL_TOOL")) {
if(unlink($configDir."/ENABLE_INSTALL_TOOL")) {
echo getMLText("settings_install_disabled");
echo "<br/><br/>";
echo '<a href="../out/out.Settings.php">' . getMLText("settings_more_settings") .'</a>';
} else {
echo getMLText("settings_cannot_disable");
echo "<br/><br/>";
echo '<a href="install.php">' . getMLText("back") . '</a>';
}
} else {
echo getMLText("settings_cannot_disable");
echo "<br/><br/>";
echo '<a href="install.php">' . getMLText("back") . '</a>';
}
$this->contentContainerEnd();
$this->contentEnd();
$this->htmlEndPage();
exit();
} /* }}} */
/**
* Check System
*/
if ($this->printCheckError( $settings->checkSystem())) { /* {{{ */
if (function_exists("apache_get_version")) {
echo "<br/>Apache version: " . apache_get_version();
}
echo "<br/>PHP version: " . phpversion();
echo "<br/>PHP include path: " . ini_get('include_path');
echo '<br/>';
echo '<br/>';
echo '<a href="' . $httpRoot . 'install/install.php">' . getMLText("refresh") . '</a>';
echo ' - ';
echo '<a href="' . $httpRoot . 'install/install.php?phpinfo">' . getMLText("version_info") . '</a>';
exit;
} /* }}} */
if (isset($_POST["action"])) $action=$_POST["action"];
else if (isset($_GET["action"])) $action=$_GET["action"];
else $action=NULL;
$showform = true;
if ($action=="setSettings") { /* {{{ */
/**
* Get Parameters
*/
$settings->_rootDir = $_POST["rootDir"];
$settings->_httpRoot = $_POST["httpRoot"];
$settings->_contentDir = $_POST["contentDir"];
$settings->_luceneDir = $_POST["luceneDir"];
$settings->_stagingDir = $_POST["stagingDir"];
$settings->_cacheDir = $_POST["cacheDir"];
$settings->_extraPath = $_POST["extraPath"];
$settings->_dbDriver = $_POST["dbDriver"];
$settings->_dbHostname = $_POST["dbHostname"];
$settings->_dbDatabase = $_POST["dbDatabase"];
$settings->_dbUser = $_POST["dbUser"];
$settings->_dbPass = $_POST["dbPass"];
$settings->_coreDir = ''; //$_POST["coreDir"];
$settings->_luceneClassDir = ''; //$_POST["luceneClassDir"];
if(isset($settings->_extraPath))
ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path'));
/**
* Check Parameters, require version 3.3.x
*/
$hasError = $this->printCheckError( $settings->check(substr(str_replace('.', '', SEEDDMS_VERSION), 0,2)));
if (!$hasError) {
// Create database
if (isset($_POST["createDatabase"])) {
$createOK = false;
$errorMsg = "";
$connTmp = $this->openDBConnection($settings);
if ($connTmp) {
// read SQL file
if ($settings->_dbDriver=="mysql")
$queries = file_get_contents("create_tables-innodb.sql");
elseif($settings->_dbDriver=="sqlite")
$queries = file_get_contents("create_tables-sqlite3.sql");
elseif($settings->_dbDriver=="pgsql")
$queries = file_get_contents("create_tables-postgres.sql");
else
die();
// generate SQL query
$queries = explode(";", $queries);
// execute queries
foreach($queries as $query) {
// var_dump($query);
$query = trim($query);
if (!empty($query)) {
$connTmp->exec($query);
if ($connTmp->errorCode() != 0) {
$errorMsg .= $connTmp->errorInfo()[2] . "<br/>";
}
}
}
}
// error ?
if (empty($errorMsg))
$createOK = true;
$connTmp = null;
// Show error
if (!$createOK) {
echo $errorMsg;
$hasError = true;
}
} // create database
if (!$hasError) {
// Save settings
$settings->save();
$needsupdate = false;
$connTmp = $this->openDBConnection($settings);
if ($connTmp) {
switch($settings->_dbDriver) {
case 'mysql':
case 'mysqli':
case 'mysqlnd':
case 'sqlite':
$sql = 'select * from `tblVersion`';
break;
case 'pgsql':
$sql = 'select * from "tblVersion"';
break;
}
$res = $connTmp->query($sql);
if($res) {
if($rec = $res->fetch(PDO::FETCH_ASSOC)) {
$updatedirs = array();
$d = dir(".");
while (false !== ($entry = $d->read())) {
if(preg_match('/update-([0-9.]*)/', $entry, $matches)) {
$updatedirs[] = $matches[1];
}
}
$d->close();
echo "Your current database schema has version ".$rec['major'].'.'.$rec['minor'].'.'.$rec['subminor'].". Please run all (if any)<br />of the update scripts below in the listed order.<br /><br />";
$connTmp = null;
if($updatedirs) {
asort($updatedirs);
foreach($updatedirs as $updatedir) {
if($updatedir > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) {
$needsupdate = true;
print "<h3>Database update to version ".$updatedir." needed</h3>";
if(file_exists('update-'.$updatedir.'/update.txt')) {
print "<p>Please read the comments on updating this version. <a href=\"update-".$updatedir."/update.txt\" target=\"_blank\">Read now</a></p>";
}
print "<p>Run the <a href=\"update.php?version=".$updatedir."\">update script</a>.</p>";
}
}
} else {
print "<p>Your current database is up to date.</p>";
}
}
if(!$needsupdate) {
echo getMLText("settings_install_success");
echo "<br/><br/>";
echo getMLText("settings_delete_install_folder");
echo "<br/><br/>";
echo '<a href="install.php?disableinstall=1">' . getMLText("settings_disable_install") . '</a>';
echo "<br/><br/>";
echo '<a href="../out/out.Settings.php">' . getMLText("settings_more_settings") .'</a>';
$showform = false;
}
} else {
print "<p>You does not seem to have a valid database. The table tblVersion is missing.</p>";
}
}
}
}
// Back link
echo '<br/>';
echo '<br/>';
// echo '<a href="' . $httpRoot . '/install/install.php">' . getMLText("back") . '</a>';
} /* }}} */
if($showform) { /* {{{ */
/**
* Set parameters
*/
?>
<form action="install.php" method="post" enctype="multipart/form-data">
<input type="Hidden" name="action" value="setSettings">
<table>
<!-- SETTINGS - SYSTEM - SERVER -->
<tr ><td><b> <?php printMLText("settings_Server");?></b></td> </tr>
<tr title="<?php printMLText("settings_rootDir_desc");?>">
<td><?php printMLText("settings_rootDir");?>:</td>
<td><input type="text" name="rootDir" value="<?php echo $settings->_rootDir ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_httpRoot_desc");?>">
<td><?php printMLText("settings_httpRoot");?>:</td>
<td><input type="text" name="httpRoot" value="<?php echo $settings->_httpRoot ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_contentDir_desc");?>">
<td><?php printMLText("settings_contentDir");?>:</td>
<td><input type="text" name="contentDir" value="<?php echo $settings->_contentDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_luceneDir_desc");?>">
<td><?php printMLText("settings_luceneDir");?>:</td>
<td><input type="text" name="luceneDir" value="<?php echo $settings->_luceneDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_stagingDir_desc");?>">
<td><?php printMLText("settings_stagingDir");?>:</td>
<td><input type="text" name="stagingDir" value="<?php echo $settings->_stagingDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_cacheDir_desc");?>">
<td><?php printMLText("settings_cacheDir");?>:</td>
<td><input type="text" name="cacheDir" value="<?php echo $settings->_cacheDir ?>" size="100" style="background:yellow" /></td>
</tr>
<!--
<tr title="<?php printMLText("settings_coreDir_desc");?>">
<td><?php printMLText("settings_coreDir");?>:</td>
<td><input type="text" name="coreDir" value="<?php echo $settings->_coreDir ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_luceneClassDir_desc");?>">
<td><?php printMLText("settings_luceneClassDir");?>:</td>
<td><input type="text" name="luceneClassDir" value="<?php echo $settings->_luceneClassDir ?>" size="100" /></td>
</tr>
-->
<tr title="<?php printMLText("settings_extraPath_desc");?>">
<td><?php printMLText("settings_extraPath");?>:</td>
<td><input type="text" name="extraPath" value="<?php echo $settings->_extraPath ?>" size="100" /></td>
</tr>
<!-- SETTINGS - SYSTEM - DATABASE -->
<tr ><td><b> <?php printMLText("settings_Database");?></b></td> </tr>
<tr title="<?php printMLText("settings_dbDriver_desc");?>">
<td><?php printMLText("settings_dbDriver");?>:</td>
<td><input type="text" name="dbDriver" value="<?php echo $settings->_dbDriver ?>" /></td>
</tr>
<tr title="<?php printMLText("settings_dbHostname_desc");?>">
<td><?php printMLText("settings_dbHostname");?>:</td>
<td><input type="text" name="dbHostname" value="<?php echo $settings->_dbHostname ?>" /></td>
</tr>
<tr title="<?php printMLText("settings_dbDatabase_desc");?>">
<td><?php printMLText("settings_dbDatabase");?>:</td>
<td><input type="text" name="dbDatabase" value="<?php echo $settings->_dbDatabase ?>" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_dbUser_desc");?>">
<td><?php printMLText("settings_dbUser");?>:</td>
<td><input type="text" name="dbUser" value="<?php echo $settings->_dbUser ?>" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_dbPass_desc");?>">
<td><?php printMLText("settings_dbPass");?>:</td>
<td><input name="dbPass" value="<?php echo $settings->_dbPass ?>" type="password" style="background:yellow" /></td>
</tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr>
<td><?php printMLText("settings_createdatabase");?>:</td>
<td><input name="createDatabase" type="checkbox" style="background:yellow"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" class="btn btn-primary" value="<?php printMLText("apply");?>" /></td>
</tr>
</table>
</form>
<?php
} /* }}} */
// just remove info for web page installation
$settings->_printDisclaimer = false;
$settings->_footNote = false;
// end of the page
$this->contentContainerEnd();
$this->contentEnd();
$this->htmlEndPage();
} /* }}} */
public function update() { /* {{{ */
$settings = $this->params['settings'];
$this->htmlStartPage('Database update');
$this->globalBanner();
$this->contentStart();
$this->contentHeading("SeedDMS Installation for version ".$_GET['version']);
$this->contentContainerStart();
$sqlfile = "update.sql";
switch($settings->_dbDriver) {
case 'mysql':
case 'mysqli':
case 'mysqlnd':
$tmp = explode(":", $settings->_dbHostname);
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
if(isset($tmp[1]))
$dsn .= ";port=".$tmp[1];
break;
case 'sqlite':
$dsn = $settings->_dbDriver.":".$settings->_dbDatabase;
if(file_exists('update-'.$_GET['version'].'/update-sqlite3.sql'))
$sqlfile = "update-sqlite3.sql";
break;
case 'pgsql':
$tmp = explode(":", $settings->_dbHostname);
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
if(isset($tmp[1]))
$dsn .= ";port=".$tmp[1];
if(file_exists('update-'.$_GET['version'].'/update-postgres.sql'))
$sqlfile = "update-postgres.sql";
}
$db = new PDO($dsn, $settings->_dbUser, $settings->_dbPass);
if (!$db) {
die;
}
$errorMsg = '';
$res = $db->query('select * from tblVersion');
$recs = $res->fetchAll(PDO::FETCH_ASSOC);
if(!empty($recs)) {
$rec = $recs[0];
if($_GET['version'] > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) {
if(file_exists('update-'.$_GET['version'].'/'.$sqlfile)) {
$queries = file_get_contents('update-'.$_GET['version'].'/'.$sqlfile);
$queries = explode(";", $queries);
// execute queries
if($queries) {
echo "<h3>Updating database schema</h3>";
foreach($queries as $query) {
$query = trim($query);
if (!empty($query)) {
echo $query."<br />";
if(false === $db->exec($query)) {
$e = $db->ErrorInfo();
$errorMsg .= $e[2] . "<br/>";
}
}
}
}
} else {
echo "<p>SQL file for update missing!</p>";
}
} else {
echo "<p>Database schema already up to date.</p>";
}
if(!$errorMsg) {
if(file_exists('update-'.$_GET['version'].'/update.php')) {
echo "<h3>Running update script</h3>";
include('update-'.$_GET['version'].'/update.php');
}
} else {
echo "<h3>Error Messages</h3>";
echo $errorMsg;
}
echo "<p><a href=\"install.php\">Go back to installation and recheck.</a></p>";
} else {
echo "<p>Could not determine database schema version.</p>";
}
$db = null;
// just remove info for web page installation
$settings->_printDisclaimer = false;
$settings->_footNote = false;
// end of the page
$this->contentContainerEnd();
$this->contentEnd();
$this->htmlEndPage();
} /* }}} */
}

View File

@ -431,7 +431,7 @@ CREATE TABLE `tblSessions` (
`theme` varchar(30) NOT NULL default '',
`language` varchar(30) NOT NULL default '',
`clipboard` text default NULL,
`su` INTEGER DEFAULT NULL,
`su` INTEGER DEFAULT NULL,
`splashmsg` text default NULL
) ;

View File

@ -1,23 +1,22 @@
<?php
require_once('../inc/inc.Version.php');
$ver = new SeedDMS_Version();
define("SEEDDMS_INSTALL", "on");
define("SEEDDMS_VERSION", $ver->version());
include("../inc/inc.Settings.php");
$settings = new Settings();
$rootDir = realpath ("..");
$settings->_rootDir = $rootDir.'/';
if(file_exists($rootDir.'/../www'))
$rootDir = realpath($rootDir.'/..').'/www';
$settings->_rootDir = str_replace("\\", "/" , $rootDir).'/';
$settings->_language = 'en_GB';
$theme = "bootstrap";
include("../inc/inc.Language.php");
include "../languages/en_GB/lang.inc";
include("../inc/inc.ClassUI.php");
include("class.Install.php");
UI::htmlStartPage("INSTALL");
UI::globalBanner();
UI::contentStart();
UI::contentHeading("SeedDMS Installation...");
UI::contentContainerStart();
echo "<h2>".getMLText('settings_install_welcome_title')."</h2>";
echo "<div style=\"width: 600px;\">".getMLText('settings_install_welcome_text')."</div>";
echo '<p><a href="install.php">' . getMLText("settings_start_install") . '</a></p>';
UI::contentContainerEnd();
UI::contentEnd();
UI::htmlEndPage();
?>
$view = new SeedDMS_View_Install(array('settings'=>$settings, 'session'=>null, 'sitename'=>'SeedDMS', 'printdisclaimer'=>0, 'showmissingtranslations'=>0, 'absbaseprefix'=>'/', 'enabledropfolderlist'=>0, 'enablemenutasks'=>0));
$view->intro();

View File

@ -46,66 +46,6 @@ if (!file_exists("settings.xml.template_install")) {
exit;
}
/**
* Functions
*/
function openDBConnection($settings) { /* {{{ */
switch($settings->_dbDriver) {
case 'mysql':
case 'mysqli':
case 'mysqlnd':
case 'pgsql':
$tmp = explode(":", $settings->_dbHostname);
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
if(isset($tmp[1]))
$dsn .= ";port=".$tmp[1];
break;
case 'sqlite':
$dsn = $settings->_dbDriver.":".$settings->_dbDatabase;
break;
}
$connTmp = new PDO($dsn, $settings->_dbUser, $settings->_dbPass);
return $connTmp;
} /* }}} */
function printError($error) { /* {{{ */
print "<div class=\"alert alert-error\">\n";
print $error;
print "</div>";
} /* }}} */
function printWarning($error) { /* {{{ */
print "<div class=\"install_warning\">";
print "Warning<br />";
print $error;
print "</div>";
} /* }}} */
function printCheckError($resCheck) { /* {{{ */
$hasError = false;
foreach($resCheck as $keyRes => $paramRes) {
if(isset($paramRes['type']) && $paramRes['type'] == 'error')
$hasError = true;
$errorMes = getMLText("settings_$keyRes"). " : " . getMLText("settings_".$paramRes["status"]);
if (isset($paramRes["currentvalue"]))
$errorMes .= "<br/> =&gt; " . getMLText("settings_currentvalue") . " : " . $paramRes["currentvalue"];
if (isset($paramRes["suggestionvalue"]))
$errorMes .= "<br/> =&gt; " . getMLText("settings_suggestionvalue") . " : " . $paramRes["suggestionvalue"];
if (isset($paramRes["suggestion"]))
$errorMes .= "<br/> =&gt; " . getMLText("settings_".$paramRes["suggestion"]);
if (isset($paramRes["systemerror"]))
$errorMes .= "<br/> =&gt; " . $paramRes["systemerror"];
if(isset($paramRes['type']) && $paramRes['type'] == 'error')
printError($errorMes);
else
printWarning($errorMes);
}
return $hasError;
} /* }}} */
function fileExistsInIncludePath($file) { /* {{{ */
$paths = explode(PATH_SEPARATOR, get_include_path());
$found = false;
@ -140,7 +80,7 @@ if (!$configDir) {
}
if (!file_exists($configDir."/ENABLE_INSTALL_TOOL")) {
echo "For installation of SeedDMS, you must create the file conf/ENABLE_INSTALL_TOOL";
echo "For installation of SeedDMS, you must create the file ".$configDir."/ENABLE_INSTALL_TOOL";
exit;
}
@ -156,23 +96,27 @@ $settings = new Settings();
$settings->load($configDir."/settings.xml");
$rootDir = realpath ("..");
$rootDir = str_replace ("\\", "/" , $rootDir) . "/";
$installPath = realpath ("install.php");
$installPath = str_replace ("\\", "/" , $installPath);
$tmpToDel = str_replace ($rootDir, "" , $installPath);
$httpRoot = str_replace ($tmpToDel, "" , $_SERVER["REQUEST_URI"]);
$httpRoot = str_replace ($tmpToDel, "" , $_SERVER["SCRIPT_NAME"]).'/';
/* Correct rootDir to ensure it points to 'www' instead of the versioned
* seeddms dir.
*/
if(file_exists($rootDir.'/../www'))
$rootDir = realpath($rootDir.'/..').'/www';
$rootDir = str_replace ("\\", "/" , $rootDir) . "/";
do {
$httpRoot = str_replace ("//", "/" , $httpRoot, $count);
} while ($count<>0);
if(!$settings->_rootDir)
$settings->_rootDir = $rootDir;
elseif(realpath ("..") != realpath($settings->_rootDir)) { // Fix rootDir if required
$msg = '';
if($rootDir != $settings->_rootDir) {
$msg = "Your Root directory has been modified to fit your installation path!";
$settings->_rootDir = realpath ("..")."/";
}
$settings->_rootDir = $rootDir;
if(!$settings->_contentDir) {
if(!$settings->_contentDir || !is_dir($settings->_contentDir)) {
$settings->_contentDir = realpath($settings->_rootDir."..") . '/data/';
$settings->_luceneDir = $settings->_contentDir . 'lucene/';
$settings->_stagingDir = $settings->_contentDir . 'staging/';
@ -183,6 +127,11 @@ if(!$settings->_contentDir) {
$settings->_cacheDir = $settings->_contentDir . 'cache/';
}
}
if($settings->_dbDriver == 'sqlite') {
if(!$settings->_dbDatabase || !file_exists($settings->_dbDatabase)) {
$settings->_dbDatabase = $settings->_contentDir.'content.db';
}
}
$settings->_httpRoot = $httpRoot;
if(isset($settings->_extraPath))
@ -195,327 +144,8 @@ $theme = "bootstrap";
include("../inc/inc.Language.php");
include "../languages/en_GB/lang.inc";
include("../inc/inc.ClassUI.php");
include("class.Install.php");
$view = new SeedDMS_View_Install(array('settings'=>$settings, 'session'=>null, 'sitename'=>'SeedDMS', 'printdisclaimer'=>0, 'showmissingtranslations'=>0, 'absbaseprefix'=>'/', 'enabledropfolderlist'=>0, 'enablemenutasks'=>0, 'configdir'=>$configDir));
$view->install($msg);
UI::htmlStartPage("INSTALL");
UI::globalBanner();
UI::contentStart();
UI::contentHeading("SeedDMS Installation for version ".SEEDDMS_VERSION);
if(isset($msg))
echo "<div class=\"alert alert-warning\">".$msg."</div>";
UI::contentContainerStart();
/**
* Show phpinfo
*/
if (isset($_GET['phpinfo'])) {
echo '<a href="install.php">' . getMLText("back") . '</a>';
phpinfo();
UI::contentContainerEnd();
UI::contentEnd();
UI::htmlEndPage();
exit();
}
/**
* check if ENABLE_INSTALL_TOOL shall be removed
*/
if (isset($_GET['disableinstall'])) { /* {{{ */
if(file_exists($configDir."/ENABLE_INSTALL_TOOL")) {
if(unlink($configDir."/ENABLE_INSTALL_TOOL")) {
echo getMLText("settings_install_disabled");
echo "<br/><br/>";
echo '<a href="../out/out.Settings.php">' . getMLText("settings_more_settings") .'</a>';
} else {
echo getMLText("settings_cannot_disable");
echo "<br/><br/>";
echo '<a href="install.php">' . getMLText("back") . '</a>';
}
} else {
echo getMLText("settings_cannot_disable");
echo "<br/><br/>";
echo '<a href="install.php">' . getMLText("back") . '</a>';
}
UI::contentContainerEnd();
UI::contentEnd();
UI::htmlEndPage();
exit();
} /* }}} */
/**
* Check System
*/
if (printCheckError( $settings->checkSystem())) { /* {{{ */
if (function_exists("apache_get_version")) {
echo "<br/>Apache version: " . apache_get_version();
}
echo "<br/>PHP version: " . phpversion();
echo "<br/>PHP include path: " . ini_get('include_path');
echo '<br/>';
echo '<br/>';
echo '<a href="' . $httpRoot . 'install/install.php">' . getMLText("refresh") . '</a>';
echo ' - ';
echo '<a href="' . $httpRoot . 'install/install.php?phpinfo">' . getMLText("version_info") . '</a>';
exit;
} /* }}} */
if (isset($_POST["action"])) $action=$_POST["action"];
else if (isset($_GET["action"])) $action=$_GET["action"];
else $action=NULL;
$showform = true;
if ($action=="setSettings") {
/**
* Get Parameters
*/
$settings->_rootDir = $_POST["rootDir"];
$settings->_httpRoot = $_POST["httpRoot"];
$settings->_contentDir = $_POST["contentDir"];
$settings->_luceneDir = $_POST["luceneDir"];
$settings->_stagingDir = $_POST["stagingDir"];
$settings->_cacheDir = $_POST["cacheDir"];
$settings->_extraPath = $_POST["extraPath"];
$settings->_dbDriver = $_POST["dbDriver"];
$settings->_dbHostname = $_POST["dbHostname"];
$settings->_dbDatabase = $_POST["dbDatabase"];
$settings->_dbUser = $_POST["dbUser"];
$settings->_dbPass = $_POST["dbPass"];
$settings->_coreDir = $_POST["coreDir"];
$settings->_luceneClassDir = $_POST["luceneClassDir"];
if(isset($settings->_extraPath))
ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path'));
/**
* Check Parameters, require version 3.3.x
*/
$hasError = printCheckError( $settings->check(substr(str_replace('.', '', SEEDDMS_VERSION), 0,2)));
if (!$hasError) {
// Create database
if (isset($_POST["createDatabase"])) {
$createOK = false;
$errorMsg = "";
$connTmp =openDBConnection($settings);
if ($connTmp) {
// read SQL file
if ($settings->_dbDriver=="mysql")
$queries = file_get_contents("create_tables-innodb.sql");
elseif($settings->_dbDriver=="sqlite")
$queries = file_get_contents("create_tables-sqlite3.sql");
elseif($settings->_dbDriver=="pgsql")
$queries = file_get_contents("create_tables-postgres.sql");
else
die();
// generate SQL query
$queries = explode(";", $queries);
// execute queries
foreach($queries as $query) {
// var_dump($query);
$query = trim($query);
if (!empty($query)) {
$connTmp->exec($query);
if ($connTmp->errorCode() != 0) {
$errorMsg .= $connTmp->errorInfo()[2] . "<br/>";
}
}
}
}
// error ?
if (empty($errorMsg))
$createOK = true;
$connTmp = null;
// Show error
if (!$createOK) {
echo $errorMsg;
$hasError = true;
}
} // create database
if (!$hasError) {
// Save settings
$settings->save();
$needsupdate = false;
$connTmp =openDBConnection($settings);
if ($connTmp) {
switch($settings->_dbDriver) {
case 'mysql':
case 'mysqli':
case 'mysqlnd':
case 'sqlite':
$sql = 'select * from `tblVersion`';
break;
case 'pgsql':
$sql = 'select * from "tblVersion"';
break;
}
$res = $connTmp->query($sql);
if($res) {
if($rec = $res->fetch(PDO::FETCH_ASSOC)) {
$updatedirs = array();
$d = dir(".");
while (false !== ($entry = $d->read())) {
if(preg_match('/update-([0-9.]*)/', $entry, $matches)) {
$updatedirs[] = $matches[1];
}
}
$d->close();
echo "Your current database schema has version ".$rec['major'].'.'.$rec['minor'].'.'.$rec['subminor'].". Please run all (if any)<br />of the update scripts below in the listed order.<br /><br />";
$connTmp = null;
if($updatedirs) {
asort($updatedirs);
foreach($updatedirs as $updatedir) {
if($updatedir > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) {
$needsupdate = true;
print "<h3>Database update to version ".$updatedir." needed</h3>";
if(file_exists('update-'.$updatedir.'/update.txt')) {
print "<p>Please read the comments on updating this version. <a href=\"update-".$updatedir."/update.txt\" target=\"_blank\">Read now</a></p>";
}
print "<p>Run the <a href=\"update.php?version=".$updatedir."\">update script</a>.</p>";
}
}
} else {
print "<p>Your current database is up to date.</p>";
}
}
if(!$needsupdate) {
echo getMLText("settings_install_success");
echo "<br/><br/>";
echo getMLText("settings_delete_install_folder");
echo "<br/><br/>";
echo '<a href="install.php?disableinstall=1">' . getMLText("settings_disable_install") . '</a>';
echo "<br/><br/>";
echo '<a href="../out/out.Settings.php">' . getMLText("settings_more_settings") .'</a>';
$showform = false;
}
} else {
print "<p>You does not seem to have a valid database. The table tblVersion is missing.</p>";
}
}
}
}
// Back link
echo '<br/>';
echo '<br/>';
// echo '<a href="' . $httpRoot . '/install/install.php">' . getMLText("back") . '</a>';
}
if($showform) {
/**
* Set parameters
*/
?>
<form action="install.php" method="post" enctype="multipart/form-data">
<input type="Hidden" name="action" value="setSettings">
<table>
<!-- SETTINGS - SYSTEM - SERVER -->
<tr ><td><b> <?php printMLText("settings_Server");?></b></td> </tr>
<tr title="<?php printMLText("settings_rootDir_desc");?>">
<td><?php printMLText("settings_rootDir");?>:</td>
<td><input type="text" name="rootDir" value="<?php echo $settings->_rootDir ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_httpRoot_desc");?>">
<td><?php printMLText("settings_httpRoot");?>:</td>
<td><input type="text" name="httpRoot" value="<?php echo $settings->_httpRoot ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_contentDir_desc");?>">
<td><?php printMLText("settings_contentDir");?>:</td>
<td><input type="text" name="contentDir" value="<?php echo $settings->_contentDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_luceneDir_desc");?>">
<td><?php printMLText("settings_luceneDir");?>:</td>
<td><input type="text" name="luceneDir" value="<?php echo $settings->_luceneDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_stagingDir_desc");?>">
<td><?php printMLText("settings_stagingDir");?>:</td>
<td><input type="text" name="stagingDir" value="<?php echo $settings->_stagingDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_cacheDir_desc");?>">
<td><?php printMLText("settings_cacheDir");?>:</td>
<td><input type="text" name="cacheDir" value="<?php echo $settings->_cacheDir ?>" size="100" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_coreDir_desc");?>">
<td><?php printMLText("settings_coreDir");?>:</td>
<td><input type="text" name="coreDir" value="<?php echo $settings->_coreDir ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_luceneClassDir_desc");?>">
<td><?php printMLText("settings_luceneClassDir");?>:</td>
<td><input type="text" name="luceneClassDir" value="<?php echo $settings->_luceneClassDir ?>" size="100" /></td>
</tr>
<tr title="<?php printMLText("settings_extraPath_desc");?>">
<td><?php printMLText("settings_extraPath");?>:</td>
<td><input type="text" name="extraPath" value="<?php echo $settings->_extraPath ?>" size="100" /></td>
</tr>
<!-- SETTINGS - SYSTEM - DATABASE -->
<tr ><td><b> <?php printMLText("settings_Database");?></b></td> </tr>
<tr title="<?php printMLText("settings_dbDriver_desc");?>">
<td><?php printMLText("settings_dbDriver");?>:</td>
<td><input type="text" name="dbDriver" value="<?php echo $settings->_dbDriver ?>" /></td>
</tr>
<tr title="<?php printMLText("settings_dbHostname_desc");?>">
<td><?php printMLText("settings_dbHostname");?>:</td>
<td><input type="text" name="dbHostname" value="<?php echo $settings->_dbHostname ?>" /></td>
</tr>
<tr title="<?php printMLText("settings_dbDatabase_desc");?>">
<td><?php printMLText("settings_dbDatabase");?>:</td>
<td><input type="text" name="dbDatabase" value="<?php echo $settings->_dbDatabase ?>" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_dbUser_desc");?>">
<td><?php printMLText("settings_dbUser");?>:</td>
<td><input type="text" name="dbUser" value="<?php echo $settings->_dbUser ?>" style="background:yellow" /></td>
</tr>
<tr title="<?php printMLText("settings_dbPass_desc");?>">
<td><?php printMLText("settings_dbPass");?>:</td>
<td><input name="dbPass" value="<?php echo $settings->_dbPass ?>" type="password" style="background:yellow" /></td>
</tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr>
<td><?php printMLText("settings_createdatabase");?>:</td>
<td><input name="createDatabase" type="checkbox" style="background:yellow"/></td>
</tr>
<tr>
<td></td>
<td><input type="submit" class="btn btn-primary" value="<?php printMLText("apply");?>" /></td>
</tr>
</table>
</form>
<?php
}
/*
*/
// just remove info for web page installation
$settings->_printDisclaimer = false;
$settings->_footNote = false;
// end of the page
UI::contentContainerEnd();
UI::contentEnd();
UI::htmlEndPage();
?>

View File

@ -101,7 +101,7 @@ ALTER TABLE tblDocuments ADD CONSTRAINT `tblDocuments_folder` FOREIGN KEY (`fold
CALL DROPFK('tblDocumentContent', 'tblDocumentContent_document');
ALTER TABLE tblDocumentContent DROP PRIMARY KEY;
-- ALTER TABLE tblDocumentContent DROP PRIMARY KEY;
ALTER TABLE tblDocumentContent ADD CONSTRAINT `tblDocumentContent_document` FOREIGN KEY (`document`) REFERENCES `tblDocuments` (`id`);

View File

@ -1,3 +1,5 @@
SET SQL_MODE='ALLOW_INVALID_DATES';
START TRANSACTION;
ALTER TABLE tblDocumentLinks ADD CONSTRAINT `tblDocumentLinks_target` FOREIGN KEY (`target`) REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE;

View File

@ -51,7 +51,9 @@ ALTER TABLE `new_tblDocumentContent` RENAME TO `tblDocumentContent`;
CREATE TABLE `new_tblDocumentFiles` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`document` INTEGER NOT NULL default 0 REFERENCES `tblDocuments` (`id`),
`version` INTEGER unsigned NOT NULL default '0',
`userID` INTEGER NOT NULL default 0 REFERENCES `tblUsers` (`id`),
`public` INTEGER NOT NULL default '0',
`comment` text,
`name` varchar(150) default NULL,
`date` INTEGER default NULL,
@ -61,16 +63,12 @@ CREATE TABLE `new_tblDocumentFiles` (
`mimeType` varchar(100) NOT NULL default ''
) ;
INSERT INTO `new_tblDocumentFiles` SELECT * FROM `tblDocumentFiles`;
INSERT INTO `new_tblDocumentFiles` SELECT `id`, `document`, 0, `userID`, 0, `comment`, `name`, `date`, `dir`, `orgFileName`, `fileType`, `mimeType` FROM `tblDocumentFiles`;
DROP TABLE `tblDocumentFiles`;
ALTER TABLE `new_tblDocumentFiles` RENAME TO `tblDocumentFiles`;
ALTER TABLE `tblDocumentFiles` ADD COLUMN `version` INTEGER unsigned NOT NULL DEFAULT '0';
ALTER TABLE `tblDocumentFiles` ADD COLUMN `public` INTEGER unsigned NOT NULL DEFAULT '0';
CREATE TABLE `new_tblUsers` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`login` varchar(50) default NULL,

View File

@ -28,6 +28,8 @@ ALTER TABLE `tblWorkflowDocumentContent` CHANGE `date` `date` datetime NOT NULL;
ALTER TABLE `tblVersion` CHANGE `date` `date` datetime NOT NULL;
UPDATE `tblUsers` SET `theme`='bootstrap' WHERE `theme` != '';
UPDATE tblVersion set major=5, minor=1, subminor=0;
COMMIT;

View File

@ -37,93 +37,7 @@ $theme = "bootstrap";
require_once("../inc/inc.Language.php");
include "../languages/en_GB/lang.inc";
require_once("../inc/inc.ClassUI.php");
include("class.Install.php");
UI::htmlStartPage('Database update');
UI::globalBanner();
UI::contentStart();
UI::contentHeading("SeedDMS Installation for version ".$_GET['version']);
UI::contentContainerStart();
$sqlfile = "update.sql";
switch($settings->_dbDriver) {
case 'mysql':
case 'mysqli':
case 'mysqlnd':
$tmp = explode(":", $settings->_dbHostname);
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
if(isset($tmp[1]))
$dsn .= ";port=".$tmp[1];
break;
case 'sqlite':
$dsn = $settings->_dbDriver.":".$settings->_dbDatabase;
if(file_exists('update-'.$_GET['version'].'/update-sqlite3.sql'))
$sqlfile = "update-sqlite3.sql";
break;
case 'pgsql':
$tmp = explode(":", $settings->_dbHostname);
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
if(isset($tmp[1]))
$dsn .= ";port=".$tmp[1];
if(file_exists('update-'.$_GET['version'].'/update-postgres.sql'))
$sqlfile = "update-postgres.sql";
}
$db = new PDO($dsn, $settings->_dbUser, $settings->_dbPass);
if (!$db) {
die;
}
$errorMsg = '';
$res = $db->query('select * from tblVersion');
$recs = $res->fetchAll(PDO::FETCH_ASSOC);
if(!empty($recs)) {
$rec = $recs[0];
if($_GET['version'] > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) {
if(file_exists('update-'.$_GET['version'].'/'.$sqlfile)) {
$queries = file_get_contents('update-'.$_GET['version'].'/'.$sqlfile);
$queries = explode(";", $queries);
// execute queries
if($queries) {
echo "<h3>Updating database schema</h3>";
foreach($queries as $query) {
$query = trim($query);
if (!empty($query)) {
echo $query."<br />";
if(false === $db->exec($query)) {
$e = $db->ErrorInfo();
$errorMsg .= $e[2] . "<br/>";
}
}
}
}
} else {
echo "<p>SQL file for update missing!</p>";
}
} else {
echo "<p>Database schema already up to date.</p>";
}
if(!$errorMsg) {
if(file_exists('update-'.$_GET['version'].'/update.php')) {
echo "<h3>Running update script</h3>";
include('update-'.$_GET['version'].'/update.php');
}
} else {
echo $errorMsg;
}
echo "<p><a href=\"install.php\">Go back to installation and recheck.</a></p>";
} else {
echo "<p>Could not determine database schema version.</p>";
}
$db = null;
// just remove info for web page installation
$settings->_printDisclaimer = false;
$settings->_footNote = false;
// end of the page
UI::contentContainerEnd();
UI::contentEnd();
UI::htmlEndPage();
?>
$view = new SeedDMS_View_Install(array('settings'=>$settings, 'session'=>null, 'sitename'=>'SeedDMS', 'printdisclaimer'=>0, 'showmissingtranslations'=>0, 'absbaseprefix'=>'/', 'enabledropfolderlist'=>0, 'enablemenutasks'=>0));
$view->update();

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2267)
// Translators: Admin (2271)
$text = array(
'2_factor_auth' => 'توثيق ذو عاملين',
'2_factor_auth_info' => 'معلومات عن توثيق ذو عاملين',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'كل المستخدمين',
'already_subscribed' => 'بالفعل مشترك',
'and' => 'و',
'apikey' => '',
'apply' => 'تطبيق',
'approvals_accepted' => 'موافقةالطلب',
'approvals_accepted_latest' => '',
@ -226,7 +229,9 @@ URL: [url]',
'cannot_move_root' => 'خطأ: لايمكنك تحريك المجلد الرئيسي.',
'cannot_retrieve_approval_snapshot' => 'لا يمكن استدعاء لقطة حالة الموافقة لهذا الاصدار من المستند',
'cannot_retrieve_review_snapshot' => 'لا يمكن استدعاء لقطة حالة المراجعة لهذا الاصدار من المستند',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'خطأ: لايمكنك مسح المجلد الرئيسي.',
'cannot_transfer_your_objects' => '',
'categories' => 'اقسام',
'categories_loading' => 'جار تحميل الأقسام',
'category' => 'قسم',
@ -250,6 +255,7 @@ URL: [url]',
'chart_docspermonth_title' => 'عنوان الجدول حسب الشهر',
'chart_docsperstatus_title' => 'عنوان الجدول حسب الحالة',
'chart_docsperuser_title' => 'عنوان الجدول حسب المستخدم',
'chart_foldersperuser_title' => '',
'chart_selection' => 'تحديد الجدول',
'chart_sizeperuser_title' => 'عنوان الجدول حسب حجم المستخدم',
'checkedout_file_has_different_version' => 'الملف المراجع لديه نسخة أخرى',
@ -257,6 +263,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'لم يتم تغيير سحب الملف',
'checkin_document' => 'ملف',
'checkoutpath_does_not_exist' => 'سير السحب غير موجود',
'checkout_cancel_confirm' => '',
'checkout_document' => 'سحب الملف',
'checkout_is_disabled' => 'السحب معطل',
'choose_attrdef' => 'من فضلك اختر تعريف السمة',
@ -272,12 +279,14 @@ URL: [url]',
'choose_workflow' => 'اختر مسار عمل',
'choose_workflow_action' => 'اختر اجراء مسار عمل',
'choose_workflow_state' => 'اختر حالة مسار عمل',
'class_finfo_missing' => '',
'class_name' => 'اسم الصف',
'clear_cache' => 'مسح المحفوظات',
'clear_clipboard' => 'مسح الحافظة',
'clear_password' => 'مسح الرقم السري',
'clipboard' => 'لوحة القصاصات',
'close' => 'إغلاق',
'color' => '',
'command' => 'أمر',
'comment' => 'تعليق',
'comment_changed_email' => 'تعليق تغيير البريد الإلكتروني',
@ -324,7 +333,7 @@ URL: [url]',
'daily' => 'يومي',
'databasesearch' => 'بحث قاعدة البيانات',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => 'ﺎﻟﺮﺟﺍﺀ ﺍﻼﻨﺘﻇﺍﺭ, ﺖﺤﻤﻴﻟ ﺎﻠﻤﻌﻟﻮﻣﺎﺗ...',
'date' => 'تاريخ',
'days' => 'أيام',
'debug' => 'debug',
@ -390,12 +399,14 @@ Parent folder: [folder_path]
المستخدم: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - تم مسح المستند',
'document_duplicate_name' => 'اسم المستند متكرر',
'document_files' => '',
'document_has_no_workflow' => 'المستند لايحتوى مسار عمل',
'document_infos' => 'معلومات المستند',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'تم سحب المستند',
'document_is_not_locked' => 'هذا المستند غير محمي ضد التعديل',
'document_links' => '',
'document_link_by' => 'مربوط بواسطة',
'document_link_public' => 'عام',
'document_moved_email' => 'تم تحريك المستند',
@ -435,6 +446,7 @@ Parent folder: [folder_path]
تعليق الاصدار: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - تم تحديث المستند',
'document_versions' => '',
'does_not_expire' => 'لا ينتهى صلاحيته',
'does_not_inherit_access_msg' => 'صلاحيات موروثة',
'download' => 'تنزيل',
@ -469,6 +481,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'رفع سريع',
'drop_files_here' => 'أفلت الملفات هنا!',
'drop_files_here_or_click' => '',
'dump_creation' => 'انشاء مستخرج من قاعدة البيانات',
'dump_creation_warning' => 'من خلال تلك العملية يمكنك انشاء ملف مستخرج من محتوى قاعدة البيانات. بعد انشاء الملف المستخرج سيتم حفظه في مجلد البيانات الخاص بسيرفرك',
'dump_list' => 'ملف مستخرج حالي',
@ -518,6 +531,7 @@ URL: [url]',
'error_add_aro' => 'خطأ في الإضافة',
'error_add_permission' => 'خطأ في طلب السماح',
'error_cleared_cache' => 'خطأ في مسح المحفوظات',
'error_document_indexed' => '',
'error_edit_task' => 'خطأ في تعديل المهمة',
'error_extension_getlist' => 'خطأ في أخذ الائحة',
'error_importfs' => 'خطأ في الإستيراد',
@ -551,7 +565,7 @@ URL: [url]',
'expire_in_1y' => 'تنتهي صلاحيته بعد سنة',
'expire_in_2h' => 'تنتهي صلاحيته بعد ساعتين',
'expire_in_2y' => 'تنتهي صلاحيته بعد سنتين',
'expire_in_3y' => '',
'expire_in_3y' => 'ﺖﻨﺘﻫﻯ ﺹﻼﺤﻴﺘﻫ ﻑﻯ ﺥﻼﻟ ٣ ﺲﻧﻭﺎﺗ',
'expire_today' => 'تنتهي صلاحيته اليوم',
'expire_tomorrow' => 'تنتهي صلاحيته غدا',
'expiry_changed_email' => 'تم تغيير تاريخ الصلاحية',
@ -639,6 +653,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'توقف البحث الكامل للنص',
'fulltext_converters' => 'فهرس تحويل المستند',
'fulltext_info' => 'معلومات فهرس النص الكامل',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'معرف تعريف المجموعات',
'global_attributedefinitions' => 'سمات',
'global_default_keywords' => 'كلمات بحثية عامة',
@ -654,6 +669,7 @@ URL: [url]',
'group_management' => 'إدارة المجموعات',
'group_members' => 'أعضاء المجموعة',
'group_receipt_summary' => 'ملخص وصل المجموعة',
'group_review_removed' => '',
'group_review_summary' => 'ملخص مراجعة المجموعة',
'group_revision_summary' => '',
'guest_login' => 'الدخول كضيف',
@ -682,16 +698,23 @@ URL: [url]',
'include_subdirectories' => 'اشمل مجلدات فرعية',
'indexing_tasks_in_queue' => 'فهرسة المهات بالترتيب',
'index_converters' => 'تحويل الفهرسة',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => 'تمت الفهرسة',
'index_error' => 'خطأ في الفهرسة',
'index_folder' => 'فهرسة المجلد',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => 'فهرسة بلا محتوى',
'index_pending' => 'الفهرسة قيد الإنتظار',
'index_waiting' => 'الفهرسة قيد الإنتظار',
'individuals' => 'افراد',
'individuals_in_groups' => 'أفراد في المجموعات',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'رابط معلومات المستلمين لم يصدر بعد',
'info_rm_user_from_processes_user' => '',
'inherited' => 'موروث',
'inherits_access_copy_msg' => 'نسخ قائمة صلاحيات موروثة.',
'inherits_access_empty_msg' => 'ابدأ بقائمة صلاحيات فارغة',
@ -735,8 +758,10 @@ URL: [url]',
'js_no_approval_status' => 'من فضلك اختر حالة الموافقة',
'js_no_comment' => 'لايوجد تعليق',
'js_no_currentpwd' => 'لا يوجد كلمة سر حالية',
'js_no_document' => '',
'js_no_email' => 'اكتب بريدك الالكتروني',
'js_no_file' => 'من فضلك اختر ملف',
'js_no_folder' => '',
'js_no_keywords' => 'من فضلك اختر بعض الكلمات البحثية',
'js_no_login' => 'من فضلك اكتب اسم المستخدم',
'js_no_name' => 'من فضلك اكتب اسم',
@ -779,6 +804,7 @@ URL: [url]',
'lock_document' => 'حماية',
'lock_message' => 'هذا الملف محمي بواسطة [username]. فقط المستخدمين المصرح لهم يمكنهم تعديله.',
'lock_status' => 'حالة',
'logfile' => '',
'logfile_loading' => '',
'login' => 'دخول',
'login_disabled_text' => 'حسابك معطل, غالبا بسبب المحاولات العديدة الخاطئة للدخول',
@ -814,7 +840,9 @@ URL: [url]',
'missing_checksum' => 'فحص الأخطاء مفقود',
'missing_file' => 'الملف غير موجود',
'missing_filesize' => 'حجم الملف مفقود',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => 'الإستقبال غير موجود',
'missing_request_object' => 'طلب شيء غير موجود',
'missing_transition_user_group' => 'مستخدم/مجموعة مفقودة للتحول',
@ -831,6 +859,12 @@ URL: [url]',
'my_documents' => 'مستنداتي',
'my_transmittals' => 'الإحالات الخاصة بي',
'name' => 'اسم',
'nav_brand_admin_tools' => 'أدوات-الإدارة',
'nav_brand_calendar' => '',
'nav_brand_my_account' => 'حسابي',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'ﺎﻠﻧﺭﻮﻴﺟ',
'needs_correction' => 'يحتاج الى تصحيح',
'needs_workflow_action' => 'هذا المستند يتطلب انتباهك . من فضلك تفقد زر مسار العمل',
@ -888,11 +922,13 @@ Parent folder: [folder_path]
مستخدم: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - تم ازالتك من قائمة التنبيهات',
'not_subscribed' => '',
'november' => 'نوفمبر',
'now' => 'الان',
'no_action' => 'لايوجد اجراء مطلوب',
'no_approval_needed' => 'لايوجد موافقات منتظره',
'no_attached_files' => 'لا يوجد مرفقات',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => 'لا يوجد اصدار جديد',
@ -955,6 +991,8 @@ URL: [url]',
'password_forgotten_send_hash' => 'تم ارسال التعليمات اللازمة لبريدك الالكتروني',
'password_forgotten_text' => 'قم بملء النموذج التالي واتبع التعليمات التى سيتم ارسالها اليك بالبريد الالكتروني',
'password_forgotten_title' => 'ارسال كلمة السر',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'تكرار كلمة السر',
'password_send' => 'أرسل كلمة السر',
'password_send_text' => 'أرسل نموذج كلمة السر',
@ -1033,9 +1071,13 @@ Parent folder: [folder_path]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - تم ازالة مسار العمل من اصدار المستند',
'removeFolderFromDropFolder' => 'إزالة مجلد من إسقاط لائحة',
'remove_approval_log' => '',
'remove_marked_files' => 'ازالة الملفات المختارة',
'remove_review_log' => '',
'repaired' => 'تم اصلاحه',
'repairing_objects' => 'تحضير المستندات والمجلدات.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'طلب سير عمل في نشاط محتوى البريد الإلكتروني',
'request_workflow_action_email_subject' => 'طلب سير العمل في نشاط موضوع البريد الإلكتروني',
'reset_checkout' => 'إعادة تعيين الخروج',
@ -1172,6 +1214,7 @@ URL: [url]',
'search' => 'البحث',
'search_fulltext' => 'بحث في النص الكامل',
'search_in' => 'بحث في',
'search_mode' => '',
'search_mode_and' => 'كل الكلمات',
'search_mode_documents' => 'وضع البحث عن مستندات',
'search_mode_folders' => 'وضع البحث عن مجلدات',
@ -1213,6 +1256,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'اختر واحد',
'select_owner' => '',
'select_status' => '',
'select_user' => 'اختر مستخدم',
'select_users' => 'اضغط لاختيار المستخدم',
'select_value' => 'ًاختار قيمة',
@ -1267,6 +1311,7 @@ URL: [url]',
'settings_checkOutDir_desc' => 'checkOutDir',
'settings_cmdTimeout' => 'انتهاء مدة cmd',
'settings_cmdTimeout_desc' => 'انتهاء مدة cmd',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'مجلد المحتوى',
'settings_contentDir_desc' => 'محتوى المجلد',
'settings_contentOffsetDir' => 'محتوى المجلد',
@ -1384,6 +1429,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => 'تمكين استلام سير العمل',
'settings_enableRecursiveCount' => 'تمكين عدد المستندات / المجلدات العودية',
'settings_enableRecursiveCount_desc' => 'تمكين عدد المستندات / المجلدات العودية',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => 'تمكين رفض مراجعة التصويت',
@ -1435,6 +1482,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLITEFTS',
'settings_guestID' => 'معرف الضيف',
'settings_guestID_desc' => 'معرف الضيف',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'httpRoot',
'settings_httpRoot_desc' => 'httpRoot',
'settings_incItemsPerPage' => 'زيادة العناصر في الصفحة',
@ -1453,6 +1502,7 @@ URL: [url]',
'settings_install_welcome_text' => 'تثبيت نص الترحيب',
'settings_install_welcome_title' => 'تثبيت عنوان الترحيب',
'settings_install_zendframework' => 'تثبيت إطار زند',
'settings_invalid_guestid' => '',
'settings_language' => 'اللغة',
'settings_language_desc' => 'اللغة',
'settings_libraryFolder' => 'مجلد المكتبة',
@ -1643,6 +1693,7 @@ URL: [url]',
'splash_add_attribute' => 'اضافة سمة',
'splash_add_group' => 'اضافة مجموعة',
'splash_add_group_member' => 'اضافة مستخدم الى المجموعة',
'splash_add_notify' => '',
'splash_add_role' => 'اضافة دور',
'splash_add_task' => '',
'splash_add_to_transmittal' => 'اضافة إلى الإحالة',
@ -1654,6 +1705,7 @@ URL: [url]',
'splash_delete_access' => 'حذف الوصول',
'splash_document_added' => 'الوثيقة المضافة',
'splash_document_checkedout' => 'تم سحب المستند',
'splash_document_deleted' => '',
'splash_document_edited' => 'تم تحرير المستند',
'splash_document_indexed' => 'تم فهرسة المستند',
'splash_document_locked' => 'تم قفل المستند',
@ -1677,6 +1729,7 @@ URL: [url]',
'splash_extension_import' => 'استيراد',
'splash_extension_refresh' => 'تحديث',
'splash_extension_upload' => 'تحميل',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'تحرير مجلد',
'splash_importfs' => 'استيراد',
'splash_inherit_access' => 'يرث الوصول',
@ -1696,6 +1749,7 @@ URL: [url]',
'splash_rm_folder' => 'تم حذف المجلد',
'splash_rm_group' => 'تم حذف المجموعة',
'splash_rm_group_member' => 'تم حذف مستخدم من المجموعة',
'splash_rm_notify' => '',
'splash_rm_role' => 'تم حذف دور',
'splash_rm_transmittal' => 'تم حذف إحالة',
'splash_rm_user' => 'تم حذف مستخدم',
@ -1723,6 +1777,7 @@ URL: [url]',
'status_approval_rejected' => 'مسودة مرفوضة',
'status_approved' => 'تمت الموافقة',
'status_approver_removed' => 'تم ازالة موافق من العملية',
'status_change' => '',
'status_needs_correction' => 'الوضع يحتاج إلى تصحيح',
'status_not_approved' => 'لم تتم الموافقة بعد',
'status_not_receipted' => 'الوضع غير مستلم',
@ -1776,10 +1831,12 @@ URL: [url]',
'tasks' => 'مهمات',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'تفصيل المهام',
'task_disabled' => 'تم توقيف المهمة',
'task_frequency' => 'تردد المهمة',
'task_frequency_placeholder' => '',
'task_last_run' => 'مهمة المدى الماضي',
'task_name' => 'اسم المهمة',
'task_next_run' => 'مدى المهمة القادمة',
@ -1801,6 +1858,7 @@ URL: [url]',
'timeline_skip_add_file' => 'تخطى وأضف ملف',
'timeline_skip_scheduled_revision' => 'تخطي المراجعة المحددة في التاريخ',
'timeline_skip_status_change_-1' => 'تخطي تغيير الحالة -1',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'تخطي تغيير الحالة -3',
'timeline_skip_status_change_0' => 'تخطي تغيير الحالة 0',
'timeline_skip_status_change_1' => 'تخطي تغيير الحالة 1',
@ -1859,6 +1917,7 @@ URL: [url]',
'unknown_id' => 'معرف مجهول',
'unknown_keyword_category' => 'قسم مجهول',
'unknown_owner' => 'معرف مالك مجهول',
'unknown_status' => '',
'unknown_user' => 'معرف مستخدم مجهول',
'unlinked_content' => 'محتوى غير مربوط',
'unlinked_documents' => 'مستندات غير مربوطة',
@ -1921,6 +1980,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'شاهد اونلاين',
'warning' => 'تحذير',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (870)
// Translators: Admin (872)
$text = array(
'2_factor_auth' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '',
'abbr_day' => '',
'abbr_hour' => '',
@ -91,6 +93,7 @@ $text = array(
'all_users' => 'Всички потребители',
'already_subscribed' => 'Вече е подписан',
'and' => 'и',
'apikey' => '',
'apply' => 'Приложи',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -209,7 +212,9 @@ $text = array(
'cannot_move_root' => 'Невозможно е да се перемести руут папката',
'cannot_retrieve_approval_snapshot' => 'Невозможно е да се получи утвърждаваща снимка за тази версия на документа',
'cannot_retrieve_review_snapshot' => 'Невозможно е да се получи рецензираща снимка за тази версия на документа',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Невозможно е да се изтрие руут папката',
'cannot_transfer_your_objects' => '',
'categories' => 'Категории',
'categories_loading' => '',
'category' => 'Категория',
@ -233,6 +238,7 @@ $text = array(
'chart_docspermonth_title' => 'Нови документи за месец',
'chart_docsperstatus_title' => 'Документи според статус',
'chart_docsperuser_title' => 'Документи на юзър',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Изберете диаграма',
'chart_sizeperuser_title' => '',
'checkedout_file_has_different_version' => '',
@ -240,6 +246,7 @@ $text = array(
'checkedout_file_is_unchanged' => '',
'checkin_document' => '',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => '',
'checkout_is_disabled' => '',
'choose_attrdef' => 'Изберете attribute definition',
@ -255,12 +262,14 @@ $text = array(
'choose_workflow' => 'Изберете workflow',
'choose_workflow_action' => 'Изберете workflow действие',
'choose_workflow_state' => 'Изберете състояние на workflow',
'class_finfo_missing' => '',
'class_name' => '',
'clear_cache' => 'Изчистване на кеша',
'clear_clipboard' => '',
'clear_password' => '',
'clipboard' => 'Клипборд',
'close' => 'Затвори',
'color' => '',
'command' => '',
'comment' => 'Коментар',
'comment_changed_email' => 'Коментарите са изменени',
@ -364,12 +373,14 @@ $text = array(
'document_deleted_email_body' => '',
'document_deleted_email_subject' => '',
'document_duplicate_name' => 'Дублирано име на документ',
'document_files' => '',
'document_has_no_workflow' => 'Документът няма процес',
'document_infos' => 'Информация за документа',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => 'Документът не е блокиран',
'document_links' => '',
'document_link_by' => 'Свързан',
'document_link_public' => 'Публичен',
'document_moved_email' => 'Документът е преместен',
@ -388,6 +399,7 @@ $text = array(
'document_updated_email' => 'Документът обновен',
'document_updated_email_body' => '',
'document_updated_email_subject' => '',
'document_versions' => '',
'does_not_expire' => 'Безсрочен',
'does_not_inherit_access_msg' => 'Наследване нивото на достъп',
'download' => 'Изтегли',
@ -422,6 +434,7 @@ $text = array(
'dropfolder_metadata' => '',
'dropupload' => 'Бърз ъплоуд',
'drop_files_here' => 'Пусни файла тук!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Създаване дъмп на БД',
'dump_creation_warning' => 'Тази операция шъ създаде дамп на базата данни. След създаването, файлът ще бъде съхранен в папката с данни на сървъра.',
'dump_list' => 'Съществуващи дъмпове',
@ -471,6 +484,7 @@ $text = array(
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -568,6 +582,7 @@ $text = array(
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Index document conversion',
'fulltext_info' => 'Информация за пълнотекстов индексе',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'атрибути',
'global_default_keywords' => 'Глобални ключови думи',
@ -583,6 +598,7 @@ $text = array(
'group_management' => 'Управление на групи',
'group_members' => 'Членове на групата',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Сводка по рецензирането на групи',
'group_revision_summary' => '',
'guest_login' => 'Влез като гост',
@ -611,16 +627,23 @@ $text = array(
'include_subdirectories' => 'Включи под-папки',
'indexing_tasks_in_queue' => '',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Индекс на директорията',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => '',
'individuals' => 'Личности',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'наследен',
'inherits_access_copy_msg' => 'Изкопирай наследения список',
'inherits_access_empty_msg' => 'Започни с празен списък за достъп',
@ -664,8 +687,10 @@ $text = array(
'js_no_approval_status' => 'Изберете статусът на утвърждаване',
'js_no_comment' => 'Няма коментар',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => 'Въведете своя Email',
'js_no_file' => 'Изберете файл',
'js_no_folder' => '',
'js_no_keywords' => 'Укажете ключови думи',
'js_no_login' => 'Въведъте логин',
'js_no_name' => 'Въведете име',
@ -708,6 +733,7 @@ $text = array(
'lock_document' => 'Блокирай',
'lock_message' => 'Документът е блокиран [username]. Само имащите права могат да го разблокират.',
'lock_status' => 'Статус',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Име',
'login_disabled_text' => 'Вашия акаунт е забранен, вероятно заради прекалено много погрешни опити за влизане.',
@ -743,7 +769,9 @@ $text = array(
'missing_checksum' => 'липсва контролна сума',
'missing_file' => '',
'missing_filesize' => 'липсва размер на файла',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => 'липсва потребител или група за преход',
@ -760,6 +788,12 @@ $text = array(
'my_documents' => 'Моите документи',
'my_transmittals' => 'Моите предавания',
'name' => 'Име',
'nav_brand_admin_tools' => 'Администрация',
'nav_brand_calendar' => '',
'nav_brand_my_account' => 'Моя акаунт',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Норвежки',
'needs_correction' => '',
'needs_workflow_action' => '',
@ -793,11 +827,13 @@ $text = array(
'notify_deleted_email' => 'Вие сте махнати от списка с уведомявани',
'notify_deleted_email_body' => '',
'notify_deleted_email_subject' => '',
'not_subscribed' => '',
'november' => 'ноември',
'now' => 'сега',
'no_action' => 'Действие не е нужно',
'no_approval_needed' => 'Утвърждение не е нужно',
'no_attached_files' => 'Няма прикрачени файлове',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => '',
@ -854,6 +890,8 @@ $text = array(
'password_forgotten_send_hash' => 'Инструкциите са изпратени на email',
'password_forgotten_text' => 'Попълнете формата и следвайте инструкциите в писмото',
'password_forgotten_title' => 'Парола изпратена',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Повторете паролата',
'password_send' => '',
'password_send_text' => '',
@ -923,9 +961,13 @@ $text = array(
'removed_workflow_email_body' => '',
'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => '',
'remove_approval_log' => '',
'remove_marked_files' => '',
'remove_review_log' => '',
'repaired' => '',
'repairing_objects' => 'Поправка на папки и документи',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => '',
'request_workflow_action_email_subject' => '',
'reset_checkout' => '',
@ -1035,6 +1077,7 @@ $text = array(
'search' => 'Търсене',
'search_fulltext' => 'Пълнотекстово търсене',
'search_in' => 'Търси в',
'search_mode' => '',
'search_mode_and' => 'всички думи',
'search_mode_documents' => '',
'search_mode_folders' => '',
@ -1076,6 +1119,7 @@ $text = array(
'select_mimetype' => '',
'select_one' => 'Избери един',
'select_owner' => '',
'select_status' => '',
'select_user' => '',
'select_users' => 'Кликни да избереш потребители',
'select_value' => 'Избери стойност',
@ -1130,6 +1174,7 @@ $text = array(
'settings_checkOutDir_desc' => '',
'settings_cmdTimeout' => '',
'settings_cmdTimeout_desc' => '',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Папка със данните',
'settings_contentDir_desc' => 'Къде да съхранява качените файлове (най-добре изберете папка, недостъпна за уеб-сървъра)',
'settings_contentOffsetDir' => 'Content Offset Directory',
@ -1247,6 +1292,8 @@ $text = array(
'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => '',
'settings_enableRecursiveCount_desc' => '',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1298,6 +1345,8 @@ $text = array(
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Идентификатор за гостенин',
'settings_guestID_desc' => 'Идентификатор за гост (може да не се променя)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Корен Http',
'settings_httpRoot_desc' => 'Относителен път в URL, след доменната част. Без http://. Например ако пълния URL http://www.example.com/letodms/, то трябва да укажем \'/letodms/\'. Ако URL http://www.example.com/, то \'/\'',
'settings_incItemsPerPage' => '',
@ -1316,6 +1365,7 @@ $text = array(
'settings_install_welcome_text' => '<p>Преди да почнем, убедете се че сте създали файл \'ENABLE_INSTALL_TOOL\' в папка conf/ конфигурации, иначе инсталацията няма да работи. На NIX-подобните това може да стане с команда \'touch conf/ENABLE_INSTALL_TOOL\'. След инсталацията изтрийте файла.</p><p>letoDMS има минимални изисквания. Нужна е mysql БД и уеб-сървър с php. За да работи полнотекстното търсене lucene, също така е необходима Zend framework, инсталирана там, където я вижда php. От версия 3.2.0 letoDMS, ADOdb няма да бъде част от дистрибутива. Изтеклете от <a href="http://adodb.sourceforge.net/">http://adodb.sourceforge.net</a> и инсталирайте. Пътят към нея може да бъде указан по-късно при инсталацията.</p><p>Ако искате да създадете БД преди инсталацията, то създайте я ръчно (тут так и было написано)))), опционално създайте потребител с права над бд и импортирайте дъмпа от папка конфигурация. Инсталационният скрипт може да свърши това и сам, но ще му трябва достъп към БД с права за създаване на бази данни.</p>',
'settings_install_welcome_title' => 'Добре дошли в инсталатора на leto/seedDMS',
'settings_install_zendframework' => 'Инсталирайте Zend Framework, ако ще използвате пълнотекстово търсене',
'settings_invalid_guestid' => '',
'settings_language' => 'Език по подразбиране',
'settings_language_desc' => 'Език по подразбиране (име на подпапката в папка "languages")',
'settings_libraryFolder' => '',
@ -1506,6 +1556,7 @@ $text = array(
'splash_add_attribute' => '',
'splash_add_group' => '',
'splash_add_group_member' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1517,6 +1568,7 @@ $text = array(
'splash_delete_access' => '',
'splash_document_added' => '',
'splash_document_checkedout' => '',
'splash_document_deleted' => '',
'splash_document_edited' => '',
'splash_document_indexed' => '',
'splash_document_locked' => 'Документът е заключен',
@ -1540,6 +1592,7 @@ $text = array(
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => '',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1559,6 +1612,7 @@ $text = array(
'splash_rm_folder' => 'Папката е изтрита',
'splash_rm_group' => '',
'splash_rm_group_member' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
'splash_rm_user' => '',
@ -1586,6 +1640,7 @@ $text = array(
'status_approval_rejected' => 'Чернова отказана',
'status_approved' => 'Утвърден',
'status_approver_removed' => 'Утвърждаващия премахнат от процеса',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'Не утвърден',
'status_not_receipted' => '',
@ -1639,10 +1694,12 @@ $text = array(
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1664,6 +1721,7 @@ $text = array(
'timeline_skip_add_file' => '',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
@ -1713,6 +1771,7 @@ $text = array(
'unknown_id' => 'неизвестен идентификатор',
'unknown_keyword_category' => 'Неизвестна категория',
'unknown_owner' => 'Неизвестен идентификатор на собственик',
'unknown_status' => '',
'unknown_user' => 'Неизвестен идентификатор на потребител',
'unlinked_content' => 'Несвързано съдържание',
'unlinked_documents' => '',
@ -1770,6 +1829,8 @@ $text = array(
'view_folder' => '',
'view_online' => 'Преглед онлайн',
'warning' => 'Внимание',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (770)
// Translators: Admin (774)
$text = array(
'2_factor_auth' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '',
'abbr_day' => '',
'abbr_hour' => '',
@ -91,6 +93,7 @@ $text = array(
'all_users' => 'Tots els usuaris',
'already_subscribed' => 'Ja està subscrit',
'and' => 'i',
'apikey' => '',
'apply' => 'Apply',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -214,7 +217,9 @@ URL: [url]',
'cannot_move_root' => 'Error: No és possible moure la carpeta root.',
'cannot_retrieve_approval_snapshot' => 'No és possible recuperar la instantànea de l\'estat d\'aprovació per a aquesta versió de document.',
'cannot_retrieve_review_snapshot' => 'No és possible recuperar la instantània de revisió per a aquesta versió de document.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Error: No és possible eliminar la carpeta root.',
'cannot_transfer_your_objects' => '',
'categories' => 'Categories',
'categories_loading' => '',
'category' => 'Category',
@ -238,6 +243,7 @@ URL: [url]',
'chart_docspermonth_title' => '',
'chart_docsperstatus_title' => '',
'chart_docsperuser_title' => '',
'chart_foldersperuser_title' => '',
'chart_selection' => '',
'chart_sizeperuser_title' => '',
'checkedout_file_has_different_version' => '',
@ -245,6 +251,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => '',
'checkin_document' => '',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => '',
'checkout_is_disabled' => '',
'choose_attrdef' => '',
@ -260,12 +267,14 @@ URL: [url]',
'choose_workflow' => '',
'choose_workflow_action' => '',
'choose_workflow_state' => '',
'class_finfo_missing' => '',
'class_name' => '',
'clear_cache' => 'Neteja memòria cau',
'clear_clipboard' => '',
'clear_password' => '',
'clipboard' => 'Portapapers',
'close' => 'Tancar',
'color' => '',
'command' => '',
'comment' => 'Comentaris',
'comment_changed_email' => '',
@ -369,12 +378,14 @@ URL: [url]',
'document_deleted_email_body' => '',
'document_deleted_email_subject' => '',
'document_duplicate_name' => '',
'document_files' => '',
'document_has_no_workflow' => '',
'document_infos' => 'Informacions',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => 'Aquest document no està bloquejat',
'document_links' => '',
'document_link_by' => 'Vinculat per',
'document_link_public' => 'Públic',
'document_moved_email' => 'Document reubicat',
@ -393,6 +404,7 @@ URL: [url]',
'document_updated_email' => 'Document actualizat',
'document_updated_email_body' => '',
'document_updated_email_subject' => '',
'document_versions' => '',
'does_not_expire' => 'No caduca',
'does_not_inherit_access_msg' => 'heretar l\'accés',
'download' => 'Descarregar',
@ -427,6 +439,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Pujada ràpida',
'drop_files_here' => 'Dugui arxius aquí',
'drop_files_here_or_click' => '',
'dump_creation' => 'Creació de bolcat de BDD',
'dump_creation_warning' => 'Amb aquesta operació es crearà un bolcat a fitxer del contingut de la base de dades. Després de la creació del bolcat, el fitxer es guardarà a la carpeta de dades del seu servidor.',
'dump_list' => 'Fitxers de bolcat existents',
@ -476,6 +489,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -573,6 +587,7 @@ URL: [url]',
'fulltextsearch_disabled' => '',
'fulltext_converters' => '',
'fulltext_info' => 'Informació de full-text',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Atributs',
'global_default_keywords' => 'Mots clau globals',
@ -588,6 +603,7 @@ URL: [url]',
'group_management' => 'Grups',
'group_members' => 'Membres del grup',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Resum del grup revisor',
'group_revision_summary' => '',
'guest_login' => 'Accés com a invitat',
@ -616,16 +632,23 @@ URL: [url]',
'include_subdirectories' => 'Incloure subdirectoris',
'indexing_tasks_in_queue' => '',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Carpeta d\'índex',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => '',
'individuals' => 'Individuals',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'Heredat',
'inherits_access_copy_msg' => 'Copiar llista d\'accés heretat',
'inherits_access_empty_msg' => 'Començar amb una llista d\'accés buida',
@ -669,8 +692,10 @@ URL: [url]',
'js_no_approval_status' => 'Si us plau, seleccioneu l\'estat d\'aprovació',
'js_no_comment' => 'No hi ha comentaris',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => 'Si us plau, escriviu la vostra adreça de correu electrònic',
'js_no_file' => 'Si us plau, seleccioneu un arxiu',
'js_no_folder' => '',
'js_no_keywords' => 'Si us plau, especifiqueu mots clau',
'js_no_login' => 'Si us plau, escriviu un nom d\'usuari',
'js_no_name' => 'Si us plau, escriviu un nom',
@ -713,6 +738,7 @@ URL: [url]',
'lock_document' => 'Bloquejar',
'lock_message' => 'Aquest document ha estat bloquejat per [username]. Només els usuaris autoritzats poden desbloquejar aquest document (vegeu al final de la pàgina).',
'lock_status' => 'Estat',
'logfile' => '',
'logfile_loading' => '',
'login' => '',
'login_disabled_text' => '',
@ -748,7 +774,9 @@ URL: [url]',
'missing_checksum' => '',
'missing_file' => '',
'missing_filesize' => '',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => '',
@ -765,6 +793,12 @@ URL: [url]',
'my_documents' => 'Els meus documents',
'my_transmittals' => 'Documents enviats per mi',
'name' => 'Nom',
'nav_brand_admin_tools' => 'Eines d\'administració',
'nav_brand_calendar' => '',
'nav_brand_my_account' => 'El meu compte',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Noruec',
'needs_correction' => '',
'needs_workflow_action' => '',
@ -798,11 +832,13 @@ URL: [url]',
'notify_deleted_email' => 'Se us ha eliminat de la llista de notificació',
'notify_deleted_email_body' => '',
'notify_deleted_email_subject' => '',
'not_subscribed' => '',
'november' => 'Novembre',
'now' => '',
'no_action' => 'No és necessària cap acció',
'no_approval_needed' => 'No hi ha aprovacions pendents.',
'no_attached_files' => 'No hi ha fitxers adjunts',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => '',
@ -859,6 +895,8 @@ URL: [url]',
'password_forgotten_send_hash' => '',
'password_forgotten_text' => '',
'password_forgotten_title' => '',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => '',
'password_send' => '',
'password_send_text' => '',
@ -928,9 +966,13 @@ URL: [url]',
'removed_workflow_email_body' => '',
'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => 'Esborrar carpeta després de la importació',
'remove_approval_log' => '',
'remove_marked_files' => '',
'remove_review_log' => '',
'repaired' => '',
'repairing_objects' => '',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => '',
'request_workflow_action_email_subject' => '',
'reset_checkout' => '',
@ -1040,6 +1082,7 @@ URL: [url]',
'search' => 'Cercar',
'search_fulltext' => 'Search in fulltext',
'search_in' => 'Buscar a',
'search_mode' => '',
'search_mode_and' => 'tots els mots',
'search_mode_documents' => '',
'search_mode_folders' => 'Només carpetes',
@ -1081,6 +1124,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Seleccionar un',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Seleccionar usuari',
'select_users' => 'Prem per seleccionar els usuaris',
'select_value' => 'Selecciona un valor',
@ -1135,6 +1179,7 @@ URL: [url]',
'settings_checkOutDir_desc' => '',
'settings_cmdTimeout' => '',
'settings_cmdTimeout_desc' => '',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => '',
'settings_contentDir_desc' => '',
'settings_contentOffsetDir' => '',
@ -1252,6 +1297,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => '',
'settings_enableRecursiveCount_desc' => '',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1301,8 +1348,10 @@ URL: [url]',
'settings_fullSearchEngine_desc' => '',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Guest ID',
'settings_guestID' => '',
'settings_guestID_desc' => '',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => '',
'settings_incItemsPerPage' => '',
@ -1321,6 +1370,7 @@ URL: [url]',
'settings_install_welcome_text' => '',
'settings_install_welcome_title' => '',
'settings_install_zendframework' => '',
'settings_invalid_guestid' => '',
'settings_language' => '',
'settings_language_desc' => '',
'settings_libraryFolder' => '',
@ -1511,6 +1561,7 @@ URL: [url]',
'splash_add_attribute' => '',
'splash_add_group' => '',
'splash_add_group_member' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1522,6 +1573,7 @@ URL: [url]',
'splash_delete_access' => '',
'splash_document_added' => '',
'splash_document_checkedout' => '',
'splash_document_deleted' => '',
'splash_document_edited' => '',
'splash_document_indexed' => '',
'splash_document_locked' => 'Document blocat',
@ -1545,6 +1597,7 @@ URL: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => '',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1564,6 +1617,7 @@ URL: [url]',
'splash_rm_folder' => 'Carpeta esborrada',
'splash_rm_group' => '',
'splash_rm_group_member' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
'splash_rm_user' => '',
@ -1591,6 +1645,7 @@ URL: [url]',
'status_approval_rejected' => 'Esborrany rebutjat',
'status_approved' => 'Aprovat',
'status_approver_removed' => 'Aprovador eliminat del procés',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'Sense aprovar',
'status_not_receipted' => '',
@ -1644,10 +1699,12 @@ URL: [url]',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1669,6 +1726,7 @@ URL: [url]',
'timeline_skip_add_file' => '',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
@ -1718,6 +1776,7 @@ URL: [url]',
'unknown_id' => 'Id desconegut',
'unknown_keyword_category' => 'Categoria desconeguda',
'unknown_owner' => 'Id de propietari/a desconegut',
'unknown_status' => '',
'unknown_user' => 'ID d\'usuari desconegut',
'unlinked_content' => '',
'unlinked_documents' => '',
@ -1775,6 +1834,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Veure online',
'warning' => 'Advertència',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1540), kreml (579)
// Translators: Admin (1546), kreml (579)
$text = array(
'2_factor_auth' => 'dvoufaktorové ověření',
'2_factor_auth_info' => 'Tento systém vyžaduje dvoufaktorové ověření. Na svém mobilním telefonu budete potřebovat Google Authenticator. Níže vidíte dva QR kódy. Správný je vaše současné tajemství. Vlevo můžete nastavit nové tajemství. Pokud nastavíte nové tajemství, ujistěte se, že jste jej znovu otestovali pomocí služby Google Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'tajemství',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Všichni uživatelé',
'already_subscribed' => 'Již odebráno',
'and' => 'a',
'apikey' => '',
'apply' => 'Použít',
'approvals_accepted' => '[no_approvals] schválení již schváleno',
'approvals_accepted_latest' => '',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => 'Chyba: Není možné přesunout kořenovovou složku.',
'cannot_retrieve_approval_snapshot' => 'Není možné získat informaci o stavu schválení této verze dokumentu.',
'cannot_retrieve_review_snapshot' => 'Není možné získat informaci o stavu recenze této verze dokumentu.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Chyba: Není možné smazat kořenovou složku.',
'cannot_transfer_your_objects' => '',
'categories' => 'Kategorie',
'categories_loading' => 'Počkejte prosím, dokud nebude načten seznam kategorií ...',
'category' => 'Kategorie',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Nových dokumentů za měsíc',
'chart_docsperstatus_title' => 'Dokumenty dle stavu',
'chart_docsperuser_title' => 'Dokumenty dle uživatele',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Vyberte graf',
'chart_sizeperuser_title' => 'Diskový prostor dle uživatele',
'checkedout_file_has_different_version' => 'Zkontrolovaná verze není shodná s aktuální verzí. Přihlášení nebude aktualizovat dokument.',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'Soubor dokumentu, který jste zkontrolovali, je stále nezměněn. Přihlášení nebude možné. Pokud neplánujete žádné úpravy, můžete resetovat stav odhlášení.',
'checkin_document' => 'Kontrolovat',
'checkoutpath_does_not_exist' => 'Cesta ke kontrole neexistuje',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Zkontrolovat',
'checkout_is_disabled' => 'Kontrola dokumentů je zakázána v konfiguraci.',
'choose_attrdef' => 'Zvolte definici atributů',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Vyberte workflow',
'choose_workflow_action' => 'Vyberte akci workflow',
'choose_workflow_state' => 'Vyberte stav workflow',
'class_finfo_missing' => '',
'class_name' => 'Název třídy',
'clear_cache' => 'Vymazat vyrovnávací paměť',
'clear_clipboard' => 'Vyčistit schránku',
'clear_password' => 'Vymazat heslo',
'clipboard' => 'Schránka',
'close' => 'Zavřít',
'color' => '',
'command' => 'příkaz',
'comment' => 'Komentář',
'comment_changed_email' => '',
@ -409,12 +418,14 @@ Nadřazená složka: [folder_path]
Uživatel: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Dokument smazán',
'document_duplicate_name' => 'Duplicitní název dokumentu',
'document_files' => '',
'document_has_no_workflow' => 'Dokument nemá workflow',
'document_infos' => 'Informace o dokumentu',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Dokument je aktuálně zkontrolován. Pokud nahrajete novou verzi, nemůžete již kontrolovanou verzi zkontrolovat.',
'document_is_not_locked' => 'Tento dokument není zamčený',
'document_links' => '',
'document_link_by' => 'Odkazuje sem',
'document_link_public' => 'Veřejný',
'document_moved_email' => 'Dokument přesunut',
@ -459,6 +470,7 @@ Komentář: [comment]
Komentář k verzi: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Dokument aktualizován',
'document_versions' => '',
'does_not_expire' => 'Platnost nikdy nevyprší',
'does_not_inherit_access_msg' => 'Zdědit přístup',
'download' => 'Stáhnout',
@ -493,6 +505,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Rychlý upload',
'drop_files_here' => 'Soubory dát sem!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Vytvoření zálohy databáze',
'dump_creation_warning' => 'Pomocí této operace můžete vytvořit soubor se zálohou databáze. Po vytvoření bude soubor zálohy uložen ve složce data vašeho serveru.',
'dump_list' => 'Existující soubory záloh',
@ -542,6 +555,7 @@ URL: [url]',
'error_add_aro' => 'Chyba při přidávání požadavku přístupu k objektu',
'error_add_permission' => 'Chyba při přidání oprávnění',
'error_cleared_cache' => 'Chyba při vymazání mezipaměti',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => 'Chyba při získání seznamu rozšíření z úložiště',
'error_importfs' => 'Chyba při importu formy souborového systému',
@ -575,7 +589,7 @@ URL: [url]',
'expire_in_1y' => 'Platnost vyprší za rok',
'expire_in_2h' => 'Platnost vyprší za dvě hodiny',
'expire_in_2y' => 'Expiruje za dva roky',
'expire_in_3y' => '',
'expire_in_3y' => 'Expiruje za 3 roky',
'expire_today' => 'Platnost vyprší dnes',
'expire_tomorrow' => 'Platnost vyprší zítra',
'expiry_changed_email' => 'Datum expirace změněno',
@ -670,6 +684,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'fulltextové vyhledávání zakázáno',
'fulltext_converters' => 'Index konverze dokumentu',
'fulltext_info' => 'Fulltext index info',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'Skupiny atributů',
'global_attributedefinitions' => 'Atributy',
'global_default_keywords' => 'Globální klíčová slova',
@ -685,6 +700,7 @@ URL: [url]',
'group_management' => 'Skupiny',
'group_members' => 'Členové skupiny',
'group_receipt_summary' => 'Přehled potvrzení přijímání do skupiny',
'group_review_removed' => '',
'group_review_summary' => 'Souhrn recenzí skupiny',
'group_revision_summary' => '',
'guest_login' => 'Přihlásit se jako host',
@ -713,16 +729,23 @@ URL: [url]',
'include_subdirectories' => 'Včetně podadresářů',
'indexing_tasks_in_queue' => 'Indexování úkolů ve frontě',
'index_converters' => 'Indexování převodníků',
'index_document_added' => '',
'index_document_unchanged' => 'dokument nezměněn',
'index_document_updated' => '',
'index_done' => 'Indexování hotovo',
'index_error' => 'Chyba',
'index_folder' => 'Složka indexu',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => 'Nenaindexoval se obsah',
'index_pending' => 'Probíhá indexování',
'index_waiting' => 'Čekání',
'individuals' => 'Jednotlivci',
'individuals_in_groups' => 'Členové skupiny',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Potvrzení o příjmu této verze dokumentu není možné, protože verze není uvolněna.',
'info_rm_user_from_processes_user' => '',
'inherited' => 'Zděděno',
'inherits_access_copy_msg' => 'Zkopírovat zděděný seznam řízení přístupu',
'inherits_access_empty_msg' => 'Založit nový seznam řízení přístupu',
@ -766,8 +789,10 @@ URL: [url]',
'js_no_approval_status' => 'Vyberte stav schválení',
'js_no_comment' => 'Žádný komentář',
'js_no_currentpwd' => 'Zadejte své aktuální heslo',
'js_no_document' => '',
'js_no_email' => 'Napište svou emailovou adresu',
'js_no_file' => 'Vyberte soubor',
'js_no_folder' => '',
'js_no_keywords' => 'Zadejte nějaká klíčová slova',
'js_no_login' => 'Napište jméno uživatele',
'js_no_name' => 'Napište jméno',
@ -810,6 +835,7 @@ URL: [url]',
'lock_document' => 'Zamknout',
'lock_message' => 'Tento dokument zamknul [username]. Pouze oprávnění uživatelé ho mohou odemknout (viz konec stránky).',
'lock_status' => 'Stav',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Přihlášení',
'login_disabled_text' => 'Váš účet je zakázán, pravděpodobně z důvodu příliš mnoha neúspěšných přihlášení.',
@ -845,7 +871,9 @@ URL: [url]',
'missing_checksum' => 'Chybějící kontrolní součet',
'missing_file' => 'Chybějící soubor',
'missing_filesize' => 'Chybějící velikost souboru',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => 'Chybějící recepce',
'missing_request_object' => 'Chybějící požadovaný objekt',
'missing_transition_user_group' => 'Chybějící uživatel / skupina pro transformaci',
@ -862,6 +890,12 @@ URL: [url]',
'my_documents' => 'Moje dokumenty',
'my_transmittals' => 'Moje přenosy',
'name' => 'Název',
'nav_brand_admin_tools' => 'Nástroje správce',
'nav_brand_calendar' => '',
'nav_brand_my_account' => 'Můj účet',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Norština Bokmal',
'needs_correction' => 'Vyžaduje opravu',
'needs_workflow_action' => 'Tento dokument vyžaduje vaši pozornost. Zkontrolujte prosím kartu workflow.',
@ -919,13 +953,15 @@ Nadřazená složka: [folder_path]
Uživatel: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Odstraněno ze seznamu oznámení',
'not_subscribed' => '',
'november' => 'Listopad',
'now' => 'nyní',
'no_action' => 'Nic se nevykoná',
'no_approval_needed' => 'Nic nečeká na schválení.',
'no_attached_files' => 'Žádné přiložené soubory',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_backup_dir' => 'Složka pro zálohování není určena',
'no_current_version' => 'Používáte starou verzi SeedDMS. Nejnovější dostupná verze je [latestversion].',
'no_default_keywords' => 'Nejsou dostupná žádná klíčová slova.',
'no_docs_checked_out' => 'Nebyly odbaveny žádné dokumenty',
@ -990,6 +1026,8 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm
'password_forgotten_send_hash' => 'Instrukce byly poslány uživateli na emailovou adresu.',
'password_forgotten_text' => 'Vyplňte následující formulář a následujte instrukce v emailu, který vám bude odeslán.',
'password_forgotten_title' => 'Heslo odesláno',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Opakujte heslo',
'password_send' => 'Heslo odesláno',
'password_send_text' => 'Vaše nové heslo bylo odesláno a zadanou emailovou adresu, pokud pro přihlašovací jméno a email existuje uživatel. Pokud neobdržíte email během příštích minut, pak se ujistěte se, že přihlašovací jméno a email jsou správné a proces zopakujte.',
@ -1079,9 +1117,13 @@ Uživatel: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Odstraněno workflow z verze dokumentu',
'removeFolderFromDropFolder' => 'Odstranit složku po nahrání',
'remove_approval_log' => '',
'remove_marked_files' => 'Odstranit označené soubory',
'remove_review_log' => '',
'repaired' => 'opraveno',
'repairing_objects' => 'Opravuji dokumenty a složky.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'Workflow dosáhlo stavu, který vyžaduje vaši akci.
Dokument: [name]
Verze: [verze]
@ -1149,7 +1191,7 @@ URL: [url]',
'review_update_failed' => 'Chyba při aktualizaci stavu recenze. Aktualizace selhala.',
'revise_document' => 'Revize dokumentu',
'revise_document_on' => 'Další revize verze dokumentu v [date]',
'revision' => '',
'revision' => 'Revize',
'revisions_accepted' => '[no_revisions] již přijato',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '[no_revisions] revizí nebylo dotčeno',
@ -1239,6 +1281,7 @@ URL: [url]',
'search' => 'Hledat',
'search_fulltext' => 'Vyhledat fulltextově',
'search_in' => 'Prohledávat',
'search_mode' => '',
'search_mode_and' => 'všechna slova',
'search_mode_documents' => 'Pouze dokumenty',
'search_mode_folders' => 'Pouze složky',
@ -1280,6 +1323,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Vybrat jeden',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Vybrat uživatele',
'select_users' => 'Kliknutím vybrat uživatele',
'select_value' => 'Vybrat hodnotu',
@ -1339,6 +1383,7 @@ Jméno: [username]
'settings_checkOutDir_desc' => 'Adresář, kde je zkopírován nejnovější obsah dokumentu, pokud je dokument odbaven. Pokud zpřístupníte tento adresář uživatelům, mohou soubor upravit a znovu ho zkontrolovat.',
'settings_cmdTimeout' => 'Časový limit pro externí příkazy',
'settings_cmdTimeout_desc' => 'Toto trvání v sekundách určuje, kdy bude ukončen externí příkaz (např. Pro vytvoření fulltextového indexu).',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Obsah adresáře',
'settings_contentDir_desc' => 'Místo, kde jsou nahrané soubory uloženy (nejlepší zvolit adresář, který není přístupný přes váš web-server)',
'settings_contentOffsetDir' => 'Adresář offsetů obsahu',
@ -1456,6 +1501,8 @@ Jméno: [username]
'settings_enableReceiptWorkflow_desc' => 'Povolte, pro spuštění workflow při potvrzení příjmu dokumentu.',
'settings_enableRecursiveCount' => 'Povolit rekurzivní počítání dokumentů / složek',
'settings_enableRecursiveCount_desc' => 'Při zapnutí je počet dokumentů a složek v zobrazení složek určen počítáním všech objektů při rekurzivním zpracování složek a počítáním těch dokumentů a složek, ke kterým má uživatel přístup.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Odmítnutí jedním revizorem',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1507,6 +1554,8 @@ Jméno: [username]
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ID hosta',
'settings_guestID_desc' => 'ID hostovaného uživatele při přihlášení jako host (většinou není třeba měnit)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => 'Relativní cesta v adrese URL po části domény. Nezadávejte předponu http:// nebo název hostitele webového serveru. např. Pokud je úplná adresa URL http://www.example.com/seeddms/, nastavte "/seeddms/". Pokud je adresa URL http://www.example.com/, nastavte "/"',
'settings_incItemsPerPage' => 'Počet položek načtených na konci stránky',
@ -1525,6 +1574,7 @@ Jméno: [username]
'settings_install_welcome_text' => '<p> Než začnete instalovat aplikaci SeedDMS, ujistěte se, že jste vytvořili soubor \'ENABLE_INSTALL_TOOL \' ve svém konfiguračním adresáři, jinak nebude instalace fungovat. Na systému Unix lze to jednoduše provést pomocí \'touch conf/ENABLE_INSTALL_TOOL\'. Po dokončení instalace vymažte tento soubor. </P> <p> SeedDMS má velmi minimální požadavky. Budete potřebovat databázi mysql nebo podporu sqlite a php webový server. Musí být nainstalován také protokol o pear package. Pro fulltextové vyhledávání lucene budete také potřebovat Zend framework nainstalovaný na disku, kde jej může najít php. Pro server WebDAV budete potřebovat také HTTP_WebDAV_Server. Cesta k němu může být později nastavena během instalace. </P> <p> Chcete-li vytvořit databázi před zahájením instalace, stačí ji vytvořit ručně pomocí svého oblíbeného nástroje, volitelně vytvořit databázového uživatele s přístupem v databázi a importu jednoho z databázových dumps do konfiguračního adresáře. Instalační skript to může udělat i za vás, ale bude potřebovat přístup k databázi s dostatečnými právy k vytváření databází. </P>',
'settings_install_welcome_title' => 'Vítejte v instalaci aplikace SeedDMS',
'settings_install_zendframework' => 'Nainstalujte Zend Framework, pokud máte v úmyslu použít fulltextový vyhledávač založený na zend. V opačném případě ignorujte tuto zprávu a pokračujte v instalaci.',
'settings_invalid_guestid' => '',
'settings_language' => 'Výchozí jazyk',
'settings_language_desc' => 'Výchozí jazyk (název podsložky v adresáři "languages")',
'settings_libraryFolder' => 'složka knihovny',
@ -1715,6 +1765,7 @@ Jméno: [username]
'splash_add_attribute' => 'Přidán nový atribut',
'splash_add_group' => 'Přidána nová skupina',
'splash_add_group_member' => 'Přidán nový člen skupiny',
'splash_add_notify' => '',
'splash_add_role' => 'Přidána nová role',
'splash_add_task' => '',
'splash_add_to_transmittal' => 'Přidáno k přenosu',
@ -1726,6 +1777,7 @@ Jméno: [username]
'splash_delete_access' => 'Přístupová práva smazána',
'splash_document_added' => 'Dokument přidán',
'splash_document_checkedout' => 'Dokument odbaven',
'splash_document_deleted' => '',
'splash_document_edited' => 'Dokument uložen',
'splash_document_indexed' => 'Dokument naindexován',
'splash_document_locked' => 'Dokument zamčen',
@ -1749,6 +1801,7 @@ Jméno: [username]
'splash_extension_import' => 'Importováno rozšíření',
'splash_extension_refresh' => 'Aktualizovaný seznam rozšíření',
'splash_extension_upload' => 'Instalováno rozšíření',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Změny složky uloženy',
'splash_importfs' => 'Importováno [docs] dokumentů a [folders] složek',
'splash_inherit_access' => 'Přístupové právo bude zděděno',
@ -1768,6 +1821,7 @@ Jméno: [username]
'splash_rm_folder' => 'Složka smazána',
'splash_rm_group' => 'Skupina odstraněna',
'splash_rm_group_member' => 'Člen skupiny odstraněn',
'splash_rm_notify' => '',
'splash_rm_role' => 'Role odstraněna',
'splash_rm_transmittal' => 'Přenos odstraněn',
'splash_rm_user' => 'Uživatel odstraněn',
@ -1795,6 +1849,7 @@ Jméno: [username]
'status_approval_rejected' => 'Návrh zamítnut',
'status_approved' => 'Schválen',
'status_approver_removed' => 'Schvalovatel odstraněn z procesu',
'status_change' => 'změna stavu',
'status_needs_correction' => 'Vyžaduje korekturu',
'status_not_approved' => 'Neschválený',
'status_not_receipted' => 'Dosud nebyl přijat',
@ -1848,10 +1903,12 @@ Jméno: [username]
'tasks' => 'Úkoly',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Popis',
'task_disabled' => 'Vypnuto',
'task_frequency' => 'Frekvence',
'task_frequency_placeholder' => '',
'task_last_run' => 'Poslední spuštění',
'task_name' => 'Název',
'task_next_run' => 'Příští spuštění',
@ -1873,6 +1930,7 @@ Jméno: [username]
'timeline_skip_add_file' => 'příloha byla přidána',
'timeline_skip_scheduled_revision' => 'Plánovaná revize',
'timeline_skip_status_change_-1' => 'zamítnuto',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'vypršela platnost',
'timeline_skip_status_change_0' => 'čeká na přezkum',
'timeline_skip_status_change_1' => 'čeká na schválení',
@ -1931,6 +1989,7 @@ URL: [url]',
'unknown_id' => 'neznámé id',
'unknown_keyword_category' => 'Neznámá kategorie',
'unknown_owner' => 'Neznámé ID vlastníka',
'unknown_status' => '',
'unknown_user' => 'Neznámé ID uživatele',
'unlinked_content' => 'Nepropojený obsah',
'unlinked_documents' => 'Nepropojené dokumenty',
@ -1993,6 +2052,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Zobrazit online',
'warning' => 'Upozornění',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2867), dgrutsch (22)
// Translators: Admin (2960), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
'2_factor_auth_info' => 'Dieses System erfordert 2-Faktor-Authentifikation. Dazu brauchen Sie den Google Authenticator auf Ihrem Mobiltelefon. Unten sehen Sie zwei QR-Codes. Der rechte Code beinhaltet Ihren aktuellen geheimen Schlüssel. Auf der linken Seite wird ein neuer Schlüssel angezeigt. Wenn Sie den neuen Schlüssel speichern, dann stellen Sie zuvor sicher, dass sie ihn mit dem Google Authenticator zuvor eingescant haben.',
'2_fact_auth_current_secret' => 'Aktuelles Geheimnis',
'2_fact_auth_new_secret' => 'Neues Geheimnis',
'2_fact_auth_secret' => 'Schlüssel',
'abbr_day' => 'T.',
'abbr_hour' => 'St.',
@ -62,7 +64,7 @@ URL: [url]',
'add' => 'Anlegen',
'add_approval' => 'Freigabe hinzufügen',
'add_attrdefgroup' => 'Neue Attributgruppe anlegen',
'add_document' => 'Dokument anlegen',
'add_document' => 'Neues Dokument',
'add_document_link' => 'Verknüpfung hinzufügen',
'add_document_notify' => 'Beobachter zuweisen',
'add_doc_reviewer_approver_warning' => 'Anmerkung: Dokumente werden automatisch geprüft und als freigegeben markiert, wenn kein Prüfer oder keine Freigabe zugewiesen wird.',
@ -76,7 +78,7 @@ URL: [url]',
'add_review' => 'Prüfung hinzufügen',
'add_revision' => 'Wiederholungsprüfung hinzufügen',
'add_role' => 'Neue Rolle anlegen',
'add_subfolder' => 'Unterordner anlegen',
'add_subfolder' => 'Neuer Ordner',
'add_task' => 'Neue Task für diese Klasse hinzufügen',
'add_to_clipboard' => 'Zur Zwischenablage hinzufügen',
'add_to_transmittal' => 'Zur Dokumentenliste hinzufügen',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Alle Benutzer',
'already_subscribed' => 'Bereits abonniert',
'and' => 'und',
'apikey' => 'API-Schlüssel',
'apply' => 'Anwenden',
'approvals_accepted' => '[no_approvals] Freigaben',
'approvals_accepted_latest' => '(davon [no_approvals] in letzter Version)',
@ -232,13 +235,15 @@ URL: [url]',
'cancel_checkout' => 'Auschecken abbrechen',
'cancel_checkout_warning' => 'Das Auschecken kann beendet werden, auch wenn bereits Änderung am ausgecheckten Dokument vorgenommen worden sind. In dem Fall wird die Datei gelöscht und die Änderungen gehen verloren.',
'cannot_assign_invalid_state' => 'Die Zuweisung eines neuen Prüfers zu einem Dokument, welches noch nachbearbeitet oder überprüft wird ist nicht möglich',
'cannot_change_final_states' => 'Warnung: Nicht imstande, Dokumentstatus für Dokumente, die zurückgewiesen worden sind, oder als abgelaufen bzw. überholt markiert wurden zu ändern',
'cannot_change_final_states' => 'Warnung: Der Dokumentstatus für Dokumente, die zurückgewiesen worden sind oder als abgelaufen bzw. veraltert markiert wurden, kann nicht geändert werden.',
'cannot_delete_user' => 'Benutzer kann nicht gelöscht werden',
'cannot_delete_yourself' => 'Sie können Ihr eigenes Login nicht löschen',
'cannot_move_root' => 'Fehler: Verschieben des Hauptordners nicht möglich',
'cannot_retrieve_approval_snapshot' => 'Nicht imstande, für diese Dokumentenversion die Freigabe für den Status Snapshot zurückzuholen.',
'cannot_retrieve_review_snapshot' => 'Nicht imstande, Berichtstatus Snapshot für diese Dokumentversion zurückzuholen',
'cannot_retrieve_approval_snapshot' => 'Für diese Dokumentenversion konnte der aktuelle Freigabestatus nicht ermittelt werden.',
'cannot_retrieve_review_snapshot' => 'Für diese Dokumentenversion konnte der aktuelle Prüfstatus nicht ermittelt werden.',
'cannot_revapp_expired_docs' => 'Das Dokument kann nicht mehr geprüft oder freigegeben werden, weil es bereits abgelaufen ist.',
'cannot_rm_root' => 'Fehler: Löschen des Hauptordners nicht möglich',
'cannot_transfer_your_objects' => 'Sie können Ihre eigenen Objekte nicht transferieren.',
'categories' => 'Kategorien',
'categories_loading' => 'Bitte warten, bis die Liste der Kategorien geladen ist …',
'category' => 'Kategorie',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Neue Dokumente pro Monat',
'chart_docsperstatus_title' => 'Dokumente pro Status',
'chart_docsperuser_title' => 'Dokumente pro Benutzer',
'chart_foldersperuser_title' => 'Ordner pro Benutzer',
'chart_selection' => 'Diagrammauswahl',
'chart_sizeperuser_title' => 'Speicherplatz pro Benutzer',
'checkedout_file_has_different_version' => 'Die ausgecheckte Version ist nicht identisch mit der aktuellen Version. Das Einchecken wird das Dokument nicht aktualisieren.',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'Die Datei des ausgecheckten Dokuments ist noch unverändert. Das Einchecken ist daher nicht möglich. Wenn Sie keine weiteren Änderungen am Dokument vornehmen möchten, dann setzen Sie den CheckOut-Status zurück.',
'checkin_document' => 'Einchecken',
'checkoutpath_does_not_exist' => 'Verzeichnis für das Auschecken von Dokumenten exisitiert nicht',
'checkout_cancel_confirm' => 'Beenden des Checkouts bestätigen',
'checkout_document' => 'Auschecken',
'checkout_is_disabled' => 'Auschecken von Dokumenten ist in der Konfiguration ausgeschaltet.',
'choose_attrdef' => 'Attributdefinition wählen',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Workflow wählen',
'choose_workflow_action' => 'Workflow-Aktion wählen',
'choose_workflow_state' => 'Workflow-Status wählen',
'class_finfo_missing' => 'Die Klasse finfo wird zur Ermittlung des MimeTypes beim Hochladen neuer Dateien benötigt.',
'class_name' => 'Klassenname',
'clear_cache' => 'Cache löschen',
'clear_clipboard' => 'Zwischenablage leeren',
'clear_password' => 'Passwort löschen',
'clipboard' => 'Zwischenablage',
'close' => 'Schließen',
'color' => 'Farbe',
'command' => 'Kommando',
'comment' => 'Kommentar',
'comment_changed_email' => '',
@ -323,7 +332,7 @@ URL: [url]',
'continue' => 'fortführen',
'converter_new_cmd' => 'Kommando',
'converter_new_mimetype' => 'Neuer Mime-Type',
'copied_to_checkout_as' => 'Datei am [date] in den Checkout-Space als \'[filename]\' kopiert.',
'copied_to_checkout_as' => 'Datei am [date] von [username] in den Checkout-Space als \'[filename]\' kopiert.',
'create_download_link' => '',
'create_fulltext_index' => 'Erzeuge Volltext-Index',
'create_fulltext_index_warning' => 'Sie möchten den Volltext-Index neu erzeugen. Dies kann beträchtlich Zeit in Anspruch nehmen und Gesamtleistung Ihres System beeinträchtigen. Bestätigen Sie bitte diese Operation.',
@ -409,12 +418,14 @@ Elternordner: [folder_path]
Benutzer: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Dokument gelöscht',
'document_duplicate_name' => 'Doppelter Dokumentenname',
'document_files' => 'Dokumentenanhänge',
'document_has_no_workflow' => 'Dokument hat keinen Workflow',
'document_infos' => 'Informationen',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => 'Das Dokument ist zur Zeit ausgecheckt. Wenn Sie das Dokument löschen kann die ausgecheckte Version nicht mehr hochgeladen werden und verbleibt im Auscheck-Bereich.',
'document_is_checked_out_update' => 'Das Dokument ist zur Zeit ausgecheckt. Wenn Sie eine neue Version hochladen, werden Sie die ausgecheckte Version nicht mehr einchecken können.',
'document_is_not_locked' => 'Dieses Dokument ist nicht gesperrt',
'document_links' => 'Verknüpfungen zu Dokumenten',
'document_link_by' => 'Verknüpfung erstellt von',
'document_link_public' => 'Für alle sichtbar',
'document_moved_email' => 'Dokument verschoben',
@ -446,6 +457,7 @@ URL: [url]',
'document_transfered_email_body' => 'Dokument an anderen Benutzer übertragen
Dokument: [name]
Neuer Besitzer: [newuser]
Alter Besitzer: [olduser]
Elternordner: [folder_path]
Benutzer: [username]
URL: [url]',
@ -453,12 +465,14 @@ URL: [url]',
'document_updated_email' => 'Dokument aktualisiert',
'document_updated_email_body' => 'Dokument aktualisiert
Dokument: [name]
Version: [version]
Elternordner: [folder_path]
Benutzer: [username]
Kommentar: [comment]
Kommentar der Version: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Dokument aktualisiert',
'document_versions' => 'Dokumentenversionen',
'does_not_expire' => 'Kein Ablaufdatum',
'does_not_inherit_access_msg' => 'Berechtigungen wieder erben',
'download' => 'Download',
@ -484,15 +498,16 @@ URL: [url]',
'do_object_setfiletype' => 'Setze Dateityp',
'do_object_unlink' => 'Lösche Dokumentenversion',
'draft' => 'Entwurf',
'draft_pending_approval' => 'Entwurf - bevorstehende Freigabe',
'draft_pending_review' => 'Entwurf - bevorstehende Prüfung',
'drag_icon_here' => 'Icon eines Ordners oder Dokuments hier hin ziehen!',
'draft_pending_approval' => 'Freigabe erforderlich',
'draft_pending_review' => 'Prüfung erforderlich',
'drag_icon_here' => 'Ordners oder Dokument hier hin ziehen!',
'dropfolderdir_missing' => 'Ihr persönlicher Ablageordner auf dem Server existiert nicht! Kontaktieren Sie den Administrator, um in anlegen zu lassen.',
'dropfolder_file' => 'Datei aus Ablageordner',
'dropfolder_folder' => 'Ordner aus Ablageordner',
'dropfolder_metadata' => 'Metadaten der zu importierenen Dateien',
'dropupload' => 'Direkt Hochladen',
'drop_files_here' => 'Dateien hier hin ziehen!',
'drop_files_here_or_click' => 'Dateien hier hin ziehen oder Klicken!',
'dump_creation' => 'DB dump erzeugen',
'dump_creation_warning' => 'Mit dieser Operation können Sie einen Dump der Datenbank erzeugen. Nach der Erstellung wird der Dump im Datenordner Ihres Servers gespeichert.',
'dump_list' => 'Vorhandene DB dumps',
@ -500,17 +515,17 @@ URL: [url]',
'duplicates' => 'Duplikate',
'duplicate_content' => 'Doppelte Dateien',
'edit' => 'Bearbeiten',
'edit_attributes' => 'Edit attributes',
'edit_attributes' => 'Attribute bearbeiten',
'edit_comment' => 'Kommentar bearbeiten',
'edit_default_keywords' => 'Stichworte bearbeiten',
'edit_document_access' => 'Zugriffsrechte bearbeiten',
'edit_document_access' => 'Zugriffsrechte',
'edit_document_notify' => 'Beobachtung von Dokumenten',
'edit_document_props' => 'Bearbeiten',
'edit_event' => 'Ereignis editieren',
'edit_existing_access' => 'Bestehende Berechtigungen bearbeiten',
'edit_existing_attribute_groups' => 'Attributgruppen bearbeiten',
'edit_existing_notify' => 'Beobachter bearbeiten',
'edit_folder_access' => 'Zugriffsrechte bearbeiten',
'edit_folder_access' => 'Zugriffsrechte',
'edit_folder_attrdefgrp' => 'Attributgruppen bearbeiten',
'edit_folder_notify' => 'Beobachtung von Ordnern',
'edit_folder_props' => 'Bearbeiten',
@ -542,6 +557,7 @@ URL: [url]',
'error_add_aro' => 'Fehler beim Hinzufügen des Zugriffsobjekts',
'error_add_permission' => 'Fehler beim Hinzufügen der Berechtigung',
'error_cleared_cache' => 'Fehler beim Löschen des Cache',
'error_document_indexed' => 'Fehler beim Indizieren des Dokuments',
'error_edit_task' => 'Fehler beim Speichern der Task',
'error_extension_getlist' => 'Fehler beim Holen der Liste der Erweiterungen aus dem Repositorium',
'error_importfs' => 'Fehler beim Importieren aus dem Dateisystem',
@ -670,6 +686,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'Volltext-Index ist ausgeschaltet',
'fulltext_converters' => 'Index Dokumentenumwandlung',
'fulltext_info' => 'Volltext-Index Info',
'func_proc_open_missing' => 'proc_open wird benötigt, um Dokumente im Volltext zu indizieren. Ohne diese Funktion werden lediglich die Metadaten indiziert.',
'global_attributedefinitiongroups' => 'Attributgruppen',
'global_attributedefinitions' => 'Attribute',
'global_default_keywords' => 'Globale Stichwortlisten',
@ -685,6 +702,7 @@ URL: [url]',
'group_management' => 'Gruppenverwaltung',
'group_members' => 'Gruppenmitglieder',
'group_receipt_summary' => 'Übersicht Gruppenbestätigungen',
'group_review_removed' => 'Statuswechsel, weil Prufung der Gruppe [name] entfernt wurde.',
'group_review_summary' => 'Übersicht Gruppenprüfungen',
'group_revision_summary' => 'Übersicht Gruppenwiederholungsprüfungen',
'guest_login' => 'Als Gast anmelden',
@ -713,16 +731,23 @@ URL: [url]',
'include_subdirectories' => 'Unterverzeichnisse miteinbeziehen',
'indexing_tasks_in_queue' => 'Indiziervorgänge in der Warteschleife',
'index_converters' => '',
'index_document_added' => 'Dokument hinzugefügt',
'index_document_unchanged' => 'Dokument unverändert',
'index_document_updated' => 'Dokument aktualisiert',
'index_done' => 'Fertig',
'index_error' => 'Fehler',
'index_folder' => 'Indiziere Ordner',
'index_folder_added' => 'Ordner hinzugefügt',
'index_folder_unchanged' => 'Ordner unverändert',
'index_folder_updated' => 'Ordner aktualisiert',
'index_no_content' => 'Inhalt nicht indiziert',
'index_pending' => 'Vorgemerkt',
'index_waiting' => 'Warte',
'individuals' => 'Einzelpersonen',
'individuals_in_groups' => 'Mitglieder einer Gruppe',
'ind_review_removed' => 'Statuswechsel, weil Prufung des Benutzers [name] entfernt wurde.',
'info_recipients_tab_not_released' => 'Die Bestätigung des Empfangs für diese Dokumentenversion ist nicht möglich, weil die Version nicht freigegeben ist.',
'info_rm_user_from_processes_user' => 'Nur die noch offenen Aufgaben können auf einen anderen Benutzer übertragen werden. Bei Aufgaben, die bereits bearbeitet wurden, wird der Benutzer aus der Bearbeitungshistorie gelöscht, als würde der Benutzer selbst gelöscht.',
'inherited' => 'geerbt',
'inherits_access_copy_msg' => 'Berechtigungen kopieren',
'inherits_access_empty_msg' => 'Leere Zugriffsliste',
@ -766,8 +791,10 @@ URL: [url]',
'js_no_approval_status' => 'Wählen Sie bitte einen Freigabe-Status aus',
'js_no_comment' => 'Geben Sie einen Kommentar an',
'js_no_currentpwd' => 'Bitte das aktuelle Passwort eintragen',
'js_no_document' => 'Wählen Sie bitte ein Dokument aus',
'js_no_email' => 'Geben Sie eine Email-Adresse an',
'js_no_file' => 'Bitte wählen Sie eine Datei',
'js_no_folder' => 'Wählen Sie bitte einen Ordner aus',
'js_no_keywords' => 'Geben Sie einige Stichwörter an',
'js_no_login' => 'Geben Sie einen Benutzernamen ein',
'js_no_name' => 'Sie haben den Namen vergessen',
@ -810,6 +837,7 @@ URL: [url]',
'lock_document' => 'Sperren',
'lock_message' => 'Dieses Dokument ist durch [username] gesperrt. Nur authorisierte Benutzer können diese Sperrung aufheben.',
'lock_status' => 'Status',
'logfile' => 'Log-Datei',
'logfile_loading' => 'Bitte warten, bis die Log-Datei geladen ist …',
'login' => 'Login',
'login_disabled_text' => 'Ihr Konto ist gesperrt. Der Grund sind möglicherweise zu viele gescheiterte Anmeldeversuche.',
@ -845,7 +873,9 @@ URL: [url]',
'missing_checksum' => 'Fehlende Check-Summe',
'missing_file' => 'Datei fehlt',
'missing_filesize' => 'Fehlende Dateigröße',
'missing_func_class_note' => 'Anmerkung',
'missing_php_extensions' => 'Fehlende PHP-Erweiterungen',
'missing_php_functions_and_classes' => 'Fehlende PHP-Funktionen und Klassen',
'missing_reception' => 'Fehlende Empfangsbestätigung',
'missing_request_object' => 'Fehlendes Zugriffsobjekte',
'missing_transition_user_group' => 'Fehlende/r Benutzer/Gruppe für Transition',
@ -862,6 +892,12 @@ URL: [url]',
'my_documents' => 'Meine Dokumente',
'my_transmittals' => 'Meine Dokumentenlisten',
'name' => 'Name',
'nav_brand_admin_tools' => 'Administration',
'nav_brand_calendar' => 'Kalender',
'nav_brand_my_account' => 'Mein Profil',
'nav_brand_my_documents' => 'Meine Dokumente',
'nav_brand_view_document' => 'Dokument',
'nav_brand_view_folder' => 'Ordner',
'nb_NO' => 'Norwegisch',
'needs_correction' => 'Korrektur erforderlich',
'needs_workflow_action' => 'Dieses Dokument erfordert eine Aktion. Bitte schauen Sie auf den Workflow-Reiter.',
@ -918,11 +954,13 @@ Elternordner: [folder_path]
Benutzer: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Removed from notification list',
'not_subscribed' => 'Nicht abonniert',
'november' => 'November',
'now' => 'sofort',
'no_action' => 'Keine Aktion erforderlich.',
'no_approval_needed' => 'Keine offenen Freigaben.',
'no_attached_files' => 'Keine angehängten Dokumente',
'no_attributes_defined' => 'Sie haben bisher keine eigenen Attribute erstellt.',
'no_attribute_definitions' => 'Es wurde bisher keine Attribute definiert',
'no_backup_dir' => 'Das Backup-Verzeichnis ist nicht gesetzt',
'no_current_version' => 'Sie verwenden eine ältere Version als die zur Zeit verfügbare Version [latestversion].',
@ -968,8 +1006,8 @@ URL: [url]',
'ownership_changed_email_body' => 'Besitzer geändert
Dokument: [name]
Elternordner: [folder_path]
Old owner: [old_owner]
New owner: [new_owner]
Bisheriger Besitzer: [old_owner]
Neuer Besitzer: [new_owner]
Benutzer: [username]
URL: [url]',
'ownership_changed_email_subject' => '[sitename]: [name] - Besitzer geändert',
@ -993,6 +1031,8 @@ Sollen Sie danach immer noch Probleme bei der Anmeldung haben, dann kontaktieren
'password_forgotten_send_hash' => 'Anweisungen zum weiteren Vorgehen wurden an die E-Mail Adresse des Benutzers versandt',
'password_forgotten_text' => 'Füllen Sie bitte untenstehendes Formular aus. Weitere Anweisungen erhalten Sie dann in einer E-Mail die an Sie gesandt wird',
'password_forgotten_title' => 'Passwort gesendet',
'password_mismatch_error' => 'Passwörter sind nicht identisch',
'password_mismatch_error_title' => 'Passwörter sind nicht identisch',
'password_repeat' => 'Passwort wiederholen',
'password_send' => 'Passwort verschickt',
'password_send_text' => 'Ihr neues Passwort wurde an die angegebene E-Mail-Adresse versandt, wenn ein Benutzer mit diesem Login und dieser E-Mail-Adresse existiert. Sollten Sie innerhalb der nächsten Minuten keine E-Mail bekommen, dann überprüfen Sie nochmal die Angaben und wiederholen Sie den Vorgang.',
@ -1082,9 +1122,18 @@ Benutzer: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow von Dokumentenversion',
'removeFolderFromDropFolder' => 'Ordner nach Import entfernen',
'remove_approval_log' => 'Einzelne Freigabe entfernen',
'remove_marked_files' => 'Markierte Dateien löschen',
'remove_review_log' => 'Einzelne Prüfung entfernen',
'repaired' => 'repariert',
'repairing_objects' => 'Repariere Dokumente und Ordner.',
'replace_content_email_body' => 'Die letzte Version des Dokuments wurde ersetzt
Dokument: [name]
Version: [version]
Elternordner: [folder_path]
Benutzer: [username]
URL: [url]',
'replace_content_email_subject' => '[sitename]: [name] - Dokumentenversion ersetzt',
'request_workflow_action_email_body' => 'Der Workflow hat einen Status erreicht welcher Ihre Aktion benötigt.
Dokument: [name]
Version: [version]
@ -1250,6 +1299,7 @@ URL: [url]',
'search' => 'Suchen',
'search_fulltext' => 'Suche im Volltext',
'search_in' => 'Suchen in',
'search_mode' => 'Suchmodus',
'search_mode_and' => 'alle Begriffe',
'search_mode_documents' => 'Nur Dokumente',
'search_mode_folders' => 'Nur Ordner',
@ -1291,6 +1341,7 @@ URL: [url]',
'select_mimetype' => 'Klicken zur Auswahl eines Mimetypes',
'select_one' => 'Bitte wählen',
'select_owner' => 'Klicken zur Auswahl eines Besitzers',
'select_status' => 'Klicken zur Auswaohl des Dokumentstatus',
'select_user' => 'Benutzer auswählen',
'select_users' => 'Klicken zur Auswahl eines Benutzers',
'select_value' => 'Wert auswählen',
@ -1302,7 +1353,9 @@ URL: [url]',
Login: [login]
Name: [username]
[comment]',
[comment]
Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Vergessen-Funktion auf der Anmeldeseite, um ein neues Passwort zu setzen.',
'send_login_data_subject' => '[sitename]: [login] - Ihre Login-Daten',
'send_test_mail' => 'Sende Test-E-mail',
'september' => 'September',
@ -1330,7 +1383,7 @@ Name: [username]
'settings_apiKey' => 'Authentifizierungsschḻüssel für REST API',
'settings_apiKey_desc' => 'Dieser Schlüssel wird zur alternative Authentifizierung in der REST API verwendet. Wählen Sie eine 32 Zeichen lange Zeichenkette.',
'settings_apiOrigin' => 'Erlaubte Herkunft der API Aufrufe',
'settings_apiOrigin_desc' => 'Ein semicolonseparierte Liste von Adressen, denen ein Zugriff auf die REST API erlaubt ist. Jede Adresse muss in der Form <Protokoll>://<domain>[:<port>] angegeben werden. Der Port kann ausgelassen werden. Bleibt dieses Feld leer, dann ist der Zugriff uneingeschränkt.',
'settings_apiOrigin_desc' => 'Eine semicolon-separierte Liste von Adressen, denen ein Zugriff auf die REST API erlaubt ist. Jede Adresse muss in der Form <Protokoll>://<domain>[:<port>] angegeben werden. Der Port kann ausgelassen werden. Bleibt dieses Feld leer, dann ist der Zugriff uneingeschränkt.',
'settings_apiUserId' => 'Benutzer für die REST API',
'settings_apiUserId_desc' => 'Dieser Benutzer wird für Zugriffe über die REST API genutzt, sofern eine Authentifizierung über den konifigurierten API Schlüssel erfolgt.',
'settings_Authentication' => 'Authentifikations-Einstellungen',
@ -1350,6 +1403,7 @@ Name: [username]
'settings_checkOutDir_desc' => 'Dies ist das Verzeichnis, in das Dokumenteninhalte bei einem Check out kopiert werden. Wenn dieses Verzeichnis für die Benutzer erreichbar ist, können die Dateien editiert und dann wieder eingecheckt werden.',
'settings_cmdTimeout' => 'Timeout für externe Programme',
'settings_cmdTimeout_desc' => 'Diese Zeit in Sekunden legt fest, wann ein externes Programm (z.B. für die Erstellung des Volltext-Index) beendet wird.',
'settings_conf_field_not_editable' => 'Dieser Wert ist nicht editierbar',
'settings_contentDir' => 'Content-Verzeichnis',
'settings_contentDir_desc' => 'Verzeichnis, in dem die Dokumente gespeichert werden. Sie sollten ein Verzeichnis wählen, das nicht durch den Web-Server erreichbar ist.',
'settings_contentOffsetDir' => 'Content Offset Directory',
@ -1467,6 +1521,8 @@ Name: [username]
'settings_enableReceiptWorkflow_desc' => 'Anwählen, um den Workflow zur Kenntnisnahme von Dokumenten einzuschalten',
'settings_enableRecursiveCount' => 'Rekursive Dokumenten-/Ordner-Zählung',
'settings_enableRecursiveCount_desc' => 'Wenn diese Option eingeschaltet ist, wird die Anzahl der Dokumente und Ordner in der Ordner-Ansicht rekursiv, unter Berücksichtigung der Zugriffsrechte ermittelt.',
'settings_enableRemoveRevApp' => 'Erlaube das Löschen einer Prüfung/Freigabe',
'settings_enableRemoveRevApp_desc' => 'Anwählen, um Administratoren das Löschen einer Prüfung/Freigabe zu erlauben. Dabei wird die Prüfung/Freigabe nicht aus der Datenbank gelöscht, sondern durch einen neuen Eintrag im Prüf-/Freigabeprotokoll der Anfangszustand hergestellt.',
'settings_enableRevisionOneVoteReject' => 'Ablehnung durch einen Wiederholungsprüfer',
'settings_enableRevisionOneVoteReject_desc' => 'Diese Einstellung setzen, wenn die Ablehnung einer Wiederholungsprüfung durch einen einzelnen Prüfer den Status \'Korrektur erforderlich\' setzt und nicht erst alle Prüfungen abgewartet werden, bevor ein Statuswechsel vollzogen wird.',
'settings_enableRevisionOnVoteReject' => '',
@ -1516,8 +1572,10 @@ Name: [username]
'settings_fullSearchEngine_desc' => 'Setzt das Verfahren, welches für die Volltextsuche verwendet wird.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Gast-ID',
'settings_guestID' => 'Gastbenutzer',
'settings_guestID_desc' => 'Id des Gast-Benutzers, wenn man sich als \'guest\' anmeldet.',
'settings_guestid_is_admin' => 'Gastuser ist ein Administrator',
'settings_guestid_is_disabled' => 'Gastuser ist deaktiviert',
'settings_httpRoot' => 'HTTP Wurzelverzeichnis',
'settings_httpRoot_desc' => 'Der relative Pfad in der URL nach der Domain, also ohne http:// und den hostnamen. z.B. wenn die komplette URL http://www.example.com/seeddms/ ist, dann setzen Sie diesen Wert auf \'/seeddms/\'. Wenn die URL http://www.example.com/ ist, tragen Sie \'/\' ein.',
'settings_incItemsPerPage' => 'Zahl der Einträge, die nachgeladen werden',
@ -1536,6 +1594,7 @@ Name: [username]
'settings_install_welcome_text' => '<p>Before you start to install SeedDMS make sure you have created a file \'ENABLE_INSTALL_TOOL\' in your configuration directory, otherwise the installation will not work. On Unix-System this can easily be done with \'touch conf/ENABLE_INSTALL_TOOL\'. After you have finished the installation delete the file.</p><p>SeedDMS has very minimal requirements. You will need a mysql database or sqlite support and a php enabled web server. The pear package Log has to be installed too. For the lucene full text search, you will also need the Zend framework installed on disc where it can be found by php. For the WebDAV server you will also need the HTTP_WebDAV_Server. The path to it can later be set during installation.</p><p>If you like to create the database before you start installation, then just create it manually with your favorite tool, optionally create a database user with access on the database and import one of the database dumps in the configuration directory. The installation script can do that for you as well, but it will need database access with sufficient rights to create databases.</p>',
'settings_install_welcome_title' => 'Willkommen zur Installation von SeedDMS',
'settings_install_zendframework' => 'Installiere Zend Framework, wenn Sie die zend-basierte Volltextsuche einsetzen möchten. Anderenfalls, ignorieren Sie diese Meldung und fahren Sie mit der Installation fort.',
'settings_invalid_guestid' => 'Ungültiger Gastbenutzer',
'settings_language' => 'Voreingestellte Sprache',
'settings_language_desc' => 'Voreingestellte Sprache (entspricht dem Unterverzeichnis im Verzeichnis \'languages\')',
'settings_libraryFolder' => 'Bibliotheksordner',
@ -1578,7 +1637,7 @@ Name: [username]
'settings_partitionSize' => 'Partitionsgröße',
'settings_partitionSize_desc' => 'Größe der partiellen Uploads in Bytes durch den Jumploader. Wählen Sie diesen Wert nicht größer als maximale Upload-Größe, die durch den Server vorgegeben ist.',
'settings_passwordExpiration' => 'Passwortverfall',
'settings_passwordExpiration_desc' => 'Die Zahl der Tage nach der ein Passwort verällt und neu gesetzt werden muss. 0 schaltet den Passwortverfall aus.',
'settings_passwordExpiration_desc' => 'Die Zahl der Tage nach der ein Passwort verfällt und neu gesetzt werden muss. 0 schaltet den Passwortverfall aus.',
'settings_passwordHistory' => 'Passwort-Historie',
'settings_passwordHistory_desc' => 'Die Zahl der Passwörter, die ein Benutzer verwendet hat, bevor er ein altes Passwort wiederverwenden darf. 0 schaltet die Passwort-Historie aus.',
'settings_passwordStrength' => 'Min. Passwortstärke',
@ -1722,14 +1781,15 @@ Name: [username]
'sort_by_sequence' => 'Nach Reihenfolge sortieren',
'space_used_on_data_folder' => 'Benutzter Plattenplatz',
'splash_added_to_clipboard' => 'Der Zwischenablage hinzugefügt',
'splash_add_access' => 'Zugriffsrecht hinzugefügt',
'splash_add_access' => 'Neues Zugriffsrecht hinzugefügt',
'splash_add_attribute' => 'Neues Attribut hinzugefügt',
'splash_add_group' => 'Neue Gruppe hinzugefügt',
'splash_add_group_member' => 'Neues Gruppenmitglied hinzugefügt',
'splash_add_notify' => 'Neue Benachrichtigung hinzugefügt',
'splash_add_role' => 'Neue Rolle hinzugefügt',
'splash_add_task' => 'Neuer Task hinzugefügt',
'splash_add_to_transmittal' => 'Zur Dokumentenliste hinzugefügt',
'splash_add_transmittal' => 'Dokumentenliste angelegt',
'splash_add_transmittal' => 'Neue Dokumentenliste angelegt',
'splash_add_user' => 'Neuen Benutzer hinzugefügt',
'splash_cancel_checkout' => 'Auschecken abgebrochen',
'splash_cleared_cache' => 'Cache geleert',
@ -1737,6 +1797,7 @@ Name: [username]
'splash_delete_access' => 'Zugriffsrecht gelöscht',
'splash_document_added' => 'Dokument hinzugefügt',
'splash_document_checkedout' => 'Dokument ausgecheckt',
'splash_document_deleted' => 'Dokument gelöscht',
'splash_document_edited' => 'Dokument gespeichert',
'splash_document_indexed' => 'Dokument \'[name]\' indiziert.',
'splash_document_locked' => 'Dokument gesperrt',
@ -1760,6 +1821,7 @@ Name: [username]
'splash_extension_import' => 'Erweiterung installiert',
'splash_extension_refresh' => 'Liste der Erweiterungen neu geladen',
'splash_extension_upload' => 'Erweiterung installiert',
'splash_folder_deleted' => 'Ordner gelöscht',
'splash_folder_edited' => 'Änderungen am Ordner gespeichert',
'splash_importfs' => '[docs] Dokumente und [folders] Ordner importiert',
'splash_inherit_access' => 'Zugriffsrechte werden geerbt',
@ -1779,6 +1841,7 @@ Name: [username]
'splash_rm_folder' => 'Ordner gelöscht',
'splash_rm_group' => 'Gruppe gelöscht',
'splash_rm_group_member' => 'Mitglied der Gruppe gelöscht',
'splash_rm_notify' => 'Benachrichtigung gelöscht',
'splash_rm_role' => 'Rolle gelöscht',
'splash_rm_transmittal' => 'Dokumentenliste gelöscht',
'splash_rm_user' => 'Benutzer gelöscht',
@ -1803,9 +1866,10 @@ Name: [username]
'state_and_next_state' => 'Status/Nächster Status',
'statistic' => 'Statistik',
'status' => 'Status',
'status_approval_rejected' => 'Entwurf abgelehnt',
'status_approval_rejected' => 'abgelehnt',
'status_approved' => 'freigegeben',
'status_approver_removed' => 'Freigebender wurde vom Prozess ausgeschlossen',
'status_change' => 'Statusänderung',
'status_needs_correction' => 'Korrektur erforderlich',
'status_not_approved' => 'keine Freigabe',
'status_not_receipted' => 'Empfang noch nicht bestätigt',
@ -1815,7 +1879,7 @@ Name: [username]
'status_receipt_rejected' => 'Abgelehnt',
'status_recipient_removed' => 'Empfänger aus Liste entfernt',
'status_reviewed' => 'geprüft',
'status_reviewer_rejected' => 'Entwurf abgelehnt',
'status_reviewer_rejected' => 'abgelehnt',
'status_reviewer_removed' => 'Prüfer wurde vom Prozess ausgeschlossen',
'status_revised' => 'überprüft',
'status_revision_rejected' => 'Abgelehnt',
@ -1859,10 +1923,12 @@ Name: [username]
'tasks' => 'Aufgaben',
'task_core_expireddocs_days' => 'Tage',
'task_core_expireddocs_email' => 'E-Mail',
'task_core_expireddocs_peruser' => 'Pro Benutzer',
'task_core_indexingdocs_recreate' => 'Index neu erzeugen',
'task_description' => 'Beschreibung',
'task_disabled' => 'Deaktiviert',
'task_frequency' => 'Häufigkeit',
'task_frequency_placeholder' => 'm h d m dow',
'task_last_run' => 'Letzte Ausführung',
'task_name' => 'Name',
'task_next_run' => 'Nächste Ausführung',
@ -1884,12 +1950,13 @@ Name: [username]
'timeline_skip_add_file' => 'Anhang hinzugefügt',
'timeline_skip_scheduled_revision' => 'Geplante Wiederholungsprüfung',
'timeline_skip_status_change_-1' => 'abgelehnt',
'timeline_skip_status_change_-2' => 'veraltet',
'timeline_skip_status_change_-3' => 'abgelaufen',
'timeline_skip_status_change_0' => 'bevorstehende Prüfung',
'timeline_skip_status_change_1' => 'bevorstehende Freigabe',
'timeline_skip_status_change_0' => 'Prüfung erforderlich',
'timeline_skip_status_change_1' => 'Freigabe erforderlich',
'timeline_skip_status_change_2' => 'freigegeben',
'timeline_skip_status_change_3' => 'im Workflow',
'timeline_skip_status_change_4' => 'In Revision',
'timeline_skip_status_change_4' => 'Wiederholungsprüfung erforderlich',
'timeline_skip_status_change_5' => 'Entwurf',
'timeline_status_change' => 'Version [version]: [status]',
'to' => 'bis',
@ -1935,13 +2002,14 @@ URL: [url]',
'type_to_search' => 'Hier tippen zum Suchen',
'uk_UA' => 'Ukrainisch',
'under_folder' => 'In Ordner',
'unknown_attrdef' => 'Unbekannte Attributdefinition',
'unknown_attrdef' => 'unbekannte Attributdefinition',
'unknown_command' => 'unbekannter Befehl',
'unknown_document_category' => 'Unbekannte Kategorie',
'unknown_document_category' => 'unbekannte Kategorie',
'unknown_group' => 'unbekannte Gruppenidentifikation',
'unknown_id' => 'unbekannte id',
'unknown_keyword_category' => 'unbekannte Kategorie',
'unknown_owner' => 'unbekannte Besitzeridentifikation',
'unknown_status' => 'unbekannter Status',
'unknown_user' => 'unbekannte Benutzeridentifikation',
'unlinked_content' => 'Dokumenteninhalt ohne Dokument',
'unlinked_documents' => 'Nicht verknüpfte Dokumente',
@ -2004,6 +2072,8 @@ URL: [url]',
'view_folder' => 'Ordnerdetails anzeigen',
'view_online' => 'Online betrachten',
'warning' => 'Warnung',
'warning_remove_approval_log' => 'Das Entfernen einer bestehenden Freigabe kann nicht rückgängig gemacht werden und wird nicht protokoliert.',
'warning_remove_review_log' => 'Das Entfernen einer bestehenden Prüfung kann nicht rückgängig gemacht werden und wird nicht protokoliert.',
'webauthn_auth' => 'WebAuthn Authentifizierung',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (359)
// Translators: Admin (360)
$text = array(
'2_factor_auth' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '',
'abbr_day' => '',
'abbr_hour' => '',
@ -91,6 +93,7 @@ $text = array(
'all_users' => 'Όλοι οι Χρήστες',
'already_subscribed' => '',
'and' => 'και',
'apikey' => '',
'apply' => 'Apply',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -209,7 +212,9 @@ $text = array(
'cannot_move_root' => '',
'cannot_retrieve_approval_snapshot' => '',
'cannot_retrieve_review_snapshot' => '',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => '',
'cannot_transfer_your_objects' => '',
'categories' => 'Κατηγορίες',
'categories_loading' => '',
'category' => 'Κατηγορία',
@ -233,6 +238,7 @@ $text = array(
'chart_docspermonth_title' => 'Νέα έγγραφα κατά μήνα',
'chart_docsperstatus_title' => 'Κατάσταση εγγράφων',
'chart_docsperuser_title' => 'Έγγραφα κατά χρήστη',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Επιλογή γραφήματος',
'chart_sizeperuser_title' => 'Χώρος κατά χρήστη',
'checkedout_file_has_different_version' => '',
@ -240,6 +246,7 @@ $text = array(
'checkedout_file_is_unchanged' => '',
'checkin_document' => '',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => '',
'checkout_is_disabled' => '',
'choose_attrdef' => '',
@ -255,12 +262,14 @@ $text = array(
'choose_workflow' => '',
'choose_workflow_action' => '',
'choose_workflow_state' => '',
'class_finfo_missing' => '',
'class_name' => '',
'clear_cache' => 'Εκκαθάριση στιγμιαίας μνήμης',
'clear_clipboard' => '',
'clear_password' => '',
'clipboard' => 'Πρόχειρο',
'close' => 'Κλέισιμο',
'color' => '',
'command' => '',
'comment' => 'Σχόλιο',
'comment_changed_email' => '',
@ -364,12 +373,14 @@ $text = array(
'document_deleted_email_body' => '',
'document_deleted_email_subject' => '',
'document_duplicate_name' => '',
'document_files' => '',
'document_has_no_workflow' => '',
'document_infos' => 'Πληροφορίες Εγγράφου',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => '',
'document_links' => '',
'document_link_by' => '',
'document_link_public' => 'Δημόσιο',
'document_moved_email' => 'Το έγγραφα μετακινήθηκε',
@ -388,6 +399,7 @@ $text = array(
'document_updated_email' => '',
'document_updated_email_body' => '',
'document_updated_email_subject' => '',
'document_versions' => '',
'does_not_expire' => 'Δεν λήγει',
'does_not_inherit_access_msg' => '',
'download' => 'Λήψη',
@ -422,6 +434,7 @@ $text = array(
'dropfolder_metadata' => '',
'dropupload' => 'Γρήγορη Προσθήκη',
'drop_files_here' => 'Προσθέστε έγγραφα εδώ!',
'drop_files_here_or_click' => '',
'dump_creation' => '',
'dump_creation_warning' => '',
'dump_list' => '',
@ -471,6 +484,7 @@ $text = array(
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -568,6 +582,7 @@ $text = array(
'fulltextsearch_disabled' => '',
'fulltext_converters' => '',
'fulltext_info' => 'Πληροφορίες Κειμένου',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Ιδιότητες',
'global_default_keywords' => 'Λέξεις Κλειδιά',
@ -583,6 +598,7 @@ $text = array(
'group_management' => 'Διαχείριση ομάδων',
'group_members' => 'Μέλη ομάδας',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => '',
'group_revision_summary' => '',
'guest_login' => '',
@ -611,16 +627,23 @@ $text = array(
'include_subdirectories' => '',
'indexing_tasks_in_queue' => 'Δημιουργία δεικτών σε ουρά',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Ταξινόμηση φακέλου',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => 'Αναμονή',
'individuals' => 'Άτομα',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'Κληρονομημένο',
'inherits_access_copy_msg' => 'Αντιγραφή δικαιωμάτων πρόσβασης',
'inherits_access_empty_msg' => 'Έναρξη με κενή λίστα δικαιωμάτων πρόσβασης',
@ -664,8 +687,10 @@ $text = array(
'js_no_approval_status' => '',
'js_no_comment' => '',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => '',
'js_no_file' => '',
'js_no_folder' => '',
'js_no_keywords' => '',
'js_no_login' => '',
'js_no_name' => '',
@ -708,6 +733,7 @@ $text = array(
'lock_document' => 'Κλείδωμα',
'lock_message' => 'Αυτό το έγγραφο είναι κλειδωμένο από [username]. Μόνο εξουσιοδοτημένοι χρήστες μπορούν να ξεκλειδώσουν αυτό το έγγραφο.',
'lock_status' => 'Κατάσταση',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Είσοδος',
'login_disabled_text' => '',
@ -743,7 +769,9 @@ $text = array(
'missing_checksum' => '',
'missing_file' => '',
'missing_filesize' => '',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => '',
@ -760,6 +788,12 @@ $text = array(
'my_documents' => 'Τα έγγραφα μου',
'my_transmittals' => 'Οι Διαβιβάσεις μου',
'name' => 'Όνομα',
'nav_brand_admin_tools' => 'Εργαλεία',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Νορβηγικά',
'needs_correction' => '',
'needs_workflow_action' => '',
@ -804,11 +838,13 @@ URL: [url]',
'notify_deleted_email' => '',
'notify_deleted_email_body' => '',
'notify_deleted_email_subject' => '',
'not_subscribed' => '',
'november' => 'Νοέμβριος',
'now' => 'τώρα',
'no_action' => '',
'no_approval_needed' => '',
'no_attached_files' => 'Δεν υπάρχουν επισυναπτόμενα αρχεία',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => '',
@ -865,6 +901,8 @@ URL: [url]',
'password_forgotten_send_hash' => '',
'password_forgotten_text' => '',
'password_forgotten_title' => '',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => '',
'password_send' => '',
'password_send_text' => '',
@ -934,9 +972,13 @@ URL: [url]',
'removed_workflow_email_body' => '',
'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => '',
'remove_approval_log' => '',
'remove_marked_files' => '',
'remove_review_log' => '',
'repaired' => '',
'repairing_objects' => '',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => '',
'request_workflow_action_email_subject' => '',
'reset_checkout' => '',
@ -1046,6 +1088,7 @@ URL: [url]',
'search' => 'Αναζήτηση',
'search_fulltext' => '',
'search_in' => '',
'search_mode' => '',
'search_mode_and' => '',
'search_mode_documents' => '',
'search_mode_folders' => '',
@ -1087,6 +1130,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Επιλογή',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Επιλογή χρήστη',
'select_users' => 'Κάντε κλικ για να επιλέξετε χρήστες',
'select_value' => 'Επιλέξτε τιμή',
@ -1141,6 +1185,7 @@ URL: [url]',
'settings_checkOutDir_desc' => '',
'settings_cmdTimeout' => '',
'settings_cmdTimeout_desc' => '',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => '',
'settings_contentDir_desc' => '',
'settings_contentOffsetDir' => '',
@ -1258,6 +1303,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => '',
'settings_enableRecursiveCount_desc' => '',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1309,6 +1356,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => '',
'settings_guestID' => '',
'settings_guestID_desc' => '',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => '',
'settings_httpRoot_desc' => '',
'settings_incItemsPerPage' => '',
@ -1327,6 +1376,7 @@ URL: [url]',
'settings_install_welcome_text' => '',
'settings_install_welcome_title' => '',
'settings_install_zendframework' => '',
'settings_invalid_guestid' => '',
'settings_language' => '',
'settings_language_desc' => '',
'settings_libraryFolder' => '',
@ -1517,6 +1567,7 @@ URL: [url]',
'splash_add_attribute' => '',
'splash_add_group' => '',
'splash_add_group_member' => '',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1528,6 +1579,7 @@ URL: [url]',
'splash_delete_access' => '',
'splash_document_added' => '',
'splash_document_checkedout' => '',
'splash_document_deleted' => '',
'splash_document_edited' => '',
'splash_document_indexed' => '',
'splash_document_locked' => 'Κλειδωμένο έγγραφο',
@ -1551,6 +1603,7 @@ URL: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => '',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1570,6 +1623,7 @@ URL: [url]',
'splash_rm_folder' => '',
'splash_rm_group' => '',
'splash_rm_group_member' => '',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
'splash_rm_user' => '',
@ -1597,6 +1651,7 @@ URL: [url]',
'status_approval_rejected' => '',
'status_approved' => '',
'status_approver_removed' => '',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => '',
'status_not_receipted' => '',
@ -1650,10 +1705,12 @@ URL: [url]',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1675,6 +1732,7 @@ URL: [url]',
'timeline_skip_add_file' => 'Η προσθήκη ολοκληρώθηκε',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'Απορριφθέντα',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'Ληγμένα',
'timeline_skip_status_change_0' => 'Προς ενημέρωση',
'timeline_skip_status_change_1' => 'Προς έγκριση',
@ -1724,6 +1782,7 @@ URL: [url]',
'unknown_id' => '',
'unknown_keyword_category' => '',
'unknown_owner' => '',
'unknown_status' => '',
'unknown_user' => '',
'unlinked_content' => '',
'unlinked_documents' => '',
@ -1781,6 +1840,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'προβολή online',
'warning' => 'Προειδοποίηση',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1976), archonwang (3), dgrutsch (9), netixw (14)
// Translators: Admin (2061), archonwang (3), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
'2_factor_auth_info' => 'This system enforces 2 factor authentication. You will need the Google Authenticator on your mobile phone. Below you see two QR codes. The right one is your current secret. On the left you can set a new secret. If you set a new secret make sure to rescan it with Google Authenticator.',
'2_fact_auth_current_secret' => 'Current secret',
'2_fact_auth_new_secret' => 'New secret',
'2_fact_auth_secret' => 'Secret',
'abbr_day' => 'd',
'abbr_hour' => 'h',
@ -87,7 +89,7 @@ URL: [url]',
'add_workflow_action' => 'Add new workflow action',
'add_workflow_state' => 'Add new workflow state',
'admin' => 'Administrator',
'admin_tools' => 'Admin-Tools',
'admin_tools' => 'Admin tools',
'all' => 'All',
'all_categories' => 'All categories',
'all_documents' => 'All Documents',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'All users',
'already_subscribed' => 'Already subscribed',
'and' => 'and',
'apikey' => 'API key',
'apply' => 'Apply',
'approvals_accepted' => '[no_approvals] approvals already accepted',
'approvals_accepted_latest' => '(being [no_approvals] in latest version)',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => 'Error: Cannot move root folder.',
'cannot_retrieve_approval_snapshot' => 'Unable to retrieve approval status snapshot for this document version.',
'cannot_retrieve_review_snapshot' => 'Unable to retrieve review status snapshot for this document version.',
'cannot_revapp_expired_docs' => 'The document cannot be reviewer or approved anymore, because it already expired.',
'cannot_rm_root' => 'Error: Cannot delete root folder.',
'cannot_transfer_your_objects' => 'You cannot transfer your own objects',
'categories' => 'Categories',
'categories_loading' => 'Please wait, until the list of categories is loaded …',
'category' => 'Category',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => 'New documents per month',
'chart_docsperstatus_title' => 'Documents per status',
'chart_docsperuser_title' => 'Documents per user',
'chart_foldersperuser_title' => 'Folders per user',
'chart_selection' => 'Select chart',
'chart_sizeperuser_title' => 'Diskspace per user',
'checkedout_file_has_different_version' => 'The checked out version is not identical to the current version. Check in will not update the document.',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'The file of the checked out document is still unchanged. Check in will not be possible. If do not plan any modifications, you can reset the check out status.',
'checkin_document' => 'Check In',
'checkoutpath_does_not_exist' => 'Checkout path does not exists',
'checkout_cancel_confirm' => 'Confirm to cancel checkout',
'checkout_document' => 'Check out',
'checkout_is_disabled' => 'Check out of documents is disabled in the configuration.',
'choose_attrdef' => 'Please choose attribute definition',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Choose workflow',
'choose_workflow_action' => 'Choose workflow action',
'choose_workflow_state' => 'Choose workflow state',
'class_finfo_missing' => 'The class finfo will be used when files are uploading for determine the mimetype.',
'class_name' => 'Name of class',
'clear_cache' => 'Clear cache',
'clear_clipboard' => 'Clear clipboard',
'clear_password' => 'Clear password',
'clipboard' => 'Clipboard',
'close' => 'Close',
'color' => 'Color',
'command' => 'Command',
'comment' => 'Comment',
'comment_changed_email' => '',
@ -323,7 +332,7 @@ URL: [url]',
'continue' => 'Continue',
'converter_new_cmd' => 'Command',
'converter_new_mimetype' => 'New mimetype',
'copied_to_checkout_as' => 'File copied to checkout space as \'[filename]\' on [date]',
'copied_to_checkout_as' => 'File copied by [username] to checkout space as \'[filename]\' on [date]',
'create_download_link' => '',
'create_fulltext_index' => 'Create fulltext index',
'create_fulltext_index_warning' => 'You are about to recreate the fulltext index. This can take a considerable amount of time and reduce your overall system performance. If you really want to recreate the index, please confirm your operation.',
@ -409,12 +418,14 @@ Parent folder: [folder_path]
User: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Document deleted',
'document_duplicate_name' => 'Duplicate document name',
'document_files' => 'Attachments',
'document_has_no_workflow' => 'Document has no workflow',
'document_infos' => 'Document Information',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => 'Document is currently checked out. If you delete the document, the checked out version can not be added anymore and remains in the checkout area.',
'document_is_checked_out_update' => 'Document is currently checked out. If you upload a new version, then the checked out version cannot be checked back in anymore.',
'document_is_not_locked' => 'This document is not locked',
'document_links' => 'Document links',
'document_link_by' => 'Linked by',
'document_link_public' => 'Public',
'document_moved_email' => 'Document moved',
@ -446,6 +457,7 @@ URL: [url]',
'document_transfered_email_body' => 'Document transfer to other user
Document: [name]
New owner: [newuser]
Old owner: [olduser]
Parent folder: [folder_path]
User: [username]
URL: [url]',
@ -453,12 +465,14 @@ URL: [url]',
'document_updated_email' => 'Document updated',
'document_updated_email_body' => 'Document updated
Document: [name]
Version: [version]
Parent folder: [folder_path]
User: [username]
Comment: [comment]
Version comment: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Document updated',
'document_versions' => 'Document versions',
'does_not_expire' => 'Does not expire',
'does_not_inherit_access_msg' => 'Inherit access',
'download' => 'Download',
@ -484,15 +498,16 @@ URL: [url]',
'do_object_setfiletype' => 'Set file type',
'do_object_unlink' => 'Delete document version',
'draft' => 'Draft',
'draft_pending_approval' => 'Draft - pending approval',
'draft_pending_review' => 'Draft - pending review',
'drag_icon_here' => 'Drag icon of folder or document here!',
'draft_pending_approval' => 'pending approval',
'draft_pending_review' => 'pending review',
'drag_icon_here' => 'Drag folder or document here!',
'dropfolderdir_missing' => 'Your personal drop folder does not exist on the server! Please ask your administrator to create it.',
'dropfolder_file' => 'File from drop folder',
'dropfolder_folder' => 'Folder from drop folder',
'dropfolder_metadata' => 'Metadata of files to be imported',
'dropupload' => 'Fast upload',
'drop_files_here' => 'Drop files here!',
'drop_files_here_or_click' => 'Drop files here or click!',
'dump_creation' => 'DB dump creation',
'dump_creation_warning' => 'With this operation you can create a dump file of your database content. After the creation the dump file will be saved in the data folder of your server.',
'dump_list' => 'Existings dump files',
@ -503,14 +518,14 @@ URL: [url]',
'edit_attributes' => 'Edit attributes',
'edit_comment' => 'Edit comment',
'edit_default_keywords' => 'Edit keywords',
'edit_document_access' => 'Edit Access',
'edit_document_access' => 'Access rights',
'edit_document_notify' => 'Document Notification List',
'edit_document_props' => 'Edit document',
'edit_event' => 'Edit event',
'edit_existing_access' => 'Edit Access List',
'edit_existing_attribute_groups' => 'Edit attribute groups',
'edit_existing_notify' => 'Edit notification list',
'edit_folder_access' => 'Edit access',
'edit_folder_access' => 'Access rights',
'edit_folder_attrdefgrp' => 'Edit attribute groups',
'edit_folder_notify' => 'Folder Notification List',
'edit_folder_props' => 'Edit folder',
@ -542,6 +557,7 @@ URL: [url]',
'error_add_aro' => 'Error while adding access request object',
'error_add_permission' => 'Error while add permission',
'error_cleared_cache' => 'Error while clearing cache',
'error_document_indexed' => 'Error indexing document',
'error_edit_task' => 'Error when saving task',
'error_extension_getlist' => 'Error getting extension list from repository',
'error_importfs' => 'Error while importing form file system',
@ -670,6 +686,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'Fulltext index is disabled',
'fulltext_converters' => 'Index document conversion',
'fulltext_info' => 'Fulltext index info',
'func_proc_open_missing' => 'proc_open is required for indexing the content of documents. Without this function only the metadata will be indexed.',
'global_attributedefinitiongroups' => 'Attribute groups',
'global_attributedefinitions' => 'Attributes',
'global_default_keywords' => 'Global keywords',
@ -685,6 +702,7 @@ URL: [url]',
'group_management' => 'Groups management',
'group_members' => 'Group members',
'group_receipt_summary' => 'Group receipt summary',
'group_review_removed' => 'Change of status, because review of group [name] was removed.',
'group_review_summary' => 'Group review summary',
'group_revision_summary' => 'Group revision summary',
'guest_login' => 'Login as guest',
@ -713,16 +731,23 @@ URL: [url]',
'include_subdirectories' => 'Include subdirectories',
'indexing_tasks_in_queue' => 'Indexing tasks in queue',
'index_converters' => '',
'index_document_unchanged' => 'document unchanged',
'index_document_added' => 'Document added',
'index_document_unchanged' => 'Document unchanged',
'index_document_updated' => 'Document updated',
'index_done' => 'Done',
'index_error' => 'Error',
'index_folder' => 'Index folder',
'index_folder_added' => 'Folder added',
'index_folder_unchanged' => 'Folder unchanged',
'index_folder_updated' => 'Folder updated',
'index_no_content' => 'Did not index content',
'index_pending' => 'Pending',
'index_waiting' => 'Waiting',
'individuals' => 'Individuals',
'individuals_in_groups' => 'Members of a group',
'ind_review_removed' => 'Change of status, because review of user [name] was removed.',
'info_recipients_tab_not_released' => 'Acknowledgement of reception for this document version is not possible, because the version is not released.',
'info_rm_user_from_processes_user' => 'Only tasks not being touched can be transfered to another user. Task which has been taken care of, will just add an item in the history, as if the user was deleted.',
'inherited' => 'inherited',
'inherits_access_copy_msg' => 'Copy inherited access list',
'inherits_access_empty_msg' => 'Start with empty access list',
@ -766,8 +791,10 @@ URL: [url]',
'js_no_approval_status' => 'Please select the approval status',
'js_no_comment' => 'There is no comment',
'js_no_currentpwd' => 'Please enter your current password',
'js_no_document' => 'Please select a document',
'js_no_email' => 'Type in your Email-address',
'js_no_file' => 'Please select a file',
'js_no_folder' => 'Please select a folder',
'js_no_keywords' => 'Specify some keywords',
'js_no_login' => 'Please type in a username',
'js_no_name' => 'Please type in a name',
@ -810,6 +837,7 @@ URL: [url]',
'lock_document' => 'Lock',
'lock_message' => 'This document is locked by [username]. Only authorized users can unlock this document.',
'lock_status' => 'Status',
'logfile' => 'Log file',
'logfile_loading' => 'Pleae wait, until log file is loaded …',
'login' => 'Login',
'login_disabled_text' => 'Your account is disabled, probably because of too many failed logins.',
@ -845,7 +873,9 @@ URL: [url]',
'missing_checksum' => 'Missing checksum',
'missing_file' => 'Missing file',
'missing_filesize' => 'Missing filesize',
'missing_func_class_note' => 'Note',
'missing_php_extensions' => 'Missing php extensions',
'missing_php_functions_and_classes' => 'Missing php functions and classes',
'missing_reception' => 'Missing reception',
'missing_request_object' => 'Missing request object',
'missing_transition_user_group' => 'Missing user/group for transition',
@ -862,6 +892,12 @@ URL: [url]',
'my_documents' => 'My Documents',
'my_transmittals' => 'My Transmittals',
'name' => 'Name',
'nav_brand_admin_tools' => 'Admin tools',
'nav_brand_calendar' => 'Calendar',
'nav_brand_my_account' => 'My Account',
'nav_brand_my_documents' => 'My documents',
'nav_brand_view_document' => 'Document',
'nav_brand_view_folder' => 'Folder',
'nb_NO' => 'Norwegian (Bokmål)',
'needs_correction' => 'Needs correction',
'needs_workflow_action' => 'This document requires your attention. Please check the workflow tab.',
@ -919,11 +955,13 @@ Parent folder: [folder_path]
User: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Removed from notification list',
'not_subscribed' => 'Not subscribed',
'november' => 'November',
'now' => 'now',
'no_action' => 'No action required',
'no_approval_needed' => 'No approval pending.',
'no_attached_files' => 'No attached files',
'no_attributes_defined' => 'You have not created any custom attributes.',
'no_attribute_definitions' => 'There are currently no attribute definitions',
'no_backup_dir' => 'Backup directory is not set.',
'no_current_version' => 'You are running an old version of SeedDMS. The latest available version is [latestversion].',
@ -989,11 +1027,13 @@ This can be done by clicking on the following link:
[url_prefix]out/out.ChangePassword.php?hash=[hash]
If you have still problems to login, then please contact your administrator.',
If you still have problems to login, then please contact your administrator.',
'password_forgotten_email_subject' => '[sitename]: Password forgotten',
'password_forgotten_send_hash' => 'Instructions on how to proceed has been send to the user\'s email address',
'password_forgotten_text' => 'Fill out the form below and follow the instructions in the email, which will be sent to you.',
'password_forgotten_title' => 'Password sent',
'password_mismatch_error' => 'Passwords mismatch',
'password_mismatch_error_title' => 'Passwords mismatch',
'password_repeat' => 'Repeat password',
'password_send' => 'Password send',
'password_send_text' => 'Your new password has been send to the given email address, if the login and email matches an existing user. If you do not receive an email within the next minutes, then make sure both login and email are correct and restart the process again.',
@ -1083,9 +1123,18 @@ User: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version',
'removeFolderFromDropFolder' => 'Remove folder after import',
'remove_approval_log' => 'Remove approval',
'remove_marked_files' => 'Remove marked files',
'remove_review_log' => 'Remove review',
'repaired' => 'repaired',
'repairing_objects' => 'Repairing documents and folders.',
'replace_content_email_body' => 'The last version of the document has been replaced
Document: [name]
Version: [version]
Parent folder: [folder_path]
User: [username]
URL: [url]',
'replace_content_email_subject' => '[sitename]: [name] - Document content replaced',
'request_workflow_action_email_body' => 'The workflow has reached a state which requires your action.
Document: [name]
Version: [version]
@ -1244,6 +1293,7 @@ URL: [url]',
'search' => 'Search',
'search_fulltext' => 'Search in fulltext',
'search_in' => 'Search in',
'search_mode' => 'Search mode',
'search_mode_and' => 'all words',
'search_mode_documents' => 'Documents only',
'search_mode_folders' => 'Folders only',
@ -1285,6 +1335,7 @@ URL: [url]',
'select_mimetype' => 'Click to select mimetype',
'select_one' => 'Select one',
'select_owner' => 'Click to select owner',
'select_status' => 'Click to select document status',
'select_user' => 'Select user',
'select_users' => 'Click to select users',
'select_value' => 'Select value',
@ -1296,7 +1347,9 @@ URL: [url]',
Login: [login]
Name: [username]
[comment]',
[comment]
If you did not receive a password, please use the password forgotten function on the login page to set a new password.',
'send_login_data_subject' => '[sitename]: [login] - Your login data',
'send_test_mail' => 'Send test mail',
'september' => 'September',
@ -1344,6 +1397,7 @@ Name: [username]
'settings_checkOutDir_desc' => 'This is the directory where the latest content of a document is copied if the document is checked out. If you make this directory accessible for users, they can edit the file and check it back in when finished.',
'settings_cmdTimeout' => 'Timeout for external commands',
'settings_cmdTimeout_desc' => 'This duration in seconds determines when an external command (e.g. for creating the full text index) will be terminated.',
'settings_conf_field_not_editable' => 'This value is not editable',
'settings_contentDir' => 'Content directory',
'settings_contentDir_desc' => 'Where the uploaded files are stored (best to choose a directory that is not accessible through your web-server)',
'settings_contentOffsetDir' => 'Content Offset Directory',
@ -1461,6 +1515,8 @@ Name: [username]
'settings_enableReceiptWorkflow_desc' => 'Enable, to turn on the workflow to acknowledge document reception.',
'settings_enableRecursiveCount' => 'Enable recursive document/folder count',
'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.',
'settings_enableRemoveRevApp' => 'Allow removal of existing review/approval',
'settings_enableRemoveRevApp_desc' => 'Enable this, if admins may remove an review/approval. This will not delete the review/approval from the database, but add a new entry in the review/approval log setting status to its initial state.',
'settings_enableRevisionOneVoteReject' => 'Reject by one revisor',
'settings_enableRevisionOneVoteReject_desc' => 'If enabled, the document status will be set to \'needs correction\' once the first revisor rejects the document. If disabled, the document status will not change until all revisors have finished their revision.',
'settings_enableRevisionOnVoteReject' => '',
@ -1477,7 +1533,7 @@ Name: [username]
'settings_enableThemeSelector_desc' => 'Turns on/off the theme selector on the login page.',
'settings_enableUpdateReceipt' => 'Allow editing of existing reception',
'settings_enableUpdateReceipt_desc' => 'Enable this, if the user who has made a reception may change the decission.',
'settings_enableUpdateRevApp' => 'Allow editing of exting review/approval',
'settings_enableUpdateRevApp' => 'Allow editing of existing review/approval',
'settings_enableUpdateRevApp_desc' => 'Enable this, if the user who has made a review/approval may change the decission as long as the current workflow step has not been finished.',
'settings_enableUserImage' => 'Enable User Image',
'settings_enableUserImage_desc' => 'Enable users images',
@ -1510,8 +1566,10 @@ Name: [username]
'settings_fullSearchEngine_desc' => 'Set the method used for the fulltext search.',
'settings_fullSearchEngine_vallucene' => 'Zend Lucene',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Guest ID',
'settings_guestID' => 'Guest user',
'settings_guestID_desc' => 'ID of guest-user used when logged in as guest (mostly no need to change)',
'settings_guestid_is_admin' => 'Guest user is an administrator',
'settings_guestid_is_disabled' => 'Guest user is disabled',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => 'The relative path in the URL, after the domain part. Do not include the http:// prefix or the web host name. e.g. If the full URL is http://www.example.com/seeddms/, set \'/seeddms/\'. If the URL is http://www.example.com/, set \'/\'',
'settings_incItemsPerPage' => 'Number of entries loaded at end of page',
@ -1530,6 +1588,7 @@ Name: [username]
'settings_install_welcome_text' => '<p>Before you start to install SeedDMS make sure you have created a file \'ENABLE_INSTALL_TOOL\' in your configuration directory, otherwise the installation will not work. On Unix-System this can easily be done with \'touch conf/ENABLE_INSTALL_TOOL\'. After you have finished the installation delete the file.</p><p>SeedDMS has very minimal requirements. You will need a mysql database or sqlite support and a php enabled web server. The pear package Log has to be installed too. For the lucene full text search, you will also need the Zend framework installed on disc where it can be found by php. For the WebDAV server you will also need the HTTP_WebDAV_Server. The path to it can later be set during installation.</p><p>If you like to create the database before you start installation, then just create it manually with your favorite tool, optionally create a database user with access on the database and import one of the database dumps in the configuration directory. The installation script can do that for you as well, but it will need database access with sufficient rights to create databases.</p>',
'settings_install_welcome_title' => 'Welcome to the installation of SeedDMS',
'settings_install_zendframework' => 'Install Zend Framework, if you intend to use the zend based full text search engine. Otherwise, ignore this message and continue the installation.',
'settings_invalid_guestid' => 'Invalid guest user',
'settings_language' => 'Default language',
'settings_language_desc' => 'Default language (name of a subfolder in folder "languages")',
'settings_libraryFolder' => 'Library folder',
@ -1716,21 +1775,23 @@ Name: [username]
'sort_by_sequence' => 'Sort by sequence',
'space_used_on_data_folder' => 'Space used on data folder',
'splash_added_to_clipboard' => 'Added to clipboard',
'splash_add_access' => 'Access right added',
'splash_add_access' => 'New Access right added',
'splash_add_attribute' => 'New attribute added',
'splash_add_group' => 'New group added',
'splash_add_group_member' => 'New group member added',
'splash_add_notify' => 'Added new notification',
'splash_add_role' => 'Added new role',
'splash_add_task' => 'Added new task',
'splash_add_to_transmittal' => 'Add to transmittal',
'splash_add_transmittal' => 'Added transmittal',
'splash_add_user' => 'New user added',
'splash_add_to_transmittal' => 'Added to transmittal',
'splash_add_transmittal' => 'Added new transmittal',
'splash_add_user' => 'Added new user',
'splash_cancel_checkout' => 'Checkout canceled',
'splash_cleared_cache' => 'Cache cleared',
'splash_cleared_clipboard' => 'Clipboard cleared',
'splash_delete_access' => 'Access right deleted',
'splash_document_added' => 'Document added',
'splash_document_checkedout' => 'Document checked out',
'splash_document_deleted' => 'Document deleted',
'splash_document_edited' => 'Document saved',
'splash_document_indexed' => 'Document \'[name]\' indexed.',
'splash_document_locked' => 'Document locked',
@ -1754,6 +1815,7 @@ Name: [username]
'splash_extension_import' => 'Extension installed',
'splash_extension_refresh' => 'Refreshed list of extensions',
'splash_extension_upload' => 'Extension installed',
'splash_folder_deleted' => 'Folder deleted',
'splash_folder_edited' => 'Save folder changes',
'splash_importfs' => 'Imported [docs] documents and [folders] folders',
'splash_inherit_access' => 'Access right will be inherited',
@ -1773,6 +1835,7 @@ Name: [username]
'splash_rm_folder' => 'Folder deleted',
'splash_rm_group' => 'Group removed',
'splash_rm_group_member' => 'Member of group removed',
'splash_rm_notify' => 'Notification deleted',
'splash_rm_role' => 'Role deleted',
'splash_rm_transmittal' => 'Transmittal deleted',
'splash_rm_user' => 'User removed',
@ -1797,9 +1860,10 @@ Name: [username]
'state_and_next_state' => 'State/Next state',
'statistic' => 'Statistic',
'status' => 'Status',
'status_approval_rejected' => 'Draft rejected',
'status_approval_rejected' => 'rejected',
'status_approved' => 'Approved',
'status_approver_removed' => 'Approver removed from process',
'status_change' => 'Status change',
'status_needs_correction' => 'Needs correction',
'status_not_approved' => 'Not approved',
'status_not_receipted' => 'Not receipted yet',
@ -1809,7 +1873,7 @@ Name: [username]
'status_receipt_rejected' => 'Rejected',
'status_recipient_removed' => 'Recipient removed from list',
'status_reviewed' => 'Reviewed',
'status_reviewer_rejected' => 'Draft rejected',
'status_reviewer_rejected' => 'rejected',
'status_reviewer_removed' => 'Reviewer removed from process',
'status_revised' => 'revised',
'status_revision_rejected' => 'Rejected',
@ -1853,10 +1917,12 @@ Name: [username]
'tasks' => 'Tasks',
'task_core_expireddocs_days' => 'Days',
'task_core_expireddocs_email' => 'Email',
'task_core_expireddocs_peruser' => 'Per user',
'task_core_indexingdocs_recreate' => 'Recreate index',
'task_description' => 'Description',
'task_disabled' => 'Disabled',
'task_frequency' => 'Frequency',
'task_frequency_placeholder' => 'm h d m dow',
'task_last_run' => 'Last run',
'task_name' => 'Name',
'task_next_run' => 'Next run',
@ -1878,6 +1944,7 @@ Name: [username]
'timeline_skip_add_file' => 'attachment added',
'timeline_skip_scheduled_revision' => 'Scheduled revision',
'timeline_skip_status_change_-1' => 'rejected',
'timeline_skip_status_change_-2' => 'obsolete',
'timeline_skip_status_change_-3' => 'expired',
'timeline_skip_status_change_0' => 'pending review',
'timeline_skip_status_change_1' => 'pending approval',
@ -1936,6 +2003,7 @@ URL: [url]',
'unknown_id' => 'unknown id',
'unknown_keyword_category' => 'Unknown category',
'unknown_owner' => 'Unknown owner id',
'unknown_status' => 'Unknown status',
'unknown_user' => 'Unknown user id',
'unlinked_content' => 'Unlinked content',
'unlinked_documents' => 'Unlinked documents',
@ -1998,6 +2066,8 @@ URL: [url]',
'view_folder' => 'View folder details',
'view_online' => 'View online',
'warning' => 'Warning',
'warning_remove_approval_log' => 'Removing a single approval cannot not be undone and will not be reported. The reviewer must redo the review.',
'warning_remove_review_log' => 'Removing a single review cannot not be undone and will not be reported. The reviewer must redo the review.',
'webauthn_auth' => 'WebAuthn Authentification',
'webauthn_crossplatform_info' => 'Use cross-platform \'Yes\' when you have a removable device, like a Yubico key, which you would want to use to login on different computers; say \'No\' when your device is attached to the computer. The choice affects which device(s) are offered by the browser and/or computer security system.',
'webauthn_info' => 'WebAuthn is a password less authentification using public key cryptography. A private-public keypair (known as a credential) is created for a website. The private key is stored securely on the users device; a public key and randomly generated credential ID is sent to the server for storage. The server can then use that public key to prove the users identity. The private key is usually stored on a hardware token. The token must be registered before it can be used for authentication.',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: acabello (20), Admin (1310), angel (123), francisco (2), jaimem (14)
// Translators: acabello (20), Admin (1316), angel (123), francisco (2), jaimem (14)
$text = array(
'2_factor_auth' => 'Autenticación de doble factor',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Todos los usuarios',
'already_subscribed' => 'Ya está suscrito',
'and' => 'y',
'apikey' => '',
'apply' => 'Aplicar',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -233,7 +236,9 @@ URL: [url]',
'cannot_move_root' => 'Error: No es posible mover la carpeta raíz.',
'cannot_retrieve_approval_snapshot' => 'No es posible recuperar la instantánea del estado de aprobación para esta versión de documento.',
'cannot_retrieve_review_snapshot' => 'No es posible recuperar la instantánea de revisión para esta versión de documento.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Error: No es posible eliminar la carpeta raíz.',
'cannot_transfer_your_objects' => '',
'categories' => 'categorías',
'categories_loading' => '',
'category' => 'Categoría',
@ -257,6 +262,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Nuevos documentos por mes',
'chart_docsperstatus_title' => 'Documentos por estado',
'chart_docsperuser_title' => 'Documentos por usuario',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Seleccione un gráfico',
'chart_sizeperuser_title' => 'Espacio de almacenamiento por usuario',
'checkedout_file_has_different_version' => '',
@ -264,6 +270,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => '',
'checkin_document' => '',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => '',
'checkout_is_disabled' => '',
'choose_attrdef' => 'Por favor, seleccione definición de atributo',
@ -279,12 +286,14 @@ URL: [url]',
'choose_workflow' => 'Seleccione flujo de trabajo',
'choose_workflow_action' => 'Seleccione acción del flujo de trabajo',
'choose_workflow_state' => 'Seleccione estado del flujo de trabajo',
'class_finfo_missing' => '',
'class_name' => '',
'clear_cache' => 'Borrar cache',
'clear_clipboard' => 'Limpiar portapapeles',
'clear_password' => '',
'clipboard' => 'Portapapeles',
'close' => 'Cerrar',
'color' => '',
'command' => 'Comando',
'comment' => 'Comentarios',
'comment_changed_email' => '',
@ -397,12 +406,14 @@ Carpeta principal: [folder_path]
Usuario: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Documento eliminado',
'document_duplicate_name' => 'Nombre de documento duplicado',
'document_files' => '',
'document_has_no_workflow' => 'Documento sin flujo de trabajo',
'document_infos' => 'Informaciones',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => 'Este documento no está bloqueado',
'document_links' => '',
'document_link_by' => 'Vinculado por',
'document_link_public' => 'Público',
'document_moved_email' => 'Documento movido',
@ -442,6 +453,7 @@ Comentario: [comment]
Versión comentario: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Documento actualizado',
'document_versions' => '',
'does_not_expire' => 'No caduca',
'does_not_inherit_access_msg' => 'heredar el acceso',
'download' => 'Descargar',
@ -476,6 +488,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Carga Rapida',
'drop_files_here' => 'Arrastre archivos aquí!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Creación de volcado de BDD',
'dump_creation_warning' => 'Con esta operación se creará un volcado a fichero del contenido de la base de datos. Después de la creación del volcado el fichero se guardará en la carpeta de datos de su servidor.',
'dump_list' => 'Ficheros de volcado existentes',
@ -525,6 +538,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -568,7 +582,7 @@ Carpeta principal: [folder_path]
Usuario: [username]
URL: [url]',
'expiry_changed_email_subject' => '[sitename]: [name] - Fecha de caducidad modificada',
'export' => '',
'export' => 'Exportar',
'export_user_list_csv' => '',
'extension_archive' => '',
'extension_changelog' => 'Log de Cambios',
@ -646,6 +660,7 @@ URL: [url]',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Conversión de índice de documentos',
'fulltext_info' => 'Información de índice de texto completo',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Definición de atributos',
'global_default_keywords' => 'Palabras clave globales',
@ -661,6 +676,7 @@ URL: [url]',
'group_management' => 'Gestion de Grupos',
'group_members' => 'Miembros de grupo',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Resumen del grupo revisor',
'group_revision_summary' => '',
'guest_login' => 'Acceso como invitado',
@ -684,21 +700,28 @@ URL: [url]',
'import_users' => 'Importar usuarios',
'import_users_addnew' => 'Agregar nuevos usuarios',
'import_users_update' => 'Actualizar usuarios existentes',
'include_content' => '',
'include_content' => 'Incluir contenido',
'include_documents' => 'Incluir documentos',
'include_subdirectories' => 'Incluir subcarpetas',
'indexing_tasks_in_queue' => 'Tareas de indexación en cola',
'index_converters' => '',
'index_document_unchanged' => 'documento sin cambios',
'index_document_added' => '',
'index_document_unchanged' => 'Documento sin cambios',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Índice de carpetas',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => 'Esperando',
'individuals' => 'Individuales',
'individuals_in_groups' => 'Miembros del grupo',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'heredado',
'inherits_access_copy_msg' => 'Copiar lista de acceso heredado',
'inherits_access_empty_msg' => 'Empezar con una lista de acceso vacía',
@ -742,8 +765,10 @@ URL: [url]',
'js_no_approval_status' => 'Por favor, seleccione el estado de aprobación',
'js_no_comment' => 'No hay comentarios',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => 'Escriba su dirección de correo electrónico',
'js_no_file' => 'Por favor, seleccione un archivo',
'js_no_folder' => '',
'js_no_keywords' => 'Especifique palabras clave',
'js_no_login' => 'Por favor, escriba un nombre de usuario',
'js_no_name' => 'Por favor, escriba un nombre',
@ -786,6 +811,7 @@ URL: [url]',
'lock_document' => 'Bloquear',
'lock_message' => 'Este documento ha sido bloqueado por [username]. Sólo usuarios autorizados pueden desbloquear este documento (vea el final de la página).',
'lock_status' => 'Estado',
'logfile' => '',
'logfile_loading' => 'Por favor espera, hasta que el archivo se haya cargado',
'login' => 'Iniciar sesión',
'login_disabled_text' => 'Su cuenta está deshabilitada, probablemente es debido a demasiados intentos de acceso fallidos.',
@ -821,7 +847,9 @@ URL: [url]',
'missing_checksum' => 'Falta checksum',
'missing_file' => '',
'missing_filesize' => 'Falta tamaño fichero',
'missing_func_class_note' => '',
'missing_php_extensions' => 'Extensiones PHP ausentes',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => 'Falta usuario/grupo para transición',
@ -838,6 +866,12 @@ URL: [url]',
'my_documents' => 'Mis documentos',
'my_transmittals' => 'Mi transmision',
'name' => 'Nombre',
'nav_brand_admin_tools' => 'Administración',
'nav_brand_calendar' => '',
'nav_brand_my_account' => 'Mi cuenta',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Noruego (Bokmål)',
'needs_correction' => 'Necesita corrección',
'needs_workflow_action' => 'Este documento requiere su atención. Por favor chequee la pestaña de flujo de trabajo.',
@ -895,11 +929,13 @@ Carpeta principal: [folder_path]
Usuario: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Eliminado de la lista de notificación',
'not_subscribed' => '',
'november' => 'Noviembre',
'now' => 'ahora',
'no_action' => 'No es necesaria ninguna acción',
'no_approval_needed' => 'No hay aprobaciones pendientes.',
'no_attached_files' => 'No hay ficheros adjuntos',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => 'El directorio de backup no está definido',
'no_current_version' => 'Está utilizando una versión desactualizada de este producto. La última versión disponible es [latestversion].',
@ -970,6 +1006,8 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado
'password_forgotten_send_hash' => 'Las instrucciones para proceder al cambio se han enviado a la dirección de correo de usuario',
'password_forgotten_text' => 'Rellene el siguiente formulario y siga las instrucciones del correo que se le enviará.',
'password_forgotten_title' => 'Envío de contraseña',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Repetir contraseña',
'password_send' => 'Envío de contraseña',
'password_send_text' => 'Su nueva contraseña fue enviada al e-mail registrado.',
@ -1048,9 +1086,13 @@ Usuario: [username]
nURL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Eliminar flujo de trabajo de la versión del documento',
'removeFolderFromDropFolder' => 'Eliminar carpeta después de importar',
'remove_approval_log' => '',
'remove_marked_files' => 'Eliminar ficheros marcados',
'remove_review_log' => '',
'repaired' => 'Reparado',
'repairing_objects' => 'Reparando documentos y carpetas.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => '',
'request_workflow_action_email_subject' => '',
'reset_checkout' => '',
@ -1102,7 +1144,7 @@ URL: [url]',
'review_update_failed' => 'Error actualizando el estado de la revisión. La actualización ha fallado.',
'revise_document' => 'Revisar documento',
'revise_document_on' => '',
'revision' => '',
'revision' => 'Revisión',
'revisions_accepted' => '',
'revisions_accepted_latest' => '',
'revisions_not_touched' => '',
@ -1187,6 +1229,7 @@ URL: [url]',
'search' => 'Buscar',
'search_fulltext' => 'Buscar en texto completo',
'search_in' => 'Buscar en',
'search_mode' => '',
'search_mode_and' => 'todas las palabras',
'search_mode_documents' => 'Documentos sólo',
'search_mode_folders' => 'Carpetas sólo',
@ -1228,6 +1271,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Seleccionar uno',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Seleccionar Usuario',
'select_users' => 'Haga Click para seleccionar usuarios',
'select_value' => 'Selecciona valor',
@ -1282,6 +1326,7 @@ URL: [url]',
'settings_checkOutDir_desc' => 'Este es el directorio donde se copia el último contenido de un documento, si el documento ya esta revisado. Si haces accesible este documento para los usuarios, podrán editar el archivo y volverlo a revisar cuando hayan terminado.',
'settings_cmdTimeout' => 'Tiempo limite para comandos externos',
'settings_cmdTimeout_desc' => 'Esta duración definirá cuando debe interrumpirse la ejecución de un comando externo (i.e. para crear el índice de texto completo).',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Carpeta de contenidos',
'settings_contentDir_desc' => 'Donde se almacenan los archivos subidos (es preferible seleccionar una carpeta que no sea accesible a través del servidor web)',
'settings_contentOffsetDir' => 'Carpeta de contenidos de desplazamiento',
@ -1399,6 +1444,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => 'Habilitar cuenta de documento/carpeta recursivo',
'settings_enableRecursiveCount_desc' => 'Si cambia a activado, el número de documentos y carpetas en la carpeta será determinado por la cuenta de todos los objetos recursivos procesados de la carpeta y una vez contados el usuarios tendrá permiso para acceder.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Rechazado por un revisor',
'settings_enableRevisionOneVoteReject_desc' => 'Si está habilitado, una vez que el primer revisor rechaza el documento, el estado del documento será \'necesita corrección\'. Si se encuentra deshabilitado, el estado del docuento no cambiará hast que todos los revisores hayan concluido su revisión.',
'settings_enableRevisionOnVoteReject' => '',
@ -1450,6 +1497,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ID de invitado',
'settings_guestID_desc' => 'ID del usuario invitado cuando se conecta como invitado (mayormente no necesita cambiarlo)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Raíz Http',
'settings_httpRoot_desc' => 'La ruta relativa de la URL, después de la parte del servidor. No incluir el prefijo http:// o el nombre del servidor. Por ejemplo, si la URL completa es http://www.example.com/seeddms/, configure «/seeddms/». Si la URL completa es http://www.example.com/, configure «/»',
'settings_incItemsPerPage' => 'Número de entradas cargadas al final de la página',
@ -1468,6 +1517,7 @@ URL: [url]',
'settings_install_welcome_text' => '<p>Antes de instalar SeedDMS asegúrese de haber creado un archivo «ENABLE_INSTALL_TOOL» en su carpeta de instalación, en otro caso la instalación no funcionará. En sistemas Unix puede hacerse fácilmente con «touch conf/ENABLE_INSTALL_TOOL». Después de terminar la instalación elimine el archivo.</p><p>SeedDMS tiene unos requisitos mínimos. Necesitará una base de datos y un servidor web con soporte para php. Para la búsqueda de texto completo lucene, necesitará tener instalado también el framework Zend donde pueda ser utilizado por php. Desde la versión 3.2.0 de SeedDMS ADObd ya no forma parte de la distribución. Consiga una copia de él desde <a href="http://adodb.sourceforge.net/">http://adodb.sourceforge.net</a> e instálelo. La ruta hacia él podrá ser establecida durante la instalación.</p><p> Si prefiere crear la base de datos antes de comenzar la instalación, simplemente créela manualmente con su herramienta preferida, opcionalmente cree un usuario de base de datos con acceso a esta base de datos e importe uno de los volcados de la carpeta de configuración. El script de instalación puede hacer esto también, pero necesitará acceso con privilegios suficientes para crear bases de datos.</p>',
'settings_install_welcome_title' => 'Bienvenido a la instalación de SeedDMS',
'settings_install_zendframework' => 'Instale Zend Framework, si quiere usar el sistema de búsqueda de texto completo',
'settings_invalid_guestid' => '',
'settings_language' => 'Idioma por defecto',
'settings_language_desc' => 'Idioma por defecto (nombre de una subcarpeta en la carpeta "languages")',
'settings_libraryFolder' => 'Biblioteca de carpetas',
@ -1658,6 +1708,7 @@ URL: [url]',
'splash_add_attribute' => 'Nuevo atributo agregado',
'splash_add_group' => 'Nuevo grupo agregado',
'splash_add_group_member' => 'Nuevo miembro del grupo agregado',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1669,6 +1720,7 @@ URL: [url]',
'splash_delete_access' => '',
'splash_document_added' => 'Documento añadido',
'splash_document_checkedout' => '',
'splash_document_deleted' => '',
'splash_document_edited' => 'Documento guardado',
'splash_document_indexed' => '',
'splash_document_locked' => 'Documento bloqueado',
@ -1692,6 +1744,7 @@ URL: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Cambios a la carpeta guardados',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1711,6 +1764,7 @@ URL: [url]',
'splash_rm_folder' => 'Carpeta eliminada',
'splash_rm_group' => 'Grupo eliminado',
'splash_rm_group_member' => 'Miembro eliminado del grupo',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
'splash_rm_user' => 'Usuario eliminado',
@ -1738,6 +1792,7 @@ URL: [url]',
'status_approval_rejected' => 'Borrador rechazado',
'status_approved' => 'Aprobado',
'status_approver_removed' => 'Aprobador eliminado del proceso',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'Sin aprobar',
'status_not_receipted' => 'Aún no asignado destinario',
@ -1791,10 +1846,12 @@ URL: [url]',
'tasks' => 'Tareas',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1816,6 +1873,7 @@ URL: [url]',
'timeline_skip_add_file' => 'anexos agregados',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'rechazado',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'expirado',
'timeline_skip_status_change_0' => 'revisiones pendientes',
'timeline_skip_status_change_1' => 'aprovaciones pendientes',
@ -1874,6 +1932,7 @@ URL: [url]',
'unknown_id' => 'Id desconocido',
'unknown_keyword_category' => 'Categoría desconocida',
'unknown_owner' => 'Id de propietario desconocido',
'unknown_status' => '',
'unknown_user' => 'ID de usuario desconocido',
'unlinked_content' => 'Contenido desvinculado',
'unlinked_documents' => 'Documentos desvinculados',
@ -1936,6 +1995,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Ver online',
'warning' => 'Advertencia',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,19 +19,21 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1111), jeromerobert (50), lonnnew (9), Oudiceval (977)
// Translators: Admin (1113), jeromerobert (50), lonnnew (9), Oudiceval (1091)
$text = array(
'2_factor_auth' => 'Authentification forte',
'2_factor_auth_info' => 'Ce système requiert une authentification à deux facteurs. Cela nécessite linstallation de Google Authenticator sur votre téléphone mobile. Ci-dessous sont visibles deux QR codes. Celui de droite correspond à votre clé secrète actuelle. Celui de gauche permet de définir une nouvelle clé secrète. Lorsque vous définissez une nouvelle clé secrète, assurez-vous de la scanner avec Google Authenticator.',
'2_fact_auth_current_secret' => 'Clé secrète actuelle',
'2_fact_auth_new_secret' => 'Nouvelle clé secrète',
'2_fact_auth_secret' => 'Clé secrète',
'abbr_day' => '',
'abbr_hour' => '',
'abbr_minute' => '',
'abbr_month' => '',
'abbr_second' => '',
'abbr_week' => '',
'abbr_year' => '',
'abbr_day' => 'j',
'abbr_hour' => 'h',
'abbr_minute' => 'min',
'abbr_month' => 'm.',
'abbr_second' => 's',
'abbr_week' => 'sem',
'abbr_year' => 'an.',
'accept' => 'Accepter',
'access_control' => 'Contrôle daccès',
'access_control_is_off' => 'Le contrôle daccès avancé est désactivé',
@ -95,6 +97,7 @@ URL : [url]',
'all_users' => 'Tous les utilisateurs',
'already_subscribed' => 'Déjà abonné',
'and' => 'et',
'apikey' => 'Clé API',
'apply' => 'Appliquer',
'approvals_accepted' => '[no_approvals] approbations déjà confirmées',
'approvals_accepted_latest' => '(dont [no_approvals] dans la dernière version)',
@ -229,8 +232,8 @@ URL: [url]',
'calendar' => 'Agenda',
'calendar_week' => 'Semaine',
'cancel' => 'Annuler',
'cancel_checkout' => '',
'cancel_checkout_warning' => '',
'cancel_checkout' => 'Annuler la vérification',
'cancel_checkout_warning' => 'La vérification peut être annulée même si des modifications ont été apportées au fichier. Dans ce cas, le fichier sera supprimé de l\'espace de vérification et votre modification sera perdue.',
'cannot_assign_invalid_state' => 'Impossible de modifier un document obsolète ou rejeté',
'cannot_change_final_states' => 'Attention : Vous ne pouvez pas modifier létat d\'un document rejeté, expiré ou en attente de vérification ou dapprobation.',
'cannot_delete_user' => 'Impossible de supprimer lutilisateur',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => 'Erreur : Impossible de déplacer le dossier racine.',
'cannot_retrieve_approval_snapshot' => 'Impossible de retrouver l\'instantané de statut d\'approbation pour cette version de document.',
'cannot_retrieve_review_snapshot' => 'Impossible de récupérer linstantané du statut de vérification pour cette version du document.',
'cannot_revapp_expired_docs' => 'Le document ne peut plus être vérifié ou approuvé car il a expiré.',
'cannot_rm_root' => 'Erreur : Dossier racine ineffaçable.',
'cannot_transfer_your_objects' => 'Vous ne pouvez pas transférer vos propres objets.',
'categories' => 'Catégories',
'categories_loading' => 'Veuillez patienter pendant le chargement de la liste des catégories…',
'category' => 'Catégorie',
@ -262,13 +267,15 @@ URL: [url]',
'chart_docspermonth_title' => 'Nouveaux documents par mois',
'chart_docsperstatus_title' => 'Documents par statut',
'chart_docsperuser_title' => 'Documents par utilisateur',
'chart_selection' => 'Sélectionnez un graphique',
'chart_foldersperuser_title' => 'Dossiers par utilisateur',
'chart_selection' => 'Sélectionner un graphique',
'chart_sizeperuser_title' => 'Volume par utilisateur',
'checkedout_file_has_different_version' => 'La version bloquée nest pas identique à la version actuelle. Le déblocage ne modifiera pas le document.',
'checkedout_file_has_disappeared' => 'Le fichier du document bloqué nexiste plus. Le déblocage est impossible.',
'checkedout_file_is_unchanged' => 'Le fichier du document bloqué est inchangé. Le déblocage nest pas possible. Si vous ne souhaitez pas apporter de modifications, désactivez le blocage.',
'checkin_document' => 'Débloquer (check-in)',
'checkoutpath_does_not_exist' => 'Le chemin de vérification nexiste pas',
'checkout_cancel_confirm' => 'Veuillez confirmer lannulation de la vérification.',
'checkout_document' => 'Bloquer (check-out)',
'checkout_is_disabled' => 'Le blocage (check-out) de documents est désactivé dans la configuration.',
'choose_attrdef' => 'Choisissez une définition d\'attribut',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Choisir un workflow',
'choose_workflow_action' => 'Choisir une action de workflow',
'choose_workflow_state' => 'Choisir un état de workflow',
'class_finfo_missing' => 'La classe finfo est requise lors du dépôt de nouveaux fichiers pour déterminer le type MIME.',
'class_name' => 'Nom de classe',
'clear_cache' => 'Vider le cache',
'clear_clipboard' => 'Vider le presse-papier',
'clear_password' => 'Sans mot de passe',
'clipboard' => 'Presse-papier',
'close' => 'Fermer',
'color' => 'Couleur',
'command' => 'Commande',
'comment' => 'Commentaire',
'comment_changed_email' => '',
@ -362,7 +371,7 @@ URL: [url]',
'documents_locked' => 'Documents verrouillés',
'documents_locked_by_you' => 'Documents verrouillés',
'documents_only' => 'Documents uniquement',
'documents_rejected' => '',
'documents_rejected' => 'Rejeté',
'documents_to_approve' => 'Documents en attente d\'approbation',
'documents_to_correct' => 'Documents à corriger',
'documents_to_process' => 'Documents à traiter',
@ -409,12 +418,14 @@ Dossier parent : [folder_path]
Utilisateur : [username]',
'document_deleted_email_subject' => '[sitename] : [name] - Document supprimé',
'document_duplicate_name' => 'Un document porte déjà ce nom !',
'document_files' => 'Fichiers attachés',
'document_has_no_workflow' => 'Le document n\'a pas de workflow',
'document_infos' => 'Informations sur le document',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Le document est actuellement bloqué. Si vous ajoutez une nouvelle version, la version bloquée ne pourra plus être débloquée.',
'document_is_checked_out_remove' => 'Le document est actuellement vérifié. Si vous supprimez le document, la version vérifiée ne pourra plus être ajoutée et restera dans la zone de vérification.',
'document_is_checked_out_update' => 'Le document est actuellement vérifié. Si vous ajoutez une nouvelle version, la version vérifiée ne pourra plus être vérifiée à nouveau.',
'document_is_not_locked' => 'Ce document n\'est pas verrouillé',
'document_links' => 'Liens du document',
'document_link_by' => 'Lié par',
'document_link_public' => 'Public',
'document_moved_email' => 'Document déplacé',
@ -459,6 +470,7 @@ Commentaire de version: [version_comment]
Utilisateur: [username]
URL: [url]',
'document_updated_email_subject' => '[sitename] : [name] - Document mis à jour',
'document_versions' => 'Versions du document',
'does_not_expire' => 'N\'expire jamais',
'does_not_inherit_access_msg' => 'Accès hérité',
'download' => 'Téléchargement',
@ -493,6 +505,7 @@ URL: [url]',
'dropfolder_metadata' => 'Métadonnées du dossier de dépôt',
'dropupload' => 'Téléchargement rapide',
'drop_files_here' => 'Glissez les fichiers ici !',
'drop_files_here_or_click' => 'Glissez les fichiers ici ou cliquez !',
'dump_creation' => 'Sauvegarder la base de données',
'dump_creation_warning' => 'Avec cette opération, vous pouvez créer une sauvegarde du contenu de votre base de données. Après la création, le fichier de sauvegarde sera sauvegardé dans le dossier de données de votre serveur.',
'dump_list' => 'Fichiers de sauvegarde existants',
@ -516,7 +529,7 @@ URL: [url]',
'edit_folder_props' => 'Modifier le dossier',
'edit_group' => 'Modifier un groupe',
'edit_online' => 'Modification en ligne',
'edit_online_not_allowed' => '',
'edit_online_not_allowed' => 'Vous nêtes pas autorisé à modifier ce fichier car vous navez pas créé la dernière version. Déposez simplement une nouvelle version du document.',
'edit_online_warning' => 'Lenregistrement de vos modifications écrasera le contenu de la version actuelle au lieu de créer une nouvelle version.',
'edit_task' => 'Modifier la tâche',
'edit_transmittal_props' => 'Modifier les propriétés de la transmission',
@ -527,9 +540,9 @@ URL: [url]',
'email' => 'E-mail',
'email_error_title' => 'Aucun e-mail indiqué',
'email_footer' => 'Vous pouvez modifier vos notifications via « Mon compte ».',
'email_footer_html' => '',
'email_footer_html' => '<p>Vous pouvez modifier vos préférences e-mail à tout moment via \'Mon compte\'</p>',
'email_header' => 'Ceci est un message automatique généré par le serveur DMS.',
'email_header_html' => '',
'email_header_html' => '<p>Ceci est un message automatique du serveur DMS.</p>',
'email_not_given' => 'Veuillez entrer une adresse e-mail valide.',
'empty_attribute_group_list' => 'Aucun groupe dattributs',
'empty_folder_list' => 'Pas de documents ou de dossier',
@ -539,9 +552,10 @@ URL: [url]',
'en_GB' => 'Anglais (RU)',
'equal_transition_states' => 'États de début et de fin identiques',
'error' => 'Erreur',
'error_add_aro' => '',
'error_add_aro' => 'Erreur lors de lajout de lobjet de demande daccès',
'error_add_permission' => 'Erreur lors de lajout de permission',
'error_cleared_cache' => 'Erreur lors du vidage du cache',
'error_document_indexed' => 'Erreur dindexation du document',
'error_edit_task' => 'Erreur lors de la modification de la tâche',
'error_extension_getlist' => 'Erreur lors de lobtention de la liste des extensions depuis le dépôt',
'error_importfs' => 'Erreur lors de limport depuis le système de fichiers',
@ -564,7 +578,7 @@ URL: [url]',
'exclude_items' => 'Exclure des élements',
'expired' => 'Expiré',
'expired_at_date' => 'Expiré le [datetime]',
'expired_docs_mail_subject' => '',
'expired_docs_mail_subject' => 'Documents expirés',
'expired_documents' => 'Documents expirés',
'expires' => 'Expiration',
'expire_by_date' => 'Expire à une date',
@ -589,8 +603,8 @@ URL : [url]',
'export_user_list_csv' => 'Exporter les utilisateurs en CSV',
'extension_archive' => 'Extension',
'extension_changelog' => 'Journal des modifications',
'extension_is_off_now' => '',
'extension_is_on_now' => '',
'extension_is_off_now' => 'Lextension est désactivée',
'extension_is_on_now' => 'Lextension est activée',
'extension_loading' => 'Chargement des extensions…',
'extension_manager' => 'Gestionnaire d\'extensions',
'extension_mgr_error_upload' => 'Erreur lors du chargement de lextension',
@ -598,8 +612,8 @@ URL : [url]',
'extension_mgr_no_upload' => 'Lajout de nouvelles extensions nest pas possible car le répertoire des extensions nest pas accessible en écriture.',
'extension_mgr_no_zipfile' => 'Lextension chargée nest pas un dossier zip',
'extension_mgr_repository' => 'Disponibles',
'extension_missing_name' => '',
'extension_toggle_error' => '',
'extension_missing_name' => 'Nom dextension manquant',
'extension_toggle_error' => 'Impossible dactiver/désactiver lextension',
'extension_version_list' => 'Versions',
'february' => 'Février',
'file' => 'Fichier',
@ -670,6 +684,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'La recherche plein texte est désactivée.',
'fulltext_converters' => 'Conversion des documents pour indexation',
'fulltext_info' => 'Information sur l\'index plein texte',
'func_proc_open_missing' => 'proc_open est nécessaire pour indexer le contenu des documents. Sans cette fonction, seules les métadonnées seront indexées.',
'global_attributedefinitiongroups' => 'Groupes dattributs',
'global_attributedefinitions' => 'Définitions d\'attributs',
'global_default_keywords' => 'Mots-clés globaux',
@ -685,6 +700,7 @@ URL: [url]',
'group_management' => 'Gestion des groupes',
'group_members' => 'Membres du groupe',
'group_receipt_summary' => 'Récapitulatif groupe réception',
'group_review_removed' => 'Changement de statut car la vérification du groupe [name] a été supprimée.',
'group_review_summary' => 'Récapitulatif groupe vérification',
'group_revision_summary' => 'Récapitulatif groupe révision',
'guest_login' => 'Se connecter comme invité',
@ -713,21 +729,28 @@ URL: [url]',
'include_subdirectories' => 'Inclure les sous-dossiers',
'indexing_tasks_in_queue' => 'Opérations dindexation en attente',
'index_converters' => '',
'index_document_added' => 'Document ajouté',
'index_document_unchanged' => 'Document inchangé',
'index_document_updated' => 'Document mis à jour',
'index_done' => 'Terminé',
'index_error' => 'Erreur',
'index_folder' => 'Dossier Index',
'index_folder_added' => 'Dossier ajouté',
'index_folder_unchanged' => 'Dossier inchangé',
'index_folder_updated' => 'Dossier mis à jour',
'index_no_content' => 'Contenu non indexé',
'index_pending' => 'En attente',
'index_waiting' => 'Chargement…',
'individuals' => 'Individuels',
'individuals_in_groups' => 'Membres dun groupe',
'ind_review_removed' => 'Changement de statut car la vérification de lutilisateur [name] a été supprimée.',
'info_recipients_tab_not_released' => 'Laccusé de réception pour cette version du document nest pas possible car la version nest pas en état « publié ».',
'info_rm_user_from_processes_user' => 'Seules les tâches non traitées peuvent être transférées à un autre utilisateur. Pour les tâches déjà traitées, une entrée sera ajoutée dans lhistorique, comme si lutilisateur lui-même avait été supprimé.',
'inherited' => 'hérité',
'inherits_access_copy_msg' => 'Recopier la liste des accès hérités',
'inherits_access_empty_msg' => 'Commencer avec une liste d\'accès vide',
'inherits_access_msg' => 'L\'accès est hérité.',
'installed_apache_extensions' => '',
'installed_apache_extensions' => 'Extensions Apache installées',
'installed_php_extensions' => 'Extensions PHP installées',
'internal_error' => 'Erreur interne',
'internal_error_exit' => 'Erreur interne. Impossible d\'achever la demande.',
@ -766,8 +789,10 @@ URL: [url]',
'js_no_approval_status' => 'Veuillez sélectionner le statut dapprobation',
'js_no_comment' => 'Il ny a pas de commentaire',
'js_no_currentpwd' => 'Veuillez entrer votre mot de passe actuel',
'js_no_document' => 'Veuillez sélectionner un document',
'js_no_email' => 'Saisissez votre adresse e-mail',
'js_no_file' => 'Veuillez sélectionner un fichier',
'js_no_folder' => 'Veuillez sélectionner un dossier',
'js_no_keywords' => 'Spécifiez quelques mots-clés',
'js_no_login' => 'Veuillez saisir un identifiant',
'js_no_name' => 'Veuillez saisir un nom',
@ -810,6 +835,7 @@ URL: [url]',
'lock_document' => 'Verrouiller',
'lock_message' => 'Ce document a été verrouillé par [username]. Seuls les utilisateurs autorisés peuvent déverrouiller ce document.',
'lock_status' => 'Statut',
'logfile' => 'Fichier journal',
'logfile_loading' => 'Veuillez patienter pendant le chargement du fichier journal…',
'login' => 'Identification',
'login_disabled_text' => 'Votre compte est désactivé, sans doute à cause de trop nombreuses connexions qui ont échoué.',
@ -845,9 +871,11 @@ URL: [url]',
'missing_checksum' => 'Checksum manquante',
'missing_file' => 'Fichier manquant',
'missing_filesize' => 'Taille de fichier manquante',
'missing_func_class_note' => 'Note',
'missing_php_extensions' => 'Extensions PHP manquantes',
'missing_php_functions_and_classes' => 'Fonctions et classes PHP manquantes',
'missing_reception' => 'Réception manquante',
'missing_request_object' => '',
'missing_request_object' => 'Demande dobjet manquante',
'missing_transition_user_group' => 'Utilisateur/groupe manquant pour transition',
'monday' => 'Lundi',
'monday_abbr' => 'Lun.',
@ -862,6 +890,12 @@ URL: [url]',
'my_documents' => 'Mes documents',
'my_transmittals' => 'Mes transmissions',
'name' => 'Nom',
'nav_brand_admin_tools' => 'Outils d\'administration',
'nav_brand_calendar' => 'Agenda',
'nav_brand_my_account' => 'Mon compte',
'nav_brand_my_documents' => 'Mes documents',
'nav_brand_view_document' => 'Document',
'nav_brand_view_folder' => 'Dossier',
'nb_NO' => 'Norvégien bokmål',
'needs_correction' => 'Nécessite une correction',
'needs_workflow_action' => 'Ce document requiert votre attention. Consultez l\'onglet workflow.',
@ -919,12 +953,14 @@ Dossier parent: [folder_path]
Utilisateur: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename] : [name] - Supprimé de la liste des notifications',
'not_subscribed' => 'Non inscrit',
'november' => 'Novembre',
'now' => 'Maintenant',
'no_action' => 'Aucune action n\'est nécessaire',
'no_approval_needed' => 'Aucune approbation en attente',
'no_attached_files' => 'Aucun fichier attaché',
'no_attribute_definitions' => '',
'no_attributes_defined' => '',
'no_attribute_definitions' => 'Aucune définition dattribut',
'no_backup_dir' => 'Le répertoire de sauvegarde nest pas défini.',
'no_current_version' => 'Vous utilisez une ancienne version de SeedDMS. La dernière version disponible est la [latestversion].',
'no_default_keywords' => 'Aucun mot-clé disponible',
@ -960,7 +996,7 @@ URL: [url]',
'october' => 'Octobre',
'old' => 'Ancien',
'only_jpg_user_images' => 'Images d\'utilisateur au format .jpg seulement',
'operation_disallowed' => '',
'operation_disallowed' => 'Opération non autorisée',
'order_by_sequence_off' => 'Le tri par position est désactivé dans les préférences. Si vous souhaitez que ce paramètre prenne effet, vous devez lactiver.',
'original_filename' => 'Nom de fichier original',
'overall_indexing_progress' => 'Progression globale de lindexation',
@ -992,6 +1028,8 @@ En cas de problème persistant, veuillez contacter votre administrateur.',
'password_forgotten_send_hash' => 'La procédure à suivre a bien été envoyée à l\'adresse indiquée',
'password_forgotten_text' => 'Remplissez le formulaire ci-dessous et suivez les instructions dans le courrier électronique qui vous sera envoyé.',
'password_forgotten_title' => 'Mot de passe envoyé',
'password_mismatch_error' => 'Les mots de passe ne correspondent pas',
'password_mismatch_error_title' => 'Les mots de passe ne correspondent pas',
'password_repeat' => 'Répétez le mot de passe',
'password_send' => 'Envoi du mot de passe',
'password_send_text' => 'Votre nouveau mot de passe a été envoyé à l\'adresse fournie (si l\'identifiant et l\'adresse e-mail correspondent à un utilisateur existant). Si vous ne recevez rien dans les minutes qui suivent, assurez-vous que l\'identifiant et l\'adresse e-mail sont corrects puis relancez le processus.',
@ -1080,9 +1118,18 @@ Utilisateur: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename] : [name] - Workflow retiré de la version du doument',
'removeFolderFromDropFolder' => 'Suppression du dossier après importation',
'remove_approval_log' => 'Approbation retirée',
'remove_marked_files' => 'Supprimer les fichiers sélectionnés',
'remove_review_log' => 'Vérification retirée',
'repaired' => 'réparé',
'repairing_objects' => 'Réparation des documents et des dossiers.',
'replace_content_email_body' => 'La dernière version du document a été remplacée
Document : [name]
Version : [version]
Dossier parent : [folder_path]
Utilisateur : [username]
URL : [url]',
'replace_content_email_subject' => '[sitename] : [name] - Contenu du document remplacé',
'request_workflow_action_email_body' => 'Le workflow a atteint un état nécessitant une action de votre part.
Document : [name]
Version : [version]
@ -1151,7 +1198,7 @@ URL : [url]',
'review_update_failed' => 'Erreur lors de la mise à jour du statut de vérification. Échec de la mise à jour.',
'revise_document' => 'Réviser le document',
'revise_document_on' => 'Prochaine révision de la version du document le [date]',
'revision' => '',
'revision' => 'Révision',
'revisions_accepted' => '[no_revisions] révisions déjà confirmées',
'revisions_accepted_latest' => '(dont [no_revisions] dans la dernière version)',
'revisions_not_touched' => '[no_revisions] révisions non amorcées',
@ -1242,6 +1289,7 @@ URL : [url]',
'search' => 'Recherche',
'search_fulltext' => 'Rechercher dans le texte',
'search_in' => 'Rechercher dans',
'search_mode' => 'Mode de recherche',
'search_mode_and' => 'tous les mots',
'search_mode_documents' => 'Seulement les documents',
'search_mode_folders' => 'Seulement les dossiers',
@ -1259,9 +1307,9 @@ URL : [url]',
'seeddms_info' => 'Informations sur SeedDMS',
'seeddms_version' => 'Version de SeedDMS',
'selection' => 'Sélection',
'select_attrdef' => '',
'select_attrdefgrp_show' => 'Choisir quand afficher',
'select_attribute_value' => 'Sélectionnez la valeur de lattribut',
'select_attrdef' => 'Sélectionner une définition dattribut',
'select_attrdefgrp_show' => 'Sélectionner quand afficher',
'select_attribute_value' => 'Sélectionner la valeur de lattribut',
'select_category' => 'Cliquer pour choisir une catégorie',
'select_group' => 'Sélectionner un groupe',
'select_groups' => 'Cliquer pour choisir un groupe',
@ -1283,6 +1331,7 @@ URL : [url]',
'select_mimetype' => 'Sélectionner un type MIME',
'select_one' => 'Selectionner',
'select_owner' => 'Sélectionner un propriétaire',
'select_status' => 'Cliquer pour sélectionner un statut',
'select_user' => 'Sélectionner un utilisateur',
'select_users' => 'Cliquer pour choisir un utilisateur',
'select_value' => 'Sélectionner une valeur',
@ -1342,6 +1391,7 @@ Nom : [username]
'settings_checkOutDir_desc' => 'Il sagit du répertoire dans lequel le dernier contenu dun document est copié si le document est vérifié. Si vous rendez ce répertoire accessible aux utilisateurs, ils peuvent modifier le fichier et le refaire vérifier une fois terminé.',
'settings_cmdTimeout' => 'Délai d\'expiration pour les commandes externes',
'settings_cmdTimeout_desc' => 'Cette durée en secondes détermine quand une commande externe (par exemple pour la création de l\'index de texte intégral) sera terminée.',
'settings_conf_field_not_editable' => 'Cette valeur nest pas modifiable',
'settings_contentDir' => 'Répertoire du contenu',
'settings_contentDir_desc' => 'Endroit ou les fichiers téléchargés sont stockés (il est préférable de choisir un répertoire qui n\'est pas accessible par votre serveur web)',
'settings_contentOffsetDir' => 'Content Offset Directory',
@ -1359,9 +1409,9 @@ Nom : [username]
'settings_currentvalue' => 'Valeur actuelle',
'settings_Database' => 'Paramètres base de données',
'settings_dateformat' => 'Format de date',
'settings_dateformat_desc' => 'Ce format de date utilise la syntaxe de la fonction date() de php',
'settings_dateformat_desc' => 'Ce format de date utilise la syntaxe de la fonction PHP date()',
'settings_datetimeformat' => 'Format de date/heure',
'settings_datetimeformat_desc' => '',
'settings_datetimeformat_desc' => 'Ce format de date utilise la syntaxe de la fonction PHP date()',
'settings_dbDatabase' => 'Base de données',
'settings_dbDatabase_desc' => 'Le nom de votre base de données entré pendant le processus d\'installation. Ne pas modifier le champ sauf si absolument nécessaire, par exemple si la base de données a été déplacé.',
'settings_dbDriver' => 'Type base de données',
@ -1403,8 +1453,8 @@ Nom : [username]
'settings_enableAdminRevApp_desc' => 'Activer cette option pour ajouter les administrateurs à la liste des examinateurs/approbateurs et pour les transitions de workflow.',
'settings_enableCalendar' => 'Activer agenda',
'settings_enableCalendar_desc' => 'Active/désactive lagenda',
'settings_enableCancelCheckout' => '',
'settings_enableCancelCheckout_desc' => '',
'settings_enableCancelCheckout' => 'Autoriser lannulation des vérifications',
'settings_enableCancelCheckout_desc' => 'Si coché, un document vérifié qui a déjà été modifié pourra être abandonné.',
'settings_enableClipboard' => 'Activer le presse-papier',
'settings_enableClipboard_desc' => 'Active/désactive le presse-papier',
'settings_enableConverting' => 'Activer conversion des fichiers',
@ -1459,6 +1509,8 @@ Nom : [username]
'settings_enableReceiptWorkflow_desc' => 'Activer cette option pour permettre de confirmer la réception de document dans le workflow.',
'settings_enableRecursiveCount' => 'Décompte récursif des documents/dossiers',
'settings_enableRecursiveCount_desc' => 'Si activé, le nombre de documents et répertoires dans un répertoire est calculé en comptant récursivement le contenu des sous-répertoires auxquels l\'utilisateur a accès.',
'settings_enableRemoveRevApp' => 'Autoriser la suppression dune vérification/approbation existante',
'settings_enableRemoveRevApp_desc' => 'Activer cette option si les administrateurs peuvent retirer une vérification/approbation. Ceci ne supprimera pas la vérification/approbation de la base de données mais ajoutera une nouvelle entrée dans le journal des vérifications/approbations à son statut initial.',
'settings_enableRevisionOneVoteReject' => 'Rejet par un réviseur',
'settings_enableRevisionOneVoteReject_desc' => 'Si cette option est activée, le statut du document sera défini sur « nécessite une correction » une fois que le premier réviseur a rejeté le document. Si elle est désactivée, le statut du document ne changera pas jusquà ce que tous les réviseurs aient terminé leur révision.',
'settings_enableRevisionOnVoteReject' => '',
@ -1510,6 +1562,8 @@ Nom : [username]
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ID invité',
'settings_guestID_desc' => 'ID de l\'invité utilisé lorsque vous êtes connecté en tant qu\'invité (la plupart du temps pas besoin de changer)',
'settings_guestid_is_admin' => 'Lutilisateur invité est administrateur',
'settings_guestid_is_disabled' => 'Lutilisateur invité est désactivé',
'settings_httpRoot' => 'Racine HTTP',
'settings_httpRoot_desc' => 'Le chemin relatif dans l\'URL, après le nom de domaine. Ne pas inclure le préfixe http:// ou le nom d\'hôte Internet. Par exemple Si l\'URL complète est http://www.example.com/letodms/, mettez \'/letodms/\'. Si l\'URL est http://www.example.com/, mettez \'/\'',
'settings_incItemsPerPage' => 'Nombre d\'entrées chargées à la fin de la page',
@ -1528,6 +1582,7 @@ Nom : [username]
'settings_install_welcome_text' => '<p>Avant de commencer l\'installation de SeedDMS, assurez-vous d\'avoir créé un fichier \'ENABLE_INSTALL_TOOL\' dans votre répertoire de configuration, sinon l\'installation ne fonctionnera pas. Sur des systèmes Unix, cela peut se faire simplement avec \'touch / ENABLE_INSTALL_TOOL\'. Une fois l\'installation terminée, supprimez le fichier.</p><p>SeedDMS a des exigences très minimes. Vous aurez besoin d\'une base de données MySQL ou SQLite et d\'un serveur web PHP. Le package Pear "Log" doit également être installé. Pour la recherche via Lucene, vous devez également installer le framework Zend sur le disque à un emplacement accessible par PHP. Pour le serveur WebDAV, vous aurez besoin d\'installer HTTP_WebDAV_Server. Le chemin daccès peut être défini ultérieurement pendant linstallation.</p><p>Si vous préférez créer la base de données avant de commencer l\'installation, créez la manuellement avec votre outil favori, créez éventuellement un utilisateur de base de données avec accès sur la base et importez un export de base du répertoire de configuration. Le script d\'installation peut le faire pour vous, mais il requiert un accès à la base de données avec les droits suffisants pour créer des bases de données.</p>',
'settings_install_welcome_title' => 'Bienvenue dans l\'installation de SeedDMS',
'settings_install_zendframework' => 'Installez Zend Framework si vous avez lintention dutiliser le moteur de recherche plein texte basé sur Zend. Sinon, continuez linstallation en ignorant ce message.',
'settings_invalid_guestid' => 'Utilisateur invité invalide',
'settings_language' => 'Langue par défaut',
'settings_language_desc' => 'Langue par défaut (nom d\'un sous-dossier dans le dossier "languages")',
'settings_libraryFolder' => 'Dossier bibliothèque',
@ -1565,8 +1620,8 @@ Nom : [username]
'settings_onePageMode_desc' => 'Le mode Page unique activera le code javascript dans la page AfficherDossier, qui va mettre à jour la liste Dossier/Document, navigation, etc quand vous cliquez sur un dossier ou vous changer le parametre de l\'ordre d\'affichage.',
'settings_overrideMimeType' => 'Passer outre le type MIME',
'settings_overrideMimeType_desc' => 'Ne pas tenir compte du type MIME envoyé par le navigateur quand un fichier est téléversé. Le type MIME sera déterminé par SeedDMS.',
'settings_overrideTheme' => '',
'settings_overrideTheme_desc' => '',
'settings_overrideTheme' => 'Forcer le thème',
'settings_overrideTheme_desc' => 'Activer pour remplacer le paramètre du thème dans le compte utilisateur par le paramètre de la configuration.',
'settings_partitionSize' => 'Taille des fichiers partiels téléchargées par jumploader',
'settings_partitionSize_desc' => 'Taille des fichiers partiels en octets, téléchargées par jumploader. Ne pas fixer une valeur plus grande que la taille de transfert maximale définie par le serveur.',
'settings_passwordExpiration' => 'Expiration du mot de passe',
@ -1662,11 +1717,11 @@ Nom : [username]
'settings_System' => 'Système',
'settings_tasksInMenu' => 'Tâches sélectionnées',
'settings_tasksInMenu_approval' => 'Approbations',
'settings_tasksInMenu_checkedout' => '',
'settings_tasksInMenu_checkedout' => 'Vérifié',
'settings_tasksInMenu_desc' => 'Sélectionnez les tâches à comptabiliser. Si aucune nest sélectionnée, toutes les tâches seront comptabilisées.',
'settings_tasksInMenu_needscorrection' => 'Nécessitant une correction',
'settings_tasksInMenu_receipt' => 'Réceptions',
'settings_tasksInMenu_rejected' => '',
'settings_tasksInMenu_rejected' => 'Rejeté',
'settings_tasksInMenu_review' => 'Vérifications',
'settings_tasksInMenu_revision' => 'Révisions',
'settings_tasksInMenu_workflow' => 'Workflow',
@ -1680,8 +1735,8 @@ Nom : [username]
'settings_updateNotifyTime' => 'Délai de notification des modifications',
'settings_updateNotifyTime_desc' => 'Les utilisateurs sont informés des modifications apportées aux documents qui ont eu lieu durant le délai précisé (en secondes).',
'settings_upgrade_php' => 'Mettez à jour PHP vers une version au moins égale à 5.6.38',
'settings_useHomeAsRootFolder' => '',
'settings_useHomeAsRootFolder_desc' => '',
'settings_useHomeAsRootFolder' => 'Utiliser le dossier de départ comme dossier racine',
'settings_useHomeAsRootFolder_desc' => 'Activer pour que le dossier de départ de lutilisateur (non admin) soit utilisé comme dossier racine (expérimental).',
'settings_versioningFileName' => 'Nom des fichiers de versionnage',
'settings_versioningFileName_desc' => 'Nom des fichiers textes dinformation créés depuis les outils de sauvegarde',
'settings_versiontolow' => 'Version trop ancienne',
@ -1718,17 +1773,19 @@ Nom : [username]
'splash_add_attribute' => 'Attribut ajouté',
'splash_add_group' => 'Nouveau groupe ajouté',
'splash_add_group_member' => 'Nouveau membre ajouté au groupe',
'splash_add_notify' => 'Nouvelle notification ajoutée',
'splash_add_role' => 'Nouveau rôle ajouté',
'splash_add_task' => 'Nouvelle tâche ajoutée',
'splash_add_to_transmittal' => 'Ajouté à la transmission',
'splash_add_transmittal' => 'Ajouté à la transmission',
'splash_add_user' => 'Nouvel utilisateur ajouté',
'splash_cancel_checkout' => '',
'splash_cancel_checkout' => 'Vérification annulée',
'splash_cleared_cache' => 'Cache vidé',
'splash_cleared_clipboard' => 'Presse-papier vidé',
'splash_delete_access' => 'Droits daccès supprimés',
'splash_document_added' => 'Document ajouté',
'splash_document_checkedout' => 'Document bloqué',
'splash_document_deleted' => 'Document supprimé',
'splash_document_edited' => 'Document sauvegardé',
'splash_document_indexed' => 'Document « [name] » indexé.',
'splash_document_locked' => 'Document verrouillé',
@ -1744,14 +1801,15 @@ Nom : [username]
'splash_edit_user' => 'Utilisateur modifié',
'splash_error_add_to_transmittal' => 'Erreur lors de lajout du document à la transmission',
'splash_error_rm_download_link' => 'Erreur lors de la suppression du lien de téléchargement',
'splash_error_saving_file' => '',
'splash_error_saving_file' => 'Erreur lors de lenregistrement du fichier',
'splash_error_send_download_link' => 'Erreur lors de lenvoi du lien de téléchargement',
'splash_expiration_date_cleared' => '',
'splash_expiration_date_set' => '',
'splash_expiration_date_cleared' => 'Date dexpiration retirée',
'splash_expiration_date_set' => 'Date dexpiration définie au [date]',
'splash_extension_getlist' => 'Liste des extensions du dépôt actualisée',
'splash_extension_import' => 'Extension installée',
'splash_extension_refresh' => 'Liste des extensions actualisée',
'splash_extension_upload' => 'Extension installée',
'splash_folder_deleted' => 'Dossier supprimé',
'splash_folder_edited' => 'Dossier modifié',
'splash_importfs' => '[docs] documents et [folders] dossiers importés',
'splash_inherit_access' => 'Droits daccès hérités',
@ -1771,6 +1829,7 @@ Nom : [username]
'splash_rm_folder' => 'Dossier supprimé',
'splash_rm_group' => 'Groupe supprimé',
'splash_rm_group_member' => 'Membre retiré du groupe',
'splash_rm_notify' => 'Notification supprimée',
'splash_rm_role' => 'Rôle supprimé',
'splash_rm_transmittal' => 'Transmission supprimée',
'splash_rm_user' => 'Utilisateur supprimé',
@ -1798,6 +1857,7 @@ Nom : [username]
'status_approval_rejected' => 'Ébauche rejetée',
'status_approved' => 'Approuvé',
'status_approver_removed' => 'Approbateur retiré du processus',
'status_change' => 'Statut modifié',
'status_needs_correction' => 'Nécessite une correction',
'status_not_approved' => 'Non approuvé',
'status_not_receipted' => 'Pas encore réceptionné',
@ -1830,7 +1890,7 @@ Nom : [username]
'subsribe_timelinefeed' => 'Sabonner au flux RSS',
'substitute_to_user' => 'Basculer sur \'[username]\'',
'substitute_user' => 'Utilisateur de substitution',
'success_add_aro' => '',
'success_add_aro' => 'Objet de demande daccès ajouté',
'success_add_permission' => 'Permission ajoutée',
'success_remove_permission' => 'Permission supprimée',
'success_toogle_permission' => 'Permission modifiée',
@ -1847,14 +1907,16 @@ Nom : [username]
'takeOverIndApprovers' => 'Récupérer les approbateurs individuels',
'takeOverIndReviewer' => 'Récupérer les examinateurs de la dernière version.',
'takeOverIndReviewers' => 'Récupérer les examinateurs individuels',
'target_equals_source_folder' => '',
'target_equals_source_folder' => 'Le dossier de destination est identique au dossier source',
'tasks' => 'Tâches',
'task_core_expireddocs_days' => 'jours',
'task_core_expireddocs_email' => '',
'task_core_indexingdocs_recreate' => '',
'task_core_expireddocs_email' => 'E-mail',
'task_core_expireddocs_peruser' => 'Par utilisateur',
'task_core_indexingdocs_recreate' => 'Régénérer lindex',
'task_description' => 'Description',
'task_disabled' => 'Désactivée',
'task_frequency' => 'Fréquence',
'task_frequency_placeholder' => 'min h j m jsem',
'task_last_run' => 'Dernière exécution',
'task_name' => 'Nom',
'task_next_run' => 'Prochaine exécution',
@ -1876,13 +1938,14 @@ Nom : [username]
'timeline_skip_add_file' => 'avec fichiers attachés',
'timeline_skip_scheduled_revision' => 'Révision planifiée',
'timeline_skip_status_change_-1' => 'rejetés',
'timeline_skip_status_change_-2' => 'obsolètes',
'timeline_skip_status_change_-3' => 'expirés',
'timeline_skip_status_change_0' => 'en attente de revue',
'timeline_skip_status_change_1' => 'en attente d\'approbation',
'timeline_skip_status_change_2' => 'publié',
'timeline_skip_status_change_2' => 'publiés',
'timeline_skip_status_change_3' => 'encore dans un workflow',
'timeline_skip_status_change_4' => 'en révision',
'timeline_skip_status_change_5' => 'ébauche',
'timeline_skip_status_change_5' => 'ébauches',
'timeline_status_change' => 'Version [version] : [status]',
'to' => 'Au',
'toggle_manager' => 'Basculer \'Responsable\'',
@ -1892,7 +1955,7 @@ Nom : [username]
'transfer_content' => 'Transférer le contenu',
'transfer_document' => 'Transférer le document',
'transfer_no_read_access' => 'Lutilisateur na pas le droit de lecture dans ce dossier',
'transfer_no_users' => '',
'transfer_no_users' => 'Il ny a actuellement aucun utilisateur auquel le document peut être transféré.',
'transfer_no_write_access' => 'Lutilisateur na pas le droit décriture dans ce dossier',
'transfer_objects' => 'Transférer les objets',
'transfer_objects_to_user' => 'Nouveau propriétaire',
@ -1934,6 +1997,7 @@ URL : [url]',
'unknown_id' => 'ID inconnu',
'unknown_keyword_category' => 'Catégorie inconnue',
'unknown_owner' => 'Identifiant de propriétaire inconnu',
'unknown_status' => 'Statut inconnu',
'unknown_user' => 'Identifiant d\'utilisateur inconnu',
'unlinked_content' => 'Contenu non lié',
'unlinked_documents' => 'Documents non liés',
@ -1996,6 +2060,8 @@ URL: [url]',
'view_folder' => 'Voir les détails du dossier',
'view_online' => 'Aperçu en ligne',
'warning' => 'Avertissement',
'warning_remove_approval_log' => 'Le retrait dune approbation individuelle ne peut être annulé et ne sera pas rapporté. Le vérificateur devra refaire la vérification.',
'warning_remove_review_log' => 'Le retrait dune vérification individuelle ne peut être annulé et ne sera pas rapporté. Le vérificateur devra refaire la vérification.',
'webauthn_auth' => 'Authentification WebAuthn',
'webauthn_crossplatform_info' => 'Choisissez « Oui » lorsque vous avez un périphérique amovible, comme une clé Yubico, que vous souhaitez utiliser pour vous connecter sur différents ordinateurs ; choisissez « Non » lorsque votre appareil est connecté à l\'ordinateur. Le choix affecte le ou les appareils proposés par le navigateur et / ou le système de sécurité informatique.',
'webauthn_info' => 'WebAuthn est une authentification sans mot de passe utilisant la cryptographie à clé publique. Une paire de clés privée-publique (connue sous le nom de certificat) est créée pour un site Web. La clé privée est stockée en toute sécurité sur lappareil de lutilisateur ; une clé publique et un identifiant généré de manière aléatoire sont envoyés au serveur pour stockage. Le serveur peut ensuite utiliser cette clé publique pour prouver lidentité de lutilisateur. La clé privée est généralement stockée sur un jeton matériel. Le jeton doit être enregistré avant de pouvoir être utilisé pour lauthentification.',
@ -2031,7 +2097,7 @@ URL: [url]',
'workflow_title' => '',
'workflow_transition_without_user_group' => 'Au moins une transition a ni utilisateur, ni groupe !',
'workflow_user_summary' => 'Récapitulatif utilisateur',
'wrong_checksum' => '',
'wrong_checksum' => 'Mauvaise somme de contrôle',
'wrong_filetype' => 'Mauvais type de fichier',
'x_more_objects' => '[number] objets supplémentaires',
'year_view' => 'Vue annuelle',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1243), marbanas (16)
// Translators: Admin (1247), marbanas (16)
$text = array(
'2_factor_auth' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '',
'abbr_day' => '',
'abbr_hour' => '',
@ -75,7 +77,7 @@ Internet poveznica: [url]',
'add_receipt' => 'Potvrdi prijem',
'add_review' => 'Dodaj osvrt',
'add_revision' => 'Dodaj reviziju',
'add_role' => '',
'add_role' => 'Dodaj novu rolu',
'add_subfolder' => 'Dodaj podmapu',
'add_task' => '',
'add_to_clipboard' => 'Dodaj u međuspremnik',
@ -95,6 +97,7 @@ Internet poveznica: [url]',
'all_users' => 'Svi korisnici',
'already_subscribed' => 'Već prijavljeno',
'and' => 'i',
'apikey' => '',
'apply' => 'Primjeni',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -166,7 +169,7 @@ Internet poveznica: [url]',
'attrdef_minvalues_help' => '',
'attrdef_min_greater_max' => 'Minimalni broj vrijednosti je veći od maksimalnog broja vrijednosti',
'attrdef_multiple' => 'Dozvoli više vrijednosti',
'attrdef_multiple_needs_valueset' => '',
'attrdef_multiple_needs_valueset' => 'Atribut s višestrukim vrijednostima mora imati set vrijednosti',
'attrdef_must_be_multiple' => 'Atribut mora imati više od jedne vrijednosti, ali nije postavljeno više vrijednosti',
'attrdef_name' => 'Naziv',
'attrdef_noname' => 'Nedostaje naziv za definiciju atributa',
@ -238,7 +241,9 @@ Internet poveznica: [url]',
'cannot_move_root' => 'Greška: Ne možete premještati root mapu.',
'cannot_retrieve_approval_snapshot' => 'Nije moguće dohvatiti snimku statusa odobrenja za ovu verziju dokumenta.',
'cannot_retrieve_review_snapshot' => 'Nije moguće dohvatiti snimku statusa pregleda za ovu verziju dokumenta.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Greška: Ne možete izbrisati root mapu.',
'cannot_transfer_your_objects' => '',
'categories' => 'Kategorije',
'categories_loading' => 'Molimo pričekati dok se ne učita lista kategorija...',
'category' => 'Kategorija',
@ -262,6 +267,7 @@ Internet poveznica: [url]',
'chart_docspermonth_title' => 'Novi dokumenti na mjesec',
'chart_docsperstatus_title' => 'Dokumenata po statusu',
'chart_docsperuser_title' => 'Dokumenata po korisniku',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Odaberi grafikon',
'chart_sizeperuser_title' => 'Prostor na disku po korisniku',
'checkedout_file_has_different_version' => 'Odjavljena verzija nije identična trenutnoj verziji. Prijava neće izmijeniti dokument.',
@ -269,13 +275,14 @@ Internet poveznica: [url]',
'checkedout_file_is_unchanged' => 'Datoteka odjavljenog dokumenta je još uvijek nepromijenjena. Prijava neće biti moguća. Ukoliko ne planirate izmjene, možete resetirati status odjave.',
'checkin_document' => 'Prijava',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Odjava',
'checkout_is_disabled' => 'Odjava dokumenata je onemogućena u konfiguraciji.',
'choose_attrdef' => 'Molim odaberite definiciju atributa',
'choose_attrdefgroup' => '',
'choose_category' => 'Molim odaberite',
'choose_group' => 'Odaberite grupu',
'choose_role' => '',
'choose_role' => 'Izaberi rolu',
'choose_target_category' => 'Odaberite kategoriju',
'choose_target_document' => 'Odaberite dokument',
'choose_target_file' => 'Odaberite datoteku',
@ -284,12 +291,14 @@ Internet poveznica: [url]',
'choose_workflow' => 'Odaberite tok rada',
'choose_workflow_action' => 'Odaberite radnju toka rada',
'choose_workflow_state' => 'Odaberite status toka rada',
'class_finfo_missing' => '',
'class_name' => '',
'clear_cache' => 'Obriši keš',
'clear_clipboard' => 'Očistite međuspremnik',
'clear_password' => '',
'clipboard' => 'Međuspremnik',
'close' => 'Zatvori',
'color' => '',
'command' => '',
'comment' => 'Komentar',
'comment_changed_email' => 'Promjena komentara',
@ -402,12 +411,14 @@ Glavna mapa: [folder_path]
Korisnik: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Izbrisan dokument',
'document_duplicate_name' => 'Duplicate document name',
'document_files' => '',
'document_has_no_workflow' => 'Dokument nema tok rada',
'document_infos' => 'Informacije o dokumentu',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Dokument je trenutno odjavljen. Ako učitate novu verziju, tada odjavljena verzija ne može više biti ponovno prijavljena.',
'document_is_not_locked' => 'Ovaj dokument nije zaključan',
'document_links' => '',
'document_link_by' => 'Povezao',
'document_link_public' => 'Javno',
'document_moved_email' => 'Premješten dokument',
@ -447,6 +458,7 @@ Komentar: [comment]
Komentar verzije: [version_comment]
Internet poveznica: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Ažuriran dokument',
'document_versions' => '',
'does_not_expire' => 'Ne istječe',
'does_not_inherit_access_msg' => 'Naslijedi nivo pristupa',
'download' => 'Preuzimanje',
@ -481,6 +493,7 @@ Internet poveznica: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Zona za brzo učitavanje',
'drop_files_here' => 'Ovdje ispusti datoteku!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Izrada odlagališta baze podataka',
'dump_creation_warning' => 'Ovom radnjom možete stvoriti datoteku za odlaganje sadržaja vaše baze podataka. Nakon izrade datoteka za odlaganje će biti pohranjena u podatkovnoj mapi na vašem serveru.',
'dump_list' => 'Postojeće datoteke za odlaganje',
@ -530,6 +543,7 @@ Internet poveznica: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -651,6 +665,7 @@ Internet poveznica: [url]',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Pretvorba indeksa dokumenta',
'fulltext_info' => 'Informacije cijelog teksta',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Atributi',
'global_default_keywords' => 'Globalne ključne riječi',
@ -666,6 +681,7 @@ Internet poveznica: [url]',
'group_management' => 'Upravljanje grupama',
'group_members' => 'Članovi grupe',
'group_receipt_summary' => 'Sažetak prijema za grupu',
'group_review_removed' => '',
'group_review_summary' => 'Sažetak pregleda grupe',
'group_revision_summary' => '',
'guest_login' => 'Prijavite se kao gost',
@ -694,16 +710,23 @@ Internet poveznica: [url]',
'include_subdirectories' => 'Sadrži podmape',
'indexing_tasks_in_queue' => '',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Mapa indeksa',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => '',
'individuals' => 'Pojedinci',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'naslijeđeno',
'inherits_access_copy_msg' => 'Kopiraj listu naslijeđenih prava pristupa',
'inherits_access_empty_msg' => 'Započnite s praznim popisom pristupa',
@ -747,8 +770,10 @@ Internet poveznica: [url]',
'js_no_approval_status' => 'Molim odaberite status odobrenja',
'js_no_comment' => 'Nema komentara',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => 'Upišite vašu e-mail adresu',
'js_no_file' => 'Molim odaberite datoteku',
'js_no_folder' => '',
'js_no_keywords' => 'Odredite neke ključne riječi',
'js_no_login' => 'Molim upišite korisničko ime',
'js_no_name' => 'MOlim upišite naziv',
@ -791,6 +816,7 @@ Internet poveznica: [url]',
'lock_document' => 'Zaključaj',
'lock_message' => 'Ovaj dokument je zaključao [username]. Samo ovlašteni korisnici mogu otključati ovaj dokument.',
'lock_status' => 'Status',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Prijava',
'login_disabled_text' => 'Vaš korisnički račun je onemogućen, vjerojatno zbog previše neispravnih prijava.',
@ -826,7 +852,9 @@ Internet poveznica: [url]',
'missing_checksum' => 'Nedostaje kontrolna suma',
'missing_file' => '',
'missing_filesize' => 'Nedostaje veličina datoteke',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => 'Nedostaje korisnik/grupa za promjenu',
@ -843,6 +871,12 @@ Internet poveznica: [url]',
'my_documents' => 'Moji dokumenti',
'my_transmittals' => 'Moja proslijeđivanja',
'name' => 'Naziv',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Norveški',
'needs_correction' => '',
'needs_workflow_action' => 'Ovaj dokument zahtjeva vašu pažnju. Molimo provjerite karticu toka rada.',
@ -899,11 +933,13 @@ Glavna mapa: [folder_path]
Korisnik: [username]
Internet poveznica: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Ukonjeno iz popisa obavijesti',
'not_subscribed' => '',
'november' => 'Studeni',
'now' => 'sada',
'no_action' => 'Nema zahtjevane radnje',
'no_approval_needed' => 'Nema odobrenja na čekanju.',
'no_attached_files' => 'Nema priloženih datoteka',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => 'Koristite na staru verziju ProsperaDMS-a. Najnovija dostupna verzija je[latestversion].',
@ -974,6 +1010,8 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator
'password_forgotten_send_hash' => 'Upute kako postupiti su poslane na e-mail adresu korisnika',
'password_forgotten_text' => 'Ispunite donji obrazac i slijedite upute iz e-maila koji će vam biti poslan.',
'password_forgotten_title' => 'Lozinka je poslana',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Ponovi lozinku',
'password_send' => 'Pošalji lozinku',
'password_send_text' => 'Vaša nova lozinka je poslana na navedenu e-mail adresu, ako login i e-mail odgovaraju postojećem korisniku. Ako ne primite e-mail u narednim minutama, tada provjerite da su login i e-mail ispravni te ponovite postupak.',
@ -1052,9 +1090,13 @@ Korisnik: [username]
Internet poveznica: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Uklonjeni tok rada iz ove verzije dokumenta',
'removeFolderFromDropFolder' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Ukloni označene datoteke',
'remove_review_log' => '',
'repaired' => 'popravljeno',
'repairing_objects' => 'Popravljanje dokumenata ili mapa.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'Poslovni tok je došao u stanje koje zahtijeva Vašu pažnju i aktivnost.
Dokument: [name]
Verzija: [version]
@ -1208,6 +1250,7 @@ Internet poveznica: [url]',
'search' => 'Traži',
'search_fulltext' => 'Traži u cijelom tekstu',
'search_in' => 'Traži u',
'search_mode' => '',
'search_mode_and' => 'sve riječi',
'search_mode_documents' => 'Samo dokumenti',
'search_mode_folders' => 'Samo mape',
@ -1249,6 +1292,7 @@ Internet poveznica: [url]',
'select_mimetype' => '',
'select_one' => 'Odaberite jednog',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Izaberi korisnika',
'select_users' => 'Kliknite za odabir korisnika',
'select_value' => 'Odaberite vrijednost',
@ -1303,6 +1347,7 @@ Internet poveznica: [url]',
'settings_checkOutDir_desc' => 'Ovo je mapa gdje se sprema kopija zadnjeg sadržaja dokumenta ako je dokument odjavljen. Ako korisnicima omogućite pristup ovoj mapi oni tada mogu mijenjati datoteku i ponovno prijaviti kad dovrše izmjene.',
'settings_cmdTimeout' => 'Istek vremena za vanjske komande',
'settings_cmdTimeout_desc' => 'Ovo trajanje u sekundama određuje kada će vanjska komanda (npr. Za kreiranje full-tekst indeksa) biti terminirana.',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Mapa sadržaja',
'settings_contentDir_desc' => 'Gdje se spremaju učitane datoteke (najbolje da odaberete mapu koja nije dostupna kroz vaš web-server)',
'settings_contentOffsetDir' => 'Offset mapa sadržaja',
@ -1420,6 +1465,8 @@ Internet poveznica: [url]',
'settings_enableReceiptWorkflow_desc' => 'Omogućite kako bi omogućili tok rada za potvrđivajne prijema dokumenta.',
'settings_enableRecursiveCount' => 'Omogući rekurzivno brojanje dokumenta/mape',
'settings_enableRecursiveCount_desc' => 'Ako je uključeno, broj dokumenata i mapa u pregledu mape će biti određen brojanjem svih objekata rekurzivnom obradom mapa i brojanjem tih dokumenata i mapa kojima je korisniku omogućen pristup.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1471,6 +1518,8 @@ Internet poveznica: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ID gosta',
'settings_guestID_desc' => 'ID gost korisnika koja se koristi kada je prijavljen kao gost (uglavnom se ne treba mijenjati)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http korijen',
'settings_httpRoot_desc' => 'U URL-u, putanja na što se odnosi, nakon domene. Ne sadrži http:// prefiks ili naziv web hosta. Npr. ako je puni URL http://www.example.com/seeddms/, postavi \'/seeddms/\'. Ako je URL http://www.example.com/, postavi \'/\'',
'settings_incItemsPerPage' => '',
@ -1489,6 +1538,7 @@ Internet poveznica: [url]',
'settings_install_welcome_text' => '<p>Prije nego počnete instalirati ProsperaDMS uvjerite se da ste izradili datoteku \'ENABLE_INSTALL_TOOL\' u vašoj mapi konfiguracije, jer u suprotnom instalacija neće raditi. Na Unix sustavu to se može lako učiniti s \'touch conf/ENABLE_INSTALL_TOOL\'. Nakon završteka instalacije izbrišite datoteku.</p><p>ProsperaDMS ima jako male zahtjeve. Trebat ćete mysql bazu podataka ili sqlite podršku i web server s omogućenim php-om. Pear paket Log također treba biti instaliran. Za lucene potpuno pretraživanje teksta, također će vam trebati Zend framework instaliran na disku gdje ga se može pronaći php-om. Za WebDAV server tađer ćete trebati HTTP_WebDAV_Server. Putanja do njega se može kasnije postaviti tijekom instalacije.</p><p>Ako želite izraditi bazu podataka prije nego započnete instalaciju, tada je ručno napravite s vama omiljenim alatom, po želji izradite korisnika baze podataka s pristupom bazi podataka i uvezite jedno od odlagališta baza podataka u mapu konfiguracije. Naravno to za vas može napraviti instalacijska skripta, ali će trebati pristup bazi podataka s pravima za izradu baza podataka.</p>',
'settings_install_welcome_title' => 'Dobrodošli u instalaciju ProsperaDMS-a',
'settings_install_zendframework' => 'Instalirajte Zend Framework, ako namjeravate koristiti pogon za pretraživanje cijelog teksta',
'settings_invalid_guestid' => '',
'settings_language' => 'Zadani jezik',
'settings_language_desc' => 'Zadani jezik (jezik podmapa u mapi "jezici")',
'settings_libraryFolder' => 'Mapa biblioteke',
@ -1679,6 +1729,7 @@ Internet poveznica: [url]',
'splash_add_attribute' => 'Dodan novi atribut',
'splash_add_group' => 'Dodana nova grupa',
'splash_add_group_member' => 'Dodan novi član grupe',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1690,6 +1741,7 @@ Internet poveznica: [url]',
'splash_delete_access' => '',
'splash_document_added' => 'Dokument dodan',
'splash_document_checkedout' => 'Dokument odjavljen',
'splash_document_deleted' => '',
'splash_document_edited' => 'Dokument pohranjen',
'splash_document_indexed' => '',
'splash_document_locked' => 'Dokument zaključan',
@ -1713,6 +1765,7 @@ Internet poveznica: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Pohrani izmjene mape',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1732,6 +1785,7 @@ Internet poveznica: [url]',
'splash_rm_folder' => 'Mapa izbrisana',
'splash_rm_group' => 'Grupa uklonjena',
'splash_rm_group_member' => 'Član grupe uklonjen',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
'splash_rm_user' => 'Korisnik uklonjen',
@ -1759,6 +1813,7 @@ Internet poveznica: [url]',
'status_approval_rejected' => 'Skica odbijena',
'status_approved' => 'Odobreno',
'status_approver_removed' => 'Validator uklonjen iz postupka',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'Nije odobreno',
'status_not_receipted' => 'Još nije primljeno',
@ -1812,10 +1867,12 @@ Internet poveznica: [url]',
'tasks' => 'Zadaci',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1837,6 +1894,7 @@ Internet poveznica: [url]',
'timeline_skip_add_file' => 'dodan prilog',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'odbijeno',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'isteklo',
'timeline_skip_status_change_0' => 'na čekanju za pregled',
'timeline_skip_status_change_1' => 'na čekanju za odobrenje',
@ -1895,6 +1953,7 @@ Internet poveznica: [url]',
'unknown_id' => 'nepoznati ID',
'unknown_keyword_category' => 'Nepoznata kategorija',
'unknown_owner' => 'Nepoznati ID vlasnika',
'unknown_status' => '',
'unknown_user' => 'Nepoznati ID korisnika',
'unlinked_content' => 'Nepovezani sadržaj',
'unlinked_documents' => 'Nepovezani dokumenti',
@ -1953,10 +2012,12 @@ Internet poveznica: [url]',
'version_deleted_email_subject' => '[sitename]: [name] - Izbrisana verzija',
'version_info' => 'Informacije o verziji',
'view' => 'Pregled',
'view_document' => '',
'view_document' => 'Detalji dokumenta',
'view_folder' => '',
'view_online' => 'Online pregled',
'warning' => 'Upozorenje',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (646), Kalpy (113), ribaz (1036)
// Translators: Admin (648), Kalpy (113), ribaz (1036)
$text = array(
'2_factor_auth' => 'Kétfaktoros azonosítás',
'2_factor_auth_info' => 'A rendszernek két faktoros hitelesítése van. Szükséged lesz a Google Authenticator-ra a mobil telefonodon. Lejebb látható két QR kód. A jobb oldali a saját jelszavát, a baloldali egy új titkos jelszót tartalmaz. Ha új jelszót szeretne beállítani, szkennelje be újra a Goolge Authenticator-al.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'Titkos',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Minden felhasználó',
'already_subscribed' => 'Már feliratkozott',
'and' => '-',
'apikey' => '',
'apply' => 'Elfogad',
'approvals_accepted' => '[no_approvals] már elfogadott jóváhagyások',
'approvals_accepted_latest' => '',
@ -233,7 +236,9 @@ URL: [url]',
'cannot_move_root' => 'Hiba: A gyökér mappát nem lehet áthelyezni.',
'cannot_retrieve_approval_snapshot' => 'Nem lehet lekérdezni a jóváhagyási állapot pillanatfelvételt erről a dokumentum változatról.',
'cannot_retrieve_review_snapshot' => 'Nem lehet lekérdezni a felülvizsgálati állapot pillanatfelvételt erről a dokumentum változatról.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Hiba: A gyökér mappa nem törölhető.',
'cannot_transfer_your_objects' => '',
'categories' => 'Kategóriák',
'categories_loading' => 'kategóriák betöltése',
'category' => 'Kategória',
@ -257,6 +262,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Új dokumentumok havi bontásban',
'chart_docsperstatus_title' => 'Dokumentumok állapot szerint',
'chart_docsperuser_title' => 'Dokumentumok felhasználónként',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Diagram választása',
'chart_sizeperuser_title' => 'Lemezterület felhasználónként',
'checkedout_file_has_different_version' => '',
@ -264,6 +270,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => '',
'checkin_document' => '',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => '',
'checkout_is_disabled' => '',
'choose_attrdef' => 'Kérem válasszon jellemző meghatározást',
@ -279,12 +286,14 @@ URL: [url]',
'choose_workflow' => 'Válasszon munkafolyamatot',
'choose_workflow_action' => 'Válasszon munkafolyamat műveletet',
'choose_workflow_state' => 'Válasszon munkafolyamat állapotot',
'class_finfo_missing' => '',
'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',
'color' => '',
'command' => 'Utasítás',
'comment' => 'Megjegyzés',
'comment_changed_email' => '',
@ -331,7 +340,7 @@ URL: [url]',
'daily' => 'Napi',
'databasesearch' => 'Adatbázis keresés',
'database_schema_version' => 'Adatbázis séma verziója',
'data_loading' => '',
'data_loading' => 'Kérjük várjon, adatok betöltése folyamatban',
'date' => 'Dátum',
'days' => 'nap',
'debug' => 'Hibakeresés',
@ -397,12 +406,14 @@ Szülő mappa: [folder_path]
Felhasználó: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Dokumentum törölve',
'document_duplicate_name' => 'Duplikált dokumentum név',
'document_files' => '',
'document_has_no_workflow' => 'Dokumentumhoz nincs munkafolyamat',
'document_infos' => 'Dokumentum információ',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => 'Ez a dokumentum NEM zßrolt',
'document_links' => '',
'document_link_by' => 'Hivatkozást létrehozta:',
'document_link_public' => 'Nyilvános',
'document_moved_email' => 'Dokumentum áthelyezve',
@ -442,6 +453,7 @@ Megjegyzés: [comment]
Verzió megjegyzés: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Dokumentum frissült',
'document_versions' => '',
'does_not_expire' => 'Soha nem jár le',
'does_not_inherit_access_msg' => 'Hozzáférés öröklése',
'download' => 'Letöltés',
@ -476,6 +488,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Gyors feltöltés',
'drop_files_here' => 'Húzz ide egy fájlt',
'drop_files_here_or_click' => '',
'dump_creation' => 'Adatbázis mentés létrehozása',
'dump_creation_warning' => 'Ezzel a művelettel az adatbázis tartalmáról lehet adatbázis mentést készíteni. Az adatbázis mentés létrehozását követően a mentési állomány a kiszolgáló adat mappájába lesz mentve.',
'dump_list' => 'Meglévő adatbázis metések',
@ -525,6 +538,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -646,6 +660,7 @@ URL: [url]',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Index dokumentum konverzió',
'fulltext_info' => 'Teljes szöveg index információ',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Jellemzők',
'global_default_keywords' => 'Globális kulcsszavak',
@ -661,6 +676,7 @@ URL: [url]',
'group_management' => 'Csoportok',
'group_members' => 'Csoporttagok',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Csoport felülvizsgálat összefoglaló',
'group_revision_summary' => '',
'guest_login' => 'Bejelentkezés vendégként',
@ -689,16 +705,23 @@ URL: [url]',
'include_subdirectories' => 'Tartalmazó alkönyvtárak',
'indexing_tasks_in_queue' => 'Indexelés folyamatban',
'index_converters' => 'Index konvertáló',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Mappa indexelése',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => '',
'individuals' => 'Egyedek',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'örökölt',
'inherits_access_copy_msg' => 'Örökített hozzáférési lista másolása',
'inherits_access_empty_msg' => 'Indulás üres hozzáférési listával',
@ -742,8 +765,10 @@ URL: [url]',
'js_no_approval_status' => 'Kérjük válasszon jóváhagyási állapotot',
'js_no_comment' => 'Nincs megjegyzés',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => 'Adja meg email címét',
'js_no_file' => 'Kérjük válasszon egy állományt',
'js_no_folder' => '',
'js_no_keywords' => 'Adjon meg kulcsszavakat',
'js_no_login' => 'Kérjük adjon meg egy felhasználó nevet',
'js_no_name' => 'Kérjük adjon meg egy nevet',
@ -786,6 +811,7 @@ URL: [url]',
'lock_document' => 'Zárol',
'lock_message' => 'Ezt a dokumentumot [username] zárolta. Csak az arra jogosult felhasználó törölheti a zárolást (Lásd: lap alja).',
'lock_status' => 'Állapot',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Bejelentkezés',
'login_disabled_text' => 'Fiókja letiltásra került, valószínűleg a túl sok érvénytelen bejelentkezési kísérlet miatt.',
@ -821,7 +847,9 @@ URL: [url]',
'missing_checksum' => 'Hiányzó ellenőrzőösszeg',
'missing_file' => 'hiányzó állomány',
'missing_filesize' => 'Hiányzó állomány méret',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => 'Hiányzó felhasználó/csoport az átvezetéshez',
@ -836,8 +864,14 @@ URL: [url]',
'move_folder' => 'Könyvtár áthelyezése',
'my_account' => 'Saját hozzáférés',
'my_documents' => 'Saját dokumentumok',
'my_transmittals' => '',
'my_transmittals' => 'Átviteleim',
'name' => 'Név',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'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.',
@ -895,11 +929,13 @@ Szülő mappa: [folder_path]
Felhasználó: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Eltávolítva az értesítési listáról',
'not_subscribed' => '',
'november' => 'November',
'now' => 'most',
'no_action' => 'Nincs teendő',
'no_approval_needed' => 'Nincs folyamatban lévő jóváhagyás.',
'no_attached_files' => 'Nincsenek csatolt állományok',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => 'Ön a SeedDMS régebbi változatát futtatja. A legutolsó elérhető verzió [latestversion].',
@ -970,6 +1006,8 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a
'password_forgotten_send_hash' => 'Utasítások arról, hogyan kell eljárni a felhasználók email címének elküldéséhez',
'password_forgotten_text' => 'Töltse ki a következő űrlapot és kövesse az Önnek küldött, elektronikus levélben szereplő utasításokat.',
'password_forgotten_title' => 'Jelszó küldés',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Jelszó mégegyszer',
'password_send' => 'Jelszó elküldve',
'password_send_text' => 'Új jelszót küld Önnek a megadott email címre, amennyiben a felhasználónév és az email cím megfelel egy létező felhasználónak. Amennyiben néhány percen belül nem kapja meg az email-t, akkor ellenőrizze a felhasználónevet és email címet és indítsa újra a folyamatot.',
@ -1048,9 +1086,13 @@ Felhasználó: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Dokumentum változatból eltávolított munkafolyamat',
'removeFolderFromDropFolder' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Megjelölt állományok eltávolítása',
'remove_review_log' => '',
'repaired' => 'javított',
'repairing_objects' => 'Dokumentumok és mappák helyreállítása',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => '',
'request_workflow_action_email_subject' => '',
'reset_checkout' => '',
@ -1186,6 +1228,7 @@ URL: [url]',
'search' => 'Keresés',
'search_fulltext' => 'Keresés a teljes szövegben',
'search_in' => 'Keresés ebben a könyvtárban',
'search_mode' => '',
'search_mode_and' => 'egyezés minden szóra',
'search_mode_documents' => 'Csak dokumentumok',
'search_mode_folders' => 'Csak mappák',
@ -1227,6 +1270,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Válasszon egyet',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Felhasználó kiválasztása',
'select_users' => 'Kattintson a felhasználó kiválasztásához',
'select_value' => 'Érték kiválasztása',
@ -1281,6 +1325,7 @@ URL: [url]',
'settings_checkOutDir_desc' => '',
'settings_cmdTimeout' => 'Külső parancsok időtúllépése',
'settings_cmdTimeout_desc' => 'Ez az időtartam másodpercben határozza meg, hogy mikor fejezik be a külső parancsot (például a teljes szöveg index létrehozásához).',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Tartalom könyvtár',
'settings_contentDir_desc' => 'Feltöltött állományok tárolási helye (olyan könyvtárat érdemes választani, amelyhez nem lehet a webszerveren keresztül hozzáférni)',
'settings_contentOffsetDir' => 'Tartalom eltérési könyvtár',
@ -1398,6 +1443,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => 'Engedélyezi a rekurzív dokumentum/mappa számot',
'settings_enableRecursiveCount_desc' => 'Ha be van kapcsolva a mappa nézetben a dokumentumok és mappák száma minden objektum rekurzív feldolgozásával kerül meghatározásra és a dokumentumok és mappák száma a felhasználó számára engedélyezett.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1449,6 +1496,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'Adatbázis keresés',
'settings_guestID' => 'Vendég azonosító',
'settings_guestID_desc' => 'A vendég felhasználó azonosítója ami a vendégként történő bejelentkezéskor lesz használva (általában nem szükséges módosítani)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http gyökér',
'settings_httpRoot_desc' => 'A relatív elérési út az URL-ben a tartomány rész után. Ne tartalmazza a http:// előtagot vag a web szerver nevét. Pl.: ha a teljes URL http://www.example.com/seeddms/, adja meg \'/seeddms/\'. Ha az URL http://www.example.com/, adja meg \'/\'',
'settings_incItemsPerPage' => 'Az oldal végén betöltött bejegyzések száma',
@ -1467,6 +1516,7 @@ URL: [url]',
'settings_install_welcome_text' => '<p>Mielőtt elkezdi a SeedDMS telepítését hozzon létre egy \'ENABLE_INSTALL_TOOL\' nevű állományt a konfigurációs könyvtárban, különben a telepítés nem fog működni. Unix-rendszeren ez könnyen elvégezhető a \'touch conf/ENABLE_INSTALL_TOOL\' utasítással. Miután befejezte a telepítést törölje az állományt.</p><p>SeedDMS minimális rendszerkövetelményekkel rendelkezik. Szüksége van egy mysql adatbázisra vagy sqlite támogatásra és egy PHP képes web szerverre. A Log pear csomagot is telepíteni kell. A Lucene teljes szöveges kereséshez szüksége van még a Zend keretrendszer telepítésére a lemezen olyan helyen, ahol megtalálja a php. WebDAV szerverhez szükséges a HTTP_WebDAV_Server. Az elérési útvonalat a telepítés alatt lehet beállítani.</p><p>Amennyiben adatbázist kíván létrehozni a telepítés megkezdése előtt, hozza létre azt a kedvelt eszközzel. Opcionálisan hozzon létre egy adatbázis felhasználót az adatbázis eléréséhez és importálja be a konfigurációs könyvtárban található adatbázis mentések egyikét. A telepítő szkript elvégzi ezt megfelelő módon, de szüksége lesz adatbázis hozzáférésre megfelelő jogokkal az adatbázis létrehozásához.</p>',
'settings_install_welcome_title' => 'Üdvözli a SeedDMS telepítője',
'settings_install_zendframework' => 'Zend Framework telepítése, ha használni szeretné a teljes szöveges keresőt',
'settings_invalid_guestid' => '',
'settings_language' => 'Alapértelmezett nyelv',
'settings_language_desc' => 'Alapértelmezett nyelv (a "languages" mappa alatt található almappa neve)',
'settings_libraryFolder' => '',
@ -1657,6 +1707,7 @@ URL: [url]',
'splash_add_attribute' => 'Új jellemző hozzáadva',
'splash_add_group' => 'Új csoport hozzáadva',
'splash_add_group_member' => 'Új csoporttag hozzáadva',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1668,6 +1719,7 @@ URL: [url]',
'splash_delete_access' => '',
'splash_document_added' => '',
'splash_document_checkedout' => '',
'splash_document_deleted' => '',
'splash_document_edited' => 'Dokumentum elmentve',
'splash_document_indexed' => '',
'splash_document_locked' => 'Dokumentum zárolva',
@ -1691,6 +1743,7 @@ URL: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Mappa változásainak mentése',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1710,6 +1763,7 @@ URL: [url]',
'splash_rm_folder' => 'Mappa törölve',
'splash_rm_group' => 'Csoport eltávolítva',
'splash_rm_group_member' => 'Csoporttag eltávolítva',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
'splash_rm_user' => 'Felhasználó eltávolítva',
@ -1737,6 +1791,7 @@ URL: [url]',
'status_approval_rejected' => 'Piszkozat elutasítva',
'status_approved' => 'Jóváhagyott',
'status_approver_removed' => 'Jóváhagyó eltávolítva a folyamatból',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'Nem jóváhagyott',
'status_not_receipted' => '',
@ -1790,10 +1845,12 @@ URL: [url]',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1815,6 +1872,7 @@ URL: [url]',
'timeline_skip_add_file' => 'melléklet hozzáadva',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'visszautasítva',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'lejárt',
'timeline_skip_status_change_0' => 'felülvizsgálatra vár',
'timeline_skip_status_change_1' => 'jóváhagyásra vár',
@ -1873,6 +1931,7 @@ URL: [url]',
'unknown_id' => 'ismeretlen azonosító',
'unknown_keyword_category' => 'Ismeretlen kategória',
'unknown_owner' => 'Ismeretlen tulajdonos azonosító',
'unknown_status' => '',
'unknown_user' => 'Ismeretlen felhasználó azonosító',
'unlinked_content' => 'Nem hivatkozott tartalom',
'unlinked_documents' => 'Nem hivatkozott dokumentumok',
@ -1935,6 +1994,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Online megtekintés',
'warning' => 'Figyelmeztetés',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2054), rickr (144), s.pnt (26)
// Translators: Admin (2055), rickr (144), s.pnt (26)
$text = array(
'2_factor_auth' => 'Autorizzazione a due fattori',
'2_factor_auth_info' => 'Questo sistema usa autenticazione a due fattori. Sarà necessario il “Google Authenticator” sul tuo telephono cellulare. Qui potete vedere due codici QR. Quello di destra è il tuo segreto. è sulla sinistra chè un nuovo segreto. Se si imposta un nuovo segreto per assicurarsi si deve scansione con “Google Authenticator” di nuovo.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'Segreto',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Tutti gli utenti',
'already_subscribed' => 'L\'oggetto è già stato sottoscritto',
'and' => 'e',
'apikey' => '',
'apply' => 'Applica',
'approvals_accepted' => '[no_approvals] approvazioni già accettate',
'approvals_accepted_latest' => '',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => 'Errore: impossibile spostare la cartella principale (root)',
'cannot_retrieve_approval_snapshot' => 'Impossibile recuperare lo stato di approvazione per questa versione del documento',
'cannot_retrieve_review_snapshot' => 'Impossibile recuperare lo stato di revisione per questa versione del documento',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Impossibile cancellare la cartella principale (root)',
'cannot_transfer_your_objects' => '',
'categories' => 'Categorie',
'categories_loading' => 'Si prega di aspettare, fino a quando viene caricato elenco delle categorie ...',
'category' => 'Categoria',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Nuovi documenti al mese',
'chart_docsperstatus_title' => 'Documenti per stato',
'chart_docsperuser_title' => 'Documenti per utente',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Seleziona grafico',
'chart_sizeperuser_title' => 'Spazio su disco per utente',
'checkedout_file_has_different_version' => 'La versione approvata non è uguale alla versione corrente. Non si aggiornerà documento.',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'La versione approvata è uguale alla versione corrente. Impossibile caricare.',
'checkin_document' => 'Da approvare',
'checkoutpath_does_not_exist' => 'Il percorso di approvazione non esiste',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Approvato',
'checkout_is_disabled' => 'Approvazione dei documenti disabilitata',
'choose_attrdef' => 'Seleziona l\'Attributo',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Seleziona il flusso di lavoro',
'choose_workflow_action' => 'Seleziona l\'azione del flusso di lavoro',
'choose_workflow_state' => 'Seleziona lo stato del flusso di lavoro',
'class_finfo_missing' => '',
'class_name' => 'Nome della classe',
'clear_cache' => 'Pulisci cache',
'clear_clipboard' => 'Cancella appunti',
'clear_password' => 'Cancella la password',
'clipboard' => 'Appunti',
'close' => 'Chiudi',
'color' => '',
'command' => 'Comando',
'comment' => 'Commento',
'comment_changed_email' => '',
@ -402,12 +411,14 @@ Cartella: [folder_path]
Utente: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Documento cancellato',
'document_duplicate_name' => 'Nome del Documento duplicato',
'document_files' => '',
'document_has_no_workflow' => 'Il documento non ha un flusso di lavoro',
'document_infos' => 'Informazioni documento',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Il documento é approvato. Se aggiorni il documento, la versione approvata verrà sovrascritta definitivamente',
'document_is_not_locked' => 'Questo documento non è bloccato',
'document_links' => '',
'document_link_by' => 'Collegato da',
'document_link_public' => 'Pubblico',
'document_moved_email' => 'Documento spostato',
@ -452,6 +463,7 @@ Commento: [comment]
Versione commento: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Documento aggiornato',
'document_versions' => '',
'does_not_expire' => 'Nessuna scadenza',
'does_not_inherit_access_msg' => 'Imposta permessi ereditari',
'download' => 'Scarica',
@ -486,6 +498,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Caricamento rapido',
'drop_files_here' => 'Trascina qui il file',
'drop_files_here_or_click' => '',
'dump_creation' => 'Creazione del dump del DB',
'dump_creation_warning' => 'Con questa operazione è possibile creare un file di dump del contenuto del database. Dopo la creazione il file viene salvato nella cartella dati del server.',
'dump_list' => 'List dei dump presenti',
@ -535,6 +548,7 @@ URL: [url]',
'error_add_aro' => 'Errore durante l\'accesso aggiungendo richiesta oggetto',
'error_add_permission' => 'Errore durante l\'aggiunta di permesso',
'error_cleared_cache' => 'Errore durante svuotare la cache',
'error_document_indexed' => '',
'error_edit_task' => 'Modifica attività',
'error_extension_getlist' => 'Errore nel recuperare l\'elenco delle estensioni dal repository',
'error_importfs' => 'Errore durante l\'importazione dal file system',
@ -656,6 +670,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'Ricerca Fulltext disabilitata',
'fulltext_converters' => 'Indice di conversione documenti',
'fulltext_info' => 'Info indice Fulltext',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'Attributo gruppi',
'global_attributedefinitions' => 'Definizione attributi',
'global_default_keywords' => 'Parole-chiave globali',
@ -671,6 +686,7 @@ URL: [url]',
'group_management' => 'Amministrazione gruppi',
'group_members' => 'Membri del gruppo',
'group_receipt_summary' => 'Panoramica delle conferme ricevute gruppo.',
'group_review_removed' => '',
'group_review_summary' => 'Dettaglio revisioni di gruppo',
'group_revision_summary' => 'Riepilogo revisioni del gruppo',
'guest_login' => 'Login come Ospite',
@ -699,16 +715,23 @@ URL: [url]',
'include_subdirectories' => 'Includi sottocartelle',
'indexing_tasks_in_queue' => 'Operazione di indicizzazione in corso',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => 'Eseguito',
'index_error' => 'Errore di indicizzazione',
'index_folder' => 'Indicizza cartella',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => 'Non indicizzare contenuti',
'index_pending' => 'Indicizzazione pendente',
'index_waiting' => 'Attendi',
'individuals' => 'Singoli',
'individuals_in_groups' => 'I membri de la gruppo',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Non è possibile confermare la ricezione di questa versione del documento, poiché la versione non è stata rilasciata.',
'info_rm_user_from_processes_user' => '',
'inherited' => 'ereditato',
'inherits_access_copy_msg' => 'Copia la lista degli accessi ereditati',
'inherits_access_empty_msg' => 'Reimposta una lista di permessi vuota',
@ -752,8 +775,10 @@ URL: [url]',
'js_no_approval_status' => 'Si prega di selezionare lo stato di approvazione',
'js_no_comment' => 'Non ci sono commenti',
'js_no_currentpwd' => 'Per favore inserire la propria password attuale',
'js_no_document' => '',
'js_no_email' => 'Scrivi il tuo indirizzo di email',
'js_no_file' => 'Per favore seleziona un file',
'js_no_folder' => '',
'js_no_keywords' => 'Specifica alcune parole-chiave',
'js_no_login' => 'Per favore digita un ID utente',
'js_no_name' => 'Per favore digita un nome',
@ -796,6 +821,7 @@ URL: [url]',
'lock_document' => 'Blocca',
'lock_message' => 'Questo documento è bloccato da [username]. Solo gli utenti autorizzati possono sbloccare questo documento.',
'lock_status' => 'Stato bloccaggio',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Accesso',
'login_disabled_text' => 'Il tuo account è stato disabilitato: troppi login falliti.',
@ -831,7 +857,9 @@ URL: [url]',
'missing_checksum' => 'Checksum mancante',
'missing_file' => 'File mancante',
'missing_filesize' => 'Dimensione mancante',
'missing_func_class_note' => '',
'missing_php_extensions' => 'Estensioni php mancanti',
'missing_php_functions_and_classes' => '',
'missing_reception' => 'Ricezione mancante',
'missing_request_object' => 'Manca oggetto di richiesta',
'missing_transition_user_group' => 'Utente/Gruppo per la transizione mancanti',
@ -848,6 +876,12 @@ URL: [url]',
'my_documents' => 'Documenti personali',
'my_transmittals' => 'Mie trasmissioni',
'name' => 'Nome',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Norvegiese (Bokmål)',
'needs_correction' => 'Necessita correzioni',
'needs_workflow_action' => 'Il documento richiede attenzione. Prego controllare il flusso di lavoro.',
@ -905,11 +939,13 @@ Cartella: [folder_path]
Utente: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Rimosso dalla lista di notifica',
'not_subscribed' => '',
'november' => 'Novembre',
'now' => 'Adesso',
'no_action' => 'Non è richiesto alcun intervento',
'no_approval_needed' => 'Non è richiesta approvazione.',
'no_attached_files' => 'Nessun file allegato',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => 'Cartella di Backup non configurata',
'no_current_version' => 'La corrente versione di SeedDMS non è aggiornata. La versione più recente disponibile è la [latestversion].',
@ -980,6 +1016,8 @@ Dovessero esserci ancora problemi al login, prego contatta l\'amministratore di
'password_forgotten_send_hash' => 'Le istruzioni su come procedere sono state inviate all\'indirizzo e-mail dell\'utente',
'password_forgotten_text' => 'Compilare i campi seguenti e seguire le istruzioni nell\'e-mail che sarà inviata a breve.',
'password_forgotten_title' => 'Password inviata',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Ripetere password',
'password_send' => 'Invia la password',
'password_send_text' => 'La nuova password è stata inviata all\'indirizzo email fornito, nel caso in cui login ed email siano nel database e corrispondano ad un utente. Qualora non si fosse ricevuto alcun messaggio nei prossimi minuti, si prega di controllare che login ed email siano corretti e provare di nuovo.',
@ -1069,9 +1107,13 @@ Utente: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Flusso di lavoro rimosso dalla versione del documento',
'removeFolderFromDropFolder' => 'Rimuovi la cartella di pubblicazione dopo l\'importazione',
'remove_approval_log' => '',
'remove_marked_files' => 'Rimuovi i files contrassegnati',
'remove_review_log' => '',
'repaired' => 'riparato',
'repairing_objects' => 'Riparazione documenti e cartelle in corso...',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'Il flusso di lavoro richiede che tu esegua un\'azione.
Documento: [name]
Versione: [version]
@ -1230,6 +1272,7 @@ URL: [url]',
'search' => 'Ricerca',
'search_fulltext' => 'Ricerca fulltext',
'search_in' => 'Cerca in',
'search_mode' => '',
'search_mode_and' => 'tutte le parole',
'search_mode_documents' => 'Solo documenti',
'search_mode_folders' => 'Solo cartelle',
@ -1271,6 +1314,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Seleziona uno',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Seleziona utente',
'select_users' => 'Clicca per selezionare gli utenti',
'select_value' => 'Selezionare un valore',
@ -1330,6 +1374,7 @@ Name: [username]
'settings_checkOutDir_desc' => 'Questa eultima versione del documento viene copiata se approvato. Se accessibile agli utenti, possono editare il documento e ricopiarlo quando finito.',
'settings_cmdTimeout' => 'Timeout per comandi esterni',
'settings_cmdTimeout_desc' => 'La durata in secondi determina quando un comando esterno (come ad es. la creazione di un indice per la ricerca) sarà terminato.',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Cartella contenitore',
'settings_contentDir_desc' => 'Cartella in cui vengono conservati i files caricati, si consiglia di scegliere una cartella sul web-server che non sia direttamente accessibile.',
'settings_contentOffsetDir' => 'Cartella Offset',
@ -1447,6 +1492,8 @@ Name: [username]
'settings_enableReceiptWorkflow_desc' => 'Abilitare per attivare le ricevute di notifica nel flusso di lavoro.',
'settings_enableRecursiveCount' => 'Abilita il conteggio ricursivo di documenti/cartelle',
'settings_enableRecursiveCount_desc' => 'Se selezionato il numero di documenti e sottocartelle accessibili all\'utente sarà calcolato con un conteggio ricursivo di tutti gli oggetti contenuti nella cartella.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Respinto da un revisore',
'settings_enableRevisionOneVoteReject_desc' => 'Se abilitato, lo stato del documento verrà impostato su ""necessita correzione"" una volta che il primo revisore rifiuta il documento. Se disabilitato, lo stato del documento non cambierà fino a quando tutti i revisori non avranno terminato la revisione.',
'settings_enableRevisionOnVoteReject' => 'Rifiutato da un revisore',
@ -1498,6 +1545,8 @@ Name: [username]
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ID Ospite',
'settings_guestID_desc' => 'ID o utenza ospite utilizzata quando collegati al sito come ospite (da cambiare solo in casi eccezionali).',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Cartella web principale',
'settings_httpRoot_desc' => 'Percorso relativo nell\'URL dopo il dominio e senza il prefisso \'http://\'. Es: se l\'URL completo è http://www.esempio.com/SeedDMS/, impostare \'/SeedDMS/\'; se invece l\'URL è http://www.esempio.com/, impostare \'/\'',
'settings_incItemsPerPage' => 'Numero di inserimenti caricati a fine pagina',
@ -1516,6 +1565,7 @@ Name: [username]
'settings_install_welcome_text' => '<p>Per poter iniziare l\'installazione di SeedDMS è necessario creare un file \'ENABLE_INSTALL_TOOL\' nella cartella di configurazione \'Conf\', altrimenti l\'installazione non si avvierà. Con sistemi di tipo Unix questo può essere fatto rapidamente digitando da terminale il comando \'touch conf/ENABLE_INSTALL_TOOL\'. Dopo il completamento dell\'installazione sarà necessario cancellare tale file per poter utilizzare SeedDMS.</p><p>SeedDMS ha requisiti di funzionamento minimi: è necessario unicamente un database mysql o sqlite e un web server con php attivo. Per la funzione di ricerca fulltext di Lucene, è necessario che sia installato anche il framework Zend e che questo sia visibile da php. Per il server WebDAV è necessario anche l\'HTTP_WebDAV_Server, il cui percorso può essere impostato in secondo luogo durante l\'installazione.</p><p>Se si preferisce creare il database prima dell\'inizio dell\'installazione, allora è necessario crearlo manualmente con il tool di gestione preferito, eventualmente creare un utente con accesso al database, ed importare uno dei dump del database disponibili nella cartella di configurazione. Lo script di installazione può effettuare l\'operazione in maniera automatica, ma necessita di un accesso al database con sufficienti diritti a creare nuovi database.</p>',
'settings_install_welcome_title' => 'Benvenuti nell\'installazione di SeedDMS',
'settings_install_zendframework' => 'Installare il framework Zend, se si intende usufruire del motore di ricerca fulltext.',
'settings_invalid_guestid' => '',
'settings_language' => 'Lingua di default',
'settings_language_desc' => 'Lingua di default (nome della sottocartella corrispondente nella cartella "languages")',
'settings_libraryFolder' => 'Libreria cartelle',
@ -1706,6 +1756,7 @@ Name: [username]
'splash_add_attribute' => 'Attributo aggiunto',
'splash_add_group' => 'Gruppo aggiunto',
'splash_add_group_member' => 'Membro aggiunto al gruppo',
'splash_add_notify' => '',
'splash_add_role' => 'Aggiunto nuovo ruolo',
'splash_add_task' => '',
'splash_add_to_transmittal' => 'Aggiungere alla trasmissione',
@ -1717,6 +1768,7 @@ Name: [username]
'splash_delete_access' => 'Diritto d\'accesso cancellato',
'splash_document_added' => 'Documento aggiunto',
'splash_document_checkedout' => 'Documento approvato',
'splash_document_deleted' => '',
'splash_document_edited' => 'Documento modificato',
'splash_document_indexed' => 'Documento indicizzato',
'splash_document_locked' => 'Documento bloccato',
@ -1740,6 +1792,7 @@ Name: [username]
'splash_extension_import' => 'Extensition installed',
'splash_extension_refresh' => 'Refreshed list of extensions',
'splash_extension_upload' => 'Extension installed',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Cartella modificata',
'splash_importfs' => 'Importati [Documenti] documenti e cartelle [cartelle]',
'splash_inherit_access' => 'Il diritto di accesso verrà ereditato',
@ -1759,6 +1812,7 @@ Name: [username]
'splash_rm_folder' => 'Cartella eliminata',
'splash_rm_group' => 'Gruppo eliminato',
'splash_rm_group_member' => 'Membro del gruppo eliminato',
'splash_rm_notify' => '',
'splash_rm_role' => 'Ruolo cancellato',
'splash_rm_transmittal' => 'Trasmissione cancellato',
'splash_rm_user' => 'Utente eliminato',
@ -1786,6 +1840,7 @@ Name: [username]
'status_approval_rejected' => 'Bozza rifiutata',
'status_approved' => 'Approvato',
'status_approver_removed' => 'Approvatore rimosso dal processo',
'status_change' => 'Cambio stato',
'status_needs_correction' => 'Necessita correzioni',
'status_not_approved' => 'Non ancora approvato',
'status_not_receipted' => 'Non ancora ricevuto',
@ -1839,10 +1894,12 @@ Name: [username]
'tasks' => 'Attività',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Descrizione',
'task_disabled' => 'Disabilitata',
'task_frequency' => 'Frequenza',
'task_frequency_placeholder' => '',
'task_last_run' => 'Ultima esecuzione',
'task_name' => 'Nome',
'task_next_run' => 'Prossima esecuzione',
@ -1864,6 +1921,7 @@ Name: [username]
'timeline_skip_add_file' => 'allegato aggiunto',
'timeline_skip_scheduled_revision' => 'Riesame programmato',
'timeline_skip_status_change_-1' => 'respinto',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'scaduto',
'timeline_skip_status_change_0' => 'in attesa di revisione',
'timeline_skip_status_change_1' => 'in attesa di approvazione',
@ -1922,6 +1980,7 @@ URL: [url]',
'unknown_id' => 'ID sconosciuto',
'unknown_keyword_category' => 'Categoria sconosciuta',
'unknown_owner' => 'ID proprietario sconosciuto',
'unknown_status' => '',
'unknown_user' => 'ID utente sconosciuto',
'unlinked_content' => 'Contenuto non collegato',
'unlinked_documents' => 'Documenti non collegati',
@ -1984,6 +2043,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Visualizza on-line',
'warning' => 'Attenzione',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -24,6 +24,8 @@
$text = array(
'2_factor_auth' => '이중 인증',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '시크릿',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => '모든 사용자',
'already_subscribed' => '가입된',
'and' => '와',
'apikey' => '',
'apply' => '적용',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -240,7 +243,9 @@ URL: [url]',
'cannot_move_root' => '오류: 루트 폴더를 이동할 수 없습니다',
'cannot_retrieve_approval_snapshot' => '이 문서의 버전에 대한 승인 상태의 스냅 샷을 확인 할 수 없습니다',
'cannot_retrieve_review_snapshot' => '이 문서의 버전에 대한 검토 상태의 스냅 샷을 확인 할 수 없습니다.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => '오류 : 루트 폴더를 삭제할 수 없습니다.',
'cannot_transfer_your_objects' => '',
'categories' => '카테고리',
'categories_loading' => '카테고리 목록을 가지고 오는 중 ...',
'category' => '카테고리',
@ -264,6 +269,7 @@ URL: [url]',
'chart_docspermonth_title' => '한달간의 새문서',
'chart_docsperstatus_title' => '상태별 문서',
'chart_docsperuser_title' => '사용자별 문서',
'chart_foldersperuser_title' => '',
'chart_selection' => '차트 선택',
'chart_sizeperuser_title' => '사용자별 디스크 사용량',
'checkedout_file_has_different_version' => '확인된 버전은 현재 버전과 동일하지 않습니다. 문서를 업데이트하지 않습니다.',
@ -271,6 +277,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => '요청한 문서가 아직 변경전 상태입니다. 변경을 원하지 않는 경우 재설정 할 수 있습니다.',
'checkin_document' => '체크인',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => '체크아웃',
'checkout_is_disabled' => '체크아웃된 문서는 설정에서 비활성화됩니다.',
'choose_attrdef' => '속성의 정의를 선택하세요',
@ -286,12 +293,14 @@ URL: [url]',
'choose_workflow' => '워크플로우 선택',
'choose_workflow_action' => '워크플로우 작업 선택',
'choose_workflow_state' => '워크플로우 상태 선택',
'class_finfo_missing' => '',
'class_name' => '',
'clear_cache' => '캐시 비우기',
'clear_clipboard' => '클립 보드 제거',
'clear_password' => '암호 비우기',
'clipboard' => '클립보드',
'close' => '닫기',
'color' => '',
'command' => '커맨드',
'comment' => '주석',
'comment_changed_email' => '',
@ -405,12 +414,14 @@ URL: [url]',
사용자: [username]',
'document_deleted_email_subject' => '[sitename]:[name] - 삭제된 문서',
'document_duplicate_name' => '중복 문서 이름',
'document_files' => '',
'document_has_no_workflow' => '문서에 워크플로우가 없습니다',
'document_infos' => '문서 정보',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '문서가 현재 체크아웃 되어 있습니다. 새 버전을 업로드하면 체크아웃된 버전은 더 이상 확인 할 수 없습니다.',
'document_is_not_locked' => '잠겨 있지 않은 문서',
'document_links' => '',
'document_link_by' => '연결',
'document_link_public' => '공개',
'document_moved_email' => '이동된 문서',
@ -448,6 +459,7 @@ URL: [url]',
사용자: [username]
URL: [url]',
'document_updated_email_subject' => '[name]:[sitename] - 업데이트 된 문서',
'document_versions' => '',
'does_not_expire' => '만료 안됨',
'does_not_inherit_access_msg' => '액세스 상속',
'download' => '내려받기',
@ -482,6 +494,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => '빠른 업로드',
'drop_files_here' => '이곳에 파일을 올려놓으세요!',
'drop_files_here_or_click' => '',
'dump_creation' => 'DB 덤프 생성',
'dump_creation_warning' => '이 작업으로 만들 수있는 데이터베이스 내용의 덤프 파일. 작성 후 덤프 파일은 서버의 데이터 폴더에 저장됩니다.',
'dump_list' => '덤프된 파일',
@ -531,6 +544,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -652,6 +666,7 @@ URL: [url]',
'fulltextsearch_disabled' => '',
'fulltext_converters' => '인덱스 문서 변환',
'fulltext_info' => '전체 텍스트 색인 정보',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => '속성',
'global_default_keywords' => '글로벌 키워드',
@ -667,6 +682,7 @@ URL: [url]',
'group_management' => '그룹 관리',
'group_members' => '카페 회원',
'group_receipt_summary' => '그룹 접수 요약',
'group_review_removed' => '',
'group_review_summary' => '그룹 검토 요약',
'group_revision_summary' => '',
'guest_login' => '게스트로 로그인',
@ -695,16 +711,23 @@ URL: [url]',
'include_subdirectories' => '하위 디렉터리 포함',
'indexing_tasks_in_queue' => '큐에서 대기중인 색인 작업들',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => '마침',
'index_error' => '오류',
'index_folder' => '인덱스 폴더',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => '기다리는 중',
'individuals' => '개인',
'individuals_in_groups' => '개별 그룹',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => '상속',
'inherits_access_copy_msg' => '상속 액세스 목록 복사',
'inherits_access_empty_msg' => '빈 액세스 목록으로 시작',
@ -748,8 +771,10 @@ URL: [url]',
'js_no_approval_status' => '승인 상태를 선택하세요',
'js_no_comment' => '코멘트가 없습니다',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => '귀하의 전자우편 주소를 기입해주세요.',
'js_no_file' => '파일을 선택하세요',
'js_no_folder' => '',
'js_no_keywords' => '몇 가지 키워드를 지정',
'js_no_login' => '사용자명을 입력해주십시오.',
'js_no_name' => '이름을 입력해주십시오.',
@ -792,6 +817,7 @@ URL: [url]',
'lock_document' => '잠그기',
'lock_message' => '이 문서는 [username].에 의해 잠겨 있습니다. 허가 된 사용자 만이 문서를 잠금을 해제 할 수 있습니다.',
'lock_status' => '상태',
'logfile' => '',
'logfile_loading' => '',
'login' => '로그인',
'login_disabled_text' => '귀정 이상 로그인 실패로 당신의 계정을사용할 수 없습니다.',
@ -827,7 +853,9 @@ URL: [url]',
'missing_checksum' => '검사 누락',
'missing_file' => '누락 된 파일',
'missing_filesize' => '누락 된 파일 크기',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => '변화에 대한 사용자 / 그룹을 누락',
@ -844,6 +872,12 @@ URL: [url]',
'my_documents' => '내 문서',
'my_transmittals' => '내 송부',
'name' => '이름',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => '',
'needs_correction' => '',
'needs_workflow_action' => '이 문서는 당신의주의가 필요합니다. 워크플로우 탭을 확인하시기 바랍니다.',
@ -901,11 +935,13 @@ URL: [url]',
사용자: [username]
URL : [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - 알림목록으로부터 제거됨',
'not_subscribed' => '',
'november' => '11월',
'now' => '지금',
'no_action' => '조치가 필요하지 않습니다',
'no_approval_needed' => '승인을 보류하지 않습니다',
'no_attached_files' => '첨부 파일 없음',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => '당신은 이전 버전의 SeedDMS를 사용하고 있습니다. 사용 가능한 최신 버전은 [latestversion] 입니다.',
@ -968,6 +1004,8 @@ URL : [url]',
'password_forgotten_send_hash' => '사용자의 이메일 주소로 전송 진행 방법에 대한 지침',
'password_forgotten_text' => '아래의 양식을 작성하시고 당신에게 보낼 이메일에 있는 지시 사항을 따르십시오.',
'password_forgotten_title' => '비밀번호 전송',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => '암호 반복',
'password_send' => '비밀번호 전송',
'password_send_text' => '로그인 및 이메일이 기존 사용자와 일치하는 경우 새 암호가 지정된 이메일 주소로 전송됩니다. 당신이 잠시후 이메일을 수신하지 못했으면 반드시 로그인 및 이메일 모두가 올바른지 확인하고 프로세스를 다시 시작 하세요.',
@ -1046,9 +1084,13 @@ URL : [url]',
URL: [url]',
'removed_workflow_email_subject' => '[sitename] : [name] - 문서 버전에서 제거 된 워크플로우',
'removeFolderFromDropFolder' => '',
'remove_approval_log' => '',
'remove_marked_files' => '마크 파일을 제거',
'remove_review_log' => '',
'repaired' => '복구',
'repairing_objects' => '문서 및 폴더 복구',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => '워크플로우는 당신의 작업을 필요로 하는 상태에 도달했습니다.
문서: [name]
버전: [version]
@ -1202,6 +1244,7 @@ URL : [url]',
'search' => '검색',
'search_fulltext' => '전체 텍스트 검색',
'search_in' => '검색내',
'search_mode' => '',
'search_mode_and' => '모든 단어',
'search_mode_documents' => '문서만',
'search_mode_folders' => '폴더만',
@ -1243,6 +1286,7 @@ URL : [url]',
'select_mimetype' => '',
'select_one' => '선택',
'select_owner' => '',
'select_status' => '',
'select_user' => '',
'select_users' => '사용자를 선택합니다',
'select_value' => '',
@ -1297,6 +1341,7 @@ URL : [url]',
'settings_checkOutDir_desc' => '이것은 문서가 체크아웃된 문서의 최신 내용이 복사되는 디렉토리입니다. 사용자를 위해 이 디렉토리에 액세스 할 수 있도록 하면 파일을 편집하고 종료시 그것을 다시 확인할 수 있습니다.',
'settings_cmdTimeout' => '작업 시간 초과',
'settings_cmdTimeout_desc' => '외부로부터 요청된 명령의 종료시점 까지의 소요시간(예: 전체 텍스트 인덱스 생성시간)',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => '내용 디렉토리',
'settings_contentDir_desc' => '업로드 된 파일의 저장 위치(웹 서버를 통해 액세스 할 수없는 디렉토리를 선택하는 것이 가장 좋습니다)',
'settings_contentOffsetDir' => '내용 오프셋 디렉토리',
@ -1414,6 +1459,8 @@ URL : [url]',
'settings_enableReceiptWorkflow_desc' => '문서의 수신 확인을 위해 워크플로어를 선택하고 활성화 합니다.',
'settings_enableRecursiveCount' => '재귀적 문서 / 폴더 수 사용',
'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1465,6 +1512,8 @@ URL : [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Guest ID',
'settings_guestID_desc' => 'Guest로 로그인 할 때 사용하는 ID (변경이 필요치 않음)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'HTTP Root',
'settings_httpRoot_desc' => 'URL의 상대 경로, 도메인 이후 부분 HTTP:// 접두사 를 포함하지 마십시오. 전체 URL이 http://www.example.com/seeddms/ 경우에는 \'/seeddms/\'로 설정합니다. URL이 http://www.example.com/에는 설정이 \'/\' 입니다.',
'settings_incItemsPerPage' => '',
@ -1483,6 +1532,7 @@ URL : [url]',
'settings_install_welcome_text' => '<p>SeedDMS 설치를 시작하기 전에, 구성 디렉토리에 파일\'ENABLE_INSTALL_TOOL\'이 있는지 확인 바랍니다. 그렇지 않으면 설치가 작동하지 않습니다. 유닉스 시스템에서 다음 명령으로 쉽게 생성 가능 합니다. \'touch conf / ENABLE_INSTALL_TOOL\'. 설치f를 완료 한 후 파일을 삭제합니다.</p><p>SeedDMS는 설치시에 최소한의 요구 사항이 있습니다. MySQL 데이터베이스 또는 SQLite와 PHP를 지원하는 웹 서버가 필요합니다. pear package Log도 설치해야 합니다. 전체 텍스트 검색을 위해 lucene , Zend framework가 필요합니다. WebDAV를 위한 HTTP_WebDAV_Server가 필요합니다. 관련 경로는 설치 중이나 나중에 설정가능 합니다.</p><p>설치를 시작하기 전에 데이터베이스를 만들려면 경우, 데이터베이스에 액세스 할 수 있는 사용자를 생성해야 하고 이 사용자는 설치 스크립트뿐만 아니라 데이터베이스를 만들 수있는 충분한 권한을 가진 액세스 권한을 필요로 합니다.</p>',
'settings_install_welcome_title' => 'SeedDMS의 설치를 환영합니다.',
'settings_install_zendframework' => '전체 텍스트 검색 엔진을 사용하려는 경우 Zend Framework 설치',
'settings_invalid_guestid' => '',
'settings_language' => '기본 언어',
'settings_language_desc' => '기본 언어(폴더 내에 있는 서브 폴더 이름은 "languages")',
'settings_libraryFolder' => '라이브러리 폴더',
@ -1673,6 +1723,7 @@ URL : [url]',
'splash_add_attribute' => '새로운 속성 추가',
'splash_add_group' => '새 그룹이 추가',
'splash_add_group_member' => '새 그룹 구성원 추가',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1684,6 +1735,7 @@ URL : [url]',
'splash_delete_access' => '',
'splash_document_added' => '문서를 추가',
'splash_document_checkedout' => '문서 체크아웃',
'splash_document_deleted' => '',
'splash_document_edited' => '문서 저장',
'splash_document_indexed' => '',
'splash_document_locked' => '문서 잠김',
@ -1707,6 +1759,7 @@ URL : [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => '저장 폴더 변경',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1726,6 +1779,7 @@ URL : [url]',
'splash_rm_folder' => '폴더 삭제',
'splash_rm_group' => '그룹 제거',
'splash_rm_group_member' => '회원 그룹 제거',
'splash_rm_notify' => '',
'splash_rm_role' => '역할 지워짐',
'splash_rm_transmittal' => '',
'splash_rm_user' => '사용자 제거',
@ -1753,6 +1807,7 @@ URL : [url]',
'status_approval_rejected' => '거부된 초안',
'status_approved' => '승인',
'status_approver_removed' => '승인 과정에서 제거',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => '승인되지 않음​​',
'status_not_receipted' => '아직 접수 않된',
@ -1806,10 +1861,12 @@ URL : [url]',
'tasks' => '작업',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1831,6 +1888,7 @@ URL : [url]',
'timeline_skip_add_file' => '첨부 파일 이 추가 되었습니다',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '거부',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => '만료',
'timeline_skip_status_change_0' => '보류된 검토',
'timeline_skip_status_change_1' => '보류된 승인',
@ -1889,6 +1947,7 @@ URL : [url]',
'unknown_id' => '알 수없는 ID',
'unknown_keyword_category' => '알 수없는 범주',
'unknown_owner' => '알 수없는 소유자 ID',
'unknown_status' => '',
'unknown_user' => '알 수 없는 사용자 ID',
'unlinked_content' => '연결되지 않은 내용',
'unlinked_documents' => '연결되지 않은 문서',
@ -1951,6 +2010,8 @@ URL : [url]',
'view_folder' => '',
'view_online' => '온라인으로 보기',
'warning' => '경고',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -24,6 +24,8 @@
$text = array(
'2_factor_auth' => 'ການກວດສອບແບບ 2 ປັດໃຈ',
'2_factor_auth_info' => 'ລະບົບນີ້ໄຊ້ການກວດສອບແບບ 02 ປັດໃຈ. ເຈົ້າຈະຕ້ອງມີ Google Authenticator ໃນໂທລະສັບມືຖືຂອງທ່ານ. ດ້ານລຸ່ມແມ່ນມີ QR Codes ສອງແບບ ທາງດ້ານຂວາຈະມີຄວາມເປັນສ່ວນຕົວຂອງເຈົ້າ, ສ່ວນດ້ານຊ້າຍຂອງເຈົ້າແມ່ນຈະສາມາດຕັ້ງຄ່າຄວາມເປັນສ່ວນຕົວໄຫມ່. ຖ້າເຈົ້າຕັ້ງຄ່າຄວາມເປັນສ່ວນຕົວໄຫມ່ຮຽບຮ້ອຍ ແລ້ວນັ້ນໃຫ້ແນ່ໃຈວ່າໄດ້ສະແກນອີກຄັ້ງດ້ວຍ Google Authenticator',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'ຄວາມລັບ',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'ຜູ້ໃຊ້ທັງໝົດ',
'already_subscribed' => 'ສະໝັກຮັບຂໍ້ມູນແລ້ວ',
'and' => 'ແລະ',
'apikey' => '',
'apply' => 'ໃຊ້',
'approvals_accepted' => '[no_approvals] ອະນຸມັດໂດຍບໍ່ຕ້ອງສຳພັດ',
'approvals_accepted_latest' => '',
@ -236,7 +239,9 @@ URL: [url]',
'cannot_move_root' => 'ຂໍ້ຜິດພາດ: ບໍ່ສາມາດຍ້າຍໂຟລເດີຫຼັກ',
'cannot_retrieve_approval_snapshot' => 'ບໍ່ສາມາດດືງຂໍ້ມູນສະຖານະການອະນຸມັດ ສຳລັບ snapshot ຂອງເອກະສານສະບັບນີ້ໄດ້',
'cannot_retrieve_review_snapshot' => 'ບໍ່ສາມາດຮຽກຂໍ້ມູນການຕວດສອບສະຖານະສຳລັບເອກະສານສະບັບນີ້ໄດ້',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'ຂໍ້ຜິດພາດ: ບໍ່ສາມາດຍ້າຍໂຟລເດີຫຼັກ',
'cannot_transfer_your_objects' => '',
'categories' => 'ປະເພດ',
'categories_loading' => 'ກະລຸນາລໍຖ້າ, ຈົນກວ່າປະເພດລາຍການຈະຖືກໂຫລດ …',
'category' => 'ປະເພດ',
@ -260,6 +265,7 @@ URL: [url]',
'chart_docspermonth_title' => 'ເອກະສານໄຫມ່ປະຈຳເດືອນ',
'chart_docsperstatus_title' => 'ສະຖານະຂອງເອກະສານ',
'chart_docsperuser_title' => 'ເອກະສານສຳລັບຜູ້ໄຊ້',
'chart_foldersperuser_title' => '',
'chart_selection' => 'ເລືອກຕາຕະລາງ',
'chart_sizeperuser_title' => 'ພື້ນທີດິສຂອງຜູ້ນຳໄຊ້',
'checkedout_file_has_different_version' => 'ເວີຊັ້ນເຊັດເອົາບໍ່ຄືກັບເວີຊັນປະຈຸບັນ ໃນຂະນະທີເຊັກອິນຈະບໍ່ມີການປັບປຸງເອກະສານ',
@ -267,6 +273,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'ໄຟລຂອງເອກະສານເຊັກເອົາຍັງຄົງເດີມ ບໍ່ສາມາດເຊັກອິນໄດ້ ຖ້າຫາກບໍ່ມີການວາງແຜນແກ້ໄຂໄດໆ ເຈົ້າສາມາດລີເຊັດສະຖານະເຊັກເອົາ',
'checkin_document' => 'ເຊັກອຶນ',
'checkoutpath_does_not_exist' => 'ບໍ່ມີເສັ້ນທາງເຊັກເອົາ',
'checkout_cancel_confirm' => '',
'checkout_document' => 'ເຊັກເອົາ',
'checkout_is_disabled' => 'ໃນການກຳນົດຄ່າເຊັກເອົາເອກະສານໄດ້ຖືກປິດໄຊ້ງານ',
'choose_attrdef' => 'ກະລຸນາເລືອກນິຍາມແອັດທິບິວ',
@ -282,12 +289,14 @@ URL: [url]',
'choose_workflow' => 'ເລືອກເວີກໂຟລ',
'choose_workflow_action' => 'ເລືອກການເຮັດວຽກຂອງເວີກໂຟລ',
'choose_workflow_state' => 'ເລືອກສະຖານະຂອງເວີກໂຟລ',
'class_finfo_missing' => '',
'class_name' => 'ຊື່ຊັ້ນຮຽນ',
'clear_cache' => 'ລ້າງແຄຣ',
'clear_clipboard' => 'ລ້າງຄິບບອສ',
'clear_password' => 'ລ້າງລະຫັດ',
'clipboard' => 'ຄິບບອດ',
'close' => 'ປຶດ',
'color' => '',
'command' => 'ຄຳສັ່ງ',
'comment' => 'ຄຳຄຶດເຫັນ',
'comment_changed_email' => '',
@ -400,12 +409,14 @@ URL: [url]',
ຜູ້ໄຊ້: [username]',
'document_deleted_email_subject' => '[sitename]:[name] - ເອກະສານ',
'document_duplicate_name' => 'ຊື່ເອກະສານຊໍ້າ',
'document_files' => '',
'document_has_no_workflow' => 'ເອກະສານບໍ່ມີເວີກໂຟ',
'document_infos' => 'ຂໍ້ມູນເອກະສານ',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'ຂະນະນີ້ມີການກວດສອບເອກະສານ ຫາກເຈົ້າອັບໂຫລດເວີຊັນໄຫມ່ລະບົບຈະບໍ່ສາມາດກວດສອບລະບົບທີປິດອອກໄດ້ອີກຕໍ່ໄປ',
'document_is_not_locked' => 'ເອກະສານນີ້ແມ່ນບໍ່ໄດ້ລັອກ',
'document_links' => '',
'document_link_by' => 'ເຊື່ອມໂຢງໂດຍ',
'document_link_public' => 'ສາທາລະນະ',
'document_moved_email' => 'ຍ້າຍເອກະສານແລ້ວ',
@ -445,6 +456,7 @@ URL: [url]',
ຄວາມຄິດເຫັນກ່ຽວກັບເວີຊັນ: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]:[name] - ອັບເດດເອກະສານແລ້ວ',
'document_versions' => '',
'does_not_expire' => 'ຍັງບໍ່ຫມົດອາຍຸ',
'does_not_inherit_access_msg' => 'ໄດ້ຮັບສິດການເຂົ້າເຖິງ',
'download' => 'ດາວໂຫລດ',
@ -479,6 +491,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'ອັບໂຫລດຢ່າງວ່ອງໄວ',
'drop_files_here' => 'ວາງໄຟລທີນີ້!',
'drop_files_here_or_click' => '',
'dump_creation' => 'ການສ້າງຂໍ້ມູນ DB',
'dump_creation_warning' => 'ດ້ວຍການດຳເນີນການນີ້ເຈົ້າສາມາດສ້າງແຟ້ມການຖ່າຍໂອນຂໍ້ມູນຂອງຖານເນື້ອຫາຂໍ້ມູນຈະໄດ້ຮັບການບັນທຶກໄວ້ໃນໂຟລເດີຂໍ້ມູນ',
'dump_list' => 'ແຟ້ມການຖ່າຍໂອນຂໍ້ມູນທີ່ມີຢູ່',
@ -528,6 +541,7 @@ URL: [url]',
'error_add_aro' => 'ເກີດຂໍຜິດພາດຂະນະເພີ່ມການເພີ່ມຄຳຂໍການເຂົາເຖິງ',
'error_add_permission' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະເພີ່ມສິດ',
'error_cleared_cache' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະລ້າງແຄຣ',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະເຂົ້າລະບົບໄຟລຟອມ',
@ -649,6 +663,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'ສາລະບານຂໍ້ຄວາມໄດ້ຖືກປິດໄຊ້ງານ',
'fulltext_converters' => '',
'fulltext_info' => 'ສາລະບານຂໍ້ຄວາມແບບເຕັມຮູບແບບ',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'ກຸ່ມແອັດທີບິວ',
'global_attributedefinitions' => 'ແອັດທີບິວ',
'global_default_keywords' => 'ຄຳຫຼັກທົ່ວໂລກ',
@ -664,6 +679,7 @@ URL: [url]',
'group_management' => 'ການຈັດການກຸ່ມ',
'group_members' => 'ສະມາຊິກກຸ່ມ',
'group_receipt_summary' => 'ພາບລວມການຢືນຢັນເນື້ອຫາຂອງກຸ່ມ',
'group_review_removed' => '',
'group_review_summary' => 'ສະຫຼຸບບົດວິຈານຂອງກຸ່ມ',
'group_revision_summary' => '',
'guest_login' => 'ເຂົ້າສູ້ລະບົບໃນຖານະແຂກ',
@ -692,16 +708,23 @@ URL: [url]',
'include_subdirectories' => 'ລວມໄດເລັກທໍລີຍ່ອຍ',
'indexing_tasks_in_queue' => 'ຈັດທຳດັດສະນີວຽກໃນຄິວ',
'index_converters' => 'ການແປງເອກະສານດັດສະນີ',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => 'ສຳເລັດ',
'index_error' => 'ຂໍ້ຜິດພາດ',
'index_folder' => 'ໂຟລເດີດັດສະນີ',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => 'ລໍຖ້າດຳເນີນການ',
'index_waiting' => 'ຖ້າ',
'individuals' => 'ບຸກຄົນ',
'individuals_in_groups' => 'ສະມາຊິກຂອງກຸ່ມ',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'ຮັບການຖ່າຍທອດ',
'inherits_access_copy_msg' => 'ຄັດລັອກລາຍການເຂົາເຖິງທີສືບທອດ',
'inherits_access_empty_msg' => 'ເລີ້ມຕົ້ນດ້ວຍລາຍການທີ່ວ່າງເປົ່າ',
@ -745,8 +768,10 @@ URL: [url]',
'js_no_approval_status' => 'ກະລຸນາເລືອກສະຖານະການອະນຸມັດ',
'js_no_comment' => 'ບໍ່ມີຄວາມຄິດເຫັນ',
'js_no_currentpwd' => 'ໂປດປ້ອນລະຫັດຜ່ານປັດຈຸບັນຂອງເຈົ້າ',
'js_no_document' => '',
'js_no_email' => 'ພິມອີເມວແອັດແດຣດຂອງທ່ານ',
'js_no_file' => 'ກະລຸນາເລືອກຟາຍ',
'js_no_folder' => '',
'js_no_keywords' => 'ລະບຸຄຳຫຼັກບາງຄຳ',
'js_no_login' => 'ກະລຸນາພິມຊື່ຜູ້ໃຊ້',
'js_no_name' => 'ກະລຸນາພິມຊື່',
@ -789,6 +814,7 @@ URL: [url]',
'lock_document' => 'ລັອກ',
'lock_message' => 'ເອກະສານນີ້ຖືກລັອກໂດຍ [username] ສະເພາະຜູ້ໄຊ້ທີ່ໄດ້ຮັບອະນຸຍາດເທົ່ານັ້ນທີ່ສາມາດປົດລັອກເອກະສານນີ້ໄດ້',
'lock_status' => 'ສະຖານະ',
'logfile' => '',
'logfile_loading' => '',
'login' => 'ເຂົ້າສຸ່ລະບົບ',
'login_disabled_text' => 'ບັນຊີຂອງເຈົ້າໄດ້ຖືກປິດໄຊ້ງານອາດເປັນເພາະການລັອກອິນເຂົ້າລະບົບລົ້ມເຫຼວຫລາຍຄັ້ງເກີນໄປ',
@ -824,7 +850,9 @@ URL: [url]',
'missing_checksum' => 'ບໍ່ມີການກວດສອບ',
'missing_file' => 'ບໍ່ມີຟາຍ',
'missing_filesize' => 'ບໍ່ມີຂະໜາດໄຟລ',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => 'ຂາດການຕອນຮັບ',
'missing_request_object' => 'ການສະເໜີຄຳຂໍໄດ້ຫາຍໄປ',
'missing_transition_user_group' => 'ບໍ່ມີຜູ້ໄຊ້/ ກຸ່ມສຳລັບການປ່ຽນແປງ',
@ -841,6 +869,12 @@ URL: [url]',
'my_documents' => 'ເອກະສານຂອງຂ້ອຍ',
'my_transmittals' => 'ການຂົນສົ່ງຂອງຂ້ອຍ',
'name' => 'ຊື່',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => '',
'needs_correction' => '',
'needs_workflow_action' => 'ກະລຸນາກວດສອບແທັບເວີກໂຟລ,ເອກະສານນີ້ຕ້ອງໃຫ້ຄວາມລະອຽດແລະເອົາໃຈໄສ່',
@ -898,11 +932,13 @@ URL: [url]',
ຜູ້ໄຊ້: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]:[name] - ນຳອອກຈາກການແຈ້ງເຕືອນແລ້ວ',
'not_subscribed' => '',
'november' => 'ເດືອນພະຈິກ',
'now' => 'ຕອນນີ້',
'no_action' => 'ບໍ່ຕ້ອງດຳເນີນການໄດໆ',
'no_approval_needed' => 'ຍັງບໍ່ມີການອະນຸມັດ',
'no_attached_files' => 'ບໍ່ມີການແນບໄຟລມາ',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => 'ເຈົ້າກຳລັງນຳໄຊ້ເວີຊັນເກົ່າຄື ຊິສ DMS. ສວນເວີຊັນທີ່ມີຢູ່ລ້າສຸດຄື [latestversion]',
@ -973,6 +1009,8 @@ URL: [url]',
'password_forgotten_send_hash' => 'ຄຳແນະນຳໃນການດຳເນີນການຖືກສົ່ງໄປຫາອີເມວຂອງຜູ້ນຳໄຊ້',
'password_forgotten_text' => 'ກະລຸນາຂຽນແບບຟອມດ້ານລຸ່ມ ແລະເຮັດຕາມຄຳແນະນຳໃນອີເມວທີໄດ້ສົ່ງຫາເຈົ້າ',
'password_forgotten_title' => 'ສົ່ງລະຫັດຜ່ານ',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'ຢຳລະຫັດຜ່ານ',
'password_send' => 'ສົ່ງລະຫັດຜ່ານ',
'password_send_text' => 'ລະຫັດຜ່ານໄຫມ່ຂອງເຈົ້າໄດ້ຖືກສົ່ງໄປຕາມທີ່ຢູ່ຂອງອີເມວ, ຖ້າການເຂົ້າລະບົບ ແລະອີເມວກົງກັບຜູ້ໄຊ້ທີມີຢູ່, ຖ້າເຈົ້າບໍ່ໄດ້ຮັບອີເມວພາຍຫຼັງນາທີທັດໄປ, ກວດຄືນໃຫ້ແນ່ໃຈວ່າທັ່ງການ Login ເຂົ້າສູ້ລະບົບ ແລະອີເມວວ່າຖືກຕ້ອງແລະເລີ່ມຕົ້ນດຳເນີນການໄຫມ່ອີກຄັ້ງ',
@ -1062,9 +1100,13 @@ URL: [url]',
URL: [url]',
'removed_workflow_email_subject' => '[sitename]:[name] - ຍ້າຍການເຮັດວຽກ (ເວີກໂຟລ) ອອກຈາກເວີຊັ້ນຂອງເອກະສານ',
'removeFolderFromDropFolder' => 'ຍ້າຍໂຟລເດີຫຼັງຈາກນຳຂໍ້ມູນເຂົ້າ',
'remove_approval_log' => '',
'remove_marked_files' => 'ລົບໄຟລທີມີເຄື່ອງໝາຍໄວ້',
'remove_review_log' => '',
'repaired' => 'ການສ້ອມແປງ',
'repairing_objects' => 'ການສ້ອມແປງເອກະສານແລະໂຟລເດີ',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'ຂັນຕອນການເຮັດວຽກເປັນສະຖານະຂອງການປະຕິບັດງານຂອງເຈົ້າແລ້ວ
ເອກະສານ: [name]
ເວີຊັນ: [version]
@ -1223,6 +1265,7 @@ URL: [url]',
'search' => 'ຄົ້ນຫາ',
'search_fulltext' => 'ຄົ້ນຫາແບບເຕັມຮູບແບບ',
'search_in' => 'ຄົ້ນຫາໃນ',
'search_mode' => '',
'search_mode_and' => 'ທຸກຄຳ',
'search_mode_documents' => 'ເອກະສານຢ່າງດຽວ',
'search_mode_folders' => 'ໂຟລເດີຢ່າງດຽວ',
@ -1264,6 +1307,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'ເລືອກໜື່ງອັນ',
'select_owner' => '',
'select_status' => '',
'select_user' => '',
'select_users' => 'ຄິກເພື່ອເລືອກຜູ້ໄຊ້',
'select_value' => '',
@ -1323,6 +1367,7 @@ URL: [url]',
'settings_checkOutDir_desc' => 'ນີ້ແມ່ນໄດເລັກທໍລີຄັດເລືອກເນື້ອຫາລ້າສຸດຂອງເອກະສານໄວ້ໃນກໍລະນີທີ່ມີການກວດສອບເອກະສານ ຖ້າເຈົ້າເຮັດໃຫ້ໄດ້ເລັກທໍລີ້ນີສາມາດເຂົ້າເຖິງໄດ້ສຳລັບຜູ້ໄຊ້ສາມາດແກ້ໄຂໄຟລແລະກວດສອບຍ້ອນຫຼັງໄດ້ເມື່ອສ້າງສຳເລັດ',
'settings_cmdTimeout' => 'ໝົດເວລາສຳລັບຄຳສັ່ງພາຍນອກ',
'settings_cmdTimeout_desc' => 'ຊ່ວງເວລານີ້ເປັນໜ່ວຍວິນາທີກຳນົດເມື່ອຄຳສັ່ງພາຍນອກ ເຊັ່ນສຳລັບສ້າງດັດສະນີຂໍ້ຄວາມທັງໝົດ ຈະຖືກຍົກເລີກ',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'ເນື້ອຫາໄດເລັກທໍລີ',
'settings_contentDir_desc' => 'ໄຟລທີອັບໂຫລດຈະຖືກເກັບໄວ້ (ເລືອກໄດເລັກທໍລີບໍ່ສາມາດເຂົ້າເຖິງໄດ້ຈາກເວັບເຊີເວີຂອງເຈົ້າ)',
'settings_contentOffsetDir' => 'ໄດ້ປິດເນື້ອໃນໄດເລັກທໍລີ',
@ -1440,6 +1485,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => 'ເປີດໄຊ້ງານການນັບເອກະສານ/ໂຟລເດີນັບຊໍ້າ',
'settings_enableRecursiveCount_desc' => 'ຫາກເປີດໄຊ້ງານຈຳນວນເອກະສານແລະໂຟລເດີໃນມຸມມອງຂອງໂຟລເດີຈະຖືກກຳນົດໂດຍນັບວັດຖຸທັງໝົດໂດຍປະມວນຜົນໂຟລເດີໂຟລເດີຊຳ, ນັບເກະສານ ແລະໂຟລເດີທີຜູ້ໄຊ້ສາມາດເຂົ້າເຖິງໄດ້',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1491,6 +1538,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ລະຫັດຂອງແຂກຜູ້ທີມາຢ້ຽມເຢືອນ',
'settings_guestID_desc' => 'ລະຫັດຂອງແຂກຜູ້ທີມານຳໄຊ້ເມື່ອລັອກອອນເຂົ້າສູ້ລະບົບໃນຖານະແຂກ (ສ່ວນຫຼາຍແມ່ນບໍ່ຈຳເປັນຕ້ອງປ່ຽນແປງຫຍັງ)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'ຮາກຖານ Http',
'settings_httpRoot_desc' => 'ເສັນທາງທີ່ກ່ຽວພັນໃນ URL',
'settings_incItemsPerPage' => '',
@ -1509,6 +1558,7 @@ URL: [url]',
'settings_install_welcome_text' => '<p> ก่อนที่คุณจะเริ่มติดตั้ง SeedDMS ตรวจสอบให้แน่ใจว่าคุณได้สร้างแฟ้ม "เปิดใช้งาน _ ติดตั้ง _ เครื่องมือ " ไว้ในไดเร็กทอรีการกำหนดค่าของคุณมิฉะนั้นการติดตั้งจะไม่ทำงาน ใน Unix-System คุณสามารถทำได้อย่างง่ายดายด้วย "touch conf / เปิดใช้งาน _ ติดตั้ง _ เครื่องมือ " หลังจากติดตั้งเสร็จแล้วให้ลบไฟล์ </ p> <p> SeedDMS มีข้อกำหนดที่น้อยมาก คุณจะต้องมีฐานข้อมูล mysql หรือ sqlite support และเว็บเซิร์ฟเวอร์ที่เปิดใช้งาน PHP ต้องติดตั้งชุดล็อกลูกแพร์ด้วย สำหรับการค้นหาข้อความแบบลูซินเต็มรูปแบบคุณจำเป็นต้องมีกรอบ Zend ที่ติดตั้งอยู่ในแผ่นดิสก์ซึ่งสามารถค้นหาได้จาก php สำหรับเซิร์ฟเวอร์ WebDAV คุณจะต้องมี HTTP_WebDAV_Server เส้นทางต่อไปจะสามารถตั้งค่าได้ในระหว่างการติดตั้ง </ p> <p> ถ้าคุณต้องการสร้างฐานข้อมูลก่อนที่จะเริ่มติดตั้งจากนั้นเพียงแค่สร้างมันด้วยตัวเองด้วยเครื่องมือที่คุณชื่นชอบและสร้างฐานข้อมูลผู้ใช้งานด้วยการเข้าถึงฐานข้อมูล และนำเข้าฐานข้อมูลทิ้งในไดเร็กทอรีการกำหนดค่า สคริปต์การติดตั้งสามารถทำได้สำหรับคุณเช่นกัน แต่จะต้องมีสิทธิ์เข้าถึงฐานข้อมูลในการสร้างฐานข้อมูลอย่างเพียงพอ </ p>',
'settings_install_welcome_title' => 'ຍິນດີຕ້ອນຮັບສູ້ການຕິດຕັ້ງ SeedDMS',
'settings_install_zendframework' => 'ติดตั้ง Zend Framework ถ้าคุณต้องการใช้เครื่องมือค้นหาข้อความเต็ม zend มิฉะนั้นให้ละเว้นข้อความนี้และดำเนินการติดตั้งต่อ.',
'settings_invalid_guestid' => '',
'settings_language' => 'ເລີ້ມຕົ້ນພາສາ',
'settings_language_desc' => 'ເລີມຕົ້ນພາສາ (ຊື່ຂອງໂຟລເດີຍ່ອຍໃນໂຟລເດີຊອງ "ພາສາ")',
'settings_libraryFolder' => 'ໂຟລເດີຫ້ອງສະໝຸດ',
@ -1699,6 +1749,7 @@ URL: [url]',
'splash_add_attribute' => 'ເພີ່ມແອັດທີບິວໄຫມ່',
'splash_add_group' => 'ເພີ່ມກຸ່ມໄຫມ່ແລ້ວ',
'splash_add_group_member' => 'ເພີ່ມສະມາຊິກໄໝ່ແລ້ວ',
'splash_add_notify' => '',
'splash_add_role' => 'ເພີ່ມບົດບາດໄຫມ່',
'splash_add_task' => '',
'splash_add_to_transmittal' => 'ເພີ່ມການສົ່ງຜ່ານ',
@ -1710,6 +1761,7 @@ URL: [url]',
'splash_delete_access' => '',
'splash_document_added' => 'ເພີ່ມເອກະສານແລ້ວ',
'splash_document_checkedout' => 'ໄດ້ອອກຈາກເອກະສານແລ້ວ',
'splash_document_deleted' => '',
'splash_document_edited' => 'ບັນທຶກເອກະສານແລ້ວ',
'splash_document_indexed' => 'ເອກະສານ "[name] " ຈັດເຮັດດັດສະນີແລ້ວ',
'splash_document_locked' => 'ເອກະສານຖືກລັອກ',
@ -1733,6 +1785,7 @@ URL: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'ບັນທິກການປ່ຽນແປງໂຟລເດີ',
'splash_importfs' => 'ນຳເຂົ້າ [docs] ເອກະສານແລະໂຟລເດີ [folders]',
'splash_inherit_access' => '',
@ -1752,6 +1805,7 @@ URL: [url]',
'splash_rm_folder' => 'ລົບໂຟລເດີແລ້ວ',
'splash_rm_group' => 'ລົບກຸ່ມແລ້ວ',
'splash_rm_group_member' => 'ສະມະຊິກຂອງກຸ່ມໄດ້ຖືກລົບອອກຈາກກູຸ່ມ',
'splash_rm_notify' => '',
'splash_rm_role' => 'ລົບບົດບາດແລ້ວ',
'splash_rm_transmittal' => 'ຍົກເລີກການລົບແລ້ວ',
'splash_rm_user' => 'ລົບຜູ້ໄຊ້ແລ້ວ',
@ -1779,6 +1833,7 @@ URL: [url]',
'status_approval_rejected' => 'ຮ່າງຖືກປະຕິເສດ',
'status_approved' => 'ໄດ້ຮັບການອະນຸມັດ',
'status_approver_removed' => 'ຜູ້ອະນຸມັດນຳອອກຈາກກະບວນການ',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'ບໍ່ອະນຸມັດ',
'status_not_receipted' => 'ຍັງບໍ່ໄດ້ຮັບເທື່ອ',
@ -1832,10 +1887,12 @@ URL: [url]',
'tasks' => 'ງານ',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1857,6 +1914,7 @@ URL: [url]',
'timeline_skip_add_file' => 'ເພີ່ມໄຟລແນບແລ້ວ',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'ປະຕິເສດ',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'ວັນໝົດອາຍຸ',
'timeline_skip_status_change_0' => 'ລໍການກວດສອບ',
'timeline_skip_status_change_1' => 'ລໍຖ້າການອະນຸມັດ',
@ -1915,6 +1973,7 @@ URL: [url]',
'unknown_id' => 'ID ທີ່ບໍ່ຮູ້ຈັກ',
'unknown_keyword_category' => 'ໝວດໝູ່ທີບໍ່ຮູ້ຈັກ',
'unknown_owner' => 'ເຈົາຂອງ ID ທີ່ບໍ່ຮູ້ຈັກ',
'unknown_status' => '',
'unknown_user' => 'ລະຫັດຜູ້ໄຊ້ທີບໍ່ຮູ້ຈັກ ID',
'unlinked_content' => 'ຍົກເລີກການເຊື່ອມໂຍງເນື້ອຫາ',
'unlinked_documents' => 'ຍົກເລີກການເຊື່ອມໂຍງເອກະສານ',
@ -1977,6 +2036,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'ດູອອນລາຍ',
'warning' => 'ການເຕືອນ',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -24,6 +24,8 @@
$text = array(
'2_factor_auth' => '2-trinns autentisering',
'2_factor_auth_info' => 'Dette systemet håndhever 2-faktor autentisering. Du trenger Google Authenticator på mobiltelefonen din. Nedenfor ser du to QR-koder. Den rette er din nåværende hemmelighet. På venstre side kan du angi en ny hemmelighet. Hvis du angir en ny hemmelighet, må du huske å skanne den på nytt med Google Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'Hemmelig',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Alle brukere',
'already_subscribed' => 'Abonnert allerede',
'and' => 'og',
'apikey' => '',
'apply' => 'Søke om',
'approvals_accepted' => '[no_approvals] godkjenninger allerede akseptert',
'approvals_accepted_latest' => '(er [no_approvals] i siste versjon)',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => 'Feil: Kan ikke flytte rotmappe.',
'cannot_retrieve_approval_snapshot' => 'Kan ikke hente øyeblikksbilde av godkjenningsstatus for denne dokumentversjonen.',
'cannot_retrieve_review_snapshot' => 'Kan ikke hente øyeblikksbilde av anmeldelsestatus for denne dokumentversjonen.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Feil: Kan ikke slette rotmappe.',
'cannot_transfer_your_objects' => '',
'categories' => 'Kategorier',
'categories_loading' => 'Venligst vent på listning av kategorier...',
'category' => 'Kategorier',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Nye dokumenter pr. måned',
'chart_docsperstatus_title' => 'Dokumenter pr. status',
'chart_docsperuser_title' => 'Dokumenter pr. bruker',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Velg diagram',
'chart_sizeperuser_title' => 'Diskplass pr. bruker',
'checkedout_file_has_different_version' => 'Den utsjekkede versjonen er ikke identisk med den gjeldende versjonen. Innsjekking vil ikke oppdatere dokumentet.',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'Filen til det utsjekkede dokumentet er fortsatt uendret. Innsjekking vil ikke være mulig. Hvis du ikke planlegger noen endringer, kan du tilbakestille statusen for utsjekking.',
'checkin_document' => 'Innsjekking',
'checkoutpath_does_not_exist' => 'Utsjekking sti mangler',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Utsjekking',
'checkout_is_disabled' => 'Sjekk ut av dokumentene er deaktivert i konfigurasjonen.',
'choose_attrdef' => 'Velg egenskaps definition',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Velg arbeidsflyt',
'choose_workflow_action' => 'Velg arbeidsflythandling',
'choose_workflow_state' => 'Velg arbeidsflyttilstand',
'class_finfo_missing' => '',
'class_name' => 'Navn på klasse',
'clear_cache' => 'Tøm cache',
'clear_clipboard' => 'Tøm utklippstavle',
'clear_password' => 'Slett passord',
'clipboard' => 'Utklippstavle',
'close' => 'Lukk',
'color' => '',
'command' => 'Kommando',
'comment' => 'Kommentar',
'comment_changed_email' => 'Forandre e-post',
@ -409,12 +418,14 @@ Overordnet mappe: [folder_path]
Bruker: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Dokumentet er slettet',
'document_duplicate_name' => 'Dupliser dokumentnavn',
'document_files' => '',
'document_has_no_workflow' => 'Dokumentet har ingen arbeidsflyt',
'document_infos' => 'Dokumentinformation',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Dokumentet er allerede utsjekket. Hvis du laster opp en ny version kan den utsjekkede versionen ikke sjekkes inn igen.',
'document_is_not_locked' => 'Dette dokumentet er ikke låst',
'document_links' => '',
'document_link_by' => 'Koblet av',
'document_link_public' => 'Offentlig',
'document_moved_email' => 'Dokument er flyttet',
@ -459,6 +470,7 @@ Kommentarer: [comment]
Versjons kommentarer: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Dokumentet er oppdatert',
'document_versions' => '',
'does_not_expire' => 'Løper aldri ut',
'does_not_inherit_access_msg' => 'Arvet ikke tilhørlighet',
'download' => 'Last ned',
@ -493,6 +505,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Hurtig opplasting',
'drop_files_here' => 'Dra filene hit!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Lag database-dump',
'dump_creation_warning' => 'Med denne operasjonen kan du opprette en dump-fil med databaseinnholdet. Etter opprettelsen blir dump-filen lagret i datamappen til serveren din.',
'dump_list' => 'Eksisterende dump-filer',
@ -542,6 +555,7 @@ URL: [url]',
'error_add_aro' => 'Feil under tilføyelse av adgangsforespørselsobjekt',
'error_add_permission' => 'Feil under tilføyelse av tillatelse',
'error_cleared_cache' => 'Feil ved rensning av hurtig-minne',
'error_document_indexed' => '',
'error_edit_task' => 'Feil ved lagring av oppgave',
'error_extension_getlist' => 'Feil under mottak av utvidelsesliste fra depotet',
'error_importfs' => 'Feil under import av skjemafilsystem',
@ -670,6 +684,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'Indeksering for fulltekstsøkning er deaktivert',
'fulltext_converters' => 'Indeks dokument konvertering',
'fulltext_info' => 'Fulltekst indeksinfo',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'Egenskapsgrupper',
'global_attributedefinitions' => 'Egenskaper',
'global_default_keywords' => 'Globale søkeord',
@ -685,6 +700,7 @@ URL: [url]',
'group_management' => 'Gruppe ledelse',
'group_members' => 'Gruppemedlemmer',
'group_receipt_summary' => 'Gruppe kvitterings sammendrag',
'group_review_removed' => '',
'group_review_summary' => 'Sammendrag av gruppevisning',
'group_revision_summary' => 'Sammendrag av grupperevisjon',
'guest_login' => 'Logg inn som gjest',
@ -713,16 +729,23 @@ URL: [url]',
'include_subdirectories' => 'Inkludere undermapper',
'indexing_tasks_in_queue' => 'Indekserings oppgaver i kø',
'index_converters' => 'Index konvertering',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => 'Ferdig',
'index_error' => 'Feil',
'index_folder' => 'Indekseringsmappe',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => 'Indekserte ikke innhold',
'index_pending' => 'Avventer',
'index_waiting' => 'Venter',
'individuals' => 'Personer',
'individuals_in_groups' => 'Medlemmer i en gruppe',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Bekreftelse av mottak for denne dokumentversjonen er ikke mulig fordi versjonen ikke er utgitt.',
'info_rm_user_from_processes_user' => '',
'inherited' => 'arvet',
'inherits_access_copy_msg' => 'Kopier arvet adgangsliste',
'inherits_access_empty_msg' => 'Start med tom adgangsliste',
@ -766,8 +789,10 @@ URL: [url]',
'js_no_approval_status' => 'Velg godkjenningsstatus',
'js_no_comment' => 'Det er ingen kommentarer',
'js_no_currentpwd' => 'Vennligst tast inn ditt nåværende passord',
'js_no_document' => '',
'js_no_email' => 'Skriv inn din e-postadresse',
'js_no_file' => 'Velg en fil',
'js_no_folder' => '',
'js_no_keywords' => 'Spesifiser noen søkeord',
'js_no_login' => 'Skriv inn et brukernavn',
'js_no_name' => 'Skriv inn et navn',
@ -810,6 +835,7 @@ URL: [url]',
'lock_document' => 'Låst',
'lock_message' => 'Detta dokumentet er låst av [username]. Bara autoriserte brukere kan låse opp dokumentet.',
'lock_status' => 'Status',
'logfile' => '',
'logfile_loading' => 'Vent til loggfilen er lastet inn...',
'login' => 'Innlogging',
'login_disabled_text' => 'Kontoen din er deaktivert, sannsynligvis på grunn av for mange mislykkede pålogginger.',
@ -845,7 +871,9 @@ URL: [url]',
'missing_checksum' => 'Mangler sjekksum',
'missing_file' => 'Mangler fil',
'missing_filesize' => 'Mangler filstørrelse',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => 'Mangler mottager',
'missing_request_object' => 'Mangler forespørsels-objekt',
'missing_transition_user_group' => 'Mangler bruker / gruppe for overgang',
@ -862,6 +890,12 @@ URL: [url]',
'my_documents' => 'Mine dokumenter',
'my_transmittals' => 'Mine sendinger',
'name' => 'Navn',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Norsk (Bokmål)',
'needs_correction' => 'Trenger korrigering',
'needs_workflow_action' => 'Dette dokumentet krever oppmerksomhet. Kontroller arbeidsflytfanen.',
@ -919,11 +953,13 @@ Overordnt mappe: [folder_path]
Bruker: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Fjernet fra varslingslisten',
'not_subscribed' => '',
'november' => 'November',
'now' => 'nå',
'no_action' => 'Ingen handling nødvendig',
'no_approval_needed' => 'Ingen godkjenning i påvente.',
'no_attached_files' => 'Ingen vedlagte filer',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => 'Sikkerhetskopi mappe er ikke angitt.',
'no_current_version' => 'Du har en gammal version av SeedDMS. Siste versionen er [latestversion].',
@ -988,6 +1024,8 @@ Om du fortsatt har problemer med innloggingen, kontakt admin.',
'password_forgotten_send_hash' => 'Instruksjoner om hvordan du går frem er sendt til din oppgitte e-postadresse.',
'password_forgotten_text' => 'Fyll ut skjemaet nedenfor og følg instruksjonene i e-posten, som vil bli sendt til deg.',
'password_forgotten_title' => 'Passord sendt',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Gjenta passord',
'password_send' => 'Passord sendt',
'password_send_text' => 'Ditt nye passord er blitt sendt til den oppgitte e-postadressen, hvis påloggingen og e-posten samsvarer med en eksisterende bruker. Hvis du ikke mottar en e-post i løpet av de neste minuttene, må du sørge for at både innlogging og e-post er riktig og start prosessen på nytt.',
@ -1077,9 +1115,13 @@ Bruker: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Fjernet arbeidsflyt fra dokumentversjonen',
'removeFolderFromDropFolder' => 'Fjern mappe etter import',
'remove_approval_log' => '',
'remove_marked_files' => 'Fjern markerte filer',
'remove_review_log' => '',
'repaired' => 'reparert',
'repairing_objects' => 'Reparere dokumenter og mapper.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'Arbeidsflyten har nådd en tilstand som krever handling.
Dokument: [name]
Versjon: [version]
@ -1238,6 +1280,7 @@ URL: [url]',
'search' => 'Søk',
'search_fulltext' => 'Søk i fulltekst',
'search_in' => 'Søk i',
'search_mode' => '',
'search_mode_and' => 'alle ord',
'search_mode_documents' => 'Kun dokumenter',
'search_mode_folders' => 'Bare mapper',
@ -1279,6 +1322,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Velg en',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Velg bruker',
'select_users' => 'Klikk for å velge flere brukere',
'select_value' => 'Velg verdi',
@ -1336,6 +1380,7 @@ Bruker: [username]
'settings_checkOutDir_desc' => 'Dette er katalogen der det siste innholdet i et dokument blir kopiert hvis dokumentet er sjekket ut. Hvis du gjør denne katalogen tilgjengelig for brukere, kan de redigere filen og sjekke den inn igjen når den er ferdig.',
'settings_cmdTimeout' => 'Tidsgrense for eksterne kommandoer',
'settings_cmdTimeout_desc' => 'Denne varigheten i sekunder avgjør når en ekstern kommando (f.eks. For å opprette fulltekstindeks) skal avsluttes.',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Innholds mappe',
'settings_contentDir_desc' => 'Mappen hvor de opplastede filene er lagret (best å velge en katalog som ikke er tilgjengelig via webserveren)',
'settings_contentOffsetDir' => 'Innholds forskyvnings mappe',
@ -1453,6 +1498,8 @@ Bruker: [username]
'settings_enableReceiptWorkflow_desc' => 'Aktiver for å slå på arbeidsflyten for å bekrefte dokumentmottak.',
'settings_enableRecursiveCount' => 'Aktiver rekursivt antall dokumenter / mapper',
'settings_enableRecursiveCount_desc' => 'Hvis det er slått på, vil antall dokumenter og mapper i mappevisningen bestemmes ved å telle alle objekter ved rekursivt å behandle mappene og telle de dokumentene og mappene brukeren har lov til å få tilgang til.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Avvist av en rådgiver',
'settings_enableRevisionOneVoteReject_desc' => 'Hvis dette er aktivert, vil dokumentstatusen settes til \'trenger korrigering \' når den første rådgiveren avviser dokumentet. Hvis den er deaktivert, vil dokumentstatus ikke endres før alle revisorer er ferdige med revisjonen.',
'settings_enableRevisionOnVoteReject' => 'Aktiver revisjon av kvote avvist',
@ -1504,6 +1551,8 @@ Bruker: [username]
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Gjestenavn',
'settings_guestID_desc' => 'Navn til gjestebruker som ble brukt når han er logget inn som gjest (trenger stort sett ikke å endre)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http Rot',
'settings_httpRoot_desc' => 'Den relative banen i nettadressen, etter domenedelen. Ikke ta med prefikset http: // eller navnet på webverten. F.eks Hvis hele URL-adressen er http://www.example.com/seeddms/, angi \'/ seeddms / \'. Hvis URL-adressen er http://www.example.com/, angi \'/ \'',
'settings_incItemsPerPage' => 'Antall oppføringer lastet på slutten av siden',
@ -1522,6 +1571,7 @@ Bruker: [username]
'settings_install_welcome_text' => '<p>Før du begynner å installere SeedDMS, må du forsikre deg om at du har opprettet en fil ENABLE_INSTALL_TOOL i konfigurasjonskatalogen, ellers vil ikke installasjonen fungere. Når du er ferdig med installasjonen, slett filen.</p><p>SeedDMS har veldig minimale krav. Du trenger en mysql-database eller sqlite-støtte og en php-aktivert webserver. Pearpakken Logg må også installeres. For lucene fulltekstsøket, trenger du også Zend-rammeverket installert på platen der den kan finnes av php. For WebDAV-serveren trenger du også HTTP_WebDAV_Server. Stien til den kan senere settes under installasjonen.</p><p>Hvis du ønsker å opprette databasen før du starter installasjonen, er det bare å opprette den manuelt med favorittverktøyet ditt, eventuelt opprette en databasebruker med tilgang til databasen og importer en av databasedumpene i konfigurasjonskatalogen. Installasjonsskriptet kan gjøre det også for deg, men det vil trenge databasetilgang med tilstrekkelige rettigheter for å lage databaser.</p>',
'settings_install_welcome_title' => 'Velkommen til installasjonen av SeedDMS',
'settings_install_zendframework' => 'Installer Zend Framework, hvis du har tenkt å bruke den zendbaserte søkemotoren i fulltekst. Ellers ignorerer du denne meldingen og fortsett installasjonen.',
'settings_invalid_guestid' => '',
'settings_language' => 'Standard språk',
'settings_language_desc' => 'Standard språk (navnet på en undermappe i mappen "languages")',
'settings_libraryFolder' => 'Bibliotekmappe',
@ -1712,6 +1762,7 @@ Bruker: [username]
'splash_add_attribute' => 'Ny egenskap lagt til',
'splash_add_group' => 'Ny gruppe lagt til',
'splash_add_group_member' => 'Nytt gruppemedlem lagt til',
'splash_add_notify' => '',
'splash_add_role' => 'Lagt til ny rolle',
'splash_add_task' => '',
'splash_add_to_transmittal' => 'Legg til overføring',
@ -1723,6 +1774,7 @@ Bruker: [username]
'splash_delete_access' => 'Adgangs retten er slettet',
'splash_document_added' => 'Dokument lagt til',
'splash_document_checkedout' => 'Dokument sjekket ut',
'splash_document_deleted' => '',
'splash_document_edited' => 'Dokumentet lagret',
'splash_document_indexed' => 'Dokumentet \'[name]\' er indeksert.',
'splash_document_locked' => 'Dokumentet er låst',
@ -1746,6 +1798,7 @@ Bruker: [username]
'splash_extension_import' => 'Utvidelse installert',
'splash_extension_refresh' => 'Oppdaterte liste over utvidelser',
'splash_extension_upload' => 'Utvidelse installert',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Lagre mappe endringer',
'splash_importfs' => 'Importerte [docs] dokumenter og [folders] mapper',
'splash_inherit_access' => 'Adgangsrett blir arvet',
@ -1765,6 +1818,7 @@ Bruker: [username]
'splash_rm_folder' => 'Mappen slettet',
'splash_rm_group' => 'Gruppen fjernet',
'splash_rm_group_member' => 'Gruppemedlem fjernet',
'splash_rm_notify' => '',
'splash_rm_role' => 'Rolle slettet',
'splash_rm_transmittal' => 'Overføring slettet',
'splash_rm_user' => 'Bruker fjernet',
@ -1792,6 +1846,7 @@ Bruker: [username]
'status_approval_rejected' => 'Utkast forkastet',
'status_approved' => 'Godkjent',
'status_approver_removed' => 'Godkjenner fjernet fra prosessen',
'status_change' => '',
'status_needs_correction' => 'Trenger korrigering',
'status_not_approved' => 'Ikke godkjent',
'status_not_receipted' => 'Ikke mottatt ennå',
@ -1845,10 +1900,12 @@ Bruker: [username]
'tasks' => 'Oppgaver',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Beskrivelse',
'task_disabled' => 'Deaktivert',
'task_frequency' => 'Frekvens',
'task_frequency_placeholder' => '',
'task_last_run' => 'Siste kjøring',
'task_name' => 'Navn',
'task_next_run' => 'Neste kjøring',
@ -1870,6 +1927,7 @@ Bruker: [username]
'timeline_skip_add_file' => 'vedlegg lagt til',
'timeline_skip_scheduled_revision' => 'Planlagt revisjon',
'timeline_skip_status_change_-1' => 'avvist',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'utløpt',
'timeline_skip_status_change_0' => 'avventer vurdering',
'timeline_skip_status_change_1' => 'venter på godkjenning',
@ -1928,6 +1986,7 @@ URL: [url]',
'unknown_id' => 'ukjent navn',
'unknown_keyword_category' => 'Ukjent kategori',
'unknown_owner' => 'Ukjent eiernavn',
'unknown_status' => '',
'unknown_user' => 'Ukjent brukernavn',
'unlinked_content' => 'U-linket innhold',
'unlinked_documents' => 'U-linket dokumenter',
@ -1990,6 +2049,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Vis på nett',
'warning' => 'Advarsel',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -24,6 +24,8 @@
$text = array(
'2_factor_auth' => '2-factor-authenticatie',
'2_factor_auth_info' => 'Dit systeem werkt met 2-factor-authenticatie. U heeft de Google Authenticator nodig op uw mobiele telfoon. Hieronder staan 2 QR-codes. De rechter is uw huidige geheime code. Met de linker kunt u een nieuwe geheime code instellen. Denk erom de nieuwe code opnieuw te scannen met Googke Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'Toegangscode 2-factor-authenticatie',
'abbr_day' => 'd',
'abbr_hour' => 'u',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Alle gebruikers',
'already_subscribed' => 'Al ingetekend',
'and' => 'en',
'apikey' => '',
'apply' => 'Toepassen',
'approvals_accepted' => '[no_approvals] goedkeuringen',
'approvals_accepted_latest' => 'Er zijn [no_approvals] goedkeuringen',
@ -231,7 +234,9 @@ URL: [url]',
'cannot_move_root' => 'Foutmelding: U kunt de basismap niet verplaatsen.',
'cannot_retrieve_approval_snapshot' => 'Het is niet mogelijk om [Goedgekeurde] status voor de huidige versie van dit document te verkrijgen.',
'cannot_retrieve_review_snapshot' => 'niet mogelijk om Beoordelingsstatus voor de huidige versie van dit document te verkrijgen.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Foutmelding: U kunt de basismap niet verwijderen.',
'cannot_transfer_your_objects' => '',
'categories' => 'Categorieen',
'categories_loading' => 'Categorieën worden geladen',
'category' => 'Categorie',
@ -255,6 +260,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Nieuwe documenten per maand',
'chart_docsperstatus_title' => 'Documenten per status',
'chart_docsperuser_title' => 'Documenten per gebruiker',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Kies een grafiek',
'chart_sizeperuser_title' => 'Schijfruimte per gebruiker',
'checkedout_file_has_different_version' => 'Checkout-document is een andere versie',
@ -262,6 +268,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'Checkout-document ongewijzigd',
'checkin_document' => 'Veranderd document',
'checkoutpath_does_not_exist' => 'Checkout-pad bestaat niet',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Checkout-document',
'checkout_is_disabled' => 'Checkout is niet mogelijk',
'choose_attrdef' => 'Kies een attribuutdefinitie',
@ -277,12 +284,14 @@ URL: [url]',
'choose_workflow' => 'Kies workflow',
'choose_workflow_action' => 'Kies workflow actie',
'choose_workflow_state' => 'kiest workflowstatus',
'class_finfo_missing' => '',
'class_name' => 'naam vd Klasse',
'clear_cache' => 'Cache leegmaken',
'clear_clipboard' => 'Vrijgeven klembord',
'clear_password' => 'Verwijder het wachtwoord',
'clipboard' => 'Klembord',
'close' => 'Sluiten',
'color' => '',
'command' => 'Commando',
'comment' => 'Commentaar',
'comment_changed_email' => 'Gewijzigde email',
@ -402,12 +411,14 @@ Bovenliggende map: [folder_path]
Gebruiker: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Document verwijderd',
'document_duplicate_name' => 'Dupliceer documentnaam',
'document_files' => '',
'document_has_no_workflow' => 'Document bevat geen workflow',
'document_infos' => 'Document-informatie',
'document_is_checked_out' => 'Document is uitgecheckt.',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Document is uitgecheckt.',
'document_is_not_locked' => 'Dit document is niet geblokkeerd',
'document_links' => '',
'document_link_by' => 'Gekoppeld met',
'document_link_public' => 'Publiek',
'document_moved_email' => 'Document verplaatst',
@ -452,6 +463,7 @@ Commentaar: [comment]
Commentaar versie: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Document geüpdated',
'document_versions' => '',
'does_not_expire' => 'Verloopt niet',
'does_not_inherit_access_msg' => 'Erft toegang',
'download' => 'Download',
@ -486,6 +498,7 @@ URL: [url]',
'dropfolder_metadata' => 'eigenschappen vd dropfolder',
'dropupload' => 'Snel toevoegen',
'drop_files_here' => 'Sleep bestanden hierheen',
'drop_files_here_or_click' => '',
'dump_creation' => 'DB-dump aanmaken',
'dump_creation_warning' => 'M.b.v. deze functie maakt U een DB dump file. het bestand wordt opgeslagen in uw data-map op de Server',
'dump_list' => 'Bestaande dump bestanden',
@ -535,6 +548,7 @@ URL: [url]',
'error_add_aro' => 'Verzoek om toegang toegevoegd',
'error_add_permission' => 'Voeg permissie toe',
'error_cleared_cache' => 'Fout bij het leegmaken van de cache',
'error_document_indexed' => '',
'error_edit_task' => 'Fout bij het opslaan van de taak',
'error_extension_getlist' => 'Fout bij het ophalen van de lijst met extensies uit het repository',
'error_importfs' => 'Fout bij het importeren van form file systeem',
@ -663,6 +677,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'Fulltext search uitgeschakeld',
'fulltext_converters' => 'Conversie t.b.v. indexering fulltext search',
'fulltext_info' => 'Inhoud van de fulltext index',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'Attribuut-definities in groepen',
'global_attributedefinitions' => 'attribuutdefinities',
'global_default_keywords' => 'Algemene sleutelwoorden',
@ -678,6 +693,7 @@ URL: [url]',
'group_management' => 'Groepenbeheer',
'group_members' => 'Groepsleden',
'group_receipt_summary' => 'Overzicht van ontvangst per groep',
'group_review_removed' => '',
'group_review_summary' => 'Samenvatting beoordeling per groep',
'group_revision_summary' => 'Samenvatting van de beoordelingen',
'guest_login' => 'Login als Gast',
@ -706,16 +722,23 @@ URL: [url]',
'include_subdirectories' => 'Inclusief submappen',
'indexing_tasks_in_queue' => 'Percentage indexeringstaken in wachtrij',
'index_converters' => 'Converters tbv de index',
'index_document_added' => '',
'index_document_unchanged' => 'Document is niet gewijzigd',
'index_document_updated' => '',
'index_done' => 'Indexering is gereed',
'index_error' => 'Fout bij indexering',
'index_folder' => 'Inhoud',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => 'Index heeft geen inhoud',
'index_pending' => 'Indexering moet nog gebeuren',
'index_waiting' => 'Indexering wacht',
'individuals' => 'Individuen',
'individuals_in_groups' => 'Individuen in groepen',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Ontvangstbevestiging van deze versie van het document is niet mogelijk omdat de versie nog niet is vrijgegeven.',
'info_rm_user_from_processes_user' => '',
'inherited' => 'overgeërfd',
'inherits_access_copy_msg' => 'Lijst van overgeërfde toegang',
'inherits_access_empty_msg' => 'Begin met een lege toegangslijst',
@ -759,8 +782,10 @@ URL: [url]',
'js_no_approval_status' => 'Selecteer a.u.b. een goedkeuringsStatus',
'js_no_comment' => 'Er zijn geen commentaren',
'js_no_currentpwd' => 'Geen geldig wachtwoord',
'js_no_document' => '',
'js_no_email' => 'Voer uw e-mail adres in',
'js_no_file' => 'Selecteer een bestand',
'js_no_folder' => '',
'js_no_keywords' => 'Specificeer een aantal sleutelwoorden',
'js_no_login' => 'Voer een Gebruikersnaam in',
'js_no_name' => 'Voer een naam in',
@ -803,6 +828,7 @@ URL: [url]',
'lock_document' => 'Blokkeer',
'lock_message' => 'Dit document is geblokkeerd door [username]. Alleen geautoriseerde Gebruikers kunnen het de-blokeren.',
'lock_status' => 'Status',
'logfile' => '',
'logfile_loading' => 'De logfile wordt geladen...',
'login' => 'Login',
'login_disabled_text' => 'Uw account is gedeactiveerd, mogelijk door te veel foutieve inlogpogingen.',
@ -838,7 +864,9 @@ URL: [url]',
'missing_checksum' => 'Controlesom ontbreekt',
'missing_file' => 'File ontbreekt',
'missing_filesize' => 'Bestandsgrootte ontbreekt',
'missing_func_class_note' => '',
'missing_php_extensions' => 'Ontbrekende PHP-extensies',
'missing_php_functions_and_classes' => '',
'missing_reception' => 'Ontvanger ontbreekt',
'missing_request_object' => 'Gevraagd object ontbreekt',
'missing_transition_user_group' => 'Gebruiker / groep ontbreekt voor de overdracht',
@ -855,6 +883,12 @@ URL: [url]',
'my_documents' => 'Mijn Documenten',
'my_transmittals' => 'Mijn zendingen',
'name' => 'Naam',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Noors',
'needs_correction' => 'Correctie nodig',
'needs_workflow_action' => 'Dit document vereist uw aandacht. Bekijk het onder het tabblad workflows.',
@ -911,11 +945,13 @@ Bovenliggende map: [folder_path]
Gebruiker: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Verwijderd van notificatielijst',
'not_subscribed' => '',
'november' => 'november',
'now' => 'nu',
'no_action' => 'Geen actie nodig',
'no_approval_needed' => 'Geen goedkeuring gaande.',
'no_attached_files' => 'Geen bijlagen',
'no_attributes_defined' => '',
'no_attribute_definitions' => 'Geen attribuut-definities',
'no_backup_dir' => 'De backup-map is niet ingesteld.',
'no_current_version' => 'U werkt met een oude versie van SeedDMS. De laatste versie beschikbaar is [latestversion].',
@ -986,6 +1022,8 @@ Als u nog steed problemen ondervind met het inloggen, neem aub contact op met uw
'password_forgotten_send_hash' => 'Verdere instructies zijn naar uw gebruikers email adres verstuurd.',
'password_forgotten_text' => 'Vul het formulier hieronder in en volg de instructie in de email, welke naar u verzonden zal worden.',
'password_forgotten_title' => 'Wachtwoord verzonden',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Herhaal wachtwoord',
'password_send' => 'Wachtwoord verzonden',
'password_send_text' => 'Als het opgegeven gebruikersnaam en emailadres overeenkomen met een bestaande gebruiker is er een nieuw wachtwoord verzonden naar het opgegeven emailadres.
@ -1075,9 +1113,13 @@ Gebruiker: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow verwijderd van document versie',
'removeFolderFromDropFolder' => 'Map verwijderen uit Dropfilder',
'remove_approval_log' => '',
'remove_marked_files' => 'Geselecteerde bestanden worden verwijderd',
'remove_review_log' => '',
'repaired' => 'Gerepareerd',
'repairing_objects' => 'Documenten en mappen repareren.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'De workflow vereist actie van uw kant.
Document: [name]
Versie: [version]
@ -1235,6 +1277,7 @@ URL: [url]',
'search' => 'Zoeken',
'search_fulltext' => 'Zoek in volledige tekst',
'search_in' => 'Zoek in',
'search_mode' => '',
'search_mode_and' => 'alle woorden',
'search_mode_documents' => 'Alleen documenten',
'search_mode_folders' => 'Alleen mappen',
@ -1276,6 +1319,7 @@ URL: [url]',
'select_mimetype' => 'Selecteer het mime-type',
'select_one' => 'Kies er een',
'select_owner' => 'Kies de eigenaar',
'select_status' => '',
'select_user' => 'Selecteer gebruiker',
'select_users' => 'Klik om gebruikers te selecteren',
'select_value' => 'selecteer waarde',
@ -1335,6 +1379,7 @@ Name: [username]
'settings_checkOutDir_desc' => 'Instellingen Checkoutmap',
'settings_cmdTimeout' => 'Instellingen timeout',
'settings_cmdTimeout_desc' => 'Instellingen timeout',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Inhoud map',
'settings_contentDir_desc' => 'Waar de verzonden bestande opgeslagen worden (Kan het beste een map zijn die niet benaderbaar is voor de webserver.)',
'settings_contentOffsetDir' => 'Inhouds Basis Map',
@ -1452,6 +1497,8 @@ Name: [username]
'settings_enableReceiptWorkflow_desc' => 'Aanzetten workflow-stappen',
'settings_enableRecursiveCount' => 'Document/ map teller herhalen toestaan',
'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Afwijzen door één revisor',
'settings_enableRevisionOneVoteReject_desc' => 'Als dit aan staat, wordt de status van het document \'correctie nodig\' zodra de eerste revisor het document afwijst. Als deze optie uit staat, verandert de status van het document niet voordat alle revisors hun bijdrage hebben geleverd.',
'settings_enableRevisionOnVoteReject' => '',
@ -1503,6 +1550,8 @@ Name: [username]
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Gast ID',
'settings_guestID_desc' => 'ID van gastgebruiker gebruikt indien ingelogd als gast (meestal geen wijziging nodig)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http Basis',
'settings_httpRoot_desc' => 'Het relatieve pad in de URL, na het domeindeel. Voeg geen http:// toe aan het begin of de websysteemnaam. Bijv: Als de volledige URL http://www.example.com/letodms/ is, voer \'/letodms/\' in. Als de URL http://www.example.com/ is, voer \'/\' in',
'settings_incItemsPerPage' => 'Aantal items, geladen aan einde pagina',
@ -1521,6 +1570,7 @@ Name: [username]
'settings_install_welcome_text' => '<p>Wees er zeker van dat u een bestand, genaamd \'ENABLE_INSTALL_TOOL\', gemaakt heeft in de configuratiemap, voordat u de installatie van letDMS begint, anders zal de installatie nietwerken. Op een Unix-Syteem kan dit makkelijk gedaan worden met \'touch conf/ENABLE_INSTALL_TOOL\'. Verwijder het bestand nadat de installatie afgerond is.</p><p>letoDMS heeft weinig installatievoorwaarden. U heeft een mysql database en een php-geschikte web server nodig. Voor de lucene volledige tekst zoekfunctie, moet Zend framework geinstalleerd zijn op schijf en gevonden worden door php. Vanaf versie 3.2.0 van letoDMS zal ADOdb geen deel meer uitmaken van de uitgave. Een kopie kan van <a href="http://adodb.sourceforge.net/">http://adodb.sourceforge.net</a> gehaald en geinstalleerd worden. Het pad kan later opgegeven worden tijdens de installatie.</p><p>Als u de database voor de installatie wilt aanmaken, dan kunt u het handmatig met uw favoriete gereedschap aanmaken. optioneel kan een database met gebruikerstoegang gemaakt worden en importeer een van de database dumps in de configuratiemap. Met het installatiescript kan dit ook, maar hiervoor is database toegang nodig met voldoende rechten om een database aan te maken.</p>',
'settings_install_welcome_title' => 'Welkom bij de installatie van letoDMS',
'settings_install_zendframework' => 'Installeer Zend Framework, als u volledigetekst zoekmechanisme wilt gebruiken',
'settings_invalid_guestid' => '',
'settings_language' => 'Standaardtaal',
'settings_language_desc' => 'Standaardtaal (naam van de submap in map "languages")',
'settings_libraryFolder' => 'Bibliotheekmap',
@ -1711,6 +1761,7 @@ Name: [username]
'splash_add_attribute' => 'Nieuw attribuut toegevoegd',
'splash_add_group' => 'Nieuwe groep toegevoegd',
'splash_add_group_member' => 'Nieuwe groepslid toegevoegd',
'splash_add_notify' => '',
'splash_add_role' => 'Nieuwe rol toegevoegd',
'splash_add_task' => 'Taak toegevoegd',
'splash_add_to_transmittal' => 'Toevoegen aan verzending',
@ -1722,6 +1773,7 @@ Name: [username]
'splash_delete_access' => 'Toegangsrechten verwijderd',
'splash_document_added' => 'Nieuw document toegevoegd',
'splash_document_checkedout' => 'Document in gebruik genomen',
'splash_document_deleted' => '',
'splash_document_edited' => 'Document opgeslagen',
'splash_document_indexed' => 'Document geïndexeerd',
'splash_document_locked' => 'Document vergrendeld',
@ -1745,6 +1797,7 @@ Name: [username]
'splash_extension_import' => 'Extensie geïnstalleerd',
'splash_extension_refresh' => 'Extensie vernieuwd',
'splash_extension_upload' => 'Extensie geüpload',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Opslaan mapwijzigingen',
'splash_importfs' => 'Geïmporteerd: [docs] documenten en [folders] mappen',
'splash_inherit_access' => 'Toegangsrechten worden overgeërfd',
@ -1764,6 +1817,7 @@ Name: [username]
'splash_rm_folder' => 'Map verwijderd',
'splash_rm_group' => 'Groep verwijderd',
'splash_rm_group_member' => 'Lid van de groep verwijderd',
'splash_rm_notify' => '',
'splash_rm_role' => 'Rol verwijderd',
'splash_rm_transmittal' => 'Verzending verwijderd',
'splash_rm_user' => 'Gebruiker verwijderd',
@ -1791,6 +1845,7 @@ Name: [username]
'status_approval_rejected' => 'Klad Goedkeuring [Afgewezen]',
'status_approved' => 'Goedgekeurd',
'status_approver_removed' => 'Goedkeurder verwijderd',
'status_change' => '',
'status_needs_correction' => 'Correctie nodig',
'status_not_approved' => 'niet goedgekeurd',
'status_not_receipted' => 'niet ontvangen',
@ -1844,10 +1899,12 @@ Name: [username]
'tasks' => 'taken',
'task_core_expireddocs_days' => 'Dagen',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Omschrijving',
'task_disabled' => 'Inactief',
'task_frequency' => 'Frequentie',
'task_frequency_placeholder' => '',
'task_last_run' => 'Laatst uitgevoerd',
'task_name' => 'Naam',
'task_next_run' => 'Komende uitvoering',
@ -1869,6 +1926,7 @@ Name: [username]
'timeline_skip_add_file' => 'Bijlage toegevoegd',
'timeline_skip_scheduled_revision' => 'In revisie',
'timeline_skip_status_change_-1' => 'afgewezenen',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'verlopen',
'timeline_skip_status_change_0' => 'wacht op beoordeling',
'timeline_skip_status_change_1' => 'wacht op goedkeuring',
@ -1927,6 +1985,7 @@ URL: [url]',
'unknown_id' => 'Onbekende id',
'unknown_keyword_category' => 'Onbekend sleutelwoordcategorie',
'unknown_owner' => 'Onbekende eigenaar ID',
'unknown_status' => '',
'unknown_user' => 'Onbekende gebruiker',
'unlinked_content' => 'Ongekoppelde inhoud',
'unlinked_documents' => 'nietgekoppelde documenten',
@ -1989,6 +2048,8 @@ URL: [url]',
'view_folder' => 'Map bekijken',
'view_online' => 'Bekijk online',
'warning' => 'Waarschuwing',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => 'WebAuthn Authentificatie',
'webauthn_crossplatform_info' => 'Gebruik cross-platform: kies \'Ja\' als u een verwijderbaar device hebt (bijv. een Yubico key), dat u gebruikt om verschillende computers in te loggen. Kies \'Nee\' als uw device verbonden is met de computer. De keuze bepaalt welk(e) device(s) worden aangeboden door de browser en/of het security-system van de computer.',
'webauthn_info' => 'WebAuthn is passwordless authentification met public key cryptography. Een private-public sleutelpaar (known as a credential) wordt gecreëerd voor een website. De private key wordt veilig opgeslagen op het device van de gebruiker; een public key en een random gegenereerd credential ID wordt naar de server verzonden. De server kan die dan gebruken om de identiteit van de gebruiker vast te stellen. De private key wordt meestal opgeslagen op een hardware-token. Het token moet geregistreerd worden voordat het kan worden gebruikt voor authenticatie.',

View File

@ -24,6 +24,8 @@
$text = array(
'2_factor_auth' => 'Uwierzytelnianie dwuetapowe',
'2_factor_auth_info' => 'Uwierzytelnianie dwuetapowe',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'Uwierzytelnianie dwuetapowe poufny kod',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Wszyscy użytkownicy',
'already_subscribed' => 'Aktualnie subskrybowane',
'and' => 'i',
'apikey' => '',
'apply' => 'Zastosuj',
'approvals_accepted' => 'Zatwierdzenia zaakceptowane',
'approvals_accepted_latest' => 'Zatwierdzenia zaakceptowane później',
@ -226,7 +229,9 @@ URL: [url]',
'cannot_move_root' => 'Błąd: Nie można przenieść katalogu głównego.',
'cannot_retrieve_approval_snapshot' => 'Nie można pobrać migawki stanu akceptacji dla tej wersji dokumentu.',
'cannot_retrieve_review_snapshot' => 'Nie można pobrać migawki stanu recenzowania dla tej wersji dokumentu.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Błąd: Nie można usunąć katalogu głównego.',
'cannot_transfer_your_objects' => '',
'categories' => 'Kategorie',
'categories_loading' => 'Poczekaj, aż lista kategorii zostanie załadowana…',
'category' => 'Kategoria',
@ -250,6 +255,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Nowe dokumenty według miesięcy',
'chart_docsperstatus_title' => 'Dokumenty według statusu',
'chart_docsperuser_title' => 'Dokumenty na użytkownika',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Wybierz wykres',
'chart_sizeperuser_title' => 'Zajętość dysku na użytkownika',
'checkedout_file_has_different_version' => 'Wersja wypisana nie jest identyczna z bieżącą wersją. Zameldowanie nie zaktualizuje dokumentu.',
@ -257,6 +263,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'Plik wyrejestrowanego dokumentu jest nadal niezmieniony. Zameldowanie nie będzie możliwe. Jeśli nie planujesz żadnych modyfikacji, możesz zresetować status transakcji.',
'checkin_document' => 'Zamelduj się',
'checkoutpath_does_not_exist' => 'Ścieżka realizacji transakcji nie istnieje',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Wymelduj się',
'checkout_is_disabled' => 'Wyewidencjonowywanie dokumentów jest wyłączone w konfiguracji.',
'choose_attrdef' => 'Proszę wybrać definicję atrybutu',
@ -272,12 +279,14 @@ URL: [url]',
'choose_workflow' => 'Wybierz proces',
'choose_workflow_action' => 'Wybierz działanie procesu',
'choose_workflow_state' => 'Wybierz stan obiegu',
'class_finfo_missing' => '',
'class_name' => 'Nazwa klasy',
'clear_cache' => 'Wyczyść cache',
'clear_clipboard' => 'Oczyść schowek',
'clear_password' => 'Wyczyść hasło',
'clipboard' => 'Schowek',
'close' => 'Zamknij',
'color' => '',
'command' => 'Polecenia',
'comment' => 'Opis',
'comment_changed_email' => '',
@ -390,12 +399,14 @@ Folder macierzysty: [folder_path]
Użytkownik: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Usunięcie dokumentu',
'document_duplicate_name' => 'Zduplikowana nazwa dokumentu',
'document_files' => '',
'document_has_no_workflow' => 'Dokument nie ma przypisanego procesu',
'document_infos' => 'Informacje o dokumencie',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Ten dokument jest pobierany',
'document_is_not_locked' => 'Ten dokument nie jest zablokowany',
'document_links' => '',
'document_link_by' => 'Dowiązane przez',
'document_link_public' => 'Publiczny',
'document_moved_email' => 'Dokument przeniesiony',
@ -435,6 +446,7 @@ Komentarz: [comment]
Komentarz wersji: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Aktualizacja dokumentu',
'document_versions' => '',
'does_not_expire' => 'Nigdy nie wygasa',
'does_not_inherit_access_msg' => 'Dziedzicz dostęp',
'download' => 'Pobierz',
@ -469,6 +481,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Szybki upload',
'drop_files_here' => 'Przeciągnij tu pliki!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Utworzenie zrzutu bazy danych',
'dump_creation_warning' => 'Ta operacja utworzy plik będący zrzutem zawartości bazy danych. Po utworzeniu plik zrzutu będzie się znajdował w folderze danych na serwerze.',
'dump_list' => 'Istniejące pliki zrzutu',
@ -518,6 +531,7 @@ URL: [url]',
'error_add_aro' => 'Błąd podczas dodawania obiektu żądania dostępu',
'error_add_permission' => 'Błąd podczas dodawania uprawnienia',
'error_cleared_cache' => 'Błąd podczas czyszczenia pamięci podręcznej',
'error_document_indexed' => '',
'error_edit_task' => 'Błąd podczas zapisywania zadania',
'error_extension_getlist' => 'Błąd podczas pobierania listy rozszerzeń z repozytorium',
'error_importfs' => 'Błąd podczas importowania systemu plików formularza',
@ -639,6 +653,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'Indeks pełnotekstowy jest wyłączony',
'fulltext_converters' => 'Konwersja indeksu dokumentów',
'fulltext_info' => 'Informacje o indeksie pełnotekstowym',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'Grupy atrybutów',
'global_attributedefinitions' => 'Definicje atrybutów',
'global_default_keywords' => 'Globalne słowa kluczowe',
@ -654,6 +669,7 @@ URL: [url]',
'group_management' => 'Zarządzanie grupami',
'group_members' => 'Członkowie grupy',
'group_receipt_summary' => 'Podsumowanie potwierdzienia dla grupy',
'group_review_removed' => '',
'group_review_summary' => 'Podsumowanie opiniowania dla grupy',
'group_revision_summary' => 'Podsumowanie korekty dla grupy',
'guest_login' => 'Zalogowany jako gość',
@ -682,16 +698,23 @@ URL: [url]',
'include_subdirectories' => 'Uwzględnij podkatalogi',
'indexing_tasks_in_queue' => 'Zadanie indeksowania w kolejce',
'index_converters' => 'Bez zmian',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => 'Gotowy',
'index_error' => 'Błąd',
'index_folder' => 'Indeksuj folder',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => 'Nie indeksuje zawartości',
'index_pending' => 'Oczekujące',
'index_waiting' => 'Oczekiwanie',
'individuals' => 'Indywidualni',
'individuals_in_groups' => 'Członkowie grupy',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Potwierdzenie odbioru dla tej wersji dokumentu nie jest możliwe, ponieważ wersja nie została wydana.',
'info_rm_user_from_processes_user' => '',
'inherited' => 'dziedziczony',
'inherits_access_copy_msg' => 'Kopiuj odziedziczoną listę dostępu',
'inherits_access_empty_msg' => 'Rozpocznij z pustą listą dostępu',
@ -735,8 +758,10 @@ URL: [url]',
'js_no_approval_status' => 'Proszę wybrać status akceptacji',
'js_no_comment' => 'Proszę dodać komentarz',
'js_no_currentpwd' => 'Proszę podać swoje aktualne hasło',
'js_no_document' => '',
'js_no_email' => 'Wprowadź swój adres email',
'js_no_file' => 'Proszę wybrać plik',
'js_no_folder' => '',
'js_no_keywords' => 'Wybierz jakieś słowa kluczowe',
'js_no_login' => 'Proszę wprowadzić nazwę użytkownika',
'js_no_name' => 'Proszę wpisać imię',
@ -779,6 +804,7 @@ URL: [url]',
'lock_document' => 'Zablokuj',
'lock_message' => 'Ten dokument jest zablokowany przez [username]. Tylko uprawnieni użytkownicy mogą odblokować dokument.',
'lock_status' => 'Status',
'logfile' => '',
'logfile_loading' => 'Proszę czekać, aż plik dziennika zostanie załadowany…',
'login' => 'Login',
'login_disabled_text' => 'Twoje konto jest zablokowane. Prawdopodobnie z powodu zbyt wielu nieudanych prób logowania.',
@ -814,7 +840,9 @@ URL: [url]',
'missing_checksum' => 'Brak sumy kontrolnej',
'missing_file' => 'Brakujący plik',
'missing_filesize' => 'Brakujący rozmiar pliku',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => 'Brakuje odbioru',
'missing_request_object' => 'Brak obiektu żądania',
'missing_transition_user_group' => 'Brak użytkownika / grupy dla przejścia',
@ -831,6 +859,12 @@ URL: [url]',
'my_documents' => 'Moje dokumenty',
'my_transmittals' => 'Moi recenzenci',
'name' => 'Nazwa',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Norweski',
'needs_correction' => 'Wymaga korekty',
'needs_workflow_action' => 'Dokument wymaga uwagi. Proszę sprawdzić kartę workflow.',
@ -888,11 +922,13 @@ Folder nadrzędny: [folder_path]
Użytkownik: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Usunięto z listy powiadomień',
'not_subscribed' => '',
'november' => 'Listopad',
'now' => 'teraz',
'no_action' => 'Żadne działanie nie jest wymagane',
'no_approval_needed' => 'Nie ma dokumentów oczekujących na akceptację.',
'no_attached_files' => 'Brak załączonych plików',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => 'Katalog kopii zapasowej nie jest ustawiony',
'no_current_version' => 'Brak aktualnej wersji',
@ -963,6 +999,8 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem
'password_forgotten_send_hash' => 'Instrukcje dotyczące zmiany hasła zostały wysłane na adres email użytkownika.',
'password_forgotten_text' => 'Wypełnij pola poniżej i postępuj wg instrukcji z emaila, który zostanie do Ciebie wysłany.',
'password_forgotten_title' => 'Hasło wysłane',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Powtórz hasło',
'password_send' => 'Hasło wysłane',
'password_send_text' => 'Twoje nowe hasło zostało wysłane na podany adres e-mail, jeśli login i adres e-mail odpowiadają istniejącemu użytkownikowi. Jeśli w ciągu kilku minut nie otrzymasz wiadomości e-mail, upewnij się, że login i e-mail są poprawne, i ponownie uruchom proces.',
@ -1041,9 +1079,13 @@ Użytkownik: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Usunięty workflow z wersji dokumentu',
'removeFolderFromDropFolder' => 'Usuń folder po imporcie',
'remove_approval_log' => '',
'remove_marked_files' => 'Usuń zaznaczone pliki',
'remove_review_log' => '',
'repaired' => 'naprawiony',
'repairing_objects' => 'Naprawa dokumentów i katalogów.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => '',
'request_workflow_action_email_subject' => '',
'reset_checkout' => 'Zakończ i sprawdź',
@ -1166,6 +1208,7 @@ URL: [url]',
'search' => 'Szukaj',
'search_fulltext' => 'Przeszukaj całe teksty',
'search_in' => 'Szukaj w',
'search_mode' => '',
'search_mode_and' => 'wszystkie słowa',
'search_mode_documents' => 'Tylko dokumenty',
'search_mode_folders' => 'Tylko foldery',
@ -1207,6 +1250,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Wybierz',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Wybierz użytkownika',
'select_users' => 'Kliknij by wybrać użytkowników',
'select_value' => 'Wybrać wartość',
@ -1266,6 +1310,7 @@ Name: [username]
'settings_checkOutDir_desc' => 'Jest to katalog, w którym najnowsza zawartość dokumentu jest kopiowana, jeśli dokument jest wyewidencjonowany. Jeśli ten katalog będzie dostępny dla użytkowników, mogą edytować plik i zaewidencjonować go ponownie po zakończeniu.',
'settings_cmdTimeout' => 'Przekroczony czas wykonania zewnętrznego polecenia',
'settings_cmdTimeout_desc' => 'Ten czas w sekundach określa kiedy zewnętrzne polecenie (np. do tworzenia indeksu) zostanie przerwany',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Katalog treści',
'settings_contentDir_desc' => 'Miejsce, gdzie będą przechowywane wczytane pliki (najlepien wybrać katalog, który nie jest dostępny dla serwera http)',
'settings_contentOffsetDir' => 'Offset katalogu treści',
@ -1383,6 +1428,8 @@ Name: [username]
'settings_enableReceiptWorkflow_desc' => 'Włącz, aby włączyć przepływ pracy, aby potwierdzić odbiór dokumentu.',
'settings_enableRecursiveCount' => 'Włącz licznik rekurencji dokumentu/folderu',
'settings_enableRecursiveCount_desc' => 'Jeżeli jest włączone, to liczba dokumentów i folderów w widoku będzie ustalona poprzez zliczenie wszystkich obiektów przez rekurencyjnie przetwarzane foldery i policzenia tych dokumentów i folderów do których użytkownik ma dostęp',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Odrzuć przez jedną korektę',
'settings_enableRevisionOneVoteReject_desc' => 'Jeśli ta opcja jest włączona, stan dokumentu zostanie ustawiony na "wymaga korekty", gdy pierwsza korekta odrzuci dokument. Jeśli jest wyłączona, stan dokumentu nie ulegnie zmianie, dopóki wszystkie zmiany nie zakończą ich rewizji.',
'settings_enableRevisionOnVoteReject' => 'Odrzuć przez korektę',
@ -1434,6 +1481,8 @@ Name: [username]
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ID gościa',
'settings_guestID_desc' => 'ID gościa używane kiedy gość jest zalogowany (zazwyczaj nie wymaga zmiany)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => 'Relatywna ścieżka w URL, część za domeną. Nie dołączaj przedrostka http:// ani nazwy hosta. Np. Jeśli cały URL to http://www.example.com/letodms/, wpisz \'/letodms/\'. Jeśli URL to http://www.example.com/, set \'/\'',
'settings_incItemsPerPage' => 'Liczba wpisów załadowana na dole strony',
@ -1452,6 +1501,7 @@ Name: [username]
'settings_install_welcome_text' => '<p>Zanim uruchomisz instalację upewnij się, że masz utworzony plik \'ENABLE_INSTALL_TOOL\' w katalogu konfiguracyjnym, w przeciwnym wypadku instalacja nie zadziała. W systemach uniksowych może to był łatwo wykonane poprzez polecenie \'touch conf/ENABLE_INSTALL_TOOL\'. Po zakończeniu instalacji usuń ten plik.</p><p>LetoDMS ma bardzo niewielkie wymagania. Będziesz potrzebował bazy danych MySQL i włączonej obsługi PHP na swerze http. Do działania lucene - systemu przeszukiwania pełnoteksotowego - będzie także potrzebny Zend Framework, zainstalowany na dysku, na którym będzie widziany przez PHP. Począwszy od wersji 3.2.0 letoDMS, ADOdb nie będzie już częścią pakietu instalacyjnego. Pobierz kopię ADOdb z <a href="http://adodb.sourceforge.net/">http://adodb.sourceforge.net</a> i zainstaluj. Ścieżka do ADOdb może być później ustawiona w trakcie instalacji.</p><p>Jeśli chcesz przygotować bazę danych przed uruchomieniem instalacji, możesz wykonać to ręcznie ulubionym narzędziem. Ewentualnie utwórz użytkownika bazy danych z prawem dostępu do bazy danych i zaimportuj ją ze zrzutu z katalogu konfiguracyjnego. Skrypt instalacyjny może to wszystko zrobić za Ciebie, lecz będzie do tego potrzebował dostępu do bazy danych z uprawnieniami zezwalającymi na tworzenie baz danych.</p>',
'settings_install_welcome_title' => 'Witamy w procesie instalacyjnym LetoDMS',
'settings_install_zendframework' => 'Zainstaluj Zend Framework, jeśli zamierzasz używać przeszukiwania pełnotekstowego',
'settings_invalid_guestid' => '',
'settings_language' => 'Domyślny język',
'settings_language_desc' => 'Domyślny język (nazwa podkatalogu w katalogu "languages")',
'settings_libraryFolder' => 'Folder Biblioteka',
@ -1642,6 +1692,7 @@ Name: [username]
'splash_add_attribute' => 'Dodano nowy atrybut',
'splash_add_group' => 'Dodano nową grupę',
'splash_add_group_member' => 'Dodano nowego członka grupy',
'splash_add_notify' => '',
'splash_add_role' => 'Dodano nową rolę',
'splash_add_task' => '',
'splash_add_to_transmittal' => 'Dodaj do przekazu',
@ -1653,6 +1704,7 @@ Name: [username]
'splash_delete_access' => 'Prawo dostępu zostało usunięte',
'splash_document_added' => 'Dokument został dodany',
'splash_document_checkedout' => 'Wyewidencjonowany dokument',
'splash_document_deleted' => '',
'splash_document_edited' => 'Dokument został zapisany',
'splash_document_indexed' => 'Dokument \'[name]\' zindeksowany.',
'splash_document_locked' => 'Dokument zablokowany',
@ -1676,6 +1728,7 @@ Name: [username]
'splash_extension_import' => 'Rozszerzenie zainstalowane',
'splash_extension_refresh' => 'Odświeżona lista rozszerzeń',
'splash_extension_upload' => 'Rozszerzenie zainstalowane',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Zapisz zmiany folderu',
'splash_importfs' => 'Zaimportowane dokumenty [docs] i foldery [folders]',
'splash_inherit_access' => 'Prawa dostępu będą dziedziczone',
@ -1695,6 +1748,7 @@ Name: [username]
'splash_rm_folder' => 'Folder usunięty',
'splash_rm_group' => 'Grupę usunięto',
'splash_rm_group_member' => 'Usunięto członka grupy',
'splash_rm_notify' => '',
'splash_rm_role' => 'Rola usunięta',
'splash_rm_transmittal' => 'Przekazywanie usunięte',
'splash_rm_user' => 'Użytkownika usunięto',
@ -1722,6 +1776,7 @@ Name: [username]
'status_approval_rejected' => 'Szkic odrzucony',
'status_approved' => 'Zatwierdzone',
'status_approver_removed' => 'Osoba zatwierdzająca usunięta z procesu',
'status_change' => '',
'status_needs_correction' => 'Wymaga korekty',
'status_not_approved' => 'Nie zatwierdzone',
'status_not_receipted' => 'Jeszcze nie otrzymane',
@ -1775,10 +1830,12 @@ Name: [username]
'tasks' => 'Zadania',
'task_core_expireddocs_days' => 'Rdzeń zadania wygasa',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Opis zadania',
'task_disabled' => 'Zadanie wyłączone',
'task_frequency' => 'Częstotliwość zadania',
'task_frequency_placeholder' => '',
'task_last_run' => 'Ostatnie uruchomienie zadania',
'task_name' => 'Nazwa zadania',
'task_next_run' => 'Zadanie następnego uruchomienia',
@ -1800,6 +1857,7 @@ Name: [username]
'timeline_skip_add_file' => 'dodano załącznik',
'timeline_skip_scheduled_revision' => 'Zaplanowana wersja',
'timeline_skip_status_change_-1' => 'odrzucony',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'przedawniony',
'timeline_skip_status_change_0' => 'oczekuje na opinię',
'timeline_skip_status_change_1' => 'oczekuje na zatwierdzenie',
@ -1858,6 +1916,7 @@ URL: [url]',
'unknown_id' => 'Nieznany ID',
'unknown_keyword_category' => 'Nieznana kategoria',
'unknown_owner' => 'Nieznany ID właściciela',
'unknown_status' => '',
'unknown_user' => 'Nieznany ID użytkownika',
'unlinked_content' => 'Odłączone treści',
'unlinked_documents' => 'Odłączone dokumenty',
@ -1920,6 +1979,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Obejrzyj online',
'warning' => 'Ostrzeżenie',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => 'Uwierzytelnianie WebAuthn',
'webauthn_crossplatform_info' => 'Używaj wieloplatformowego „Tak”, gdy masz urządzenie wymienne, takie jak klucz Yubico, którego chcesz użyć do logowania na różnych komputerach; Powiedz „Nie”, gdy urządzenie jest podłączone do komputera. Wybór wpływa na to, które urządzenia są oferowane przez przeglądarkę i / lub system bezpieczeństwa komputera.',
'webauthn_info' => 'WebAuthn to uwierzytelnianie bez hasła, które wykorzystuje kryptografię klucza publicznego. Dla strony internetowej tworzony jest klucz prywatny-publiczny (znany jako poświadczenie). Klucz prywatny jest bezpiecznie przechowywany na urządzeniu użytkownika; Klucz publiczny i losowo wygenerowany identyfikator poświadczenia są wysyłane do serwera w celu przechowywania. Serwer może następnie użyć tego klucza publicznego do udowodnienia tożsamości użytkownika. Klucz prywatny jest zwykle przechowywany na tokenie sprzętowym. Token musi zostać zarejestrowany, zanim będzie można go użyć do uwierzytelnienia.',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1846), flaviove (627), lfcristofoli (352)
// Translators: Admin (1850), flaviove (627), lfcristofoli (352)
$text = array(
'2_factor_auth' => 'Autenticação de dois fatores',
'2_factor_auth_info' => 'Este sistema impõe a autenticação de 2 fatores. Você precisará do Google Authenticator no seu celular. Abaixo você vê dois códigos QR. O caminho certo é o seu atual segredo. À esquerda, você pode definir um novo segredo. Se você definir um novo segredo, verifique novamente com o Google Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'Segredo',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Todos os usuários',
'already_subscribed' => 'Já subscrito',
'and' => 'e',
'apikey' => '',
'apply' => 'Aplicar',
'approvals_accepted' => '[no_approvals] aprovações já aceitas',
'approvals_accepted_latest' => 'aprovações aceitas mais recentes',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => 'Erro: Não pode remover a pasta raiz.',
'cannot_retrieve_approval_snapshot' => 'Não é possível recuperar o instantâneo do estado de aprovação desta versão do documento.',
'cannot_retrieve_review_snapshot' => 'Não é possível recuperar o instantâneo do estado de revisão para esta versão do documento.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Erro: Não é possível excluir a pasta raiz.',
'cannot_transfer_your_objects' => '',
'categories' => 'Categorias',
'categories_loading' => 'Por favor, aguarde até que a lista de categorias seja carregada...',
'category' => 'Categoria',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Novos documentos por mês',
'chart_docsperstatus_title' => 'Documentos por estatus',
'chart_docsperuser_title' => 'Documentos por usuário',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Selecione gráfico',
'chart_sizeperuser_title' => 'Espaço em disco por usuário',
'checkedout_file_has_different_version' => 'A versão retirada não é idêntica à versão atual. A entrada não atualizará o documento.',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'O arquivo do documento retirado ainda está inalterado. A entrada não será possível. Se não planejar nenhuma modificação, você poderá redefinir o estado de retirada.',
'checkin_document' => 'Entrada',
'checkoutpath_does_not_exist' => 'O caminho de retirada não existe',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Retirada',
'checkout_is_disabled' => 'A retirada de documentos está desativada na configuração.',
'choose_attrdef' => 'Por favor escolha a definição de atributo',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Escolha de fluxo de trabalho',
'choose_workflow_action' => 'Escolha a ação de fluxo de trabalho',
'choose_workflow_state' => 'Escolha um estado de fluxo de trabalho',
'class_finfo_missing' => '',
'class_name' => 'Nome da classe',
'clear_cache' => 'Limpar o Cache',
'clear_clipboard' => 'Limpar área de transferência',
'clear_password' => 'Limpar senha',
'clipboard' => 'Área de transferência',
'close' => 'Fechar',
'color' => '',
'command' => 'Comando',
'comment' => 'Comentário',
'comment_changed_email' => 'comentário alterado email',
@ -409,12 +418,14 @@ Pasta mãe: [folder_path]
Usuário: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Documento eliminado',
'document_duplicate_name' => 'Duplicar nome do documento',
'document_files' => '',
'document_has_no_workflow' => 'Documento não tem fluxo de trabalho',
'document_infos' => 'Informações',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'O documento está atualmente com estado de retirado. Se você fizer o envio de uma nova versão, a versão retirada não poderá mais ser registrada.',
'document_is_not_locked' => 'Este documento não está travado',
'document_links' => '',
'document_link_by' => 'Ligado por',
'document_link_public' => 'Público',
'document_moved_email' => 'Documento movido',
@ -459,6 +470,7 @@ Comentário: [comment]
Versão comentário: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Documento atualizado',
'document_versions' => '',
'does_not_expire' => 'não Expira',
'does_not_inherit_access_msg' => 'Herdar acesso',
'download' => 'Download',
@ -493,6 +505,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Envio rápido',
'drop_files_here' => 'Solte os arquivos aqui!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Criação de despejo de banco de dados',
'dump_creation_warning' => 'Com esta operação, você pode criar um arquivo de despejo do conteúdo do seu banco de dados. Após a criação, o arquivo de despejo será salvo na pasta de dados do seu servidor.',
'dump_list' => 'Arquivos de despejo existentes',
@ -542,6 +555,7 @@ URL: [url]',
'error_add_aro' => 'erro ao adicionar o objeto de solicitação de acesso',
'error_add_permission' => 'Erro ao adicionar permissão',
'error_cleared_cache' => 'Erro ao limpar o cache',
'error_document_indexed' => '',
'error_edit_task' => 'Erro ao salvar tarefa',
'error_extension_getlist' => 'Erro ao obter lista de extensões do repositório',
'error_importfs' => 'Erro ao importar do sistema de arquivos',
@ -670,6 +684,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'O índice de texto completo está desativado',
'fulltext_converters' => 'Índice de conversão de documentos',
'fulltext_info' => 'Informações índice Texto completo',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'Grupos de atributos',
'global_attributedefinitions' => 'Atributos',
'global_default_keywords' => 'palavras-chave globais',
@ -685,6 +700,7 @@ URL: [url]',
'group_management' => 'Grupos',
'group_members' => 'Membros do Grupo',
'group_receipt_summary' => 'Resumo de recebimento de grupo',
'group_review_removed' => '',
'group_review_summary' => 'Resumo da avaliação do grupo',
'group_revision_summary' => '',
'guest_login' => 'Entre como convidado',
@ -713,16 +729,23 @@ URL: [url]',
'include_subdirectories' => 'Include subdirectories',
'indexing_tasks_in_queue' => 'Tarefas de indexação em fila',
'index_converters' => 'conversores de índice',
'index_document_added' => '',
'index_document_unchanged' => 'documento inalterado',
'index_document_updated' => '',
'index_done' => 'Finalizado',
'index_error' => 'Erro',
'index_folder' => 'Pasta Raiz',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => 'Não indexou o conteúdo',
'index_pending' => 'Pendente',
'index_waiting' => 'Aguarde...',
'individuals' => 'Indivíduos',
'individuals_in_groups' => 'Members of a group',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Confirmação de recebimento para esta versão do documento não é possível, porque a versão não é liberada.',
'info_rm_user_from_processes_user' => '',
'inherited' => 'herdado',
'inherits_access_copy_msg' => 'Copiar lista de acesso herdada',
'inherits_access_empty_msg' => 'Inicie com a lista de acesso vazia',
@ -766,8 +789,10 @@ URL: [url]',
'js_no_approval_status' => 'Por favor, selecione o estado de aprovação',
'js_no_comment' => 'não há comentário',
'js_no_currentpwd' => 'Por favor digite sua senha atual',
'js_no_document' => '',
'js_no_email' => 'Digite seu endereço de e-mail',
'js_no_file' => 'Por favor selecione um arquivo',
'js_no_folder' => '',
'js_no_keywords' => 'Especifique algumas palavras-chave',
'js_no_login' => 'Por favor digite um usuário',
'js_no_name' => 'Por favor digite um nome',
@ -810,6 +835,7 @@ URL: [url]',
'lock_document' => 'Travar',
'lock_message' => 'Este documento foi travado por [username]. Somente usuários autorizados podem remover a trava deste documento (veja no final da página).',
'lock_status' => 'Estado',
'logfile' => '',
'logfile_loading' => 'Por favor, aguarde, até o arquivo de log ser carregado…',
'login' => 'Login',
'login_disabled_text' => 'Sua conta está desativada, provavelmente por causa de muitos logins falhos.',
@ -845,7 +871,9 @@ URL: [url]',
'missing_checksum' => 'Falta verificação de checksum',
'missing_file' => 'Falta o arquivo',
'missing_filesize' => 'Falta tamanho do arquivo',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => 'Falta o recebimento',
'missing_request_object' => 'Objeto de solicitação ausente',
'missing_transition_user_group' => 'Falta usuário/grupo para transição',
@ -862,6 +890,12 @@ URL: [url]',
'my_documents' => 'Meus Documentos',
'my_transmittals' => 'Minhas Transmissões',
'name' => 'Nome',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Norueguês',
'needs_correction' => 'Precisa de correção',
'needs_workflow_action' => 'Este documento requer sua atenção. Por favor, verifique a guia de fluxo de trabalho.',
@ -918,11 +952,13 @@ Pasta mãe: [folder_path]
Usuário: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Removido da lista de notificação',
'not_subscribed' => '',
'november' => 'Novembro',
'now' => 'agora',
'no_action' => 'Nenhuma ação é requerida',
'no_approval_needed' => 'Nenhuma aprovação pendente.',
'no_attached_files' => 'Não há arquivos anexados',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => 'Nenhum diretório de backup',
'no_current_version' => 'Você está executando uma versão atualizda do Sistema GED. A última versão disponível é [latestversion].',
@ -993,6 +1029,8 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ
'password_forgotten_send_hash' => 'Instruções de como proceder para que seja enviada para o endereço de e-mail do usuário',
'password_forgotten_text' => 'Preencha o formulário abaixo e siga as instruções do e-mail que será enviado para você.',
'password_forgotten_title' => 'Senha enviada',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Repetir a senha',
'password_send' => 'Senha enviada',
'password_send_text' => 'Sua nova senha foi enviada para o endereço de e-mail indicado, se o login e e-mail corresponde a um usuário existe. Se você não receber um e-mail nos próximos minutos, então certifique se login e e-mail estão corretos e reinicie o processo novamente.',
@ -1082,9 +1120,13 @@ Usuário: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Fluxo de trabalho removido da versão do documento',
'removeFolderFromDropFolder' => 'Remover pasta após a importação',
'remove_approval_log' => '',
'remove_marked_files' => 'Remover arquivos marcados',
'remove_review_log' => '',
'repaired' => 'reparado',
'repairing_objects' => 'Reparando documentos e pastas',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'O fluxo de trabalho atingiu um estado que requer sua ação.
Documento: [name]
Versão: [version]
@ -1152,7 +1194,7 @@ URL: [url]',
'review_update_failed' => 'Erro ao atualizar o status da revisão. Atualização falhou.',
'revise_document' => 'Revisar documento',
'revise_document_on' => 'Próxima revisão da versão do documento em [date]',
'revision' => '',
'revision' => 'Revisão',
'revisions_accepted' => '[no_revisions] revisões já aceitas',
'revisions_accepted_latest' => 'revisões aceitas mais recentes',
'revisions_not_touched' => '[no_revisions] revisões não sendo tocadas',
@ -1242,6 +1284,7 @@ URL: [url]',
'search' => 'Busca',
'search_fulltext' => 'Pesquisa em texto completo',
'search_in' => 'Busca em',
'search_mode' => '',
'search_mode_and' => 'todas as palavras',
'search_mode_documents' => 'Só Documentos',
'search_mode_folders' => 'Só Pastas',
@ -1283,6 +1326,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Selecione um',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Selecione o usuário',
'select_users' => 'Clique para selecionar os usuários',
'select_value' => 'Selecionar opção',
@ -1342,6 +1386,7 @@ Nome: [username]
'settings_checkOutDir_desc' => 'Esse é o diretório em que o conteúdo mais recente de um documento é copiado se o documento estiver com estado de retirado. Se você tornar esse diretório acessível para os usuários, eles poderão editar o arquivo e registrá-lo novamente quando terminar.',
'settings_cmdTimeout' => 'Tempo limite para comandos externos',
'settings_cmdTimeout_desc' => 'This duration in seconds determines when an external command (e.g. for creating the full text index) will be terminated.',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Diretório de conteúdo',
'settings_contentDir_desc' => 'Onde arquivos enviados são armazenados (melhor escolher um diretório que não é acessível através de seu web-server)',
'settings_contentOffsetDir' => 'Pasta de Compensação de Conteúdo',
@ -1459,6 +1504,8 @@ Nome: [username]
'settings_enableReceiptWorkflow_desc' => 'Habilitar para ativar o fluxo de trabalho para confirmar a entrada do documento.',
'settings_enableRecursiveCount' => 'Ativar contagem de documentos/pasta recursiva',
'settings_enableRecursiveCount_desc' => 'Se estiver ativado, o número de documentos e pastas na exibição de pasta será determinada pela contagem de todos os objetos de forma recursiva proceáando as pastas e contando eáes documentos e pastas que o usuário tem permissão de acesso.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Rejeitar por um revisor',
'settings_enableRevisionOneVoteReject_desc' => 'Configurações ativam Revisão um voto rejeitar desc',
'settings_enableRevisionOnVoteReject' => 'Configurações ativam Revisão na rejeição de votação',
@ -1510,6 +1557,8 @@ Nome: [username]
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ID convidado',
'settings_guestID_desc' => 'ID do usuário-convidado usada quando conectado como convidado (na maioria das vezes não há necessidade de mudar)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Raiz Http',
'settings_httpRoot_desc' => 'O caminho relativo na URL, após a parte do domínio. Não inclua o prefixo http:// ou o nome do host. por exemplo Se a URL completa é http://www.example.com/Sistema GED/, definir \'/Sistema GED/\'. Se a URL é http://www.example.com/, definir \'/\'',
'settings_incItemsPerPage' => 'Número de entradas carregadas no final da página',
@ -1528,6 +1577,7 @@ Nome: [username]
'settings_install_welcome_text' => '<p> Antes de começar a instalar Sistema GED certifique-se de ter criado um arquivo \' ENABLE_INSTALL_TOOL \' em seu diretório de configuração , caso contrário, a instalação não vai funcionar. No Unix -System isto pode ser feito facilmente com \'touch conf/ENABLE_INSTALL_TOOL\' . Depois de ter terminado a instalação exclua o arquivo. </p><p>Sistema GED tem exigências muito mínimas. Você vai precisar do apoio de um banco de dados mysql ou sqlite e um servidor web php habilitado . O pacote de pear Log tem que tanbém ser instalado. Para a pesquisa de texto completo Lucene , você também vai precisar do Zend Framework instalado no disco onde ele pode ser encontrado pelo php . Para o servidor WebDAV , você também vai precisar do HTTP_WebDAV_Server . O caminho para ele pode ser mais tarde definido durante a instalação . </p><p> Se você quiser criar o banco de dados antes de iniciar a instalação , crie manualmente com sua ferramenta favorita , opcionalmente, crie um usuário de banco de dados com acesso ao banco de dados e importe um dos arquivos do banco de dados do diretório de configuração. O script de instalação pode também fazer Isso por você, mas ele vai precisar de acesso ao banco de dados com direitos suficientes para criar bancos de dados. </p>',
'settings_install_welcome_title' => 'Bem-vindo à instalação do Sistema GED',
'settings_install_zendframework' => 'Instalar Zend Framework, se você pretende usar o motor de pesquisa de texto completo',
'settings_invalid_guestid' => '',
'settings_language' => 'Idioma padrão',
'settings_language_desc' => 'Idioma Padrão (nome de uma subpasta na pasta "languages")',
'settings_libraryFolder' => 'Pasta da biblioteca',
@ -1718,6 +1768,7 @@ Nome: [username]
'splash_add_attribute' => 'Novo atributo adicionado',
'splash_add_group' => 'Novo grupo adicionado',
'splash_add_group_member' => 'Novo membro do grupo adicionado',
'splash_add_notify' => '',
'splash_add_role' => 'Novo papel adicionado',
'splash_add_task' => '',
'splash_add_to_transmittal' => 'Adicionar à transmissão',
@ -1729,6 +1780,7 @@ Nome: [username]
'splash_delete_access' => 'Direito de acesso removido',
'splash_document_added' => 'Documento inserido',
'splash_document_checkedout' => 'Documento retirado',
'splash_document_deleted' => '',
'splash_document_edited' => 'Documento salvo',
'splash_document_indexed' => 'Documento \'[name]\' indexado.',
'splash_document_locked' => 'Documento bloqueado',
@ -1752,6 +1804,7 @@ Nome: [username]
'splash_extension_import' => 'Extensão instalada',
'splash_extension_refresh' => 'Lista atualizada de extensões',
'splash_extension_upload' => 'Extensão instalada',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Salvar modificação de pastas',
'splash_importfs' => 'Documentos [docs] e pastas [folders] importados',
'splash_inherit_access' => 'O direito de acesso será herdado',
@ -1771,6 +1824,7 @@ Nome: [username]
'splash_rm_folder' => 'Pasta excluida',
'splash_rm_group' => 'Grupo removido',
'splash_rm_group_member' => 'Membro do grupo removido',
'splash_rm_notify' => '',
'splash_rm_role' => 'Papel removido',
'splash_rm_transmittal' => 'Transmissão excluída',
'splash_rm_user' => 'Usuário removido',
@ -1798,6 +1852,7 @@ Nome: [username]
'status_approval_rejected' => 'Rascunho rejeitado',
'status_approved' => 'Aprovado',
'status_approver_removed' => 'Aprovador removido do processo',
'status_change' => 'Mudança de status',
'status_needs_correction' => 'Precisa de correção',
'status_not_approved' => 'Não aprovado',
'status_not_receipted' => 'Ainda não recebido',
@ -1851,10 +1906,12 @@ Nome: [username]
'tasks' => 'Tarefas',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Descrição',
'task_disabled' => 'Desativado',
'task_frequency' => 'Frequência',
'task_frequency_placeholder' => '',
'task_last_run' => 'Última execução',
'task_name' => 'Nome',
'task_next_run' => 'Próxima execução',
@ -1876,6 +1933,7 @@ Nome: [username]
'timeline_skip_add_file' => 'anexo adicionado',
'timeline_skip_scheduled_revision' => 'Revisão agendada',
'timeline_skip_status_change_-1' => 'rejeitado',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'expirado',
'timeline_skip_status_change_0' => 'revisão pendente',
'timeline_skip_status_change_1' => 'aprovação pendente',
@ -1934,6 +1992,7 @@ URL: [url]',
'unknown_id' => 'ID desconhecido',
'unknown_keyword_category' => 'Categoria desconhecida',
'unknown_owner' => 'ID do proprietário desconhecida',
'unknown_status' => '',
'unknown_user' => 'ID do usuário desconhecida',
'unlinked_content' => 'Conteúdo não conectado',
'unlinked_documents' => 'Documentos não conectados',
@ -1992,10 +2051,12 @@ URL: [url]',
'version_deleted_email_subject' => '[sitename]: [name] - Versão eliminada',
'version_info' => 'Informações da versão',
'view' => 'Visualizar',
'view_document' => '',
'view_folder' => '',
'view_document' => 'Ver detalhes do documento',
'view_folder' => 'Ver detalhes da pasta',
'view_online' => 'Ver online',
'warning' => 'Aviso',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -24,6 +24,8 @@
$text = array(
'2_factor_auth' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Toti utilizatorii',
'already_subscribed' => 'Deja trimis',
'and' => 'si',
'apikey' => '',
'apply' => 'Aplică',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => 'Eroare: Nu se poate muta folderul rădăcină.',
'cannot_retrieve_approval_snapshot' => 'Nu se poate regăsi statusul aprobarii instantanee pentru această versiune de document.',
'cannot_retrieve_review_snapshot' => 'Nu se poate regăsi statusul revizuirii instantanee pentru această versiune de document.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Eroare: Nu se poate șterge directorul rădăcină.',
'cannot_transfer_your_objects' => '',
'categories' => 'Categorii',
'categories_loading' => '',
'category' => 'Categorie',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Documente noi pe lună',
'chart_docsperstatus_title' => 'Documente per status',
'chart_docsperuser_title' => 'Documente per utilizator',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Selectați grafic',
'chart_sizeperuser_title' => 'Spațiu pe disc per utilizator',
'checkedout_file_has_different_version' => 'Versiunea verificata nu este identica cu versiunea curenta. Check in-ul nu va actualiza documentul.',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'Fisierul documentului verificat este inca neschimbat. Check in-ul nu va fi posibil. Daca nu planuiti modificari, puteti reseta starea de Verificare.',
'checkin_document' => 'Check In',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Verifica',
'checkout_is_disabled' => 'Verificarea documentelor este dezactivata in configurari.',
'choose_attrdef' => 'Vă rugăm să alegeți definiția atributului',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Alege workflow',
'choose_workflow_action' => 'Alege acțiune workflow',
'choose_workflow_state' => 'Alege stare workflow',
'class_finfo_missing' => '',
'class_name' => '',
'clear_cache' => 'Sterge cache',
'clear_clipboard' => 'Goleste clipboard',
'clear_password' => '',
'clipboard' => 'Clipboard',
'close' => 'Inchide',
'color' => '',
'command' => 'Comanda',
'comment' => 'Comentariu',
'comment_changed_email' => '',
@ -402,12 +411,14 @@ Folder parinte: [folder_path]
Utilizator: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Document sters',
'document_duplicate_name' => 'Nume document duplicat',
'document_files' => '',
'document_has_no_workflow' => 'Documentul nu are workflow',
'document_infos' => 'Informații document',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Documentul este in prezent verificat. Daca incarcati o noua versiune, versiunea verificata nu mai poate fi verificata din nou.',
'document_is_not_locked' => 'Acest document nu este blocat',
'document_links' => '',
'document_link_by' => 'Corelat cu (Linked by)',
'document_link_public' => 'Public',
'document_moved_email' => 'Document mutat',
@ -447,6 +458,7 @@ Comentariu: [comment]
Comentariu versiune: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Document actualizat',
'document_versions' => '',
'does_not_expire' => 'Nu expiră',
'does_not_inherit_access_msg' => 'Acces moștenit',
'download' => 'Descarca',
@ -481,6 +493,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Încărcare rapidă',
'drop_files_here' => 'Aruncă fișierele aici!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Creare fisier imagine baza de date',
'dump_creation_warning' => 'Cu această operațiune puteți crea un fișier de imagine a conținutului bazei de date. După crearea fișierului de imagine acesta va fi salvat în folderul de date a serverului.',
'dump_list' => 'Fișiere imagine existente',
@ -530,6 +543,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -651,6 +665,7 @@ URL: [url]',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Indexare conversie documente',
'fulltext_info' => 'Info indexarea intregului text',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Atribute',
'global_default_keywords' => 'Cuvinte cheie globale',
@ -666,6 +681,7 @@ URL: [url]',
'group_management' => 'Management grupuri',
'group_members' => 'Membrii grupului',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Sumar revizuiri grup',
'group_revision_summary' => '',
'guest_login' => 'Login ca oaspete',
@ -694,16 +710,23 @@ URL: [url]',
'include_subdirectories' => 'Include subfoldere',
'indexing_tasks_in_queue' => 'Actiuni de indexare in stiva',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => 'document neschimbat',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Index folder',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => 'Așteptare',
'individuals' => 'Individuals',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'moștenit',
'inherits_access_copy_msg' => 'Copie lista de acces moștenită',
'inherits_access_empty_msg' => 'Începeți cu lista de acces goală',
@ -747,8 +770,10 @@ URL: [url]',
'js_no_approval_status' => 'Vă rugăm să selectați statusul de aprobare',
'js_no_comment' => 'Nu există comentarii',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => 'Introduceti adresa dumneavoastra de email',
'js_no_file' => 'Vă rugăm să selectați un fișier',
'js_no_folder' => '',
'js_no_keywords' => 'Specificați câteva cuvinte cheie',
'js_no_login' => 'Vă rugăm să introduceți un username',
'js_no_name' => 'Vă rugăm să introduceți un nume',
@ -791,6 +816,7 @@ URL: [url]',
'lock_document' => 'Blocare',
'lock_message' => 'Acest document este blocat de [username]. Numai utilizatorii autorizați pot debloca acest document.',
'lock_status' => 'Status',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Login',
'login_disabled_text' => 'Contul dumneavoastră este dezactivat, probabil din cauza prea multor login-uri eșuate.',
@ -826,7 +852,9 @@ URL: [url]',
'missing_checksum' => 'Lipsește suma de control(checksum)',
'missing_file' => '',
'missing_filesize' => 'Lipsește dimensiunea fișierului',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => 'Lipsește utilizatorul/grupul pentru tranziție',
@ -843,6 +871,12 @@ URL: [url]',
'my_documents' => 'Documentele Mele',
'my_transmittals' => 'Trimiterile mele',
'name' => 'Nume',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Norvegiana',
'needs_correction' => '',
'needs_workflow_action' => 'Acest document necesită atenția dumneavoastră. Vă rugăm să verificați tab-ul workflow.',
@ -900,11 +934,13 @@ Folder parinte: [folder_path]
Utilizator: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Scos din lista de notificări',
'not_subscribed' => '',
'november' => 'Noiembrie',
'now' => 'nou',
'no_action' => 'Nici o acțiune necesară',
'no_approval_needed' => 'Nici o aprobare în așteptare.',
'no_attached_files' => 'Nu sunt fișiere atașate',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => 'Utilizați o versiune veche de SeedDMS. Cea mai recentă versiune disponibilă este [latestversion].',
@ -975,6 +1011,8 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț
'password_forgotten_send_hash' => 'Instrucțiuni privind modul cum trebuie procedat au fost trimise la adresa de email a utilizatorului',
'password_forgotten_text' => 'Completați formularul de mai jos și urmați instrucțiunile ce vor fi trimise prin e-mail.',
'password_forgotten_title' => 'Parola a fost trimisă',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Repetați parola',
'password_send' => 'Parola a fost trimisă',
'password_send_text' => 'Noua dumneavoastră parolă a fost trimisă la adresa de e-mail furnizată, în cazul în care campurile de login și email se potrivesc cu un utilizator existent. Dacă nu primiți un e-mail în următoarele minute, asigurați-vă că atât campul de login cât și email sunt corecte și incercați din nou procesul.',
@ -1053,9 +1091,13 @@ Utilizator: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Workflow eliminat din versiunea documentului',
'removeFolderFromDropFolder' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Eliminați fișierele marcate',
'remove_review_log' => '',
'repaired' => 'reparat',
'repairing_objects' => 'Reparare documente și foldere.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'Workflow-ul a ajuns la o stare care necesita actiunea ta.
Document: [name]
Versiune: [version]
@ -1209,6 +1251,7 @@ URL: [url]',
'search' => 'Caută',
'search_fulltext' => 'Caută în tot textul',
'search_in' => 'Caută în',
'search_mode' => '',
'search_mode_and' => 'toate cuvintele',
'search_mode_documents' => '',
'search_mode_folders' => '',
@ -1250,6 +1293,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Selectați unul',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Selecteaza utilizator',
'select_users' => 'Click pentru a selecta utilizatori',
'select_value' => 'Valoare selectata',
@ -1304,6 +1348,7 @@ URL: [url]',
'settings_checkOutDir_desc' => 'Acesta este directorul unde se copie ultimul continut al unui document daca documentul este verificat. Daca faceti acest director accesibil pentru utilizatori, ei pot edita fisierul si ii pot face iar check in cand au terminat.',
'settings_cmdTimeout' => 'Timpul de execuție a comenzii externe a expirat.',
'settings_cmdTimeout_desc' => 'Această durată în secunde determină durata maximă de execuție a unei comenzi externe (de exemplu la indexarea textului)',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Director conținut',
'settings_contentDir_desc' => 'Unde sunt stocate fișierele încărcate (este recomandat sa alegeti un director care nu este accesibil prin intermediul web-server-ului dumneavoastră)',
'settings_contentOffsetDir' => 'Conținut Director Offset',
@ -1421,6 +1466,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => 'Activați numararea recursiva pentru documente/foldere',
'settings_enableRecursiveCount_desc' => 'Dacă este activată, numărul de documente și foldere din vizualizarea unui director va fi determinat prin numărarea tuturor obiectelor recursiv din folderele unde accesul utilizatorului este permis.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1472,6 +1519,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'ID oaspete',
'settings_guestID_desc' => 'ID-ul utilizatorului oaspete folosit când la Logarea ca oaspete (de cele mai multe ori nu este nevoie să se schimbe)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => 'Calea relativă în URL-ul, după partea domeniului. Nu includeți prefixul http:// sau numele host-ului. (ex: Dacă URL-ul complet este http://www.example.com/seeddms/, setați \'/seeddms/\'. Dacă URL-ul complet este http://www.example.com/, setați \'/\')',
'settings_incItemsPerPage' => '',
@ -1490,6 +1539,7 @@ URL: [url]',
'settings_install_welcome_text' => '<p>Înainte de a începe să instalați SeedDMS asigurați-vă că ați creat un fișier \'ENABLE_INSTALL_TOOL\' în directorul de configurare, în caz contrar instalarea nu va funcționa. Pe sistemele Unix acest lucru poate fi foarte usor facut cu \'touch conf/ENABLE_INSTALL_TOOL\'. După ce ați terminat instalarea șterge fișierul.</p><p>SeedDMS are cerințe minime. Veți avea nevoie de o baza de date MySQL sau SQLite și un server de web cu php-ul activat. Pachetul pear Log trebuie să fie de asemenea instalat. Pentru cautarea Lucene in tot textul, va trebui, de asemenea instalat Zend Framework pe disc unde poate fi găsit de php. Pentru serverul WebDAV, va trebui de asemenea HTTP_WebDAV_Server. Calea spre acesta poate fi setat mai târziu în timpul instalării.</p><p>Dacă doriți să creați baza de date înainte de a începe instalarea, atunci creati manual baza de date cu instrumentul dumneavoastra preferat, opțional creati si un utilizator cu acces la baza de date și importati importati un fisier backup(database dump) în directorul de configurare. Scriptul de instalare poate face asta pentru dumneavoastra la fel de bine, dar ca va avea nevoie de acces la baza de date cu drepturi suficiente pentru a crea baza de date.</p>',
'settings_install_welcome_title' => 'Bine ați venit la instalarea SeedDMS',
'settings_install_zendframework' => 'Instalați Zend Framework, dacă intenționați să utilizați căutare completă pe tot de textul',
'settings_invalid_guestid' => '',
'settings_language' => 'Limba implicită',
'settings_language_desc' => 'Limba implicită (numele subfolder-ului din folderul "language")',
'settings_libraryFolder' => '',
@ -1680,6 +1730,7 @@ URL: [url]',
'splash_add_attribute' => 'Atribut nou adăugat',
'splash_add_group' => 'Grup nou adăugat',
'splash_add_group_member' => 'Membru grup nou adăugat',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1691,6 +1742,7 @@ URL: [url]',
'splash_delete_access' => '',
'splash_document_added' => 'Document adăugat',
'splash_document_checkedout' => 'Document verificat',
'splash_document_deleted' => '',
'splash_document_edited' => 'Document salvat',
'splash_document_indexed' => '',
'splash_document_locked' => 'Document blocat',
@ -1714,6 +1766,7 @@ URL: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Salvați modificările folderului',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1733,6 +1786,7 @@ URL: [url]',
'splash_rm_folder' => 'Folder șters',
'splash_rm_group' => 'Grup eliminat',
'splash_rm_group_member' => 'Membru grup eliminat',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
'splash_rm_user' => 'Uilizator eliminat',
@ -1760,6 +1814,7 @@ URL: [url]',
'status_approval_rejected' => 'Proiect respins',
'status_approved' => 'Aprobat',
'status_approver_removed' => 'Aprobator eliminat din proces',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'Neaprobat',
'status_not_receipted' => 'Neprimit inca',
@ -1813,10 +1868,12 @@ URL: [url]',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1838,6 +1895,7 @@ URL: [url]',
'timeline_skip_add_file' => 'atașament adăugat',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'rejectat',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'expirat',
'timeline_skip_status_change_0' => 'așteaptă revizuire',
'timeline_skip_status_change_1' => 'așteaptă aprobare',
@ -1896,6 +1954,7 @@ URL: [url]',
'unknown_id' => 'ID necunoscut',
'unknown_keyword_category' => 'Categorie necunoscută',
'unknown_owner' => 'ID proprietar necunoscut',
'unknown_status' => '',
'unknown_user' => 'ID utilizator necunoscut',
'unlinked_content' => 'Conținut dezasociat',
'unlinked_documents' => 'Documente dezasociate',
@ -1958,6 +2017,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Vizualizare online',
'warning' => 'Avertisment',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -24,6 +24,8 @@
$text = array(
'2_factor_auth' => 'Двухфакторная аутентификация',
'2_factor_auth_info' => 'Использовать усиленную проверку подлинности',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'Кдюч двухфакторной аутентификации',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Все пользователи',
'already_subscribed' => 'Уже подписан',
'and' => 'и',
'apikey' => '',
'apply' => 'Применить',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => 'Нельзя переместить корневой каталог',
'cannot_retrieve_approval_snapshot' => 'Невозможно получить утверждающий снимок для этой версии документа',
'cannot_retrieve_review_snapshot' => 'Невозможно получить рецензирующий снимок для этой версии документа',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Нельзя удалить корневой каталог',
'cannot_transfer_your_objects' => '',
'categories' => 'Категории',
'categories_loading' => 'Пожалуйста, подождите, пока не будет загружен список категорий …',
'category' => 'Категория',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Новые документы за месяц',
'chart_docsperstatus_title' => 'Документы по статусу',
'chart_docsperuser_title' => 'Документы на пользователя',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Выбор графика',
'chart_sizeperuser_title' => 'Занятое дисковое пространство по пользователям',
'checkedout_file_has_different_version' => 'Полученная версия не совпадает с текущей версией. Загрузка не обновит документ',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'Документ не изменен. Загрузка не возможна.',
'checkin_document' => 'Получение',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Загрузка',
'checkout_is_disabled' => 'Загрузка отключена.',
'choose_attrdef' => 'Выберите атрибут',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Выберите процесс',
'choose_workflow_action' => 'Выберите действие процесса',
'choose_workflow_state' => 'Выберите статус процесса',
'class_finfo_missing' => '',
'class_name' => 'Имя класса',
'clear_cache' => 'Очистить кэш',
'clear_clipboard' => 'Очистить буфер обмена',
'clear_password' => 'Сбросить пароль',
'clipboard' => 'Буфер обмена',
'close' => 'Закрыть',
'color' => '',
'command' => 'команда',
'comment' => 'Комментарий',
'comment_changed_email' => 'Сообщение об изменении комментария',
@ -402,12 +411,14 @@ URL: [url]',
Пользователь: [username]',
'document_deleted_email_subject' => '[sitename]: удалён документ «[name]»',
'document_duplicate_name' => 'Одноимённый документ уже существует.',
'document_files' => '',
'document_has_no_workflow' => 'Для документа не назначен процесс',
'document_infos' => 'Информация о документе',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Документ в настоящее время проверяется. Если вы загрузить новую версию, то проверяемая версия не может быть возвращена обратно.',
'document_is_not_locked' => 'Документ не заблокирован',
'document_links' => '',
'document_link_by' => 'Связан',
'document_link_public' => 'Публичный',
'document_moved_email' => 'Документ перемещён',
@ -447,6 +458,7 @@ URL: [url]',
Комментарий версии: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: обновлён документ «[name]»',
'document_versions' => '',
'does_not_expire' => 'безсрочный',
'does_not_inherit_access_msg' => 'Наследовать уровень доступа',
'download' => 'Загрузить',
@ -481,6 +493,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Быстрая загрузка',
'drop_files_here' => 'Переместите файлы сюда',
'drop_files_here_or_click' => '',
'dump_creation' => 'Создать дамп БД',
'dump_creation_warning' => 'Эта операция создаст дамп базы данных. После создания, файл будет сохранен в каталоге данных сервера.',
'dump_list' => 'Существующие дампы',
@ -530,6 +543,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => 'Ошибка добавления разрешения',
'error_cleared_cache' => 'Ошибка очиски кеша',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => 'Ошибка импорта из файловой системы',
@ -651,6 +665,7 @@ URL: [url]',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Индексирование документов',
'fulltext_info' => 'Информация о полнотекстовом индексе',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'Глобальные группы атрибутов',
'global_attributedefinitions' => 'Атрибуты',
'global_default_keywords' => 'Глобальные метки',
@ -666,6 +681,7 @@ URL: [url]',
'group_management' => 'Управление группами',
'group_members' => 'Члены группы',
'group_receipt_summary' => 'Обзор подтверждений получения группой',
'group_review_removed' => '',
'group_review_summary' => 'Сводка по рецензированию группы',
'group_revision_summary' => '',
'guest_login' => 'Войти как гость',
@ -694,16 +710,23 @@ URL: [url]',
'include_subdirectories' => 'Включая подкаталоги',
'indexing_tasks_in_queue' => 'Задача индексирования поставлена в очередь',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Полнотекстовый индекс',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => 'Ожидание',
'individuals' => 'Пользователи',
'individuals_in_groups' => 'Пользователи группы',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'унаследованный',
'inherits_access_copy_msg' => 'Скопировать наследованный список',
'inherits_access_empty_msg' => 'Начать с пустого списка доступа',
@ -747,8 +770,10 @@ URL: [url]',
'js_no_approval_status' => 'Выберите статус утверждения',
'js_no_comment' => 'Нет комментария',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => 'Введите свой e-mail',
'js_no_file' => 'Выберите файл',
'js_no_folder' => '',
'js_no_keywords' => 'Укажите метки',
'js_no_login' => 'Введите логин',
'js_no_name' => 'Введите имя',
@ -791,6 +816,7 @@ URL: [url]',
'lock_document' => 'Заблокировать',
'lock_message' => 'Документ заблокировал(а) [username]. Только имеющие права могут его разблокировать.',
'lock_status' => 'Статус',
'logfile' => '',
'logfile_loading' => 'Подождите, идет загрузка лог-файла',
'login' => 'Логин',
'login_disabled_text' => 'Ваша учётная запись заблокирована, возможно, из-за нескольких неудачных попыток входа.',
@ -826,7 +852,9 @@ URL: [url]',
'missing_checksum' => 'Отсутствует контрольная сумма',
'missing_file' => 'Отсутствует файл',
'missing_filesize' => 'Отсутствует размер файла',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => 'Отсутствует пользователь/группа для изменения.',
@ -843,6 +871,12 @@ URL: [url]',
'my_documents' => 'Мои документы',
'my_transmittals' => 'Мои пересылки',
'name' => 'Имя',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Норвежский',
'needs_correction' => 'Нужны правки',
'needs_workflow_action' => 'Этот документ требует вашего внимания. См. вкладку «Процесс».',
@ -899,11 +933,13 @@ URL: [url]',
Пользователь: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: вы удалены из списка уведомлений для «[name]»',
'not_subscribed' => '',
'november' => 'Ноябрь',
'now' => 'сейчас',
'no_action' => 'Действие не требуется',
'no_approval_needed' => 'Утверждение не требуется',
'no_attached_files' => 'Нет вложений',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => 'Директория для архивирования не установлена',
'no_current_version' => 'Вы используете старую версию SeedDMS. Последняя доступная версия [latestversion].',
@ -972,6 +1008,8 @@ URL: [url]',
'password_forgotten_send_hash' => 'Инструкции высланы на e-mail',
'password_forgotten_text' => 'Заполните форму и следуйте инструкциям в письме',
'password_forgotten_title' => 'Пароль выслан',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Повторите пароль',
'password_send' => 'Пароль выслан',
'password_send_text' => 'Пароль отправлен',
@ -1055,9 +1093,13 @@ URL: [url]',
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: удалён процесс из версии документа «[name]»',
'removeFolderFromDropFolder' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Удалить выбранные файлы',
'remove_review_log' => '',
'repaired' => 'исправлено',
'repairing_objects' => 'Восстановление каталогов и документов',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'Процесс достиг состояния требующего вашего внимания.
Документ: [name]
Версия: [version]
@ -1216,6 +1258,7 @@ URL: [url]',
'search' => 'Поиск',
'search_fulltext' => 'Полнотекстовый поиск',
'search_in' => 'Поиск',
'search_mode' => '',
'search_mode_and' => 'Все слова',
'search_mode_documents' => 'Только документы',
'search_mode_folders' => 'Только папки',
@ -1257,6 +1300,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Выберите',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Выберите пользователя',
'select_users' => 'Выберите пользователей',
'select_value' => 'Выберите значение',
@ -1311,6 +1355,7 @@ URL: [url]',
'settings_checkOutDir_desc' => 'Это каталог, куда скопировано последнее содержание документа, если он на рассмотрении. Если вы сделаете это каталог доступным пользователям, они смогут редактировать файл и загружать его обратно по завершении работы.',
'settings_cmdTimeout' => 'Тайм-аут для внешних команд',
'settings_cmdTimeout_desc' => 'Указанная длительность в секундах определяет, когда будет завершена внешняя команда (например, для создания полнотекстового индекса).',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Каталог содержимого',
'settings_contentDir_desc' => 'Куда сохраняются загруженные файлы (лучше выбрать каталог недоступный веб-серверу).',
'settings_contentOffsetDir' => 'Базовый начальный каталог',
@ -1428,6 +1473,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => 'Включить для активации функции подтверждения получения документа',
'settings_enableRecursiveCount' => 'Рекурсивно подсчитывать<br/>документы и каталоги',
'settings_enableRecursiveCount_desc' => 'Если включено, количество документов и каталогов в виде каталога будет определятся рекурсивным подсчётом всех документов и каталогов разрешённых для доступа пользователя.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1479,6 +1526,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Идентификатор гостя',
'settings_guestID_desc' => 'Идентификатор гостя (можно не изменять).',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Корень http',
'settings_httpRoot_desc' => 'Относительный путь в URL, после доменной части. Без http://. Например, если полный URL http://www.example.com/seeddms/, то нужно указать «/seeddms/». Если URL http://www.example.com/, то «/».',
'settings_incItemsPerPage' => '',
@ -1497,6 +1546,7 @@ URL: [url]',
'settings_install_welcome_text' => '<p>Прежде чем начать установку SeedDMS убедитесь, что вы создали файл ENABLE_INSTALL_TOOL в каталоге конфигурации, иначе установка не будет работать. На UNIX-подобных системах это можно сделать командой \'touch conf/ENABLE_INSTALL_TOOL\'. После установки удалите этот файл.</p><p>SeedDMS имеет минимальные требования. Нужна база данных (БД) MySQL или SQLite и веб-сервер с PHP. Для работы полнотекстового поиска lucene, также необходима инфраструктура Zend, установленная там где её видит PHP. Для сервера WebDAV вам потребуется HTTP_WebDAV_Server. Пути могут быть указан позднее при установке.</p><p>Если вы хотите создать БД до начала установки, то создайте её вручную знакомым вам инструментом или создайте пользователя БД с правами доступа к БД и импортируйте один из дампов БД из каталога конфигурации. Установочный скрипт может сделать это сам, но понадобится доступ к БД с правами для создания БД.</p>',
'settings_install_welcome_title' => 'Добро пожаловать в установку SeedDMS',
'settings_install_zendframework' => 'Установите Zend Framework, если собираетесь использовать полнотекстовый поиск',
'settings_invalid_guestid' => '',
'settings_language' => 'Язык по умолчанию',
'settings_language_desc' => 'Язык по умолчанию (каталог в «languages»).',
'settings_libraryFolder' => 'Каталог библиотек',
@ -1687,6 +1737,7 @@ URL: [url]',
'splash_add_attribute' => 'Добавлен новый атрибут',
'splash_add_group' => 'Добавлена новая группа',
'splash_add_group_member' => 'Добавлен новый член группы',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1698,6 +1749,7 @@ URL: [url]',
'splash_delete_access' => '',
'splash_document_added' => 'Добавлен документ',
'splash_document_checkedout' => 'Документ отправлен на обработку',
'splash_document_deleted' => '',
'splash_document_edited' => 'Документ сохранён',
'splash_document_indexed' => '',
'splash_document_locked' => 'Документ заблокирован',
@ -1721,6 +1773,7 @@ URL: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Изменения каталога сохранены',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1740,6 +1793,7 @@ URL: [url]',
'splash_rm_folder' => 'Папка удалена',
'splash_rm_group' => 'Группа удалена',
'splash_rm_group_member' => 'Удалён член группы',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
'splash_rm_user' => 'Пользователь удалён',
@ -1767,6 +1821,7 @@ URL: [url]',
'status_approval_rejected' => 'Черновик отклонён',
'status_approved' => 'Утверждён',
'status_approver_removed' => 'Утверждающий удалён из процесса',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'Не утверждён',
'status_not_receipted' => 'Получение не подтверждено',
@ -1820,10 +1875,12 @@ URL: [url]',
'tasks' => 'Задания',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1845,6 +1902,7 @@ URL: [url]',
'timeline_skip_add_file' => 'вложение добавлено',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'отклонён',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'срок действия вышел',
'timeline_skip_status_change_0' => 'ожидает рецензии',
'timeline_skip_status_change_1' => 'ожидает подтверждения',
@ -1903,6 +1961,7 @@ URL: [url]',
'unknown_id' => 'неизвестный идентификатор',
'unknown_keyword_category' => 'Неизвестная метка',
'unknown_owner' => 'Неизвестный идентификатор собственника',
'unknown_status' => '',
'unknown_user' => 'Неизвестный идентификатор пользователя',
'unlinked_content' => 'Удалённое содержимое',
'unlinked_documents' => 'Удалённые документы',
@ -1965,6 +2024,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Просмотреть',
'warning' => 'Внимание',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1229), destinqo (26), pS2017 (508), ssebech (4)
// Translators: Admin (1230), destinqo (26), pS2017 (508), ssebech (4)
$text = array(
'2_factor_auth' => '2-faktorové overovanie',
'2_factor_auth_info' => 'This system enforces 2 factor authentication. You will need the Google Authenticator on your mobile phone. Below you see two QR codes. The right one is your current secret. On the left you can set a new secret. If you set a new secret make sure to rescan it with Google Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'Tajný',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Všetci používatelia',
'already_subscribed' => 'Už ste sa prihlásili na odber',
'and' => 'a',
'apikey' => '',
'apply' => 'Použiť',
'approvals_accepted' => '[no_approvals] approvals already accepted',
'approvals_accepted_latest' => '',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => 'Chyba: Nie je možné presunúť koreňovú zložku.',
'cannot_retrieve_approval_snapshot' => 'Nie je možné získať informáciu o stave schválenia tejto verzie dokumentu.',
'cannot_retrieve_review_snapshot' => 'Nie je možné získať informáciu o stave recenzie tejto verzie dokumentu.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Chyba: Nie je možné zmazať koreňovú zložku.',
'cannot_transfer_your_objects' => '',
'categories' => 'Kategórie',
'categories_loading' => 'Počkajte, kým nebude načítaný zoznam kategórií ...',
'category' => 'Kategória',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Nové dokumenty za mesiac',
'chart_docsperstatus_title' => 'Dokumenty podľa stavu',
'chart_docsperuser_title' => 'Dokumenty podľa používateľa',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Vyber graf',
'chart_sizeperuser_title' => 'Diskový priestor na používateľa',
'checkedout_file_has_different_version' => 'The checked out version is not identical to the current version. Check in will not update the document.',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'The file of the checked out document is still unchanged. Check in will not be possible. If do not plan any modifications, you can reset the check out status.',
'checkin_document' => 'Check In',
'checkoutpath_does_not_exist' => 'Checkout path does not exists',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Pozrieť sa na dokument',
'checkout_is_disabled' => 'Kontrola dokumentov je zakázaná v konfigurácii.',
'choose_attrdef' => 'Vyberte prosím definíciu atribútu',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Vyprať pracovný postup',
'choose_workflow_action' => 'Vybrať akciu pracovného postupu',
'choose_workflow_state' => 'Vybrať stav pracovného postupu',
'class_finfo_missing' => '',
'class_name' => 'Názov triedy',
'clear_cache' => 'Vyčistiť pamäť cache',
'clear_clipboard' => 'Vymazať schránku',
'clear_password' => 'Vymazať heslo',
'clipboard' => 'Schránka',
'close' => 'Zavrieť',
'color' => '',
'command' => 'Príkaz',
'comment' => 'Komentár',
'comment_changed_email' => 'Nepreložené',
@ -409,12 +418,14 @@ Nadradená zložka: [folder_path]
Používateľ: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Dokument bol zmazaný',
'document_duplicate_name' => 'Duplicitný názov dokumentu',
'document_files' => '',
'document_has_no_workflow' => 'Dokument nemá pracovný postup',
'document_infos' => 'Informácie o dokumente',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Document is currently checked out. If you upload a new version, then the checked out version cannot be checked back in anymore.',
'document_is_not_locked' => 'Tento dokument nie je zamknutý',
'document_links' => '',
'document_link_by' => 'Odkazuje sem',
'document_link_public' => 'Verejný',
'document_moved_email' => 'Dokument presunutý',
@ -459,6 +470,7 @@ Komentár: [comment]
Komentár verzie: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Dokument bol aktualizovaný',
'document_versions' => '',
'does_not_expire' => 'Platnosť nikdy nevyprší',
'does_not_inherit_access_msg' => 'Zdediť prístup',
'download' => 'Stiahnuť',
@ -493,6 +505,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Rýchlo nahraj',
'drop_files_here' => 'Sem vložte súbory!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Vytvorenie výstupu DB',
'dump_creation_warning' => 'Touto akciou môžete vytvoriť výstup obsahu Vašej databázy. Po vytvorení bude výstup uložený v dátovej zložke vášho servera.',
'dump_list' => 'Existujúce výstupy',
@ -542,6 +555,7 @@ URL: [url]',
'error_add_aro' => 'Error while adding access request object',
'error_add_permission' => 'Error while add permission',
'error_cleared_cache' => 'Chyba pri vymazaní vyrovnávacej pamäte',
'error_document_indexed' => '',
'error_edit_task' => 'Chyba pri ukladaní úlohy',
'error_extension_getlist' => 'Error getting extension list from repository',
'error_importfs' => 'Chyba pri importe zo súborového systému',
@ -670,6 +684,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'Fulltext index je zakázaný',
'fulltext_converters' => 'Index document conversion',
'fulltext_info' => 'Informácie o fulltext indexe',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'Skupiny atribútov',
'global_attributedefinitions' => 'Atribúty',
'global_default_keywords' => 'Globálne kľúčové slová',
@ -685,6 +700,7 @@ URL: [url]',
'group_management' => 'Skupiny',
'group_members' => 'Členovia skupiny',
'group_receipt_summary' => 'Group receipt summary',
'group_review_removed' => '',
'group_review_summary' => 'Zhrnutie skupinovej recenzie',
'group_revision_summary' => '',
'guest_login' => 'Prihlásiť sa ako hosť',
@ -705,7 +721,7 @@ 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' => 'Importovať užívateľov',
'import_users_addnew' => '',
'import_users_update' => '',
'include_content' => 'Zahrnúť obsah',
@ -713,16 +729,23 @@ URL: [url]',
'include_subdirectories' => 'Vrátane podzložiek',
'indexing_tasks_in_queue' => 'Indexovacích úloh vo fronte',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => 'Hotovo',
'index_error' => 'Chyba',
'index_folder' => 'Indexovať zložku',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => 'Did not index content',
'index_pending' => 'Pending',
'index_waiting' => 'Čakajte',
'individuals' => 'Jednotlivci',
'individuals_in_groups' => 'Členovia skupiny',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => 'Acknowledgement of reception for this document version is not possible, because the version is not released.',
'info_rm_user_from_processes_user' => '',
'inherited' => 'zdedené',
'inherits_access_copy_msg' => 'Skopírovať zdedený zoznam riadenia prístupu',
'inherits_access_empty_msg' => 'Založiť nový zoznam riadenia prístupu',
@ -766,8 +789,10 @@ URL: [url]',
'js_no_approval_status' => 'Prosím, vyberte stav schválenia',
'js_no_comment' => 'Žiadny komentár',
'js_no_currentpwd' => 'Zadajte svoje aktuálne heslo',
'js_no_document' => '',
'js_no_email' => 'Napíšte svoju emailovú adresu',
'js_no_file' => 'Prosím, vyberte súbor',
'js_no_folder' => '',
'js_no_keywords' => 'Zadajte nejaké kľúčové slová',
'js_no_login' => 'Prosím, napíšte meno používateľa',
'js_no_name' => 'Prosím, napíšte meno',
@ -810,6 +835,7 @@ URL: [url]',
'lock_document' => 'Zamknúť',
'lock_message' => 'Tento dokument zamkol [username]. Iba oprávnení používatelia ho môžu odomknúť.',
'lock_status' => 'Stav',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Prihlásiť sa',
'login_disabled_text' => 'Váš účet bol zablokovaný, pravdepodobne veľa pokusov o prihlásenie zlyhalo.',
@ -845,7 +871,9 @@ URL: [url]',
'missing_checksum' => 'Chýba kontrolný súčet',
'missing_file' => 'Chýba súbor',
'missing_filesize' => 'Chýba veľkosť súboru',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => 'Missing reception',
'missing_request_object' => 'Chýba požadovaný objekt',
'missing_transition_user_group' => 'Chýba používateľ/skupina pre prenos',
@ -862,6 +890,12 @@ URL: [url]',
'my_documents' => 'Moje dokumenty',
'my_transmittals' => 'My Transmittals',
'name' => 'Meno',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Nórčina (Bokmål)',
'needs_correction' => 'Vyžaduje opravu',
'needs_workflow_action' => 'Tento dokument si vyžaduje vašu pozornosť. Skontrolujte kartu pracovného postupu.',
@ -919,11 +953,13 @@ Nadradená zložka: [folder_path]
Používateľ: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Odstránené z notifikačného zoznamu',
'not_subscribed' => '',
'november' => 'November',
'now' => 'teraz',
'no_action' => 'Nič sa nevykoná',
'no_approval_needed' => 'Neprebieha žiadne schvaľovanie.',
'no_attached_files' => 'Žiadne prílohy',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => 'Neaktualizovaná verzia',
@ -994,6 +1030,8 @@ If you have still problems to login, then please contact your administrator.',
'password_forgotten_send_hash' => 'Instructions on how to proceed has been send to the user\'s email address',
'password_forgotten_text' => 'Fill out the form below and follow the instructions in the email, which will be sent to you.',
'password_forgotten_title' => 'Heslo bolo odoslané',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Zopakovať heslo',
'password_send' => 'Odoslať heslo',
'password_send_text' => 'Your new password has been send to the given email address, if the login and email matches an existing user. If you do not receive an email within the next minutes, then make sure both login and email are correct and restart the process again.',
@ -1083,9 +1121,13 @@ User: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Removed workflow from document version',
'removeFolderFromDropFolder' => 'Po importe odstrániť zložku',
'remove_approval_log' => '',
'remove_marked_files' => 'Odstrániť označené súbory',
'remove_review_log' => '',
'repaired' => 'opravené',
'repairing_objects' => 'Oprava dokumentov a zložiek.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'The workflow has reached a state which requires your action.
Document: [name]
Version: [version]
@ -1244,6 +1286,7 @@ URL: [url]',
'search' => 'Hľadať',
'search_fulltext' => 'Vyhľadávanie vo fulltexte',
'search_in' => 'Prehľadávať',
'search_mode' => '',
'search_mode_and' => 'všetky slová',
'search_mode_documents' => 'Iba dokumenty',
'search_mode_folders' => 'Iba zložky',
@ -1285,6 +1328,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Vyberte',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Vyberte používateľa',
'select_users' => 'Kliknutím vyberte používateľov',
'select_value' => 'Vyberte hodnotu',
@ -1344,6 +1388,7 @@ Meno: [username]
'settings_checkOutDir_desc' => 'This is the directory where the latest content of a document is copied if the document is checked out. If you make this directory accessible for users, they can edit the file and check it back in when finished.',
'settings_cmdTimeout' => 'Timeout for external commands',
'settings_cmdTimeout_desc' => 'This duration in seconds determines when an external command (e.g. for creating the full text index) will be terminated.',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Zložka obsahu',
'settings_contentDir_desc' => 'Where the uploaded files are stored (best to choose a directory that is not accessible through your web-server)',
'settings_contentOffsetDir' => 'Content Offset Directory',
@ -1461,6 +1506,8 @@ Meno: [username]
'settings_enableReceiptWorkflow_desc' => 'Enable, to turn on the workflow to acknowledge document reception.',
'settings_enableRecursiveCount' => 'Enable recursive document/folder count',
'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => 'Reject by one revisor',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1512,6 +1559,8 @@ Meno: [username]
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Hosť ID',
'settings_guestID_desc' => 'ID of guest-user used when logged in as guest (mostly no need to change)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => 'The relative path in the URL, after the domain part. Do not include the http:// prefix or the web host name. e.g. If the full URL is http://www.example.com/seeddms/, set \'/seeddms/\'. If the URL is http://www.example.com/, set \'/\'',
'settings_incItemsPerPage' => 'Number of entries loaded at end of page',
@ -1530,6 +1579,7 @@ Meno: [username]
'settings_install_welcome_text' => '<p>Before you start to install SeedDMS make sure you have created a file \'ENABLE_INSTALL_TOOL\' in your configuration directory, otherwise the installation will not work. On Unix-System this can easily be done with \'touch conf/ENABLE_INSTALL_TOOL\'. After you have finished the installation delete the file.</p><p>SeedDMS has very minimal requirements. You will need a mysql database or sqlite support and a php enabled web server. The pear package Log has to be installed too. For the lucene full text search, you will also need the Zend framework installed on disc where it can be found by php. For the WebDAV server you will also need the HTTP_WebDAV_Server. The path to it can later be set during installation.</p><p>If you like to create the database before you start installation, then just create it manually with your favorite tool, optionally create a database user with access on the database and import one of the database dumps in the configuration directory. The installation script can do that for you as well, but it will need database access with sufficient rights to create databases.</p>',
'settings_install_welcome_title' => 'Vitajte v inštalácii SeedDMS',
'settings_install_zendframework' => 'Install Zend Framework, if you intend to use the zend based full text search engine. Otherwise, ignore this message and continue the installation.',
'settings_invalid_guestid' => '',
'settings_language' => 'Predvolený jazyk',
'settings_language_desc' => 'Default language (name of a subfolder in folder "languages")',
'settings_libraryFolder' => 'Library folder',
@ -1720,6 +1770,7 @@ Meno: [username]
'splash_add_attribute' => 'Bol pridaný nový atribút',
'splash_add_group' => 'Bola pridaná nová skupina',
'splash_add_group_member' => 'New group member added',
'splash_add_notify' => '',
'splash_add_role' => 'Nová rola bola pridaná',
'splash_add_task' => '',
'splash_add_to_transmittal' => 'Add to transmittal',
@ -1731,6 +1782,7 @@ Meno: [username]
'splash_delete_access' => 'Access right deleted',
'splash_document_added' => 'Dokument bol pridaný',
'splash_document_checkedout' => 'Document checked out',
'splash_document_deleted' => '',
'splash_document_edited' => 'Dokument bol uložený',
'splash_document_indexed' => 'Dokument \'[name]\' bol indexovaný.',
'splash_document_locked' => 'Dokument uzamknutý',
@ -1754,6 +1806,7 @@ Meno: [username]
'splash_extension_import' => 'Extensition installed',
'splash_extension_refresh' => 'Refreshed list of extensions',
'splash_extension_upload' => 'Extension installed',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Uložiť zmeny zložky',
'splash_importfs' => 'Importované dokumenty [docs] a zložky [folders]',
'splash_inherit_access' => 'Access right will be inherited',
@ -1773,6 +1826,7 @@ Meno: [username]
'splash_rm_folder' => 'Zložka zmazaná',
'splash_rm_group' => 'Skupina bola odstránená',
'splash_rm_group_member' => 'Člen skupiny odstránený',
'splash_rm_notify' => '',
'splash_rm_role' => 'Rola bola odstránená',
'splash_rm_transmittal' => 'Transmittal deleted',
'splash_rm_user' => 'Používateľ bol odstránený',
@ -1800,6 +1854,7 @@ Meno: [username]
'status_approval_rejected' => 'Návrh zamietnutý',
'status_approved' => 'Schválený',
'status_approver_removed' => 'Schvaľovateľ odstránený z procesu',
'status_change' => '',
'status_needs_correction' => 'Vyžaduje opravu',
'status_not_approved' => 'Neschválený',
'status_not_receipted' => 'Zatiaľ neprijatý',
@ -1853,10 +1908,12 @@ Meno: [username]
'tasks' => 'Úlohy',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => 'Description',
'task_disabled' => 'Disabled',
'task_frequency' => 'Frequency',
'task_frequency_placeholder' => '',
'task_last_run' => 'Last run',
'task_name' => 'Name',
'task_next_run' => 'Next run',
@ -1878,6 +1935,7 @@ Meno: [username]
'timeline_skip_add_file' => 'príloha bola pridaná',
'timeline_skip_scheduled_revision' => 'Scheduled revision',
'timeline_skip_status_change_-1' => 'odmietnuté',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'expirovaný',
'timeline_skip_status_change_0' => 'čaká na revíziu',
'timeline_skip_status_change_1' => 'čaká na potvrdenie',
@ -1936,6 +1994,7 @@ URL: [url]',
'unknown_id' => 'Neznáme ID',
'unknown_keyword_category' => 'Neznáma kategória',
'unknown_owner' => 'Neznámy ID vlastníka',
'unknown_status' => '',
'unknown_user' => 'Neznámy ID používateľa',
'unlinked_content' => 'Obsah bol odpojený',
'unlinked_documents' => 'Dokumenty boli odpojené',
@ -1998,6 +2057,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Zobraziť online',
'warning' => 'Upozornenie',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -25,6 +25,8 @@ $text = array(
'2_factor_auth' => '2-faktors autentisering',
'2_factor_auth_info' => 'För stöd av 2-faktors autentisering behöver du Google Authenticator installerad din mobiltelefon.
Nedan ser du två QR-koder. Den högra är din hemliga kod och till vänster kan du skapa en ny kod. Om du skapar en ny kod måste du skanna den nytt med Google Authenticator.',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => 'Hemlighet',
'abbr_day' => '',
'abbr_hour' => '',
@ -96,6 +98,7 @@ URL: [url]',
'all_users' => 'Alla användare',
'already_subscribed' => 'Prenumererar redan',
'and' => 'och',
'apikey' => '',
'apply' => 'Använd',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -239,7 +242,9 @@ URL: [url]',
'cannot_move_root' => 'Fel: Det går inte att flytta root-katalogen.',
'cannot_retrieve_approval_snapshot' => 'Det är inte möjligt att skapa en snapshot av godkännande-statusen för denna version av dokumentet.',
'cannot_retrieve_review_snapshot' => 'Det är inte möjligt att skapa en snapshot för denna version av dokumentet.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Fel: Det går inte att ta bort root-katalogen.',
'cannot_transfer_your_objects' => '',
'categories' => 'Kategorier',
'categories_loading' => 'Vänligen vänta på listning av kategorier...',
'category' => 'Kategori',
@ -263,6 +268,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Nya dokument per månad',
'chart_docsperstatus_title' => 'Dokumenter per satus',
'chart_docsperuser_title' => 'Dokumenter per användare',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Välj diagram',
'chart_sizeperuser_title' => 'Diskutrymme per användare',
'checkedout_file_has_different_version' => 'Det utcheckade dokumentet är inte detsamma som nuvarande version. Incheckning kommer inte att uppdatera dokumentet.',
@ -270,6 +276,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'Filen för det utcheckade dokumentet är oförändrad och inchecknign är inte möjlig. Om du inte planerar att göra någon modifiering kan du återställa dokumentets utcheckningsstatus.',
'checkin_document' => 'Incheckning',
'checkoutpath_does_not_exist' => 'Sökvägen för utcheckning saknas',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Utcheckning',
'checkout_is_disabled' => 'Utcheckning av dokument är invaktiverad i systemets inställningar.',
'choose_attrdef' => 'Välj attributdefinition',
@ -285,12 +292,14 @@ URL: [url]',
'choose_workflow' => 'Välj arbetsflöde',
'choose_workflow_action' => 'Välj åtgärd för arbetsflödet',
'choose_workflow_state' => 'Välj status för arbetsflödet',
'class_finfo_missing' => '',
'class_name' => 'Klassnamn',
'clear_cache' => 'Rensa cache',
'clear_clipboard' => 'Rensa urklipp',
'clear_password' => 'Ta bort lösenord',
'clipboard' => 'Urklipp',
'close' => 'Stäng',
'color' => '',
'command' => 'Kommando',
'comment' => 'Kommentar',
'comment_changed_email' => '',
@ -403,12 +412,14 @@ Dokument: [name]
Användare: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Dokument har raderats',
'document_duplicate_name' => 'Dubblett av dokumentnamn',
'document_files' => '',
'document_has_no_workflow' => 'Dokumentet saknar arbetsflöde',
'document_infos' => 'Dokumentinformation',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Dokumentet är redan utcheckat. Om du laddar upp en ny version kan den utcheckade versionen inte checkas in igen.',
'document_is_not_locked' => 'Detta dokument är inte låst',
'document_links' => '',
'document_link_by' => 'Länkat av',
'document_link_public' => 'Offentlig länk',
'document_moved_email' => 'Dokument har flyttats',
@ -453,6 +464,7 @@ Kommentar: [comment]
Versionskommentar: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Dokument har uppdaterats',
'document_versions' => '',
'does_not_expire' => 'Löper aldrig ut',
'does_not_inherit_access_msg' => 'Ärv behörighet',
'download' => 'Ladda ner',
@ -487,6 +499,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Snabb uppladdning',
'drop_files_here' => 'Släpp filer här!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Skapa DB-dump',
'dump_creation_warning' => 'Med denna funktion kan du skapa en dumpfil av innehållet i din databas. När dumpfilen har skapats, kommer den att sparas i datamappen på servern.',
'dump_list' => 'Befintliga dumpfiler',
@ -536,6 +549,7 @@ URL: [url]',
'error_add_aro' => 'Fel vid begärd åtkomst till objekt',
'error_add_permission' => 'Fel vid tilldelning av behörighet',
'error_cleared_cache' => 'Fel vid rensning av cache',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => 'Fel vid import från filsystem',
@ -657,6 +671,7 @@ URL: [url]',
'fulltextsearch_disabled' => 'Indexering för fulltextsökning är inaktiverad',
'fulltext_converters' => 'Omvandling av dokumentindexering',
'fulltext_info' => 'Fulltext-indexinfo',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => 'Attributgrupper',
'global_attributedefinitions' => 'Attributdefinitioner',
'global_default_keywords' => 'Globala nyckelord',
@ -672,6 +687,7 @@ URL: [url]',
'group_management' => 'Grupphantering',
'group_members' => 'Gruppmedlemmar',
'group_receipt_summary' => 'Sammanfattning av mottagningsbevis för grupp',
'group_review_removed' => '',
'group_review_summary' => 'Sammanfattning av gruppgranskning',
'group_revision_summary' => '',
'guest_login' => 'Gästinloggning',
@ -700,16 +716,23 @@ URL: [url]',
'include_subdirectories' => 'Inkludera underkataloger',
'indexing_tasks_in_queue' => 'Indexeringsuppgifter i kö',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => 'Klart',
'index_error' => 'Fel',
'index_folder' => 'Indexeringskatalog',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => 'Förestående',
'index_waiting' => 'Väntar',
'individuals' => 'Personer',
'individuals_in_groups' => 'Medlemmar i en grupp',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'ärvd',
'inherits_access_copy_msg' => 'Kopiera lista för behörighetsarv',
'inherits_access_empty_msg' => 'Börja med tom behörighetslista',
@ -753,8 +776,10 @@ URL: [url]',
'js_no_approval_status' => 'Välj status för godkännande',
'js_no_comment' => 'Det finns inga kommentarer',
'js_no_currentpwd' => 'Ange ditt lösenord',
'js_no_document' => '',
'js_no_email' => 'Ange din e-postadress',
'js_no_file' => 'Välj en fil',
'js_no_folder' => '',
'js_no_keywords' => 'Skriv några nyckelord',
'js_no_login' => 'Skriv ett användarnamn',
'js_no_name' => 'Skriv ett namn',
@ -797,6 +822,7 @@ URL: [url]',
'lock_document' => 'Lås',
'lock_message' => 'Detta dokument har låsts av [username]. Bara auktoriserade användare kan låsa upp dokumentet.',
'lock_status' => 'Status',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Inloggning',
'login_disabled_text' => 'Ditt konto är inaktivt, förmodligen för att du har överskridit antalet tillåtna inloggningsförsök.',
@ -832,7 +858,9 @@ URL: [url]',
'missing_checksum' => 'Checksumma saknas',
'missing_file' => 'Fil saknas',
'missing_filesize' => 'Filstorlek saknas',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => 'Mottagande saknas',
'missing_request_object' => 'Begärt objekt saknas',
'missing_transition_user_group' => 'Användare/grupp saknas för övergång',
@ -849,6 +877,12 @@ URL: [url]',
'my_documents' => 'Mina dokument',
'my_transmittals' => 'Mina överföringar',
'name' => 'Namn',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Norska (Bokmål)',
'needs_correction' => '',
'needs_workflow_action' => 'Detta dokument behöver din uppmärksamhet. Kontrollera inställningarna för arbetsflödet.',
@ -906,11 +940,13 @@ Namn: [name]
Användare: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Borttagen från meddelandelistan',
'not_subscribed' => '',
'november' => 'November',
'now' => 'nu',
'no_action' => 'Ingen åtgärd behövs.',
'no_approval_needed' => 'Inget godkännande behövs.',
'no_attached_files' => 'Inga filer har bifogats.',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => 'Du har en gammal version av SeedDMS. Senaste versionen är [latestversion].',
@ -978,6 +1014,8 @@ Om du fortfarande har problem med inloggningen, kontakta administratören.',
'password_forgotten_send_hash' => 'En beskrivning av vad du måste göra har nu skickats till din e-postadress.',
'password_forgotten_text' => 'Fyll i formuläret nedan och följ instruktionerna som skickas till din e-postadress.',
'password_forgotten_title' => 'Glömt lösenord',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Upprepa lösenord',
'password_send' => 'Lösenord skickat',
'password_send_text' => 'Ditt nya lösenord har skickats till den angivna e-postadressen, förutsatt att användarnamn och e-postadressen matchar en existerande användare. Om du inte får ett epost inom några minuter, kontrollera att användarnamn och e-postadressen är rätt. Begär ett nytt lösenord igen.',
@ -1056,9 +1094,13 @@ Användare: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Arbetsflöde borttaget från dokumentversion',
'removeFolderFromDropFolder' => 'Radera katalog efter import',
'remove_approval_log' => '',
'remove_marked_files' => 'Ta bort markerade filer',
'remove_review_log' => '',
'repaired' => 'reparerat',
'repairing_objects' => 'Reparerar dokument och kataloger.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'Arbetsflödet har nått en status som kräver åtgärd av dig.
Dokument: [name]
Version: [version]
@ -1217,6 +1259,7 @@ URL: [url]',
'search' => 'Sök',
'search_fulltext' => 'Fulltext-sökning',
'search_in' => 'Sök i',
'search_mode' => '',
'search_mode_and' => 'alla ord',
'search_mode_documents' => 'Endast dokument',
'search_mode_folders' => 'Endast kataloger',
@ -1258,6 +1301,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Välj',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Välj användare',
'select_users' => 'Välj användare',
'select_value' => 'Välj värde',
@ -1317,6 +1361,7 @@ Kommentar: [comment]',
'settings_checkOutDir_desc' => 'Sökväg till den senaste versionen av ett utcheckat dokument. Om du ger användare åtkomst till denna katalog kan de ändra och checka in utcheckade filer.',
'settings_cmdTimeout' => 'Tidsgräns för externa kommandon',
'settings_cmdTimeout_desc' => 'Denna tid i sekunder bestämmer när ett externt kommando (t.ex. för att skapa den fullständiga texten till index) kommer att avslutas.',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Mapp för innehållet',
'settings_contentDir_desc' => 'Mappen där alla uppladdade filer kommer att sparas. (Det bästa är att välja en mapp som inte är tillgänglig från webbservern)',
'settings_contentOffsetDir' => 'Innehåll offset-mapp',
@ -1434,6 +1479,8 @@ Kommentar: [comment]',
'settings_enableReceiptWorkflow_desc' => 'Aktivera notifiering av meddelanden i arbetsflödet.',
'settings_enableRecursiveCount' => 'Aktivera rekursiv räkning av dokument/katalog',
'settings_enableRecursiveCount_desc' => 'Om detta sätts på, kommer antal dokument och kataloger i katalogvyn fastställas genom att räkna alla objekter via rekursiv hantering av alla kataloger och räkna dessa dokument och kataloger som användaren har rättigheter till.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1485,6 +1532,8 @@ Kommentar: [comment]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Gäst-ID',
'settings_guestID_desc' => 'ID som används för inloggad gästanvändare (behöver oftast inte ändras)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http-Root',
'settings_httpRoot_desc' => 'Den relativa sökvägen i URL, efter domänen. Ta inte med http:// eller web host-namnet. t.ex. om hela URLen är http://www.example.com/letodms/, sätt \'/letodms/\'. Om URLen är http://www.example.com/, sätt \'/\'',
'settings_incItemsPerPage' => 'Antal visade resultat per sida',
@ -1503,6 +1552,7 @@ Kommentar: [comment]',
'settings_install_welcome_text' => '<p>Innan du börjar installationen av letoDMS, se till att du har skapat en fil med namnet \'ENABLE_INSTALL_TOOL\' i konfigurationsmappen, annars kommer installationen inte att fungera. På Unix-system kan detta göras med \'touch conf/ENABLE_INSTALL_TOOL\'. När du har avslutat installationen måste filen tas bort.</p><p>letoDMS har bara minimala krav. Du behöver en mysql-databas och php måste finnas på din webbserver. För lucene fulltext-sökning måste du lägga Zend framework på servern, så att det kan hittas av php. Från och med version 3.2.0 av letoDMS, är ADOdb inte längre del av distributionen. En kopia kan laddas ner från <a href="http://adodb.sourceforge.net/">http://adodb.sourceforge.net</a>. Installera detta. Sökvägen kan sättas senare i samband med installationsprocessen.</p><p>Om du vill skapa en databas innan du börjar installationen, kan den skapas manuellt med ett valfritt verktyg. Alternativt, skapa en databas med en användare som har tillgång till databasen och importera en av databasdumparna som ligger i konfigurationsmappen. Installationsskriptet kan göra detta automatiskt, men det behöver tillgång till databasen och tillräckliga rättigheter för att skapa databasen.</p>',
'settings_install_welcome_title' => 'Välkommen till installationen av SeedDMS!',
'settings_install_zendframework' => 'Installera Zend Framework, om du tänker använda fulltext-sökningen',
'settings_invalid_guestid' => '',
'settings_language' => 'Standardspråk',
'settings_language_desc' => 'Standardspråk (namn på sub-mappen i mappen "languages")',
'settings_libraryFolder' => '',
@ -1693,6 +1743,7 @@ Kommentar: [comment]',
'splash_add_attribute' => 'Nytt attribut tillagt',
'splash_add_group' => 'Ny grupp tillagd',
'splash_add_group_member' => 'Ny gruppmedlem tillagt',
'splash_add_notify' => '',
'splash_add_role' => 'Lägg till ny roll',
'splash_add_task' => '',
'splash_add_to_transmittal' => 'Lägg till meddelande',
@ -1704,6 +1755,7 @@ Kommentar: [comment]',
'splash_delete_access' => '',
'splash_document_added' => 'Dokument tillagt',
'splash_document_checkedout' => 'Dokument utcheckat',
'splash_document_deleted' => '',
'splash_document_edited' => 'Dokument sparat',
'splash_document_indexed' => 'Dokument \'[name]\' indexerat.',
'splash_document_locked' => 'Dokument låst',
@ -1727,6 +1779,7 @@ Kommentar: [comment]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Spara ändringar i katalog',
'splash_importfs' => 'Importerade [docs] dokument och [folders] kataloger',
'splash_inherit_access' => '',
@ -1746,6 +1799,7 @@ Kommentar: [comment]',
'splash_rm_folder' => 'Katalog raderad',
'splash_rm_group' => 'Grupp har tagits bort',
'splash_rm_group_member' => 'Gruppmedlem har tagits bort',
'splash_rm_notify' => '',
'splash_rm_role' => 'Rollen raderad',
'splash_rm_transmittal' => 'Meddelande raderat',
'splash_rm_user' => 'Användare har tagits bort',
@ -1773,6 +1827,7 @@ Kommentar: [comment]',
'status_approval_rejected' => 'Utkast avvisat',
'status_approved' => 'Godkänt',
'status_approver_removed' => 'Godkännare har tagits bort från processen',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'Ej godkänt',
'status_not_receipted' => 'Ej mottaget ännu',
@ -1826,10 +1881,12 @@ Kommentar: [comment]',
'tasks' => 'Uppgifter',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1851,6 +1908,7 @@ Kommentar: [comment]',
'timeline_skip_add_file' => 'Bilaga tillagd',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'avvisad',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'utgånget',
'timeline_skip_status_change_0' => 'väntar på granskning',
'timeline_skip_status_change_1' => 'väntar på godkännande',
@ -1909,6 +1967,7 @@ URL: [url]',
'unknown_id' => 'Okänt ID',
'unknown_keyword_category' => 'Okänd kategori',
'unknown_owner' => 'Okänt ägar-ID',
'unknown_status' => '',
'unknown_user' => 'Okänt användar-ID',
'unlinked_content' => 'Olänkat innehåll',
'unlinked_documents' => 'Olänkade dokument',
@ -1971,6 +2030,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Visa online',
'warning' => 'Varning',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1125), aydin (83)
// Translators: Admin (1129), aydin (83)
$text = array(
'2_factor_auth' => 'İki faktörlü yetkilendirme',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '',
'abbr_day' => '',
'abbr_hour' => '',
@ -94,6 +96,7 @@ URL: [url]',
'all_users' => 'Tüm kullanıcılar',
'already_subscribed' => 'Zaten kayıtlı',
'and' => 've',
'apikey' => '',
'apply' => 'Uygula',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -171,7 +174,7 @@ URL: [url]',
'attrdef_type_boolean' => 'Mantık',
'attrdef_type_date' => 'Tarih',
'attrdef_type_document' => '',
'attrdef_type_email' => '',
'attrdef_type_email' => 'Eposta',
'attrdef_type_float' => '',
'attrdef_type_folder' => '',
'attrdef_type_group' => '',
@ -232,7 +235,9 @@ URL: [url]',
'cannot_move_root' => 'Hata: Kök klasörü taşıyamazsınız.',
'cannot_retrieve_approval_snapshot' => 'Bu doküman sürümü için anlık onay durumu alınamadı.',
'cannot_retrieve_review_snapshot' => 'Bu doküman için anlık kontrol edilme durumu alınamadı.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Hata: Kök klasör silinemez.',
'cannot_transfer_your_objects' => '',
'categories' => 'Kategori',
'categories_loading' => '',
'category' => 'Kategori',
@ -256,6 +261,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Aylık yeni dokümanlar',
'chart_docsperstatus_title' => 'Durumuna göre dokümanlar',
'chart_docsperuser_title' => 'Kullanıcıya göre dokümanlar',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Grafik seç',
'chart_sizeperuser_title' => 'Kullanıcıya göre disk kullanımı',
'checkedout_file_has_different_version' => '',
@ -263,6 +269,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => '',
'checkin_document' => '',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => '',
'checkout_is_disabled' => '',
'choose_attrdef' => 'Lütfen nitelik tanımını seçiniz',
@ -278,12 +285,14 @@ URL: [url]',
'choose_workflow' => 'İş akışı seçiniz',
'choose_workflow_action' => 'İş akış eylemi seçiniz',
'choose_workflow_state' => 'İş akış durumunu seçiniz',
'class_finfo_missing' => '',
'class_name' => '',
'clear_cache' => 'Ön belleği temizle',
'clear_clipboard' => 'Panoyu temizle',
'clear_password' => '',
'clipboard' => 'Pano',
'close' => 'Kapat',
'color' => '',
'command' => 'komut',
'comment' => 'Açıklama',
'comment_changed_email' => '',
@ -396,12 +405,14 @@ Doküman: [name]
Kullanıcı: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - Doküman silindi',
'document_duplicate_name' => 'Mükerrer doküman ismi',
'document_files' => '',
'document_has_no_workflow' => 'Dokümanın iş akışı yok',
'document_infos' => 'Doküman Bilgisi',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '',
'document_is_not_locked' => 'Bu doküman kilitli değil',
'document_links' => '',
'document_link_by' => 'Link veren',
'document_link_public' => 'Genel',
'document_moved_email' => 'Doküman taşındı',
@ -441,6 +452,7 @@ Açıklama: [comment]
Versiyon ıklaması: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - Doküman güncellendi',
'document_versions' => '',
'does_not_expire' => 'Süresiz',
'does_not_inherit_access_msg' => 'Erişim haklarını devir al',
'download' => 'İndir',
@ -475,6 +487,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Hızlı yükleme',
'drop_files_here' => 'Dosyaları buraya sürükleyin!',
'drop_files_here_or_click' => '',
'dump_creation' => 'Veritabanı dump oluşturma',
'dump_creation_warning' => 'Bu işlemle veritabanınızın dump dosyasını oluşturabilirsiniz. Dump dosyası sunucunuzdaki data klasörüne kaydedilcektir.',
'dump_list' => 'Mevcut dump dosyaları',
@ -524,6 +537,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -557,7 +571,7 @@ URL: [url]',
'expire_in_1y' => '1 Yıl içinde silinecek',
'expire_in_2h' => '',
'expire_in_2y' => '2 Yıl içinde silinecek',
'expire_in_3y' => '',
'expire_in_3y' => '3 Yıl içinde silinecek',
'expire_today' => '',
'expire_tomorrow' => '',
'expiry_changed_email' => 'Süresinin dolacağı tarihi değişti',
@ -568,7 +582,7 @@ Kullanıcı: [username]
URL: [url]',
'expiry_changed_email_subject' => '[sitename]: [name] - Bitiş tarihi değişti',
'export' => '',
'export_user_list_csv' => '',
'export_user_list_csv' => 'Kullanıcıları CSV olarak dışa aktar',
'extension_archive' => '',
'extension_changelog' => 'Değişiklik Listesi',
'extension_is_off_now' => '',
@ -645,6 +659,7 @@ URL: [url]',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Doküman dönüştürmeyi indeksle',
'fulltext_info' => 'Tam metin indeks bilgi',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Nitelikler',
'global_default_keywords' => 'Global anahtar kelimeler',
@ -660,6 +675,7 @@ URL: [url]',
'group_management' => 'Grup yönetimi',
'group_members' => 'Grup üyeleri',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => 'Grup gözden geçirme özeti',
'group_revision_summary' => '',
'guest_login' => 'Misafir olarak giriş yap',
@ -688,16 +704,23 @@ URL: [url]',
'include_subdirectories' => 'Alt klasörleri kapsa',
'indexing_tasks_in_queue' => '',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Klasörü indeksle',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => 'Bekliyor',
'individuals' => 'Bireysel',
'individuals_in_groups' => '',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'devralındı',
'inherits_access_copy_msg' => 'Devralınan erişim listesini kopyala',
'inherits_access_empty_msg' => 'Boş erişim listesiyle başla',
@ -741,8 +764,10 @@ URL: [url]',
'js_no_approval_status' => 'Lütfen onay durumu seçiniz',
'js_no_comment' => 'Açıklama yok',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => 'E-posta adresinizi yazınız',
'js_no_file' => 'Lütfen dosya seçiniz',
'js_no_folder' => '',
'js_no_keywords' => 'Anahtar kelime belirleyiniz',
'js_no_login' => 'Lütfen kullanıcı adı yazınız',
'js_no_name' => 'Lütfen isim yazınız',
@ -785,6 +810,7 @@ URL: [url]',
'lock_document' => 'Kilitle',
'lock_message' => 'Bu doküman [username] tarafından kilitlenmiştir. Sadece yetkilendirilmiş kişiler bu dokümanı açabilirler.',
'lock_status' => 'Durum',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Giriş',
'login_disabled_text' => 'Hesabınız devre dışı. Muhtemelen çok fazla hatalı giriş denemesi yapıldı.',
@ -820,7 +846,9 @@ URL: [url]',
'missing_checksum' => 'Sağlama toplamı eksik',
'missing_file' => '',
'missing_filesize' => 'Dosya boyutu eksik',
'missing_func_class_note' => '',
'missing_php_extensions' => 'Eksik php eklentileri',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => 'Geçiş için kullanıcı/grup bilgisi eksik',
@ -837,6 +865,12 @@ URL: [url]',
'my_documents' => 'Dokümanlarım',
'my_transmittals' => 'Çevirilerim',
'name' => 'İsim',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Norveç Havayolları',
'needs_correction' => '',
'needs_workflow_action' => 'Bu doküman dikkatinizi gerektiriyor. Lütfen iş akış sekmesini kontrol ediniz.',
@ -894,11 +928,13 @@ URL: [url]',
Kullanıcı: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - Bildirim listesinden çıkarıldınız',
'not_subscribed' => '',
'november' => 'Kasım',
'now' => 'şimdi',
'no_action' => 'İşlem gerekmiyor',
'no_approval_needed' => 'Onay bekleyen yok.',
'no_attached_files' => 'Ek dosya yok',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => 'Yedekleme dizini belirlenmedi',
'no_current_version' => 'Kullandığınız SeedDMS versiyonu eski görünüyor. Son versiyon [latestversion].',
@ -971,6 +1007,8 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü
'password_forgotten_send_hash' => 'Yeni şifre alma talimatı kullanıcının e-posta adresine gönderilmiştir.',
'password_forgotten_text' => 'Aşağıdaki formu doldurunuz ve e-posta adresinize gönderilecek olan talimatı uygulayınız.',
'password_forgotten_title' => 'Parola gönderildi',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Parolayı tekrar giriniz',
'password_send' => 'Parola gönderildi',
'password_send_text' => 'Kullanıcı adı ve e-posta adresiniz eşleştiyse yeni parolanız belirttiğiniz e-posta adresinize gönderilmiş olacaktır. Eğer birkaç dakika içerisinde e-posta adresinize mesaj gelmezse kullanıcı adı ve sisteme kayıtlı e-posta adresinizin doğru olduğundan emin olarak işlemi tekrarlayınız.',
@ -1049,9 +1087,13 @@ Kullanıcı: [username]
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - Doküman versiyonundan iş akışı silindi',
'removeFolderFromDropFolder' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'İşaretli dosyaları sil',
'remove_review_log' => '',
'repaired' => 'onarıldı',
'repairing_objects' => 'Doküman ve klasörler onarılıyor.',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => '',
'request_workflow_action_email_subject' => '',
'reset_checkout' => '',
@ -1188,6 +1230,7 @@ URL: [url]',
'search' => 'Ara',
'search_fulltext' => 'Tam metinde ara',
'search_in' => 'Şurada ara',
'search_mode' => '',
'search_mode_and' => 'tüm sözcükler',
'search_mode_documents' => 'Sadece Belgeler',
'search_mode_folders' => 'Sadece Klasörler',
@ -1229,6 +1272,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Birini seçiniz',
'select_owner' => '',
'select_status' => '',
'select_user' => 'Kullanıcı Seç',
'select_users' => 'Kullanıcı seçmek için tıklayın',
'select_value' => 'Değeri seç',
@ -1283,6 +1327,7 @@ URL: [url]',
'settings_checkOutDir_desc' => '',
'settings_cmdTimeout' => 'Dış komutta zaman aşımı',
'settings_cmdTimeout_desc' => '',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'İçerik dizini',
'settings_contentDir_desc' => 'Yüklenecek dosyaların depolanacağı yer (web üzerinden erişilemeyen bir yer tercih etmeniz önerilir.)',
'settings_contentOffsetDir' => 'İçerik Ofset Klasörü',
@ -1400,6 +1445,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => 'Özyinelenen doküman/klasör sayımını etkinleştir',
'settings_enableRecursiveCount_desc' => 'Aktif hale getirildiğinde, klasör içindeki dokümanlar ve diğer klasörlerin sayısı kullanıcının erişim hakkı olan tüm nesnelerin özyinelemeli olarak sayılması yolu ile bulunur.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1451,6 +1498,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Misafir ID',
'settings_guestID_desc' => 'Misafir kullanıcı için ID (genelde değiştirmek gerekmez)',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http Kök dizini',
'settings_httpRoot_desc' => 'Domainden sonraki yol. http:// ve domain yazmadan domainden sonraki bölüm yazılacak. Örneğin tam URL http://www.ornek.com/seeddms/ ise sadece \'seeddms\' olarak ayarlayın. Eğer URL http://www.ornek.com/ ise sadece \'/\' koymanız yeterli',
'settings_incItemsPerPage' => '',
@ -1469,6 +1518,7 @@ URL: [url]',
'settings_install_welcome_text' => '<p>SeedDMS kurulumuna başlamadan önce konfigürasyon (conf) klasörünün içine \'ENABLE_INSTALL_TOOL\' isminde bir dosya oluşturmazsanız kurulum yapılamaz. Unix tabanlı sitemlerde konsoldan \'touch conf/ENABLE_INSTALL_TOOL\' yazarak bu dosyayı oluşturabilirsiniz. Kurulum tamamlandıktan sonra bu dosyayı silmeniz gerekiyor. </p><p>SeedDMS çok az gereksinime ihtiyaç duyar. Bir mysql veritabanı veya sqlite desteği olan ve php etkin bir web sunucuya ihtiyacınız var. Log pear paketi de ayrıca kurulması gerekir. Tam metin tarama yapılabilmesi için sisteminizde php tarafından okunabilen Zend framework kurulu olmalıdır. WebDAV sunucu için ayrıca HTTP_WebDAV_Server kurulu olmalıdır. Kurulumdan sonra bunun yolu tanımlanabilir. </p><p>Kuruluma başlamadan önce veritabanını oluşturmak isterseniz, bunu manuel olarak yapmalısınız. Bunu yaptıktan sonra konfigürasyon klasörü içerisindeki dump veritabanını import edebilirsiniz. Kurulum sihirbazı bunu sizin için yapabilir fakat bunun için yeterli veritabanı erişim haklarına sahip olmanız gerekir.</p>',
'settings_install_welcome_title' => 'SeedDMS kurulumuna hoşgeldiniz',
'settings_install_zendframework' => 'Tam metin arama motorundan faydalanmak isterseniz Zend Framework kurmalısınız.',
'settings_invalid_guestid' => '',
'settings_language' => 'Varsayılan dil',
'settings_language_desc' => 'Varsayılan dil ("languages" klasörü içindeki dil klasörü)',
'settings_libraryFolder' => '',
@ -1659,6 +1709,7 @@ URL: [url]',
'splash_add_attribute' => 'Yeni nitelik eklendi',
'splash_add_group' => 'Yeni grup eklendi',
'splash_add_group_member' => 'Yeni grup üyesi eklendi',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1670,6 +1721,7 @@ URL: [url]',
'splash_delete_access' => '',
'splash_document_added' => 'Doküman eklendi',
'splash_document_checkedout' => '',
'splash_document_deleted' => '',
'splash_document_edited' => 'Doküman kaydedildi',
'splash_document_indexed' => '',
'splash_document_locked' => 'Doküman kilitlendi',
@ -1693,6 +1745,7 @@ URL: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Klasör değişiklikleri kaydedildi',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1712,6 +1765,7 @@ URL: [url]',
'splash_rm_folder' => 'Klasör silindi',
'splash_rm_group' => 'Grup silindi',
'splash_rm_group_member' => 'Grup üyesi silindi',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
'splash_rm_user' => 'Kullanıcı silindi',
@ -1739,6 +1793,7 @@ URL: [url]',
'status_approval_rejected' => 'Taslak reddedildi',
'status_approved' => 'Onaylandı',
'status_approver_removed' => 'Onaylayan süreci sildi',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'Onaylanmadı',
'status_not_receipted' => '',
@ -1792,10 +1847,12 @@ URL: [url]',
'tasks' => '',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1817,6 +1874,7 @@ URL: [url]',
'timeline_skip_add_file' => 'ek eklendi',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => '',
'timeline_skip_status_change_0' => '',
'timeline_skip_status_change_1' => '',
@ -1875,6 +1933,7 @@ URL: [url]',
'unknown_id' => 'bilinmeyen id',
'unknown_keyword_category' => 'Bilinmeyen kategori',
'unknown_owner' => 'Bilinmeyen sahip Id',
'unknown_status' => '',
'unknown_user' => 'Bilinmeyen kullanıcı ID',
'unlinked_content' => 'Linki kaldırılmış içerik',
'unlinked_documents' => 'Linki kaldırılmış dokümanlar',
@ -1933,10 +1992,12 @@ URL: [url]',
'version_deleted_email_subject' => '[sitename]: [name] - Versiyon silindi',
'version_info' => 'Versiyon Bilgisi',
'view' => 'Görüntüle',
'view_document' => '',
'view_document' => 'Dokümanın detaylarını görüntüle',
'view_folder' => '',
'view_online' => 'Online görüntüle',
'warning' => 'Dikkat',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1340)
// Translators: Admin (1342)
$text = array(
'2_factor_auth' => '',
'2_factor_auth_info' => '',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => 'Всі користувачі',
'already_subscribed' => 'Вже підписаний',
'and' => 'і',
'apikey' => '',
'apply' => 'Застосувати',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => 'Не можна переміщати кореневий каталог',
'cannot_retrieve_approval_snapshot' => 'Неможливо отримати знімок затвердження для цього документа',
'cannot_retrieve_review_snapshot' => 'Неможливо отримати знімок рецензування для цього документа',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => 'Не можна видаляти кореневий каталог',
'cannot_transfer_your_objects' => '',
'categories' => 'Категорії',
'categories_loading' => 'Будь ласка, зачекайте, поки завантажується список категорій …',
'category' => 'Категорія',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => 'Документів на місяць',
'chart_docsperstatus_title' => 'Документів за статусом',
'chart_docsperuser_title' => 'Документи по користувачах',
'chart_foldersperuser_title' => '',
'chart_selection' => 'Оберіть діаграму',
'chart_sizeperuser_title' => 'Зайнятий дисковий простір по користувачах',
'checkedout_file_has_different_version' => 'Отримана версія документу не відповідає останній його версії. Завантаження не оновить документ.',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => 'Документ не змінено. Завантаження неможливе',
'checkin_document' => 'Отримання',
'checkoutpath_does_not_exist' => '',
'checkout_cancel_confirm' => '',
'checkout_document' => 'Завантаження',
'checkout_is_disabled' => 'Завантаження відключене',
'choose_attrdef' => 'Оберіть атрибут',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => 'Оберіть процес',
'choose_workflow_action' => 'Оберіть дію процесу',
'choose_workflow_state' => 'Оберіть статус процесу',
'class_finfo_missing' => '',
'class_name' => '',
'clear_cache' => 'Очистити кеш',
'clear_clipboard' => 'Очистити буфер обміну',
'clear_password' => '',
'clipboard' => 'Буфер обміну',
'close' => 'Закрити',
'color' => '',
'command' => '',
'comment' => 'Коментар',
'comment_changed_email' => 'Повідомлення про зміну коментаря',
@ -336,7 +345,7 @@ URL: [url]',
'daily' => 'Щоденно',
'databasesearch' => 'Пошук по БД',
'database_schema_version' => '',
'data_loading' => '',
'data_loading' => 'Зачекайте, дані завантажуються...',
'date' => 'Дата',
'days' => 'дні',
'debug' => '',
@ -402,12 +411,14 @@ URL: [url]',
Користувач: [username]',
'document_deleted_email_subject' => '[sitename]: видалено документ «[name]»',
'document_duplicate_name' => 'Документ з такою назвою вже існує',
'document_files' => '',
'document_has_no_workflow' => 'Документові не призначено процес',
'document_infos' => 'Інформація про документ',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => 'Документ на опрацюванні',
'document_is_not_locked' => 'Документ не заблокований',
'document_links' => '',
'document_link_by' => 'Пов\'язаний',
'document_link_public' => 'Публічний',
'document_moved_email' => 'Документ переміщено',
@ -447,6 +458,7 @@ URL: [url]',
Коментар версії: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: оновлено документ «[name]»',
'document_versions' => '',
'does_not_expire' => 'Без терміну виконання',
'does_not_inherit_access_msg' => 'Наслідувати рівень доступу',
'download' => 'Завантажити',
@ -481,6 +493,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Швидке завантаження',
'drop_files_here' => 'Перемістіть файли сюди',
'drop_files_here_or_click' => '',
'dump_creation' => 'Створити дамп БД',
'dump_creation_warning' => 'Ця операція створить дамп бази даних. Після створення файл буде збережено в каталозі даних сервера.',
'dump_list' => 'Існуючі дампи',
@ -530,6 +543,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '',
'error_cleared_cache' => '',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '',
@ -651,6 +665,7 @@ URL: [url]',
'fulltextsearch_disabled' => '',
'fulltext_converters' => 'Індексування документів',
'fulltext_info' => 'Інформація про повнотекстовий індекс',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '',
'global_attributedefinitions' => 'Атрибути',
'global_default_keywords' => 'Глобальні ключові слова',
@ -666,6 +681,7 @@ URL: [url]',
'group_management' => 'Керування групами',
'group_members' => 'Члени групи',
'group_receipt_summary' => 'Підсумки отримання групи',
'group_review_removed' => '',
'group_review_summary' => 'Підсумки рецензування групи',
'group_revision_summary' => '',
'guest_login' => 'Увійти як гість',
@ -694,16 +710,23 @@ URL: [url]',
'include_subdirectories' => 'Включно з підкаталогами',
'indexing_tasks_in_queue' => '',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => '',
'index_error' => '',
'index_folder' => 'Каталог індексу',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '',
'index_waiting' => '',
'individuals' => 'Користувачі',
'individuals_in_groups' => 'Користувачі групи',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => 'успадкований',
'inherits_access_copy_msg' => 'Скопіювати успадкований список',
'inherits_access_empty_msg' => 'Почати з порожнього списку доступу',
@ -747,8 +770,10 @@ URL: [url]',
'js_no_approval_status' => 'Оберіть статус затвердження',
'js_no_comment' => 'Немає коментаря',
'js_no_currentpwd' => '',
'js_no_document' => '',
'js_no_email' => 'Введіть свій e-mail',
'js_no_file' => 'Оберіть файл',
'js_no_folder' => '',
'js_no_keywords' => 'Вкажіть ключові слова',
'js_no_login' => 'Введіть логін',
'js_no_name' => 'Введіть ім\'я',
@ -791,6 +816,7 @@ URL: [url]',
'lock_document' => 'Заблокувати',
'lock_message' => 'Документ заблокував користувач [username]. Тільки користувачі, які мають відповідні права, можуть його розблокувати.',
'lock_status' => 'Статус',
'logfile' => '',
'logfile_loading' => '',
'login' => 'Логін',
'login_disabled_text' => 'Ваш обліковий запис заблоковано, можливо, через кілька невдалих спроб входу.',
@ -826,7 +852,9 @@ URL: [url]',
'missing_checksum' => 'Відсутня контрольна сума',
'missing_file' => 'Відсутній файл',
'missing_filesize' => 'Відсутній розмір файлу',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => 'Відсутній користувач/група для зміни.',
@ -843,6 +871,12 @@ URL: [url]',
'my_documents' => 'Мої документи',
'my_transmittals' => 'Мої перенесення',
'name' => 'Назва',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => 'Норвезька (букмол)',
'needs_correction' => '',
'needs_workflow_action' => 'Цей документ потребує вашої уваги. Див. вкладку «Процес».',
@ -899,11 +933,13 @@ URL: [url]',
Користувач: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: вас видалено зі списку сповіщення для «[name]»',
'not_subscribed' => '',
'november' => 'Листопад',
'now' => 'зараз',
'no_action' => 'Дій не потрібно',
'no_approval_needed' => 'Затвердження не потрібно',
'no_attached_files' => 'Немає додатків',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => 'Ви використовуєте застарілу версію SeedDMS. Остання версія [latestversion].',
@ -972,6 +1008,8 @@ URL: [url]',
'password_forgotten_send_hash' => 'Інструкції вислано на e-mail',
'password_forgotten_text' => 'Заповніть форму і виконайте інструкції в листі',
'password_forgotten_title' => 'Пароль вислано',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => 'Повторіть пароль',
'password_send' => 'Пароль відіслано',
'password_send_text' => 'Пароль відіслано.',
@ -1055,9 +1093,13 @@ URL: [url]',
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: видалено процес з версії документа «[name]»',
'removeFolderFromDropFolder' => '',
'remove_approval_log' => '',
'remove_marked_files' => 'Видалити обрані файли',
'remove_review_log' => '',
'repaired' => 'виправлено',
'repairing_objects' => 'Відновлення каталогів і документів',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => 'Запит дії по процесу',
'request_workflow_action_email_subject' => '[sitename]: [name] - Запит дії для процесу',
'reset_checkout' => 'Зняти стан опрацювання',
@ -1209,6 +1251,7 @@ URL: [url]',
'search' => 'Пошук',
'search_fulltext' => 'Повнотекстовий пошук',
'search_in' => 'Пошук',
'search_mode' => '',
'search_mode_and' => 'Всі слова',
'search_mode_documents' => 'Режим пошуку документів',
'search_mode_folders' => 'Режим пошуку каталогів',
@ -1250,6 +1293,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => 'Оберіть',
'select_owner' => '',
'select_status' => '',
'select_user' => '',
'select_users' => 'Оберіть користувачів',
'select_value' => 'Обрати значення',
@ -1304,6 +1348,7 @@ URL: [url]',
'settings_checkOutDir_desc' => 'Це каталог, куди скопійовано останній вміст документу, якщо він на опрацюванні. Якщо ви зробите цей каталог доступний користувачам, вони зможуть редагувати файл і завантажувати його назад по завершенні роботи.',
'settings_cmdTimeout' => 'Тайм-аут для зовнішніх команд',
'settings_cmdTimeout_desc' => 'Зазначена тривалість в секундах визначає, коли буде завершена зовнішня команда (наприклад, для створення повнотекстового індексу).',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => 'Каталог вмісту',
'settings_contentDir_desc' => 'Куди зберігаються завантажені файли (краще вибрати каталог, недоступний веб-серверові).',
'settings_contentOffsetDir' => 'Базовий початковий каталог',
@ -1421,6 +1466,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => 'Включіть для активації функції підтвердження отримання документу',
'settings_enableRecursiveCount' => 'Рекурсивно підраховувати<br/>документи і каталоги',
'settings_enableRecursiveCount_desc' => 'Якщо увімкнено, кількість документів і каталогів при перегляді каталогу буде підраховано рекурсивно для всіх документів до яких користувач має доступ.',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1472,6 +1519,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Ідентифікатор гостя',
'settings_guestID_desc' => 'Ідентифікатор гостя (можна не змінювати).',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Корінь http',
'settings_httpRoot_desc' => 'Відносний шлях в URL, після доменної частини. Без http://. Наприклад, якщо повний URL http://www.example.com/seeddms/, треба вказати «/seeddms/». Якщо URL http://www.example.com/, то «/».',
'settings_incItemsPerPage' => '',
@ -1490,6 +1539,7 @@ URL: [url]',
'settings_install_welcome_text' => '<p>Перед тим як почати встановлення SeedDMS переконайтеся, що ви створили файл ENABLE_INSTALL_TOOL в каталозі конфігурації, інакше інсталятор не працюватиме. На UNIX-подібних системах це можна зробити за допомогою команди \'touch conf/ENABLE_INSTALL_TOOL\'. Після установки видаліть цей файл.</p><p>SeedDMS має мінімальні вимоги. Потрібна база даних (БД) MySQL або SQLite и веб-сервер з PHP. Для роботи повнотекстового пошуку lucene, Також необхідна інфраструктура Zend, встановлена там, де до неї має доступ PHP. Для сервера WebDAV вам знадобиться HTTP_WebDAV_Server. Шлях може бути вказаний пізніше під час встановлення.</p><p>Якщо ви хочете створити БД до початку встановлення, то створіть її вручну відомим вам інструментом, а також користувача БД з правами доступу до БД і імпортуйте один з дампів БД з каталогу конфігурації. Інсталятор може зробити це сам, але потрібен доступ до БД з правами на створення БД.</p>',
'settings_install_welcome_title' => 'Ласкаво просимо до інсталяції SeedDMS',
'settings_install_zendframework' => 'Встановіть Zend Framework, якщо плануєте використовувати повнотекстовий пошук',
'settings_invalid_guestid' => '',
'settings_language' => 'Мова по замовчуванню',
'settings_language_desc' => 'Мова по замовчуванню (каталог в «languages»).',
'settings_libraryFolder' => 'Каталог бібліотек',
@ -1680,6 +1730,7 @@ URL: [url]',
'splash_add_attribute' => 'Додано новий атрибут',
'splash_add_group' => 'Додана нова група',
'splash_add_group_member' => 'Додано нового члена групи',
'splash_add_notify' => '',
'splash_add_role' => '',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1691,6 +1742,7 @@ URL: [url]',
'splash_delete_access' => '',
'splash_document_added' => 'Додано документ',
'splash_document_checkedout' => 'Документ відправлено на опрацювання',
'splash_document_deleted' => '',
'splash_document_edited' => 'Документ збережено',
'splash_document_indexed' => '',
'splash_document_locked' => 'Документ заблоковано',
@ -1714,6 +1766,7 @@ URL: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => 'Зміни каталогу збережено',
'splash_importfs' => '',
'splash_inherit_access' => '',
@ -1733,6 +1786,7 @@ URL: [url]',
'splash_rm_folder' => 'Папку видалено',
'splash_rm_group' => 'Групу видалено',
'splash_rm_group_member' => 'Члена групи видалено',
'splash_rm_notify' => '',
'splash_rm_role' => '',
'splash_rm_transmittal' => '',
'splash_rm_user' => 'Користувача видалено',
@ -1760,6 +1814,7 @@ URL: [url]',
'status_approval_rejected' => 'Чернетку відхилено',
'status_approved' => 'Затверджено',
'status_approver_removed' => 'Затверджувач видалений з процесу',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => 'Не затверджено',
'status_not_receipted' => 'Отримання не підтверджено',
@ -1813,10 +1868,12 @@ URL: [url]',
'tasks' => 'Завдання',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1838,6 +1895,7 @@ URL: [url]',
'timeline_skip_add_file' => 'додаток додано',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => 'відхилений',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => 'термін виконання вийшов',
'timeline_skip_status_change_0' => 'очікує рецензії',
'timeline_skip_status_change_1' => 'очікую підтвердження',
@ -1852,7 +1910,7 @@ URL: [url]',
'total' => '',
'to_before_from' => 'Кінцева дата не може бути меншою початкової дати',
'transfer_content' => '',
'transfer_document' => '',
'transfer_document' => 'Передача документа',
'transfer_no_read_access' => '',
'transfer_no_users' => '',
'transfer_no_write_access' => '',
@ -1896,6 +1954,7 @@ URL: [url]',
'unknown_id' => 'невідомий ідентифікатор',
'unknown_keyword_category' => 'Невідома категорія',
'unknown_owner' => 'Невідомий ідентифікатор власника',
'unknown_status' => '',
'unknown_user' => 'Невідомий ідентифікатор користувача',
'unlinked_content' => 'Віддалений вміст',
'unlinked_documents' => 'Видалені документи',
@ -1958,6 +2017,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => 'Переглянути',
'warning' => 'Увага',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -19,11 +19,13 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (783), archonwang (469), fengjohn (5), yang86 (1)
// Translators: Admin (784), archonwang (469), fengjohn (5), yang86 (1)
$text = array(
'2_factor_auth' => '双重认证',
'2_factor_auth_info' => '该系统启用双重认证。您需要在手机上进行 Google 认证。下面你会看到两个 QR 码。正确的是你目前的密码。在左边你可以设置一个新的密码。如果您设置了新的密码,请重新扫描并通过 Google 认证。',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '双重认证密码',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => '所有用户',
'already_subscribed' => '已经订阅',
'and' => 'and',
'apikey' => '',
'apply' => '应用',
'approvals_accepted' => '',
'approvals_accepted_latest' => '',
@ -230,7 +233,9 @@ URL: [url]',
'cannot_move_root' => '错误:不能移动根目录',
'cannot_retrieve_approval_snapshot' => '无法检索到该文件版本的审核快照.',
'cannot_retrieve_review_snapshot' => '无法检索到该文件版本的校对快照.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => '错误:不能删除根目录.',
'cannot_transfer_your_objects' => '',
'categories' => '分类',
'categories_loading' => '请稍候,类别列表正在拼命加载中……',
'category' => '分类',
@ -240,7 +245,7 @@ URL: [url]',
'category_in_use' => '已有文件使用此分类',
'category_noname' => '类别名称不能为空。',
'ca_ES' => '加泰罗尼亚语',
'changelog_loading' => '',
'changelog_loading' => '变更日志加载中,请稍候...',
'change_assignments' => '分配变更',
'change_password' => '修改密码',
'change_password_message' => '您的密码已更新。',
@ -254,6 +259,7 @@ URL: [url]',
'chart_docspermonth_title' => '每月创建的新文档',
'chart_docsperstatus_title' => '各状态文档数',
'chart_docsperuser_title' => '单用户文档数',
'chart_foldersperuser_title' => '',
'chart_selection' => '选择报表',
'chart_sizeperuser_title' => '单用户磁盘空间',
'checkedout_file_has_different_version' => '',
@ -261,6 +267,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => '',
'checkin_document' => '签入',
'checkoutpath_does_not_exist' => '签出路径不存在',
'checkout_cancel_confirm' => '',
'checkout_document' => '签出',
'checkout_is_disabled' => '',
'choose_attrdef' => '请选择属性',
@ -276,12 +283,14 @@ URL: [url]',
'choose_workflow' => '选择工作流',
'choose_workflow_action' => '选择工作流节点',
'choose_workflow_state' => '选择工作流状态',
'class_finfo_missing' => '',
'class_name' => '类名',
'clear_cache' => '清除缓存',
'clear_clipboard' => '清除粘贴板',
'clear_password' => '清除密码',
'clipboard' => '剪切板',
'close' => '关闭',
'color' => '',
'command' => '命令',
'comment' => '说明',
'comment_changed_email' => '',
@ -396,12 +405,14 @@ URL: [url]',
用户: [username]',
'document_deleted_email_subject' => '[sitename]: [name] - 文档已删除',
'document_duplicate_name' => '文档名称重复',
'document_files' => '',
'document_has_no_workflow' => '文档未配置工作流',
'document_infos' => '文档信息',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '文档已签出。如上传了新版本,则已签出的版本则不能再被签回。',
'document_is_not_locked' => '该文档没有被锁定',
'document_links' => '',
'document_link_by' => '链接',
'document_link_public' => '公开',
'document_moved_email' => '文档已被移动',
@ -441,6 +452,7 @@ URL: [url]',
版本批注: [version_comment]
URL: [url]',
'document_updated_email_subject' => '[sitename]: [name] - 文档已更新',
'document_versions' => '',
'does_not_expire' => '永不过期',
'does_not_inherit_access_msg' => '继承访问权限',
'download' => '下载',
@ -475,6 +487,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => '快速上传',
'drop_files_here' => '拖入这里',
'drop_files_here_or_click' => '',
'dump_creation' => '转储数据',
'dump_creation_warning' => '通过此操作,您可以创建一个您数据库的转储文件,之后可以将转储数据保存到您服务器所在的数据文件夹中',
'dump_list' => '存在转储文件',
@ -524,6 +537,7 @@ URL: [url]',
'error_add_aro' => '',
'error_add_permission' => '添加权限时出错',
'error_cleared_cache' => '清理缓存时出错',
'error_document_indexed' => '',
'error_edit_task' => '',
'error_extension_getlist' => '',
'error_importfs' => '从文件系统导入时出错',
@ -641,6 +655,7 @@ URL: [url]',
'fulltextsearch_disabled' => '全文索引已禁用',
'fulltext_converters' => '索引文件转换',
'fulltext_info' => '全文索引信息',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '属性组',
'global_attributedefinitions' => '属性',
'global_default_keywords' => '全局关键字',
@ -656,6 +671,7 @@ URL: [url]',
'group_management' => '组管理',
'group_members' => '组成员',
'group_receipt_summary' => '',
'group_review_removed' => '',
'group_review_summary' => '校对组汇总',
'group_revision_summary' => '',
'guest_login' => '来宾登录',
@ -684,16 +700,23 @@ URL: [url]',
'include_subdirectories' => '包含子目录',
'indexing_tasks_in_queue' => '队列中的检索任务',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '',
'index_document_updated' => '',
'index_done' => '已完成',
'index_error' => '系统错误',
'index_folder' => '索引目录',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '',
'index_pending' => '待处理',
'index_waiting' => '',
'individuals' => '个人',
'individuals_in_groups' => '组成员',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '',
'info_rm_user_from_processes_user' => '',
'inherited' => '继承',
'inherits_access_copy_msg' => '复制继承访问权限列表',
'inherits_access_empty_msg' => '从访问权限空列表开始',
@ -737,8 +760,10 @@ URL: [url]',
'js_no_approval_status' => '请选择审核状态',
'js_no_comment' => '没有添加说明',
'js_no_currentpwd' => '请输入当前密码',
'js_no_document' => '',
'js_no_email' => '输入您的e-mail',
'js_no_file' => '请选择一个文件',
'js_no_folder' => '',
'js_no_keywords' => '指定关键字',
'js_no_login' => '输入用户名',
'js_no_name' => '请输入名称',
@ -781,6 +806,7 @@ URL: [url]',
'lock_document' => '锁定',
'lock_message' => '此文档已被 [username] 锁定. 只有授权用户才能解锁.',
'lock_status' => '锁定状态',
'logfile' => '',
'logfile_loading' => '',
'login' => '登录',
'login_disabled_text' => '',
@ -816,7 +842,9 @@ URL: [url]',
'missing_checksum' => '缺失校验',
'missing_file' => '',
'missing_filesize' => '缺失文件大小',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '',
'missing_request_object' => '',
'missing_transition_user_group' => '',
@ -833,6 +861,12 @@ URL: [url]',
'my_documents' => '我的文档',
'my_transmittals' => '我的送达函',
'name' => '名称',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => '挪威语(书面挪威语)',
'needs_correction' => '',
'needs_workflow_action' => '',
@ -890,11 +924,13 @@ URL: [url]',
用户: [username]
URL: [url]',
'notify_deleted_email_subject' => '[sitename]: [name] - 从通知列表中移除',
'not_subscribed' => '',
'november' => '十一月',
'now' => '现在',
'no_action' => '无动作请求',
'no_approval_needed' => '无待审核的文件',
'no_attached_files' => '无附件',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '',
'no_current_version' => '',
@ -965,6 +1001,8 @@ URL: [url]',
'password_forgotten_send_hash' => '',
'password_forgotten_text' => '填写以下表格,并遵循邮件中的指示找回遗失密码。',
'password_forgotten_title' => '密码已发送',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => '重复密码',
'password_send' => '发送密码',
'password_send_text' => '您的新密码已通过邮件发送给您。若您尚未收到该邮件,请确认登陆用户名和对应的电子邮件填写是否正确,并重试。',
@ -1048,9 +1086,13 @@ URL: [url]',
URL: [url]',
'removed_workflow_email_subject' => '[sitename]: [name] - 已从文档版本中移除工作流',
'removeFolderFromDropFolder' => '导入后删除文件夹',
'remove_approval_log' => '',
'remove_marked_files' => '删除选中的文件',
'remove_review_log' => '',
'repaired' => '已修复',
'repairing_objects' => '',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => '',
'request_workflow_action_email_subject' => '',
'reset_checkout' => '完成签出',
@ -1179,6 +1221,7 @@ URL: [url]',
'search' => '搜索',
'search_fulltext' => '全文检索',
'search_in' => '搜索于',
'search_mode' => '',
'search_mode_and' => '与模式',
'search_mode_documents' => '仅文档',
'search_mode_folders' => '仅目录',
@ -1220,6 +1263,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => '选择一个',
'select_owner' => '',
'select_status' => '',
'select_user' => '选择用户',
'select_users' => '点击选择用户',
'select_value' => '选择值',
@ -1279,6 +1323,7 @@ URL: [url]',
'settings_checkOutDir_desc' => '',
'settings_cmdTimeout' => '',
'settings_cmdTimeout_desc' => '',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => '',
'settings_contentDir_desc' => '',
'settings_contentOffsetDir' => '内容偏移目录',
@ -1396,6 +1441,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '',
'settings_enableRecursiveCount' => '',
'settings_enableRecursiveCount_desc' => '',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '',
'settings_enableRevisionOneVoteReject_desc' => '',
'settings_enableRevisionOnVoteReject' => '',
@ -1447,6 +1494,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => '访客名称',
'settings_guestID_desc' => '',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => '',
'settings_httpRoot_desc' => '',
'settings_incItemsPerPage' => '',
@ -1465,6 +1514,7 @@ URL: [url]',
'settings_install_welcome_text' => '在开始安装 SeedDMS 之前请确保您已经在配置目录中创建了文件“ENABLE_INSTALL_TOOL”否则将不能安装。在 Unix 系统上,这可以很容易地通过命令 “touch conf / ENABLE_INSTALL_TOOL” 完成。完成安装后,请务必删除该文件。</ p> <p> SeedDMS 的要求非常低。您需要安装 mysql 数据库或 sqlite 支持,并启用支持 php 的 Web 服务器。Pear Package Log 也必须安装。对于 lucene 全文搜索,您还需要安装在光盘上的 Zend 框架,可以通过 php 找到它。对于 WebDAV 服务器,您还需要 HTTP_WebDAV_Server。您可以在安装过程中设置路径。</ p> <p>如果您希望在开始安装之前创建数据库,那么只需使用自己喜爱的工具手动创建数据库,可以选择创建具有数据库访问权限的数据库用户并在配置目录中导入数据库转储之一。安装脚本也可以为您做到这一点,但是它需要数据库访问权限才能创建数据库。</ p>',
'settings_install_welcome_title' => '欢迎使用 SeedDMS 安装向导!',
'settings_install_zendframework' => '',
'settings_invalid_guestid' => '',
'settings_language' => '语言设置',
'settings_language_desc' => '默认语言(“语言”文件夹的一个子文件夹的名字',
'settings_libraryFolder' => '库文件夹',
@ -1655,6 +1705,7 @@ URL: [url]',
'splash_add_attribute' => '属性已添加',
'splash_add_group' => '组已添加',
'splash_add_group_member' => '组成员已添加',
'splash_add_notify' => '',
'splash_add_role' => '添加新角色',
'splash_add_task' => '',
'splash_add_to_transmittal' => '',
@ -1666,6 +1717,7 @@ URL: [url]',
'splash_delete_access' => '',
'splash_document_added' => '文档已添加',
'splash_document_checkedout' => '文档已签出',
'splash_document_deleted' => '',
'splash_document_edited' => '文档已保存',
'splash_document_indexed' => '文档 \'[name]\' 已索引。',
'splash_document_locked' => '文档已被锁定',
@ -1689,6 +1741,7 @@ URL: [url]',
'splash_extension_import' => '',
'splash_extension_refresh' => '',
'splash_extension_upload' => '',
'splash_folder_deleted' => '',
'splash_folder_edited' => '更新文件夹',
'splash_importfs' => '已导入文档 [docs] 和文件夹 [folders]',
'splash_inherit_access' => '',
@ -1708,6 +1761,7 @@ URL: [url]',
'splash_rm_folder' => '已删除的文件夹',
'splash_rm_group' => '组信息已删除',
'splash_rm_group_member' => '组成员已移除',
'splash_rm_notify' => '',
'splash_rm_role' => '角色已删除',
'splash_rm_transmittal' => '',
'splash_rm_user' => '用户信息已删除',
@ -1735,6 +1789,7 @@ URL: [url]',
'status_approval_rejected' => '拟拒绝',
'status_approved' => '批准',
'status_approver_removed' => '从审核队列中删除',
'status_change' => '',
'status_needs_correction' => '',
'status_not_approved' => '未批准',
'status_not_receipted' => '尚未接收',
@ -1788,10 +1843,12 @@ URL: [url]',
'tasks' => '任务',
'task_core_expireddocs_days' => '',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '',
'task_disabled' => '',
'task_frequency' => '',
'task_frequency_placeholder' => '',
'task_last_run' => '',
'task_name' => '',
'task_next_run' => '',
@ -1813,6 +1870,7 @@ URL: [url]',
'timeline_skip_add_file' => '添加附件',
'timeline_skip_scheduled_revision' => '',
'timeline_skip_status_change_-1' => '拒绝',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => '过期',
'timeline_skip_status_change_0' => '待审核',
'timeline_skip_status_change_1' => '待批准',
@ -1862,6 +1920,7 @@ URL: [url]',
'unknown_id' => '未知ID号',
'unknown_keyword_category' => '未知类别',
'unknown_owner' => '未知所有者ID号',
'unknown_status' => '',
'unknown_user' => '未知用户ID号',
'unlinked_content' => '未链接内容',
'unlinked_documents' => '未链接的文档',
@ -1924,6 +1983,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => '在线浏览',
'warning' => '警告',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -24,6 +24,8 @@
$text = array(
'2_factor_auth' => '2階段認證',
'2_factor_auth_info' => '此系統強制執行2階段身份驗證。您將需要在手機上使用Google Authenticator。在下面您可以看到兩個QR碼。正確的是您當前的秘密。在左側您可以設置一個新的秘密。如果您設置了新的機密請確保使用Google Authenticator重新掃描它。',
'2_fact_auth_current_secret' => '',
'2_fact_auth_new_secret' => '',
'2_fact_auth_secret' => '秘密',
'abbr_day' => '',
'abbr_hour' => '',
@ -95,6 +97,7 @@ URL: [url]',
'all_users' => '所有使用者',
'already_subscribed' => '已經訂閱',
'and' => '和',
'apikey' => '',
'apply' => '接受',
'approvals_accepted' => '[no_approvals]個批准已被接受',
'approvals_accepted_latest' => '(最新版本為[no_approvals]',
@ -238,7 +241,9 @@ URL: [url]',
'cannot_move_root' => '錯誤:不能移動根目錄',
'cannot_retrieve_approval_snapshot' => '無法檢索到該檔版本的審核快照.',
'cannot_retrieve_review_snapshot' => '無法檢索到該檔版本的校對快照.',
'cannot_revapp_expired_docs' => '',
'cannot_rm_root' => '錯誤:不能刪除根目錄.',
'cannot_transfer_your_objects' => '',
'categories' => '分類',
'categories_loading' => '請等待,直到載入類別列表...',
'category' => '分類',
@ -262,6 +267,7 @@ URL: [url]',
'chart_docspermonth_title' => '每月新增文件',
'chart_docsperstatus_title' => '每一文件的狀態',
'chart_docsperuser_title' => '使用者文件比例圖表',
'chart_foldersperuser_title' => '',
'chart_selection' => '選擇圖表',
'chart_sizeperuser_title' => '每一使用者的空間',
'checkedout_file_has_different_version' => '簽出的版本與當前版本不同。簽入將不會更新文件。',
@ -269,6 +275,7 @@ URL: [url]',
'checkedout_file_is_unchanged' => '簽出文件的文件仍保持不變。無法辦理入住手續。如果不計劃任何修改,則可以重置簽出狀態。',
'checkin_document' => '簽入',
'checkoutpath_does_not_exist' => '簽出路徑不存在',
'checkout_cancel_confirm' => '',
'checkout_document' => '簽出',
'checkout_is_disabled' => '在配置中禁用了簽出文件功能。',
'choose_attrdef' => '請選擇屬性',
@ -284,12 +291,14 @@ URL: [url]',
'choose_workflow' => '選擇流程',
'choose_workflow_action' => '選擇流程行為',
'choose_workflow_state' => '選擇流程狀態',
'class_finfo_missing' => '',
'class_name' => '類別名稱',
'clear_cache' => '清除緩存',
'clear_clipboard' => '清除剪貼簿',
'clear_password' => '清除密碼',
'clipboard' => '剪貼簿',
'close' => '關閉',
'color' => '',
'command' => '指令',
'comment' => '說明',
'comment_changed_email' => '',
@ -409,12 +418,14 @@ URL: [url]',
使用者:[username]',
'document_deleted_email_subject' => '[sitename][name]-文檔已刪除',
'document_duplicate_name' => '文件名稱重複',
'document_files' => '',
'document_has_no_workflow' => '文件沒有工作流程',
'document_infos' => '文件資訊',
'document_is_checked_out' => '',
'document_is_checked_out_remove' => '',
'document_is_checked_out_update' => '當前已簽出文檔。如果您上傳新版本,那麼簽出的版本將無法再簽回。',
'document_is_not_locked' => '該文件沒有被鎖定',
'document_links' => '',
'document_link_by' => '連結',
'document_link_public' => '公開',
'document_moved_email' => '文件已被移動',
@ -459,6 +470,7 @@ URL: [url]',
版本註釋:[version_comment]
網址:[url]',
'document_updated_email_subject' => '[sitename][name]-文檔已更新',
'document_versions' => '',
'does_not_expire' => '永不過期',
'does_not_inherit_access_msg' => '繼承存取權限',
'download' => '下載',
@ -493,6 +505,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => '快速上傳',
'drop_files_here' => '拖入這裡',
'drop_files_here_or_click' => '',
'dump_creation' => '轉儲數據',
'dump_creation_warning' => '通過此操作,您可以創建一個您資料庫的轉儲檔,之後可以將轉儲資料保存到您伺服器所在的資料檔案夾中',
'dump_list' => '存在轉儲文件',
@ -542,6 +555,7 @@ URL: [url]',
'error_add_aro' => '新增訪問請求對象時出錯',
'error_add_permission' => '新增權限時出錯',
'error_cleared_cache' => '清除緩存時出錯',
'error_document_indexed' => '',
'error_edit_task' => '保存任務時出錯',
'error_extension_getlist' => '從存儲庫獲取擴展列表時出錯',
'error_importfs' => '導入表單文件系統時出錯',
@ -670,6 +684,7 @@ URL: [url]',
'fulltextsearch_disabled' => '全文索引已禁用',
'fulltext_converters' => '索引檔轉換',
'fulltext_info' => '全文索引資訊',
'func_proc_open_missing' => '',
'global_attributedefinitiongroups' => '屬性組',
'global_attributedefinitions' => '屬性',
'global_default_keywords' => '全域關鍵字',
@ -685,6 +700,7 @@ URL: [url]',
'group_management' => '組管理',
'group_members' => '組成員',
'group_receipt_summary' => '群組回覆匯總',
'group_review_removed' => '',
'group_review_summary' => '校對組匯總',
'group_revision_summary' => '群組修訂匯總',
'guest_login' => '來賓登錄',
@ -713,16 +729,23 @@ URL: [url]',
'include_subdirectories' => '包含子目錄',
'indexing_tasks_in_queue' => '索引任務正在序列中',
'index_converters' => '',
'index_document_added' => '',
'index_document_unchanged' => '文件未改變',
'index_document_updated' => '',
'index_done' => '完成',
'index_error' => '錯誤',
'index_folder' => '索引目錄',
'index_folder_added' => '',
'index_folder_unchanged' => '',
'index_folder_updated' => '',
'index_no_content' => '沒有索引內容',
'index_pending' => '待定',
'index_waiting' => '請稍後',
'individuals' => '個人',
'individuals_in_groups' => '小組成員',
'ind_review_removed' => '',
'info_recipients_tab_not_released' => '由於未發布該文檔版本,因此無法確認接收。',
'info_rm_user_from_processes_user' => '',
'inherited' => '繼承',
'inherits_access_copy_msg' => '複製繼承存取權限列表',
'inherits_access_empty_msg' => '從存取權限空列表開始',
@ -766,8 +789,10 @@ URL: [url]',
'js_no_approval_status' => '請選擇審核狀態',
'js_no_comment' => '沒有新增說明',
'js_no_currentpwd' => '請輸入您的當前密碼',
'js_no_document' => '',
'js_no_email' => '輸入您的e-mail',
'js_no_file' => '請選擇一個檔',
'js_no_folder' => '',
'js_no_keywords' => '指定關鍵字',
'js_no_login' => '輸入使用者名',
'js_no_name' => '請輸入名稱',
@ -810,6 +835,7 @@ URL: [url]',
'lock_document' => '鎖定',
'lock_message' => '此文件已被 [username] 鎖定. 只有授權使用者才能解鎖.',
'lock_status' => '鎖定狀態',
'logfile' => '',
'logfile_loading' => '請稍等,直到加載日誌文件……',
'login' => '登入',
'login_disabled_text' => '您的帳戶被禁用,可能是由於登錄失敗太多。',
@ -845,7 +871,9 @@ URL: [url]',
'missing_checksum' => '缺少校驗',
'missing_file' => '缺少檔案',
'missing_filesize' => '缺少檔案大小',
'missing_func_class_note' => '',
'missing_php_extensions' => '',
'missing_php_functions_and_classes' => '',
'missing_reception' => '缺少接待處',
'missing_request_object' => '缺少請求物件',
'missing_transition_user_group' => '缺少傳送的使用者/群組',
@ -862,6 +890,12 @@ URL: [url]',
'my_documents' => '我的文件',
'my_transmittals' => '我的傳送',
'name' => '名稱',
'nav_brand_admin_tools' => '',
'nav_brand_calendar' => '',
'nav_brand_my_account' => '',
'nav_brand_my_documents' => '',
'nav_brand_view_document' => '',
'nav_brand_view_folder' => '',
'nb_NO' => '',
'needs_correction' => '需要糾正',
'needs_workflow_action' => '本文檔需要您注意。請檢查工作流程標籤。',
@ -919,11 +953,13 @@ URL: [url]',
使用者:[username]
網址:[url]',
'notify_deleted_email_subject' => '[sitename]: [name] - 從通知列表中刪除',
'not_subscribed' => '',
'november' => '十一月',
'now' => '現在',
'no_action' => '無動作請求',
'no_approval_needed' => '無待審核的檔',
'no_attached_files' => '無附件',
'no_attributes_defined' => '',
'no_attribute_definitions' => '',
'no_backup_dir' => '未設置備份目錄。',
'no_current_version' => '您正在運行舊版本的SeedDMS。最新的可用版本是[latestversion]。',
@ -992,6 +1028,8 @@ URL: [url]',
'password_forgotten_send_hash' => '有關如何進行操作的說明已發送到使用者的電子郵件地址',
'password_forgotten_text' => '填寫以下表格,然後按照將發送給您的電子郵件中的說明進行操作。',
'password_forgotten_title' => '密碼已寄出',
'password_mismatch_error' => '',
'password_mismatch_error_title' => '',
'password_repeat' => '重複輸入密碼',
'password_send' => '密碼寄出',
'password_send_text' => '如果登錄名和電子郵件與現有使用者匹配,則您的新密碼已發送到給定的電子郵件地址。如果您在接下來的幾分鐘內沒有收到電子郵件,請確保登錄名和電子郵件均正確無誤,然後重新啟動該過程。',
@ -1081,9 +1119,13 @@ URL: [url]',
網址:[url]',
'removed_workflow_email_subject' => '[sitename]: [name] - 從文檔版本中刪除了工作流程',
'removeFolderFromDropFolder' => '導入後刪除文件夾',
'remove_approval_log' => '',
'remove_marked_files' => '刪除勾選的檔案',
'remove_review_log' => '',
'repaired' => '修復',
'repairing_objects' => '修復文檔和文件夾。',
'replace_content_email_body' => '',
'replace_content_email_subject' => '',
'request_workflow_action_email_body' => '工作流程已達到需要您採取措施的狀態。
文件:[name]
版本:[version]
@ -1242,6 +1284,7 @@ URL: [url]',
'search' => '搜索',
'search_fulltext' => '全文檢索',
'search_in' => '搜索於',
'search_mode' => '',
'search_mode_and' => '與模式',
'search_mode_documents' => '只文件',
'search_mode_folders' => '只資料夾',
@ -1283,6 +1326,7 @@ URL: [url]',
'select_mimetype' => '',
'select_one' => '選擇一個',
'select_owner' => '',
'select_status' => '',
'select_user' => '選擇使用者',
'select_users' => '點擊選擇使用者',
'select_value' => '選取值',
@ -1342,6 +1386,7 @@ URL: [url]',
'settings_checkOutDir_desc' => '如果檢出該文件,則在此目錄中復製文件的最新內容。如果您使用戶可以訪問此目錄,則他們可以編輯文件並在完成後將其重新簽入。',
'settings_cmdTimeout' => '外部命令超時',
'settings_cmdTimeout_desc' => '此持續時間(以秒為單位)確定何時終止外部命令(例如,用於創建全文本索引)。',
'settings_conf_field_not_editable' => '',
'settings_contentDir' => '內容目錄',
'settings_contentDir_desc' => '上載文件的存儲位置最好選擇無法通過Web服務器訪問的目錄',
'settings_contentOffsetDir' => '內容偏移目錄',
@ -1459,6 +1504,8 @@ URL: [url]',
'settings_enableReceiptWorkflow_desc' => '啟用,打開工作流程以確認文檔接收。',
'settings_enableRecursiveCount' => '啟用遞歸文檔/文件夾計數',
'settings_enableRecursiveCount_desc' => '如果啟用,將通過遞歸處理文件夾併計數允許用戶訪問的那些文件和文件夾來計算所有對象,從而確定文件夾視圖中的文件和文件夾的數量。',
'settings_enableRemoveRevApp' => '',
'settings_enableRemoveRevApp_desc' => '',
'settings_enableRevisionOneVoteReject' => '被一名審查員拒絕',
'settings_enableRevisionOneVoteReject_desc' => '如果啟用,則在第一個修訂者拒絕文檔後,文檔狀態將設置為“需要更正”。如果禁用,則在所有修訂者完成修訂之前,文檔狀態不會更改。',
'settings_enableRevisionOnVoteReject' => '',
@ -1510,6 +1557,8 @@ URL: [url]',
'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS',
'settings_guestID' => 'Guest ID',
'settings_guestID_desc' => '以訪客身份登錄時使用的訪客用戶ID通常無需更改',
'settings_guestid_is_admin' => '',
'settings_guestid_is_disabled' => '',
'settings_httpRoot' => 'Http Root',
'settings_httpRoot_desc' => 'URL中的相對路徑在域部分之後。不要包含http//前綴或Web主機名。例如如果完整的URL是http://www.example.com/seeddms/,則設置\'/ seeddms / \'。如果網址為http://www.example.com/,則設置\'/ \'',
'settings_incItemsPerPage' => '頁面末加載的條目數',
@ -1528,6 +1577,7 @@ URL: [url]',
'settings_install_welcome_text' => '<p>開始安裝SeedDMS之前請確保已在配置目錄中創建文件\'ENABLE_INSTALL_TOOL 否則安裝將無法進行。在Unix系統上可以使用\'touch conf / ENABLE_INSTALL_TOOL \'輕鬆完成。安裝完成後,刪除文件。</ p> <p> SeedDMS的要求非常低。您將需要mysql數據庫或sqlite支持以及啟用了php的Web服務器。梨包Log也必須安裝。對於lucene全文搜索您還需要將Zend框架安裝在光盤上而php可以找到它。對於WebDAV服務器您還將需要HTTP_WebDAV_Server。以後可以在安裝過程中設置它的路徑。</ p> <p>如果您想在開始安裝之前創建數據庫,則只需使用自己喜歡的工具手動創建它,或者創建一個具有數據庫訪問權限的數據庫用戶並在配置目錄中導入數據庫轉儲之一。安裝腳本也可以為您執行此操作,但是需要具有足夠權限的數據庫訪問權限才能創建數據庫。</ p>',
'settings_install_welcome_title' => '歡迎安裝SeedDMS',
'settings_install_zendframework' => '如果您打算使用基於zend的全文本搜索引擎請安裝Zend Framework。否則請忽略此消息並繼續安裝。',
'settings_invalid_guestid' => '',
'settings_language' => '預設的語系',
'settings_language_desc' => '默認語言(“語言”文件夾中子文件夾的名稱)',
'settings_libraryFolder' => '函式庫目錄',
@ -1718,6 +1768,7 @@ URL: [url]',
'splash_add_attribute' => '新增屬性',
'splash_add_group' => '新增群組',
'splash_add_group_member' => '新群組會員新增',
'splash_add_notify' => '',
'splash_add_role' => '新增一個角色',
'splash_add_task' => '',
'splash_add_to_transmittal' => '新增到傳送',
@ -1729,6 +1780,7 @@ URL: [url]',
'splash_delete_access' => '訪問權限已刪除',
'splash_document_added' => '文件已新增',
'splash_document_checkedout' => '文件簽出',
'splash_document_deleted' => '',
'splash_document_edited' => '文件儲存',
'splash_document_indexed' => '已為文檔“ [name] ”建立索引。',
'splash_document_locked' => '文件已被鎖定',
@ -1752,6 +1804,7 @@ URL: [url]',
'splash_extension_import' => '安裝擴展',
'splash_extension_refresh' => '刷新的擴展名列表',
'splash_extension_upload' => '安裝擴展',
'splash_folder_deleted' => '',
'splash_folder_edited' => '保存文件夾更改',
'splash_importfs' => '導入的[docs]文檔和[folders]文件夾',
'splash_inherit_access' => '訪問權限將被繼承',
@ -1771,6 +1824,7 @@ URL: [url]',
'splash_rm_folder' => '已刪除的資料夾',
'splash_rm_group' => '組已刪除',
'splash_rm_group_member' => '組成員已刪除',
'splash_rm_notify' => '',
'splash_rm_role' => '角色已刪除',
'splash_rm_transmittal' => '傳送已刪除',
'splash_rm_user' => '用戶已刪除',
@ -1798,6 +1852,7 @@ URL: [url]',
'status_approval_rejected' => '擬拒絕',
'status_approved' => '批准',
'status_approver_removed' => '從審核佇列中刪除',
'status_change' => '',
'status_needs_correction' => '需要糾正',
'status_not_approved' => '未批准',
'status_not_receipted' => '尚未收到',
@ -1851,10 +1906,12 @@ URL: [url]',
'tasks' => '任務',
'task_core_expireddocs_days' => '天數',
'task_core_expireddocs_email' => '',
'task_core_expireddocs_peruser' => '',
'task_core_indexingdocs_recreate' => '',
'task_description' => '描述',
'task_disabled' => '不啟用',
'task_frequency' => '頻率',
'task_frequency_placeholder' => '',
'task_last_run' => '最後一次啟用',
'task_name' => '名稱',
'task_next_run' => '下次啟用',
@ -1876,6 +1933,7 @@ URL: [url]',
'timeline_skip_add_file' => '新增附件',
'timeline_skip_scheduled_revision' => '預定修訂',
'timeline_skip_status_change_-1' => '拒絕',
'timeline_skip_status_change_-2' => '',
'timeline_skip_status_change_-3' => '已過期',
'timeline_skip_status_change_0' => '等待審核',
'timeline_skip_status_change_1' => '等待批准',
@ -1934,6 +1992,7 @@ URL: [url]',
'unknown_id' => '未知ID號',
'unknown_keyword_category' => '未知類別',
'unknown_owner' => '未知所有者ID號',
'unknown_status' => '',
'unknown_user' => '未知使用者ID號',
'unlinked_content' => '未關聯的內容',
'unlinked_documents' => '未關聯的文件',
@ -1996,6 +2055,8 @@ URL: [url]',
'view_folder' => '',
'view_online' => '線上流覽',
'warning' => '警告',
'warning_remove_approval_log' => '',
'warning_remove_review_log' => '',
'webauthn_auth' => '',
'webauthn_crossplatform_info' => '',
'webauthn_info' => '',

View File

@ -205,13 +205,17 @@ if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'tra
$mreviewers = getMandatoryReviewers($folder, $user);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
if($mreviewers['g'])
$reviewers['g'] = array_merge($reviewers['g'], $mreviewers['g']);
}
$mapprovers = getMandatoryApprovers($folder, $user);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
if($mapprovers['g'])
$approvers['g'] = array_merge($approvers['g'], $mapprovers['g']);
if($settings->_workflowMode == 'traditional' && !$settings->_allowReviewerOnly) {
/* Check if reviewers are send but no approvers */
/* Check if reviewers are set but no approvers */
if(($reviewers["i"] || $reviewers["g"]) && !$approvers["i"] && !$approvers["g"]) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_uploading_reviewer_only"));
}
@ -233,25 +237,43 @@ if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'tra
}
}
$docsource = 'upload';
function reArrayFiles(&$file_post) {
$file_ary = array();
$file_count = count($file_post['name']);
$file_keys = array_keys($file_post);
for ($i=0; $i<$file_count; $i++) {
if($file_post['error'][$i] != 4) { // no file uploaded
foreach ($file_keys as $key) {
$file_ary[$i][$key] = $file_post[$key][$i];
}
$file_ary[$i]['source'] = 'upload';
}
}
return $file_ary;
}
if ($_FILES['userfile']) {
$file_ary = reArrayFiles($_FILES['userfile']);
} else {
$file_ary = array();
}
if($settings->_dropFolderDir) {
if(isset($_POST["dropfolderfileform1"]) && $_POST["dropfolderfileform1"]) {
$fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileform1"];
if(isset($_POST["dropfolderfileadddocform"]) && $_POST["dropfolderfileadddocform"]) {
$fullfile = $settings->_dropFolderDir.'/'.$user->getLogin().'/'.$_POST["dropfolderfileadddocform"];
if(file_exists($fullfile)) {
$docsource = 'dropfolder';
/* Check if a local file is uploaded as well */
if(isset($_FILES["userfile"]['error'][0])) {
if($_FILES["userfile"]['error'][0] != 0)
$_FILES["userfile"] = array();
}
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'][] = $fullfile;
$_FILES["userfile"]['type'][] = $mimetype;
$_FILES["userfile"]['name'][] = $_POST["dropfolderfileform1"];
$_FILES["userfile"]['size'][] = filesize($fullfile);
$_FILES["userfile"]['error'][] = 0;
$file_ary[] = array(
'tmp_name' => $fullfile,
'type' => $mimetype,
'name' => $_POST["dropfolderfileadddocform"],
'size' => filesize($fullfile),
'error' => 0,
'source' => 'dropfolder'
);
}
}
}
@ -265,15 +287,26 @@ if(isset($_POST[$prefix.'-fine-uploader-uuids']) && $_POST[$prefix.'-fine-upload
if(file_exists($fullfile)) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $fullfile);
$_FILES["userfile"]['tmp_name'][] = $fullfile;
$_FILES["userfile"]['type'][] = $mimetype;
$_FILES["userfile"]['name'][] = isset($names[$i]) ? $names[$i] : $uuid;
$_FILES["userfile"]['size'][] = filesize($fullfile);
$_FILES["userfile"]['error'][] = 0;
$file_ary[] = array(
'tmp_name' => $fullfile,
'type' => $mimetype,
'name' => isset($names[$i]) ? $names[$i] : $uuid,
'size' => filesize($fullfile),
'error' => 0,
'source' => 'upload',
);
}
}
}
if($controller->hasHook('getDocument')) {
$file_ary = array_merge($file_ary, $controller->callHook('getDocument', $_POST));
}
if(!$file_ary) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_failed"));
}
/* Check if additional notification shall be added */
$notusers = array();
if(!empty($_POST['notification_users'])) {
@ -296,22 +329,22 @@ if(!empty($_POST['notification_groups'])) {
/* Check files for Errors first */
$maxuploadsize = SeedDMS_Core_File::parse_filesize($settings->_maxUploadSize);
for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
if ($_FILES["userfile"]["size"][$file_num]==0) {
foreach($file_ary as $file) {
if ($file["size"]==0) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_zerosize"));
}
if ($maxuploadsize && $_FILES["userfile"]["size"][$file_num] > $maxuploadsize) {
if ($maxuploadsize && $file["size"] > $maxuploadsize) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_maxsize"));
}
if (/* is_uploaded_file($_FILES["userfile"]["tmp_name"][$file_num]) && */$_FILES['userfile']['error'][$file_num]!=0){
if($file['error']!=0) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("uploading_failed"));
}
}
for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$userfiletmp = $_FILES["userfile"]["tmp_name"][$file_num];
$userfiletype = $_FILES["userfile"]["type"][$file_num];
$userfilename = $_FILES["userfile"]["name"][$file_num];
foreach($file_ary as $file) {
$userfiletmp = $file["tmp_name"];
$userfiletype = $file["type"];
$userfilename = $file["name"];
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
@ -322,7 +355,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$userfiletype = $tmpfiletype;
}
if ((count($_FILES["userfile"]["tmp_name"])==1)&&($_POST["name"]!=""))
if ($_POST["name"]!="")
$name = trim($_POST["name"]);
else $name = utf8_basename($userfilename);
@ -333,7 +366,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
}
}
$controller->setParam('documentsource', $docsource);
$controller->setParam('documentsource', $file['source']);
$controller->setParam('folder', $folder);
$controller->setParam('fulltextservice', $fulltextservice);
$controller->setParam('name', $name);
@ -372,105 +405,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
} else {
// Send notification to subscribers of folder.
if($notifier) {
$fnl = $folder->getNotifyList();
$dnl = $document->getNotifyList();
$nl = array(
'users'=>array_unique(array_merge($dnl['users'], $fnl['users']), SORT_REGULAR),
'groups'=>array_unique(array_merge($dnl['groups'], $fnl['groups']), SORT_REGULAR)
);
$subject = "new_document_email_subject";
$message = "new_document_email_body";
$params = array();
$params['name'] = $name;
$params['folder_name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['comment'] = $comment;
$params['version_comment'] = $version_comment;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
/* Get workflow from controller in case it was modified in a hook */
$workflow = $controller->getParam('workflow');
if($workflow && $settings->_enableNotificationWorkflow) {
$subject = "request_workflow_action_email_subject";
$message = "request_workflow_action_email_body";
$params = array();
$params['name'] = $document->getName();
$params['version'] = $reqversion;
$params['workflow'] = $workflow->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['current_state'] = $workflow->getInitState()->getName();
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) {
foreach($ntransition->getUsers() as $tuser) {
$notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
}
foreach($ntransition->getGroups() as $tuser) {
$notifier->toGroup($user, $tuser->getGroup(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
}
}
}
if($settings->_enableNotificationAppRev) {
/* Reviewers and approvers will be informed about the new document */
/* Get reviewers and approvers from controller in case it was
* modified in a hook
*/
$reviewers = $controller->getParam('reviewers');
$approvers = $controller->getParam('approvers');
if($reviewers['i'] || $reviewers['g']) {
$subject = "review_request_email_subject";
$message = "review_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $reqversion;
$params['comment'] = $comment;
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
foreach($reviewers['i'] as $reviewerid) {
$notifier->toIndividual($user, $dms->getUser($reviewerid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
}
foreach($reviewers['g'] as $reviewergrpid) {
$notifier->toGroup($user, $dms->getGroup($reviewergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
}
}
elseif($approvers['i'] || $approvers['g']) {
$subject = "approval_request_email_subject";
$message = "approval_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = $reqversion;
$params['comment'] = $comment;
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
foreach($approvers['i'] as $approverid) {
$notifier->toIndividual($user, $dms->getUser($approverid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
}
foreach($approvers['g'] as $approvergrpid) {
$notifier->toGroup($user, $dms->getGroup($approvergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
}
}
}
$notifier->sendNewDocumentMail($document, $user);
}
if($settings->_removeFromDropFolder) {
if(file_exists($userfiletmp)) {

View File

@ -111,22 +111,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
} else {
// Send notification to subscribers.
if($notifier) {
$notifyList = $document->getNotifyList();
$subject = "new_file_email_subject";
$message = "new_file_email_body";
$params = array();
$params['name'] = $name;
$params['document'] = $document->getName();
$params['username'] = $user->getFullName();
$params['comment'] = $comment;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$notifier->sendNewFileMail($res, $user);
}
}
}
@ -135,5 +120,4 @@ add_log_line("?name=".$name."&documentid=".$documentid);
header("Location:../out/out.ViewDocument.php?documentid=".$documentid."&currenttab=attachments");
?>

View File

@ -121,28 +121,7 @@ if(!$subFolder = $controller->run()) {
} else {
// Send notification to subscribers.
if($notifier) {
$fnl = $folder->getNotifyList();
$snl = $subFolder->getNotifyList();
$nl = array(
'users'=>array_unique(array_merge($snl['users'], $fnl['users']), SORT_REGULAR),
'groups'=>array_unique(array_merge($snl['groups'], $fnl['groups']), SORT_REGULAR)
);
$subject = "new_subfolder_email_subject";
$message = "new_subfolder_email_body";
$params = array();
$params['name'] = $subFolder->getName();
$params['folder_name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['comment'] = $comment;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$subFolder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$notifier->sendNewFolderMail($subFolder, $user);
}
}

View File

@ -64,7 +64,7 @@ if (isset($_COOKIE["mydms_session"])) {
}
global $logger;
$notifier = new SeedDMS_NotificationService($logger);
$notifier = new SeedDMS_NotificationService($logger, $settings);
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) {
if(method_exists($notificationObj, 'preAddService')) {
@ -74,7 +74,7 @@ if (isset($_COOKIE["mydms_session"])) {
}
if($settings->_enableEmail) {
$notifier->addService(new SeedDMS_EmailNotify($dms, $settings->_smtpSendFrom, $settings->_smtpServer, $settings->_smtpPort, $settings->_smtpUser, $settings->_smtpPassword));
$notifier->addService(new SeedDMS_EmailNotify($dms, $settings->_smtpSendFrom, $settings->_smtpServer, $settings->_smtpPort, $settings->_smtpUser, $settings->_smtpPassword), 'email');
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) {
@ -145,6 +145,37 @@ switch($command) {
if($user) {
$query = $_GET['query'];
if(false !== ($pos = strpos($query, '/'))) {
$subquery = substr($query, 0, $pos);
$hits = $dms->search($subquery, $limit=0, $offset=0, $logicalmode='AND', $searchin=array(), $startFolder=$dms->getRootFolder(), $owner=null, $status = array(), $creationstartdate=array(), $creationenddate=array(), $modificationstartdate=array(), $modificationenddate=array(), $categories=array(), $attributes=array(), $mode=0x2, $expirationstartdate=array(), $expirationenddate=array());
if($hits) {
if(count($hits['folders']) == 1) {
$hit = $hits['folders'][0];
$basefolder = $dms->getFolder($hit->getID());
if($subquery = substr($query, $pos+1)) {
$hits = $dms->search($subquery, $limit=0, $offset=0, $logicalmode='AND', $searchin=array(), $startFolder=$basefolder, $owner=null, $status = array(), $creationstartdate=array(), $creationenddate=array(), $modificationstartdate=array(), $modificationenddate=array(), $categories=array(), $attributes=array(), $mode=0x2, $expirationstartdate=array(), $expirationenddate=array());
if($hits) {
$result = array();
foreach($hits['folders'] as $hit) {
$result[] = $hit->getID().'#'.$basefolder->getName().'/'.$hit->getName();
}
header('Content-Type: application/json');
echo json_encode($result);
return;
}
} else {
$subfolders = $basefolder->getSubFolders();
$result = array();
foreach($subfolders as $subfolder) {
$result[] = $subfolder->getID().'#'.$basefolder->getName().'/'.$subfolder->getName();
}
header('Content-Type: application/json');
echo json_encode($result);
return;
}
}
}
}
$hits = $dms->search($query, $limit=0, $offset=0, $logicalmode='AND', $searchin=array(), $startFolder=$dms->getRootFolder(), $owner=null, $status = array(), $creationstartdate=array(), $creationenddate=array(), $modificationstartdate=array(), $modificationenddate=array(), $categories=array(), $attributes=array(), $mode=0x2, $expirationstartdate=array(), $expirationenddate=array());
if($hits) {
$result = array();
@ -279,7 +310,11 @@ switch($command) {
if ($mfolder->getAccessMode($user, 'moveFolder') >= M_READWRITE) {
if($folder = $dms->getFolder($_REQUEST['targetfolderid'])) {
if($folder->getAccessMode($user, 'moveFolder') >= M_READWRITE) {
$oldFolder = $mfolder->getParent();
if($mfolder->setParent($folder)) {
if($notifier) {
$notifier->sendMovedFolderMail($mfolder, $user, $oldFolder);
}
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_move_folder'), 'data'=>''));
add_log_line();
@ -318,7 +353,14 @@ switch($command) {
if ($mdocument->getAccessMode($user, 'moveDocument') >= M_READWRITE) {
if($folder = $dms->getFolder($_REQUEST['targetfolderid'])) {
if($folder->getAccessMode($user, 'moveDocument') >= M_READWRITE) {
$oldFolder = $mdocument->getFolder();
if($mdocument->setFolder($folder)) {
if(isset($_REQUEST['sequence'])) {
$mdocument->setSequence((float) $_REQUEST['sequence']);
}
if($notifier) {
$notifier->sendMovedDocumentMail($mdocument, $user, $oldFolder);
}
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_move_document'), 'data'=>''));
add_log_line();
@ -465,22 +507,10 @@ switch($command) {
if($folder->remove()) {
if ($notifier) {
$subject = "folder_deleted_email_subject";
$message = "folder_deleted_email_body";
$params = array();
$params['name'] = $foldername;
$params['folder_path'] = $parent->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$parent->getID();
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$notifier->sendDeleteFolderMail($folder, $user);
}
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>'', 'data'=>''));
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_folder_deleted'), 'data'=>''));
add_log_line();
} else {
header('Content-Type: application/json');
@ -511,10 +541,6 @@ switch($command) {
/* Get the notify list before removing the document */
$dnl = $document->getNotifyList();
$fnl = $folder->getNotifyList();
$nl = array(
'users'=>array_unique(array_merge($dnl['users'], $fnl['users']), SORT_REGULAR),
'groups'=>array_unique(array_merge($dnl['groups'], $fnl['groups']), SORT_REGULAR)
);
$docname = $document->getName();
$controller = Controller::factory('RemoveDocument', array('dms'=>$dms, 'user'=>$user));
@ -522,22 +548,14 @@ switch($command) {
$controller->setParam('fulltextservice', $fulltextservice);
if($controller->run()) {
if ($notifier){
$subject = "document_deleted_email_subject";
$message = "document_deleted_email_body";
$params = array();
$params['name'] = $docname;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
/* $document still has the data from the just deleted document,
* which is just enough to send the email.
*/
$notifier->sendDeleteDocumentMail($document, $user);
}
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>'', 'data'=>''));
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_deleted'), 'data'=>''));
add_log_line();
} else {
header('Content-Type: application/json');
@ -557,64 +575,78 @@ switch($command) {
case 'tooglelockdocument': /* {{{ */
if($user) {
$document = $dms->getDocument($_REQUEST['id']);
if($document) {
if ($document->getAccessMode($user) >= M_READWRITE) {
if ($document->isLocked()) {
$lockingUser = $document->getLockingUser();
if (($lockingUser->getID() == $user->getID()) || ($document->getAccessMode($user) == M_ALL)) {
if (!$document->setLocked(false)) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>'Error unlocking document', 'data'=>''));
if(checkFormKey('tooglelockdocument', 'GET')) {
$document = $dms->getDocument($_REQUEST['id']);
if($document) {
if ($document->getAccessMode($user) >= M_READWRITE) {
if ($document->isLocked()) {
$lockingUser = $document->getLockingUser();
if (($lockingUser->getID() == $user->getID()) || ($document->getAccessMode($user) == M_ALL)) {
if (!$document->setLocked(false)) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>'Error unlocking document', 'data'=>''));
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_unlocked'), 'data'=>''));
}
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_unlocked'), 'data'=>''));
echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied'), 'data'=>''));
}
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied'), 'data'=>''));
if (!$document->setLocked($user)) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>'Error locking document', 'data'=>''));
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_locked'), 'data'=>''));
add_log_line();
}
}
} else {
if (!$document->setLocked($user)) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>'Error locking document', 'data'=>''));
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_locked'), 'data'=>''));
add_log_line();
}
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied'), 'data'=>''));
}
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied'), 'data'=>''));
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_doc_id'), 'data'=>''));
}
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_doc_id'), 'data'=>''));
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_request_token'), 'data'=>''));
}
}
break; /* }}} */
case 'setdocumentname': /* {{{ */
if(1||$user) {
$document = $dms->getDocument($_REQUEST['id']);
if($document) {
if ($document->getAccessMode($user) >= M_READWRITE) {
if (!$document->setName($_REQUEST['name'])) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>'Error setting name', 'data'=>''));
if($user) {
if(checkFormKey('setdocumentname')) {
$document = $dms->getDocument($_REQUEST['id']);
if($document) {
if ($document->getAccessMode($user) >= M_READWRITE) {
$oldname = $document->getName();
if (!$document->setName($_REQUEST['name'])) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>'Error setting name', 'data'=>''));
} else {
if($notifier) {
$notifier->sendChangedNameMail($document, $user, $oldname);
}
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_name_changed'), 'data'=>''));
add_log_line();
}
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_name_changed'), 'data'=>''));
add_log_line();
echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied'), 'data'=>''));
}
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('access_denied'), 'data'=>''));
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_doc_id'), 'data'=>''));
}
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_doc_id'), 'data'=>''));
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_request_token'), 'data'=>''));
}
}
break; /* }}} */
@ -726,10 +758,14 @@ switch($command) {
$mreviewers = getMandatoryReviewers($folder, $user);
if($mreviewers['i'])
$reviewers['i'] = array_merge($reviewers['i'], $mreviewers['i']);
if($mreviewers['g'])
$reviewers['g'] = array_merge($reviewers['g'], $mreviewers['g']);
}
$mapprovers = getMandatoryApprovers($folder, $user);
if($mapprovers['i'])
$approvers['i'] = array_merge($approvers['i'], $mapprovers['i']);
if($mapprovers['g'])
$approvers['g'] = array_merge($approvers['g'], $mapprovers['g']);
} elseif($settings->_workflowMode == 'advanced') {
$workflow = $user->getMandatoryWorkflow();
@ -781,106 +817,7 @@ switch($command) {
} else {
// Send notification to subscribers of folder.
if($notifier) {
$fnl = $folder->getNotifyList();
$dnl = $document->getNotifyList();
$nl = array(
'users'=>array_unique(array_merge($dnl['users'], $fnl['users']), SORT_REGULAR),
'groups'=>array_unique(array_merge($dnl['groups'], $fnl['groups']), SORT_REGULAR)
);
$subject = "new_document_email_subject";
$message = "new_document_email_body";
$params = array();
$params['name'] = $name;
$params['folder_name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['comment'] = '';
$params['version_comment'] = '';
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
/* Get workflow from controller in case it was modified in a hook */
$workflow = $controller->getParam('workflow');
if($workflow && $settings->_enableNotificationWorkflow) {
$subject = "request_workflow_action_email_subject";
$message = "request_workflow_action_email_body";
$params = array();
$params['name'] = $document->getName();
$params['version'] = 1;
$params['workflow'] = $workflow->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['current_state'] = $workflow->getInitState()->getName();
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) {
foreach($ntransition->getUsers() as $tuser) {
$notifier->toIndividual($user, $tuser->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
}
foreach($ntransition->getGroups() as $tuser) {
$notifier->toGroup($user, $tuser->getGroup(), $subject, $message, $params, SeedDMS_NotificationService::RECV_WORKFLOW);
}
}
}
if($settings->_enableNotificationAppRev) {
/* Reviewers and approvers will be informed about the new document */
/* Get reviewers and approvers from controller in case it was
* modified in a hook
*/
$reviewers = $controller->getParam('reviewers');
$approvers = $controller->getParam('approvers');
if($reviewers['i'] || $reviewers['g']) {
$subject = "review_request_email_subject";
$message = "review_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = 1;
$params['comment'] = '';
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
foreach($reviewers['i'] as $reviewerid) {
$notifier->toIndividual($user, $dms->getUser($reviewerid), $subject, $message, $params, SeedDMS_NotificationService::RECV_REVIEWER);
}
foreach($reviewers['g'] as $reviewergrpid) {
$notifier->toGroup($user, $dms->getGroup($reviewergrpid), $subject, $message, $params, $params, SeedDMS_NotificationService::RECV_REVIEWER);
}
}
elseif($approvers['i'] || $approvers['g']) {
$subject = "approval_request_email_subject";
$message = "approval_request_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['version'] = 1;
$params['comment'] = '';
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
foreach($approvers['i'] as $approverid) {
$notifier->toIndividual($user, $dms->getUser($approverid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
}
foreach($approvers['g'] as $approvergrpid) {
$notifier->toGroup($user, $dms->getGroup($approvergrpid), $subject, $message, $params, SeedDMS_NotificationService::RECV_APPROVER);
}
}
}
$notifier->sendNewDocumentMail($document, $user);
}
}
header('Content-Type: application/json');
@ -893,7 +830,84 @@ switch($command) {
}
break; /* }}} */
case 'indexdocument': /* {{{ */
case 'addfile': /* {{{ */
if($user) {
if(checkFormKey('addfile')) {
if (!isset($_POST["documentid"]) || !is_numeric($_POST["documentid"]) || intval($_POST["documentid"])<1) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("invalid_doc_id")));
exit;
}
$documentid = $_POST["documentid"];
$document = $dms->getDocument($documentid);
if (!is_object($document)) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("invalid_doc_id")));
exit;
}
if ($document->getAccessMode($user, 'addDocumentFile') < M_READWRITE) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("access_denied")));
exit;
}
if (!is_uploaded_file($_FILES["userfile"]["tmp_name"]) || $_FILES['userfile']['error']!=0){
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("uploading_failed")));
exit;
}
if ($_FILES["userfile"]["size"]==0) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("uploading_zerosize")));
exit;
}
$maxuploadsize = SeedDMS_Core_File::parse_filesize($settings->_maxUploadSize);
if ($maxuploadsize && $_FILES["userfile"]["size"] > $maxuploadsize) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText("uploading_maxsize")));
exit;
}
$userfiletmp = $_FILES["userfile"]["tmp_name"];
$userfiletype = $_FILES["userfile"]["type"];
$userfilename = $_FILES["userfile"]["name"];
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
if($settings->_overrideMimeType) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$userfiletype = finfo_file($finfo, $userfiletmp);
}
if (!empty($_POST["name"]))
$name = $_POST["name"];
else
$name = utf8_basename($userfilename);
$comment = '';
$version = 0;
$public = false;
$res = $document->addDocumentFile($name, $comment, $user, $userfiletmp,
utf8_basename($userfilename),$fileType, $userfiletype, $version, $public);
if (is_bool($res) && !$res) {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('error_occured'), 'data'=>''));
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_document_added'), 'data'=>$document->getID()));
add_log_line();
}
} else {
header('Content-Type: application/json');
echo json_encode(array('success'=>false, 'message'=>getMLText('invalid_request_token'), 'data'=>''));
}
}
break; /* }}} */
case 'indexdocument':
case 'indexfolder': /* {{{ */
if($user && $user->isAdmin()) {
if($fulltextservice) {
@ -915,7 +929,7 @@ switch($command) {
if(isset($GLOBALS['SEEDDMS_HOOKS'][$hook])) {
foreach($GLOBALS['SEEDDMS_HOOKS'][$hook] as $hookObj) {
if (method_exists($hookObj, 'pre'.ucfirst($hook))) {
$ires = $hookObj->preIndexDocument(null, $object, $idoc);
$ires = $hookObj->{'pre'.ucfirst($hook)}(null, $object, $idoc);
}
}
}

View File

@ -100,29 +100,10 @@ if ($_POST["approvalType"] == "ind") {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("approval_update_failed"));
}
else {
// Send an email notification to the document updater.
if($notifier) {
$subject = "approval_submit_email_subject";
$message = "approval_submit_email_body";
$params = array();
$params['name'] = $document->getName();
$params['version'] = $version;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getApprovalStatusText($_POST["approvalStatus"]);
$params['comment'] = $comment;
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."&currenttab=revapp";
$notifier->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
// Send notification to subscribers.
$nl=$document->getNotifyList();
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$approvelog = $latestContent->getApproveLog();
$notifier->sendSubmittedApprovalMail($latestContent, $user, $approvelog ? $approvelog[0] : false);
}
}
}
@ -138,29 +119,10 @@ else if ($_POST["approvalType"] == "grp") {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("approval_update_failed"));
}
else {
// Send an email notification to the document updater.
if($notifier) {
$subject = "approval_submit_email_subject";
$message = "approval_submit_email_body";
$params = array();
$params['name'] = $document->getName();
$params['version'] = $version;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getApprovalStatusText($_POST["approvalStatus"]);
$params['comment'] = $comment;
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."&currenttab=revapp";
$notifier->toIndividual($user, $content->getUser(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
// Send notification to subscribers.
$nl=$document->getNotifyList();
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$approvelog = $latestContent->getApproveLog();
$notifier->sendSubmittedApprovalMail($latestContent, $user, $approvelog ? $approvelog[0] : false);
}
}
}
@ -170,29 +132,12 @@ else if ($_POST["approvalType"] == "grp") {
// updated.
//
$overallStatus = $content->getStatus();
if ($_POST["approvalStatus"]==-1){
if($content->setStatus(S_REJECTED,$comment,$user)) {
// Send notification to subscribers.
if($notifier) {
$nl=$document->getNotifyList();
$folder = $document->getFolder();
$subject = "document_status_changed_email_subject";
$message = "document_status_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getOverallStatusText(S_REJECTED);
$params['new_status_code'] = S_REJECTED;
$params['comment'] = $document->getComment();
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$notifier->sendChangedDocumentStatusMail($content, $user, $overallStatus["status"]);
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['approveDocument'])) {
@ -227,25 +172,7 @@ if ($_POST["approvalStatus"]==-1){
if($content->setStatus($newStatus, getMLText("automatic_status_update"), $user)) {
// Send notification to subscribers.
if($notifier) {
$nl=$document->getNotifyList();
$folder = $document->getFolder();
$subject = "document_status_changed_email_subject";
$message = "document_status_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['status'] = getOverallStatusText($newStatus);
$params['new_status_code'] = $newStatus;
$params['comment'] = $document->getComment();
$params['username'] = $user->getFullName();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$notifier->toList($user, $nl["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($nl["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$notifier->sendChangedDocumentStatusMail($content, $user, $overallStatus["status"]);
}
if(isset($GLOBALS['SEEDDMS_HOOKS']['approveDocument'])) {

View File

@ -27,6 +27,7 @@ include("../inc/inc.Extension.php");
include("../inc/inc.ClassSession.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
require_once("../inc/inc.ClassAccessOperation.php");
function _printMessage($heading, $message) {

View File

@ -121,7 +121,7 @@ if($action == 'setowner') {
if (!$user->isAdmin()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
}
if (empty($_GET["ownerid"])) {
if (!isset($_GET["ownerid"]) || !is_numeric($_GET["ownerid"]) || $_GET["ownerid"]<1) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("unknown_group"));
}
if (!($newowner = $dms->getUser($_GET["ownerid"]))) {
@ -130,7 +130,6 @@ if($action == 'setowner') {
$oldowner = $document->getOwner();
}
$controller->setParam('document', $document);
$controller->setParam('folder', $folder);
$controller->setParam('settings', $settings);
@ -145,27 +144,10 @@ if(!$controller->run()) {
// Change owner -----------------------------------------------------------
if ($action == "setowner") {
if($notifier) {
$notifier->sendChangedDocumentOwnerMail($document, $user, $oldowner);
}
if($oldowner->getID() != $newowner->getID()) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "ownership_changed_email_subject";
$message = "ownership_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['old_owner'] = $oldowner->getFullName();
$params['new_owner'] = $newowner->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
// $notifier->toIndividual($user, $oldowner, $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_setowner')));
}
}
@ -173,69 +155,26 @@ if ($action == "setowner") {
// Change to not inherit ---------------------------------------------------
else if ($action == "notinherit") {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "access_permission_changed_email_subject";
$message = "access_permission_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_notinherit_access')));
if($notifier) {
$notifier->sendChangedDocumentAccessMail($document, $user);
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_notinherit_access')));
}
// Change to inherit-----------------------------------------------------
else if ($action == "inherit") {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "access_permission_changed_email_subject";
$message = "access_permission_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_inherit_access')));
if($notifier) {
$notifier->sendChangedDocumentAccessMail($document, $user);
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_inherit_access')));
}
// Set default permissions ----------------------------------------------
else if ($action == "setdefault") {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "access_permission_changed_email_subject";
$message = "access_permission_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_set_default_access')));
if($notifier) {
$notifier->sendChangedDocumentAccessMail($document, $user);
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_set_default_access')));
} elseif($action == "delaccess") {
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_delete_access')));
} elseif($action == "addaccess") {

View File

@ -94,30 +94,16 @@ if ($action == "delnotify"){
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("access_denied"));
break;
case -3:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("already_subscribed"));
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("not_subscribed"));
break;
case -4:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("internal_error"));
break;
case 0:
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_rm_notify')));
// Email user / group, informing them of subscription change.
if($notifier) {
$subject = "notify_deleted_email_subject";
$message = "notify_deleted_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
if ($userid > 0) {
$notifier->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
else {
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$notifier->sendDeleteFolderNotifyMail($folder, $user, $obj);
}
break;
}
@ -126,6 +112,7 @@ if ($action == "delnotify"){
// add notification
else if ($action == "addnotify") {
/* Both $userid and $groupid can be set */
if ($userid > 0) {
$res = $document->addNotify($userid, true);
switch ($res) {
@ -142,22 +129,11 @@ else if ($action == "addnotify") {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("internal_error"));
break;
case 0:
// Email user / group, informing them of subscription.
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_add_notify')));
if ($notifier){
$obj = $dms->getUser($userid);
$subject = "notify_added_email_subject";
$message = "notify_added_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toIndividual($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
$notifier->sendNewDocumentNotifyMail($document, $user, $obj);
}
break;
}
}
@ -177,19 +153,10 @@ else if ($action == "addnotify") {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("internal_error"));
break;
case 0:
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_add_notify')));
if ($notifier){
$obj = $dms->getGroup($groupid);
$subject = "notify_added_email_subject";
$message = "notify_added_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toGroup($user, $obj, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
$notifier->sendNewDocumentNotifyMail($document, $user, $obj);
}
break;
}

View File

@ -155,18 +155,18 @@ elseif (isset($_GET["logname"])) { /* {{{ */
UI::exitError(getMLText("admin_tools"),getMLText("unknown_id"));
}
if (!file_exists($settings->_contentDir.$filename) ) {
if (!file_exists($settings->_contentDir.'log/'.$filename) ) {
UI::exitError(getMLText("admin_tools"),getMLText("missing_file"));
}
header("Content-Type: text/plain");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . filesize($settings->_contentDir . $filename ));
header("Content-Length: " . filesize($settings->_contentDir.'log/' . $filename ));
$efilename = rawurlencode($filename);
header("Content-Disposition: attachment; filename=\"" .$efilename . "\"; filename*=UTF-8''".$efilename);
header("Cache-Control: must-revalidate");
sendFile($settings->_contentDir .$filename );
sendFile($settings->_contentDir . 'log/' . $filename );
} /* }}} */
elseif (isset($_GET["vfile"])) { /* {{{ */

View File

@ -64,50 +64,14 @@ if (!is_object($version)) {
}
$comment = $_POST["comment"];
if ($settings->_strictFormCheck && !$comment) {
UI::exitError(getMLText("admin_tools"),getMLText("version_comment_missing"));
}
if (($oldcomment = $version->getComment()) != $comment) {
if($version->setComment($comment)) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
/*
$subject = "###SITENAME###: ".$document->getName().", v.".$version->_version." - ".getMLText("document_comment_changed_email");
$message = getMLText("document_comment_changed_email")."\r\n";
$message .=
getMLText("document").": ".$document->getName()."\r\n".
getMLText("version").": ".$version->_version."\r\n".
getMLText("comment").": ".$comment."\r\n".
getMLText("user").": ".$user->getFullName()." <". $user->getEmail() .">\r\n".
"URL: ###URL_PREFIX###out/out.ViewDocument.php?documentid=".$document->getID()."&version=".$version->_version."\r\n";
if(isset($document->_notifyList["users"])) {
$notifier->toList($user, $document->_notifyList["users"], $subject, $message);
}
if(isset($document->_notifyList["groups"])) {
foreach ($document->_notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message);
}
}
*/
$subject = "document_comment_changed_email_subject";
$message = "document_comment_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['version'] = $version->getVersion();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['new_comment'] = $comment;
$params['old_comment'] = $oldcomment;
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."&version=".$version->getVersion();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$notifier->sendChangedVersionCommentMail($version, $user, $oldcomment);
}
}
else {

View File

@ -148,146 +148,14 @@ if(!$controller->run()) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $errmsg);
}
if ($oldname != $name) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "document_renamed_email_subject";
$message = "document_renamed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['old_name'] = $oldname;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
if($notifier) {
$notifier->sendChangedNameMail($document, $user, $oldname);
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
$notifier->sendChangedCommentMail($document, $user, $oldcomment);
if ($oldcomment != $comment) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
$subject = "document_comment_changed_email_subject";
$message = "document_comment_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['old_comment'] = $oldcomment;
$params['new_comment'] = $comment;
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->sendChangedExpiryMail($document, $user, $oldexpires);
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
if ($expires != $oldexpires) {
if($notifier) {
$notifyList = $document->getNotifyList();
$folder = $document->getFolder();
// Send notification to subscribers.
$subject = "expiry_changed_email_subject";
$message = "expiry_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
// if user is not owner send notification to owner
if ($user->getID() != $document->getOwner()->getID() &&
false === SeedDMS_Core_DMS::inList($document->getOwner(), $notifyList['users'])) {
$notifier->toIndividual($user, $document->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
if ($oldkeywords != $keywords) {
}
$newattributes = $document->getAttributes();
if($oldattributes) {
foreach($oldattributes as $attrdefid=>$attribute) {
if(!isset($newattributes[$attrdefid]) || $newattributes[$attrdefid]->getValueAsArray() !== $oldattributes[$attrdefid]->getValueAsArray()) {
if($notifier) {
$notifyList = $document->getNotifyList();
$subject = "document_attribute_changed_email_subject";
$message = "document_attribute_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['attribute_name'] = $attribute->getAttributeDefinition()->getName();
$params['attribute_old_value'] = $oldattributes[$attrdefid]->getValue();
$params['attribute_new_value'] = isset($newattributes[$attrdefid]) ? $newattributes[$attrdefid]->getValue() : '';
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
}
}
/* Check for new attributes which didn't have a value before */
if($newattributes) {
foreach($newattributes as $attrdefid=>$attribute) {
if(!isset($oldattributes[$attrdefid]) && $attribute) {
if($notifier) {
$notifyList = $document->getNotifyList();
$subject = "document_attribute_changed_email_subject";
$message = "document_attribute_changed_email_body";
$params = array();
$params['name'] = $document->getName();
$params['attribute_name'] = $dms->getAttributeDefinition($attrdefid)->getName();
$params['attribute_old_value'] = '';
$params['attribute_new_value'] = $attribute->getValue();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
}
$notifier->sendChangedAttributesMail($document, $user, $oldattributes);
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_document_edited')));

View File

@ -97,111 +97,13 @@ if(!$controller->run()) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())), $errmsg);
}
if($oldname != $name) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $folder->getNotifyList();
// Send notification to subscribers.
if($notifier) {
$notifier->sendChangedFolderNameMail($folder, $user, $oldname);
$subject = "folder_renamed_email_subject";
$message = "folder_renamed_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['old_name'] = $oldname;
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
// if user is not owner send notification to owner
// if ($user->getID() != $folder->getOwner()->getID())
// $notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
}
$notifier->sendChangedFolderCommentMail($folder, $user, $oldcomment);
if($oldcomment != $comment) {
// Send notification to subscribers.
if($notifier) {
$notifyList = $folder->getNotifyList();
$subject = "folder_comment_changed_email_subject";
$message = "folder_comment_changed_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['old_comment'] = $oldcomment;
$params['new_comment'] = $comment;
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
// if user is not owner send notification to owner
// if ($user->getID() != $folder->getOwner()->getID())
// $notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params, SeedDMS_NotificationService::RECV_OWNER);
}
}
$newattributes = $folder->getAttributes();
if($oldattributes) {
foreach($oldattributes as $attrdefid=>$attribute) {
if(!isset($newattributes[$attrdefid]) || $newattributes[$attrdefid]->getValueAsArray() !== $oldattributes[$attrdefid]->getValueAsArray()) {
if($notifier) {
$notifyList = $folder->getNotifyList();
$subject = "folder_attribute_changed_email_subject";
$message = "folder_attribute_changed_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['attribute_name'] = $attribute->getAttributeDefinition()->getName();
$params['attribute_old_value'] = $oldattributes[$attrdefid]->getValue();
$params['attribute_new_value'] = isset($newattributes[$attrdefid]) ? $newattributes[$attrdefid]->getValue() : '';
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
}
}
/* Check for new attributes which didn't have a value before */
if($newattributes) {
foreach($newattributes as $attrdefid=>$attribute) {
if(!isset($oldattributes[$attrdefid]) && $attribute) {
if($notifier) {
$notifyList = $folder->getNotifyList();
$subject = "folder_attribute_changed_email_subject";
$message = "folder_attribute_changed_email_body";
$params = array();
$params['name'] = $folder->getName();
$params['attribute_name'] = $dms->getAttributeDefinition($attrdefid)->getName();
$params['attribute_old_value'] = '';
$params['attribute_new_value'] = $attribute->getValue();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
}
}
}
$notifier->sendChangedFolderAttributesMail($folder, $user, $oldattributes);
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_folder_edited')));

View File

@ -63,25 +63,7 @@ if($lc->getChecksum() == SeedDMS_Core_File::checksum($tmpfname)) {
} else {
if($document->replaceContent(0, $user, $tmpfname, $lc->getOriginalFileName(), $lc->getFileType(), $lc->getMimeType())) {
if($notifier) {
$notifyList = $folder->getNotifyList();
$subject = "replace_content_email_subject";
$message = "replace_content_email_body";
$params = array();
$params['name'] = $document->getName();
$params['folder_name'] = $folder->getName();
$params['folder_path'] = $folder->getFolderPathPlain();
$params['username'] = $user->getFullName();
$params['comment'] = $document->getComment();
$params['version'] = $lc->getVersion();
$params['version_comment'] = $lc->getComment();
$params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID();
$params['sitename'] = $settings->_siteName;
$params['http_root'] = $settings->_httpRoot;
$notifier->toList($user, $notifyList["users"], $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
foreach ($notifyList["groups"] as $grp) {
$notifier->toGroup($user, $grp, $subject, $message, $params, SeedDMS_NotificationService::RECV_NOTIFICATION);
}
$notifier->sendReplaceContentMail($lc, $user);
}
echo json_encode(array('success'=>true, 'message'=>getMLText('splash_saved_file')));
} else {

View File

@ -145,7 +145,7 @@ elseif ($action == "toggle") { /* {{{ */
if($settings->extensionIsDisabled($extname))
echo json_encode(array('success'=>true, 'msg'=>getMLText('extension_is_off_now')));
else {
$ret = $extMgr->migrate($extname, $settings, $dms);
$ret = $extMgr->migrate($extname, $settings, $dms, $logger);
if($ret !== null) {
if($ret === true)
echo json_encode(array('success'=>true, 'msg'=>getMLText('extension_migration_success')));

Some files were not shown because too many files have changed in this diff Show More