Merge remote-tracking branch 'upstream/master'
Conflicts: app/Job/NotificationJob.php
This commit is contained in:
commit
2474518272
|
|
@ -1,11 +0,0 @@
|
|||
filter:
|
||||
paths:
|
||||
- app/*
|
||||
excluded_paths:
|
||||
- app/Schema/*
|
||||
- app/Template/*
|
||||
- app/Locale/*
|
||||
- app/Library/*
|
||||
- app/constants.php
|
||||
- app/common.php
|
||||
- app/check_setup.php
|
||||
|
|
@ -0,0 +1 @@
|
|||
Read https://kanboard.net/documentation/contributing
|
||||
20
ChangeLog
20
ChangeLog
|
|
@ -3,16 +3,34 @@ Version 1.0.32 (unreleased)
|
|||
|
||||
New features:
|
||||
|
||||
* New automated action to close tasks without activity in a specific column
|
||||
* New automated actions:
|
||||
- Close tasks without activity in a specific column
|
||||
- Set due date automatically
|
||||
- Move a task to another column when closed
|
||||
- Move a task to another column when not moved during a given period
|
||||
* Added internal task links to activity stream
|
||||
* Added new event for removed comments
|
||||
* Added search filter for task priority
|
||||
* Added the possibility to hide tasks in dashboard for a specific column
|
||||
|
||||
Improvements:
|
||||
|
||||
* Removed individual column scrolling on board, columns use the height of all tasks
|
||||
* Improve project page title
|
||||
* Remove sidebar titles when not necessary
|
||||
* Internal events management refactoring
|
||||
* Handle header X-Real-IP to get IP address
|
||||
* Display project name for task auto-complete fields
|
||||
* Make search attributes not case sensitive
|
||||
* Display TOTP issuer for 2FA
|
||||
* Make sure that the table schema_version use InnoDB for Mysql
|
||||
* Use the library PicoFeed to generate RSS/Atom feeds
|
||||
|
||||
Bug fixes:
|
||||
|
||||
* Fixed typo in template that prevent project permissions to be duplicated
|
||||
* Fixed search query with multiple assignees (nested OR conditions)
|
||||
* Fixed Markdown editor auto-grow on the task form (Safari)
|
||||
* Fixed compatibility issue with PHP 5.3 for OAuthUserProvider class
|
||||
|
||||
Version 1.0.31
|
||||
|
|
|
|||
2
Makefile
2
Makefile
|
|
@ -9,7 +9,7 @@ static:
|
|||
archive:
|
||||
@ echo "Build archive: version=${version}, destination=${dst}"
|
||||
@ rm -rf ${BUILD_DIR}/kanboard ${BUILD_DIR}/kanboard-*.zip
|
||||
@ cd ${BUILD_DIR} && git clone --depth 1 -q https://github.com/fguillot/kanboard.git
|
||||
@ cd ${BUILD_DIR} && git clone --depth 1 -q https://github.com/kanboard/kanboard.git
|
||||
@ cd ${BUILD_DIR}/kanboard && composer --prefer-dist --no-dev --optimize-autoloader --quiet install
|
||||
@ rm -rf ${BUILD_DIR}/kanboard/data/*.sqlite
|
||||
@ rm -rf ${BUILD_DIR}/kanboard/data/*.log
|
||||
|
|
|
|||
15
README.md
15
README.md
|
|
@ -1,10 +1,8 @@
|
|||
Kanboard
|
||||
========
|
||||
|
||||
[](https://travis-ci.org/fguillot/kanboard)
|
||||
[](https://scrutinizer-ci.com/g/fguillot/kanboard/)
|
||||
[](https://insight.sensiolabs.com/projects/5e50750e-fc62-4a1f-b02a-71991123a2a7)
|
||||
[](https://gitter.im/kanboard/kanboard)
|
||||
[](https://travis-ci.org/kanboard/kanboard)
|
||||
[](https://scrutinizer-ci.com/g/kanboard/kanboard/?branch=master)
|
||||
|
||||
Kanboard is a project management software that focus on the Kanban methodology.
|
||||
|
||||
|
|
@ -15,16 +13,17 @@ Official website: <https://kanboard.net>
|
|||
- Open source and self-hosted
|
||||
- Super simple installation
|
||||
- Translated in many languages
|
||||
- Distributed under [MIT License](https://github.com/fguillot/kanboard/blob/master/LICENSE)
|
||||
- Distributed under [MIT License](https://github.com/kanboard/kanboard/blob/master/LICENSE)
|
||||
- The complete [list of features are available on the website](https://kanboard.net/features)
|
||||
- [Change Log](https://github.com/fguillot/kanboard/blob/master/ChangeLog)
|
||||
- [Documentation](https://github.com/fguillot/kanboard/blob/master/doc/index.markdown)
|
||||
- [Change Log](https://github.com/kanboard/kanboard/blob/master/ChangeLog)
|
||||
- [Documentation](https://github.com/kanboard/kanboard/blob/master/doc/index.markdown)
|
||||
- IRC channel: [#kanboard](ircs://chat.freenode.net:6697/#kanboard) (Freenode)
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
||||
- Main developer: [Frédéric Guillot](https://github.com/fguillot)
|
||||
- [List of contributors](https://github.com/fguillot/kanboard/blob/master/CONTRIBUTORS.md)
|
||||
- [List of contributors](https://github.com/kanboard/kanboard/blob/master/CONTRIBUTORS.md)
|
||||
|
||||
Installation and Upgrade
|
||||
------------------------
|
||||
|
|
|
|||
2
app.json
2
app.json
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "Kanboard",
|
||||
"description": "Kanboard is a simple visual task board",
|
||||
"repository": "https://github.com/fguillot/kanboard",
|
||||
"repository": "https://github.com/kanboard/kanboard",
|
||||
"logo": "https://kanboard.net/assets/img/icon.svg",
|
||||
"keywords": ["kanboard", "kanban", "php", "agile"],
|
||||
"addons": ["heroku-postgresql:hobby-dev"]
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Event\GenericEvent;
|
|||
/**
|
||||
* Base class for automatic actions
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
abstract class Base extends \Kanboard\Core\Base
|
||||
|
|
@ -216,7 +216,8 @@ abstract class Base extends \Kanboard\Core\Base
|
|||
*/
|
||||
public function hasRequiredProject(array $data)
|
||||
{
|
||||
return isset($data['project_id']) && $data['project_id'] == $this->getProjectId();
|
||||
return (isset($data['project_id']) && $data['project_id'] == $this->getProjectId()) ||
|
||||
(isset($data['task']['project_id']) && $data['task']['project_id'] == $this->getProjectId());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -226,10 +227,14 @@ abstract class Base extends \Kanboard\Core\Base
|
|||
* @param array $data Event data dictionary
|
||||
* @return bool True if all keys are there
|
||||
*/
|
||||
public function hasRequiredParameters(array $data)
|
||||
public function hasRequiredParameters(array $data, array $parameters = array())
|
||||
{
|
||||
foreach ($this->getEventRequiredParameters() as $parameter) {
|
||||
if (! isset($data[$parameter])) {
|
||||
$parameters = $parameters ?: $this->getEventRequiredParameters();
|
||||
|
||||
foreach ($parameters as $key => $value) {
|
||||
if (is_array($value)) {
|
||||
return isset($data[$key]) && $this->hasRequiredParameters($data[$key], $value);
|
||||
} else if (! isset($data[$value])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace Kanboard\Action;
|
|||
/**
|
||||
* Create automatically a comment from a webhook
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class CommentCreation extends Base
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Add a comment of the triggering event to the task description.
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Oren Ben-Kiki
|
||||
*/
|
||||
class CommentCreationMoveTaskColumn extends Base
|
||||
|
|
@ -55,7 +55,13 @@ class CommentCreationMoveTaskColumn extends Base
|
|||
*/
|
||||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array('task_id', 'column_id');
|
||||
return array(
|
||||
'task_id',
|
||||
'task' => array(
|
||||
'column_id',
|
||||
'project_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -71,7 +77,7 @@ class CommentCreationMoveTaskColumn extends Base
|
|||
return false;
|
||||
}
|
||||
|
||||
$column = $this->columnModel->getById($data['column_id']);
|
||||
$column = $this->columnModel->getById($data['task']['column_id']);
|
||||
|
||||
return (bool) $this->commentModel->create(array(
|
||||
'comment' => t('Moved to column %s', $column['title']),
|
||||
|
|
@ -89,6 +95,6 @@ class CommentCreationMoveTaskColumn extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Set a category automatically according to the color
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignCategoryColor extends Base
|
||||
|
|
@ -60,7 +60,10 @@ class TaskAssignCategoryColor extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'color_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'color_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -90,6 +93,6 @@ class TaskAssignCategoryColor extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['color_id'] == $this->getParam('color_id');
|
||||
return $data['task']['color_id'] == $this->getParam('color_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace Kanboard\Action;
|
|||
/**
|
||||
* Set a category automatically according to a label
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignCategoryLabel extends Base
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskLinkModel;
|
|||
/**
|
||||
* Set a category automatically according to a task link
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Olivier Maridat
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
|
|
@ -60,8 +60,10 @@ class TaskAssignCategoryLink extends Base
|
|||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'link_id',
|
||||
'task_link' => array(
|
||||
'task_id',
|
||||
'link_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -75,7 +77,7 @@ class TaskAssignCategoryLink extends Base
|
|||
public function doAction(array $data)
|
||||
{
|
||||
$values = array(
|
||||
'id' => $data['task_id'],
|
||||
'id' => $data['task_link']['task_id'],
|
||||
'category_id' => $this->getParam('category_id'),
|
||||
);
|
||||
|
||||
|
|
@ -91,9 +93,8 @@ class TaskAssignCategoryLink extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
if ($data['link_id'] == $this->getParam('link_id')) {
|
||||
$task = $this->taskFinderModel->getById($data['task_id']);
|
||||
return empty($task['category_id']);
|
||||
if ($data['task_link']['link_id'] == $this->getParam('link_id')) {
|
||||
return empty($data['task']['category_id']);
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Assign a color to a specific category
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignColorCategory extends Base
|
||||
|
|
@ -60,7 +60,10 @@ class TaskAssignColorCategory extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'category_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'category_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -90,6 +93,6 @@ class TaskAssignColorCategory extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['category_id'] == $this->getParam('category_id');
|
||||
return $data['task']['category_id'] == $this->getParam('category_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Assign a color to a task
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignColorColumn extends Base
|
||||
|
|
@ -61,7 +61,10 @@ class TaskAssignColorColumn extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -91,6 +94,6 @@ class TaskAssignColorColumn extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskLinkModel;
|
|||
/**
|
||||
* Assign a color to a specific task link
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignColorLink extends Base
|
||||
|
|
@ -59,8 +59,10 @@ class TaskAssignColorLink extends Base
|
|||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'link_id',
|
||||
'task_link' => array(
|
||||
'task_id',
|
||||
'link_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -74,7 +76,7 @@ class TaskAssignColorLink extends Base
|
|||
public function doAction(array $data)
|
||||
{
|
||||
$values = array(
|
||||
'id' => $data['task_id'],
|
||||
'id' => $data['task_link']['task_id'],
|
||||
'color_id' => $this->getParam('color_id'),
|
||||
);
|
||||
|
||||
|
|
@ -90,6 +92,6 @@ class TaskAssignColorLink extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['link_id'] == $this->getParam('link_id');
|
||||
return $data['task_link']['link_id'] == $this->getParam('link_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Assign a color to a priority
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignColorPriority extends Base
|
||||
|
|
@ -60,7 +60,10 @@ class TaskAssignColorPriority extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'priority',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'priority',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -90,6 +93,6 @@ class TaskAssignColorPriority extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['priority'] == $this->getParam('priority');
|
||||
return $data['task']['priority'] == $this->getParam('priority');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Assign a color to a specific user
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignColorUser extends Base
|
||||
|
|
@ -61,7 +61,10 @@ class TaskAssignColorUser extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'owner_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'owner_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -91,6 +94,6 @@ class TaskAssignColorUser extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['owner_id'] == $this->getParam('user_id');
|
||||
return $data['task']['owner_id'] == $this->getParam('user_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Assign a task to the logged user
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignCurrentUser extends Base
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Assign a task to the logged user on column change
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignCurrentUserColumn extends Base
|
||||
|
|
@ -59,7 +59,10 @@ class TaskAssignCurrentUserColumn extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -93,6 +96,6 @@ class TaskAssignCurrentUserColumn extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,96 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Action;
|
||||
|
||||
use Kanboard\Model\TaskModel;
|
||||
|
||||
/**
|
||||
* Set the due date of task
|
||||
*
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignDueDateOnCreation extends Base
|
||||
{
|
||||
/**
|
||||
* Get automatic action description
|
||||
*
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getDescription()
|
||||
{
|
||||
return t('Automatically set the due date on task creation');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the list of compatible events
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getCompatibleEvents()
|
||||
{
|
||||
return array(
|
||||
TaskModel::EVENT_CREATE,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the required parameter for the action (defined by the user)
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getActionRequiredParameters()
|
||||
{
|
||||
return array(
|
||||
'duration' => t('Duration in days')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the required parameter for the event
|
||||
*
|
||||
* @access public
|
||||
* @return string[]
|
||||
*/
|
||||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the action (set the task color)
|
||||
*
|
||||
* @access public
|
||||
* @param array $data Event data dictionary
|
||||
* @return bool True if the action was executed or false when not executed
|
||||
*/
|
||||
public function doAction(array $data)
|
||||
{
|
||||
$values = array(
|
||||
'id' => $data['task_id'],
|
||||
'date_due' => strtotime('+'.$this->getParam('duration').'days'),
|
||||
);
|
||||
|
||||
return $this->taskModificationModel->update($values, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the event data meet the action condition
|
||||
*
|
||||
* @access public
|
||||
* @param array $data Event data dictionary
|
||||
* @return bool
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Assign a task to a specific user
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignSpecificUser extends Base
|
||||
|
|
@ -61,7 +61,10 @@ class TaskAssignSpecificUser extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -91,6 +94,6 @@ class TaskAssignSpecificUser extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace Kanboard\Action;
|
|||
/**
|
||||
* Assign a task to someone
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Actionv
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskAssignUser extends Base
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace Kanboard\Action;
|
|||
/**
|
||||
* Close automatically a task
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskClose extends Base
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Close automatically a task in a specific column
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskCloseColumn extends Base
|
||||
|
|
@ -55,7 +55,13 @@ class TaskCloseColumn extends Base
|
|||
*/
|
||||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array('task_id', 'column_id');
|
||||
return array(
|
||||
'task_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -79,6 +85,6 @@ class TaskCloseColumn extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Close automatically a task after when inactive
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskCloseNoActivity extends Base
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Close automatically a task after inactive and in an defined column
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskCloseNoActivityColumn extends Base
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace Kanboard\Action;
|
|||
/**
|
||||
* Create automatically a task from a webhook
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskCreation extends Base
|
||||
|
|
@ -52,6 +52,7 @@ class TaskCreation extends Base
|
|||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array(
|
||||
'project_id',
|
||||
'reference',
|
||||
'title',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Duplicate a task to another project
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskDuplicateAnotherProject extends Base
|
||||
|
|
@ -62,7 +62,10 @@ class TaskDuplicateAnotherProject extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -76,7 +79,12 @@ class TaskDuplicateAnotherProject extends Base
|
|||
public function doAction(array $data)
|
||||
{
|
||||
$destination_column_id = $this->columnModel->getFirstColumnId($this->getParam('project_id'));
|
||||
return (bool) $this->taskProjectDuplicationModel->duplicateToProject($data['task_id'], $this->getParam('project_id'), null, $destination_column_id);
|
||||
return (bool) $this->taskProjectDuplicationModel->duplicateToProject(
|
||||
$data['task_id'],
|
||||
$this->getParam('project_id'),
|
||||
null,
|
||||
$destination_column_id
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -88,6 +96,6 @@ class TaskDuplicateAnotherProject extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id') && $data['project_id'] != $this->getParam('project_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id') && $data['task']['project_id'] != $this->getParam('project_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Email a task to someone
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskEmail extends Base
|
||||
|
|
@ -62,7 +62,10 @@ class TaskEmail extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -78,13 +81,14 @@ class TaskEmail extends Base
|
|||
$user = $this->userModel->getById($this->getParam('user_id'));
|
||||
|
||||
if (! empty($user['email'])) {
|
||||
$task = $this->taskFinderModel->getDetails($data['task_id']);
|
||||
|
||||
$this->emailClient->send(
|
||||
$user['email'],
|
||||
$user['name'] ?: $user['username'],
|
||||
$this->getParam('subject'),
|
||||
$this->template->render('notification/task_create', array('task' => $task, 'application_url' => $this->configModel->get('application_url')))
|
||||
$this->template->render('notification/task_create', array(
|
||||
'task' => $data['task'],
|
||||
'application_url' => $this->configModel->get('application_url'),
|
||||
))
|
||||
);
|
||||
|
||||
return true;
|
||||
|
|
@ -102,6 +106,6 @@ class TaskEmail extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Email a task with no activity
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskEmailNoActivity extends Base
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Move a task to another project
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskMoveAnotherProject extends Base
|
||||
|
|
@ -61,8 +61,10 @@ class TaskMoveAnotherProject extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'project_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -87,6 +89,6 @@ class TaskMoveAnotherProject extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id') && $data['project_id'] != $this->getParam('project_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id') && $data['task']['project_id'] != $this->getParam('project_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Move a task to another column when an assignee is set
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Francois Ferrand
|
||||
*/
|
||||
class TaskMoveColumnAssigned extends Base
|
||||
|
|
@ -61,8 +61,13 @@ class TaskMoveColumnAssigned extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'owner_id'
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
'owner_id',
|
||||
'position',
|
||||
'swimlane_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -75,14 +80,12 @@ class TaskMoveColumnAssigned extends Base
|
|||
*/
|
||||
public function doAction(array $data)
|
||||
{
|
||||
$original_task = $this->taskFinderModel->getById($data['task_id']);
|
||||
|
||||
return $this->taskPositionModel->movePosition(
|
||||
$data['project_id'],
|
||||
$data['task']['project_id'],
|
||||
$data['task_id'],
|
||||
$this->getParam('dest_column_id'),
|
||||
$original_task['position'],
|
||||
$original_task['swimlane_id'],
|
||||
$data['task']['position'],
|
||||
$data['task']['swimlane_id'],
|
||||
false
|
||||
);
|
||||
}
|
||||
|
|
@ -96,6 +99,6 @@ class TaskMoveColumnAssigned extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('src_column_id') && $data['owner_id'] > 0;
|
||||
return $data['task']['column_id'] == $this->getParam('src_column_id') && $data['task']['owner_id'] > 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Move a task to another column when the category is changed
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Francois Ferrand
|
||||
*/
|
||||
class TaskMoveColumnCategoryChange extends Base
|
||||
|
|
@ -60,8 +60,13 @@ class TaskMoveColumnCategoryChange extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'category_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
'category_id',
|
||||
'position',
|
||||
'swimlane_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -74,14 +79,12 @@ class TaskMoveColumnCategoryChange extends Base
|
|||
*/
|
||||
public function doAction(array $data)
|
||||
{
|
||||
$original_task = $this->taskFinderModel->getById($data['task_id']);
|
||||
|
||||
return $this->taskPositionModel->movePosition(
|
||||
$data['project_id'],
|
||||
$data['task']['project_id'],
|
||||
$data['task_id'],
|
||||
$this->getParam('dest_column_id'),
|
||||
$original_task['position'],
|
||||
$original_task['swimlane_id'],
|
||||
$data['task']['position'],
|
||||
$data['task']['swimlane_id'],
|
||||
false
|
||||
);
|
||||
}
|
||||
|
|
@ -95,6 +98,6 @@ class TaskMoveColumnCategoryChange extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] != $this->getParam('dest_column_id') && $data['category_id'] == $this->getParam('category_id');
|
||||
return $data['task']['column_id'] != $this->getParam('dest_column_id') && $data['task']['category_id'] == $this->getParam('category_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,102 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Action;
|
||||
|
||||
use Kanboard\Model\TaskModel;
|
||||
|
||||
/**
|
||||
* Move a task to another column when the task is closed
|
||||
*
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskMoveColumnClosed extends Base
|
||||
{
|
||||
/**
|
||||
* Get automatic action description
|
||||
*
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getDescription()
|
||||
{
|
||||
return t('Move the task to another column when closed');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the list of compatible events
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getCompatibleEvents()
|
||||
{
|
||||
return array(
|
||||
TaskModel::EVENT_CLOSE,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the required parameter for the action (defined by the user)
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getActionRequiredParameters()
|
||||
{
|
||||
return array(
|
||||
'dest_column_id' => t('Destination column'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the required parameter for the event
|
||||
*
|
||||
* @access public
|
||||
* @return string[]
|
||||
*/
|
||||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
'swimlane_id',
|
||||
'is_active',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the action (move the task to another column)
|
||||
*
|
||||
* @access public
|
||||
* @param array $data Event data dictionary
|
||||
* @return bool True if the action was executed or false when not executed
|
||||
*/
|
||||
public function doAction(array $data)
|
||||
{
|
||||
return $this->taskPositionModel->movePosition(
|
||||
$data['task']['project_id'],
|
||||
$data['task']['id'],
|
||||
$this->getParam('dest_column_id'),
|
||||
1,
|
||||
$data['task']['swimlane_id'],
|
||||
false,
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the event data meet the action condition
|
||||
*
|
||||
* @access public
|
||||
* @param array $data Event data dictionary
|
||||
* @return bool
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['task']['column_id'] != $this->getParam('dest_column_id') && $data['task']['is_active'] == 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,104 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Action;
|
||||
|
||||
use Kanboard\Model\TaskModel;
|
||||
|
||||
/**
|
||||
* Move a task to another column when not moved during a given period
|
||||
*
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskMoveColumnNotMovedPeriod extends Base
|
||||
{
|
||||
/**
|
||||
* Get automatic action description
|
||||
*
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function getDescription()
|
||||
{
|
||||
return t('Move the task to another column when not moved during a given period');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the list of compatible events
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getCompatibleEvents()
|
||||
{
|
||||
return array(TaskModel::EVENT_DAILY_CRONJOB);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the required parameter for the action (defined by the user)
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getActionRequiredParameters()
|
||||
{
|
||||
return array(
|
||||
'duration' => t('Duration in days'),
|
||||
'src_column_id' => t('Source column'),
|
||||
'dest_column_id' => t('Destination column'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the required parameter for the event
|
||||
*
|
||||
* @access public
|
||||
* @return string[]
|
||||
*/
|
||||
public function getEventRequiredParameters()
|
||||
{
|
||||
return array('tasks');
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the action (close the task)
|
||||
*
|
||||
* @access public
|
||||
* @param array $data Event data dictionary
|
||||
* @return bool True if the action was executed or false when not executed
|
||||
*/
|
||||
public function doAction(array $data)
|
||||
{
|
||||
$results = array();
|
||||
$max = $this->getParam('duration') * 86400;
|
||||
|
||||
foreach ($data['tasks'] as $task) {
|
||||
$duration = time() - $task['date_moved'];
|
||||
|
||||
if ($duration > $max && $task['column_id'] == $this->getParam('src_column_id')) {
|
||||
$results[] = $this->taskPositionModel->movePosition(
|
||||
$task['project_id'],
|
||||
$task['id'],
|
||||
$this->getParam('dest_column_id'),
|
||||
1,
|
||||
$task['swimlane_id'],
|
||||
false
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return in_array(true, $results, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the event data meet the action condition
|
||||
*
|
||||
* @access public
|
||||
* @param array $data Event data dictionary
|
||||
* @return bool
|
||||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return count($data['tasks']) > 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Move a task to another column when an assignee is cleared
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Francois Ferrand
|
||||
*/
|
||||
class TaskMoveColumnUnAssigned extends Base
|
||||
|
|
@ -61,8 +61,13 @@ class TaskMoveColumnUnAssigned extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'owner_id'
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
'owner_id',
|
||||
'position',
|
||||
'swimlane_id',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -75,14 +80,12 @@ class TaskMoveColumnUnAssigned extends Base
|
|||
*/
|
||||
public function doAction(array $data)
|
||||
{
|
||||
$original_task = $this->taskFinderModel->getById($data['task_id']);
|
||||
|
||||
return $this->taskPositionModel->movePosition(
|
||||
$data['project_id'],
|
||||
$data['task']['project_id'],
|
||||
$data['task_id'],
|
||||
$this->getParam('dest_column_id'),
|
||||
$original_task['position'],
|
||||
$original_task['swimlane_id'],
|
||||
$data['task']['position'],
|
||||
$data['task']['swimlane_id'],
|
||||
false
|
||||
);
|
||||
}
|
||||
|
|
@ -96,6 +99,6 @@ class TaskMoveColumnUnAssigned extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('src_column_id') && $data['owner_id'] == 0;
|
||||
return $data['task']['column_id'] == $this->getParam('src_column_id') && $data['task']['owner_id'] == 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace Kanboard\Action;
|
|||
/**
|
||||
* Open automatically a task
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskOpen extends Base
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ use Kanboard\Model\TaskModel;
|
|||
/**
|
||||
* Set the start date of task
|
||||
*
|
||||
* @package action
|
||||
* @package Kanboard\Action
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskUpdateStartDate extends Base
|
||||
|
|
@ -59,7 +59,10 @@ class TaskUpdateStartDate extends Base
|
|||
{
|
||||
return array(
|
||||
'task_id',
|
||||
'column_id',
|
||||
'task' => array(
|
||||
'project_id',
|
||||
'column_id',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -89,6 +92,6 @@ class TaskUpdateStartDate extends Base
|
|||
*/
|
||||
public function hasRequiredCondition(array $data)
|
||||
{
|
||||
return $data['column_id'] == $this->getParam('column_id');
|
||||
return $data['task']['column_id'] == $this->getParam('column_id');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ class AnalyticController extends BaseController
|
|||
'metrics' => $this->projectDailyStatsModel->getRawMetrics($project['id'], $from, $to),
|
||||
'date_format' => $this->configModel->get('application_date_format'),
|
||||
'date_formats' => $this->dateParser->getAvailableFormats($this->dateParser->getDateFormats()),
|
||||
'title' => t('Lead and Cycle time for "%s"', $project['name']),
|
||||
'title' => t('Lead and cycle time'),
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ class AnalyticController extends BaseController
|
|||
'project' => $project,
|
||||
'paginator' => $paginator,
|
||||
'metrics' => $this->estimatedTimeComparisonAnalytic->build($project['id']),
|
||||
'title' => t('Compare hours for "%s"', $project['name']),
|
||||
'title' => t('Estimated vs actual time'),
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
@ -76,7 +76,7 @@ class AnalyticController extends BaseController
|
|||
$this->response->html($this->helper->layout->analytic('analytic/avg_time_columns', array(
|
||||
'project' => $project,
|
||||
'metrics' => $this->averageTimeSpentColumnAnalytic->build($project['id']),
|
||||
'title' => t('Average time spent into each column for "%s"', $project['name']),
|
||||
'title' => t('Average time into each column'),
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
@ -92,7 +92,7 @@ class AnalyticController extends BaseController
|
|||
$this->response->html($this->helper->layout->analytic('analytic/tasks', array(
|
||||
'project' => $project,
|
||||
'metrics' => $this->taskDistributionAnalytic->build($project['id']),
|
||||
'title' => t('Task repartition for "%s"', $project['name']),
|
||||
'title' => t('Task distribution'),
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ class AnalyticController extends BaseController
|
|||
$this->response->html($this->helper->layout->analytic('analytic/users', array(
|
||||
'project' => $project,
|
||||
'metrics' => $this->userDistributionAnalytic->build($project['id']),
|
||||
'title' => t('User repartition for "%s"', $project['name']),
|
||||
'title' => t('User repartition'),
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
@ -119,7 +119,7 @@ class AnalyticController extends BaseController
|
|||
*/
|
||||
public function cfd()
|
||||
{
|
||||
$this->commonAggregateMetrics('analytic/cfd', 'total', 'Cumulative flow diagram for "%s"');
|
||||
$this->commonAggregateMetrics('analytic/cfd', 'total', t('Cumulative flow diagram'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -129,7 +129,7 @@ class AnalyticController extends BaseController
|
|||
*/
|
||||
public function burndown()
|
||||
{
|
||||
$this->commonAggregateMetrics('analytic/burndown', 'score', 'Burndown chart for "%s"');
|
||||
$this->commonAggregateMetrics('analytic/burndown', 'score', t('Burndown chart'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -157,7 +157,7 @@ class AnalyticController extends BaseController
|
|||
'project' => $project,
|
||||
'date_format' => $this->configModel->get('application_date_format'),
|
||||
'date_formats' => $this->dateParser->getAvailableFormats($this->dateParser->getDateFormats()),
|
||||
'title' => t($title, $project['name']),
|
||||
'title' => $title,
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,9 +2,6 @@
|
|||
|
||||
namespace Kanboard\Controller;
|
||||
|
||||
use Kanboard\Model\ProjectModel;
|
||||
use Kanboard\Model\SubtaskModel;
|
||||
|
||||
/**
|
||||
* Dashboard Controller
|
||||
*
|
||||
|
|
@ -13,63 +10,6 @@ use Kanboard\Model\SubtaskModel;
|
|||
*/
|
||||
class DashboardController extends BaseController
|
||||
{
|
||||
/**
|
||||
* Get project pagination
|
||||
*
|
||||
* @access private
|
||||
* @param integer $user_id
|
||||
* @param string $action
|
||||
* @param integer $max
|
||||
* @return \Kanboard\Core\Paginator
|
||||
*/
|
||||
private function getProjectPaginator($user_id, $action, $max)
|
||||
{
|
||||
return $this->paginator
|
||||
->setUrl('DashboardController', $action, array('pagination' => 'projects', 'user_id' => $user_id))
|
||||
->setMax($max)
|
||||
->setOrder(ProjectModel::TABLE.'.name')
|
||||
->setQuery($this->projectModel->getQueryColumnStats($this->projectPermissionModel->getActiveProjectIds($user_id)))
|
||||
->calculateOnlyIf($this->request->getStringParam('pagination') === 'projects');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get task pagination
|
||||
*
|
||||
* @access private
|
||||
* @param integer $user_id
|
||||
* @param string $action
|
||||
* @param integer $max
|
||||
* @return \Kanboard\Core\Paginator
|
||||
*/
|
||||
private function getTaskPaginator($user_id, $action, $max)
|
||||
{
|
||||
return $this->paginator
|
||||
->setUrl('DashboardController', $action, array('pagination' => 'tasks', 'user_id' => $user_id))
|
||||
->setMax($max)
|
||||
->setOrder('tasks.id')
|
||||
->setQuery($this->taskFinderModel->getUserQuery($user_id))
|
||||
->calculateOnlyIf($this->request->getStringParam('pagination') === 'tasks');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get subtask pagination
|
||||
*
|
||||
* @access private
|
||||
* @param integer $user_id
|
||||
* @param string $action
|
||||
* @param integer $max
|
||||
* @return \Kanboard\Core\Paginator
|
||||
*/
|
||||
private function getSubtaskPaginator($user_id, $action, $max)
|
||||
{
|
||||
return $this->paginator
|
||||
->setUrl('DashboardController', $action, array('pagination' => 'subtasks', 'user_id' => $user_id))
|
||||
->setMax($max)
|
||||
->setOrder('tasks.id')
|
||||
->setQuery($this->subtaskModel->getUserQuery($user_id, array(SubTaskModel::STATUS_TODO, SubtaskModel::STATUS_INPROGRESS)))
|
||||
->calculateOnlyIf($this->request->getStringParam('pagination') === 'subtasks');
|
||||
}
|
||||
|
||||
/**
|
||||
* Dashboard overview
|
||||
*
|
||||
|
|
@ -80,10 +20,10 @@ class DashboardController extends BaseController
|
|||
$user = $this->getUser();
|
||||
|
||||
$this->response->html($this->helper->layout->dashboard('dashboard/show', array(
|
||||
'title' => t('Dashboard'),
|
||||
'project_paginator' => $this->getProjectPaginator($user['id'], 'show', 10),
|
||||
'task_paginator' => $this->getTaskPaginator($user['id'], 'show', 10),
|
||||
'subtask_paginator' => $this->getSubtaskPaginator($user['id'], 'show', 10),
|
||||
'title' => t('Dashboard for %s', $this->helper->user->getFullname($user)),
|
||||
'project_paginator' => $this->projectPagination->getDashboardPaginator($user['id'], 'show', 10),
|
||||
'task_paginator' => $this->taskPagination->getDashboardPaginator($user['id'], 'show', 10),
|
||||
'subtask_paginator' => $this->subtaskPagination->getDashboardPaginator($user['id'], 'show', 10),
|
||||
'user' => $user,
|
||||
)));
|
||||
}
|
||||
|
|
@ -98,8 +38,8 @@ class DashboardController extends BaseController
|
|||
$user = $this->getUser();
|
||||
|
||||
$this->response->html($this->helper->layout->dashboard('dashboard/tasks', array(
|
||||
'title' => t('My tasks'),
|
||||
'paginator' => $this->getTaskPaginator($user['id'], 'tasks', 50),
|
||||
'title' => t('Tasks overview for %s', $this->helper->user->getFullname($user)),
|
||||
'paginator' => $this->taskPagination->getDashboardPaginator($user['id'], 'tasks', 50),
|
||||
'user' => $user,
|
||||
)));
|
||||
}
|
||||
|
|
@ -114,8 +54,8 @@ class DashboardController extends BaseController
|
|||
$user = $this->getUser();
|
||||
|
||||
$this->response->html($this->helper->layout->dashboard('dashboard/subtasks', array(
|
||||
'title' => t('My subtasks'),
|
||||
'paginator' => $this->getSubtaskPaginator($user['id'], 'subtasks', 50),
|
||||
'title' => t('Subtasks overview for %s', $this->helper->user->getFullname($user)),
|
||||
'paginator' => $this->subtaskPagination->getDashboardPaginator($user['id'], 'subtasks', 50),
|
||||
'user' => $user,
|
||||
)));
|
||||
}
|
||||
|
|
@ -130,8 +70,8 @@ class DashboardController extends BaseController
|
|||
$user = $this->getUser();
|
||||
|
||||
$this->response->html($this->helper->layout->dashboard('dashboard/projects', array(
|
||||
'title' => t('My projects'),
|
||||
'paginator' => $this->getProjectPaginator($user['id'], 'projects', 25),
|
||||
'title' => t('Projects overview for %s', $this->helper->user->getFullname($user)),
|
||||
'paginator' => $this->projectPagination->getDashboardPaginator($user['id'], 'projects', 25),
|
||||
'user' => $user,
|
||||
)));
|
||||
}
|
||||
|
|
@ -146,7 +86,7 @@ class DashboardController extends BaseController
|
|||
$user = $this->getUser();
|
||||
|
||||
$this->response->html($this->helper->layout->dashboard('dashboard/activity', array(
|
||||
'title' => t('My activity stream'),
|
||||
'title' => t('Activity stream for %s', $this->helper->user->getFullname($user)),
|
||||
'events' => $this->helper->projectActivity->getProjectsEvents($this->projectPermissionModel->getActiveProjectIds($user['id']), 100),
|
||||
'user' => $user,
|
||||
)));
|
||||
|
|
@ -159,9 +99,11 @@ class DashboardController extends BaseController
|
|||
*/
|
||||
public function calendar()
|
||||
{
|
||||
$user = $this->getUser();
|
||||
|
||||
$this->response->html($this->helper->layout->dashboard('dashboard/calendar', array(
|
||||
'title' => t('My calendar'),
|
||||
'user' => $this->getUser(),
|
||||
'title' => t('Calendar for %s', $this->helper->user->getFullname($user)),
|
||||
'user' => $user,
|
||||
)));
|
||||
}
|
||||
|
||||
|
|
@ -175,7 +117,7 @@ class DashboardController extends BaseController
|
|||
$user = $this->getUser();
|
||||
|
||||
$this->response->html($this->helper->layout->dashboard('dashboard/notifications', array(
|
||||
'title' => t('My notifications'),
|
||||
'title' => t('Notifications for %s', $this->helper->user->getFullname($user)),
|
||||
'notifications' => $this->userUnreadNotificationModel->getAll($user['id']),
|
||||
'user' => $user,
|
||||
)));
|
||||
|
|
|
|||
|
|
@ -2,7 +2,11 @@
|
|||
|
||||
namespace Kanboard\Controller;
|
||||
|
||||
use DateTime;
|
||||
use Kanboard\Core\Controller\AccessForbiddenException;
|
||||
use PicoFeed\Syndication\AtomFeedBuilder;
|
||||
use PicoFeed\Syndication\AtomItemBuilder;
|
||||
use PicoFeed\Syndication\FeedBuilder;
|
||||
|
||||
/**
|
||||
* Atom/RSS Feed controller
|
||||
|
|
@ -27,10 +31,15 @@ class FeedController extends BaseController
|
|||
throw AccessForbiddenException::getInstance()->withoutLayout();
|
||||
}
|
||||
|
||||
$this->response->xml($this->template->render('feed/user', array(
|
||||
'events' => $this->helper->projectActivity->getProjectsEvents($this->projectPermissionModel->getActiveProjectIds($user['id'])),
|
||||
'user' => $user,
|
||||
)));
|
||||
$events = $this->helper->projectActivity->getProjectsEvents($this->projectPermissionModel->getActiveProjectIds($user['id']));
|
||||
|
||||
$feedBuilder = AtomFeedBuilder::create()
|
||||
->withTitle(e('Project activities for %s', $this->helper->user->getFullname($user)))
|
||||
->withFeedUrl($this->helper->url->to('FeedController', 'user', array('token' => $user['token']), '', true))
|
||||
->withSiteUrl($this->helper->url->base())
|
||||
->withDate(new DateTime());
|
||||
|
||||
$this->response->xml($this->buildFeedItems($events, $feedBuilder)->build());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -47,9 +56,44 @@ class FeedController extends BaseController
|
|||
throw AccessForbiddenException::getInstance()->withoutLayout();
|
||||
}
|
||||
|
||||
$this->response->xml($this->template->render('feed/project', array(
|
||||
'events' => $this->helper->projectActivity->getProjectEvents($project['id']),
|
||||
'project' => $project,
|
||||
)));
|
||||
$events = $this->helper->projectActivity->getProjectEvents($project['id']);
|
||||
|
||||
$feedBuilder = AtomFeedBuilder::create()
|
||||
->withTitle(e('%s\'s activity', $project['name']))
|
||||
->withFeedUrl($this->helper->url->to('FeedController', 'project', array('token' => $project['token']), '', true))
|
||||
->withSiteUrl($this->helper->url->base())
|
||||
->withDate(new DateTime());
|
||||
|
||||
$this->response->xml($this->buildFeedItems($events, $feedBuilder)->build());
|
||||
}
|
||||
|
||||
/**
|
||||
* Build feed items
|
||||
*
|
||||
* @access protected
|
||||
* @param array $events
|
||||
* @param FeedBuilder $feedBuilder
|
||||
* @return FeedBuilder
|
||||
*/
|
||||
protected function buildFeedItems(array $events, FeedBuilder $feedBuilder)
|
||||
{
|
||||
foreach ($events as $event) {
|
||||
$itemDate = new DateTime();
|
||||
$itemDate->setTimestamp($event['date_creation']);
|
||||
|
||||
$itemUrl = $this->helper->url->to('TaskViewController', 'show', array('task_id' => $event['task_id']), '', true);
|
||||
|
||||
$feedBuilder
|
||||
->withItem(AtomItemBuilder::create($feedBuilder)
|
||||
->withTitle($event['event_title'])
|
||||
->withUrl($itemUrl.'#event-'.$event['id'])
|
||||
->withAuthor($event['author'])
|
||||
->withPublishedDate($itemDate)
|
||||
->withUpdatedDate($itemDate)
|
||||
->withContent($event['event_content'])
|
||||
);
|
||||
}
|
||||
|
||||
return $feedBuilder;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ class ProjectPermissionController extends BaseController
|
|||
$values = $this->request->getValues();
|
||||
|
||||
if (empty($values['group_id']) && ! empty($values['external_id'])) {
|
||||
$values['group_id'] = $this->groupModel->create($values['name'], $values['external_id']);
|
||||
$values['group_id'] = $this->groupModel->getOrCreateExternalGroupId($values['name'], $values['external_id']);
|
||||
}
|
||||
|
||||
if ($this->projectGroupRoleModel->addGroup($project['id'], $values['group_id'], $values['role'])) {
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@ class SubtaskController extends BaseController
|
|||
$values = $this->request->getJson();
|
||||
|
||||
if (! empty($values) && $this->helper->user->hasProjectAccess('SubtaskController', 'movePosition', $project_id)) {
|
||||
$result = $this->subtaskModel->changePosition($task_id, $values['subtask_id'], $values['position']);
|
||||
$result = $this->subtaskPositionModel->changePosition($task_id, $values['subtask_id'], $values['position']);
|
||||
$this->response->json(array('result' => $result));
|
||||
} else {
|
||||
throw new AccessForbiddenException();
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class SubtaskConverterController extends BaseController
|
|||
$project = $this->getProject();
|
||||
$subtask = $this->getSubtask();
|
||||
|
||||
$task_id = $this->subtaskModel->convertToTask($project['id'], $subtask['id']);
|
||||
$task_id = $this->subtaskTaskConversionModel->convertToTask($project['id'], $subtask['id']);
|
||||
|
||||
if ($task_id !== false) {
|
||||
$this->flash->success(t('Subtask converted to task successfully.'));
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class SubtaskRestrictionController extends BaseController
|
|||
SubtaskModel::STATUS_TODO => t('Todo'),
|
||||
SubtaskModel::STATUS_DONE => t('Done'),
|
||||
),
|
||||
'subtask_inprogress' => $this->subtaskModel->getSubtaskInProgress($this->userSession->getId()),
|
||||
'subtask_inprogress' => $this->subtaskStatusModel->getSubtaskInProgress($this->userSession->getId()),
|
||||
'subtask' => $subtask,
|
||||
'task' => $task,
|
||||
)));
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class SubtaskStatusController extends BaseController
|
|||
$task = $this->getTask();
|
||||
$subtask = $this->getSubtask();
|
||||
|
||||
$status = $this->subtaskModel->toggleStatus($subtask['id']);
|
||||
$status = $this->subtaskStatusModel->toggleStatus($subtask['id']);
|
||||
|
||||
if ($this->request->getIntegerParam('refresh-table') === 0) {
|
||||
$subtask['status'] = $status;
|
||||
|
|
|
|||
|
|
@ -17,12 +17,7 @@ class UserListController extends BaseController
|
|||
*/
|
||||
public function show()
|
||||
{
|
||||
$paginator = $this->paginator
|
||||
->setUrl('UserListController', 'show')
|
||||
->setMax(30)
|
||||
->setOrder('username')
|
||||
->setQuery($this->userModel->getQuery())
|
||||
->calculate();
|
||||
$paginator = $this->userPagination->getListingPaginator();
|
||||
|
||||
$this->response->html($this->helper->layout->app('user_list/show', array(
|
||||
'title' => t('Users').' ('.$paginator->getTotal().')',
|
||||
|
|
|
|||
|
|
@ -90,6 +90,9 @@ use Pimple\Container;
|
|||
* @property \Kanboard\Model\ProjectTaskPriorityModel $projectTaskPriorityModel
|
||||
* @property \Kanboard\Model\RememberMeSessionModel $rememberMeSessionModel
|
||||
* @property \Kanboard\Model\SubtaskModel $subtaskModel
|
||||
* @property \Kanboard\Model\SubtaskPositionModel $subtaskPositionModel
|
||||
* @property \Kanboard\Model\SubtaskStatusModel $subtaskStatusModel
|
||||
* @property \Kanboard\Model\SubtaskTaskConversionModel $subtaskTaskConversionModel
|
||||
* @property \Kanboard\Model\SubtaskTimeTrackingModel $subtaskTimeTrackingModel
|
||||
* @property \Kanboard\Model\SwimlaneModel $swimlaneModel
|
||||
* @property \Kanboard\Model\TagDuplicationModel $tagDuplicationModel
|
||||
|
|
@ -119,6 +122,10 @@ use Pimple\Container;
|
|||
* @property \Kanboard\Model\UserNotificationFilterModel $userNotificationFilterModel
|
||||
* @property \Kanboard\Model\UserUnreadNotificationModel $userUnreadNotificationModel
|
||||
* @property \Kanboard\Model\UserMetadataModel $userMetadataModel
|
||||
* @property \Kanboard\Pagination\TaskPagination $taskPagination
|
||||
* @property \Kanboard\Pagination\SubtaskPagination $subtaskPagination
|
||||
* @property \Kanboard\Pagination\ProjectPagination $projectPagination
|
||||
* @property \Kanboard\Pagination\UserPagination $userPagination
|
||||
* @property \Kanboard\Validator\ActionValidator $actionValidator
|
||||
* @property \Kanboard\Validator\AuthValidator $authValidator
|
||||
* @property \Kanboard\Validator\ColumnValidator $columnValidator
|
||||
|
|
@ -150,6 +157,14 @@ use Pimple\Container;
|
|||
* @property \Kanboard\Core\Filter\QueryBuilder $taskQuery
|
||||
* @property \Kanboard\Core\Filter\LexerBuilder $taskLexer
|
||||
* @property \Kanboard\Core\Filter\LexerBuilder $projectActivityLexer
|
||||
* @property \Kanboard\Job\CommentEventJob $commentEventJob
|
||||
* @property \Kanboard\Job\SubtaskEventJob $subtaskEventJob
|
||||
* @property \Kanboard\Job\TaskEventJob $taskEventJob
|
||||
* @property \Kanboard\Job\TaskFileEventJob $taskFileEventJob
|
||||
* @property \Kanboard\Job\TaskLinkEventJob $taskLinkEventJob
|
||||
* @property \Kanboard\Job\ProjectFileEventJob $projectFileEventJob
|
||||
* @property \Kanboard\Job\NotificationJob $notificationJob
|
||||
* @property \Kanboard\Job\ProjectMetricJob $projectMetricJob
|
||||
* @property \Psr\Log\LoggerInterface $logger
|
||||
* @property \PicoDb\Database $db
|
||||
* @property \Symfony\Component\EventDispatcher\EventDispatcher $dispatcher
|
||||
|
|
@ -178,10 +193,10 @@ abstract class Base
|
|||
}
|
||||
|
||||
/**
|
||||
* Load automatically models
|
||||
* Load automatically dependencies
|
||||
*
|
||||
* @access public
|
||||
* @param string $name Model name
|
||||
* @param string $name Class name
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get($name)
|
||||
|
|
@ -199,7 +214,6 @@ abstract class Base
|
|||
*/
|
||||
public static function getInstance(Container $container)
|
||||
{
|
||||
$self = new static($container);
|
||||
return $self;
|
||||
return new static($container);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@ class LexerBuilder
|
|||
|
||||
foreach ($attributes as $attribute) {
|
||||
$this->filters[$attribute] = $filter;
|
||||
$this->lexer->addToken(sprintf("/^(%s:)/", $attribute), $attribute);
|
||||
$this->lexer->addToken(sprintf("/^(%s:)/i", $attribute), $attribute);
|
||||
|
||||
if ($default) {
|
||||
$this->lexer->setDefaultToken($attribute);
|
||||
|
|
|
|||
|
|
@ -301,6 +301,7 @@ class Request extends Base
|
|||
public function getIpAddress()
|
||||
{
|
||||
$keys = array(
|
||||
'HTTP_X_REAL_IP',
|
||||
'HTTP_CLIENT_IP',
|
||||
'HTTP_X_FORWARDED_FOR',
|
||||
'HTTP_X_FORWARDED',
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace Kanboard\Core\Queue;
|
||||
|
||||
use Exception;
|
||||
use Kanboard\Core\Base;
|
||||
use Kanboard\Job\BaseJob;
|
||||
use SimpleQueue\Job;
|
||||
|
|
@ -39,16 +40,23 @@ class JobHandler extends Base
|
|||
public function executeJob(Job $job)
|
||||
{
|
||||
$payload = $job->getBody();
|
||||
$className = $payload['class'];
|
||||
$this->memoryCache->flush();
|
||||
$this->prepareJobSession($payload['user_id']);
|
||||
|
||||
if (DEBUG) {
|
||||
$this->logger->debug(__METHOD__.' Received job => '.$className.' ('.getmypid().')');
|
||||
try {
|
||||
$className = $payload['class'];
|
||||
$this->memoryCache->flush();
|
||||
$this->prepareJobSession($payload['user_id']);
|
||||
|
||||
if (DEBUG) {
|
||||
$this->logger->debug(__METHOD__.' Received job => '.$className.' ('.getmypid().')');
|
||||
$this->logger->debug(__METHOD__.' => '.json_encode($payload));
|
||||
}
|
||||
|
||||
$worker = new $className($this->container);
|
||||
call_user_func_array(array($worker, 'execute'), $payload['params']);
|
||||
} catch (Exception $e) {
|
||||
$this->logger->error(__METHOD__.': Error during job execution: '.$e->getMessage());
|
||||
$this->logger->error(__METHOD__ .' => '.json_encode($payload));
|
||||
}
|
||||
|
||||
$worker = new $className($this->container);
|
||||
call_user_func_array(array($worker, 'execute'), $payload['params']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -42,9 +42,13 @@ class QueueManager extends Base
|
|||
*/
|
||||
public function push(BaseJob $job)
|
||||
{
|
||||
$jobClassName = get_class($job);
|
||||
|
||||
if ($this->queue !== null) {
|
||||
$this->logger->debug(__METHOD__.': Job pushed in queue: '.$jobClassName);
|
||||
$this->queue->push(JobHandler::getInstance($this->container)->serializeJob($job));
|
||||
} else {
|
||||
$this->logger->debug(__METHOD__.': Job executed synchronously: '.$jobClassName);
|
||||
call_user_func_array(array($job, 'execute'), $job->getJobParams());
|
||||
}
|
||||
|
||||
|
|
@ -60,7 +64,7 @@ class QueueManager extends Base
|
|||
public function listen()
|
||||
{
|
||||
if ($this->queue === null) {
|
||||
throw new LogicException('No Queue Driver defined!');
|
||||
throw new LogicException('No queue driver defined!');
|
||||
}
|
||||
|
||||
while ($job = $this->queue->pull()) {
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Event;
|
||||
|
||||
class FileEvent extends GenericEvent
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Event;
|
||||
|
||||
class ProjectFileEvent extends GenericEvent
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Event;
|
||||
|
||||
class TaskFileEvent extends GenericEvent
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\EventBuilder;
|
||||
|
||||
use Kanboard\Core\Base;
|
||||
use Kanboard\Event\GenericEvent;
|
||||
|
||||
/**
|
||||
* Class BaseEventBuilder
|
||||
*
|
||||
* @package Kanboard\EventBuilder
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
abstract class BaseEventBuilder extends Base
|
||||
{
|
||||
/**
|
||||
* Build event data
|
||||
*
|
||||
* @access public
|
||||
* @return GenericEvent|null
|
||||
*/
|
||||
abstract public function buildEvent();
|
||||
|
||||
/**
|
||||
* Get event title with author
|
||||
*
|
||||
* @access public
|
||||
* @param string $author
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
abstract public function buildTitleWithAuthor($author, $eventName, array $eventData);
|
||||
|
||||
/**
|
||||
* Get event title without author
|
||||
*
|
||||
* @access public
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
abstract public function buildTitleWithoutAuthor($eventName, array $eventData);
|
||||
}
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\EventBuilder;
|
||||
|
||||
use Kanboard\Event\CommentEvent;
|
||||
use Kanboard\Model\CommentModel;
|
||||
|
||||
/**
|
||||
* Class CommentEventBuilder
|
||||
*
|
||||
* @package Kanboard\EventBuilder
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class CommentEventBuilder extends BaseEventBuilder
|
||||
{
|
||||
protected $commentId = 0;
|
||||
|
||||
/**
|
||||
* Set commentId
|
||||
*
|
||||
* @param int $commentId
|
||||
* @return $this
|
||||
*/
|
||||
public function withCommentId($commentId)
|
||||
{
|
||||
$this->commentId = $commentId;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build event data
|
||||
*
|
||||
* @access public
|
||||
* @return CommentEvent|null
|
||||
*/
|
||||
public function buildEvent()
|
||||
{
|
||||
$comment = $this->commentModel->getById($this->commentId);
|
||||
|
||||
if (empty($comment)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return new CommentEvent(array(
|
||||
'comment' => $comment,
|
||||
'task' => $this->taskFinderModel->getDetails($comment['task_id']),
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title with author
|
||||
*
|
||||
* @access public
|
||||
* @param string $author
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithAuthor($author, $eventName, array $eventData)
|
||||
{
|
||||
switch ($eventName) {
|
||||
case CommentModel::EVENT_UPDATE:
|
||||
return e('%s updated a comment on the task #%d', $author, $eventData['task']['id']);
|
||||
case CommentModel::EVENT_CREATE:
|
||||
return e('%s commented on the task #%d', $author, $eventData['task']['id']);
|
||||
case CommentModel::EVENT_DELETE:
|
||||
return e('%s removed a comment on the task #%d', $author, $eventData['task']['id']);
|
||||
case CommentModel::EVENT_USER_MENTION:
|
||||
return e('%s mentioned you in a comment on the task #%d', $author, $eventData['task']['id']);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title without author
|
||||
*
|
||||
* @access public
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithoutAuthor($eventName, array $eventData)
|
||||
{
|
||||
switch ($eventName) {
|
||||
case CommentModel::EVENT_CREATE:
|
||||
return e('New comment on task #%d', $eventData['comment']['task_id']);
|
||||
case CommentModel::EVENT_UPDATE:
|
||||
return e('Comment updated on task #%d', $eventData['comment']['task_id']);
|
||||
case CommentModel::EVENT_DELETE:
|
||||
return e('Comment removed on task #%d', $eventData['comment']['task_id']);
|
||||
case CommentModel::EVENT_USER_MENTION:
|
||||
return e('You were mentioned in a comment on the task #%d', $eventData['task']['id']);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\EventBuilder;
|
||||
|
||||
use Iterator;
|
||||
|
||||
/**
|
||||
* Class EventIteratorBuilder
|
||||
*
|
||||
* @package Kanboard\EventBuilder
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class EventIteratorBuilder implements Iterator {
|
||||
private $position = 0;
|
||||
private $builders = array();
|
||||
|
||||
/**
|
||||
* Set builder
|
||||
*
|
||||
* @access public
|
||||
* @param BaseEventBuilder $builder
|
||||
* @return $this
|
||||
*/
|
||||
public function withBuilder(BaseEventBuilder $builder)
|
||||
{
|
||||
$this->builders[] = $builder;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function rewind() {
|
||||
$this->position = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return BaseEventBuilder
|
||||
*/
|
||||
public function current() {
|
||||
return $this->builders[$this->position];
|
||||
}
|
||||
|
||||
public function key() {
|
||||
return $this->position;
|
||||
}
|
||||
|
||||
public function next() {
|
||||
++$this->position;
|
||||
}
|
||||
|
||||
public function valid() {
|
||||
return isset($this->builders[$this->position]);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\EventBuilder;
|
||||
|
||||
use Kanboard\Event\ProjectFileEvent;
|
||||
use Kanboard\Event\GenericEvent;
|
||||
|
||||
/**
|
||||
* Class ProjectFileEventBuilder
|
||||
*
|
||||
* @package Kanboard\EventBuilder
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class ProjectFileEventBuilder extends BaseEventBuilder
|
||||
{
|
||||
protected $fileId = 0;
|
||||
|
||||
/**
|
||||
* Set fileId
|
||||
*
|
||||
* @param int $fileId
|
||||
* @return $this
|
||||
*/
|
||||
public function withFileId($fileId)
|
||||
{
|
||||
$this->fileId = $fileId;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build event data
|
||||
*
|
||||
* @access public
|
||||
* @return GenericEvent|null
|
||||
*/
|
||||
public function buildEvent()
|
||||
{
|
||||
$file = $this->projectFileModel->getById($this->fileId);
|
||||
|
||||
if (empty($file)) {
|
||||
$this->logger->debug(__METHOD__.': File not found');
|
||||
return null;
|
||||
}
|
||||
|
||||
return new ProjectFileEvent(array(
|
||||
'file' => $file,
|
||||
'project' => $this->projectModel->getById($file['project_id']),
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title with author
|
||||
*
|
||||
* @access public
|
||||
* @param string $author
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithAuthor($author, $eventName, array $eventData)
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title without author
|
||||
*
|
||||
* @access public
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithoutAuthor($eventName, array $eventData)
|
||||
{
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,125 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\EventBuilder;
|
||||
|
||||
use Kanboard\Event\SubtaskEvent;
|
||||
use Kanboard\Event\GenericEvent;
|
||||
use Kanboard\Model\SubtaskModel;
|
||||
|
||||
/**
|
||||
* Class SubtaskEventBuilder
|
||||
*
|
||||
* @package Kanboard\EventBuilder
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class SubtaskEventBuilder extends BaseEventBuilder
|
||||
{
|
||||
/**
|
||||
* SubtaskId
|
||||
*
|
||||
* @access protected
|
||||
* @var int
|
||||
*/
|
||||
protected $subtaskId = 0;
|
||||
|
||||
/**
|
||||
* Changed values
|
||||
*
|
||||
* @access protected
|
||||
* @var array
|
||||
*/
|
||||
protected $values = array();
|
||||
|
||||
/**
|
||||
* Set SubtaskId
|
||||
*
|
||||
* @param int $subtaskId
|
||||
* @return $this
|
||||
*/
|
||||
public function withSubtaskId($subtaskId)
|
||||
{
|
||||
$this->subtaskId = $subtaskId;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set values
|
||||
*
|
||||
* @param array $values
|
||||
* @return $this
|
||||
*/
|
||||
public function withValues(array $values)
|
||||
{
|
||||
$this->values = $values;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build event data
|
||||
*
|
||||
* @access public
|
||||
* @return GenericEvent|null
|
||||
*/
|
||||
public function buildEvent()
|
||||
{
|
||||
$eventData = array();
|
||||
$eventData['subtask'] = $this->subtaskModel->getById($this->subtaskId, true);
|
||||
|
||||
if (empty($eventData['subtask'])) {
|
||||
$this->logger->debug(__METHOD__.': Subtask not found');
|
||||
return null;
|
||||
}
|
||||
|
||||
if (! empty($this->values)) {
|
||||
$eventData['changes'] = array_diff_assoc($this->values, $eventData['subtask']);
|
||||
}
|
||||
|
||||
$eventData['task'] = $this->taskFinderModel->getDetails($eventData['subtask']['task_id']);
|
||||
return new SubtaskEvent($eventData);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title with author
|
||||
*
|
||||
* @access public
|
||||
* @param string $author
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithAuthor($author, $eventName, array $eventData)
|
||||
{
|
||||
switch ($eventName) {
|
||||
case SubtaskModel::EVENT_UPDATE:
|
||||
return e('%s updated a subtask for the task #%d', $author, $eventData['task']['id']);
|
||||
case SubtaskModel::EVENT_CREATE:
|
||||
return e('%s created a subtask for the task #%d', $author, $eventData['task']['id']);
|
||||
case SubtaskModel::EVENT_DELETE:
|
||||
return e('%s removed a subtask for the task #%d', $author, $eventData['task']['id']);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title without author
|
||||
*
|
||||
* @access public
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithoutAuthor($eventName, array $eventData)
|
||||
{
|
||||
switch ($eventName) {
|
||||
case SubtaskModel::EVENT_CREATE:
|
||||
return e('New subtask on task #%d', $eventData['subtask']['task_id']);
|
||||
case SubtaskModel::EVENT_UPDATE:
|
||||
return e('Subtask updated on task #%d', $eventData['subtask']['task_id']);
|
||||
case SubtaskModel::EVENT_DELETE:
|
||||
return e('Subtask removed on task #%d', $eventData['subtask']['task_id']);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,223 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\EventBuilder;
|
||||
|
||||
use Kanboard\Event\TaskEvent;
|
||||
use Kanboard\Model\TaskModel;
|
||||
|
||||
/**
|
||||
* Class TaskEventBuilder
|
||||
*
|
||||
* @package Kanboard\EventBuilder
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskEventBuilder extends BaseEventBuilder
|
||||
{
|
||||
/**
|
||||
* TaskId
|
||||
*
|
||||
* @access protected
|
||||
* @var int
|
||||
*/
|
||||
protected $taskId = 0;
|
||||
|
||||
/**
|
||||
* Task
|
||||
*
|
||||
* @access protected
|
||||
* @var array
|
||||
*/
|
||||
protected $task = array();
|
||||
|
||||
/**
|
||||
* Extra values
|
||||
*
|
||||
* @access protected
|
||||
* @var array
|
||||
*/
|
||||
protected $values = array();
|
||||
|
||||
/**
|
||||
* Changed values
|
||||
*
|
||||
* @access protected
|
||||
* @var array
|
||||
*/
|
||||
protected $changes = array();
|
||||
|
||||
/**
|
||||
* Set TaskId
|
||||
*
|
||||
* @param int $taskId
|
||||
* @return $this
|
||||
*/
|
||||
public function withTaskId($taskId)
|
||||
{
|
||||
$this->taskId = $taskId;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set task
|
||||
*
|
||||
* @param array $task
|
||||
* @return $this
|
||||
*/
|
||||
public function withTask(array $task)
|
||||
{
|
||||
$this->task = $task;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set values
|
||||
*
|
||||
* @param array $values
|
||||
* @return $this
|
||||
*/
|
||||
public function withValues(array $values)
|
||||
{
|
||||
$this->values = $values;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set changes
|
||||
*
|
||||
* @param array $changes
|
||||
* @return $this
|
||||
*/
|
||||
public function withChanges(array $changes)
|
||||
{
|
||||
$this->changes = $changes;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build event data
|
||||
*
|
||||
* @access public
|
||||
* @return TaskEvent|null
|
||||
*/
|
||||
public function buildEvent()
|
||||
{
|
||||
$eventData = array();
|
||||
$eventData['task_id'] = $this->taskId;
|
||||
$eventData['task'] = $this->taskFinderModel->getDetails($this->taskId);
|
||||
|
||||
if (empty($eventData['task'])) {
|
||||
$this->logger->debug(__METHOD__.': Task not found');
|
||||
return null;
|
||||
}
|
||||
|
||||
if (! empty($this->changes)) {
|
||||
if (empty($this->task)) {
|
||||
$this->task = $eventData['task'];
|
||||
}
|
||||
|
||||
$eventData['changes'] = array_diff_assoc($this->changes, $this->task);
|
||||
unset($eventData['changes']['date_modification']);
|
||||
}
|
||||
|
||||
return new TaskEvent(array_merge($eventData, $this->values));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title with author
|
||||
*
|
||||
* @access public
|
||||
* @param string $author
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithAuthor($author, $eventName, array $eventData)
|
||||
{
|
||||
switch ($eventName) {
|
||||
case TaskModel::EVENT_ASSIGNEE_CHANGE:
|
||||
$assignee = $eventData['task']['assignee_name'] ?: $eventData['task']['assignee_username'];
|
||||
|
||||
if (! empty($assignee)) {
|
||||
return e('%s changed the assignee of the task #%d to %s', $author, $eventData['task']['id'], $assignee);
|
||||
}
|
||||
|
||||
return e('%s removed the assignee of the task %s', $author, e('#%d', $eventData['task']['id']));
|
||||
case TaskModel::EVENT_UPDATE:
|
||||
return e('%s updated the task #%d', $author, $eventData['task']['id']);
|
||||
case TaskModel::EVENT_CREATE:
|
||||
return e('%s created the task #%d', $author, $eventData['task']['id']);
|
||||
case TaskModel::EVENT_CLOSE:
|
||||
return e('%s closed the task #%d', $author, $eventData['task']['id']);
|
||||
case TaskModel::EVENT_OPEN:
|
||||
return e('%s opened the task #%d', $author, $eventData['task']['id']);
|
||||
case TaskModel::EVENT_MOVE_COLUMN:
|
||||
return e(
|
||||
'%s moved the task #%d to the column "%s"',
|
||||
$author,
|
||||
$eventData['task']['id'],
|
||||
$eventData['task']['column_title']
|
||||
);
|
||||
case TaskModel::EVENT_MOVE_POSITION:
|
||||
return e(
|
||||
'%s moved the task #%d to the position %d in the column "%s"',
|
||||
$author,
|
||||
$eventData['task']['id'],
|
||||
$eventData['task']['position'],
|
||||
$eventData['task']['column_title']
|
||||
);
|
||||
case TaskModel::EVENT_MOVE_SWIMLANE:
|
||||
if ($eventData['task']['swimlane_id'] == 0) {
|
||||
return e('%s moved the task #%d to the first swimlane', $author, $eventData['task']['id']);
|
||||
}
|
||||
|
||||
return e(
|
||||
'%s moved the task #%d to the swimlane "%s"',
|
||||
$author,
|
||||
$eventData['task']['id'],
|
||||
$eventData['task']['swimlane_name']
|
||||
);
|
||||
|
||||
case TaskModel::EVENT_USER_MENTION:
|
||||
return e('%s mentioned you in the task #%d', $author, $eventData['task']['id']);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title without author
|
||||
*
|
||||
* @access public
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithoutAuthor($eventName, array $eventData)
|
||||
{
|
||||
switch ($eventName) {
|
||||
case TaskModel::EVENT_CREATE:
|
||||
return e('New task #%d: %s', $eventData['task']['id'], $eventData['task']['title']);
|
||||
case TaskModel::EVENT_UPDATE:
|
||||
return e('Task updated #%d', $eventData['task']['id']);
|
||||
case TaskModel::EVENT_CLOSE:
|
||||
return e('Task #%d closed', $eventData['task']['id']);
|
||||
case TaskModel::EVENT_OPEN:
|
||||
return e('Task #%d opened', $eventData['task']['id']);
|
||||
case TaskModel::EVENT_MOVE_COLUMN:
|
||||
return e('Column changed for task #%d', $eventData['task']['id']);
|
||||
case TaskModel::EVENT_MOVE_POSITION:
|
||||
return e('New position for task #%d', $eventData['task']['id']);
|
||||
case TaskModel::EVENT_MOVE_SWIMLANE:
|
||||
return e('Swimlane changed for task #%d', $eventData['task']['id']);
|
||||
case TaskModel::EVENT_ASSIGNEE_CHANGE:
|
||||
return e('Assignee changed on task #%d', $eventData['task']['id']);
|
||||
case TaskModel::EVENT_OVERDUE:
|
||||
$nb = count($eventData['tasks']);
|
||||
return $nb > 1 ? e('%d overdue tasks', $nb) : e('Task #%d is overdue', $eventData['tasks'][0]['id']);
|
||||
case TaskModel::EVENT_USER_MENTION:
|
||||
return e('You were mentioned in the task #%d', $eventData['task']['id']);
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\EventBuilder;
|
||||
|
||||
use Kanboard\Event\TaskFileEvent;
|
||||
use Kanboard\Event\GenericEvent;
|
||||
use Kanboard\Model\TaskFileModel;
|
||||
|
||||
/**
|
||||
* Class TaskFileEventBuilder
|
||||
*
|
||||
* @package Kanboard\EventBuilder
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskFileEventBuilder extends BaseEventBuilder
|
||||
{
|
||||
protected $fileId = 0;
|
||||
|
||||
/**
|
||||
* Set fileId
|
||||
*
|
||||
* @param int $fileId
|
||||
* @return $this
|
||||
*/
|
||||
public function withFileId($fileId)
|
||||
{
|
||||
$this->fileId = $fileId;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build event data
|
||||
*
|
||||
* @access public
|
||||
* @return GenericEvent|null
|
||||
*/
|
||||
public function buildEvent()
|
||||
{
|
||||
$file = $this->taskFileModel->getById($this->fileId);
|
||||
|
||||
if (empty($file)) {
|
||||
$this->logger->debug(__METHOD__.': File not found');
|
||||
return null;
|
||||
}
|
||||
|
||||
return new TaskFileEvent(array(
|
||||
'file' => $file,
|
||||
'task' => $this->taskFinderModel->getDetails($file['task_id']),
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title with author
|
||||
*
|
||||
* @access public
|
||||
* @param string $author
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithAuthor($author, $eventName, array $eventData)
|
||||
{
|
||||
if ($eventName === TaskFileModel::EVENT_CREATE) {
|
||||
return e('%s attached a file to the task #%d', $author, $eventData['task']['id']);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title without author
|
||||
*
|
||||
* @access public
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithoutAuthor($eventName, array $eventData)
|
||||
{
|
||||
if ($eventName === TaskFileModel::EVENT_CREATE) {
|
||||
return e('New attachment on task #%d: %s', $eventData['file']['task_id'], $eventData['file']['name']);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\EventBuilder;
|
||||
|
||||
use Kanboard\Event\TaskLinkEvent;
|
||||
use Kanboard\Model\TaskLinkModel;
|
||||
|
||||
/**
|
||||
* Class TaskLinkEventBuilder
|
||||
*
|
||||
* @package Kanboard\EventBuilder
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskLinkEventBuilder extends BaseEventBuilder
|
||||
{
|
||||
protected $taskLinkId = 0;
|
||||
|
||||
/**
|
||||
* Set taskLinkId
|
||||
*
|
||||
* @param int $taskLinkId
|
||||
* @return $this
|
||||
*/
|
||||
public function withTaskLinkId($taskLinkId)
|
||||
{
|
||||
$this->taskLinkId = $taskLinkId;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build event data
|
||||
*
|
||||
* @access public
|
||||
* @return TaskLinkEvent|null
|
||||
*/
|
||||
public function buildEvent()
|
||||
{
|
||||
$taskLink = $this->taskLinkModel->getById($this->taskLinkId);
|
||||
|
||||
if (empty($taskLink)) {
|
||||
$this->logger->debug(__METHOD__.': TaskLink not found');
|
||||
return null;
|
||||
}
|
||||
|
||||
return new TaskLinkEvent(array(
|
||||
'task_link' => $taskLink,
|
||||
'task' => $this->taskFinderModel->getDetails($taskLink['task_id']),
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title with author
|
||||
*
|
||||
* @access public
|
||||
* @param string $author
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithAuthor($author, $eventName, array $eventData)
|
||||
{
|
||||
if ($eventName === TaskLinkModel::EVENT_CREATE_UPDATE) {
|
||||
return e('%s set a new internal link for the task #%d', $author, $eventData['task']['id']);
|
||||
} elseif ($eventName === TaskLinkModel::EVENT_DELETE) {
|
||||
return e('%s removed an internal link for the task #%d', $author, $eventData['task']['id']);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event title without author
|
||||
*
|
||||
* @access public
|
||||
* @param string $eventName
|
||||
* @param array $eventData
|
||||
* @return string
|
||||
*/
|
||||
public function buildTitleWithoutAuthor($eventName, array $eventData)
|
||||
{
|
||||
if ($eventName === TaskLinkModel::EVENT_CREATE_UPDATE) {
|
||||
return e('A new internal link for the task #%d have been defined', $eventData['task']['id']);
|
||||
} elseif ($eventName === TaskLinkModel::EVENT_DELETE) {
|
||||
return e('Internal link removed for the task #%d', $eventData['task']['id']);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Filter;
|
||||
|
||||
use Kanboard\Core\Filter\FilterInterface;
|
||||
use Kanboard\Model\TaskModel;
|
||||
|
||||
/**
|
||||
* Class TaskPriorityFilter
|
||||
*
|
||||
* @package Kanboard\Filter
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskPriorityFilter extends BaseFilter implements FilterInterface
|
||||
{
|
||||
/**
|
||||
* Get search attribute
|
||||
*
|
||||
* @access public
|
||||
* @return string[]
|
||||
*/
|
||||
public function getAttributes()
|
||||
{
|
||||
return array('priority');
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply filter
|
||||
*
|
||||
* @access public
|
||||
* @return FilterInterface
|
||||
*/
|
||||
public function apply()
|
||||
{
|
||||
$this->query->eq(TaskModel::TABLE.'.priority', $this->value);
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
namespace Kanboard\Formatter;
|
||||
|
||||
use Kanboard\Core\Filter\FormatterInterface;
|
||||
use Kanboard\Model\ProjectModel;
|
||||
use Kanboard\Model\TaskModel;
|
||||
|
||||
/**
|
||||
|
|
@ -21,11 +22,15 @@ class TaskAutoCompleteFormatter extends BaseFormatter implements FormatterInterf
|
|||
*/
|
||||
public function format()
|
||||
{
|
||||
$tasks = $this->query->columns(TaskModel::TABLE.'.id', TaskModel::TABLE.'.title')->findAll();
|
||||
$tasks = $this->query->columns(
|
||||
TaskModel::TABLE.'.id',
|
||||
TaskModel::TABLE.'.title',
|
||||
ProjectModel::TABLE.'.name AS project_name'
|
||||
)->asc(TaskModel::TABLE.'.id')->findAll();
|
||||
|
||||
foreach ($tasks as &$task) {
|
||||
$task['value'] = $task['title'];
|
||||
$task['label'] = '#'.$task['id'].' - '.$task['title'];
|
||||
$task['label'] = $task['project_name'].' > #'.$task['id'].' '.$task['title'];
|
||||
}
|
||||
|
||||
return $tasks;
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ class HookHelper extends Base
|
|||
* @access public
|
||||
* @param string $hook
|
||||
* @param string $template
|
||||
* @return \Kanboard\Helper\Hook
|
||||
* @return $this
|
||||
*/
|
||||
public function attach($hook, $template)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -156,6 +156,10 @@ class LayoutHelper extends Base
|
|||
*/
|
||||
public function analytic($template, array $params)
|
||||
{
|
||||
if (isset($params['project']['name'])) {
|
||||
$params['title'] = $params['project']['name'].' > '.$params['title'];
|
||||
}
|
||||
|
||||
return $this->subLayout('analytic/layout', 'analytic/sidebar', $template, $params);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ class TaskHelper extends Base
|
|||
public function selectDescription(array $values, array $errors)
|
||||
{
|
||||
$html = $this->helper->form->label(t('Description'), 'description');
|
||||
$html .= '<div class="markdown-editor-container">';
|
||||
$html .= $this->helper->form->textarea(
|
||||
'description',
|
||||
$values,
|
||||
|
|
@ -62,6 +63,7 @@ class TaskHelper extends Base
|
|||
'markdown-editor'
|
||||
);
|
||||
|
||||
$html .= '</div>';
|
||||
return $html;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,8 @@ class UserHelper extends Base
|
|||
*/
|
||||
public function getFullname(array $user = array())
|
||||
{
|
||||
return $this->userModel->getFullname(empty($user) ? $this->userSession->getAll() : $user);
|
||||
$user = empty($user) ? $this->userSession->getAll() : $user;
|
||||
return $user['name'] ?: $user['username'];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Job;
|
||||
|
||||
use Kanboard\EventBuilder\CommentEventBuilder;
|
||||
use Kanboard\Model\CommentModel;
|
||||
|
||||
/**
|
||||
* Class CommentEventJob
|
||||
*
|
||||
* @package Kanboard\Job
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class CommentEventJob extends BaseJob
|
||||
{
|
||||
/**
|
||||
* Set job params
|
||||
*
|
||||
* @param int $commentId
|
||||
* @param string $eventName
|
||||
* @return $this
|
||||
*/
|
||||
public function withParams($commentId, $eventName)
|
||||
{
|
||||
$this->jobParams = array($commentId, $eventName);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute job
|
||||
*
|
||||
* @param int $commentId
|
||||
* @param string $eventName
|
||||
* @return $this
|
||||
*/
|
||||
public function execute($commentId, $eventName)
|
||||
{
|
||||
$event = CommentEventBuilder::getInstance($this->container)
|
||||
->withCommentId($commentId)
|
||||
->buildEvent();
|
||||
|
||||
if ($event !== null) {
|
||||
$this->dispatcher->dispatch($eventName, $event);
|
||||
|
||||
if ($eventName === CommentModel::EVENT_CREATE) {
|
||||
$this->userMentionModel->fireEvents($event['comment']['comment'], CommentModel::EVENT_USER_MENTION, $event);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -17,72 +17,27 @@ class NotificationJob extends BaseJob
|
|||
*
|
||||
* @param GenericEvent $event
|
||||
* @param string $eventName
|
||||
* @param string $eventObjectName
|
||||
* @return $this
|
||||
*/
|
||||
public function withParams(GenericEvent $event, $eventName, $eventObjectName)
|
||||
public function withParams(GenericEvent $event, $eventName)
|
||||
{
|
||||
$this->jobParams = array($event->getAll(), $eventName, $eventObjectName);
|
||||
$this->jobParams = array($event->getAll(), $eventName);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute job
|
||||
*
|
||||
* @param array $event
|
||||
* @param array $eventData
|
||||
* @param string $eventName
|
||||
* @param string $eventObjectName
|
||||
*/
|
||||
public function execute(array $event, $eventName, $eventObjectName)
|
||||
public function execute(array $eventData, $eventName)
|
||||
{
|
||||
$eventData = $this->getEventData($event, $eventObjectName);
|
||||
|
||||
if (! empty($eventData)) {
|
||||
if (! empty($event['mention'])) {
|
||||
$this->userNotificationModel->sendUserNotification($event['mention'], $eventName, $eventData);
|
||||
} else {
|
||||
$this->userNotificationModel->sendNotifications($eventName, $eventData);
|
||||
$this->projectNotificationModel->sendNotifications($eventData['task']['project_id'], $eventName, $eventData);
|
||||
}
|
||||
if (! empty($eventData['mention'])) {
|
||||
$this->userNotificationModel->sendUserNotification($eventData['mention'], $eventName, $eventData);
|
||||
} else {
|
||||
$this->userNotificationModel->sendNotifications($eventName, $eventData);
|
||||
$this->projectNotificationModel->sendNotifications($eventData['task']['project_id'], $eventName, $eventData);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get event data
|
||||
*
|
||||
* @param array $event
|
||||
* @param string $eventObjectName
|
||||
* @return array
|
||||
*/
|
||||
public function getEventData(array $event, $eventObjectName)
|
||||
{
|
||||
$values = array();
|
||||
|
||||
switch ($eventObjectName) {
|
||||
case 'Kanboard\Event\TaskEvent':
|
||||
$values['task'] = $this->taskFinderModel->getDetails($event['task_id']);
|
||||
break;
|
||||
case 'Kanboard\Event\SubtaskEvent':
|
||||
$values['subtask'] = $this->subtaskModel->getById($event['id'], true);
|
||||
$values['task'] = $this->taskFinderModel->getDetails($values['subtask']['task_id']);
|
||||
break;
|
||||
case 'Kanboard\Event\FileEvent':
|
||||
$values['file'] = $event;
|
||||
$values['task'] = $this->taskFinderModel->getDetails($values['file']['task_id']);
|
||||
break;
|
||||
case 'Kanboard\Event\CommentEvent':
|
||||
$values['comment'] = $this->commentModel->getById($event['id']);
|
||||
$values['task'] = $this->taskFinderModel->getDetails($values['comment']['task_id']);
|
||||
break;
|
||||
}
|
||||
|
||||
// Need to use an array filter to remove any unset/null values in $values. This can happen e.g.
|
||||
// when receiving an event for a task, but the task is already removed. This can happen when
|
||||
// using the Kanboard background worker thread.
|
||||
$values = array_filter($values);
|
||||
if (!empty($values) && !empty($event['changes'])) {
|
||||
$values['changes'] = $event['changes'];
|
||||
}
|
||||
return $values;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Job;
|
||||
|
||||
use Kanboard\EventBuilder\ProjectFileEventBuilder;
|
||||
|
||||
/**
|
||||
* Class ProjectFileEventJob
|
||||
*
|
||||
* @package Kanboard\Job
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class ProjectFileEventJob extends BaseJob
|
||||
{
|
||||
/**
|
||||
* Set job params
|
||||
*
|
||||
* @param int $fileId
|
||||
* @param string $eventName
|
||||
* @return $this
|
||||
*/
|
||||
public function withParams($fileId, $eventName)
|
||||
{
|
||||
$this->jobParams = array($fileId, $eventName);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute job
|
||||
*
|
||||
* @param int $fileId
|
||||
* @param string $eventName
|
||||
* @return $this
|
||||
*/
|
||||
public function execute($fileId, $eventName)
|
||||
{
|
||||
$event = ProjectFileEventBuilder::getInstance($this->container)
|
||||
->withFileId($fileId)
|
||||
->buildEvent();
|
||||
|
||||
if ($event !== null) {
|
||||
$this->dispatcher->dispatch($eventName, $event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Job;
|
||||
|
||||
use Kanboard\EventBuilder\SubtaskEventBuilder;
|
||||
|
||||
/**
|
||||
* Class SubtaskEventJob
|
||||
*
|
||||
* @package Kanboard\Job
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class SubtaskEventJob extends BaseJob
|
||||
{
|
||||
/**
|
||||
* Set job params
|
||||
*
|
||||
* @param int $subtaskId
|
||||
* @param string $eventName
|
||||
* @param array $values
|
||||
* @return $this
|
||||
*/
|
||||
public function withParams($subtaskId, $eventName, array $values = array())
|
||||
{
|
||||
$this->jobParams = array($subtaskId, $eventName, $values);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute job
|
||||
*
|
||||
* @param int $subtaskId
|
||||
* @param string $eventName
|
||||
* @param array $values
|
||||
* @return $this
|
||||
*/
|
||||
public function execute($subtaskId, $eventName, array $values = array())
|
||||
{
|
||||
$event = SubtaskEventBuilder::getInstance($this->container)
|
||||
->withSubtaskId($subtaskId)
|
||||
->withValues($values)
|
||||
->buildEvent();
|
||||
|
||||
if ($event !== null) {
|
||||
$this->dispatcher->dispatch($eventName, $event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Job;
|
||||
|
||||
use Kanboard\Event\TaskEvent;
|
||||
use Kanboard\EventBuilder\TaskEventBuilder;
|
||||
use Kanboard\Model\TaskModel;
|
||||
|
||||
/**
|
||||
* Class TaskEventJob
|
||||
*
|
||||
* @package Kanboard\Job
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskEventJob extends BaseJob
|
||||
{
|
||||
/**
|
||||
* Set job params
|
||||
*
|
||||
* @param int $taskId
|
||||
* @param array $eventNames
|
||||
* @param array $changes
|
||||
* @param array $values
|
||||
* @param array $task
|
||||
* @return $this
|
||||
*/
|
||||
public function withParams($taskId, array $eventNames, array $changes = array(), array $values = array(), array $task = array())
|
||||
{
|
||||
$this->jobParams = array($taskId, $eventNames, $changes, $values, $task);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute job
|
||||
*
|
||||
* @param int $taskId
|
||||
* @param array $eventNames
|
||||
* @param array $changes
|
||||
* @param array $values
|
||||
* @param array $task
|
||||
* @return $this
|
||||
*/
|
||||
public function execute($taskId, array $eventNames, array $changes = array(), array $values = array(), array $task = array())
|
||||
{
|
||||
$event = TaskEventBuilder::getInstance($this->container)
|
||||
->withTaskId($taskId)
|
||||
->withChanges($changes)
|
||||
->withValues($values)
|
||||
->withTask($task)
|
||||
->buildEvent();
|
||||
|
||||
if ($event !== null) {
|
||||
foreach ($eventNames as $eventName) {
|
||||
$this->fireEvent($eventName, $event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Trigger event
|
||||
*
|
||||
* @access protected
|
||||
* @param string $eventName
|
||||
* @param TaskEvent $event
|
||||
*/
|
||||
protected function fireEvent($eventName, TaskEvent $event)
|
||||
{
|
||||
$this->logger->debug(__METHOD__.' Event fired: '.$eventName);
|
||||
$this->dispatcher->dispatch($eventName, $event);
|
||||
|
||||
if ($eventName === TaskModel::EVENT_CREATE) {
|
||||
$this->userMentionModel->fireEvents($event['task']['description'], TaskModel::EVENT_USER_MENTION, $event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Job;
|
||||
|
||||
use Kanboard\EventBuilder\TaskFileEventBuilder;
|
||||
|
||||
/**
|
||||
* Class TaskFileEventJob
|
||||
*
|
||||
* @package Kanboard\Job
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskFileEventJob extends BaseJob
|
||||
{
|
||||
/**
|
||||
* Set job params
|
||||
*
|
||||
* @param int $fileId
|
||||
* @param string $eventName
|
||||
* @return $this
|
||||
*/
|
||||
public function withParams($fileId, $eventName)
|
||||
{
|
||||
$this->jobParams = array($fileId, $eventName);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute job
|
||||
*
|
||||
* @param int $fileId
|
||||
* @param string $eventName
|
||||
* @return $this
|
||||
*/
|
||||
public function execute($fileId, $eventName)
|
||||
{
|
||||
$event = TaskFileEventBuilder::getInstance($this->container)
|
||||
->withFileId($fileId)
|
||||
->buildEvent();
|
||||
|
||||
if ($event !== null) {
|
||||
$this->dispatcher->dispatch($eventName, $event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Job;
|
||||
|
||||
use Kanboard\EventBuilder\TaskLinkEventBuilder;
|
||||
|
||||
/**
|
||||
* Class TaskLinkEventJob
|
||||
*
|
||||
* @package Kanboard\Job
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskLinkEventJob extends BaseJob
|
||||
{
|
||||
/**
|
||||
* Set job params
|
||||
*
|
||||
* @param int $taskLinkId
|
||||
* @param string $eventName
|
||||
* @return $this
|
||||
*/
|
||||
public function withParams($taskLinkId, $eventName)
|
||||
{
|
||||
$this->jobParams = array($taskLinkId, $eventName);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute job
|
||||
*
|
||||
* @param int $taskLinkId
|
||||
* @param string $eventName
|
||||
* @return $this
|
||||
*/
|
||||
public function execute($taskLinkId, $eventName)
|
||||
{
|
||||
$event = TaskLinkEventBuilder::getInstance($this->container)
|
||||
->withTaskLinkId($taskLinkId)
|
||||
->buildEvent();
|
||||
|
||||
if ($event !== null) {
|
||||
$this->dispatcher->dispatch($eventName, $event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Prikaži drugi projekat',
|
||||
'Created by %s' => 'Kreirao %s',
|
||||
'Tasks Export' => 'Izvoz zadataka',
|
||||
'Tasks exportation for "%s"' => 'Izvoz zadataka za "%s"',
|
||||
'Start Date' => 'Početni datum',
|
||||
'End Date' => 'Datum završetka',
|
||||
'Execute' => 'Izvrši',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Novi pod-zadatak',
|
||||
'New attachment added "%s"' => 'Ubačen novi prilog "%s"',
|
||||
'New comment posted by %s' => '%s ostavio novi komentar',
|
||||
'New attachment' => 'Novi prilog',
|
||||
'New comment' => 'Novi komentar',
|
||||
'Comment updated' => 'Komentar ažuriran',
|
||||
'New subtask' => 'Novi pod-zadatak',
|
||||
'Subtask updated' => 'Pod-zadatak ažuriran',
|
||||
'Task updated' => 'Zadatak ažuriran',
|
||||
'Task closed' => 'Zadatak je zatvoren',
|
||||
'Task opened' => 'Zadatak je otvoren',
|
||||
'I want to receive notifications only for those projects:' => 'Želim obavještenja samo za ove projekte:',
|
||||
'view the task on Kanboard' => 'Pregledaj zadatke',
|
||||
'Public access' => 'Javni pristup',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s ažurirao zadatak #%d',
|
||||
'%s created the task #%d' => '%s kreirao zadatak #%d',
|
||||
'%s closed the task #%d' => '%s zatvorio zadatak #%d',
|
||||
'%s open the task #%d' => '%s otvorio zadatak #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s premjestio zadatak #%d u kolonu "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s premjestio zadatak #%d na poziciju %d u koloni "%s"',
|
||||
'%s opened the task #%d' => '%s otvorio zadatak #%d',
|
||||
'Activity' => 'Aktivnosti',
|
||||
'Default values are "%s"' => 'Podrazumijevane vrijednosti su: "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Podrazumijevane kolone za novi projekat (Odvojene zarezom)',
|
||||
'Task assignee change' => 'Promijena izvršioca zadatka',
|
||||
'%s change the assignee of the task #%d to %s' => '%s zamijeni izvršioca za zadatak #%d u %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s zamijeni izvršioca za zadatak #%d u %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s promijenio izvršioca za zadatak %s u %s',
|
||||
'New password for the user "%s"' => 'Nova šifra korisnika "%s"',
|
||||
'Choose an event' => 'Izaberi događaj',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Procenat',
|
||||
'Number of tasks' => 'Broj zadataka',
|
||||
'Task distribution' => 'Podjela zadataka',
|
||||
'Reportings' => 'Izveštaji',
|
||||
'Task repartition for "%s"' => 'Zaduženja zadataka za "%s"',
|
||||
'Analytics' => 'Analiza',
|
||||
'Subtask' => 'Pod-zadatak',
|
||||
'My subtasks' => 'Moji pod-zadaci',
|
||||
'User repartition' => 'Zaduženja korisnika',
|
||||
'User repartition for "%s"' => 'Zaduženja korisnika za "%s"',
|
||||
'Clone this project' => 'Kloniraj ovaj projekat',
|
||||
'Column removed successfully.' => 'Kolona uspješno uklonjena.',
|
||||
'Not enough data to show the graph.' => 'Nedovoljno podataka za prikaz na grafikonu.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Vrijednost mora biti broj',
|
||||
'Unable to create this task.' => 'Nije moguće kreirati zadatak.',
|
||||
'Cumulative flow diagram' => 'Zbirni dijagram toka',
|
||||
'Cumulative flow diagram for "%s"' => 'Zbirni dijagram toka za "%s"',
|
||||
'Daily project summary' => 'Zbirni pregled po danima',
|
||||
'Daily project summary export' => 'Izvoz zbirnog pregleda po danima',
|
||||
'Daily project summary export for "%s"' => 'Izvoz zbirnog pregleda po danima za "%s"',
|
||||
'Exports' => 'Izvozi',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Ovaj izvoz sadržava broj zadataka po koloni grupisanih po danima.',
|
||||
'Active swimlanes' => 'Aktivne swimline trake',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'ID pod-zadatka',
|
||||
'Subtasks' => 'Pod-zadaci',
|
||||
'Subtasks Export' => 'Izvoz pod-zadataka',
|
||||
'Subtasks exportation for "%s"' => 'Izvoz pod-zadataka za "%s"',
|
||||
'Task Title' => 'Naslov zadatka',
|
||||
'Untitled' => 'Bez naslova',
|
||||
'Application default' => 'Podrazumijevano od aplikacije',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Stopa valute je uspješno dodana.',
|
||||
'Unable to add this currency rate.' => 'Nemoguće dodati stopu valute.',
|
||||
'Webhook URL' => 'Webhook URL',
|
||||
'%s remove the assignee of the task %s' => '%s je uklonio izvršioca zadatka %s',
|
||||
'%s removed the assignee of the task %s' => '%s je uklonio izvršioca zadatka %s',
|
||||
'Enable Gravatar images' => 'Omogući Gravatar slike',
|
||||
'Information' => 'Informacije',
|
||||
'Check two factor authentication code' => 'Provjera faktor-dva autentifikacionog koda',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Testiraj svoj uređaj',
|
||||
'Assign a color when the task is moved to a specific column' => 'Dodijeli boju kada je zadatak pomjeren u odabranu kolonu',
|
||||
'%s via Kanboard' => '%s uz pomoć Kanboard-a',
|
||||
'Burndown chart for "%s"' => 'Grafikon izgaranja za "%s"',
|
||||
'Burndown chart' => 'Grafikon izgaranja',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Ovaj grafikon pokazuje kompleksnost zadatka u vremenu (Preostalo vremena)',
|
||||
'Screenshot taken %s' => 'Slika ekrana uzeta %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Pomjeri zadatak u drugu kolonu kada je kategorija promijenjena',
|
||||
'Send a task by email to someone' => 'Pošalji zadatak nekome emailom',
|
||||
'Reopen a task' => 'Ponovo otvori zadatak',
|
||||
'Column change' => 'Promijena kolone',
|
||||
'Position change' => 'Promjena pozicije',
|
||||
'Swimlane change' => 'Promjena swimline trake',
|
||||
'Assignee change' => 'Promijenjen izvršilac',
|
||||
'[%s] Overdue tasks' => '[%s] Zaostali zadaci',
|
||||
'Notification' => 'Obavještenja',
|
||||
'%s moved the task #%d to the first swimlane' => '%s je premjestio zadatak #%d u prvu swimline traku',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s je premjestio zadatak #%d u swimline traku "%s"',
|
||||
'Swimlane' => 'Swimline traka',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s je premjestio zadatak %s u prvi swimline traku',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Pretraga po kategoriji: ',
|
||||
'Search by description: ' => 'Pretraga po opisu: ',
|
||||
'Search by due date: ' => 'Pretraga po datumu završetka: ',
|
||||
'Lead and Cycle time for "%s"' => 'Vrijeme upravljanje i vremenski ciklus za "%s"',
|
||||
'Average time spent into each column for "%s"' => 'Prosjek utrošenog vremena u svakoj koloni za "%s"',
|
||||
'Average time spent into each column' => 'Prosjek utrošenog vrmena u svakoj koloni',
|
||||
'Average time spent' => 'Prosjek utrošenog vremena',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Ovaj grafik pokazuje prosjek utrošenog vremena u svakoj koloni za posljednjih %d zadataka.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Licenca:',
|
||||
'License' => 'Licenca',
|
||||
'Enter the text below' => 'Unesi tekst ispod',
|
||||
'Gantt chart for %s' => 'Gantogram za %s',
|
||||
'Sort by position' => 'Sortiraj po poziciji',
|
||||
'Sort by date' => 'Sortiraj po datumu',
|
||||
'Add task' => 'Dodaj zadatak',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
'Version' => 'Verzija',
|
||||
'Plugins' => 'Dodaci',
|
||||
'There is no plugin loaded.' => 'Nema učitanih dodataka.',
|
||||
'Set maximum column height' => 'Postavi maksimalnu visinu kolone',
|
||||
'Remove maximum column height' => 'Ukloni maksimalnu visinu kolone',
|
||||
'My notifications' => 'Moja obavještenja',
|
||||
'Custom filters' => 'Prilagođeni filteri',
|
||||
'Your custom filter have been created successfully.' => 'Tvoj prilagođeni filter je uspješno napravljen.',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
'Invalid captcha' => 'Pogrešna captcha',
|
||||
'The name must be unique' => 'Ime mora biti jedinstveno',
|
||||
'View all groups' => 'Pregledaj sve grupe',
|
||||
'View group members' => 'Pregledaj članove grupe',
|
||||
'There is no user available.' => 'Trenutno nema dostupnih korisnika.',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => 'Da li zaista želiš ukloniti korisnika "%s" iz grupe "%s"?',
|
||||
'There is no group.' => 'Trenutno nema grupa.',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
'Enter group name...' => 'Unesi ime grupe...',
|
||||
'Role:' => 'Uloga:',
|
||||
'Project members' => 'Članovi projekta',
|
||||
'Compare hours for "%s"' => 'Poredi sate za "%s"',
|
||||
'%s mentioned you in the task #%d' => '%s te spomenuo u zadatku #%d',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s te spomenuo u komentaru zadatka #%d',
|
||||
'You were mentioned in the task #%d' => 'Spomenut si u zadatku #%d',
|
||||
'You were mentioned in a comment on the task #%d' => 'Spomenut si u komentaru zadatka #%d',
|
||||
'Mentioned' => 'Spominjanja',
|
||||
'Compare Estimated Time vs Actual Time' => 'Poređenje očekivanog i aktuelnog vremena',
|
||||
'Estimated hours: ' => 'Očekivani sati:',
|
||||
'Actual hours: ' => 'Aktuelni sati:',
|
||||
'Hours Spent' => 'Utrošeni sati:',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Zobrazit jiný projekt',
|
||||
'Created by %s' => 'Vytvořeno uživatelem %s',
|
||||
'Tasks Export' => 'Export úkolů',
|
||||
'Tasks exportation for "%s"' => 'Export úkolů pro "%s"',
|
||||
'Start Date' => 'Počáteční datum',
|
||||
'End Date' => 'Konečné datum',
|
||||
'Execute' => 'Spustit',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Nový dílčí úkol',
|
||||
'New attachment added "%s"' => 'Byla přidána nová příloha "%s".',
|
||||
'New comment posted by %s' => 'Nový komentář publikovaný uživatelem %s',
|
||||
'New attachment' => 'Nová příloha',
|
||||
'New comment' => 'Nový komentář',
|
||||
'Comment updated' => 'Komentář byl aktualizován.',
|
||||
'New subtask' => 'Nový dílčí úkol',
|
||||
'Subtask updated' => 'Dílčí úkol byl aktualizován',
|
||||
'Task updated' => 'Úkol byl aktualizován',
|
||||
'Task closed' => 'Úkol byl uzavřen',
|
||||
'Task opened' => 'Úkol byl otevřen',
|
||||
'I want to receive notifications only for those projects:' => 'Přeji si dostávat upozornění pouze pro následující projekty:',
|
||||
'view the task on Kanboard' => 'Zobrazit úkol na Kanboard',
|
||||
'Public access' => 'Veřejný přístup',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s aktualizoval úkol #%d ',
|
||||
'%s created the task #%d' => '%s vytvořil úkol #%d ',
|
||||
'%s closed the task #%d' => '%s uzavřel úkol #%d ',
|
||||
'%s open the task #%d' => '%s znovu otevřel úkol #%d ',
|
||||
'%s moved the task #%d to the column "%s"' => '%s přesunul úkol #%d do sloupce "%s" ',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s přesunul úkol #%d na pozici %d ve sloupci "%s" ',
|
||||
'%s opened the task #%d' => '%s znovu otevřel úkol #%d ',
|
||||
'Activity' => 'Aktivity',
|
||||
'Default values are "%s"' => 'Standardní hodnoty jsou: "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Výchozí sloupce pro nové projekty (odděleny čárkou)',
|
||||
'Task assignee change' => 'Změna přiřazení uživatelů',
|
||||
'%s change the assignee of the task #%d to %s' => '%s změnil přidělení úkolu #%d na uživatele %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s změnil přidělení úkolu #%d na uživatele %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s změnil přidělení úkolu %s na uživatele %s',
|
||||
'New password for the user "%s"' => 'Nové heslo pro uživatele "%s"',
|
||||
'Choose an event' => 'Vybrat událost',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Procenta',
|
||||
'Number of tasks' => 'Počet úkolů',
|
||||
'Task distribution' => 'Rozdělení úkolů',
|
||||
'Reportings' => 'Reporty',
|
||||
'Task repartition for "%s"' => 'Rozdělení úkolů pro "%s"',
|
||||
'Analytics' => 'Analýza',
|
||||
'Subtask' => 'Dílčí úkoly',
|
||||
'My subtasks' => 'Moje dílčí úkoly',
|
||||
'User repartition' => 'Rozdělení podle uživatelů',
|
||||
'User repartition for "%s"' => 'Rozdělení podle uživatelů pro "%s"',
|
||||
'Clone this project' => 'Duplokovat projekt',
|
||||
'Column removed successfully.' => 'Sloupec byl odstraněn.',
|
||||
'Not enough data to show the graph.' => 'Pro zobrazení grafu není dostatek dat.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Hodnota musí být číselná',
|
||||
'Unable to create this task.' => 'Nelze vytvořit tento úkol',
|
||||
'Cumulative flow diagram' => 'Kumulativní diagram',
|
||||
'Cumulative flow diagram for "%s"' => 'Kumulativní diagram pro "%s"',
|
||||
'Daily project summary' => 'Denní přehledy',
|
||||
'Daily project summary export' => 'Export denních přehledů',
|
||||
'Daily project summary export for "%s"' => 'Export denních přehledů pro "%s"',
|
||||
'Exports' => 'Exporty',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Tento export obsahuje počet úkolů pro jednotlivé sloupce seskupených podle dní.',
|
||||
'Active swimlanes' => 'Aktivní dráhy',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Dílčí úkol Id',
|
||||
'Subtasks' => 'Dílčí úkoly',
|
||||
'Subtasks Export' => 'Export dílčích úkolů',
|
||||
'Subtasks exportation for "%s"' => 'Export dílčích úkolů pro "%s"',
|
||||
'Task Title' => 'Název úkolu',
|
||||
'Untitled' => 'bez názvu',
|
||||
'Application default' => 'Standardní hodnoty',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Směnný kurz byl úspěšně přidán.',
|
||||
'Unable to add this currency rate.' => 'Nelze přidat tento směnný kurz',
|
||||
'Webhook URL' => 'Webhook URL',
|
||||
'%s remove the assignee of the task %s' => '%s odstranil přiřazení úkolu %s ',
|
||||
'%s removed the assignee of the task %s' => '%s odstranil přiřazení úkolu %s ',
|
||||
'Enable Gravatar images' => 'Aktiviere Gravatar Bilder',
|
||||
'Information' => 'Informace',
|
||||
'Check two factor authentication code' => 'Zkontrolujte dvouúrovňový autentifikační klíč',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Test Vašeho zařízení',
|
||||
'Assign a color when the task is moved to a specific column' => 'Přiřadit barvu, když je úkol přesunut do konkrétního sloupce',
|
||||
'%s via Kanboard' => '%s via Kanboard',
|
||||
'Burndown chart for "%s"' => 'Burndown-Chart pro "%s"',
|
||||
'Burndown chart' => 'Burndown-Chart',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Graf zobrazuje složitost úkolů v čase (Zbývající práce).',
|
||||
'Screenshot taken %s' => 'Screenshot aufgenommen %s ',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Přesun úkolu do jiného sloupce když je změněna kategorie',
|
||||
'Send a task by email to someone' => 'Poslat někomu úkol poštou',
|
||||
'Reopen a task' => 'Znovu otevřít úkol',
|
||||
'Column change' => 'Změna sloupce',
|
||||
'Position change' => 'Změna pozice',
|
||||
'Swimlane change' => 'Změna dráhy',
|
||||
'Assignee change' => 'Změna přidělení',
|
||||
'[%s] Overdue tasks' => '[%s] přetažených úkolů',
|
||||
'Notification' => 'Upozornění',
|
||||
'%s moved the task #%d to the first swimlane' => '%s přesunul úkol #%d do první dráhy',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s přesunul úkol #%d do dráhy "%s"',
|
||||
// 'Swimlane' => '',
|
||||
// 'Gravatar' => '',
|
||||
'%s moved the task %s to the first swimlane' => '%s přesunul úkol %s do první dráhy',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Hledat podle kategorie: ',
|
||||
'Search by description: ' => 'Hledat podle popisu: ',
|
||||
'Search by due date: ' => 'Hledat podle termínu: ',
|
||||
'Lead and Cycle time for "%s"' => 'Dodací lhůta a doba cyklu pro "%s"',
|
||||
'Average time spent into each column for "%s"' => 'Průměrná doba strávená v každé fázi pro "%s"',
|
||||
'Average time spent into each column' => 'Průměrná doba strávená v každé fázi',
|
||||
'Average time spent' => 'Průměrná strávená doba',
|
||||
// 'This chart show the average time spent into each column for the last %d tasks.' => '',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Licence:',
|
||||
'License' => 'Licence',
|
||||
'Enter the text below' => 'Zadejte text níže',
|
||||
'Gantt chart for %s' => 'Gantt graf pro %s',
|
||||
'Sort by position' => 'Třídit podle pozice',
|
||||
'Sort by date' => 'Třídit podle datumu',
|
||||
'Add task' => 'Přidat úkol',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
// 'Version' => '',
|
||||
// 'Plugins' => '',
|
||||
// 'There is no plugin loaded.' => '',
|
||||
// 'Set maximum column height' => '',
|
||||
// 'Remove maximum column height' => '',
|
||||
// 'My notifications' => '',
|
||||
// 'Custom filters' => '',
|
||||
// 'Your custom filter have been created successfully.' => '',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
// 'The name must be unique' => '',
|
||||
// 'View all groups' => '',
|
||||
// 'View group members' => '',
|
||||
// 'There is no user available.' => '',
|
||||
// 'Do you really want to remove the user "%s" from the group "%s"?' => '',
|
||||
// 'There is no group.' => '',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
// 'Enter group name...' => '',
|
||||
// 'Role:' => '',
|
||||
// 'Project members' => '',
|
||||
// 'Compare hours for "%s"' => '',
|
||||
// '%s mentioned you in the task #%d' => '',
|
||||
// '%s mentioned you in a comment on the task #%d' => '',
|
||||
// 'You were mentioned in the task #%d' => '',
|
||||
// 'You were mentioned in a comment on the task #%d' => '',
|
||||
// 'Mentioned' => '',
|
||||
// 'Compare Estimated Time vs Actual Time' => '',
|
||||
// 'Estimated hours: ' => '',
|
||||
// 'Actual hours: ' => '',
|
||||
// 'Hours Spent' => '',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Vis et andet projekt...',
|
||||
'Created by %s' => 'Oprettet af %s',
|
||||
'Tasks Export' => 'Opgave eksport',
|
||||
'Tasks exportation for "%s"' => 'Opgave eksport for "%s"',
|
||||
'Start Date' => 'Start-dato',
|
||||
'End Date' => 'Slut-dato',
|
||||
'Execute' => 'Udfør',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Ny under-opgave',
|
||||
'New attachment added "%s"' => 'Ny vedhæftning tilføjet "%s"',
|
||||
'New comment posted by %s' => 'Ny kommentar af %s',
|
||||
// 'New attachment' => '',
|
||||
// 'New comment' => '',
|
||||
'Comment updated' => 'Kommentar opdateret',
|
||||
// 'New subtask' => '',
|
||||
// 'Subtask updated' => '',
|
||||
// 'Task updated' => '',
|
||||
// 'Task closed' => '',
|
||||
// 'Task opened' => '',
|
||||
'I want to receive notifications only for those projects:' => 'Jeg vil kun have notifikationer for disse projekter:',
|
||||
'view the task on Kanboard' => 'se opgaven på Kanboard',
|
||||
'Public access' => 'Offentlig adgang',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s opdaterede opgaven #%d',
|
||||
'%s created the task #%d' => '%s oprettede opgaven #%d',
|
||||
'%s closed the task #%d' => '%s lukkede opgaven #%d',
|
||||
'%s open the task #%d' => '%s åbnede opgaven #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s flyttede opgaven #%d til kolonnen "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s flyttede opgaven #%d til position %d i kolonnen "%s"',
|
||||
'%s opened the task #%d' => '%s åbnede opgaven #%d',
|
||||
'Activity' => 'Aktivitet',
|
||||
'Default values are "%s"' => 'Standard værdier er "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Standard kolonne for nye projekter (kommasepareret)',
|
||||
'Task assignee change' => 'Opgaven ansvarlig ændring',
|
||||
'%s change the assignee of the task #%d to %s' => '%s skrift ansvarlig for opgaven #%d til %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s skrift ansvarlig for opgaven #%d til %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s skift ansvarlig for opgaven %s til %s',
|
||||
'New password for the user "%s"' => 'Ny adgangskode for brugeren "%s"',
|
||||
'Choose an event' => 'Vælg et event',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
// 'Percentage' => '',
|
||||
// 'Number of tasks' => '',
|
||||
// 'Task distribution' => '',
|
||||
// 'Reportings' => '',
|
||||
// 'Task repartition for "%s"' => '',
|
||||
// 'Analytics' => '',
|
||||
// 'Subtask' => '',
|
||||
// 'My subtasks' => '',
|
||||
// 'User repartition' => '',
|
||||
// 'User repartition for "%s"' => '',
|
||||
// 'Clone this project' => '',
|
||||
// 'Column removed successfully.' => '',
|
||||
// 'Not enough data to show the graph.' => '',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
// 'This value must be numeric' => '',
|
||||
// 'Unable to create this task.' => '',
|
||||
// 'Cumulative flow diagram' => '',
|
||||
// 'Cumulative flow diagram for "%s"' => '',
|
||||
// 'Daily project summary' => '',
|
||||
// 'Daily project summary export' => '',
|
||||
// 'Daily project summary export for "%s"' => '',
|
||||
// 'Exports' => '',
|
||||
// 'This export contains the number of tasks per column grouped per day.' => '',
|
||||
// 'Active swimlanes' => '',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
// 'Subtask Id' => '',
|
||||
// 'Subtasks' => '',
|
||||
// 'Subtasks Export' => '',
|
||||
// 'Subtasks exportation for "%s"' => '',
|
||||
// 'Task Title' => '',
|
||||
// 'Untitled' => '',
|
||||
// 'Application default' => '',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
// 'The currency rate have been added successfully.' => '',
|
||||
// 'Unable to add this currency rate.' => '',
|
||||
// 'Webhook URL' => '',
|
||||
// '%s remove the assignee of the task %s' => '',
|
||||
// '%s removed the assignee of the task %s' => '',
|
||||
// 'Enable Gravatar images' => '',
|
||||
// 'Information' => '',
|
||||
// 'Check two factor authentication code' => '',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
// 'Test your device' => '',
|
||||
// 'Assign a color when the task is moved to a specific column' => '',
|
||||
// '%s via Kanboard' => '',
|
||||
// 'Burndown chart for "%s"' => '',
|
||||
// 'Burndown chart' => '',
|
||||
// 'This chart show the task complexity over the time (Work Remaining).' => '',
|
||||
// 'Screenshot taken %s' => '',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
// 'Move the task to another column when the category is changed' => '',
|
||||
// 'Send a task by email to someone' => '',
|
||||
// 'Reopen a task' => '',
|
||||
// 'Column change' => '',
|
||||
// 'Position change' => '',
|
||||
// 'Swimlane change' => '',
|
||||
// 'Assignee change' => '',
|
||||
// '[%s] Overdue tasks' => '',
|
||||
// 'Notification' => '',
|
||||
// '%s moved the task #%d to the first swimlane' => '',
|
||||
// '%s moved the task #%d to the swimlane "%s"' => '',
|
||||
// 'Swimlane' => '',
|
||||
// 'Gravatar' => '',
|
||||
// '%s moved the task %s to the first swimlane' => '',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
// 'Search by category: ' => '',
|
||||
// 'Search by description: ' => '',
|
||||
// 'Search by due date: ' => '',
|
||||
// 'Lead and Cycle time for "%s"' => '',
|
||||
// 'Average time spent into each column for "%s"' => '',
|
||||
// 'Average time spent into each column' => '',
|
||||
// 'Average time spent' => '',
|
||||
// 'This chart show the average time spent into each column for the last %d tasks.' => '',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
// 'License:' => '',
|
||||
// 'License' => '',
|
||||
// 'Enter the text below' => '',
|
||||
// 'Gantt chart for %s' => '',
|
||||
// 'Sort by position' => '',
|
||||
// 'Sort by date' => '',
|
||||
// 'Add task' => '',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
// 'Version' => '',
|
||||
// 'Plugins' => '',
|
||||
// 'There is no plugin loaded.' => '',
|
||||
// 'Set maximum column height' => '',
|
||||
// 'Remove maximum column height' => '',
|
||||
// 'My notifications' => '',
|
||||
// 'Custom filters' => '',
|
||||
// 'Your custom filter have been created successfully.' => '',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
// 'The name must be unique' => '',
|
||||
// 'View all groups' => '',
|
||||
// 'View group members' => '',
|
||||
// 'There is no user available.' => '',
|
||||
// 'Do you really want to remove the user "%s" from the group "%s"?' => '',
|
||||
// 'There is no group.' => '',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
// 'Enter group name...' => '',
|
||||
// 'Role:' => '',
|
||||
// 'Project members' => '',
|
||||
// 'Compare hours for "%s"' => '',
|
||||
// '%s mentioned you in the task #%d' => '',
|
||||
// '%s mentioned you in a comment on the task #%d' => '',
|
||||
// 'You were mentioned in the task #%d' => '',
|
||||
// 'You were mentioned in a comment on the task #%d' => '',
|
||||
// 'Mentioned' => '',
|
||||
// 'Compare Estimated Time vs Actual Time' => '',
|
||||
// 'Estimated hours: ' => '',
|
||||
// 'Actual hours: ' => '',
|
||||
// 'Hours Spent' => '',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Zu Projekt wechseln',
|
||||
'Created by %s' => 'Erstellt durch %s',
|
||||
'Tasks Export' => 'Aufgaben exportieren',
|
||||
'Tasks exportation for "%s"' => 'Aufgaben exportieren für "%s"',
|
||||
'Start Date' => 'Anfangsdatum',
|
||||
'End Date' => 'Enddatum',
|
||||
'Execute' => 'Ausführen',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Neue Teilaufgabe',
|
||||
'New attachment added "%s"' => 'Neuer Anhang "%s" wurde hinzugefügt.',
|
||||
'New comment posted by %s' => 'Neuer Kommentar verfasst durch %s',
|
||||
'New attachment' => 'Neuer Anhang',
|
||||
'New comment' => 'Neuer Kommentar',
|
||||
'Comment updated' => 'Kommentar wurde aktualisiert',
|
||||
'New subtask' => 'Neue Teilaufgabe',
|
||||
'Subtask updated' => 'Teilaufgabe aktualisiert',
|
||||
'Task updated' => 'Aufgabe aktualisiert',
|
||||
'Task closed' => 'Aufgabe geschlossen',
|
||||
'Task opened' => 'Aufgabe geöffnet',
|
||||
'I want to receive notifications only for those projects:' => 'Ich möchte nur für diese Projekte Benachrichtigungen erhalten:',
|
||||
'view the task on Kanboard' => 'diese Aufgabe auf dem Kanboard zeigen',
|
||||
'Public access' => 'Öffentlicher Zugriff',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s hat die Aufgabe #%d aktualisiert',
|
||||
'%s created the task #%d' => '%s hat die Aufgabe #%d angelegt',
|
||||
'%s closed the task #%d' => '%s hat die Aufgabe #%d geschlossen',
|
||||
'%s open the task #%d' => '%s hat die Aufgabe #%d geöffnet',
|
||||
'%s moved the task #%d to the column "%s"' => '%s hat die Aufgabe #%d in die Spalte "%s" verschoben',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s hat die Aufgabe #%d an die Position %d in der Spalte "%s" verschoben',
|
||||
'%s opened the task #%d' => '%s hat die Aufgabe #%d geöffnet',
|
||||
'Activity' => 'Aktivität',
|
||||
'Default values are "%s"' => 'Die Standardwerte sind "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Standardspalten für neue Projekte (komma-getrennt)',
|
||||
'Task assignee change' => 'Zuständigkeit geändert',
|
||||
'%s change the assignee of the task #%d to %s' => '%s hat die Zusständigkeit der Aufgabe #%d geändert um %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s hat die Zusständigkeit der Aufgabe #%d geändert um %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s hat die Zuständigkeit der Aufgabe %s geändert um %s',
|
||||
'New password for the user "%s"' => 'Neues Passwort des Benutzers "%s"',
|
||||
'Choose an event' => 'Aktion wählen',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Prozentsatz',
|
||||
'Number of tasks' => 'Anzahl an Aufgaben',
|
||||
'Task distribution' => 'Aufgabenverteilung',
|
||||
'Reportings' => 'Berichte',
|
||||
'Task repartition for "%s"' => 'Aufgabenzuweisung für "%s"',
|
||||
'Analytics' => 'Analyse',
|
||||
'Subtask' => 'Teilaufgabe',
|
||||
'My subtasks' => 'Meine Teilaufgaben',
|
||||
'User repartition' => 'Benutzerverteilung',
|
||||
'User repartition for "%s"' => 'Benutzerverteilung für "%s"',
|
||||
'Clone this project' => 'Projekt kopieren',
|
||||
'Column removed successfully.' => 'Spalte erfolgreich entfernt.',
|
||||
'Not enough data to show the graph.' => 'Nicht genügend Daten, um die Grafik zu zeigen.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Dieser Wert muss nummerisch sein',
|
||||
'Unable to create this task.' => 'Diese Aufgabe kann nicht erstellt werden',
|
||||
'Cumulative flow diagram' => 'Kumulatives Flussdiagramm',
|
||||
'Cumulative flow diagram for "%s"' => 'Kumulatives Flussdiagramm für "%s"',
|
||||
'Daily project summary' => 'Tägliche Projektzusammenfassung',
|
||||
'Daily project summary export' => 'Export der täglichen Projektzusammenfassung',
|
||||
'Daily project summary export for "%s"' => 'Export der täglichen Projektzusammenfassung für "%s"',
|
||||
'Exports' => 'Exporte',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Dieser Export enthält die Anzahl der Aufgaben pro Spalte nach Tagen gruppiert.',
|
||||
'Active swimlanes' => 'Aktive Swimlane',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Teilaufgaben-ID',
|
||||
'Subtasks' => 'Teilaufgaben',
|
||||
'Subtasks Export' => 'Export von Teilaufgaben',
|
||||
'Subtasks exportation for "%s"' => 'Export von Teilaufgaben für "%s"',
|
||||
'Task Title' => 'Aufgaben-Titel',
|
||||
'Untitled' => 'unbetitelt',
|
||||
'Application default' => 'Anwendungsstandard',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Der Währungskurs wurde erfolgreich hinzugefügt.',
|
||||
'Unable to add this currency rate.' => 'Währungskurs konnte nicht hinzugefügt werden',
|
||||
'Webhook URL' => 'Webhook-URL',
|
||||
'%s remove the assignee of the task %s' => '%s Zuordnung für die Aufgabe %s entfernen',
|
||||
'%s removed the assignee of the task %s' => '%s Zuordnung für die Aufgabe %s entfernen',
|
||||
'Enable Gravatar images' => 'Aktiviere Gravatar-Bilder',
|
||||
'Information' => 'Information',
|
||||
'Check two factor authentication code' => 'Prüfe Zwei-Faktor-Authentifizierungscode',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Teste dein Gerät',
|
||||
'Assign a color when the task is moved to a specific column' => 'Weise eine Farbe zu, wenn die Aufgabe zu einer bestimmten Spalte bewegt wird',
|
||||
'%s via Kanboard' => '%s via Kanboard',
|
||||
'Burndown chart for "%s"' => 'Burndown-Diagramm für "%s"',
|
||||
'Burndown chart' => 'Burndown-Diagramm',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Dieses Diagramm zeigt die Aufgabenkomplexität über den Faktor Zeit (Verbleibende Arbeit).',
|
||||
'Screenshot taken %s' => 'Screenshot aufgenommen %s ',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Aufgabe in andere Spalte verschieben, wenn Kategorie geändert wird',
|
||||
'Send a task by email to someone' => 'Aufgabe per E-Mail versenden',
|
||||
'Reopen a task' => 'Aufgabe wieder öffnen',
|
||||
'Column change' => 'Spalte geändert',
|
||||
'Position change' => 'Position geändert',
|
||||
'Swimlane change' => 'Swimlane geändert',
|
||||
'Assignee change' => 'Zuordnung geändert',
|
||||
'[%s] Overdue tasks' => '[%s] überfallige Aufgaben',
|
||||
'Notification' => 'Benachrichtigungen',
|
||||
'%s moved the task #%d to the first swimlane' => '%s hat die Aufgabe #%d in die erste Swimlane verschoben',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s hat die Aufgabe #%d in die Swimlane "%s" verschoben',
|
||||
'Swimlane' => 'Swimlane',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s hat die Aufgabe %s in die erste Swimlane verschoben',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Suche nach Kategorie: ',
|
||||
'Search by description: ' => 'Suche nach Beschreibung: ',
|
||||
'Search by due date: ' => 'Suche nach Fälligkeitsdatum: ',
|
||||
'Lead and Cycle time for "%s"' => 'Durchlauf und Zykluszeit für "%s"',
|
||||
'Average time spent into each column for "%s"' => 'Durchschnittliche Zeit in jeder Spalte für "%s"',
|
||||
'Average time spent into each column' => 'Durchschnittszeit in jeder Spalte',
|
||||
'Average time spent' => 'Durchschnittlicher Zeitverbrauch',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Dieses Diagramm zeigt die durchschnittliche Zeit in jeder Spalte der letzten %d Aufgaben.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Lizenz:',
|
||||
'License' => 'Lizenz',
|
||||
'Enter the text below' => 'Text unten eingeben',
|
||||
'Gantt chart for %s' => 'Gantt Diagramm für %s',
|
||||
'Sort by position' => 'Nach Position sortieren',
|
||||
'Sort by date' => 'Nach Datum sortieren',
|
||||
'Add task' => 'Aufgabe hinzufügen',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
'Version' => 'Version',
|
||||
'Plugins' => 'Plugins',
|
||||
'There is no plugin loaded.' => 'Es ist kein Plugin geladen.',
|
||||
'Set maximum column height' => 'Setze maximale Spaltenhöhe',
|
||||
'Remove maximum column height' => 'Entferne maximale Spaltenhöhe',
|
||||
'My notifications' => 'Meine Benachrichtigungen',
|
||||
'Custom filters' => 'Benutzerdefinierte Filter',
|
||||
'Your custom filter have been created successfully.' => 'Benutzerdefinierten Filter erfolgreich erstellt.',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
'Invalid captcha' => 'Ungültiges Captcha',
|
||||
'The name must be unique' => 'Der Name muss eindeutig sein',
|
||||
'View all groups' => 'Alle Gruppen anzeigen',
|
||||
'View group members' => 'Gruppenmitglieder anzeigen',
|
||||
'There is no user available.' => 'Es ist kein Benutzer verfügbar.',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => 'Wollen Sie den Benutzer "%s" wirklich aus der Gruppe "%s" löschen?',
|
||||
'There is no group.' => 'Es gibt keine Gruppe.',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
'Enter group name...' => 'Geben Sie den Gruppennamen ein...',
|
||||
'Role:' => 'Rolle:',
|
||||
'Project members' => 'Projektmitglieder',
|
||||
'Compare hours for "%s"' => 'Vergleich der Stunden für %s',
|
||||
'%s mentioned you in the task #%d' => '%s erwähnte Sie in Aufgabe #%d',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s erwähnte Sie in einem Kommentar zur Aufgabe #%d',
|
||||
'You were mentioned in the task #%d' => 'Sie wurden in der Aufgabe #%d erwähnt',
|
||||
'You were mentioned in a comment on the task #%d' => 'Sie wurden in einem Kommentar zur Aufgabe #%d erwähnt',
|
||||
'Mentioned' => 'Erwähnt',
|
||||
'Compare Estimated Time vs Actual Time' => 'Vergleich zwischen erwartetem und tatsächlichem Zeitaufwand',
|
||||
'Estimated hours: ' => 'Erwarteter Zeitaufwand (Stunden): ',
|
||||
'Actual hours: ' => 'Tatsächlich aufgewändete Stunden: ',
|
||||
'Hours Spent' => 'Stunden aufgewändet',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
'Global tags' => 'Globale Schlagwörter',
|
||||
'There is no global tag at the moment.' => 'Es gibt zur Zeit kein globales Schlagwort',
|
||||
'This field cannot be empty' => 'Dieses Feld kann nicht leer sein',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
'Hide tasks in this column in the dashboard' => 'Aufgaben in dieser Spalte im Dashboard ausblenden',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Εμφάνιση άλλου έργου',
|
||||
'Created by %s' => 'Δημιουργήθηκε από %s',
|
||||
'Tasks Export' => 'Εξαγωγή εργασιών',
|
||||
'Tasks exportation for "%s"' => 'Εξαγωγή εργασιών για το έργο « %s »',
|
||||
'Start Date' => 'Ημερομηνία έναρξης',
|
||||
'End Date' => 'ημερομηνία λήξης',
|
||||
'Execute' => 'Εκτέλεση',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Νέα υπο-εργασία',
|
||||
'New attachment added "%s"' => 'Νέα επικόλληση προστέθηκε « %s »',
|
||||
'New comment posted by %s' => 'Νέο σχόλιο από τον χρήστη « %s »',
|
||||
'New attachment' => 'New attachment',
|
||||
'New comment' => 'Νέο σχόλιο',
|
||||
'Comment updated' => 'Το σχόλιο ενημερώθηκε',
|
||||
'New subtask' => 'Νέα υπο-εργασία',
|
||||
'Subtask updated' => 'Η Υπο-Εργασία ενημερώθηκε',
|
||||
'Task updated' => 'Η εργασία ενημερώθηκε',
|
||||
'Task closed' => 'Η εργασία έκλεισε',
|
||||
'Task opened' => 'Η εργασία άνοιξε',
|
||||
'I want to receive notifications only for those projects:' => 'Θέλω να ενημερώνομαι αποκλειστικά για:',
|
||||
'view the task on Kanboard' => 'Προβολή της εργασίας στο Kanboard',
|
||||
'Public access' => 'Ανοιχτή πρόσβαση',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s ενημέρωσε την εργασία n°%d',
|
||||
'%s created the task #%d' => '%s δημιούργησε την εργασία n°%d',
|
||||
'%s closed the task #%d' => '%s έκλεισε την εργασία n°%d',
|
||||
'%s open the task #%d' => '%s άνοιξε την εργασία n°%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s μετακίνησε την εργασία n°%d στη στήλη « %s »',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s μετακίνησε την εργασία n°%d στη θέση n°%d της στήλης « %s »',
|
||||
'%s opened the task #%d' => '%s άνοιξε την εργασία n°%d',
|
||||
'Activity' => 'Δραστηριότητα',
|
||||
'Default values are "%s"' => 'Οι προεπιλεγμένες τιμές είναι « %s »',
|
||||
'Default columns for new projects (Comma-separated)' => 'Προεπιλεγμένες στήλες για νέα έργα (Comma-separated)',
|
||||
'Task assignee change' => 'Αλλαγή εκδοχέα εργασίας',
|
||||
'%s change the assignee of the task #%d to %s' => '%s άλλαξε τον εκδοχέα της εργασίας n˚%d σε %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s άλλαξε τον εκδοχέα της εργασίας n˚%d σε %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s ενημέρωσε τον εκδοχέα της εργασίας %s σε %s',
|
||||
'New password for the user "%s"' => 'Νέο password του χρήστη « %s »',
|
||||
'Choose an event' => 'Επιλογή event',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Ποσοστό',
|
||||
'Number of tasks' => 'Αριθμός εργασιών',
|
||||
'Task distribution' => 'Κατανομή εργασιών',
|
||||
'Reportings' => 'Αναφορές',
|
||||
'Task repartition for "%s"' => 'Επανάληψη εργασιών για « %s »',
|
||||
'Analytics' => 'Αναλύσεις',
|
||||
'Subtask' => 'Υπο-Εργασία',
|
||||
'My subtasks' => 'Οι υπο-εργασίες μου',
|
||||
'User repartition' => 'Επαναλήψεις χρηστών',
|
||||
'User repartition for "%s"' => 'Επαναλήψεις χρηστών για « %s »',
|
||||
'Clone this project' => 'Κλωνοποίηση έργου',
|
||||
'Column removed successfully.' => 'Η στήλη αφαιρέθηκε με επιτυχία.',
|
||||
'Not enough data to show the graph.' => 'Ελλειπή δεδομένα για να εμφανιστεί το γράφημα.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Η τιμή πρέπει να είναι αριθμός',
|
||||
'Unable to create this task.' => 'Αδύνατο να δημιουργηθεί αυτή η εργασία.',
|
||||
'Cumulative flow diagram' => 'Συγκεντρωτικό διάγραμμα ροής',
|
||||
'Cumulative flow diagram for "%s"' => 'Συγκεντρωτικό διάγραμμα ροής για « %s »',
|
||||
'Daily project summary' => 'Καθημερινή περίληψη του έργου',
|
||||
'Daily project summary export' => 'Εξαγωγή της καθημερινής περίληψης του έργου',
|
||||
'Daily project summary export for "%s"' => 'Εξαγωγή της καθημερινής περίληψης του έργου « %s »',
|
||||
'Exports' => 'Εξαγωγές',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Αυτή η κατάσταση περιέχει τον αριθμό των εργασιών ανά στήλη ομαδοποιημένα ανά ημέρα.',
|
||||
'Active swimlanes' => 'Ενεργές λωρίδες',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Id υπο-εργασίας',
|
||||
'Subtasks' => 'Υπο-Εργασίες',
|
||||
'Subtasks Export' => 'Εξαγωγή υπο-εργασίων',
|
||||
'Subtasks exportation for "%s"' => 'Εξαγωγή υπο-εργασίων για το έργο « %s »',
|
||||
'Task Title' => 'Τίτλος εργασίας',
|
||||
'Untitled' => 'Χωρίς τίτλο',
|
||||
'Application default' => 'Προεπιλογή από την εφαρμογή',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Η ισοτιμία προστέθηκε με επιτυχία.',
|
||||
'Unable to add this currency rate.' => 'Αδύνατο να προστεθεί αυτή η ισοτιμία.',
|
||||
'Webhook URL' => 'Webhook URL',
|
||||
'%s remove the assignee of the task %s' => '%s αφαίρεσε τον εκδοχέα της εργασίας %s',
|
||||
'%s removed the assignee of the task %s' => '%s αφαίρεσε τον εκδοχέα της εργασίας %s',
|
||||
'Enable Gravatar images' => 'Ενεργοποίηση εικόνων Gravatar',
|
||||
'Information' => 'Πληροφορίες',
|
||||
'Check two factor authentication code' => 'Ελέγξτε δύο παράγοντες ελέγχου ταυτότητας κωδικού',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Ελέγξτε τη συσκευή σας',
|
||||
'Assign a color when the task is moved to a specific column' => 'Αντιστοίχιση χρώματος όταν η εργασία κινείται σε μια συγκεκριμένη στήλη',
|
||||
'%s via Kanboard' => '%s via Kanboard',
|
||||
'Burndown chart for "%s"' => 'Δημιουργία διαγράμματος για « %s »',
|
||||
'Burndown chart' => 'Δημιουργία διαγράμματος',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Αυτό το γράφημα δείχνει την πολυπλοκότητα του έργου κατά την πάροδο του χρόνου (Εργασία που παραμένει).',
|
||||
'Screenshot taken %s' => 'Το screenshot αποθηκεύτηκε από %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Μετακινήστε την εργασία σε άλλη στήλη, όταν η κατηγορία έχει αλλάξει',
|
||||
'Send a task by email to someone' => 'Στείλτε μια εργασία μέσω ηλεκτρονικού ταχυδρομείου σε κάποιον',
|
||||
'Reopen a task' => 'Ξανα-ανοίξτε μια εργασία',
|
||||
'Column change' => 'Αλλαγή στήλης',
|
||||
'Position change' => 'Αλλαγή θέσης',
|
||||
'Swimlane change' => 'Αλλαγή λωρίδας',
|
||||
'Assignee change' => 'Αλλαγή εκδοχέα',
|
||||
'[%s] Overdue tasks' => '[%s] Εκπρόθεσμες εργασίες',
|
||||
'Notification' => 'Κοινοποίηση',
|
||||
'%s moved the task #%d to the first swimlane' => '%s μετέφερε την εργασία n°%d στην 1η λωρίδα',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s μετέφερε την εργασία n°%d στη λωρίδα « %s »',
|
||||
'Swimlane' => 'Λωρίδα',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s μετέφερε την εργασία %s στην 1η λωρίδα',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Αναζήτηση βάση κατηγορίας: ',
|
||||
'Search by description: ' => 'Αναζήτηση βάση περιγραφής: ',
|
||||
'Search by due date: ' => 'Αναζήτηση βάση ημέρας λήξης: ',
|
||||
'Lead and Cycle time for "%s"' => 'Lead & cycle time για « %s »',
|
||||
'Average time spent into each column for "%s"' => 'Μέσος χρόνος παραμονής σε κάθε στήλη για « %s »',
|
||||
'Average time spent into each column' => 'Μέσος χρόνος παραμονής σε κάθε στήλη',
|
||||
'Average time spent' => 'Μέσος χρόνος που δαπανήθηκε',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Αυτό το γράφημα δείχνει ότι ο μέσος χρόνος που δαπανάται σε κάθε στήλη για τις τελευταίες %d εργασίες',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Άδεια:',
|
||||
'License' => 'Άδεια',
|
||||
'Enter the text below' => 'Πληκτρολογήστε το παρακάτω κείμενο',
|
||||
'Gantt chart for %s' => 'Gantt διάγραμμα για %s',
|
||||
'Sort by position' => 'Ταξινόμηση κατά Θέση',
|
||||
'Sort by date' => 'Ταξινόμηση κατά ημέρα',
|
||||
'Add task' => 'Προσθήκη εργασίας',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
'Version' => 'Έκδοση',
|
||||
'Plugins' => 'Πρόσθετα',
|
||||
'There is no plugin loaded.' => 'Δεν έχει φορτωθεί plugin',
|
||||
'Set maximum column height' => 'Ορισμός μέγιστου ύψους στήλης',
|
||||
'Remove maximum column height' => 'Αφαίρεση μέγιστου ύψους στήλης',
|
||||
'My notifications' => 'Οι ειδοποιήσεις μου',
|
||||
'Custom filters' => 'Φίλτρα ορισμένα από τον χρήστη',
|
||||
'Your custom filter have been created successfully.' => 'Το παρεμετροποιημένο από τον χρήστη φίλτρο δημιουργήθηκε με επιτυχία',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
'Invalid captcha' => 'Μη αποδεκτό Captcha',
|
||||
'The name must be unique' => 'Το όνομα πρέπει να είναι μοναδικό',
|
||||
'View all groups' => 'Προβολή όλων των ομάδων',
|
||||
'View group members' => 'Προβολή των μελών της ομάδας',
|
||||
'There is no user available.' => 'Δεν υπάρχει διαθέσιμος χρήστης',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => 'Αφαίρεση του χρήστη « %s » από την ομάδα « %s » ?',
|
||||
'There is no group.' => 'Δεν υπάρχει ομάδα.',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
'Enter group name...' => 'Εισαγωγή ονομασίας ομάδας...',
|
||||
'Role:' => 'Ρόλος:',
|
||||
'Project members' => 'Μέλη έργου',
|
||||
'Compare hours for "%s"' => 'Σύγκριση ωρών για « %s »',
|
||||
'%s mentioned you in the task #%d' => '%s αναφέρονται σε εσάς, στη εργασία n°%d',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s αναφέρονται σε εσάς σε σχόλιο, στη εργασίας n°%d',
|
||||
'You were mentioned in the task #%d' => 'Αναφέρεστε στην εργασία n°%d',
|
||||
'You were mentioned in a comment on the task #%d' => 'Αναφέρεστε σε σχόλιο, στην εργασία n°%d',
|
||||
'Mentioned' => 'Αναφέρεται',
|
||||
'Compare Estimated Time vs Actual Time' => 'Σύγκριση προβλεπόμενου χρόνου vs πραγματικού χρόνου',
|
||||
'Estimated hours: ' => 'Προβλεπόμενες ώρες: ',
|
||||
'Actual hours: ' => 'Πραγματικές ώρες: ',
|
||||
'Hours Spent' => 'Δαπανόμενες ώρες',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Mostrar otro proyecto',
|
||||
'Created by %s' => 'Creado por %s',
|
||||
'Tasks Export' => 'Exportar tareas',
|
||||
'Tasks exportation for "%s"' => 'Exportación de tareas para «%s»',
|
||||
'Start Date' => 'Fecha de inicio',
|
||||
'End Date' => 'Fecha final',
|
||||
'Execute' => 'Ejecutar',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Nueva subtarea',
|
||||
'New attachment added "%s"' => 'Nuevo adjunto añadido «%s»',
|
||||
'New comment posted by %s' => 'Nuevo comentario añadido por %s',
|
||||
'New attachment' => 'Nuevo adjunto',
|
||||
'New comment' => 'Nuevo comentario',
|
||||
'Comment updated' => 'Comentario actualizado',
|
||||
'New subtask' => 'Nueva subtarea',
|
||||
'Subtask updated' => 'Subtarea actualizada',
|
||||
'Task updated' => 'Tarea actualizada',
|
||||
'Task closed' => 'Tarea cerrada',
|
||||
'Task opened' => 'Tarea abierta',
|
||||
'I want to receive notifications only for those projects:' => 'Quiero recibir notificaciones sólo de estos proyectos:',
|
||||
'view the task on Kanboard' => 'ver la tarea en Kanboard',
|
||||
'Public access' => 'Acceso público',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s actualizó la tarea #%d',
|
||||
'%s created the task #%d' => '%s creó la tarea #%d',
|
||||
'%s closed the task #%d' => '%s cerró la tarea #%d',
|
||||
'%s open the task #%d' => '%s abrió la tarea #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s movió la tarea #%d a la columna «%s»',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s movió la tarea #%d a la posición %d de la columna «%s»',
|
||||
'%s opened the task #%d' => '%s abrió la tarea #%d',
|
||||
'Activity' => 'Actividad',
|
||||
'Default values are "%s"' => 'Los valores por defecto son «%s»',
|
||||
'Default columns for new projects (Comma-separated)' => 'Columnas por defecto para los nuevos proyectos (separadas mediante comas)',
|
||||
'Task assignee change' => 'Cambiar responsable de la tarea',
|
||||
'%s change the assignee of the task #%d to %s' => '%s cambió el responsable de la tarea #%d por %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s cambió el responsable de la tarea #%d por %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s cambió el responsable de la tarea %s por %s',
|
||||
'New password for the user "%s"' => 'Nueva contraseña para el usuario «%s»',
|
||||
'Choose an event' => 'Seleccione un evento',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Porcentaje',
|
||||
'Number of tasks' => 'Número de tareas',
|
||||
'Task distribution' => 'Distribución de tareas',
|
||||
'Reportings' => 'Informes',
|
||||
'Task repartition for "%s"' => 'Repartición de tareas para «%s»',
|
||||
'Analytics' => 'Analítica',
|
||||
'Subtask' => 'Subtarea',
|
||||
'My subtasks' => 'Mis subtareas',
|
||||
'User repartition' => 'Repartición de usuarios',
|
||||
'User repartition for "%s"' => 'Repartición de usuarios para «%s»',
|
||||
'Clone this project' => 'Clonar este proyecto',
|
||||
'Column removed successfully.' => 'Columna eliminada correctamente.',
|
||||
'Not enough data to show the graph.' => 'No hay suficiente información para mostrar el gráfico.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Este valor debe ser numérico',
|
||||
'Unable to create this task.' => 'No se puede crear esta tarea.',
|
||||
'Cumulative flow diagram' => 'Diagrama de flujo acumulativo',
|
||||
'Cumulative flow diagram for "%s"' => 'Diagrama de flujo acumulativo para «%s»',
|
||||
'Daily project summary' => 'Resumen diario del proyecto',
|
||||
'Daily project summary export' => 'Exportar resumen diario del proyecto',
|
||||
'Daily project summary export for "%s"' => 'Exportar resumen diario del proyecto para «%s»',
|
||||
'Exports' => 'Exportaciones',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Esta exportación contiene el número de tareas por columna agrupadas por día.',
|
||||
'Active swimlanes' => 'Calles activas',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Identificador de subtarea',
|
||||
'Subtasks' => 'Subtareas',
|
||||
'Subtasks Export' => 'Exportación de subtareas',
|
||||
'Subtasks exportation for "%s"' => 'Exportación de subtareas para «%s»',
|
||||
'Task Title' => 'Título de la tarea',
|
||||
'Untitled' => 'Sin título',
|
||||
'Application default' => 'Predefinido por la aplicación',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'El cambio de moneda se ha añadido correctamente.',
|
||||
'Unable to add this currency rate.' => 'No se puede añadir este cambio de moneda.',
|
||||
'Webhook URL' => 'URL del disparador web (webhook)',
|
||||
'%s remove the assignee of the task %s' => '%s quita el responsable de la tarea %s',
|
||||
'%s removed the assignee of the task %s' => '%s quita el responsable de la tarea %s',
|
||||
'Enable Gravatar images' => 'Activar imágenes Gravatar',
|
||||
'Information' => 'Información',
|
||||
'Check two factor authentication code' => 'Revisar código de autenticación en dos pasos',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Probar su dispositivo',
|
||||
'Assign a color when the task is moved to a specific column' => 'Asignar un color al mover la tarea a una columna específica',
|
||||
'%s via Kanboard' => '%s vía Kanboard',
|
||||
'Burndown chart for "%s"' => 'Trabajo pendiente para «%s»',
|
||||
'Burndown chart' => 'Trabajo pendiente',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Este diagrama muestra la complejidad de la tarea a lo largo del tiempo (trabajo restante).',
|
||||
'Screenshot taken %s' => 'Pantallazo tomado el %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Mover la tarea a otra columna cuando cambie la categoría',
|
||||
'Send a task by email to someone' => 'Enviar una tarea a alguien por correo',
|
||||
'Reopen a task' => 'Reabrir tarea',
|
||||
'Column change' => 'Cambio de columna',
|
||||
'Position change' => 'Cambio de posición',
|
||||
'Swimlane change' => 'Cambio de calle',
|
||||
'Assignee change' => 'Cambio de responsable',
|
||||
'[%s] Overdue tasks' => '[%s] Tareas vencidas',
|
||||
'Notification' => 'Notificación',
|
||||
'%s moved the task #%d to the first swimlane' => '%s movió la tarea #%d a la primera calle',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s movió la tarea #%d a la calle «%s»',
|
||||
'Swimlane' => 'Calle',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s movió la tarea %s a la primera calle',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Buscar por categoría: ',
|
||||
'Search by description: ' => 'Buscar por descripción: ',
|
||||
'Search by due date: ' => 'Buscar por fecha de entrega: ',
|
||||
'Lead and Cycle time for "%s"' => 'Plazo de entrega y ciclo para «%s»',
|
||||
'Average time spent into each column for "%s"' => 'Tiempo medio empleado en cada columna para «%s»',
|
||||
'Average time spent into each column' => 'Tiempo medio empleado en cada columna',
|
||||
'Average time spent' => 'Tiempo medio empleado',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Esta gráfica muestra el tiempo medio empleado en cada columna para las últimas %d tareas.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Licencia:',
|
||||
'License' => 'Licencia',
|
||||
'Enter the text below' => 'Introduzca el texto a continuación',
|
||||
'Gantt chart for %s' => 'Diagrama de Gantt para %s',
|
||||
'Sort by position' => 'Ordenar por posición',
|
||||
'Sort by date' => 'Ordenar por fecha',
|
||||
'Add task' => 'Añadir tarea',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
'Version' => 'Versión',
|
||||
'Plugins' => 'Plugins',
|
||||
'There is no plugin loaded.' => 'No hay ningún plugin cargado.',
|
||||
'Set maximum column height' => 'Establecer altura máxima de la columna',
|
||||
'Remove maximum column height' => 'Eliminar altura máxima de la columna',
|
||||
'My notifications' => 'Mis notificaciones',
|
||||
'Custom filters' => 'Filtros personalizados',
|
||||
'Your custom filter have been created successfully.' => 'Tus filtros personalizados han sido creados correctamente.',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
'Invalid captcha' => 'CAPTCHA inválido',
|
||||
'The name must be unique' => 'El nombre debe ser único',
|
||||
'View all groups' => 'Ver todos los grupos',
|
||||
'View group members' => 'Ver miembros del grupo',
|
||||
'There is no user available.' => 'No hay usuario disponible.',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => '¿Realmente desea eliminar el usuario «%s» del grupo «%s»?',
|
||||
'There is no group.' => 'No hay grupo.',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
'Enter group name...' => 'Ingresa el nombre del grupo...',
|
||||
'Role:' => 'Rol:',
|
||||
'Project members' => 'Miembros del proyecto',
|
||||
'Compare hours for "%s"' => 'Compara horas con «%s»',
|
||||
'%s mentioned you in the task #%d' => '%s te mencionó en la tarea #%d',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s te mencionó en un comentario en la tarea #%d',
|
||||
'You were mentioned in the task #%d' => 'Fuiste mencionado en la tarea #%d',
|
||||
'You were mentioned in a comment on the task #%d' => 'Fuiste mencionado en un comentario de la tarea #%d',
|
||||
'Mentioned' => 'Mencionado',
|
||||
'Compare Estimated Time vs Actual Time' => 'Comparar tiempo estimado vs tiempo actual',
|
||||
'Estimated hours: ' => 'Horas estimadas: ',
|
||||
'Actual hours: ' => 'Horas actuales: ',
|
||||
'Hours Spent' => 'Horas gastadas',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Näytä toinen projekti',
|
||||
'Created by %s' => 'Luonut: %s',
|
||||
'Tasks Export' => 'Tehtävien vienti',
|
||||
'Tasks exportation for "%s"' => 'Tehtävien vienti projektilta "%s"',
|
||||
'Start Date' => 'Aloituspäivä',
|
||||
'End Date' => 'Lopetuspäivä',
|
||||
'Execute' => 'Suorita',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Uusi alitehtävä',
|
||||
'New attachment added "%s"' => 'Uusi liite lisätty "%s"',
|
||||
'New comment posted by %s' => '%s lisäsi uuden kommentin',
|
||||
// 'New attachment' => '',
|
||||
// 'New comment' => '',
|
||||
'Comment updated' => 'Kommentti päivitetty',
|
||||
// 'New subtask' => '',
|
||||
// 'Subtask updated' => '',
|
||||
// 'Task updated' => '',
|
||||
// 'Task closed' => '',
|
||||
// 'Task opened' => '',
|
||||
'I want to receive notifications only for those projects:' => 'Haluan vastaanottaa ilmoituksia ainoastaan näistä projekteista:',
|
||||
'view the task on Kanboard' => 'katso tehtävää Kanboardissa',
|
||||
'Public access' => 'Julkinen käyttöoikeus',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s päivitti tehtävää #%d',
|
||||
'%s created the task #%d' => '%s loi tehtävän #%d',
|
||||
'%s closed the task #%d' => '%s sulki tehtävän #%d',
|
||||
'%s open the task #%d' => '%s avasi tehtävän #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s siirsi tehtävän #%d sarakkeeseen "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s siirsi tehtävän #%d %d. sarakkeessa %s',
|
||||
'%s opened the task #%d' => '%s avasi tehtävän #%d',
|
||||
'Activity' => 'Toiminta',
|
||||
'Default values are "%s"' => 'Oletusarvot ovat "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Oletussarakkeet uusille projekteille',
|
||||
'Task assignee change' => 'Tehtävän saajan vaihto',
|
||||
'%s change the assignee of the task #%d to %s' => '%s vaihtoi tehtävän #%d saajaksi %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s vaihtoi tehtävän #%d saajaksi %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s vaihtoi tehtävän %s saajaksi %s',
|
||||
'New password for the user "%s"' => 'Uusi salasana käyttäjälle "%s"',
|
||||
'Choose an event' => 'Valitse toiminta',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Prosentti',
|
||||
'Number of tasks' => 'Tehtävien määrä',
|
||||
'Task distribution' => 'Tehtävien jakauma',
|
||||
'Reportings' => 'Raportoinnit',
|
||||
// 'Task repartition for "%s"' => '',
|
||||
'Analytics' => 'Analytiikka',
|
||||
'Subtask' => 'Alitehtävä',
|
||||
'My subtasks' => 'Minun alitehtäväni',
|
||||
// 'User repartition' => '',
|
||||
// 'User repartition for "%s"' => '',
|
||||
'Clone this project' => 'Kahdenna projekti',
|
||||
'Column removed successfully.' => 'Sarake poistettu onnstuneesti.',
|
||||
'Not enough data to show the graph.' => 'Ei riittävästi dataa graafin näyttämiseksi.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Tämän arvon tulee olla numeerinen',
|
||||
'Unable to create this task.' => 'Tehtävän luonti epäonnistui',
|
||||
'Cumulative flow diagram' => 'Kumulatiivinen vuokaavio',
|
||||
'Cumulative flow diagram for "%s"' => 'Kumulatiivinen vuokaavio kohteelle "%s"',
|
||||
'Daily project summary' => 'Päivittäinen yhteenveto',
|
||||
'Daily project summary export' => 'Päivittäisen yhteenvedon vienti',
|
||||
'Daily project summary export for "%s"' => 'Päivittäisen yhteenvedon vienti kohteeseen "%s"',
|
||||
'Exports' => 'Viennit',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Tämä tiedosto sisältää tehtäviä sarakkeisiin päiväkohtaisesti ryhmilteltyinä',
|
||||
'Active swimlanes' => 'Aktiiviset kaistat',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
// 'Subtask Id' => '',
|
||||
// 'Subtasks' => '',
|
||||
// 'Subtasks Export' => '',
|
||||
// 'Subtasks exportation for "%s"' => '',
|
||||
// 'Task Title' => '',
|
||||
// 'Untitled' => '',
|
||||
// 'Application default' => '',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
// 'The currency rate have been added successfully.' => '',
|
||||
// 'Unable to add this currency rate.' => '',
|
||||
// 'Webhook URL' => '',
|
||||
// '%s remove the assignee of the task %s' => '',
|
||||
// '%s removed the assignee of the task %s' => '',
|
||||
// 'Enable Gravatar images' => '',
|
||||
// 'Information' => '',
|
||||
// 'Check two factor authentication code' => '',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
// 'Test your device' => '',
|
||||
// 'Assign a color when the task is moved to a specific column' => '',
|
||||
// '%s via Kanboard' => '',
|
||||
// 'Burndown chart for "%s"' => '',
|
||||
// 'Burndown chart' => '',
|
||||
// 'This chart show the task complexity over the time (Work Remaining).' => '',
|
||||
// 'Screenshot taken %s' => '',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
// 'Move the task to another column when the category is changed' => '',
|
||||
// 'Send a task by email to someone' => '',
|
||||
// 'Reopen a task' => '',
|
||||
// 'Column change' => '',
|
||||
// 'Position change' => '',
|
||||
// 'Swimlane change' => '',
|
||||
// 'Assignee change' => '',
|
||||
// '[%s] Overdue tasks' => '',
|
||||
// 'Notification' => '',
|
||||
// '%s moved the task #%d to the first swimlane' => '',
|
||||
// '%s moved the task #%d to the swimlane "%s"' => '',
|
||||
// 'Swimlane' => '',
|
||||
// 'Gravatar' => '',
|
||||
// '%s moved the task %s to the first swimlane' => '',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
// 'Search by category: ' => '',
|
||||
// 'Search by description: ' => '',
|
||||
// 'Search by due date: ' => '',
|
||||
// 'Lead and Cycle time for "%s"' => '',
|
||||
// 'Average time spent into each column for "%s"' => '',
|
||||
// 'Average time spent into each column' => '',
|
||||
// 'Average time spent' => '',
|
||||
// 'This chart show the average time spent into each column for the last %d tasks.' => '',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
// 'License:' => '',
|
||||
// 'License' => '',
|
||||
// 'Enter the text below' => '',
|
||||
// 'Gantt chart for %s' => '',
|
||||
// 'Sort by position' => '',
|
||||
// 'Sort by date' => '',
|
||||
// 'Add task' => '',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
// 'Version' => '',
|
||||
// 'Plugins' => '',
|
||||
// 'There is no plugin loaded.' => '',
|
||||
// 'Set maximum column height' => '',
|
||||
// 'Remove maximum column height' => '',
|
||||
// 'My notifications' => '',
|
||||
// 'Custom filters' => '',
|
||||
// 'Your custom filter have been created successfully.' => '',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
// 'The name must be unique' => '',
|
||||
// 'View all groups' => '',
|
||||
// 'View group members' => '',
|
||||
// 'There is no user available.' => '',
|
||||
// 'Do you really want to remove the user "%s" from the group "%s"?' => '',
|
||||
// 'There is no group.' => '',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
// 'Enter group name...' => '',
|
||||
// 'Role:' => '',
|
||||
// 'Project members' => '',
|
||||
// 'Compare hours for "%s"' => '',
|
||||
// '%s mentioned you in the task #%d' => '',
|
||||
// '%s mentioned you in a comment on the task #%d' => '',
|
||||
// 'You were mentioned in the task #%d' => '',
|
||||
// 'You were mentioned in a comment on the task #%d' => '',
|
||||
// 'Mentioned' => '',
|
||||
// 'Compare Estimated Time vs Actual Time' => '',
|
||||
// 'Estimated hours: ' => '',
|
||||
// 'Actual hours: ' => '',
|
||||
// 'Hours Spent' => '',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Afficher un autre projet',
|
||||
'Created by %s' => 'Créé par %s',
|
||||
'Tasks Export' => 'Exportation des tâches',
|
||||
'Tasks exportation for "%s"' => 'Exportation des tâches pour « %s »',
|
||||
'Start Date' => 'Date de début',
|
||||
'End Date' => 'Date de fin',
|
||||
'Execute' => 'Exécuter',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Nouvelle sous-tâche',
|
||||
'New attachment added "%s"' => 'Nouvelle pièce-jointe ajoutée « %s »',
|
||||
'New comment posted by %s' => 'Nouveau commentaire ajouté par « %s »',
|
||||
'New attachment' => 'Nouveau document',
|
||||
'New comment' => 'Nouveau commentaire',
|
||||
'Comment updated' => 'Commentaire mis à jour',
|
||||
'New subtask' => 'Nouvelle sous-tâche',
|
||||
'Subtask updated' => 'Sous-tâche mise à jour',
|
||||
'Task updated' => 'Tâche mise à jour',
|
||||
'Task closed' => 'Tâche fermée',
|
||||
'Task opened' => 'Tâche ouverte',
|
||||
'I want to receive notifications only for those projects:' => 'Je souhaite reçevoir les notifications uniquement pour les projets sélectionnés :',
|
||||
'view the task on Kanboard' => 'voir la tâche sur Kanboard',
|
||||
'Public access' => 'Accès public',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s a mis à jour la tâche n°%d',
|
||||
'%s created the task #%d' => '%s a créé la tâche n°%d',
|
||||
'%s closed the task #%d' => '%s a fermé la tâche n°%d',
|
||||
'%s open the task #%d' => '%s a ouvert la tâche n°%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s a déplacé la tâche n°%d dans la colonne « %s »',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s a déplacé la tâche n°%d à la position n°%d dans la colonne « %s »',
|
||||
'%s opened the task #%d' => '%s a ouvert la tâche n°%d',
|
||||
'Activity' => 'Activité',
|
||||
'Default values are "%s"' => 'Les valeurs par défaut sont « %s »',
|
||||
'Default columns for new projects (Comma-separated)' => 'Colonnes par défaut pour les nouveaux projets (séparation par des virgules)',
|
||||
'Task assignee change' => 'Modification de la personne assignée à une tâche',
|
||||
'%s change the assignee of the task #%d to %s' => '%s a changé la personne assignée à la tâche n˚%d pour %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s a changé la personne assignée à la tâche n˚%d pour %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s a changé la personne assignée à la tâche %s pour %s',
|
||||
'New password for the user "%s"' => 'Nouveau mot de passe pour l\'utilisateur « %s »',
|
||||
'Choose an event' => 'Choisir un événement',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Pourcentage',
|
||||
'Number of tasks' => 'Nombre de tâches',
|
||||
'Task distribution' => 'Répartition des tâches',
|
||||
'Reportings' => 'Rapports',
|
||||
'Task repartition for "%s"' => 'Répartition des tâches pour « %s »',
|
||||
'Analytics' => 'Analytique',
|
||||
'Subtask' => 'Sous-tâche',
|
||||
'My subtasks' => 'Mes sous-tâches',
|
||||
'User repartition' => 'Répartition des utilisateurs',
|
||||
'User repartition for "%s"' => 'Répartition des utilisateurs pour « %s »',
|
||||
'Clone this project' => 'Cloner ce projet',
|
||||
'Column removed successfully.' => 'Colonne supprimée avec succès.',
|
||||
'Not enough data to show the graph.' => 'Pas assez de données pour afficher le graphique.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Cette valeur doit être numérique',
|
||||
'Unable to create this task.' => 'Impossible de créer cette tâche',
|
||||
'Cumulative flow diagram' => 'Diagramme de flux cumulé',
|
||||
'Cumulative flow diagram for "%s"' => 'Diagramme de flux cumulé pour « %s »',
|
||||
'Daily project summary' => 'Résumé journalier du projet',
|
||||
'Daily project summary export' => 'Export du résumé journalier du projet',
|
||||
'Daily project summary export for "%s"' => 'Export du résumé quotidien du projet pour « %s »',
|
||||
'Exports' => 'Exports',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Cet export contient le nombre de tâches par colonne groupé par jour.',
|
||||
'Active swimlanes' => 'Swimlanes actives',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Identifiant de la sous-tâche',
|
||||
'Subtasks' => 'Sous-tâches',
|
||||
'Subtasks Export' => 'Exportation des sous-tâches',
|
||||
'Subtasks exportation for "%s"' => 'Exportation des sous-tâches pour le projet « %s »',
|
||||
'Task Title' => 'Titre de la tâche',
|
||||
'Untitled' => 'Sans nom',
|
||||
'Application default' => 'Valeur par défaut de l\'application',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Le taux de change a été ajouté avec succès.',
|
||||
'Unable to add this currency rate.' => 'Impossible d\'ajouter ce taux de change',
|
||||
'Webhook URL' => 'URL du webhook',
|
||||
'%s remove the assignee of the task %s' => '%s a enlevé la personne assignée à la tâche %s',
|
||||
'%s removed the assignee of the task %s' => '%s a enlevé la personne assignée à la tâche %s',
|
||||
'Enable Gravatar images' => 'Activer les images Gravatar',
|
||||
'Information' => 'Informations',
|
||||
'Check two factor authentication code' => 'Vérification du code pour l\'authentification à deux-facteurs',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Testez votre appareil',
|
||||
'Assign a color when the task is moved to a specific column' => 'Assigner une couleur lorsque la tâche est déplacée dans une colonne spécifique',
|
||||
'%s via Kanboard' => '%s via Kanboard',
|
||||
'Burndown chart for "%s"' => 'Graphique d\'avancement pour « %s »',
|
||||
'Burndown chart' => 'Graphique d\'avancement',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Ce graphique représente la complexité des tâches en fonction du temps (travail restant).',
|
||||
'Screenshot taken %s' => 'Capture d\'écran prise le %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Déplacer une tâche vers une autre colonne lorsque la catégorie a changé',
|
||||
'Send a task by email to someone' => 'Envoyer une tâche par email à quelqu\'un',
|
||||
'Reopen a task' => 'Rouvrir une tâche',
|
||||
'Column change' => 'Changement de colonne',
|
||||
'Position change' => 'Changement de position',
|
||||
'Swimlane change' => 'Changement de swimlane',
|
||||
'Assignee change' => 'Changement d\'assigné',
|
||||
'[%s] Overdue tasks' => '[%s] Tâches en retard',
|
||||
'Notification' => 'Notification',
|
||||
'%s moved the task #%d to the first swimlane' => '%s a déplacé la tâche n°%d dans la première swimlane',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s a déplacé la tâche n°%d dans la swimlane « %s »',
|
||||
'Swimlane' => 'Swimlane',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s a déplacé la tâche %s dans la première swimlane',
|
||||
|
|
@ -759,8 +738,6 @@ return array(
|
|||
'Search by category: ' => 'Rechercher par catégorie : ',
|
||||
'Search by description: ' => 'Rechercher par description : ',
|
||||
'Search by due date: ' => 'Rechercher par date d\'échéance : ',
|
||||
'Lead and Cycle time for "%s"' => 'Lead et cycle time pour « %s »',
|
||||
'Average time spent into each column for "%s"' => 'Temps passé moyen dans chaque colonne pour « %s »',
|
||||
'Average time spent into each column' => 'Temps moyen passé dans chaque colonne',
|
||||
'Average time spent' => 'Temps moyen passé',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Ce graphique montre le temps passé moyen dans chaque colonne pour les %d dernières tâches.',
|
||||
|
|
@ -801,7 +778,6 @@ return array(
|
|||
'License:' => 'Licence :',
|
||||
'License' => 'Licence',
|
||||
'Enter the text below' => 'Entrez le texte ci-dessous',
|
||||
'Gantt chart for %s' => 'Diagramme de Gantt pour %s',
|
||||
'Sort by position' => 'Trier par position',
|
||||
'Sort by date' => 'Trier par date',
|
||||
'Add task' => 'Ajouter une tâche',
|
||||
|
|
@ -842,8 +818,6 @@ return array(
|
|||
'Version' => 'Version',
|
||||
'Plugins' => 'Extensions',
|
||||
'There is no plugin loaded.' => 'Il n\'y a aucune extension chargée.',
|
||||
'Set maximum column height' => 'Définir la hauteur max. des colonnes',
|
||||
'Remove maximum column height' => 'Enlever la hauteur max. des colonnes',
|
||||
'My notifications' => 'Mes notifications',
|
||||
'Custom filters' => 'Filtres personalisés',
|
||||
'Your custom filter have been created successfully.' => 'Votre filter personalisé a été créé avec succès.',
|
||||
|
|
@ -948,7 +922,6 @@ return array(
|
|||
'Invalid captcha' => 'Captcha invalid',
|
||||
'The name must be unique' => 'Le nom doit être unique',
|
||||
'View all groups' => 'Voir tous les groupes',
|
||||
'View group members' => 'Voir les membres du groupe',
|
||||
'There is no user available.' => 'Il n\'y a aucun utilisateur disponible',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => 'Voulez-vous vraiment supprimer l\'utilisateur « %s » du groupe « %s » ?',
|
||||
'There is no group.' => 'Il n\'y a aucun groupe.',
|
||||
|
|
@ -969,13 +942,10 @@ return array(
|
|||
'Enter group name...' => 'Entrez le nom du groupe...',
|
||||
'Role:' => 'Rôle :',
|
||||
'Project members' => 'Membres du projet',
|
||||
'Compare hours for "%s"' => 'Comparer les heures pour « %s »',
|
||||
'%s mentioned you in the task #%d' => '%s vous a mentionné dans la tâche n°%d',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s vous a mentionné dans un commentaire de la tâche n°%d',
|
||||
'You were mentioned in the task #%d' => 'Vous avez été mentionné dans la tâche n°%d',
|
||||
'You were mentioned in a comment on the task #%d' => 'Vous avez été mentionné dans un commentaire de la tâche n°%d',
|
||||
'Mentioned' => 'Mentionné',
|
||||
'Compare Estimated Time vs Actual Time' => 'Comparer le temps estimé et le temps actuel',
|
||||
'Estimated hours: ' => 'Heures estimées : ',
|
||||
'Actual hours: ' => 'Heures actuelles : ',
|
||||
'Hours Spent' => 'Heures passées',
|
||||
|
|
@ -1217,5 +1187,32 @@ return array(
|
|||
'Global tags' => 'Libellés globaux',
|
||||
'There is no global tag at the moment.' => 'Il n\'y a aucun libellé global pour le moment.',
|
||||
'This field cannot be empty' => 'Ce champ ne peut être vide',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
'Close a task when there is no activity in an specific column' => 'Fermer une tâche lorsqu\'il n\'y a aucune activité dans une colonne spécifique',
|
||||
'%s removed a subtask for the task #%d' => '%s a supprimé une sous-tâche de la tâche n°%d',
|
||||
'%s removed a comment on the task #%d' => '%s a supprimé un commentaire de la tâche n°%d',
|
||||
'Comment removed on task #%d' => 'Commentaire supprimé sur la tâche n°%d',
|
||||
'Subtask removed on task #%d' => 'Sous-tâche supprimée sur la tâche n°%d',
|
||||
'Hide tasks in this column in the dashboard' => 'Cacher les tâches de cette colonne dans le tableau de bord',
|
||||
'%s removed a comment on the task %s' => '%s a supprimé un commentaire de la tâche %s',
|
||||
'%s removed a subtask for the task %s' => '%s a supprimé une sous-tâche de la tâche %s',
|
||||
'Comment removed' => 'Commentaire supprimé',
|
||||
'Subtask removed' => 'Sous-tâche supprimée',
|
||||
'%s set a new internal link for the task #%d' => '%s a défini un nouveau lien interne pour la tâche n°%d',
|
||||
'%s removed an internal link for the task #%d' => '%s a supprimé un lien interne pour la tâche n°%d',
|
||||
'A new internal link for the task #%d have been defined' => 'Un nouveau lien interne pour la tâche n°%d a été défini',
|
||||
'Internal link removed for the task #%d' => 'Lien interne supprimé pour la tâche n°%d',
|
||||
'%s set a new internal link for the task %s' => '%s a défini un nouveau lien interne pour la tâche %s',
|
||||
'%s removed an internal link for the task %s' => '%s a supprimé un lien interne pour la tâche %s',
|
||||
'Automatically set the due date on task creation' => 'Définir automatiquement la date d\'échéance lors de la création de la tâche',
|
||||
'Move the task to another column when closed' => 'Déplacer la tâche vers une autre colonne lorsque celle-ci est fermée',
|
||||
'Move the task to another column when not moved during a given period' => 'Déplacer la tâche vers une autre colonne lorsque celle-ci n\'a pas été bougée pendant une certaine période',
|
||||
'Dashboard for %s' => 'Tableau de bord pour %s',
|
||||
'Tasks overview for %s' => 'Aperçu des tâches pour %s',
|
||||
'Subtasks overview for %s' => 'Aperçu des sous-tâches pour %s',
|
||||
'Projects overview for %s' => 'Aperçu des projets pour %s',
|
||||
'Activity stream for %s' => 'Flux d\'activité pour %s',
|
||||
'Calendar for %s' => 'Calendrier pour %s',
|
||||
'Notifications for %s' => 'Notifications pour %s',
|
||||
'Subtasks export' => 'Export des sous-tâches',
|
||||
'Tasks exportation' => 'Export des tâches',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Másik projekt megjelenítése',
|
||||
'Created by %s' => 'Készítette: %s',
|
||||
'Tasks Export' => 'Feladatok exportálása',
|
||||
'Tasks exportation for "%s"' => 'Feladatok exportálása: "%s"',
|
||||
'Start Date' => 'Kezdés dátuma',
|
||||
'End Date' => 'Befejezés dátuma',
|
||||
'Execute' => 'Végrehajt',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Új részfeladat',
|
||||
'New attachment added "%s"' => 'Új melléklet "%s" hozzáadva.',
|
||||
'New comment posted by %s' => 'Új megjegyzés %s',
|
||||
'New attachment' => 'Új melléklet',
|
||||
'New comment' => 'Új megjegyzés',
|
||||
'Comment updated' => 'Megjegyzés frissítve',
|
||||
'New subtask' => 'Új részfeladat',
|
||||
'Subtask updated' => 'Részfeladat frissítve',
|
||||
'Task updated' => 'Feladat frissítve',
|
||||
'Task closed' => 'Feladat lezárva',
|
||||
'Task opened' => 'Feladat megnyitva',
|
||||
'I want to receive notifications only for those projects:' => 'Csak ezekről a projektekről kérek értesítést:',
|
||||
'view the task on Kanboard' => 'feladat megtekintése a Kanboardon',
|
||||
'Public access' => 'Nyilvános hozzáférés',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s frissítette a feladatot #%d',
|
||||
'%s created the task #%d' => '%s létrehozta a feladatot #%d',
|
||||
'%s closed the task #%d' => '%s lezárta a feladatot #%d',
|
||||
'%s open the task #%d' => '%s megnyitotta a feladatot #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s átmozgatta a feladatot #%d a "%s" oszlopba',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s átmozgatta a feladatot #%d a %d pozícióba a "%s" oszlopban',
|
||||
'%s opened the task #%d' => '%s megnyitotta a feladatot #%d',
|
||||
'Activity' => 'Tevékenységek',
|
||||
'Default values are "%s"' => 'Az alapértelmezett értékek: %s',
|
||||
'Default columns for new projects (Comma-separated)' => 'Alapértelmezett oszlopok az új projektekben (vesszővel elválasztva)',
|
||||
'Task assignee change' => 'Felelős módosítása',
|
||||
'%s change the assignee of the task #%d to %s' => '%s a felelőst módosította #%d %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s a felelőst módosította #%d %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s a felelőst %s módosította: %s',
|
||||
'New password for the user "%s"' => 'Felhasználó új jelszava: %s',
|
||||
'Choose an event' => 'Válasszon eseményt',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Százalék',
|
||||
'Number of tasks' => 'A feladatok száma',
|
||||
'Task distribution' => 'Feladatelosztás',
|
||||
'Reportings' => 'Jelentések',
|
||||
'Task repartition for "%s"' => 'Feladat újraosztása: %s',
|
||||
'Analytics' => 'Analitika',
|
||||
'Subtask' => 'Részfeladat',
|
||||
'My subtasks' => 'Részfeladataim',
|
||||
'User repartition' => 'Felhasználó újrafelosztás',
|
||||
'User repartition for "%s"' => 'Felhasználó újrafelosztás: %s',
|
||||
'Clone this project' => 'Projekt másolása',
|
||||
'Column removed successfully.' => 'Oszlop sikeresen törölve.',
|
||||
'Not enough data to show the graph.' => 'Nincs elég adat a grafikonhoz.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Ez a mező csak szám lehet',
|
||||
'Unable to create this task.' => 'A feladat nem hozható létre,',
|
||||
'Cumulative flow diagram' => 'Kumulatív folyamatábra',
|
||||
'Cumulative flow diagram for "%s"' => 'Kumulatív folyamatábra: %s',
|
||||
'Daily project summary' => 'Napi projektösszefoglaló',
|
||||
'Daily project summary export' => 'Napi projektösszefoglaló exportálása',
|
||||
'Daily project summary export for "%s"' => 'Napi projektösszefoglaló exportálása: %s',
|
||||
'Exports' => 'Exportálások',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Ez az export tartalmazza a feladatok számát oszloponként összesítve, napokra lebontva.',
|
||||
'Active swimlanes' => 'Aktív sávok',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Részfeladat id',
|
||||
'Subtasks' => 'Részfeladatok',
|
||||
'Subtasks Export' => 'Részfeladat exportálás',
|
||||
'Subtasks exportation for "%s"' => 'Részfeladatok exportálása: %s',
|
||||
'Task Title' => 'Feladat címe',
|
||||
'Untitled' => 'Névtelen',
|
||||
'Application default' => 'Alkalmazás alapértelmezett',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Az átváltási árfolyammal történő bővítés sikerült',
|
||||
'Unable to add this currency rate.' => 'Nem sikerült az átváltási árfolyam felvétele',
|
||||
'Webhook URL' => 'Webhook URL',
|
||||
'%s remove the assignee of the task %s' => '%s eltávolította a %s feladathoz rendelt személyt',
|
||||
'%s removed the assignee of the task %s' => '%s eltávolította a %s feladathoz rendelt személyt',
|
||||
'Enable Gravatar images' => 'Gravatár képek engedélyezése',
|
||||
'Information' => 'Információ',
|
||||
'Check two factor authentication code' => 'Két fázisú beléptető kód ellenőrzése',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Az eszköz ellenőrzése',
|
||||
'Assign a color when the task is moved to a specific column' => 'Szín hozzárendelése, ha a feladatot egy adott oszlopba mozgatták',
|
||||
'%s via Kanboard' => '%s a Kanboard-on keresztül',
|
||||
// 'Burndown chart for "%s"' => '',
|
||||
// 'Burndown chart' => '',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Ez a diagram a feladat időbeli bonyolultságát ábrázolja (mennyi munka van hátra)',
|
||||
'Screenshot taken %s' => 'A képernyőmentés megtörtént, %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'A feladat átmozgatása egy másik oszlopba, ha megváltozik a kategória',
|
||||
'Send a task by email to someone' => 'Email-en egy feladat küldése valakinek',
|
||||
'Reopen a task' => 'Egy feladat újbóli megnyitása',
|
||||
'Column change' => 'Oszlop módosítás',
|
||||
'Position change' => 'Helyzet módosítás',
|
||||
'Swimlane change' => 'Sáv módosítás',
|
||||
'Assignee change' => 'Felelős módosítása',
|
||||
'[%s] Overdue tasks' => '[%s] késésben lévő feladat',
|
||||
'Notification' => 'Értesítés',
|
||||
'%s moved the task #%d to the first swimlane' => '%s a #%d feladatot az első sávba mozgatta',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s a #%d feladatot a "%s" sávba mozgatta',
|
||||
'Swimlane' => 'Sáv',
|
||||
'Gravatar' => 'Gravatár',
|
||||
'%s moved the task %s to the first swimlane' => '%s a %s feladatot az első sávba mozgatta',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Keresés kategória alapján: ',
|
||||
'Search by description: ' => 'Keresés leírás alapján: ',
|
||||
'Search by due date: ' => 'Keresés határidő alapján: ',
|
||||
'Lead and Cycle time for "%s"' => 'A "%s" átfutási ideje és ciklusideje',
|
||||
'Average time spent into each column for "%s"' => 'A "%s" során az egyes oszlopokban töltött átlagos idő',
|
||||
'Average time spent into each column' => 'Az egyes oszlopokban töltött átlagos idő',
|
||||
'Average time spent' => 'Az eltöltött átlagos idő',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Ez az ábra az utolsó %d feladatra vonatkozóan mutatja az egyes oszlopkban eltöltött átlagos időt.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Engedély:',
|
||||
'License' => 'Engedély',
|
||||
'Enter the text below' => 'Adja be a lenti szöveget',
|
||||
'Gantt chart for %s' => 'Gantt diagram a %s számára',
|
||||
'Sort by position' => 'Rendezés hely szerint',
|
||||
'Sort by date' => 'Rendezés idő szerint',
|
||||
'Add task' => 'Feladat hozzáadása',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
'Version' => 'Verzió',
|
||||
'Plugins' => 'Plugin-ek',
|
||||
'There is no plugin loaded.' => 'Nincs betöltött plugin.',
|
||||
'Set maximum column height' => 'Max. oszlopmagasság beállítása',
|
||||
'Remove maximum column height' => 'Max. oszlopmagasság törlése',
|
||||
'My notifications' => 'Emlékeztetőim',
|
||||
'Custom filters' => 'Egyedi szűrők',
|
||||
'Your custom filter have been created successfully.' => 'Az ön egyedi szűrője sikeresen létrejött.',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
'Invalid captcha' => 'Érvénytelen captcha',
|
||||
'The name must be unique' => 'A névnek egyedinek kell lennie',
|
||||
'View all groups' => 'Az összes csoport megtekintése',
|
||||
'View group members' => 'A csoporttagok megtekintése',
|
||||
'There is no user available.' => 'Nincs ilyen felhasználó.',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => 'Valóban el kívánja távolítani a "%s" felhasználót a "%s" csoportból?',
|
||||
'There is no group.' => 'Nincs ilyen csoport.',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
'Enter group name...' => 'Adja meg a csoport nevét...',
|
||||
'Role:' => 'Szerepkör:',
|
||||
'Project members' => 'Projekt tagok',
|
||||
'Compare hours for "%s"' => 'Az órák összehasonlítása "%s" számára',
|
||||
'%s mentioned you in the task #%d' => '%s megemlítette önt a #%d feladatban',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s megemlítette önt a #%d feladathoz fűzött megjegyzésben',
|
||||
'You were mentioned in the task #%d' => 'Ön meg lett említve a #%d feladatban',
|
||||
'You were mentioned in a comment on the task #%d' => 'Ön meg lett említve a #%d feladathoz fűzött megjegyzésben',
|
||||
'Mentioned' => 'Meg lett említve',
|
||||
'Compare Estimated Time vs Actual Time' => 'A becsült és a tényleges idő összehasonlítása',
|
||||
'Estimated hours: ' => 'Becsült órák: ',
|
||||
'Actual hours: ' => 'Tényleges órák: ',
|
||||
'Hours Spent' => 'Ráfordítás órákban',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Lihat proyek lain',
|
||||
'Created by %s' => 'Dibuat oleh %s',
|
||||
'Tasks Export' => 'Ekspor Tugas',
|
||||
'Tasks exportation for "%s"' => 'Tugas di ekspor untuk « %s »',
|
||||
'Start Date' => 'Tanggal Mulai',
|
||||
'End Date' => 'Tanggal Berakhir',
|
||||
'Execute' => 'Eksekusi',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Sub-tugas baru',
|
||||
'New attachment added "%s"' => 'Lampiran baru ditambahkan « %s »',
|
||||
'New comment posted by %s' => 'Komentar baru ditambahkan oleh « %s »',
|
||||
'New attachment' => 'Lampirkan baru',
|
||||
'New comment' => 'Komentar baru',
|
||||
'Comment updated' => 'Komentar diperbaharui',
|
||||
'New subtask' => 'Sub-tugas baru',
|
||||
'Subtask updated' => 'Sub-tugas diperbaharui',
|
||||
'Task updated' => 'Tugas diperbaharui',
|
||||
'Task closed' => 'Tugas ditutup',
|
||||
'Task opened' => 'Tugas dibuka',
|
||||
'I want to receive notifications only for those projects:' => 'Saya ingin menerima pemberitahuan hanya untuk proyek-proyek yang dipilih :',
|
||||
'view the task on Kanboard' => 'lihat tugas di Kanboard',
|
||||
'Public access' => 'Akses publik',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s memperbaharui tugas n°%d',
|
||||
'%s created the task #%d' => '%s membuat tugas n°%d',
|
||||
'%s closed the task #%d' => '%s menutup tugas n°%d',
|
||||
'%s open the task #%d' => '%s membuka tugas n°%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s memindahkan tugas n°%d ke kolom « %s »',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s memindahkan tugas n°%d ke posisi n°%d dalam kolom « %s »',
|
||||
'%s opened the task #%d' => '%s membuka tugas n°%d',
|
||||
'Activity' => 'Aktifitas',
|
||||
'Default values are "%s"' => 'Standar nilai adalah« %s »',
|
||||
'Default columns for new projects (Comma-separated)' => 'Kolom default untuk proyek baru (dipisahkan dengan koma)',
|
||||
'Task assignee change' => 'Mengubah orang ditugaskan untuk tugas',
|
||||
'%s change the assignee of the task #%d to %s' => '%s rubah orang yang ditugaskan dari tugas n%d ke %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s rubah orang yang ditugaskan dari tugas n%d ke %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s mengubah orang yang ditugaskan dari tugas %s ke %s',
|
||||
'New password for the user "%s"' => 'Kata sandi baru untuk pengguna « %s »',
|
||||
'Choose an event' => 'Pilih acara',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Persentasi',
|
||||
'Number of tasks' => 'Jumlah dari tugas',
|
||||
'Task distribution' => 'Pembagian tugas',
|
||||
'Reportings' => 'Pelaporan',
|
||||
'Task repartition for "%s"' => 'Pembagian tugas untuk « %s »',
|
||||
'Analytics' => 'Analitis',
|
||||
'Subtask' => 'Subtugas',
|
||||
'My subtasks' => 'Subtugas saya',
|
||||
'User repartition' => 'Partisi ulang pengguna',
|
||||
'User repartition for "%s"' => 'Partisi ulang pengguna untuk « %s »',
|
||||
'Clone this project' => 'Gandakan proyek ini',
|
||||
'Column removed successfully.' => 'Kolom berhasil dihapus.',
|
||||
'Not enough data to show the graph.' => 'Tidak cukup data untuk menampilkan grafik.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Nilai ini harus angka',
|
||||
'Unable to create this task.' => 'Tidak dapat membuat tugas ini',
|
||||
'Cumulative flow diagram' => 'Diagram alir kumulatif',
|
||||
'Cumulative flow diagram for "%s"' => 'Diagram alir kumulatif untuk « %s »',
|
||||
'Daily project summary' => 'Ringkasan proyek harian',
|
||||
'Daily project summary export' => 'Ekspor ringkasan proyek harian',
|
||||
'Daily project summary export for "%s"' => 'Ekspor ringkasan proyek harian untuk « %s »',
|
||||
'Exports' => 'Ekspor',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Ekspor ini berisi jumlah dari tugas per kolom dikelompokan perhari.',
|
||||
'Active swimlanes' => 'Swimlanes aktif',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Id Subtugas',
|
||||
'Subtasks' => 'Subtugas',
|
||||
'Subtasks Export' => 'Ekspor Subtugas',
|
||||
'Subtasks exportation for "%s"' => 'Ekspor subtugas untuk « %s »',
|
||||
'Task Title' => 'Judul Tugas',
|
||||
'Untitled' => 'Tanpa nama',
|
||||
'Application default' => 'Aplikasi standar',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Nilai tukar mata uang berhasil ditambahkan.',
|
||||
'Unable to add this currency rate.' => 'Tidak dapat menambahkan nilai tukar mata uang',
|
||||
'Webhook URL' => 'URL webhook',
|
||||
'%s remove the assignee of the task %s' => '%s menghapus penugasan dari tugas %s',
|
||||
'%s removed the assignee of the task %s' => '%s menghapus penugasan dari tugas %s',
|
||||
'Enable Gravatar images' => 'Mengaktifkan gambar Gravatar',
|
||||
'Information' => 'Informasi',
|
||||
'Check two factor authentication code' => 'Cek dua faktor kode otentifikasi',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Menguji perangkat anda',
|
||||
'Assign a color when the task is moved to a specific column' => 'Menetapkan warna ketika tugas tersebut dipindahkan ke kolom tertentu',
|
||||
'%s via Kanboard' => '%s via Kanboard',
|
||||
'Burndown chart for "%s"' => 'Grafik Burndown untku « %s »',
|
||||
'Burndown chart' => 'Grafik Burndown',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Grafik ini menunjukkan kompleksitas tugas dari waktu ke waktu (Sisa Pekerjaan).',
|
||||
'Screenshot taken %s' => 'Screenshot diambil %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Pindahkan tugas ke kolom lain ketika kategori berubah',
|
||||
'Send a task by email to someone' => 'Kirim tugas melalui email ke seseorang',
|
||||
'Reopen a task' => 'Membuka kembali tugas',
|
||||
'Column change' => 'Kolom berubah',
|
||||
'Position change' => 'Posisi berubah',
|
||||
'Swimlane change' => 'Swimlane berubah',
|
||||
'Assignee change' => 'Penerima berubah',
|
||||
'[%s] Overdue tasks' => '[%s] Tugas terlambat',
|
||||
'Notification' => 'Pemberitahuan',
|
||||
'%s moved the task #%d to the first swimlane' => '%s memindahkan tugas n°%d ke swimlane pertama',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s memindahkan tugas n°%d ke swimlane « %s »',
|
||||
'Swimlane' => 'Swimlane',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s memindahkan tugas %s ke swimlane pertama',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Pencarian berdasarkan kategori : ',
|
||||
'Search by description: ' => 'Pencarian berdasarkan deskripsi : ',
|
||||
'Search by due date: ' => 'Pencarian berdasarkan tanggal jatuh tempo : ',
|
||||
'Lead and Cycle time for "%s"' => 'Memimpin dan Siklus waktu untuk « %s »',
|
||||
'Average time spent into each column for "%s"' => 'Rata-rata waktu yang dihabiskan dalam setiap kolom untuk « %s »',
|
||||
'Average time spent into each column' => 'Rata-rata waktu yang dihabiskan dalam setiap kolom',
|
||||
'Average time spent' => 'Rata-rata waktu yang dihabiskan',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Grafik ini menunjukkan rata-rata waktu yang dihabiskan dalam setiap kolom untuk %d tugas.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Lisensi :',
|
||||
'License' => 'Lisensi',
|
||||
'Enter the text below' => 'Masukkan teks di bawah',
|
||||
'Gantt chart for %s' => 'Grafik Gantt untuk %s',
|
||||
'Sort by position' => 'Urutkan berdasarkan posisi',
|
||||
'Sort by date' => 'Urutkan berdasarkan tanggal',
|
||||
'Add task' => 'Tambah tugas',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
// 'Version' => '',
|
||||
// 'Plugins' => '',
|
||||
// 'There is no plugin loaded.' => '',
|
||||
// 'Set maximum column height' => '',
|
||||
// 'Remove maximum column height' => '',
|
||||
// 'My notifications' => '',
|
||||
// 'Custom filters' => '',
|
||||
// 'Your custom filter have been created successfully.' => '',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
// 'The name must be unique' => '',
|
||||
// 'View all groups' => '',
|
||||
// 'View group members' => '',
|
||||
// 'There is no user available.' => '',
|
||||
// 'Do you really want to remove the user "%s" from the group "%s"?' => '',
|
||||
// 'There is no group.' => '',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
// 'Enter group name...' => '',
|
||||
// 'Role:' => '',
|
||||
'Project members' => 'Anggota proyek',
|
||||
// 'Compare hours for "%s"' => '',
|
||||
// '%s mentioned you in the task #%d' => '',
|
||||
// '%s mentioned you in a comment on the task #%d' => '',
|
||||
// 'You were mentioned in the task #%d' => '',
|
||||
// 'You were mentioned in a comment on the task #%d' => '',
|
||||
// 'Mentioned' => '',
|
||||
// 'Compare Estimated Time vs Actual Time' => '',
|
||||
// 'Estimated hours: ' => '',
|
||||
// 'Actual hours: ' => '',
|
||||
// 'Hours Spent' => '',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Mostra un altro progetto',
|
||||
'Created by %s' => 'Creato da %s',
|
||||
'Tasks Export' => 'Export dei task',
|
||||
'Tasks exportation for "%s"' => 'Export dei task per "%s"',
|
||||
'Start Date' => 'Data d\'inizio',
|
||||
'End Date' => 'Data di fine',
|
||||
'Execute' => 'Esegui',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Nuovo sotto-task',
|
||||
'New attachment added "%s"' => 'Nuovo allegato aggiunto "%s"',
|
||||
'New comment posted by %s' => 'Nuovo commento aggiunto da "%s"',
|
||||
'New attachment' => 'Nuovo allegato',
|
||||
'New comment' => 'Nuovo commento',
|
||||
'Comment updated' => 'Commento aggiornato',
|
||||
'New subtask' => 'Nuovo sotto-task',
|
||||
'Subtask updated' => 'Sotto-task aggiornato',
|
||||
'Task updated' => 'Task aggiornato',
|
||||
'Task closed' => 'Task chiuso',
|
||||
'Task opened' => 'Task aperto',
|
||||
'I want to receive notifications only for those projects:' => 'Vorrei ricevere le notifiche solo da questi progetti:',
|
||||
'view the task on Kanboard' => 'visualizza il task su Kanboard',
|
||||
'Public access' => 'Accesso pubblico',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s ha aggiornato il task #%d',
|
||||
'%s created the task #%d' => '%s ha creato il task #%d',
|
||||
'%s closed the task #%d' => '%s ha chiuso il task #%d',
|
||||
'%s open the task #%d' => '%s ha aperto il task #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s ha spostato il task #%d nella colonna "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s ha spostato il task #%d nella posizione %d della colonna "%s"',
|
||||
'%s opened the task #%d' => '%s ha aperto il task #%d',
|
||||
'Activity' => 'Attività',
|
||||
'Default values are "%s"' => 'Valori di default "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Colonne di default per i nuovi progetti (Separati da virgola)',
|
||||
'Task assignee change' => 'Cambia l\'assegnatario del task',
|
||||
'%s change the assignee of the task #%d to %s' => '%s dai l\'assegnazione del task #%d a %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s dai l\'assegnazione del task #%d a %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s ha cambiato l\'assegnatario del task %s a %s',
|
||||
'New password for the user "%s"' => 'Nuova password per l\'utente "%s"',
|
||||
'Choose an event' => 'Scegli un evento',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Percentuale',
|
||||
'Number of tasks' => 'Numero di task',
|
||||
'Task distribution' => 'Distribuzione dei task',
|
||||
'Reportings' => 'Rapporti',
|
||||
'Task repartition for "%s"' => 'Ripartizione task per "%s"',
|
||||
// 'Analytics' => '',
|
||||
'Subtask' => 'Sotto-task',
|
||||
'My subtasks' => 'I miei sotto-task',
|
||||
'User repartition' => 'Ripartizione per utente',
|
||||
'User repartition for "%s"' => 'Ripartizione utente per "%s"',
|
||||
'Clone this project' => 'Clona questo progetto',
|
||||
'Column removed successfully.' => 'Colonna rimossa con successo',
|
||||
'Not enough data to show the graph.' => 'Non ci sono abbastanza dati per visualizzare il grafico.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Questo valore deve essere numerico',
|
||||
'Unable to create this task.' => 'Impossibile creare questo task',
|
||||
'Cumulative flow diagram' => 'Diagramma di flusso cumulativo',
|
||||
'Cumulative flow diagram for "%s"' => 'Diagramma di flusso comulativo per "%s"',
|
||||
'Daily project summary' => 'Sommario giornaliero del progetto',
|
||||
'Daily project summary export' => 'Export del sommario giornaliero del progetto',
|
||||
'Daily project summary export for "%s"' => 'Export del sommario giornaliero del progetto per "%s"',
|
||||
'Exports' => 'Esporta',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Questo export contiene il numero di task per colonna raggruppati per giorno',
|
||||
'Active swimlanes' => 'Corsie attive',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Id del sotto-task',
|
||||
'Subtasks' => 'Sotto-task',
|
||||
'Subtasks Export' => 'Esporta i sotto-task',
|
||||
'Subtasks exportation for "%s"' => 'Export dei sotto-task per "%s"',
|
||||
'Task Title' => 'Titolo del task',
|
||||
'Untitled' => 'Senza titolo',
|
||||
'Application default' => 'Default dell\'applicazione',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Il tasso di cambio è stato aggiunto con successo.',
|
||||
'Unable to add this currency rate.' => 'Impossibile aggiungere questo tasso di cambio.',
|
||||
'Webhook URL' => 'URL Webhook',
|
||||
'%s remove the assignee of the task %s' => '%s rimuove l\'assegnatario del task %s',
|
||||
'%s removed the assignee of the task %s' => '%s rimuove l\'assegnatario del task %s',
|
||||
'Enable Gravatar images' => 'Abilita immagini Gravatar',
|
||||
'Information' => 'Informazioni',
|
||||
'Check two factor authentication code' => 'Controlla il codice di autenticazione "two-factor"',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Testa il tuo dispositivo',
|
||||
'Assign a color when the task is moved to a specific column' => 'Assegna un colore quando il task viene spostato in una colonna specifica',
|
||||
'%s via Kanboard' => '%s tramite Kanboard',
|
||||
'Burndown chart for "%s"' => 'Grafico Burndown per "%s"',
|
||||
'Burndown chart' => 'Grafico Burndown',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Questo grafico mostra la complessità dei task nel tempo (Lavoro residuo).',
|
||||
'Screenshot taken %s' => 'Schermata catturata %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Sposta il task in un\'altra colonna quando la categoria viene modificata',
|
||||
'Send a task by email to someone' => 'Invia un task via email a qualcuno',
|
||||
'Reopen a task' => 'Riapri un task',
|
||||
'Column change' => 'Cambio di colonna',
|
||||
'Position change' => 'Cambio di posizione',
|
||||
'Swimlane change' => 'Cambio di corsia',
|
||||
'Assignee change' => 'Cambio assegnatario',
|
||||
'[%s] Overdue tasks' => '[%s] Task scaduti',
|
||||
'Notification' => 'Notifica',
|
||||
'%s moved the task #%d to the first swimlane' => '%s ha spostato il task #%d nella prima corsia',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s ha spostato il task #%d nella corsia "%s"',
|
||||
'Swimlane' => 'Corsia',
|
||||
// 'Gravatar' => '',
|
||||
'%s moved the task %s to the first swimlane' => '%s ha spostato il task %s nella prima corsia',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Ricerca per categoria: ',
|
||||
'Search by description: ' => 'Ricerca per descrizione: ',
|
||||
'Search by due date: ' => 'Ricerca per data di scadenza: ',
|
||||
'Lead and Cycle time for "%s"' => 'Tempo di consegna (Lead Time) e lavorazione (Cycle Time) per "%s"',
|
||||
'Average time spent into each column for "%s"' => 'Tempo medio trascorso in ogni colonna per "%s"',
|
||||
'Average time spent into each column' => 'Tempo medio trascorso in ogni colonna',
|
||||
'Average time spent' => 'Tempo medio trascorso',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Questo grafico mostra il tempo medio trascorso in ogni colonna per gli ultimi %d task.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Licenza:',
|
||||
'License' => 'Licenza',
|
||||
'Enter the text below' => 'Inserisci il testo qui sotto',
|
||||
'Gantt chart for %s' => 'Grafico Gantt per %s',
|
||||
'Sort by position' => 'Ordina per posizione',
|
||||
'Sort by date' => 'Ordina per data',
|
||||
'Add task' => 'Aggiungi task',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
'Version' => 'Versione',
|
||||
'Plugins' => 'Plugin',
|
||||
'There is no plugin loaded.' => 'Nessun plugin è stato caricato.',
|
||||
'Set maximum column height' => 'Imposta l\'altezza massima della colonna',
|
||||
'Remove maximum column height' => 'Rimuovi l\'altezza massima della colonna',
|
||||
'My notifications' => 'Le mie notifiche',
|
||||
'Custom filters' => 'Filtri personalizzati',
|
||||
'Your custom filter have been created successfully.' => 'Il filtro personalizzato è stato creato con successo.',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
'Invalid captcha' => 'Captcha non valido',
|
||||
'The name must be unique' => 'Il nome deve essere univoco',
|
||||
'View all groups' => 'Visualiza tutti i gruppi',
|
||||
'View group members' => 'Visualizza i membri del gruppo',
|
||||
'There is no user available.' => 'Nessun utente disponibile.',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => 'Vuoi davvero rimuovere l\'utente "%s" dal gruppo "%s"?',
|
||||
'There is no group.' => 'Nessun gruppo presente',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
'Enter group name...' => 'Inserisci il nome del gruppo...',
|
||||
'Role:' => 'Ruolo:',
|
||||
'Project members' => 'Membri di progetto',
|
||||
'Compare hours for "%s"' => 'Confronta le ore per "%s"',
|
||||
'%s mentioned you in the task #%d' => '%s ti ha menzionato nel task #%d',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s ti ha menzionato in un commento del task #%d',
|
||||
'You were mentioned in the task #%d' => 'Sei stato menzionato nel task #%d',
|
||||
'You were mentioned in a comment on the task #%d' => 'Sei stato menzionato in un commento del task #%d',
|
||||
'Mentioned' => 'Menzionato',
|
||||
'Compare Estimated Time vs Actual Time' => 'Confronta il Tempo Stimato vs Tempo Effettivo',
|
||||
'Estimated hours: ' => 'Ore stimate: ',
|
||||
'Actual hours: ' => 'Ore effettive: ',
|
||||
'Hours Spent' => 'Ore impiegate',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
'Global tags' => 'Tag globali',
|
||||
'There is no global tag at the moment.' => 'Non sono definiti tag globali al momento.',
|
||||
'This field cannot be empty' => 'Questo campo non può essere vuoto',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => '別のプロジェクトを表示',
|
||||
'Created by %s' => '%s が作成',
|
||||
'Tasks Export' => 'タスクの出力',
|
||||
'Tasks exportation for "%s"' => '「%s」のタスク出力',
|
||||
'Start Date' => '開始日',
|
||||
'End Date' => '終了日',
|
||||
'Execute' => '実行',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => '新しいサブタスク',
|
||||
'New attachment added "%s"' => '添付ファイル「%s」が追加されました',
|
||||
'New comment posted by %s' => '「%s」の新しいコメントが追加されました',
|
||||
'New attachment' => '新しい添付ファイル',
|
||||
'New comment' => '新しいコメント',
|
||||
'Comment updated' => 'コメントが更新されました',
|
||||
'New subtask' => '新しいサブタスク',
|
||||
'Subtask updated' => 'サブタスクの更新',
|
||||
'Task updated' => 'タスクの更新',
|
||||
'Task closed' => 'タスクのクローズ',
|
||||
'Task opened' => 'タスクのオープン',
|
||||
'I want to receive notifications only for those projects:' => '以下のプロジェクトにのみ通知を受け取る:',
|
||||
'view the task on Kanboard' => 'Kanboard でタスクを見る',
|
||||
'Public access' => '公開アクセス設定',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s がタスク #%d を更新しました',
|
||||
'%s created the task #%d' => '%s がタスク #%d を追加しました',
|
||||
'%s closed the task #%d' => '%s がタスク #%d をクローズしました',
|
||||
'%s open the task #%d' => '%s がタスク #%d をオープンしました',
|
||||
'%s moved the task #%d to the column "%s"' => '%s がタスク #%d をカラム「%s」に移動しました',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s がタスク #%d を位置 %d カラム「%s」移動しました',
|
||||
'%s opened the task #%d' => '%s がタスク #%d をオープンしました',
|
||||
'Activity' => 'アクティビティ',
|
||||
'Default values are "%s"' => 'デフォルト値は「%s」',
|
||||
'Default columns for new projects (Comma-separated)' => '新規プロジェクトのデフォルトカラム (コンマで区切って入力)',
|
||||
'Task assignee change' => '担当者の変更',
|
||||
'%s change the assignee of the task #%d to %s' => '%s がタスク #%d の担当を %s に変更しました',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s がタスク #%d の担当を %s に変更しました',
|
||||
'%s changed the assignee of the task %s to %s' => '%s がタスク %s の担当を %s に変更しました',
|
||||
'New password for the user "%s"' => 'ユーザ「%s」の新しいパスワード',
|
||||
'Choose an event' => 'イベントの選択',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => '割合',
|
||||
'Number of tasks' => 'タスク数',
|
||||
'Task distribution' => 'タスク分布',
|
||||
'Reportings' => 'レポート',
|
||||
'Task repartition for "%s"' => '「%s」のタスク分布',
|
||||
'Analytics' => '分析',
|
||||
'Subtask' => 'サブタスク',
|
||||
'My subtasks' => '自分のサブタスク',
|
||||
'User repartition' => '担当者分布',
|
||||
'User repartition for "%s"' => '「%s」の担当者分布',
|
||||
'Clone this project' => 'このプロジェクトを複製する',
|
||||
'Column removed successfully.' => 'カラムを削除しました',
|
||||
'Not enough data to show the graph.' => 'グラフを描画するには出たが足りません',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'この値は数字でなければなりません',
|
||||
'Unable to create this task.' => 'このタスクを作成できませんでした',
|
||||
'Cumulative flow diagram' => '蓄積フロー図',
|
||||
'Cumulative flow diagram for "%s"' => '「%s」の蓄積フロー図',
|
||||
'Daily project summary' => '日時プロジェクトサマリー',
|
||||
'Daily project summary export' => '日時プロジェクトサマリーの出力',
|
||||
'Daily project summary export for "%s"' => '「%s」の日時プロジェクトサマリーの出力',
|
||||
'Exports' => '出力',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'この出力は日時のカラムごとのタスク数を集計したものです',
|
||||
'Active swimlanes' => 'アクティブなスイムレーン',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'サブタスク Id',
|
||||
'Subtasks' => 'サブタスク',
|
||||
'Subtasks Export' => 'サブタスクの出力',
|
||||
'Subtasks exportation for "%s"' => '「%s」のサブタスク出力',
|
||||
'Task Title' => 'タスクタイトル',
|
||||
'Untitled' => 'タイトル無し',
|
||||
'Application default' => 'アプリケーションデフォルト',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
// 'The currency rate have been added successfully.' => '',
|
||||
'Unable to add this currency rate.' => 'この通貨レートを追加できません。',
|
||||
'Webhook URL' => 'Webhook URL',
|
||||
'%s remove the assignee of the task %s' => '%s がタスク「%s」の担当を解除しました。',
|
||||
'%s removed the assignee of the task %s' => '%s がタスク「%s」の担当を解除しました。',
|
||||
'Enable Gravatar images' => 'Gravatar イメージを有効化',
|
||||
'Information' => '情報 ',
|
||||
'Check two factor authentication code' => '2 段認証をチェックする',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'デバイスをテストする',
|
||||
// 'Assign a color when the task is moved to a specific column' => '',
|
||||
// '%s via Kanboard' => '',
|
||||
// 'Burndown chart for "%s"' => '',
|
||||
// 'Burndown chart' => '',
|
||||
// 'This chart show the task complexity over the time (Work Remaining).' => '',
|
||||
// 'Screenshot taken %s' => '',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
// 'Move the task to another column when the category is changed' => '',
|
||||
// 'Send a task by email to someone' => '',
|
||||
// 'Reopen a task' => '',
|
||||
// 'Column change' => '',
|
||||
// 'Position change' => '',
|
||||
// 'Swimlane change' => '',
|
||||
// 'Assignee change' => '',
|
||||
// '[%s] Overdue tasks' => '',
|
||||
// 'Notification' => '',
|
||||
// '%s moved the task #%d to the first swimlane' => '',
|
||||
// '%s moved the task #%d to the swimlane "%s"' => '',
|
||||
// 'Swimlane' => '',
|
||||
// 'Gravatar' => '',
|
||||
// '%s moved the task %s to the first swimlane' => '',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
// 'Search by category: ' => '',
|
||||
// 'Search by description: ' => '',
|
||||
// 'Search by due date: ' => '',
|
||||
// 'Lead and Cycle time for "%s"' => '',
|
||||
// 'Average time spent into each column for "%s"' => '',
|
||||
// 'Average time spent into each column' => '',
|
||||
// 'Average time spent' => '',
|
||||
// 'This chart show the average time spent into each column for the last %d tasks.' => '',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
// 'License:' => '',
|
||||
// 'License' => '',
|
||||
// 'Enter the text below' => '',
|
||||
// 'Gantt chart for %s' => '',
|
||||
// 'Sort by position' => '',
|
||||
// 'Sort by date' => '',
|
||||
// 'Add task' => '',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
// 'Version' => '',
|
||||
// 'Plugins' => '',
|
||||
// 'There is no plugin loaded.' => '',
|
||||
// 'Set maximum column height' => '',
|
||||
// 'Remove maximum column height' => '',
|
||||
// 'My notifications' => '',
|
||||
// 'Custom filters' => '',
|
||||
// 'Your custom filter have been created successfully.' => '',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
// 'The name must be unique' => '',
|
||||
// 'View all groups' => '',
|
||||
// 'View group members' => '',
|
||||
// 'There is no user available.' => '',
|
||||
// 'Do you really want to remove the user "%s" from the group "%s"?' => '',
|
||||
// 'There is no group.' => '',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
// 'Enter group name...' => '',
|
||||
// 'Role:' => '',
|
||||
// 'Project members' => '',
|
||||
// 'Compare hours for "%s"' => '',
|
||||
// '%s mentioned you in the task #%d' => '',
|
||||
// '%s mentioned you in a comment on the task #%d' => '',
|
||||
// 'You were mentioned in the task #%d' => '',
|
||||
// 'You were mentioned in a comment on the task #%d' => '',
|
||||
// 'Mentioned' => '',
|
||||
// 'Compare Estimated Time vs Actual Time' => '',
|
||||
// 'Estimated hours: ' => '',
|
||||
// 'Actual hours: ' => '',
|
||||
// 'Hours Spent' => '',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -154,8 +154,6 @@ return array(
|
|||
'%d closed tasks' => '%d개의 마친 할일',
|
||||
'No task for this project' => '이 프로젝트에 할일이 없습니다',
|
||||
'Public link' => '공개 접속 링크',
|
||||
'Change assignee' => '담당자 변경',
|
||||
'Change assignee for the task "%s"' => '할일 "%s"의 담당자를 변경',
|
||||
'Timezone' => '시간대',
|
||||
'Sorry, I didn\'t find this information in my database!' => '데이터베이스에서 정보가 발견되지 않았습니다!',
|
||||
'Page not found' => '페이지가 발견되지 않는다',
|
||||
|
|
@ -248,7 +246,6 @@ return array(
|
|||
'Category' => '카테고리',
|
||||
'Category:' => '카테고리:',
|
||||
'Categories' => '카테고리',
|
||||
'Category not found.' => '카테고리가 발견되지 않습니다',
|
||||
'Your category have been created successfully.' => '카테고리를 작성했습니다.',
|
||||
'Unable to create your category.' => '카테고리의 작성에 실패했습니다.',
|
||||
'Your category have been updated successfully.' => '카테고리를 갱신했습니다.',
|
||||
|
|
@ -270,7 +267,6 @@ return array(
|
|||
'Do you really want to remove this file: "%s"?' => '파일 "%s" 을 삭제할까요?',
|
||||
'Attachments' => '첨부',
|
||||
'Edit the task' => '할일 수정',
|
||||
'Edit the description' => '설명 수정',
|
||||
'Add a comment' => '댓글 추가',
|
||||
'Edit a comment' => '댓글 수정',
|
||||
'Summary' => '개요',
|
||||
|
|
@ -303,7 +299,6 @@ return array(
|
|||
'Display another project' => '프로젝트 보기',
|
||||
'Created by %s' => '작성자 %s',
|
||||
'Tasks Export' => '할일 내보내기',
|
||||
'Tasks exportation for "%s"' => '"%s" 할일 내보내기',
|
||||
'Start Date' => '시작일',
|
||||
'End Date' => '종료일',
|
||||
'Execute' => '실행',
|
||||
|
|
@ -326,14 +321,9 @@ return array(
|
|||
'New sub-task' => '새로운 서브 할일',
|
||||
'New attachment added "%s"' => '"%s"의 새로운 첨부 파일',
|
||||
'New comment posted by %s' => '"%s"님이 댓글을 추가하였습니다',
|
||||
'New attachment' => ' 새로운 첨부 파일',
|
||||
'New comment' => ' 새로운 댓글',
|
||||
'Comment updated' => '댓글가 갱신되었습니다',
|
||||
'New subtask' => ' 새로운 서브 할일',
|
||||
'Subtask updated' => '서브 할일 갱신',
|
||||
'Task updated' => '할일 갱신',
|
||||
'Task closed' => '할일 마침',
|
||||
'Task opened' => '할일 시작',
|
||||
'I want to receive notifications only for those projects:' => '다음 프로젝트의 알림만 받겠습니다:',
|
||||
'view the task on Kanboard' => 'Kanboard에서 할일을 본다',
|
||||
'Public access' => '공개 접속 설정',
|
||||
|
|
@ -368,7 +358,6 @@ return array(
|
|||
'No external authentication enabled.' => '외부 인증이 설정되어 있지 않습니다.',
|
||||
'Password modified successfully.' => '패스워드를 변경했습니다.',
|
||||
'Unable to change the password.' => '비밀 번호가 변경할 수 없었습니다.',
|
||||
'Change category for the task "%s"' => '할일 "%s"의 카테고리의 변경',
|
||||
'Change category' => '카테고리 수정',
|
||||
'%s updated the task %s' => '%s이 할일 %s을 갱신 하였습니다',
|
||||
'%s opened the task %s' => '%s이 할일 %s을 시작시켰습니다',
|
||||
|
|
@ -391,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s이 할일#%d을 갱신했습니다',
|
||||
'%s created the task #%d' => '%s이 할일#%d을 추가했습니다',
|
||||
'%s closed the task #%d' => '%s이 할일#%d을 닫혔습니다',
|
||||
'%s open the task #%d' => '%s이 할일#%d를 오픈했습니다',
|
||||
'%s moved the task #%d to the column "%s"' => '%s이 할일#%d을 칼럼"%s"로 옮겼습니다',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s이 할일#%d을 칼럼 "%s"의 %d 위치로 이동시켰습니다',
|
||||
'%s opened the task #%d' => '%s이 할일#%d를 오픈했습니다',
|
||||
'Activity' => '활동',
|
||||
'Default values are "%s"' => '기본 값은 "%s" 입니다',
|
||||
'Default columns for new projects (Comma-separated)' => '새로운 프로젝트의 기본 칼럼 (콤마(,)로 분리됨)',
|
||||
'Task assignee change' => '담당자의 변경',
|
||||
'%s change the assignee of the task #%d to %s' => '%s이 할일 #%d의 담당을 %s로 변경합니다',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s이 할일 #%d의 담당을 %s로 변경합니다',
|
||||
'%s changed the assignee of the task %s to %s' => '%s이 할일 %s의 담당을 %s로 변경했습니다',
|
||||
'New password for the user "%s"' => '사용자 "%s"의 새로운 패스워드',
|
||||
'Choose an event' => '행사의 선택',
|
||||
|
|
@ -447,13 +434,10 @@ return array(
|
|||
'Percentage' => '비중',
|
||||
'Number of tasks' => '할일 수',
|
||||
'Task distribution' => '할일 분포',
|
||||
'Reportings' => '리포트',
|
||||
'Task repartition for "%s"' => '"%s"의 할일 분포',
|
||||
'Analytics' => '분석',
|
||||
'Subtask' => '서브 할일',
|
||||
'My subtasks' => '내 서브 할일',
|
||||
'User repartition' => '담당자 분포',
|
||||
'User repartition for "%s"' => '"%s"의 담당자 분포',
|
||||
'Clone this project' => '이 프로젝트를 복제하는 ',
|
||||
'Column removed successfully.' => '(※)컬럼을 삭제했습니다',
|
||||
'Not enough data to show the graph.' => '그래프를 선묘화하려면 나왔지만 부족합니다',
|
||||
|
|
@ -470,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => '이 값은 숫자가 아니면 안 됩니다',
|
||||
'Unable to create this task.' => '이 할일을 작성할 수 없었습니다',
|
||||
'Cumulative flow diagram' => '축적 흐름',
|
||||
'Cumulative flow diagram for "%s"' => '"%s"의 축적 흐름',
|
||||
'Daily project summary' => '하루 프로젝트 개요',
|
||||
'Daily project summary export' => '하루 프로젝트 개요의 출력',
|
||||
'Daily project summary export for "%s"' => '"%s" 하루 프로젝트 개요의 출력',
|
||||
'Exports' => '출력',
|
||||
'This export contains the number of tasks per column grouped per day.' => '이 출력은 날짜의 칼람별 할일 수를 집계한 것입니다',
|
||||
'Active swimlanes' => '액티브한 스윔레인',
|
||||
|
|
@ -485,7 +467,6 @@ return array(
|
|||
'Remove a swimlane' => '스윔레인의 삭제',
|
||||
'Show default swimlane' => '기본 스윔레인의 표시',
|
||||
'Swimlane modification for the project "%s"' => '"%s" 프로젝트의 스웜레인 수정',
|
||||
'Swimlane not found.' => '스윔레인이 발견되지 않습니다.',
|
||||
'Swimlane removed successfully.' => '스윔레인을 삭제했습니다.',
|
||||
'Swimlanes' => '스윔레인',
|
||||
'Swimlane updated successfully.' => '스윔레인을 갱신했습니다.',
|
||||
|
|
@ -500,7 +481,6 @@ return array(
|
|||
'Subtask Id' => '서브 할일 Id',
|
||||
'Subtasks' => '서브 할일',
|
||||
'Subtasks Export' => '서브 할일 출력',
|
||||
'Subtasks exportation for "%s"' => '"%s"의 서브 할일 출력',
|
||||
'Task Title' => '할일 제목',
|
||||
'Untitled' => '제목 없음',
|
||||
'Application default' => '애플리케이션 기본',
|
||||
|
|
@ -607,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => '통화가 성공적으로 추가되었습니다',
|
||||
'Unable to add this currency rate.' => '이 통화 환율을 추가할 수 없습니다.',
|
||||
'Webhook URL' => 'Webhook URL',
|
||||
'%s remove the assignee of the task %s' => '%s이 할일 %s의 담당을 삭제했습니다',
|
||||
'%s removed the assignee of the task %s' => '%s이 할일 %s의 담당을 삭제했습니다',
|
||||
'Enable Gravatar images' => 'Gravatar이미지를 활성화',
|
||||
'Information' => '정보',
|
||||
'Check two factor authentication code' => '2단 인증을 체크한다',
|
||||
|
|
@ -621,7 +601,6 @@ return array(
|
|||
'Test your device' => '디바이스 테스트',
|
||||
'Assign a color when the task is moved to a specific column' => '상세 칼럼으로 이동할 할일의 색깔을 지정하세요',
|
||||
'%s via Kanboard' => '%s via E-board',
|
||||
'Burndown chart for "%s"' => '"%s" 번다운 차트',
|
||||
'Burndown chart' => '번다운 차트',
|
||||
// 'This chart show the task complexity over the time (Work Remaining).' => '',
|
||||
'Screenshot taken %s' => '스크린샷_%s',
|
||||
|
|
@ -686,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => '카테고리 변경시 할일을 다른 칼럼으로 이동',
|
||||
'Send a task by email to someone' => '할일을 이메일로 보내기',
|
||||
'Reopen a task' => '할일 다시 시작',
|
||||
'Column change' => '칼럼 이동',
|
||||
'Position change' => '위치 이동',
|
||||
'Swimlane change' => '스윔레인 변경',
|
||||
'Assignee change' => '담당자 변경',
|
||||
'[%s] Overdue tasks' => '[%s] 마감시간 지남',
|
||||
'Notification' => '알림',
|
||||
'%s moved the task #%d to the first swimlane' => '%s가 할일 #%d를 첫번째 스웜레인으로 이동시켰습니다',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s가 할일 #%d를 "%s" 스웜레인으로 이동시켰습니다',
|
||||
'Swimlane' => '스윔레인',
|
||||
// 'Gravatar' => '',
|
||||
'%s moved the task %s to the first swimlane' => '%s가 할일 %s를 첫번째 스웜레인으로 이동시켰습니다',
|
||||
|
|
@ -764,8 +737,6 @@ return array(
|
|||
'Search by category: ' => '카테고리로 찾기 ',
|
||||
'Search by description: ' => '설명으로 찾기 ',
|
||||
'Search by due date: ' => '마감날짜로 찾기 ',
|
||||
'Lead and Cycle time for "%s"' => '"%s"의 리드와 사이클 시간',
|
||||
'Average time spent into each column for "%s"' => '"%s"의 각 칼럼 평균 소요시간',
|
||||
'Average time spent into each column' => '각 칼럼의 평균 소요시간',
|
||||
'Average time spent' => '평균 소요시간',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => '마지막 %d 할일의 칼럼 평균 소요시간을 차트에 표시합니다',
|
||||
|
|
@ -806,7 +777,6 @@ return array(
|
|||
'License:' => '라이센스:',
|
||||
'License' => '라이센스',
|
||||
'Enter the text below' => '아랫글로 들어가기',
|
||||
'Gantt chart for %s' => '%s의 간트 차트',
|
||||
'Sort by position' => '위치별 정렬',
|
||||
'Sort by date' => '날짜별 정렬',
|
||||
'Add task' => '할일 추가',
|
||||
|
|
@ -847,8 +817,6 @@ return array(
|
|||
'Version' => '버전',
|
||||
'Plugins' => '플러그인',
|
||||
'There is no plugin loaded.' => '플러그인이 로드되지 않았습니다',
|
||||
'Set maximum column height' => '최대 칼럼 높이 제한하기',
|
||||
'Remove maximum column height' => '최대 칼럼 높이 없애기',
|
||||
'My notifications' => '내 알림',
|
||||
'Custom filters' => '사용자 정의 필터',
|
||||
'Your custom filter have been created successfully.' => '사용자 정의 필터가 성공적으로 생성되었습니다',
|
||||
|
|
@ -953,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
'The name must be unique' => '이름은 유일해야 합니다',
|
||||
'View all groups' => '모든그룹보기',
|
||||
'View group members' => '그룹맴버 보기',
|
||||
'There is no user available.' => '가능한 사용자가 없습니다',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => '"%s" 사용자를 "%s" 에서 삭제하시겠습니까?',
|
||||
'There is no group.' => '그룹이 없습니다',
|
||||
|
|
@ -974,13 +941,10 @@ return array(
|
|||
'Enter group name...' => '그룹명을 입력합니다...',
|
||||
'Role:' => '역할: ',
|
||||
'Project members' => '프로젝트 멤버',
|
||||
'Compare hours for "%s"' => '"%s" 시간동안 비교',
|
||||
'%s mentioned you in the task #%d' => '#%d 할일에서 %s가 당신을 언급하였습니다',
|
||||
'%s mentioned you in a comment on the task #%d' => '#%d 할일에서 %s가 당신의 댓글을 언급하였습니다',
|
||||
'You were mentioned in the task #%d' => '#%d 할일에서 당신이 언급되었습니다',
|
||||
'You were mentioned in a comment on the task #%d' => '할일 #%d의 댓글에서 언급되었습니다',
|
||||
'Mentioned' => '언급된',
|
||||
'Compare Estimated Time vs Actual Time' => '예상 시간과 실제 시간 비교',
|
||||
'Estimated hours: ' => '예상 시간: ',
|
||||
'Actual hours: ' => '실제 시간: ',
|
||||
'Hours Spent' => '소요 시간',
|
||||
|
|
@ -1200,5 +1164,54 @@ return array(
|
|||
'Email settings' => '이메일 설정',
|
||||
'Email sender address' => '이메일 보낸이 주소',
|
||||
'Email transport' => '이메일 전송',
|
||||
// 'Webhook token' => '',
|
||||
'Imports' => '가져오기',
|
||||
// 'Project tags management' => '',
|
||||
// 'Tag created successfully.' => '',
|
||||
// 'Unable to create this tag.' => '',
|
||||
// 'Tag updated successfully.' => '',
|
||||
// 'Unable to update this tag.' => '',
|
||||
// 'Tag removed successfully.' => '',
|
||||
// 'Unable to remove this tag.' => '',
|
||||
// 'Global tags management' => '',
|
||||
// 'Tags' => '',
|
||||
// 'Tags management' => '',
|
||||
// 'Add new tag' => '',
|
||||
// 'Edit a tag' => '',
|
||||
// 'Project tags' => '',
|
||||
// 'There is no specific tag for this project at the moment.' => '',
|
||||
// 'Tag' => '',
|
||||
// 'Remove a tag' => '',
|
||||
// 'Do you really want to remove this tag: "%s"?' => '',
|
||||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Lihat projek lain',
|
||||
'Created by %s' => 'Dibuat oleh %s',
|
||||
'Tasks Export' => 'Ekspor Tugas',
|
||||
'Tasks exportation for "%s"' => 'Tugas di ekspor untuk « %s »',
|
||||
'Start Date' => 'Tanggal Mulai',
|
||||
'End Date' => 'Tanggal Berakhir',
|
||||
'Execute' => 'Eksekusi',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Sub-tugas baru',
|
||||
'New attachment added "%s"' => 'Lampiran baru ditambahkan « %s »',
|
||||
'New comment posted by %s' => 'Komentar baru ditambahkan oleh « %s »',
|
||||
'New attachment' => 'Lampirkan baru',
|
||||
'New comment' => 'Komentar baru',
|
||||
'Comment updated' => 'Komentar diperbaharui',
|
||||
'New subtask' => 'Sub-tugas baru',
|
||||
'Subtask updated' => 'Sub-tugas diperbaharui',
|
||||
'Task updated' => 'Tugas diperbaharui',
|
||||
'Task closed' => 'Tugas ditutup',
|
||||
'Task opened' => 'Tugas dibuka',
|
||||
'I want to receive notifications only for those projects:' => 'Saya ingin menerima pemberitahuan hanya untuk projek-projek yang dipilih :',
|
||||
'view the task on Kanboard' => 'lihat tugas di Kanboard',
|
||||
'Public access' => 'Akses awam',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s memperbaharui tugas n°%d',
|
||||
'%s created the task #%d' => '%s membuat tugas n°%d',
|
||||
'%s closed the task #%d' => '%s menutup tugas n°%d',
|
||||
'%s open the task #%d' => '%s membuka tugas n°%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s memindahkan tugas n°%d ke kolom « %s »',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s memindahkan tugas n°%d ke posisi n°%d dalam kolom « %s »',
|
||||
'%s opened the task #%d' => '%s membuka tugas n°%d',
|
||||
'Activity' => 'Aktifitas',
|
||||
'Default values are "%s"' => 'Standar nilai adalah« %s »',
|
||||
'Default columns for new projects (Comma-separated)' => 'Kolom default untuk projek baru (dipisahkan dengan koma)',
|
||||
'Task assignee change' => 'Mengubah orang ditugaskan untuk tugas',
|
||||
'%s change the assignee of the task #%d to %s' => '%s rubah orang yang ditugaskan dari tugas n%d ke %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s rubah orang yang ditugaskan dari tugas n%d ke %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s mengubah orang yang ditugaskan dari tugas %s ke %s',
|
||||
'New password for the user "%s"' => 'Kata laluan baru untuk pengguna « %s »',
|
||||
'Choose an event' => 'Pilih sebuah acara',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Persentasi',
|
||||
'Number of tasks' => 'Jumlah dari tugas',
|
||||
'Task distribution' => 'Pembagian tugas',
|
||||
'Reportings' => 'Pelaporan',
|
||||
'Task repartition for "%s"' => 'Pembagian tugas untuk « %s »',
|
||||
'Analytics' => 'Analitis',
|
||||
'Subtask' => 'Subtugas',
|
||||
'My subtasks' => 'Subtugas saya',
|
||||
'User repartition' => 'Partisi ulang pengguna',
|
||||
'User repartition for "%s"' => 'Partisi ulang pengguna untuk « %s »',
|
||||
'Clone this project' => 'Gandakan projek ini',
|
||||
'Column removed successfully.' => 'Kolom berhasil dihapus.',
|
||||
'Not enough data to show the graph.' => 'Tidak cukup data untuk menampilkan grafik.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Nilai ini harus angka',
|
||||
'Unable to create this task.' => 'Tidak dapat membuat tugas ini',
|
||||
'Cumulative flow diagram' => 'Diagram alir kumulatif',
|
||||
'Cumulative flow diagram for "%s"' => 'Diagram alir kumulatif untuk « %s »',
|
||||
'Daily project summary' => 'Ringkasan projek harian',
|
||||
'Daily project summary export' => 'Ekspot ringkasan projek harian',
|
||||
'Daily project summary export for "%s"' => 'Ekspor ringkasan projek harian untuk « %s »',
|
||||
'Exports' => 'Ekspor',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Ekspor ini berisi jumlah dari tugas per kolom dikelompokan perhari.',
|
||||
'Active swimlanes' => 'Swimlanes aktif',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Id Subtugas',
|
||||
'Subtasks' => 'Subtugas',
|
||||
'Subtasks Export' => 'Ekspot Subtugas',
|
||||
'Subtasks exportation for "%s"' => 'Ekspor subtugas untuk « %s »',
|
||||
'Task Title' => 'Judul Tugas',
|
||||
'Untitled' => 'Tanpa nama',
|
||||
'Application default' => 'Aplikasi Piawaian',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Nilai tukar mata uang berhasil ditambahkan.',
|
||||
'Unable to add this currency rate.' => 'Tidak dapat menambahkan nilai tukar mata uang',
|
||||
'Webhook URL' => 'URL webhook',
|
||||
'%s remove the assignee of the task %s' => '%s menghapus penugasan dari tugas %s',
|
||||
'%s removed the assignee of the task %s' => '%s menghapus penugasan dari tugas %s',
|
||||
'Enable Gravatar images' => 'Mengaktifkan gambar Gravatar',
|
||||
'Information' => 'Informasi',
|
||||
'Check two factor authentication code' => 'Cek dua faktor kode otentifikasi',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Menguji perangkat anda',
|
||||
'Assign a color when the task is moved to a specific column' => 'Menetapkan warna ketika tugas tersebut dipindahkan ke kolom tertentu',
|
||||
'%s via Kanboard' => '%s via Kanboard',
|
||||
'Burndown chart for "%s"' => 'Grafik Burndown untku « %s »',
|
||||
'Burndown chart' => 'Grafik Burndown',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Grafik ini menunjukkan kompleksitas tugas dari waktu ke waktu (Sisa Pekerjaan).',
|
||||
'Screenshot taken %s' => 'Screenshot diambil %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Pindahkan tugas ke kolom lain ketika kategori berubah',
|
||||
'Send a task by email to someone' => 'Kirim tugas melalui email ke seseorang',
|
||||
'Reopen a task' => 'Membuka kembali tugas',
|
||||
'Column change' => 'Kolom berubah',
|
||||
'Position change' => 'Posisi berubah',
|
||||
'Swimlane change' => 'Swimlane berubah',
|
||||
'Assignee change' => 'Penerima berubah',
|
||||
'[%s] Overdue tasks' => '[%s] Tugas terlambat',
|
||||
'Notification' => 'Pemberitahuan',
|
||||
'%s moved the task #%d to the first swimlane' => '%s memindahkan tugas n°%d ke swimlane pertama',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s memindahkan tugas n°%d ke swimlane « %s »',
|
||||
'Swimlane' => 'Swimlane',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s memindahkan tugas %s ke swimlane pertama',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Pencarian berdasarkan kategori : ',
|
||||
'Search by description: ' => 'Pencarian berdasarkan deskripsi : ',
|
||||
'Search by due date: ' => 'Pencarian berdasarkan tanggal jatuh tempo : ',
|
||||
'Lead and Cycle time for "%s"' => 'Memimpin dan Siklus waktu untuk « %s »',
|
||||
'Average time spent into each column for "%s"' => 'Rata-rata waktu yang dihabiskan dalam setiap kolom untuk « %s »',
|
||||
'Average time spent into each column' => 'Rata-rata waktu yang dihabiskan dalam setiap kolom',
|
||||
'Average time spent' => 'Rata-rata waktu yang dihabiskan',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Grafik ini menunjukkan rata-rata waktu yang dihabiskan dalam setiap kolom untuk %d tugas.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Lesen:',
|
||||
'License' => 'Lesen',
|
||||
'Enter the text below' => 'Masukkan teks di bawah',
|
||||
'Gantt chart for %s' => 'Carta Gantt untuk %s',
|
||||
'Sort by position' => 'Urutkan berdasarkan posisi',
|
||||
'Sort by date' => 'Urutkan berdasarkan tanggal',
|
||||
'Add task' => 'Tambah tugas',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
// 'Version' => '',
|
||||
// 'Plugins' => '',
|
||||
// 'There is no plugin loaded.' => '',
|
||||
// 'Set maximum column height' => '',
|
||||
// 'Remove maximum column height' => '',
|
||||
// 'My notifications' => '',
|
||||
// 'Custom filters' => '',
|
||||
// 'Your custom filter have been created successfully.' => '',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
// 'The name must be unique' => '',
|
||||
// 'View all groups' => '',
|
||||
// 'View group members' => '',
|
||||
// 'There is no user available.' => '',
|
||||
// 'Do you really want to remove the user "%s" from the group "%s"?' => '',
|
||||
// 'There is no group.' => '',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
// 'Enter group name...' => '',
|
||||
'Role:' => 'Peranan',
|
||||
'Project members' => 'Anggota projek',
|
||||
// 'Compare hours for "%s"' => '',
|
||||
// '%s mentioned you in the task #%d' => '',
|
||||
// '%s mentioned you in a comment on the task #%d' => '',
|
||||
// 'You were mentioned in the task #%d' => '',
|
||||
// 'You were mentioned in a comment on the task #%d' => '',
|
||||
// 'Mentioned' => '',
|
||||
// 'Compare Estimated Time vs Actual Time' => '',
|
||||
// 'Estimated hours: ' => '',
|
||||
// 'Actual hours: ' => '',
|
||||
// 'Hours Spent' => '',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Vis annet prosjekt...',
|
||||
'Created by %s' => 'Opprettet av %s',
|
||||
'Tasks Export' => 'Oppgave eksport',
|
||||
'Tasks exportation for "%s"' => 'Oppgaveeksportering for "%s"',
|
||||
'Start Date' => 'Start-dato',
|
||||
'End Date' => 'Slutt-dato',
|
||||
'Execute' => 'KKjør',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Ny deloppgave',
|
||||
'New attachment added "%s"' => 'Nytt vedlegg er lagt tilet "%s"',
|
||||
'New comment posted by %s' => 'Ny kommentar fra %s',
|
||||
'New attachment' => 'Nytt vedlegg',
|
||||
'New comment' => 'Ny kommentar',
|
||||
'Comment updated' => 'Kommentar oppdatert',
|
||||
'New subtask' => 'Ny deloppgave',
|
||||
'Subtask updated' => 'Deloppgave oppdatert',
|
||||
'Task updated' => 'Oppgave oppdatert',
|
||||
'Task closed' => 'Oppgave lukket',
|
||||
'Task opened' => 'Oppgave åpnet',
|
||||
'I want to receive notifications only for those projects:' => 'Jeg vil kun ha varslinger for disse prosjekter:',
|
||||
'view the task on Kanboard' => 'se oppgaven påhovedsiden',
|
||||
'Public access' => 'Offentlig tilgang',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s oppdaterte oppgaven #%d',
|
||||
'%s created the task #%d' => '%s opprettet oppgaven #%d',
|
||||
'%s closed the task #%d' => '%s lukket oppgaven #%d',
|
||||
'%s open the task #%d' => '%s åpnet oppgaven #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s flyttet oppgaven #%d til kolonnen "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s flyttet oppgaven #%d til posisjonen %d i kolonnen "%s"',
|
||||
'%s opened the task #%d' => '%s åpnet oppgaven #%d',
|
||||
'Activity' => 'Aktivitetslogg',
|
||||
'Default values are "%s"' => 'Standardverdier er "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Standard kolonne for nye prosjekter (komma-separert)',
|
||||
'Task assignee change' => 'Endring av oppgaveansvarlig',
|
||||
'%s change the assignee of the task #%d to %s' => '%s endre ansvarlig for oppgaven #%d til %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s endre ansvarlig for oppgaven #%d til %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s endret ansvarlig for oppgaven %s til %s',
|
||||
'New password for the user "%s"' => 'Nytt passord for brukeren "%s"',
|
||||
'Choose an event' => 'Velg en hendelse',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Prosent',
|
||||
'Number of tasks' => 'Antall oppgaver',
|
||||
'Task distribution' => 'Kolonnefordeling',
|
||||
'Reportings' => 'Rapportering',
|
||||
// 'Task repartition for "%s"' => '',
|
||||
'Analytics' => 'Analyser',
|
||||
'Subtask' => 'Deloppgave',
|
||||
'My subtasks' => 'Mine deloppgaver',
|
||||
'User repartition' => 'Brukerfordeling',
|
||||
// 'User repartition for "%s"' => '',
|
||||
'Clone this project' => 'Kopier dette prosjektet',
|
||||
'Column removed successfully.' => 'Kolonne flyttet',
|
||||
// 'Not enough data to show the graph.' => '',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
// 'This value must be numeric' => '',
|
||||
// 'Unable to create this task.' => '',
|
||||
'Cumulative flow diagram' => 'Kumulativt flytdiagram',
|
||||
// 'Cumulative flow diagram for "%s"' => '',
|
||||
'Daily project summary' => 'Daglig prosjektsammendrag',
|
||||
// 'Daily project summary export' => '',
|
||||
// 'Daily project summary export for "%s"' => '',
|
||||
'Exports' => 'Eksporter',
|
||||
// 'This export contains the number of tasks per column grouped per day.' => '',
|
||||
'Active swimlanes' => 'Aktive svømmebaner',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Deloppgave ID',
|
||||
'Subtasks' => 'Deloppgaver',
|
||||
'Subtasks Export' => 'Eksporter deloppgaver',
|
||||
// 'Subtasks exportation for "%s"' => '',
|
||||
'Task Title' => 'Oppgavetittel',
|
||||
// 'Untitled' => '',
|
||||
'Application default' => 'Standardinstilling',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
// 'The currency rate have been added successfully.' => '',
|
||||
// 'Unable to add this currency rate.' => '',
|
||||
// 'Webhook URL' => '',
|
||||
// '%s remove the assignee of the task %s' => '',
|
||||
// '%s removed the assignee of the task %s' => '',
|
||||
// 'Enable Gravatar images' => '',
|
||||
// 'Information' => '',
|
||||
// 'Check two factor authentication code' => '',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
// 'Test your device' => '',
|
||||
'Assign a color when the task is moved to a specific column' => 'Endre til en valgt farge hvis en oppgave flyttes til en spesifikk kolonne',
|
||||
// '%s via Kanboard' => '',
|
||||
// 'Burndown chart for "%s"' => '',
|
||||
// 'Burndown chart' => '',
|
||||
// 'This chart show the task complexity over the time (Work Remaining).' => '',
|
||||
// 'Screenshot taken %s' => '',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Flytt oppgaven til en annen kolonne når kategorien endres',
|
||||
'Send a task by email to someone' => 'Send en oppgave på epost til noen',
|
||||
// 'Reopen a task' => '',
|
||||
'Column change' => 'Endret kolonne',
|
||||
'Position change' => 'Posisjonsendring',
|
||||
'Swimlane change' => 'Endret svømmebane',
|
||||
'Assignee change' => 'Endret eier',
|
||||
// '[%s] Overdue tasks' => '',
|
||||
'Notification' => 'Varsel',
|
||||
// '%s moved the task #%d to the first swimlane' => '',
|
||||
// '%s moved the task #%d to the swimlane "%s"' => '',
|
||||
'Swimlane' => 'Svømmebane',
|
||||
// 'Gravatar' => '',
|
||||
// '%s moved the task %s to the first swimlane' => '',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Søk etter kategori',
|
||||
'Search by description: ' => 'Søk etter beskrivelse',
|
||||
'Search by due date: ' => 'Søk etter frist',
|
||||
// 'Lead and Cycle time for "%s"' => '',
|
||||
// 'Average time spent into each column for "%s"' => '',
|
||||
// 'Average time spent into each column' => '',
|
||||
// 'Average time spent' => '',
|
||||
// 'This chart show the average time spent into each column for the last %d tasks.' => '',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Lisens:',
|
||||
'License' => 'Lisens',
|
||||
'Enter the text below' => 'Legg inn teksten nedenfor',
|
||||
'Gantt chart for %s' => 'Gantt skjema for %s',
|
||||
// 'Sort by position' => '',
|
||||
'Sort by date' => 'Sorter etter dato',
|
||||
'Add task' => 'Legg til oppgave',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
// 'Version' => '',
|
||||
// 'Plugins' => '',
|
||||
// 'There is no plugin loaded.' => '',
|
||||
// 'Set maximum column height' => '',
|
||||
// 'Remove maximum column height' => '',
|
||||
// 'My notifications' => '',
|
||||
// 'Custom filters' => '',
|
||||
// 'Your custom filter have been created successfully.' => '',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
// 'The name must be unique' => '',
|
||||
// 'View all groups' => '',
|
||||
// 'View group members' => '',
|
||||
// 'There is no user available.' => '',
|
||||
// 'Do you really want to remove the user "%s" from the group "%s"?' => '',
|
||||
// 'There is no group.' => '',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
// 'Enter group name...' => '',
|
||||
// 'Role:' => '',
|
||||
'Project members' => 'Prosjektmedlemmer',
|
||||
// 'Compare hours for "%s"' => '',
|
||||
// '%s mentioned you in the task #%d' => '',
|
||||
// '%s mentioned you in a comment on the task #%d' => '',
|
||||
// 'You were mentioned in the task #%d' => '',
|
||||
// 'You were mentioned in a comment on the task #%d' => '',
|
||||
// 'Mentioned' => '',
|
||||
// 'Compare Estimated Time vs Actual Time' => '',
|
||||
// 'Estimated hours: ' => '',
|
||||
// 'Actual hours: ' => '',
|
||||
// 'Hours Spent' => '',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Een ander project weergeven',
|
||||
'Created by %s' => 'Aangemaakt door %s',
|
||||
'Tasks Export' => 'Taken exporteren',
|
||||
'Tasks exportation for "%s"' => 'Taken exporteren voor « %s »',
|
||||
'Start Date' => 'Startdatum',
|
||||
'End Date' => 'Einddatum',
|
||||
'Execute' => 'Uitvoeren',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Nieuwe subtaak',
|
||||
'New attachment added "%s"' => 'Nieuwe bijlage toegevoegd « %s »',
|
||||
'New comment posted by %s' => 'Nieuw commentaar geplaatst door « %s »',
|
||||
'New attachment' => 'Nieuwe bijlage',
|
||||
'New comment' => 'Nieuw commentaar',
|
||||
'Comment updated' => 'Commentaar aangepast',
|
||||
'New subtask' => 'Nieuwe subtaak',
|
||||
'Subtask updated' => 'Subtaak aangepast',
|
||||
'Task updated' => 'Taak aangepast',
|
||||
'Task closed' => 'Taak gesloten',
|
||||
'Task opened' => 'Taak geopend',
|
||||
'I want to receive notifications only for those projects:' => 'Ik wil notificaties ontvangen van de volgende projecten :',
|
||||
'view the task on Kanboard' => 'taak bekijken op Kanboard',
|
||||
'Public access' => 'Publieke toegang',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s heeft taak %d aangepast',
|
||||
'%s created the task #%d' => '%s heeft taak %d aangemaakt',
|
||||
'%s closed the task #%d' => '%s heeft taak %d gesloten',
|
||||
'%s open the task #%d' => '%s a heeft taak %d geopend',
|
||||
'%s moved the task #%d to the column "%s"' => '%s heeft taak %d verplaatst naar kolom « %s »',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s heeft taak %d verplaatst naar positie %d in kolom « %s »',
|
||||
'%s opened the task #%d' => '%s a heeft taak %d geopend',
|
||||
'Activity' => 'Activiteit',
|
||||
'Default values are "%s"' => 'Standaardwaarden zijn « %s »',
|
||||
'Default columns for new projects (Comma-separated)' => 'Standaard kolommen voor nieuw projecten (komma gescheiden)',
|
||||
'Task assignee change' => 'Taak toegewezene verandering',
|
||||
'%s change the assignee of the task #%d to %s' => '%s heeft de toegewezene voor taak %d veranderd in %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s heeft de toegewezene voor taak %d veranderd in %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s heeft de toegewezene voor taak %s veranderd in %s',
|
||||
'New password for the user "%s"' => 'Nieuw wachtwoord voor gebruiker « %s »',
|
||||
'Choose an event' => 'Kies een gebeurtenis',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Percentage',
|
||||
'Number of tasks' => 'Aantal taken',
|
||||
'Task distribution' => 'Distributie van taken',
|
||||
'Reportings' => 'Rapporten',
|
||||
'Task repartition for "%s"' => 'Taakverdeling voor « %s »',
|
||||
'Analytics' => 'Analytics',
|
||||
'Subtask' => 'Subtaak',
|
||||
'My subtasks' => 'Mijn subtaken',
|
||||
'User repartition' => 'Gebruikerverdeling',
|
||||
'User repartition for "%s"' => 'Gebruikerverdeling voor « %s »',
|
||||
'Clone this project' => 'Kloon dit project',
|
||||
'Column removed successfully.' => 'Kolom succesvol verwijderd.',
|
||||
'Not enough data to show the graph.' => 'Niet genoeg data om de grafiek te laten zien.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Deze waarde moet numeriek zijn',
|
||||
'Unable to create this task.' => 'Aanmaken van de taak mislukt',
|
||||
'Cumulative flow diagram' => 'Cummulatief stroomdiagram',
|
||||
'Cumulative flow diagram for "%s"' => 'Cummulatief stroomdiagram voor « %s »',
|
||||
'Daily project summary' => 'Dagelijkse project samenvatting',
|
||||
'Daily project summary export' => 'Dagelijkse project samenvatting export',
|
||||
'Daily project summary export for "%s"' => 'Dagelijkse project samenvatting voor « %s »',
|
||||
'Exports' => 'Exports',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Dit rapport bevat het aantal taken per kolom gegroupeerd per dag.',
|
||||
'Active swimlanes' => 'Actieve swinlanes',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Subtaak id',
|
||||
'Subtasks' => 'Subtaken',
|
||||
'Subtasks Export' => 'Subtaken exporteren',
|
||||
'Subtasks exportation for "%s"' => 'Subtaken exporteren voor project « %s »',
|
||||
'Task Title' => 'Taak title',
|
||||
'Untitled' => 'Geen titel',
|
||||
'Application default' => 'Standaard taal voor applicatie',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
// 'The currency rate have been added successfully.' => '',
|
||||
// 'Unable to add this currency rate.' => '',
|
||||
'Webhook URL' => 'Webhook URL',
|
||||
// '%s remove the assignee of the task %s' => '',
|
||||
// '%s removed the assignee of the task %s' => '',
|
||||
// 'Enable Gravatar images' => '',
|
||||
// 'Information' => '',
|
||||
// 'Check two factor authentication code' => '',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
// 'Test your device' => '',
|
||||
// 'Assign a color when the task is moved to a specific column' => '',
|
||||
// '%s via Kanboard' => '',
|
||||
// 'Burndown chart for "%s"' => '',
|
||||
// 'Burndown chart' => '',
|
||||
// 'This chart show the task complexity over the time (Work Remaining).' => '',
|
||||
// 'Screenshot taken %s' => '',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
// 'Move the task to another column when the category is changed' => '',
|
||||
// 'Send a task by email to someone' => '',
|
||||
'Reopen a task' => 'Heropen een taak',
|
||||
// 'Column change' => '',
|
||||
// 'Position change' => '',
|
||||
// 'Swimlane change' => '',
|
||||
// 'Assignee change' => '',
|
||||
// '[%s] Overdue tasks' => '',
|
||||
// 'Notification' => '',
|
||||
// '%s moved the task #%d to the first swimlane' => '',
|
||||
// '%s moved the task #%d to the swimlane "%s"' => '',
|
||||
'Swimlane' => 'Swimlane',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s heeft de taak %s naar de eerste swimlane verplaatst',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
// 'Search by category: ' => '',
|
||||
// 'Search by description: ' => '',
|
||||
// 'Search by due date: ' => '',
|
||||
// 'Lead and Cycle time for "%s"' => '',
|
||||
// 'Average time spent into each column for "%s"' => '',
|
||||
// 'Average time spent into each column' => '',
|
||||
// 'Average time spent' => '',
|
||||
// 'This chart show the average time spent into each column for the last %d tasks.' => '',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
// 'License:' => '',
|
||||
// 'License' => '',
|
||||
// 'Enter the text below' => '',
|
||||
// 'Gantt chart for %s' => '',
|
||||
// 'Sort by position' => '',
|
||||
// 'Sort by date' => '',
|
||||
// 'Add task' => '',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
// 'Version' => '',
|
||||
// 'Plugins' => '',
|
||||
// 'There is no plugin loaded.' => '',
|
||||
// 'Set maximum column height' => '',
|
||||
// 'Remove maximum column height' => '',
|
||||
// 'My notifications' => '',
|
||||
// 'Custom filters' => '',
|
||||
// 'Your custom filter have been created successfully.' => '',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
// 'The name must be unique' => '',
|
||||
// 'View all groups' => '',
|
||||
// 'View group members' => '',
|
||||
// 'There is no user available.' => '',
|
||||
// 'Do you really want to remove the user "%s" from the group "%s"?' => '',
|
||||
// 'There is no group.' => '',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
// 'Enter group name...' => '',
|
||||
// 'Role:' => '',
|
||||
// 'Project members' => '',
|
||||
// 'Compare hours for "%s"' => '',
|
||||
// '%s mentioned you in the task #%d' => '',
|
||||
// '%s mentioned you in a comment on the task #%d' => '',
|
||||
// 'You were mentioned in the task #%d' => '',
|
||||
// 'You were mentioned in a comment on the task #%d' => '',
|
||||
// 'Mentioned' => '',
|
||||
// 'Compare Estimated Time vs Actual Time' => '',
|
||||
// 'Estimated hours: ' => '',
|
||||
// 'Actual hours: ' => '',
|
||||
// 'Hours Spent' => '',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
//' Hide tasks in this column in the dashboard' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Wyświetl inny projekt',
|
||||
'Created by %s' => 'Utworzone przez %s',
|
||||
'Tasks Export' => 'Eksport zadań',
|
||||
'Tasks exportation for "%s"' => 'Eksport zadań dla "%s"',
|
||||
'Start Date' => 'Data początkowa',
|
||||
'End Date' => 'Data Końcowa',
|
||||
'Execute' => 'Wykonaj',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Nowe Pod-zadanie',
|
||||
'New attachment added "%s"' => 'Nowy załącznik dodany "%s"',
|
||||
'New comment posted by %s' => 'Nowy komentarz dodany przez %s',
|
||||
'New attachment' => 'Nowy załącznik',
|
||||
'New comment' => 'Nowy Komentarz',
|
||||
'Comment updated' => 'Komentarz zaktualizowany',
|
||||
'New subtask' => 'Nowe pod-zadanie',
|
||||
'Subtask updated' => 'Zaktualizowane pod-zadanie',
|
||||
'Task updated' => 'Zaktualizowane zadanie',
|
||||
'Task closed' => 'Zadanie zamknięte',
|
||||
'Task opened' => 'Zadanie otwarte',
|
||||
'I want to receive notifications only for those projects:' => 'Chcę otrzymywać powiadomienia tylko dla poniższych projektów:',
|
||||
'view the task on Kanboard' => 'Zobacz zadanie',
|
||||
'Public access' => 'Dostęp publiczny',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s zaktualizował zadanie #%d',
|
||||
'%s created the task #%d' => '%s utworzył zadanie #%d',
|
||||
'%s closed the task #%d' => '%s zamknął zadanie #%d',
|
||||
'%s open the task #%d' => '%s otworzył zadanie #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s przeniósł zadanie #%d do kolumny "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s przeniósł zadanie #%d na pozycję %d w kolmnie "%s"',
|
||||
'%s opened the task #%d' => '%s otworzył zadanie #%d',
|
||||
'Activity' => 'Aktywność',
|
||||
'Default values are "%s"' => 'Domyślne wartości: "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Domyślne kolumny dla nowych projektów (oddzielone przecinkiem)',
|
||||
'Task assignee change' => 'Zmień osobę odpowiedzialną',
|
||||
'%s change the assignee of the task #%d to %s' => '%s zmienił osobę odpowiedzialną za zadanie #%d na %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s zmienił osobę odpowiedzialną za zadanie #%d na %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s zmienił osobę odpowiedzialną za zadanie %s na %s',
|
||||
'New password for the user "%s"' => 'Nowe hasło użytkownika "%s"',
|
||||
'Choose an event' => 'Wybierz zdarzenie',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Procent',
|
||||
'Number of tasks' => 'Liczba zadań',
|
||||
'Task distribution' => 'Rozmieszczenie zadań',
|
||||
'Reportings' => 'Raporty',
|
||||
'Task repartition for "%s"' => 'Przydział zadań dla "%s"',
|
||||
'Analytics' => 'Analizy',
|
||||
'Subtask' => 'Pod-zadanie',
|
||||
'My subtasks' => 'Moje pod-zadania',
|
||||
'User repartition' => 'Przydział użytkownika',
|
||||
'User repartition for "%s"' => 'Przydział użytkownika dla "%s"',
|
||||
'Clone this project' => 'Sklonuj ten projekt',
|
||||
'Column removed successfully.' => 'Kolumna usunięta pomyślnie.',
|
||||
'Not enough data to show the graph.' => 'Za mało danych do utworzenia wykresu.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Wartość musi być liczbą',
|
||||
'Unable to create this task.' => 'Nie można tworzyć zadania.',
|
||||
'Cumulative flow diagram' => 'Zbiorowy diagram przepływu',
|
||||
'Cumulative flow diagram for "%s"' => 'Zbiorowy diagram przepływu dla "%s"',
|
||||
'Daily project summary' => 'Dzienne raport z projektu',
|
||||
'Daily project summary export' => 'Eksport dziennego podsumowania projektu',
|
||||
'Daily project summary export for "%s"' => 'Wygeneruj dzienny raport dla projektu: "%s"',
|
||||
'Exports' => 'Eksporty',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Ten eksport zawiera ilość zadań zgrupowanych w kolumnach na dzień',
|
||||
'Active swimlanes' => 'Aktywne tory',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'ID pod-zadania',
|
||||
'Subtasks' => 'Pod-zadania',
|
||||
'Subtasks Export' => 'Eksport pod-zadań',
|
||||
'Subtasks exportation for "%s"' => 'Wygeneruj raport pod-zadań dla projektu "%s"',
|
||||
'Task Title' => 'Nazwa zadania',
|
||||
'Untitled' => 'Bez nazwy',
|
||||
'Application default' => 'Domyślne dla aplikacji',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Dodano kurs waluty',
|
||||
'Unable to add this currency rate.' => 'Nie można dodać kursu waluty',
|
||||
'Webhook URL' => 'Adres webhooka',
|
||||
'%s remove the assignee of the task %s' => '%s usunął osobę przypisaną do zadania %s',
|
||||
'%s removed the assignee of the task %s' => '%s usunął osobę przypisaną do zadania %s',
|
||||
'Enable Gravatar images' => 'Włącz Gravatar',
|
||||
'Information' => 'Informacje',
|
||||
'Check two factor authentication code' => 'Sprawdź kod weryfikujący',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Przetestuj urządzenie',
|
||||
'Assign a color when the task is moved to a specific column' => 'Przypisz kolor gdy zadanie jest przeniesione do danej kolumny',
|
||||
'%s via Kanboard' => '%s poprzez Kanboard',
|
||||
'Burndown chart for "%s"' => 'Wykres Burndown dla "%s"',
|
||||
'Burndown chart' => 'Wykres Burndown',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Ten wykres pokazuje złożoność zadania na przestrzeni czasu (pozostała praca).',
|
||||
'Screenshot taken %s' => 'Zrzut ekranu zapisany %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Przenieś zadanie do innej kolumny gdy kategoria ulegnie zmianie',
|
||||
'Send a task by email to someone' => 'Wyślij zadanie emailem do kogoś',
|
||||
'Reopen a task' => 'Otwórz ponownie zadanie',
|
||||
'Column change' => 'Zmiana kolumny',
|
||||
'Position change' => 'Zmiana pozycji',
|
||||
'Swimlane change' => 'Zmiana toru',
|
||||
'Assignee change' => 'Zmiana przypisanego użytkownika',
|
||||
'[%s] Overdue tasks' => '[%s] zaległych zadań',
|
||||
'Notification' => 'Powiadomienie',
|
||||
'%s moved the task #%d to the first swimlane' => '%s przeniosł zadanie #%d na pierwszy tor',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s przeniosł zadanie #%d na tor "%s"',
|
||||
'Swimlane' => 'Tor',
|
||||
// 'Gravatar' => '',
|
||||
'%s moved the task %s to the first swimlane' => '%s przeniosł zadanie %s na pierwszy tor',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Szukaj wg kategorii:',
|
||||
'Search by description: ' => 'Szukaj wg opisu:',
|
||||
'Search by due date: ' => 'Szukaj wg terminu:',
|
||||
'Lead and Cycle time for "%s"' => 'Czas cyklu i realizacji dla "%s"',
|
||||
'Average time spent into each column for "%s"' => 'Średni czas spędzony w każdej z kolumn dla "%s"',
|
||||
'Average time spent into each column' => 'Średni czas spędzony w każdej z kolumn',
|
||||
'Average time spent' => 'Średni spędzony czas',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Niniejszy wykres pokazuje średni czas spędzony w każdej z kolumn dla ostatnich %d zadań.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Licencja:',
|
||||
'License' => 'Licencja',
|
||||
'Enter the text below' => 'Wpisz tekst poniżej',
|
||||
'Gantt chart for %s' => 'Wykres Gantt dla %s',
|
||||
'Sort by position' => 'Sortuj wg pozycji',
|
||||
'Sort by date' => 'Sortuj wg daty',
|
||||
'Add task' => 'Dodaj zadanie',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
'Version' => 'Wersja',
|
||||
'Plugins' => 'Wtyczki',
|
||||
'There is no plugin loaded.' => 'Nie wykryto żadnych wtyczek.',
|
||||
'Set maximum column height' => 'Rozwiń kolumny',
|
||||
'Remove maximum column height' => 'Zwiń kolumny',
|
||||
'My notifications' => 'Powiadomienia',
|
||||
'Custom filters' => 'Dostosuj filtry',
|
||||
'Your custom filter have been created successfully.' => 'Niestandardowy filtr został utworzony.',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
'Invalid captcha' => 'Błędny kod z obrazka (captcha)',
|
||||
'The name must be unique' => 'Nazwa musi być unikatowa',
|
||||
'View all groups' => 'Wyświetl wszystkie grupy',
|
||||
'View group members' => 'Wyświetl wszystkich członków grupy',
|
||||
'There is no user available.' => 'Żaden użytkownik nie jest dostępny.',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => 'Czy na pewno chcesz usunąć użytkownika "%s" z grupy "%s"?',
|
||||
'There is no group.' => 'Nie utworzono jeszcze żadnej grupy.',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
'Enter group name...' => 'Wprowadź nazwę grupy...',
|
||||
'Role:' => 'Rola:',
|
||||
'Project members' => 'Uczestnicy projektu',
|
||||
'Compare hours for "%s"' => 'Porównaj godziny dla "%s"',
|
||||
'%s mentioned you in the task #%d' => '%s wspomiał o Tobie w zadaniu #%d',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s wspomiał o Tobie w komentarzu do zadania #%d',
|
||||
'You were mentioned in the task #%d' => 'Wspomiano o Tobie w zadaniu #%d',
|
||||
'You were mentioned in a comment on the task #%d' => 'Wspomiano o Tobie w komentarzu do zadania #%d',
|
||||
'Mentioned' => 'Wspomiano',
|
||||
'Compare Estimated Time vs Actual Time' => 'Porównaj szacowany czas z rzeczywistym',
|
||||
'Estimated hours: ' => 'Szacowane godziny: ',
|
||||
'Actual hours: ' => 'Rzeczywiste godziny: ',
|
||||
'Hours Spent' => 'Spędzone godziny',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Exibir outro projeto',
|
||||
'Created by %s' => 'Criado por %s',
|
||||
'Tasks Export' => 'Exportar Tarefas',
|
||||
'Tasks exportation for "%s"' => 'As tarefas foram exportadas para "%s"',
|
||||
'Start Date' => 'Data inicial',
|
||||
'End Date' => 'Data final',
|
||||
'Execute' => 'Executar',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Nova subtarefa',
|
||||
'New attachment added "%s"' => 'Novo anexo adicionado "%s"',
|
||||
'New comment posted by %s' => 'Novo comentário postado por %s',
|
||||
'New attachment' => 'Novo anexo',
|
||||
'New comment' => 'Novo comentário',
|
||||
'Comment updated' => 'Comentário atualizado',
|
||||
'New subtask' => 'Nova subtarefa',
|
||||
'Subtask updated' => 'Subtarefa alterada',
|
||||
'Task updated' => 'Tarefa alterada',
|
||||
'Task closed' => 'Tarefa finalizada',
|
||||
'Task opened' => 'Tarefa aberta',
|
||||
'I want to receive notifications only for those projects:' => 'Quero receber notificações apenas destes projetos:',
|
||||
'view the task on Kanboard' => 'ver a tarefa no Kanboard',
|
||||
'Public access' => 'Acesso público',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s atualizou a tarefa #%d',
|
||||
'%s created the task #%d' => '%s criou a tarefa #%d',
|
||||
'%s closed the task #%d' => '%s finalizou a tarefa #%d',
|
||||
'%s open the task #%d' => '%s abriu a tarefa #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s moveu a tarefa #%d para a coluna "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s moveu a tarefa #%d para a posição %d na coluna "%s"',
|
||||
'%s opened the task #%d' => '%s abriu a tarefa #%d',
|
||||
'Activity' => 'Atividade',
|
||||
'Default values are "%s"' => 'Os valores padrão são "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Colunas padrão para novos projetos (Separado por vírgula)',
|
||||
'Task assignee change' => 'Mudar designação da tarefa',
|
||||
'%s change the assignee of the task #%d to %s' => '%s mudou a designação da tarefa #%d para %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s mudou a designação da tarefa #%d para %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s mudou a designação da tarefa %s para %s',
|
||||
'New password for the user "%s"' => 'Nova senha para o usuário "%s"',
|
||||
'Choose an event' => 'Escolher um evento',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Porcentagem',
|
||||
'Number of tasks' => 'Número de tarefas',
|
||||
'Task distribution' => 'Distribuição de tarefas',
|
||||
'Reportings' => 'Relatórios',
|
||||
'Task repartition for "%s"' => 'Redistribuição da tarefa para "%s"',
|
||||
'Analytics' => 'Estatísticas',
|
||||
'Subtask' => 'Subtarefa',
|
||||
'My subtasks' => 'Minhas subtarefas',
|
||||
'User repartition' => 'Redistribuição de usuário',
|
||||
'User repartition for "%s"' => 'Redistribuição de usuário para "%s"',
|
||||
'Clone this project' => 'Clonar este projeto',
|
||||
'Column removed successfully.' => 'Coluna removida com sucesso.',
|
||||
'Not enough data to show the graph.' => 'Não há dados suficientes para mostrar o gráfico.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Este valor deve ser numérico',
|
||||
'Unable to create this task.' => 'Não foi possível criar esta tarefa.',
|
||||
'Cumulative flow diagram' => 'Fluxograma cumulativo',
|
||||
'Cumulative flow diagram for "%s"' => 'Fluxograma cumulativo para "%s"',
|
||||
'Daily project summary' => 'Resumo diário do projeto',
|
||||
'Daily project summary export' => 'Exportação diária do resumo do projeto',
|
||||
'Daily project summary export for "%s"' => 'Exportação diária do resumo do projeto para "%s"',
|
||||
'Exports' => 'Exportar',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Esta exportação contém o número de tarefas por coluna agrupada por dia.',
|
||||
'Active swimlanes' => 'Ativar swimlanes',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'ID da subtarefa',
|
||||
'Subtasks' => 'Subtarefas',
|
||||
'Subtasks Export' => 'Exportar subtarefas',
|
||||
'Subtasks exportation for "%s"' => 'Subtarefas exportadas para "%s"',
|
||||
'Task Title' => 'Título da Tarefa',
|
||||
'Untitled' => 'Sem título',
|
||||
'Application default' => 'Padrão da aplicação',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'A taxa de câmbio foi adicionada com sucesso.',
|
||||
'Unable to add this currency rate.' => 'Impossível de adicionar essa taxa de câmbio.',
|
||||
'Webhook URL' => 'URL do webhook',
|
||||
'%s remove the assignee of the task %s' => '%s removeu a pessoa designada para a tarefa %s',
|
||||
'%s removed the assignee of the task %s' => '%s removeu a pessoa designada para a tarefa %s',
|
||||
'Enable Gravatar images' => 'Ativar imagens do Gravatar',
|
||||
'Information' => 'Informações',
|
||||
'Check two factor authentication code' => 'Verifique o código de autenticação em duas etapas',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Teste o seu dispositivo',
|
||||
'Assign a color when the task is moved to a specific column' => 'Atribuir uma cor quando a tarefa é movida em uma coluna específica',
|
||||
'%s via Kanboard' => '%s via Kanboard',
|
||||
'Burndown chart for "%s"' => 'Gráfico de Burndown para "%s"',
|
||||
'Burndown chart' => 'Gráfico de Burndown',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Este gráfico mostra a complexidade da tarefa ao longo do tempo (Trabalho Restante).',
|
||||
'Screenshot taken %s' => 'Captura de tela tirada em %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Mover uma tarefa para outra coluna quando a categoria mudou',
|
||||
'Send a task by email to someone' => 'Enviar uma tarefa por e-mail a alguém',
|
||||
'Reopen a task' => 'Reabrir uma tarefa',
|
||||
'Column change' => 'Mudança de coluna',
|
||||
'Position change' => 'Mudança de posição',
|
||||
'Swimlane change' => 'Mudança de swimlane',
|
||||
'Assignee change' => 'Mudança de designação',
|
||||
'[%s] Overdue tasks' => '[%s] Tarefas atrasadas',
|
||||
'Notification' => 'Notificação',
|
||||
'%s moved the task #%d to the first swimlane' => '%s moveu a tarefa #%d para a primeira swimlane',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s moveu a tarefa #%d para a swimlane "%s"',
|
||||
'Swimlane' => 'Swimlane',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s moveu a tarefa %s para a primeira swimlane',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Pesquisar por categoria: ',
|
||||
'Search by description: ' => 'Pesquisar por descrição: ',
|
||||
'Search by due date: ' => 'Pesquisar por data de expiração: ',
|
||||
'Lead and Cycle time for "%s"' => 'Lead and Cycle time para "%s"',
|
||||
'Average time spent into each column for "%s"' => 'Tempo médio gasto em cada coluna para "%s"',
|
||||
'Average time spent into each column' => 'Tempo médio gasto em cada coluna',
|
||||
'Average time spent' => 'Tempo médio gasto',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Este gráfico mostra o tempo médio gasto em cada coluna para as %d últimas tarefas.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Licença:',
|
||||
'License' => 'Licença',
|
||||
'Enter the text below' => 'Entre o texto abaixo',
|
||||
'Gantt chart for %s' => 'Gráfico de Gantt para %s',
|
||||
'Sort by position' => 'Ordenar por posição',
|
||||
'Sort by date' => 'Ordenar por data',
|
||||
'Add task' => 'Adicionar uma tarefa',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
'Version' => 'Versão',
|
||||
'Plugins' => 'Extensões',
|
||||
'There is no plugin loaded.' => 'Não há extensões carregadas.',
|
||||
'Set maximum column height' => 'Definir a altura máxima das colunas',
|
||||
'Remove maximum column height' => 'Retirar a altura máxima das colunas',
|
||||
'My notifications' => 'Minhas notificações',
|
||||
'Custom filters' => 'Filtros personalizados',
|
||||
'Your custom filter have been created successfully.' => 'Seu filtro personalizado foi criado com sucesso.',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
'Invalid captcha' => 'Captcha inválido',
|
||||
'The name must be unique' => 'O nome deve ser único',
|
||||
'View all groups' => 'Ver todos os grupos',
|
||||
'View group members' => 'Ver os membros do grupo',
|
||||
'There is no user available.' => 'Não há nenhum usuário disponível',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => 'Você realmente deseja remover o usuário "%s" do grupo "%s"?',
|
||||
'There is no group.' => 'Não há nenhum grupo.',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
'Enter group name...' => 'Digite o nome do grupo',
|
||||
'Role:' => 'Função:',
|
||||
'Project members' => 'Membros de projeto',
|
||||
'Compare hours for "%s"' => 'Comparar as horas para "%s"',
|
||||
'%s mentioned you in the task #%d' => '%s mencionou você na tarefa #%d',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s mencionou você num comentário da tarefa #%d',
|
||||
'You were mentioned in the task #%d' => 'Você foi mencionado na tarefa #%d',
|
||||
'You were mentioned in a comment on the task #%d' => 'Você foi mencionado num comentário da tarefa #%d',
|
||||
'Mentioned' => 'Mencionado',
|
||||
'Compare Estimated Time vs Actual Time' => 'Comparar o tempo estimado e o tempo atual',
|
||||
'Estimated hours: ' => 'Horas estimadas: ',
|
||||
'Actual hours: ' => 'Horas reais: ',
|
||||
'Hours Spent' => 'Horas gastas',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Mostrar outro projecto',
|
||||
'Created by %s' => 'Criado por %s',
|
||||
'Tasks Export' => 'Exportar Tarefas',
|
||||
'Tasks exportation for "%s"' => 'As tarefas foram exportadas para "%s"',
|
||||
'Start Date' => 'Data inicial',
|
||||
'End Date' => 'Data final',
|
||||
'Execute' => 'Executar',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Nova subtarefa',
|
||||
'New attachment added "%s"' => 'Novo anexo adicionado "%s"',
|
||||
'New comment posted by %s' => 'Novo comentário por %s',
|
||||
'New attachment' => 'Novo anexo',
|
||||
'New comment' => 'Novo comentário',
|
||||
'Comment updated' => 'Comentário actualizado',
|
||||
'New subtask' => 'Nova subtarefa',
|
||||
'Subtask updated' => 'Subtarefa alterada',
|
||||
'Task updated' => 'Tarefa alterada',
|
||||
'Task closed' => 'Tarefa finalizada',
|
||||
'Task opened' => 'Tarefa aberta',
|
||||
'I want to receive notifications only for those projects:' => 'Quero receber notificações apenas destes projectos:',
|
||||
'view the task on Kanboard' => 'ver a tarefa no Kanboard',
|
||||
'Public access' => 'Acesso público',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s actualizou a tarefa #%d',
|
||||
'%s created the task #%d' => '%s criou a tarefa #%d',
|
||||
'%s closed the task #%d' => '%s finalizou a tarefa #%d',
|
||||
'%s open the task #%d' => '%s abriu a tarefa #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s moveu a tarefa #%d para a coluna "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s moveu a tarefa #%d para a posição %d na coluna "%s"',
|
||||
'%s opened the task #%d' => '%s abriu a tarefa #%d',
|
||||
'Activity' => 'Actividade',
|
||||
'Default values are "%s"' => 'Os valores padrão são "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Colunas padrão para novos projectos (Separado por vírgula)',
|
||||
'Task assignee change' => 'Mudar assignação da tarefa',
|
||||
'%s change the assignee of the task #%d to %s' => '%s mudou a assignação da tarefa #%d para %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s mudou a assignação da tarefa #%d para %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s mudou a assignação da tarefa %s para %s',
|
||||
'New password for the user "%s"' => 'Nova senha para o utilizador "%s"',
|
||||
'Choose an event' => 'Escolher um evento',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Percentagem',
|
||||
'Number of tasks' => 'Número de tarefas',
|
||||
'Task distribution' => 'Distribuição de tarefas',
|
||||
'Reportings' => 'Relatórios',
|
||||
'Task repartition for "%s"' => 'Redistribuição da tarefa para "%s"',
|
||||
'Analytics' => 'Estatísticas',
|
||||
'Subtask' => 'Subtarefa',
|
||||
'My subtasks' => 'As minhas subtarefas',
|
||||
'User repartition' => 'Redistribuição de utilizador',
|
||||
'User repartition for "%s"' => 'Redistribuição de utilizador para "%s"',
|
||||
'Clone this project' => 'Clonar este projecto',
|
||||
'Column removed successfully.' => 'Coluna removida com sucesso.',
|
||||
'Not enough data to show the graph.' => 'Não há dados suficientes para mostrar o gráfico.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Este valor deve ser numérico',
|
||||
'Unable to create this task.' => 'Não foi possível criar esta tarefa.',
|
||||
'Cumulative flow diagram' => 'Fluxograma cumulativo',
|
||||
'Cumulative flow diagram for "%s"' => 'Fluxograma cumulativo para "%s"',
|
||||
'Daily project summary' => 'Resumo diário do projecto',
|
||||
'Daily project summary export' => 'Exportação diária do resumo do projecto',
|
||||
'Daily project summary export for "%s"' => 'Exportação diária do resumo do projecto para "%s"',
|
||||
'Exports' => 'Exportar',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Esta exportação contém o número de tarefas por coluna agrupada por dia.',
|
||||
'Active swimlanes' => 'Activar swimlanes',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'ID da subtarefa',
|
||||
'Subtasks' => 'Subtarefas',
|
||||
'Subtasks Export' => 'Exportar subtarefas',
|
||||
'Subtasks exportation for "%s"' => 'Subtarefas exportadas para "%s"',
|
||||
'Task Title' => 'Título da Tarefa',
|
||||
'Untitled' => 'Sem título',
|
||||
'Application default' => 'Aplicação padrão',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'A taxa de câmbio foi adicionada com sucesso.',
|
||||
'Unable to add this currency rate.' => 'Impossível adicionar essa taxa de câmbio.',
|
||||
'Webhook URL' => 'URL do webhook',
|
||||
'%s remove the assignee of the task %s' => '%s removeu a pessoa assignada à tarefa %s',
|
||||
'%s removed the assignee of the task %s' => '%s removeu a pessoa assignada à tarefa %s',
|
||||
'Enable Gravatar images' => 'Activar imagem Gravatar',
|
||||
'Information' => 'Informações',
|
||||
'Check two factor authentication code' => 'Verificação do código de autenticação com factor duplo',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Teste o seu dispositivo',
|
||||
'Assign a color when the task is moved to a specific column' => 'Atribuir uma cor quando a tarefa é movida em uma coluna específica',
|
||||
'%s via Kanboard' => '%s via Kanboard',
|
||||
'Burndown chart for "%s"' => 'Gráfico de Burndown para "%s"',
|
||||
'Burndown chart' => 'Gráfico de Burndown',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Este gráfico mostra a complexidade da tarefa ao longo do tempo (Trabalho Restante).',
|
||||
'Screenshot taken %s' => 'Screenshot tirada a %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Mover uma tarefa para outra coluna quando a categoria mudar',
|
||||
'Send a task by email to someone' => 'Enviar uma tarefa por e-mail a alguém',
|
||||
'Reopen a task' => 'Reabrir uma tarefa',
|
||||
'Column change' => 'Mudança de coluna',
|
||||
'Position change' => 'Mudança de posição',
|
||||
'Swimlane change' => 'Mudança de swimlane',
|
||||
'Assignee change' => 'Mudança de assignação',
|
||||
'[%s] Overdue tasks' => '[%s] Tarefas atrasadas',
|
||||
'Notification' => 'Notificação',
|
||||
'%s moved the task #%d to the first swimlane' => '%s moveu a tarefa n° %d no primeiro swimlane',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s moveu a tarefa n° %d no swimlane "%s"',
|
||||
'Swimlane' => 'Swimlane',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s moveu a tarefa %s no primeiro swimlane',
|
||||
|
|
@ -758,9 +737,7 @@ return array(
|
|||
'Search by category: ' => 'Pesquisar por categoria: ',
|
||||
'Search by description: ' => 'Pesquisar por descrição: ',
|
||||
'Search by due date: ' => 'Pesquisar por data de vencimento: ',
|
||||
'Lead and Cycle time for "%s"' => 'Tempo de Espera e Ciclo para "%s"',
|
||||
'Average time spent into each column for "%s"' => 'Tempo médio gasto em cada coluna para "%s"',
|
||||
'Average time spent into each column' => 'Tempo médio gasto em cada coluna',
|
||||
'Average time spent into each column' => 'Tempo médio gasto por coluna',
|
||||
'Average time spent' => 'Tempo médio gasto',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Este gráfico mostra o tempo médio gasto em cada coluna nas últimas %d tarefas.',
|
||||
'Average Lead and Cycle time' => 'Tempo de Espera e Ciclo médio',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Licença:',
|
||||
'License' => 'Licença',
|
||||
'Enter the text below' => 'Escreva o texto em baixo',
|
||||
'Gantt chart for %s' => 'Gráfico de Gantt para %s',
|
||||
'Sort by position' => 'Ordenar por posição',
|
||||
'Sort by date' => 'Ordenar por data',
|
||||
'Add task' => 'Adicionar tarefa',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
'Version' => 'Versão',
|
||||
'Plugins' => 'Plugins',
|
||||
'There is no plugin loaded.' => 'Não existem extras carregados',
|
||||
'Set maximum column height' => 'Definir altura máxima da coluna',
|
||||
'Remove maximum column height' => 'Remover altura máxima da coluna',
|
||||
'My notifications' => 'As minhas notificações',
|
||||
'Custom filters' => 'Filtros personalizados',
|
||||
'Your custom filter have been created successfully.' => 'O seu filtro personalizado foi criado com sucesso.',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
'Invalid captcha' => 'Captcha inválido',
|
||||
'The name must be unique' => 'O nome deve ser único',
|
||||
'View all groups' => 'Ver todos os grupos',
|
||||
'View group members' => 'Ver membros do grupo',
|
||||
'There is no user available.' => 'Não existe utilizador disponivel.',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => 'Tem a certeza que quer remover o utilizador "%s" do grupo "%s"?',
|
||||
'There is no group.' => 'Não existe grupo.',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
'Enter group name...' => 'Escreva o nome do Grupo',
|
||||
'Role:' => 'Função:',
|
||||
'Project members' => 'Membros do projecto',
|
||||
'Compare hours for "%s"' => 'Comparar horas para "%s"',
|
||||
'%s mentioned you in the task #%d' => '%s mencionou-te na tarefa #%d',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s mencionou-te num comentário na tarefa #%d',
|
||||
'You were mentioned in the task #%d' => 'Foi mencionado na tarefa #%d',
|
||||
'You were mentioned in a comment on the task #%d' => 'Foi mencionado num comentário na tarefa #%d',
|
||||
'Mentioned' => 'Mencionado',
|
||||
'Compare Estimated Time vs Actual Time' => 'Comparar Tempo Estimado vs Tempo Real',
|
||||
'Estimated hours: ' => 'Horas estimadas: ',
|
||||
'Actual hours: ' => 'Horas reais: ',
|
||||
'Hours Spent' => 'Horas Gastas',
|
||||
|
|
@ -1215,6 +1185,33 @@ return array(
|
|||
'Do you really want to remove this tag: "%s"?' => 'Tem a certeza que pretende remover esta etiqueta: "%s"?',
|
||||
'Global tags' => 'Etiquetas globais',
|
||||
'There is no global tag at the moment.' => 'De momento não existe nenhuma etiqueta global.',
|
||||
// 'This field cannot be empty' => '',
|
||||
//'Hide tasks in this column in the dashboard' => '',
|
||||
'This field cannot be empty' => 'Este campo não pode ficar vazio',
|
||||
'Close a task when there is no activity in an specific column' => 'Fechar tarefa quando não houver actividade numa coluna especifica',
|
||||
'%s removed a subtask for the task #%d' => '%s removeu uma sub-tarefa da tarefa #%d',
|
||||
'%s removed a comment on the task #%d' => '%s removeu um comentário da tarefa #%d ',
|
||||
'Comment removed on task #%d' => 'Comentário removido da tarefa #%d',
|
||||
'Subtask removed on task #%d' => 'Sub-tarefa removida da tarefa #%d',
|
||||
'Hide tasks in this column in the dashboard' => 'Esconder do meu painel tarefas nesta coluna',
|
||||
'%s removed a comment on the task %s' => '%s removeu um comentário da tarefa %s',
|
||||
'%s removed a subtask for the task %s' => '%s removeu uma sub-tarefa da tarefa %s',
|
||||
'Comment removed' => 'Comentário removido',
|
||||
'Subtask removed' => 'Sub-tarefa removida',
|
||||
'%s set a new internal link for the task #%d' => '%s definiu uma nova ligação interna para a tarefa #%d',
|
||||
'%s removed an internal link for the task #%d' => '%s removeu uma ligação interna da tarefa #%d',
|
||||
'A new internal link for the task #%d have been defined' => 'Uma nova ligação para a tarea #%d foi definida',
|
||||
'Internal link removed for the task #%d' => 'Ligação interna removida da tarefa #%d',
|
||||
'%s set a new internal link for the task %s' => '%s definiu uma nova ligação interna para a tarefa %s',
|
||||
'%s removed an internal link for the task %s' => '%s removeu uma ligação interna da tarefa %s',
|
||||
'Automatically set the due date on task creation' => 'Definir data de vencimento automáticamente ao criar uma tarefa',
|
||||
'Move the task to another column when closed' => 'Mover a tarefa para outra coluna quando fechada',
|
||||
'Move the task to another column when not moved during a given period' => 'Mover a tarefa para outra coluna quando não movida dentro de determinado periodo',
|
||||
'Dashboard for %s' => 'Painel de %s',
|
||||
'Tasks overview for %s' => 'Vista geral das tarefas de %s',
|
||||
'Subtasks overview for %s' => 'Vista geral das sub-tarefas de %s',
|
||||
'Projects overview for %s' => 'Vista geral dos projectos de %s',
|
||||
'Activity stream for %s' => 'Fluxo de actividade de %s',
|
||||
'Calendar for %s' => 'Calendário de %s',
|
||||
'Notifications for %s' => 'Notificações de %s',
|
||||
'Subtasks export' => 'Exportar sub-tarefas',
|
||||
'Tasks exportation' => 'Exportação de tarefas',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Показать другой проект',
|
||||
'Created by %s' => 'Создано %s',
|
||||
'Tasks Export' => 'Экспорт задач',
|
||||
'Tasks exportation for "%s"' => 'Задача экспортирована для « %s »',
|
||||
'Start Date' => 'Дата начала',
|
||||
'End Date' => 'Дата завершения',
|
||||
'Execute' => 'Выполнить',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Новая подзадача',
|
||||
'New attachment added "%s"' => 'Добавлено вложение « %s »',
|
||||
'New comment posted by %s' => 'Новый комментарий написан « %s »',
|
||||
'New attachment' => 'Новое вложение',
|
||||
'New comment' => 'Новый комментарий',
|
||||
'Comment updated' => 'Комментарий обновлен',
|
||||
'New subtask' => 'Новая подзадача',
|
||||
'Subtask updated' => 'Подзадача обновлена',
|
||||
'Task updated' => 'Задача обновлена',
|
||||
'Task closed' => 'Задача закрыта',
|
||||
'Task opened' => 'Задача открыта',
|
||||
'I want to receive notifications only for those projects:' => 'Я хочу получать уведомления только по этим проектам:',
|
||||
'view the task on Kanboard' => 'посмотреть задачу на Kanboard',
|
||||
'Public access' => 'Общий доступ',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s обновил задачу #%d',
|
||||
'%s created the task #%d' => '%s создал задачу #%d',
|
||||
'%s closed the task #%d' => '%s закрыл задачу #%d',
|
||||
'%s open the task #%d' => '%s открыл задачу #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s переместил задачу #%d в колонку "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s переместил задачу #%d на позицию %d в колонке "%s"',
|
||||
'%s opened the task #%d' => '%s открыл задачу #%d',
|
||||
'Activity' => 'Активность',
|
||||
'Default values are "%s"' => 'Колонки по умолчанию: "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Колонки по умолчанию для новых проектов (разделять запятой)',
|
||||
'Task assignee change' => 'Изменен назначенный',
|
||||
'%s change the assignee of the task #%d to %s' => '%s сменил назначенного для задачи #%d на %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s сменил назначенного для задачи #%d на %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s сменил назначенного для задачи %s на %s',
|
||||
'New password for the user "%s"' => 'Новый пароль для пользователя "%s"',
|
||||
'Choose an event' => 'Выберите событие',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Процент',
|
||||
'Number of tasks' => 'Количество задач',
|
||||
'Task distribution' => 'Распределение задач',
|
||||
'Reportings' => 'Отчетность',
|
||||
'Task repartition for "%s"' => 'Распределение задач для "%s"',
|
||||
'Analytics' => 'Аналитика',
|
||||
'Subtask' => 'Подзадача',
|
||||
'My subtasks' => 'Мои подзадачи',
|
||||
'User repartition' => 'Перераспределение пользователей',
|
||||
'User repartition for "%s"' => 'Перераспределение пользователей для "%s"',
|
||||
'Clone this project' => 'Клонировать проект',
|
||||
'Column removed successfully.' => 'Колонка успешно удалена.',
|
||||
'Not enough data to show the graph.' => 'Недостаточно данных, чтобы показать график.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Это значение должно быть цифровым',
|
||||
'Unable to create this task.' => 'Невозможно создать задачу.',
|
||||
'Cumulative flow diagram' => 'Накопительная диаграма',
|
||||
'Cumulative flow diagram for "%s"' => 'Накопительная диаграма для "%s"',
|
||||
'Daily project summary' => 'Ежедневное состояние проекта',
|
||||
'Daily project summary export' => 'Экспорт ежедневного резюме проекта',
|
||||
'Daily project summary export for "%s"' => 'Экспорт ежедневного резюме проекта "%s"',
|
||||
'Exports' => 'Экспорт',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Этот экспорт содержит ряд задач в колонках, сгруппированные по дням.',
|
||||
'Active swimlanes' => 'Активные дорожки',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Id подзадачи',
|
||||
'Subtasks' => 'Подзадачи',
|
||||
'Subtasks Export' => 'Экспортировать подзадачи',
|
||||
'Subtasks exportation for "%s"' => 'Экспорт подзадач для "%s"',
|
||||
'Task Title' => 'Загловок задачи',
|
||||
'Untitled' => 'Заголовок отсутствует',
|
||||
'Application default' => 'Приложение по умолчанию',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Курс валюты был успешно добавлен.',
|
||||
'Unable to add this currency rate.' => 'Невозможно добавить этот курс валюты.',
|
||||
'Webhook URL' => 'Webhook URL',
|
||||
'%s remove the assignee of the task %s' => '%s удалить назначенную задачу %s',
|
||||
'%s removed the assignee of the task %s' => '%s удалить назначенную задачу %s',
|
||||
'Enable Gravatar images' => 'Включить Gravatar изображения',
|
||||
'Information' => 'Информация',
|
||||
'Check two factor authentication code' => 'Проверка кода двухфакторной авторизации',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Проверьте свое устройство',
|
||||
'Assign a color when the task is moved to a specific column' => 'Назначить цвет, когда задача перемещается в определенную колонку',
|
||||
'%s via Kanboard' => '%s через Канборд',
|
||||
'Burndown chart for "%s"' => 'Диаграмма сгорания для « %s »',
|
||||
'Burndown chart' => 'Диаграмма сгорания',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Эта диаграмма показывают сложность задачи по времени (оставшейся работы).',
|
||||
'Screenshot taken %s' => 'Принято скриншотов %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Переносить задачи в другую колонку при изменении категории',
|
||||
'Send a task by email to someone' => 'Отправить задачу по email',
|
||||
'Reopen a task' => 'Переоткрыть задачу',
|
||||
'Column change' => 'Изменение колонки',
|
||||
'Position change' => 'Позиция изменена',
|
||||
'Swimlane change' => 'Дорожка изменена',
|
||||
'Assignee change' => 'Назначенный пользователь изменен',
|
||||
'[%s] Overdue tasks' => '[%s] просроченные задачи',
|
||||
'Notification' => 'Уведомления',
|
||||
'%s moved the task #%d to the first swimlane' => '%s задач перемещено #%d в первой дорожке',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s задач перемещено #%d в дорожке "%s"',
|
||||
'Swimlane' => 'Дорожки',
|
||||
'Gravatar' => 'Граватар',
|
||||
'%s moved the task %s to the first swimlane' => '%s переместил задачу %s на первую дорожку',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Поиск по категориям: ',
|
||||
'Search by description: ' => 'Поиск по описанию: ',
|
||||
'Search by due date: ' => 'Поиск по дате завершения: ',
|
||||
'Lead and Cycle time for "%s"' => 'Затраченное время и время цикла для "%s"',
|
||||
'Average time spent into each column for "%s"' => 'Затрачено времени в среднем в каждой колонке для "%s"',
|
||||
'Average time spent into each column' => 'Затрачено времени в среднем в каждой колонке',
|
||||
'Average time spent' => 'Затрачено времени в среднем',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Эта диаграмма показывает среднее время, проведенное задачами в каждой колонке за последний %d.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Лицензия:',
|
||||
'License' => 'Лицензия',
|
||||
'Enter the text below' => 'Введите текст ниже',
|
||||
'Gantt chart for %s' => 'Диаграмма Ганта для %s',
|
||||
'Sort by position' => 'Сортировать по позиции',
|
||||
'Sort by date' => 'Сортировать по дате',
|
||||
'Add task' => 'Добавить задачу',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
'Version' => 'Версия',
|
||||
'Plugins' => 'Плагины',
|
||||
'There is no plugin loaded.' => 'Нет установленных плагинов.',
|
||||
'Set maximum column height' => 'Установить максимальную высоту колонки',
|
||||
'Remove maximum column height' => 'Сбросить максимальную высоту колонки',
|
||||
'My notifications' => 'Мои уведомления',
|
||||
'Custom filters' => 'Пользовательские фильтры',
|
||||
'Your custom filter have been created successfully.' => 'Фильтр был успешно создан.',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
'Invalid captcha' => 'Неверный код подтверждения',
|
||||
'The name must be unique' => 'Имя должно быть уникальным',
|
||||
'View all groups' => 'Просмотр всех групп',
|
||||
'View group members' => 'Просмотр участников группы',
|
||||
'There is no user available.' => 'Нет доступных пользователей.',
|
||||
'Do you really want to remove the user "%s" from the group "%s"?' => 'Вы действительно хотите удалить пользователя "%s" из группы "%s"?',
|
||||
'There is no group.' => 'Нет созданных групп.',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
'Enter group name...' => 'Введите имя группы...',
|
||||
'Role:' => 'Роль:',
|
||||
'Project members' => 'Участники проекта',
|
||||
'Compare hours for "%s"' => 'Сравнить часы для "%s"',
|
||||
'%s mentioned you in the task #%d' => '%s упомянул вас в задаче #%d',
|
||||
'%s mentioned you in a comment on the task #%d' => '%s упомянул вас в комментарии к задаче #%d',
|
||||
'You were mentioned in the task #%d' => 'Вы упомянуты в задаче #%d',
|
||||
'You were mentioned in a comment on the task #%d' => 'Вы упомянуты в комментарии к задаче #%d',
|
||||
'Mentioned' => 'Упоминания',
|
||||
'Compare Estimated Time vs Actual Time' => 'Сравнить запланированное время и реальное',
|
||||
'Estimated hours: ' => 'Запланировано часов: ',
|
||||
'Actual hours: ' => 'Реально затрачено часов: ',
|
||||
'Hours Spent' => 'Затрачено часов',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
'Global tags' => 'Глобальные метка',
|
||||
'There is no global tag at the moment.' => 'Нет глобальных меток.',
|
||||
'This field cannot be empty' => 'Это поле не может быть пустым',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
'Hide tasks in this column in the dashboard' => 'Не показывать задачи из этой колонки в кабинете',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Prikaži drugi projekat',
|
||||
'Created by %s' => 'Kreirao %s',
|
||||
'Tasks Export' => 'Izvoz zadataka',
|
||||
'Tasks exportation for "%s"' => 'Izvoz zadataka za "%s"',
|
||||
'Start Date' => 'Početni datum',
|
||||
'End Date' => 'Krajni datum',
|
||||
'Execute' => 'Izvrši',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Novi Pod-zadatak',
|
||||
'New attachment added "%s"' => 'Novi prilog ubačen "%s"',
|
||||
'New comment posted by %s' => 'Novi komentar ostavio %s',
|
||||
// 'New attachment' => '',
|
||||
// 'New comment' => '',
|
||||
'Comment updated' => 'Komentar izmenjen',
|
||||
// 'New subtask' => '',
|
||||
// 'Subtask updated' => '',
|
||||
// 'Task updated' => '',
|
||||
'Task closed' => 'Zadatak je zatvoren',
|
||||
'Task opened' => 'Zadatak je otvoren',
|
||||
'I want to receive notifications only for those projects:' => 'Želim obaveštenja samo za ovaj projekat:',
|
||||
'view the task on Kanboard' => 'Pregledaj zadatke',
|
||||
'Public access' => 'Javni pristup',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s izmenjen zadatak #%d',
|
||||
'%s created the task #%d' => '%s kreirao zadatak #%d',
|
||||
'%s closed the task #%d' => '%s zatvorio zadatak #%d',
|
||||
'%s open the task #%d' => '%s otvorio zadatak #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s premestio zadatak #%d u kolonu "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s premestio zadatak #%d na pozycję %d w kolmnie "%s"',
|
||||
'%s opened the task #%d' => '%s otvorio zadatak #%d',
|
||||
'Activity' => 'Aktivnosti',
|
||||
'Default values are "%s"' => 'Osnovne vrednosti su: "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Osnovne kolone za novi projekat (Odvojeni zarezom)',
|
||||
'Task assignee change' => 'Zmień osobę odpowiedzialną',
|
||||
'%s change the assignee of the task #%d to %s' => '%s zamena dodele za zadatak #%d na %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s zamena dodele za zadatak #%d na %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s zamena dodele za zadatak %s na %s',
|
||||
'New password for the user "%s"' => 'Nova lozinka za korisnika "%s"',
|
||||
'Choose an event' => 'Izaberi događaj',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Procenat',
|
||||
'Number of tasks' => 'Broj zadataka',
|
||||
'Task distribution' => 'Podela zadataka',
|
||||
'Reportings' => 'Izveštaji',
|
||||
'Task repartition for "%s"' => 'Zaduženja zadataka za "%s"',
|
||||
'Analytics' => 'Analiza',
|
||||
'Subtask' => 'Pod-zadatak',
|
||||
'My subtasks' => 'Moji pod-zadaci',
|
||||
'User repartition' => 'Zaduženja korisnika',
|
||||
'User repartition for "%s"' => 'Zaduženja korisnika za "%s"',
|
||||
'Clone this project' => 'Kopiraj projekat',
|
||||
'Column removed successfully.' => 'Kolumna usunięta pomyslnie.',
|
||||
'Not enough data to show the graph.' => 'Nedovoljno podataka za grafikon.',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Vrednost mora biti broj',
|
||||
'Unable to create this task.' => 'Nije moguće kreirati zadatak.',
|
||||
'Cumulative flow diagram' => 'Zbirni dijagram toka',
|
||||
'Cumulative flow diagram for "%s"' => 'Zbirni dijagram toka za "%s"',
|
||||
'Daily project summary' => 'Zbirni pregled po danima',
|
||||
'Daily project summary export' => 'Izvoz zbirnog pregleda po danima',
|
||||
'Daily project summary export for "%s"' => 'Izvoz zbirnig pregleda po danima za "%s"',
|
||||
'Exports' => 'Izvoz',
|
||||
// 'This export contains the number of tasks per column grouped per day.' => '',
|
||||
'Active swimlanes' => 'Aktivni razdelnik',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'ID pod-zadania',
|
||||
'Subtasks' => 'Pod-zadataka',
|
||||
'Subtasks Export' => 'Eksport pod-zadań',
|
||||
'Subtasks exportation for "%s"' => 'Izvoz pod-zadań dla "%s"',
|
||||
'Task Title' => 'Naslov zadatka',
|
||||
'Untitled' => 'Bez naslova',
|
||||
'Application default' => 'Postavke aplikacje',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
// 'The currency rate have been added successfully.' => '',
|
||||
// 'Unable to add this currency rate.' => '',
|
||||
// 'Webhook URL' => '',
|
||||
// '%s remove the assignee of the task %s' => '',
|
||||
// '%s removed the assignee of the task %s' => '',
|
||||
// 'Enable Gravatar images' => '',
|
||||
// 'Information' => '',
|
||||
// 'Check two factor authentication code' => '',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
// 'Test your device' => '',
|
||||
// 'Assign a color when the task is moved to a specific column' => '',
|
||||
// '%s via Kanboard' => '',
|
||||
// 'Burndown chart for "%s"' => '',
|
||||
// 'Burndown chart' => '',
|
||||
// 'This chart show the task complexity over the time (Work Remaining).' => '',
|
||||
// 'Screenshot taken %s' => '',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
// 'Move the task to another column when the category is changed' => '',
|
||||
// 'Send a task by email to someone' => '',
|
||||
// 'Reopen a task' => '',
|
||||
// 'Column change' => '',
|
||||
// 'Position change' => '',
|
||||
// 'Swimlane change' => '',
|
||||
// 'Assignee change' => '',
|
||||
// '[%s] Overdue tasks' => '',
|
||||
// 'Notification' => '',
|
||||
// '%s moved the task #%d to the first swimlane' => '',
|
||||
// '%s moved the task #%d to the swimlane "%s"' => '',
|
||||
// 'Swimlane' => '',
|
||||
// 'Gravatar' => '',
|
||||
// '%s moved the task %s to the first swimlane' => '',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
// 'Search by category: ' => '',
|
||||
// 'Search by description: ' => '',
|
||||
// 'Search by due date: ' => '',
|
||||
// 'Lead and Cycle time for "%s"' => '',
|
||||
// 'Average time spent into each column for "%s"' => '',
|
||||
// 'Average time spent into each column' => '',
|
||||
// 'Average time spent' => '',
|
||||
// 'This chart show the average time spent into each column for the last %d tasks.' => '',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
// 'License:' => '',
|
||||
// 'License' => '',
|
||||
// 'Enter the text below' => '',
|
||||
// 'Gantt chart for %s' => '',
|
||||
// 'Sort by position' => '',
|
||||
// 'Sort by date' => '',
|
||||
// 'Add task' => '',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
// 'Version' => '',
|
||||
// 'Plugins' => '',
|
||||
// 'There is no plugin loaded.' => '',
|
||||
// 'Set maximum column height' => '',
|
||||
// 'Remove maximum column height' => '',
|
||||
// 'My notifications' => '',
|
||||
// 'Custom filters' => '',
|
||||
// 'Your custom filter have been created successfully.' => '',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
// 'The name must be unique' => '',
|
||||
// 'View all groups' => '',
|
||||
// 'View group members' => '',
|
||||
// 'There is no user available.' => '',
|
||||
// 'Do you really want to remove the user "%s" from the group "%s"?' => '',
|
||||
// 'There is no group.' => '',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
// 'Enter group name...' => '',
|
||||
// 'Role:' => '',
|
||||
// 'Project members' => '',
|
||||
// 'Compare hours for "%s"' => '',
|
||||
// '%s mentioned you in the task #%d' => '',
|
||||
// '%s mentioned you in a comment on the task #%d' => '',
|
||||
// 'You were mentioned in the task #%d' => '',
|
||||
// 'You were mentioned in a comment on the task #%d' => '',
|
||||
// 'Mentioned' => '',
|
||||
// 'Compare Estimated Time vs Actual Time' => '',
|
||||
// 'Estimated hours: ' => '',
|
||||
// 'Actual hours: ' => '',
|
||||
// 'Hours Spent' => '',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
|
|
@ -299,7 +299,6 @@ return array(
|
|||
'Display another project' => 'Visa ett annat projekt',
|
||||
'Created by %s' => 'Skapad av %s',
|
||||
'Tasks Export' => 'Exportera uppgifter',
|
||||
'Tasks exportation for "%s"' => 'Exportera uppgifter för "%s"',
|
||||
'Start Date' => 'Startdatum',
|
||||
'End Date' => 'Slutdatum',
|
||||
'Execute' => 'Utför',
|
||||
|
|
@ -322,14 +321,9 @@ return array(
|
|||
'New sub-task' => 'Ny deluppgift',
|
||||
'New attachment added "%s"' => 'Ny bifogning tillagd "%s"',
|
||||
'New comment posted by %s' => 'Ny kommentar postad av %s',
|
||||
'New attachment' => 'Ny bifogning',
|
||||
'New comment' => 'Ny kommentar',
|
||||
'Comment updated' => 'Kommentaren har uppdaterats',
|
||||
'New subtask' => 'Ny deluppgift',
|
||||
'Subtask updated' => 'Deluppgiften har uppdaterats',
|
||||
'Task updated' => 'Uppgiften har uppdaterats',
|
||||
'Task closed' => 'Uppgiften har stängts',
|
||||
'Task opened' => 'Uppgiften har öppnats',
|
||||
'I want to receive notifications only for those projects:' => 'Jag vill endast få notiser för dessa projekt:',
|
||||
'view the task on Kanboard' => 'Visa uppgiften på Kanboard',
|
||||
'Public access' => 'Publik åtkomst',
|
||||
|
|
@ -386,14 +380,12 @@ return array(
|
|||
'%s updated the task #%d' => '%s uppdaterade uppgiften #%d',
|
||||
'%s created the task #%d' => '%s skapade uppgiften #%d',
|
||||
'%s closed the task #%d' => '%s stängde uppgiften #%d',
|
||||
'%s open the task #%d' => '%s öppnade uppgiften #%d',
|
||||
'%s moved the task #%d to the column "%s"' => '%s flyttade uppgiften #%d till kolumnen "%s"',
|
||||
'%s moved the task #%d to the position %d in the column "%s"' => '%s flyttade uppgiften #%d till positionen %d i kolumnen "%s"',
|
||||
'%s opened the task #%d' => '%s öppnade uppgiften #%d',
|
||||
'Activity' => 'Aktivitet',
|
||||
'Default values are "%s"' => 'Standardvärden är "%s"',
|
||||
'Default columns for new projects (Comma-separated)' => 'Standardkolumner för nya projekt (kommaseparerade)',
|
||||
'Task assignee change' => 'Ändra tilldelning av uppgiften',
|
||||
'%s change the assignee of the task #%d to %s' => '%s byt tilldelning av uppgiften #%d till %s',
|
||||
'%s changed the assignee of the task #%d to %s' => '%s byt tilldelning av uppgiften #%d till %s',
|
||||
'%s changed the assignee of the task %s to %s' => '%s byt tilldelning av uppgiften %s till %s',
|
||||
'New password for the user "%s"' => 'Nytt lösenord för användaren "%s"',
|
||||
'Choose an event' => 'Välj en händelse',
|
||||
|
|
@ -442,13 +434,10 @@ return array(
|
|||
'Percentage' => 'Procent',
|
||||
'Number of tasks' => 'Antal uppgifter',
|
||||
'Task distribution' => 'Uppgiftsfördelning',
|
||||
'Reportings' => 'Rapportering',
|
||||
'Task repartition for "%s"' => 'Uppgiftsdeltagande för "%s"',
|
||||
'Analytics' => 'Analyser',
|
||||
'Subtask' => 'Deluppgift',
|
||||
'My subtasks' => 'Mina deluppgifter',
|
||||
'User repartition' => 'Användardeltagande',
|
||||
'User repartition for "%s"' => 'Användardeltagande för "%s"',
|
||||
'Clone this project' => 'Klona projektet',
|
||||
'Column removed successfully.' => 'Kolumnen togs bort',
|
||||
'Not enough data to show the graph.' => 'Inte tillräckligt med data för att visa graf',
|
||||
|
|
@ -465,10 +454,8 @@ return array(
|
|||
'This value must be numeric' => 'Värdet måste vara numeriskt',
|
||||
'Unable to create this task.' => 'Kunde inte skapa uppgiften.',
|
||||
'Cumulative flow diagram' => 'Diagram med kumulativt flöde',
|
||||
'Cumulative flow diagram for "%s"' => 'Diagram med kumulativt flöde för "%s"',
|
||||
'Daily project summary' => 'Daglig projektsummering',
|
||||
'Daily project summary export' => 'Export av daglig projektsummering',
|
||||
'Daily project summary export for "%s"' => 'Export av daglig projektsummering för "%s"',
|
||||
'Exports' => 'Exporter',
|
||||
'This export contains the number of tasks per column grouped per day.' => 'Denna export innehåller antalet uppgifter per kolumn grupperade per dag.',
|
||||
'Active swimlanes' => 'Aktiva swimlanes',
|
||||
|
|
@ -494,7 +481,6 @@ return array(
|
|||
'Subtask Id' => 'Deluppgifts-ID',
|
||||
'Subtasks' => 'Deluppgift',
|
||||
'Subtasks Export' => 'Export av deluppgifter',
|
||||
'Subtasks exportation for "%s"' => 'Export av deluppgifter för "%s"',
|
||||
'Task Title' => 'Uppgiftstitel',
|
||||
'Untitled' => 'Titel saknas',
|
||||
'Application default' => 'Applikationsstandard',
|
||||
|
|
@ -601,7 +587,7 @@ return array(
|
|||
'The currency rate have been added successfully.' => 'Valutakursen har lagts till.',
|
||||
'Unable to add this currency rate.' => 'Kunde inte lägga till valutakursen.',
|
||||
'Webhook URL' => 'Webhook URL',
|
||||
'%s remove the assignee of the task %s' => '%s ta bort tilldelningen av uppgiften %s',
|
||||
'%s removed the assignee of the task %s' => '%s ta bort tilldelningen av uppgiften %s',
|
||||
'Enable Gravatar images' => 'Aktivera Gravatar bilder',
|
||||
'Information' => 'Information',
|
||||
'Check two factor authentication code' => 'Kolla tvåfaktorsverifieringskod',
|
||||
|
|
@ -615,7 +601,6 @@ return array(
|
|||
'Test your device' => 'Testa din enhet',
|
||||
'Assign a color when the task is moved to a specific column' => 'Tilldela en färg när uppgiften flyttas till en specifik kolumn',
|
||||
'%s via Kanboard' => '%s via Kanboard',
|
||||
'Burndown chart for "%s"' => 'Burndown diagram för "%s"',
|
||||
'Burndown chart' => 'Burndown diagram',
|
||||
'This chart show the task complexity over the time (Work Remaining).' => 'Diagrammet visar uppgiftens svårighet över tid (återstående arbete).',
|
||||
'Screenshot taken %s' => 'Skärmdump tagen %s',
|
||||
|
|
@ -680,14 +665,8 @@ return array(
|
|||
'Move the task to another column when the category is changed' => 'Flyttas uppgiften till en annan kolumn när kategorin ändras',
|
||||
'Send a task by email to someone' => 'Skicka en uppgift med e-post till någon',
|
||||
'Reopen a task' => 'Återöppna en uppgift',
|
||||
'Column change' => 'Kolumnändring',
|
||||
'Position change' => 'Positionsändring',
|
||||
'Swimlane change' => 'Swimlaneändring',
|
||||
'Assignee change' => 'Tilldelningsändring',
|
||||
'[%s] Overdue tasks' => '[%s] Försenade uppgifter',
|
||||
'Notification' => 'Notis',
|
||||
'%s moved the task #%d to the first swimlane' => '%s flyttade uppgiften #%d till första swimlane',
|
||||
'%s moved the task #%d to the swimlane "%s"' => '%s flyttade uppgiften #%d till swimlane "%s"',
|
||||
'Swimlane' => 'Swimlane',
|
||||
'Gravatar' => 'Gravatar',
|
||||
'%s moved the task %s to the first swimlane' => '%s flyttade uppgiften %s till första swimlane',
|
||||
|
|
@ -758,8 +737,6 @@ return array(
|
|||
'Search by category: ' => 'Sök efter kategori:',
|
||||
'Search by description: ' => 'Sök efter beskrivning',
|
||||
'Search by due date: ' => 'Sök efter förfallodatum',
|
||||
'Lead and Cycle time for "%s"' => 'Led- och cykeltid för "%s"',
|
||||
'Average time spent into each column for "%s"' => 'Medeltidsåtgång i varje kolumn för "%s"',
|
||||
'Average time spent into each column' => 'Medeltidsåtgång i varje kolumn',
|
||||
'Average time spent' => 'Medeltidsåtgång',
|
||||
'This chart show the average time spent into each column for the last %d tasks.' => 'Diagramet visar medeltidsåtgång i varje kolumn för de senaste %d uppgifterna.',
|
||||
|
|
@ -800,7 +777,6 @@ return array(
|
|||
'License:' => 'Licens:',
|
||||
'License' => 'Licens',
|
||||
'Enter the text below' => 'Fyll i texten nedan',
|
||||
'Gantt chart for %s' => 'Gantt-schema för %s',
|
||||
'Sort by position' => 'Sortera efter position',
|
||||
'Sort by date' => 'Sortera efter datum',
|
||||
'Add task' => 'Lägg till uppgift',
|
||||
|
|
@ -841,8 +817,6 @@ return array(
|
|||
// 'Version' => '',
|
||||
// 'Plugins' => '',
|
||||
// 'There is no plugin loaded.' => '',
|
||||
// 'Set maximum column height' => '',
|
||||
// 'Remove maximum column height' => '',
|
||||
// 'My notifications' => '',
|
||||
// 'Custom filters' => '',
|
||||
// 'Your custom filter have been created successfully.' => '',
|
||||
|
|
@ -947,7 +921,6 @@ return array(
|
|||
// 'Invalid captcha' => '',
|
||||
// 'The name must be unique' => '',
|
||||
// 'View all groups' => '',
|
||||
// 'View group members' => '',
|
||||
// 'There is no user available.' => '',
|
||||
// 'Do you really want to remove the user "%s" from the group "%s"?' => '',
|
||||
// 'There is no group.' => '',
|
||||
|
|
@ -968,13 +941,10 @@ return array(
|
|||
// 'Enter group name...' => '',
|
||||
// 'Role:' => '',
|
||||
// 'Project members' => '',
|
||||
// 'Compare hours for "%s"' => '',
|
||||
// '%s mentioned you in the task #%d' => '',
|
||||
// '%s mentioned you in a comment on the task #%d' => '',
|
||||
// 'You were mentioned in the task #%d' => '',
|
||||
// 'You were mentioned in a comment on the task #%d' => '',
|
||||
// 'Mentioned' => '',
|
||||
// 'Compare Estimated Time vs Actual Time' => '',
|
||||
// 'Estimated hours: ' => '',
|
||||
// 'Actual hours: ' => '',
|
||||
// 'Hours Spent' => '',
|
||||
|
|
@ -1216,5 +1186,32 @@ return array(
|
|||
// 'Global tags' => '',
|
||||
// 'There is no global tag at the moment.' => '',
|
||||
// 'This field cannot be empty' => '',
|
||||
// 'Close a task when there is no activity in an specific column' => '',
|
||||
// '%s removed a subtask for the task #%d' => '',
|
||||
// '%s removed a comment on the task #%d' => '',
|
||||
// 'Comment removed on task #%d' => '',
|
||||
// 'Subtask removed on task #%d' => '',
|
||||
// 'Hide tasks in this column in the dashboard' => '',
|
||||
// '%s removed a comment on the task %s' => '',
|
||||
// '%s removed a subtask for the task %s' => '',
|
||||
// 'Comment removed' => '',
|
||||
// 'Subtask removed' => '',
|
||||
// '%s set a new internal link for the task #%d' => '',
|
||||
// '%s removed an internal link for the task #%d' => '',
|
||||
// 'A new internal link for the task #%d have been defined' => '',
|
||||
// 'Internal link removed for the task #%d' => '',
|
||||
// '%s set a new internal link for the task %s' => '',
|
||||
// '%s removed an internal link for the task %s' => '',
|
||||
// 'Automatically set the due date on task creation' => '',
|
||||
// 'Move the task to another column when closed' => '',
|
||||
// 'Move the task to another column when not moved during a given period' => '',
|
||||
// 'Dashboard for %s' => '',
|
||||
// 'Tasks overview for %s' => '',
|
||||
// 'Subtasks overview for %s' => '',
|
||||
// 'Projects overview for %s' => '',
|
||||
// 'Activity stream for %s' => '',
|
||||
// 'Calendar for %s' => '',
|
||||
// 'Notifications for %s' => '',
|
||||
// 'Subtasks export' => '',
|
||||
// 'Tasks exportation' => '',
|
||||
);
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue