Move calendar to external plugin
This commit is contained in:
parent
99015d08fa
commit
253d5a9331
|
|
@ -1,3 +1,10 @@
|
|||
Version 1.0.42
|
||||
--------------
|
||||
|
||||
Breaking Changes:
|
||||
|
||||
* Move calendar to external plugin: https://github.com/kanboard/plugin-calendar
|
||||
|
||||
Version 1.0.41
|
||||
--------------
|
||||
|
||||
|
|
|
|||
|
|
@ -1,120 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Controller;
|
||||
|
||||
use Kanboard\Filter\TaskAssigneeFilter;
|
||||
use Kanboard\Filter\TaskProjectFilter;
|
||||
use Kanboard\Filter\TaskStatusFilter;
|
||||
use Kanboard\Model\TaskModel;
|
||||
|
||||
/**
|
||||
* Calendar Controller
|
||||
*
|
||||
* @package Kanboard\Controller
|
||||
* @author Frederic Guillot
|
||||
* @author Timo Litzbarski
|
||||
*/
|
||||
class CalendarController extends BaseController
|
||||
{
|
||||
/**
|
||||
* Show calendar view for a user
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
$user = $this->getUser();
|
||||
|
||||
$this->response->html($this->helper->layout->app('calendar/user', array(
|
||||
'user' => $user,
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show calendar view for a project
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function project()
|
||||
{
|
||||
$project = $this->getProject();
|
||||
|
||||
$this->response->html($this->helper->layout->app('calendar/project', array(
|
||||
'project' => $project,
|
||||
'title' => $project['name'],
|
||||
'description' => $this->helper->projectHeader->getDescription($project),
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get tasks to display on the calendar (project view)
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function projectEvents()
|
||||
{
|
||||
$project_id = $this->request->getIntegerParam('project_id');
|
||||
$start = $this->request->getStringParam('start');
|
||||
$end = $this->request->getStringParam('end');
|
||||
$search = $this->userSession->getFilters($project_id);
|
||||
$queryBuilder = $this->taskLexer->build($search)->withFilter(new TaskProjectFilter($project_id));
|
||||
|
||||
$events = $this->helper->calendar->getTaskDateDueEvents(clone($queryBuilder), $start, $end);
|
||||
$events = array_merge($events, $this->helper->calendar->getTaskEvents(clone($queryBuilder), $start, $end));
|
||||
|
||||
$events = $this->hook->merge('controller:calendar:project:events', $events, array(
|
||||
'project_id' => $project_id,
|
||||
'start' => $start,
|
||||
'end' => $end,
|
||||
));
|
||||
|
||||
$this->response->json($events);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get tasks to display on the calendar (user view)
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function userEvents()
|
||||
{
|
||||
$user_id = $this->request->getIntegerParam('user_id');
|
||||
$start = $this->request->getStringParam('start');
|
||||
$end = $this->request->getStringParam('end');
|
||||
$queryBuilder = $this->taskQuery
|
||||
->withFilter(new TaskAssigneeFilter($user_id))
|
||||
->withFilter(new TaskStatusFilter(TaskModel::STATUS_OPEN));
|
||||
|
||||
$events = $this->helper->calendar->getTaskDateDueEvents(clone($queryBuilder), $start, $end);
|
||||
$events = array_merge($events, $this->helper->calendar->getTaskEvents(clone($queryBuilder), $start, $end));
|
||||
|
||||
if ($this->configModel->get('calendar_user_subtasks_time_tracking') == 1) {
|
||||
$events = array_merge($events, $this->helper->calendar->getSubtaskTimeTrackingEvents($user_id, $start, $end));
|
||||
}
|
||||
|
||||
$events = $this->hook->merge('controller:calendar:user:events', $events, array(
|
||||
'user_id' => $user_id,
|
||||
'start' => $start,
|
||||
'end' => $end,
|
||||
));
|
||||
|
||||
$this->response->json($events);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update task due date
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function save()
|
||||
{
|
||||
if ($this->request->isAjax() && $this->request->isPost()) {
|
||||
$values = $this->request->getJson();
|
||||
|
||||
$this->taskModificationModel->update(array(
|
||||
'id' => $values['task_id'],
|
||||
'date_due' => substr($values['date_due'], 0, 10),
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -49,9 +49,6 @@ class ConfigController extends BaseController
|
|||
case 'integrations':
|
||||
$values += array('integration_gravatar' => 0);
|
||||
break;
|
||||
case 'calendar':
|
||||
$values += array('calendar_user_subtasks_time_tracking' => 0);
|
||||
break;
|
||||
}
|
||||
|
||||
if ($this->configModel->save($values)) {
|
||||
|
|
@ -127,18 +124,6 @@ class ConfigController extends BaseController
|
|||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the calendar settings page
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function calendar()
|
||||
{
|
||||
$this->response->html($this->helper->layout->config('config/calendar', array(
|
||||
'title' => t('Settings').' > '.t('Calendar settings'),
|
||||
)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the integration settings page
|
||||
*
|
||||
|
|
|
|||
|
|
@ -72,7 +72,6 @@ use Pimple\Container;
|
|||
* @property \Kanboard\Formatter\SubtaskListFormatter $subtaskListFormatter
|
||||
* @property \Kanboard\Formatter\SubtaskTimeTrackingCalendarFormatter $subtaskTimeTrackingCalendarFormatter
|
||||
* @property \Kanboard\Formatter\TaskAutoCompleteFormatter $taskAutoCompleteFormatter
|
||||
* @property \Kanboard\Formatter\TaskCalendarFormatter $taskCalendarFormatter
|
||||
* @property \Kanboard\Formatter\TaskGanttFormatter $taskGanttFormatter
|
||||
* @property \Kanboard\Formatter\TaskICalFormatter $taskICalFormatter
|
||||
* @property \Kanboard\Formatter\TaskListFormatter $taskListFormatter
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ use Pimple\Container;
|
|||
* @property \Kanboard\Helper\AssetHelper $asset
|
||||
* @property \Kanboard\Helper\AvatarHelper $avatar
|
||||
* @property \Kanboard\Helper\BoardHelper $board
|
||||
* @property \Kanboard\Helper\CalendarHelper $calendar
|
||||
* @property \Kanboard\Helper\CommentHelper $comment
|
||||
* @property \Kanboard\Helper\DateHelper $dt
|
||||
* @property \Kanboard\Helper\FileHelper $file
|
||||
|
|
|
|||
|
|
@ -1,74 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Formatter;
|
||||
|
||||
use Kanboard\Core\Filter\FormatterInterface;
|
||||
|
||||
/**
|
||||
* Calendar event formatter for task filter
|
||||
*
|
||||
* @package formatter
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class TaskCalendarFormatter extends BaseTaskCalendarFormatter implements FormatterInterface
|
||||
{
|
||||
/**
|
||||
* Full day event flag
|
||||
*
|
||||
* @access private
|
||||
* @var boolean
|
||||
*/
|
||||
private $fullDay = false;
|
||||
|
||||
/**
|
||||
* When called calendar events will be full day
|
||||
*
|
||||
* @access public
|
||||
* @return FormatterInterface
|
||||
*/
|
||||
public function setFullDay()
|
||||
{
|
||||
$this->fullDay = true;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform tasks to calendar events
|
||||
*
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function format()
|
||||
{
|
||||
$events = array();
|
||||
|
||||
foreach ($this->query->findAll() as $task) {
|
||||
$events[] = array(
|
||||
'timezoneParam' => $this->timezoneModel->getCurrentTimezone(),
|
||||
'id' => $task['id'],
|
||||
'title' => t('#%d', $task['id']).' '.$task['title'],
|
||||
'backgroundColor' => $this->colorModel->getBackgroundColor($task['color_id']),
|
||||
'borderColor' => $this->colorModel->getBorderColor($task['color_id']),
|
||||
'textColor' => 'black',
|
||||
'url' => $this->helper->url->to('TaskViewController', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id'])),
|
||||
'start' => date($this->getDateTimeFormat(), $task[$this->startColumn]),
|
||||
'end' => date($this->getDateTimeFormat(), $task[$this->endColumn] ?: time()),
|
||||
'editable' => $this->fullDay,
|
||||
'allday' => $this->fullDay,
|
||||
);
|
||||
}
|
||||
|
||||
return $events;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get DateTime format for event
|
||||
*
|
||||
* @access private
|
||||
* @return string
|
||||
*/
|
||||
private function getDateTimeFormat()
|
||||
{
|
||||
return $this->fullDay ? 'Y-m-d' : 'Y-m-d\TH:i:s';
|
||||
}
|
||||
}
|
||||
|
|
@ -1,126 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Kanboard\Helper;
|
||||
|
||||
use Kanboard\Core\Base;
|
||||
use Kanboard\Core\Filter\QueryBuilder;
|
||||
use Kanboard\Filter\TaskDueDateRangeFilter;
|
||||
|
||||
/**
|
||||
* Calendar Helper
|
||||
*
|
||||
* @package helper
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class CalendarHelper extends Base
|
||||
{
|
||||
/**
|
||||
* Render calendar component
|
||||
*
|
||||
* @param string $checkUrl
|
||||
* @param string $saveUrl
|
||||
* @return string
|
||||
*/
|
||||
public function render($checkUrl, $saveUrl)
|
||||
{
|
||||
$params = array(
|
||||
'checkUrl' => $checkUrl,
|
||||
'saveUrl' => $saveUrl,
|
||||
);
|
||||
|
||||
return '<div class="js-calendar" data-params=\''.json_encode($params, JSON_HEX_APOS).'\'></div>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get formatted calendar task due events
|
||||
*
|
||||
* @access public
|
||||
* @param QueryBuilder $queryBuilder
|
||||
* @param string $start
|
||||
* @param string $end
|
||||
* @return array
|
||||
*/
|
||||
public function getTaskDateDueEvents(QueryBuilder $queryBuilder, $start, $end)
|
||||
{
|
||||
$formatter = $this->taskCalendarFormatter;
|
||||
$formatter->setFullDay();
|
||||
$formatter->setColumns('date_due');
|
||||
|
||||
return $queryBuilder
|
||||
->withFilter(new TaskDueDateRangeFilter(array($start, $end)))
|
||||
->format($formatter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get formatted calendar task events
|
||||
*
|
||||
* @access public
|
||||
* @param QueryBuilder $queryBuilder
|
||||
* @param string $start
|
||||
* @param string $end
|
||||
* @return array
|
||||
*/
|
||||
public function getTaskEvents(QueryBuilder $queryBuilder, $start, $end)
|
||||
{
|
||||
$startColumn = $this->configModel->get('calendar_project_tasks', 'date_started');
|
||||
|
||||
$queryBuilder->getQuery()->addCondition($this->getCalendarCondition(
|
||||
$this->dateParser->getTimestampFromIsoFormat($start),
|
||||
$this->dateParser->getTimestampFromIsoFormat($end),
|
||||
$startColumn,
|
||||
'date_due'
|
||||
));
|
||||
|
||||
$formatter = $this->taskCalendarFormatter;
|
||||
$formatter->setColumns($startColumn, 'date_due');
|
||||
|
||||
return $queryBuilder->format($formatter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get formatted calendar subtask time tracking events
|
||||
*
|
||||
* @access public
|
||||
* @param integer $user_id
|
||||
* @param string $start
|
||||
* @param string $end
|
||||
* @return array
|
||||
*/
|
||||
public function getSubtaskTimeTrackingEvents($user_id, $start, $end)
|
||||
{
|
||||
return $this->subtaskTimeTrackingCalendarFormatter
|
||||
->withQuery($this->subtaskTimeTrackingModel->getUserQuery($user_id)
|
||||
->addCondition($this->getCalendarCondition(
|
||||
$this->dateParser->getTimestampFromIsoFormat($start),
|
||||
$this->dateParser->getTimestampFromIsoFormat($end),
|
||||
'start',
|
||||
'end'
|
||||
))
|
||||
)
|
||||
->format();
|
||||
}
|
||||
|
||||
/**
|
||||
* Build SQL condition for a given time range
|
||||
*
|
||||
* @access public
|
||||
* @param string $start_time Start timestamp
|
||||
* @param string $end_time End timestamp
|
||||
* @param string $start_column Start column name
|
||||
* @param string $end_column End column name
|
||||
* @return string
|
||||
*/
|
||||
public function getCalendarCondition($start_time, $end_time, $start_column, $end_column)
|
||||
{
|
||||
$start_column = $this->db->escapeIdentifier($start_column);
|
||||
$end_column = $this->db->escapeIdentifier($end_column);
|
||||
|
||||
$conditions = array(
|
||||
"($start_column >= '$start_time' AND $start_column <= '$end_time')",
|
||||
"($start_column <= '$start_time' AND $end_column >= '$start_time')",
|
||||
"($start_column <= '$start_time' AND ($end_column = '0' OR $end_column IS NULL))",
|
||||
);
|
||||
|
||||
return $start_column.' IS NOT NULL AND '.$start_column.' > 0 AND ('.implode(' OR ', $conditions).')';
|
||||
}
|
||||
}
|
||||
|
|
@ -34,15 +34,17 @@ class ProjectHeaderHelper extends Base
|
|||
* @param string $controller
|
||||
* @param string $action
|
||||
* @param bool $boardView
|
||||
* @param string $plugin
|
||||
* @return string
|
||||
*/
|
||||
public function render(array $project, $controller, $action, $boardView = false)
|
||||
public function render(array $project, $controller, $action, $boardView = false, $plugin = '')
|
||||
{
|
||||
$filters = array(
|
||||
'controller' => $controller,
|
||||
'action' => $action,
|
||||
'project_id' => $project['id'],
|
||||
'search' => $this->getSearchQuery($project),
|
||||
'plugin' => $plugin,
|
||||
);
|
||||
|
||||
return $this->template->render('project_header/header', array(
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Jezik:',
|
||||
'Timezone:' => 'Vremenska zona:',
|
||||
'All columns' => 'Sve kolone',
|
||||
'Calendar' => 'Kalendar',
|
||||
'Next' => 'Slijedeći',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => 'Sve swimlane trake',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Kada je zadatak premješten iz prve kolone',
|
||||
'When task is moved to last column' => 'Kada je zadatak premješten u posljednju kolonu',
|
||||
'Year(s)' => 'Godina/e',
|
||||
'Calendar settings' => 'Postavke kalendara',
|
||||
'Project calendar view' => 'Pregled kalendara projekta',
|
||||
'Project settings' => 'Postavke projekta',
|
||||
'Show subtasks based on the time tracking' => 'Prikaži pod-zadatke bazirano na vremenskom praćenju',
|
||||
'Show tasks based on the creation date' => 'Prikaži zadatke bazirano na vremenu otvaranja',
|
||||
'Show tasks based on the start date' => 'Prikaži zadatke bazirano na vremenu početka rada',
|
||||
'Subtasks time tracking' => 'Vremensko praćenje pod-zadataka',
|
||||
'User calendar view' => 'Pregled korisničkog kalendara',
|
||||
'Automatically update the start date' => 'Automatski ažuriraj početni datum',
|
||||
'iCal feed' => 'iCal kanal',
|
||||
'Preferences' => 'Postavke',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Zaustavi tajmer',
|
||||
'Start timer' => 'Pokreni tajmer',
|
||||
'My activity stream' => 'Tok mojih aktivnosti',
|
||||
'My calendar' => 'Moj kalendar',
|
||||
'Search tasks' => 'Pretraga zadataka',
|
||||
'Reset filters' => 'Vrati filtere na početno',
|
||||
'My tasks due tomorrow' => 'Moji zadaci koje treba završiti sutra',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Opšti pregled',
|
||||
'Board/Calendar/List view' => 'Pregled Ploče/Kalendara/Liste',
|
||||
'Switch to the board view' => 'Promijeni da vidim ploču',
|
||||
'Switch to the calendar view' => 'Promijeni da vidim kalendar',
|
||||
'Switch to the list view' => 'Promijeni da vidim listu',
|
||||
'Go to the search/filter box' => 'Idi na kutiju s pretragom/filterima',
|
||||
'There is no activity yet.' => 'Još uvijek nema aktivnosti.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Jazyk:',
|
||||
'Timezone:' => 'Časová zóna:',
|
||||
'All columns' => 'Všechny sloupce',
|
||||
'Calendar' => 'Kalendář',
|
||||
'Next' => 'Další',
|
||||
// '#%d' => '',
|
||||
'All swimlanes' => 'Alle Swimlanes',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
// 'When task is moved from first column' => '',
|
||||
// 'When task is moved to last column' => '',
|
||||
// 'Year(s)' => '',
|
||||
'Calendar settings' => 'Nastavení kalendáře',
|
||||
// 'Project calendar view' => '',
|
||||
'Project settings' => 'Nastavení projektu',
|
||||
'Show subtasks based on the time tracking' => 'Zobrazit dílčí úkoly závislé na sledování času',
|
||||
'Show tasks based on the creation date' => 'Zobrazit úkoly podle datumu vytvoření',
|
||||
'Show tasks based on the start date' => 'Zobrazit úkoly podle datumu zahájení',
|
||||
'Subtasks time tracking' => 'Dílčí úkoly s časovačem',
|
||||
'User calendar view' => 'Zobrazení kalendáře uživatele',
|
||||
'Automatically update the start date' => 'Automaticky aktualizovat počáteční datum',
|
||||
// 'iCal feed' => '',
|
||||
'Preferences' => 'Předvolby',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Zastavit časovač',
|
||||
'Start timer' => 'Spustit časovač',
|
||||
'My activity stream' => 'Přehled mých aktivit',
|
||||
'My calendar' => 'Můj kalendář',
|
||||
'Search tasks' => 'Hledání úkolů',
|
||||
'Reset filters' => 'Resetovat filtry',
|
||||
'My tasks due tomorrow' => 'Moje zítřejší úkoly',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Přehled',
|
||||
'Board/Calendar/List view' => 'Nástěnka/Kalendář/Zobrazení seznamu',
|
||||
'Switch to the board view' => 'Přepnout na nástěnku',
|
||||
'Switch to the calendar view' => 'Přepnout na kalendář',
|
||||
'Switch to the list view' => 'Přepnout na seznam zobrazení',
|
||||
'Go to the search/filter box' => 'Zobrazit vyhledávání/filtrování',
|
||||
'There is no activity yet.' => 'Doposud nejsou žádné aktivity.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Sprog',
|
||||
'Timezone:' => 'Tidszone',
|
||||
'All columns' => 'Alle kolonner',
|
||||
'Calendar' => 'Kalender',
|
||||
'Next' => 'Næste',
|
||||
// '#%d' => '',
|
||||
'All swimlanes' => 'Alle spor',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
// 'When task is moved from first column' => '',
|
||||
// 'When task is moved to last column' => '',
|
||||
'Year(s)' => 'År',
|
||||
'Calendar settings' => 'Kalender indstillinger',
|
||||
'Project calendar view' => 'Projekt kalender visning',
|
||||
'Project settings' => 'Projekt indstillinger',
|
||||
// 'Show subtasks based on the time tracking' => '',
|
||||
// 'Show tasks based on the creation date' => '',
|
||||
// 'Show tasks based on the start date' => '',
|
||||
// 'Subtasks time tracking' => '',
|
||||
'User calendar view' => 'Bruger kalender visning',
|
||||
// 'Automatically update the start date' => '',
|
||||
// 'iCal feed' => '',
|
||||
'Preferences' => 'Præferencer',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
// 'Stop timer' => '',
|
||||
// 'Start timer' => '',
|
||||
'My activity stream' => 'Min aktivitets strøm',
|
||||
'My calendar' => 'Min kalender',
|
||||
'Search tasks' => 'Søg opgaver',
|
||||
// 'Reset filters' => '',
|
||||
// 'My tasks due tomorrow' => '',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Overblik',
|
||||
'Board/Calendar/List view' => 'Tavle/Kalender/Liste visning',
|
||||
'Switch to the board view' => 'Skift til tavle visning',
|
||||
'Switch to the calendar view' => 'Skift til kalender visning',
|
||||
'Switch to the list view' => 'Skift til liste visning',
|
||||
// 'Go to the search/filter box' => '',
|
||||
// 'There is no activity yet.' => '',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Sprache:',
|
||||
'Timezone:' => 'Zeitzone:',
|
||||
'All columns' => 'Alle Spalten',
|
||||
'Calendar' => 'Kalender',
|
||||
'Next' => 'Nächste',
|
||||
'#%d' => 'Nr %d',
|
||||
'All swimlanes' => 'Alle Swimlanes',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Wenn Aufgabe von erster Spalte verschoben wird',
|
||||
'When task is moved to last column' => 'Wenn Aufgabe in letzte Spalte verschoben wird',
|
||||
'Year(s)' => 'Jahr(e)',
|
||||
'Calendar settings' => 'Kalender-Einstellungen',
|
||||
'Project calendar view' => 'Projekt-Kalendarsicht',
|
||||
'Project settings' => 'Projekteinstellungen',
|
||||
'Show subtasks based on the time tracking' => 'Zeige Teilaufgaben basierend auf Zeiterfassung',
|
||||
'Show tasks based on the creation date' => 'Zeige Aufgaben basierend auf Erstelldatum',
|
||||
'Show tasks based on the start date' => 'Zeige Aufgaben basierend auf Beginndatum',
|
||||
'Subtasks time tracking' => 'Teilaufgaben-Zeiterfassung',
|
||||
'User calendar view' => 'Benutzer-Kalendersicht',
|
||||
'Automatically update the start date' => 'Beginndatum automatisch aktualisieren',
|
||||
'iCal feed' => 'iCal Feed',
|
||||
'Preferences' => 'Einstellungen',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Stoppe Timer',
|
||||
'Start timer' => 'Starte Timer',
|
||||
'My activity stream' => 'Aktivitätsstream',
|
||||
'My calendar' => 'Mein Kalender',
|
||||
'Search tasks' => 'Suche nach Aufgaben',
|
||||
'Reset filters' => 'Filter zurücksetzen',
|
||||
'My tasks due tomorrow' => 'Meine morgen fälligen Aufgaben',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Überblick',
|
||||
'Board/Calendar/List view' => 'Board-/Kalender-/Listen-Ansicht',
|
||||
'Switch to the board view' => 'Zur Board-Ansicht',
|
||||
'Switch to the calendar view' => 'Zur Kalender-Ansicht',
|
||||
'Switch to the list view' => 'Zur Listen-Ansicht',
|
||||
'Go to the search/filter box' => 'Zum Such- und Filterfeld',
|
||||
'There is no activity yet.' => 'Es gibt bislang keine Aktivitäten.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Γλώσσα:',
|
||||
'Timezone:' => 'Timezone:',
|
||||
'All columns' => 'Όλες οι στήλες',
|
||||
'Calendar' => 'Ημερολόγιο',
|
||||
'Next' => 'Επόμενο',
|
||||
'#%d' => 'n˚%d',
|
||||
'All swimlanes' => 'Όλες οι λωρίδες',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Όταν το έργο έχει μετακινηθεί στην 1η στήλη',
|
||||
'When task is moved to last column' => 'Όταν το έργο έχει μετακινηθεί στην τελευταία στήλη',
|
||||
'Year(s)' => 'Χρόνος(οι)',
|
||||
'Calendar settings' => 'Ρυθμίσεις ημερολογίου',
|
||||
'Project calendar view' => 'Προβολή ημερολογίου έργων',
|
||||
'Project settings' => 'Ρυθμίσεις έργου',
|
||||
'Show subtasks based on the time tracking' => 'Εμφάνιση υπο-εργασίων με βάση την παρακολούθηση του χρόνου',
|
||||
'Show tasks based on the creation date' => 'Εμφάνιση έργων με βάση την ημερομηνία δημιουργίας',
|
||||
'Show tasks based on the start date' => 'Εμφάνιση έργων με βάση την ημερομηνία δημιουργίας ',
|
||||
'Subtasks time tracking' => 'Παρακολούθηση χρόνου υπο-εργασίων',
|
||||
'User calendar view' => 'Προβολή του ημερολογίου του χρήστη',
|
||||
'Automatically update the start date' => 'Αυτόματη ενημέρωση της ημερομηνίας έναρξης',
|
||||
'iCal feed' => 'iCal feed',
|
||||
'Preferences' => 'Προτιμήσεις',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Διακοπή ρολογιού',
|
||||
'Start timer' => 'Έναρξη ρολογιού',
|
||||
'My activity stream' => 'Η ροή δραστηριοτήτων μου',
|
||||
'My calendar' => 'Το ημερολόγιο μου',
|
||||
'Search tasks' => 'Αναζήτηση εργασιών',
|
||||
'Reset filters' => 'Επαναφορά φίλτρων',
|
||||
'My tasks due tomorrow' => 'Οι εργασίες καθηκόντων μου αύριο',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Επισκόπηση',
|
||||
'Board/Calendar/List view' => 'Πίνακας / Ημερολόγιο / Προβολή λίστας',
|
||||
'Switch to the board view' => 'Εναλλαγή στην προβολή του πίνακα',
|
||||
'Switch to the calendar view' => 'Εναλλαγή στην προβολή ημερολογίου',
|
||||
'Switch to the list view' => 'Εναλλαγή στην προβολή λίστας',
|
||||
'Go to the search/filter box' => 'Μετάβαση στο πλαίσιο αναζήτησης / φίλτρο',
|
||||
'There is no activity yet.' => 'Δεν υπάρχει καμία δραστηριότητα ακόμα.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Idioma',
|
||||
'Timezone:' => 'Zona horaria',
|
||||
'All columns' => 'Todas las columnas',
|
||||
'Calendar' => 'Calendario',
|
||||
'Next' => 'Siguiente',
|
||||
// '#%d' => '',
|
||||
'All swimlanes' => 'Todos los carriles',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
// 'When task is moved from first column' => '',
|
||||
// 'When task is moved to last column' => '',
|
||||
// 'Year(s)' => '',
|
||||
// 'Calendar settings' => '',
|
||||
// 'Project calendar view' => '',
|
||||
// 'Project settings' => '',
|
||||
// 'Show subtasks based on the time tracking' => '',
|
||||
// 'Show tasks based on the creation date' => '',
|
||||
// 'Show tasks based on the start date' => '',
|
||||
// 'Subtasks time tracking' => '',
|
||||
// 'User calendar view' => '',
|
||||
// 'Automatically update the start date' => '',
|
||||
// 'iCal feed' => '',
|
||||
// 'Preferences' => '',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
// 'Stop timer' => '',
|
||||
// 'Start timer' => '',
|
||||
// 'My activity stream' => '',
|
||||
// 'My calendar' => '',
|
||||
// 'Search tasks' => '',
|
||||
// 'Reset filters' => '',
|
||||
// 'My tasks due tomorrow' => '',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
// 'Overview' => '',
|
||||
// 'Board/Calendar/List view' => '',
|
||||
// 'Switch to the board view' => '',
|
||||
// 'Switch to the calendar view' => '',
|
||||
// 'Switch to the list view' => '',
|
||||
// 'Go to the search/filter box' => '',
|
||||
// 'There is no activity yet.' => '',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
// 'Language:' => '',
|
||||
// 'Timezone:' => '',
|
||||
// 'All columns' => '',
|
||||
// 'Calendar' => '',
|
||||
// 'Next' => '',
|
||||
// '#%d' => '',
|
||||
// 'All swimlanes' => '',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
// 'When task is moved from first column' => '',
|
||||
// 'When task is moved to last column' => '',
|
||||
// 'Year(s)' => '',
|
||||
// 'Calendar settings' => '',
|
||||
// 'Project calendar view' => '',
|
||||
// 'Project settings' => '',
|
||||
// 'Show subtasks based on the time tracking' => '',
|
||||
// 'Show tasks based on the creation date' => '',
|
||||
// 'Show tasks based on the start date' => '',
|
||||
// 'Subtasks time tracking' => '',
|
||||
// 'User calendar view' => '',
|
||||
// 'Automatically update the start date' => '',
|
||||
// 'iCal feed' => '',
|
||||
// 'Preferences' => '',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
// 'Stop timer' => '',
|
||||
// 'Start timer' => '',
|
||||
// 'My activity stream' => '',
|
||||
// 'My calendar' => '',
|
||||
// 'Search tasks' => '',
|
||||
// 'Reset filters' => '',
|
||||
// 'My tasks due tomorrow' => '',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
// 'Overview' => '',
|
||||
// 'Board/Calendar/List view' => '',
|
||||
// 'Switch to the board view' => '',
|
||||
// 'Switch to the calendar view' => '',
|
||||
// 'Switch to the list view' => '',
|
||||
// 'Go to the search/filter box' => '',
|
||||
// 'There is no activity yet.' => '',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Langue :',
|
||||
'Timezone:' => 'Fuseau horaire :',
|
||||
'All columns' => 'Toutes les colonnes',
|
||||
'Calendar' => 'Agenda',
|
||||
'Next' => 'Suivant',
|
||||
'#%d' => 'n˚%d',
|
||||
'All swimlanes' => 'Toutes les swimlanes',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Lorsque la tâche est déplacée en dehors de la première colonne',
|
||||
'When task is moved to last column' => 'Lorsque la tâche est déplacée dans la dernière colonne',
|
||||
'Year(s)' => 'Année(s)',
|
||||
'Calendar settings' => 'Paramètres du calendrier',
|
||||
'Project calendar view' => 'Vue en mode projet du calendrier',
|
||||
'Project settings' => 'Paramètres du projet',
|
||||
'Show subtasks based on the time tracking' => 'Afficher les sous-tâches basé sur le suivi du temps',
|
||||
'Show tasks based on the creation date' => 'Afficher les tâches en fonction de la date de création',
|
||||
'Show tasks based on the start date' => 'Afficher les tâches en fonction de la date de début',
|
||||
'Subtasks time tracking' => 'Suivi du temps par rapport aux sous-tâches',
|
||||
'User calendar view' => 'Vue en mode utilisateur du calendrier',
|
||||
'Automatically update the start date' => 'Mettre à jour automatiquement la date de début',
|
||||
'iCal feed' => 'Abonnement iCal',
|
||||
'Preferences' => 'Préférences',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Stopper le chrono',
|
||||
'Start timer' => 'Démarrer le chrono',
|
||||
'My activity stream' => 'Mon flux d\'activité',
|
||||
'My calendar' => 'Mon agenda',
|
||||
'Search tasks' => 'Rechercher des tâches',
|
||||
'Reset filters' => 'Réinitialiser les filtres',
|
||||
'My tasks due tomorrow' => 'Mes tâches qui arrivent à échéance demain',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Vue d\'ensemble',
|
||||
'Board/Calendar/List view' => 'Vue Tableau/Calendrier/Liste',
|
||||
'Switch to the board view' => 'Basculer vers le tableau',
|
||||
'Switch to the calendar view' => 'Basculer vers le calendrier',
|
||||
'Switch to the list view' => 'Basculer vers la vue en liste',
|
||||
'Go to the search/filter box' => 'Aller au champ de recherche',
|
||||
'There is no activity yet.' => 'Il n\'y a pas encore d\'activité.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Jezik:',
|
||||
'Timezone:' => 'Vremenska zona:',
|
||||
'All columns' => 'Svi stupci',
|
||||
'Calendar' => 'Kalendar',
|
||||
'Next' => 'Idući',
|
||||
// '#%d' => '',
|
||||
'All swimlanes' => 'Sve staze',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
// 'When task is moved from first column' => '',
|
||||
// 'When task is moved to last column' => '',
|
||||
// 'Year(s)' => '',
|
||||
'Calendar settings' => 'Postavke kalendara',
|
||||
'Project calendar view' => 'Projektni kalendar',
|
||||
'Project settings' => 'Postavke projekta',
|
||||
'Show subtasks based on the time tracking' => 'Prikaz pod-zadataka po evidenciji vremena',
|
||||
'Show tasks based on the creation date' => 'Prikaz zadataka po datumu kreiranja',
|
||||
'Show tasks based on the start date' => 'Prikaz zadataka po datumu početka',
|
||||
'Subtasks time tracking' => 'Evidencija vremena pod-zadataka',
|
||||
'User calendar view' => 'Korisnički kalendar',
|
||||
// 'Automatically update the start date' => '',
|
||||
// 'iCal feed' => '',
|
||||
'Preferences' => 'Postavke',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
// 'Stop timer' => '',
|
||||
// 'Start timer' => '',
|
||||
'My activity stream' => 'Moje aktivnosti',
|
||||
'My calendar' => 'Moj kalendar',
|
||||
'Search tasks' => 'Pretraživanje zadataka',
|
||||
'Reset filters' => 'Obriši filtere',
|
||||
'My tasks due tomorrow' => 'Moji zadaci sa rokom sutra',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Pregled',
|
||||
// 'Board/Calendar/List view' => '',
|
||||
// 'Switch to the board view' => '',
|
||||
// 'Switch to the calendar view' => '',
|
||||
// 'Switch to the list view' => '',
|
||||
// 'Go to the search/filter box' => '',
|
||||
// 'There is no activity yet.' => '',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Nyelv:',
|
||||
'Timezone:' => 'Időzóna:',
|
||||
'All columns' => 'Minden oszlop',
|
||||
'Calendar' => 'Naptár',
|
||||
'Next' => 'Következő',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => 'Minden sáv',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Mikor a feladat az első oszlopból el lett mozgatva',
|
||||
'When task is moved to last column' => 'Mikor a feladat az utolsó oszlopba lett elmozgatva',
|
||||
'Year(s)' => 'Év(ek)',
|
||||
'Calendar settings' => 'Naptár beállítások',
|
||||
'Project calendar view' => 'A projekt megjelenítése naptári formában',
|
||||
'Project settings' => 'Projekt beállítások',
|
||||
'Show subtasks based on the time tracking' => 'A részfeladatok megjelenítése az idő nyomkövetés alapján',
|
||||
'Show tasks based on the creation date' => 'A feladatok megjelenítése a létrehozás dátuma alapján',
|
||||
'Show tasks based on the start date' => 'A feladatok megjelenítése a kezdő dátum alapján',
|
||||
'Subtasks time tracking' => 'A részfeladatok idejének megjelenítése',
|
||||
'User calendar view' => 'A felhasználó naptárának megjelenítése',
|
||||
'Automatically update the start date' => 'A kezdő dátum automatikus módosítása',
|
||||
// 'iCal feed' => '',
|
||||
'Preferences' => 'Preferenciák',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Időmérő leállítása',
|
||||
'Start timer' => 'Időmérő elindítása',
|
||||
'My activity stream' => 'Tevékenységem',
|
||||
'My calendar' => 'Naptáram',
|
||||
'Search tasks' => 'Feladatok közötti keresés',
|
||||
'Reset filters' => 'Szűrő alaphelyzetbe állítás',
|
||||
'My tasks due tomorrow' => 'Holnapi határidejű feladataim',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Áttekintés',
|
||||
'Board/Calendar/List view' => 'Tábla/Naptár/Lista nézet',
|
||||
'Switch to the board view' => 'Átkapcsolás tábla nézetbe',
|
||||
'Switch to the calendar view' => 'Átkapcsolás naptár nézetbe',
|
||||
'Switch to the list view' => 'Átkapcsolás lista nézetbe',
|
||||
'Go to the search/filter box' => 'Ugrás a keresés/szűrés dobozhoz',
|
||||
'There is no activity yet.' => 'Még nincs tevékenység',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Bahasa:',
|
||||
'Timezone:' => 'Zona waktu:',
|
||||
'All columns' => 'Semua kolom',
|
||||
'Calendar' => 'Kalender',
|
||||
'Next' => 'Selanjutnya',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => 'Semua swimlane',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Saat tugas dipindahkan dari kolom pertama',
|
||||
'When task is moved to last column' => 'Saat tugas dipindahkan ke kolom terakhir',
|
||||
'Year(s)' => 'Tahun',
|
||||
'Calendar settings' => 'Pengaturan kalender',
|
||||
'Project calendar view' => 'Tampilan kalender proyek',
|
||||
'Project settings' => 'Pengaturan proyek',
|
||||
'Show subtasks based on the time tracking' => 'Tampilkan sub-tugas berdasarkan pelacakan waktu',
|
||||
'Show tasks based on the creation date' => 'Tampilkan tugas berdasarkan tanggal pembuatan',
|
||||
'Show tasks based on the start date' => 'Tampilkan tugas berdasarkan tanggal mulai',
|
||||
'Subtasks time tracking' => 'Pelacakan waktu sub-tugas',
|
||||
'User calendar view' => 'Tampilan kalender pengguna',
|
||||
'Automatically update the start date' => 'Otomatis memperbarui tanggal permulaan',
|
||||
'iCal feed' => 'Umpan iCal',
|
||||
'Preferences' => 'Preferensi',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Hentikan timer',
|
||||
'Start timer' => 'Mulai timer',
|
||||
'My activity stream' => 'Aliran kegiatan saya',
|
||||
'My calendar' => 'Kalender saya',
|
||||
'Search tasks' => 'Cari tugas',
|
||||
'Reset filters' => 'Reset saringan',
|
||||
'My tasks due tomorrow' => 'Tugas saya yang berakhir besok',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Ringkasan',
|
||||
'Board/Calendar/List view' => 'Tampilan Papan/Kalender/Daftar',
|
||||
'Switch to the board view' => 'Beralih ke tampilan papan',
|
||||
'Switch to the calendar view' => 'Beralih ke tampilan kalender',
|
||||
'Switch to the list view' => 'Beralih ke tampilan daftar',
|
||||
'Go to the search/filter box' => 'Pergi ke kotak pencarian/saringan',
|
||||
'There is no activity yet.' => 'Belum ada aktifitas.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Lingua',
|
||||
'Timezone:' => 'Fuso Orario',
|
||||
'All columns' => 'Tutte le colonne',
|
||||
'Calendar' => 'Calendario',
|
||||
'Next' => 'Prossimo',
|
||||
// '#%d' => '',
|
||||
'All swimlanes' => 'Tutte le corsie',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Quando un task è spostato dalla prima colonna',
|
||||
'When task is moved to last column' => 'Quando un task è spostato nell\'ultima colonna',
|
||||
'Year(s)' => 'Anno/i',
|
||||
'Calendar settings' => 'Impostazioni del calendario',
|
||||
'Project calendar view' => 'Vista di progetto a calendario',
|
||||
'Project settings' => 'Impostazioni di progetto',
|
||||
'Show subtasks based on the time tracking' => 'Mostra i sotto-task in base al time tracking',
|
||||
'Show tasks based on the creation date' => 'Mostra i task in base alla data di creazione',
|
||||
'Show tasks based on the start date' => 'Mostra i task in base alla data di inizio',
|
||||
'Subtasks time tracking' => 'Time tracking per i sotto-task',
|
||||
'User calendar view' => 'Vista utente a calendario',
|
||||
'Automatically update the start date' => 'Aggiorna automaticamente la data di inizio',
|
||||
'iCal feed' => 'feed iCal',
|
||||
'Preferences' => 'Preferenze',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Ferma il timer',
|
||||
'Start timer' => 'Avvia il timer',
|
||||
'My activity stream' => 'Il mio flusso attività',
|
||||
'My calendar' => 'Il mio calendario',
|
||||
'Search tasks' => 'Ricerca task',
|
||||
'Reset filters' => 'Annulla filtri',
|
||||
'My tasks due tomorrow' => 'I miei task da completare per domani',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Panoramica',
|
||||
'Board/Calendar/List view' => 'Vista Bacheca/Calendario/Lista',
|
||||
'Switch to the board view' => 'Passa alla vista "bacheca"',
|
||||
'Switch to the calendar view' => 'Passa alla vista "calendario"',
|
||||
'Switch to the list view' => 'Passa alla vista "elenco"',
|
||||
'Go to the search/filter box' => 'Vai alla casella di ricerca/filtro',
|
||||
'There is no activity yet.' => 'Non è presente ancora nessuna attività.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => '言語:',
|
||||
'Timezone:' => 'タイムゾーン:',
|
||||
'All columns' => '全てのカラム',
|
||||
'Calendar' => 'カレンダー',
|
||||
'Next' => '次へ',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => '全てのスイムレーン',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
// 'When task is moved from first column' => '',
|
||||
// 'When task is moved to last column' => '',
|
||||
// 'Year(s)' => '',
|
||||
// 'Calendar settings' => '',
|
||||
// 'Project calendar view' => '',
|
||||
// 'Project settings' => '',
|
||||
// 'Show subtasks based on the time tracking' => '',
|
||||
// 'Show tasks based on the creation date' => '',
|
||||
// 'Show tasks based on the start date' => '',
|
||||
// 'Subtasks time tracking' => '',
|
||||
// 'User calendar view' => '',
|
||||
// 'Automatically update the start date' => '',
|
||||
// 'iCal feed' => '',
|
||||
// 'Preferences' => '',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
// 'Stop timer' => '',
|
||||
// 'Start timer' => '',
|
||||
// 'My activity stream' => '',
|
||||
// 'My calendar' => '',
|
||||
// 'Search tasks' => '',
|
||||
// 'Reset filters' => '',
|
||||
// 'My tasks due tomorrow' => '',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
// 'Overview' => '',
|
||||
// 'Board/Calendar/List view' => '',
|
||||
// 'Switch to the board view' => '',
|
||||
// 'Switch to the calendar view' => '',
|
||||
// 'Switch to the list view' => '',
|
||||
// 'Go to the search/filter box' => '',
|
||||
// 'There is no activity yet.' => '',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => '언어:',
|
||||
'Timezone:' => '시간대:',
|
||||
'All columns' => '모든 컬럼',
|
||||
'Calendar' => '달력',
|
||||
'Next' => '다음에 ',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => '모든 스윔레인',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => '할일이 첫번째 컬럼으로 옮겨졌을때',
|
||||
'When task is moved to last column' => '할일이 마지막 컬럼으로 옮겨졌을때',
|
||||
'Year(s)' => '년',
|
||||
'Calendar settings' => '달력 설정',
|
||||
'Project calendar view' => '프로젝트 달력 보기',
|
||||
'Project settings' => '프로젝트 설정',
|
||||
'Show subtasks based on the time tracking' => '시간 트래킹의 서브 할일 보기',
|
||||
'Show tasks based on the creation date' => '생성 날짜로 할일 보기',
|
||||
'Show tasks based on the start date' => '시작 날짜로 할일 보기',
|
||||
'Subtasks time tracking' => '서브 할일 시간 트래킹',
|
||||
'User calendar view' => '담당자 달력 보기',
|
||||
'Automatically update the start date' => '시작일에 자동 갱신',
|
||||
'iCal feed' => 'iCal 피드',
|
||||
'Preferences' => '우선권',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => '타이머 정지',
|
||||
'Start timer' => '타이머 시작',
|
||||
'My activity stream' => '내 활동기록',
|
||||
'My calendar' => '내 캘린더',
|
||||
'Search tasks' => '할일 찾기',
|
||||
'Reset filters' => '필터 리셋',
|
||||
'My tasks due tomorrow' => '내일까지 내 할일',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => '개요',
|
||||
'Board/Calendar/List view' => '보드/달력/리스트 보기',
|
||||
'Switch to the board view' => '보드 보기로 전환',
|
||||
'Switch to the calendar view' => '달력 보기로 전환',
|
||||
'Switch to the list view' => '리스트 보기로 전환',
|
||||
'Go to the search/filter box' => '검색/필터 박스로 이동',
|
||||
'There is no activity yet.' => '활동이 없습니다',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Bahasa:',
|
||||
'Timezone:' => 'Zon masa:',
|
||||
'All columns' => 'Semua kolom',
|
||||
'Calendar' => 'Kalender',
|
||||
'Next' => 'Selanjutnya',
|
||||
'#%d' => 'n°%d',
|
||||
'All swimlanes' => 'Semua swimlane',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Ketika tugas dipindahkan dari kolom pertama',
|
||||
'When task is moved to last column' => 'Ketika tugas dipindahkan ke kolom terakhir',
|
||||
'Year(s)' => 'Tahun',
|
||||
'Calendar settings' => 'Pengaturan kalender',
|
||||
'Project calendar view' => 'Tampilan kalender projek',
|
||||
'Project settings' => 'Pengaturan projek',
|
||||
'Show subtasks based on the time tracking' => 'Tampilkan subtugas berdasarkan pelacakan waktu',
|
||||
'Show tasks based on the creation date' => 'Tampilkan tugas berdasarkan tanggal pembuatan',
|
||||
'Show tasks based on the start date' => 'Tampilkan tugas berdasarkan tanggal mulai',
|
||||
'Subtasks time tracking' => 'Pelacakan waktu subtgas',
|
||||
'User calendar view' => 'Pengguna tampilan kalender',
|
||||
'Automatically update the start date' => 'Otomatikkan pengemaskinian tanggal',
|
||||
'iCal feed' => 'iCal feed',
|
||||
'Preferences' => 'Keutamaan',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Hentikan timer',
|
||||
'Start timer' => 'Mulai timer',
|
||||
'My activity stream' => 'Aliran kegiatan saya',
|
||||
'My calendar' => 'Kalender saya',
|
||||
'Search tasks' => 'Cari tugas',
|
||||
'Reset filters' => 'Reset ulang filter',
|
||||
'My tasks due tomorrow' => 'Tugas saya yang berakhir besok',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Ikhtisar',
|
||||
'Board/Calendar/List view' => 'Tampilan Papan/Kalender/Daftar',
|
||||
'Switch to the board view' => 'Beralih ke tampilan papan',
|
||||
'Switch to the calendar view' => 'Beralih ke tampilan kalender',
|
||||
'Switch to the list view' => 'Beralih ke tampilan daftar',
|
||||
'Go to the search/filter box' => 'Pergi ke kotak pencarian/filter',
|
||||
'There is no activity yet.' => 'Tidak ada aktifitas saat ini.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Språk',
|
||||
'Timezone:' => 'Tidssone',
|
||||
'All columns' => 'Alle kolonner',
|
||||
'Calendar' => 'Kalender',
|
||||
'Next' => 'Neste',
|
||||
// '#%d' => '',
|
||||
'All swimlanes' => 'Alle svømmebaner',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Når oppgaven er flyttet fra første kolon',
|
||||
'When task is moved to last column' => 'Når oppgaven er flyttet til siste kolonne',
|
||||
'Year(s)' => 'år',
|
||||
'Calendar settings' => 'Kalenderinstillinger',
|
||||
'Project calendar view' => 'Visning prosjektkalender',
|
||||
'Project settings' => 'Prosjektinnstillinger',
|
||||
// 'Show subtasks based on the time tracking' => '',
|
||||
// 'Show tasks based on the creation date' => '',
|
||||
// 'Show tasks based on the start date' => '',
|
||||
// 'Subtasks time tracking' => '',
|
||||
// 'User calendar view' => '',
|
||||
'Automatically update the start date' => 'Oppdater automatisk start-datoen',
|
||||
// 'iCal feed' => '',
|
||||
'Preferences' => 'Preferanser',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Stopp timer',
|
||||
'Start timer' => 'Start timer',
|
||||
'My activity stream' => 'Aktivitetslogg',
|
||||
'My calendar' => 'Min kalender',
|
||||
'Search tasks' => 'Søk oppgave',
|
||||
'Reset filters' => 'Nullstill filter',
|
||||
'My tasks due tomorrow' => 'Mine oppgaver med frist i morgen',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Oversikt',
|
||||
'Board/Calendar/List view' => 'Oversikt/kalender/listevisning',
|
||||
'Switch to the board view' => 'Oversiktsvisning',
|
||||
'Switch to the calendar view' => 'Kalendevisning',
|
||||
'Switch to the list view' => 'Listevisning',
|
||||
'Go to the search/filter box' => 'Gå til søk/filter',
|
||||
'There is no activity yet.' => 'Ingen aktiviteter ennå.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Taal :',
|
||||
'Timezone:' => 'Tijdzone :',
|
||||
'All columns' => 'Alle kolommen',
|
||||
'Calendar' => 'Agenda',
|
||||
'Next' => 'Volgende',
|
||||
'#%d' => '%d',
|
||||
'All swimlanes' => 'Alle swimlanes',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
// 'When task is moved from first column' => '',
|
||||
// 'When task is moved to last column' => '',
|
||||
'Year(s)' => 'Jaar/Jaren',
|
||||
'Calendar settings' => 'Kalender instellingen',
|
||||
// 'Project calendar view' => '',
|
||||
'Project settings' => 'Project instellingen',
|
||||
// 'Show subtasks based on the time tracking' => '',
|
||||
// 'Show tasks based on the creation date' => '',
|
||||
// 'Show tasks based on the start date' => '',
|
||||
// 'Subtasks time tracking' => '',
|
||||
// 'User calendar view' => '',
|
||||
// 'Automatically update the start date' => '',
|
||||
// 'iCal feed' => '',
|
||||
'Preferences' => 'Voorkeuren',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Stop timer',
|
||||
'Start timer' => 'Start timer',
|
||||
'My activity stream' => 'Mijn activiteiten',
|
||||
'My calendar' => 'Mijn kalender',
|
||||
'Search tasks' => 'Zoek taken',
|
||||
'Reset filters' => 'Reset filters',
|
||||
// 'My tasks due tomorrow' => '',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Overzicht',
|
||||
// 'Board/Calendar/List view' => '',
|
||||
// 'Switch to the board view' => '',
|
||||
// 'Switch to the calendar view' => '',
|
||||
// 'Switch to the list view' => '',
|
||||
// 'Go to the search/filter box' => '',
|
||||
// 'There is no activity yet.' => '',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Język:',
|
||||
'Timezone:' => 'Strefa czasowa:',
|
||||
'All columns' => 'Wszystkie kolumny',
|
||||
'Calendar' => 'Kalendarz',
|
||||
'Next' => 'Następny',
|
||||
'#%d' => 'nr %d',
|
||||
'All swimlanes' => 'Wszystkie tory',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Przeniesienie zadania z pierwszej kolumny',
|
||||
'When task is moved to last column' => 'Przeniesienie zadania do ostatniej kolumny',
|
||||
'Year(s)' => 'Lat',
|
||||
'Calendar settings' => 'Ustawienia kalendarza',
|
||||
'Project calendar view' => 'Widok kalendarza projektu',
|
||||
'Project settings' => 'Ustawienia Projektu',
|
||||
'Show subtasks based on the time tracking' => 'Pokaż pod-zadania w śledzeniu czasu',
|
||||
'Show tasks based on the creation date' => 'Pokaż zadania względem daty utworzenia',
|
||||
'Show tasks based on the start date' => 'Pokaż zadania względem daty rozpoczęcia',
|
||||
'Subtasks time tracking' => 'Śledzenie czasu pod-zadań',
|
||||
'User calendar view' => 'Widok kalendarza użytkownika',
|
||||
'Automatically update the start date' => 'Automatycznie aktualizuj datę rozpoczęcia',
|
||||
// 'iCal feed' => '',
|
||||
'Preferences' => 'Ustawienia',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Zatrzymaj pomiar czasu',
|
||||
'Start timer' => 'Uruchom pomiar czasu',
|
||||
'My activity stream' => 'Moja aktywność',
|
||||
'My calendar' => 'Mój kalendarz',
|
||||
'Search tasks' => 'Szukaj zadań',
|
||||
'Reset filters' => 'Resetuj zastosowane filtry',
|
||||
'My tasks due tomorrow' => 'Moje zadania do jutra',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Podsumowanie',
|
||||
'Board/Calendar/List view' => 'Widok: Tablica/Kalendarz/Lista',
|
||||
'Switch to the board view' => 'Przełącz na tablicę',
|
||||
'Switch to the calendar view' => 'Przełącz na kalendarz',
|
||||
'Switch to the list view' => 'Przełącz na listę',
|
||||
'Go to the search/filter box' => 'Użyj pola wyszukiwania/filtrów',
|
||||
'There is no activity yet.' => 'Brak powiadomień',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Idioma',
|
||||
'Timezone:' => 'Fuso horário',
|
||||
'All columns' => 'Todas as colunas',
|
||||
'Calendar' => 'Calendário',
|
||||
'Next' => 'Próximo',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => 'Todas as swimlanes',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Quando a tarefa é movida fora da primeira coluna',
|
||||
'When task is moved to last column' => 'Quando a tarefa é movida para a última coluna',
|
||||
'Year(s)' => 'Ano(s)',
|
||||
'Calendar settings' => 'Configurações do calendário',
|
||||
'Project calendar view' => 'Vista em modo projeto do calendário',
|
||||
'Project settings' => 'Configurações dos projetos',
|
||||
'Show subtasks based on the time tracking' => 'Mostrar as subtarefas com base no controle de tempo',
|
||||
'Show tasks based on the creation date' => 'Mostrar as tarefas em função da data de criação',
|
||||
'Show tasks based on the start date' => 'Mostrar as tarefas em função da data de início',
|
||||
'Subtasks time tracking' => 'Monitoramento do tempo comparado as subtarefas',
|
||||
'User calendar view' => 'Vista em modo utilizador do calendário',
|
||||
'Automatically update the start date' => 'Atualizar automaticamente a data de início',
|
||||
'iCal feed' => 'Subscrição iCal',
|
||||
'Preferences' => 'Preferências',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Stop timer',
|
||||
'Start timer' => 'Start timer',
|
||||
'My activity stream' => 'Meu feed de atividades',
|
||||
'My calendar' => 'Minha agenda',
|
||||
'Search tasks' => 'Pesquisar tarefas',
|
||||
'Reset filters' => 'Redefinir os filtros',
|
||||
'My tasks due tomorrow' => 'Minhas tarefas que expirarão amanhã',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Visão global',
|
||||
'Board/Calendar/List view' => 'Vista Painel/Calendário/Lista',
|
||||
'Switch to the board view' => 'Mudar para o modo Painel',
|
||||
'Switch to the calendar view' => 'Mudar par o modo Calendário',
|
||||
'Switch to the list view' => 'Mudar par o modo Lista',
|
||||
'Go to the search/filter box' => 'Ir para o campo de pesquisa',
|
||||
'There is no activity yet.' => 'Não há nenhuma atividade ainda.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Idioma:',
|
||||
'Timezone:' => 'Fuso horário:',
|
||||
'All columns' => 'Todas as colunas',
|
||||
'Calendar' => 'Calendário',
|
||||
'Next' => 'Próximo',
|
||||
// '#%d' => '',
|
||||
'All swimlanes' => 'Todos os swimlane',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Quando a tarefa é movida fora da primeira coluna',
|
||||
'When task is moved to last column' => 'Quando a tarefa é movida para a última coluna',
|
||||
'Year(s)' => 'Ano(s)',
|
||||
'Calendar settings' => 'Configurações do calendário',
|
||||
'Project calendar view' => 'Vista em modo projeto do calendário',
|
||||
'Project settings' => 'Configurações dos projetos',
|
||||
'Show subtasks based on the time tracking' => 'Mostrar as subtarefas com base no controle de tempo',
|
||||
'Show tasks based on the creation date' => 'Mostrar as tarefas em função da data de criação',
|
||||
'Show tasks based on the start date' => 'Mostrar as tarefas em função da data de início',
|
||||
'Subtasks time tracking' => 'Monitoramento do tempo comparado as subtarefas',
|
||||
'User calendar view' => 'Vista em modo utilizador do calendário',
|
||||
'Automatically update the start date' => 'Actualizar automaticamente a data de início',
|
||||
'iCal feed' => 'Subscrição iCal',
|
||||
'Preferences' => 'Preferências',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Parar temporizador',
|
||||
'Start timer' => 'Iniciar temporizador',
|
||||
'My activity stream' => 'O meu feed de actividade',
|
||||
'My calendar' => 'A minha agenda',
|
||||
'Search tasks' => 'Pesquisar tarefas',
|
||||
'Reset filters' => 'Redefinir os filtros',
|
||||
'My tasks due tomorrow' => 'A minhas tarefas que expiram amanhã',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Visão global',
|
||||
'Board/Calendar/List view' => 'Vista Painel/Calendário/Lista',
|
||||
'Switch to the board view' => 'Mudar para o modo Painel',
|
||||
'Switch to the calendar view' => 'Mudar para o modo Calendário',
|
||||
'Switch to the list view' => 'Mudar para o modo Lista',
|
||||
'Go to the search/filter box' => 'Ir para o campo de pesquisa',
|
||||
'There is no activity yet.' => 'Ainda não há nenhuma actividade.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Язык:',
|
||||
'Timezone:' => 'Временная зона:',
|
||||
'All columns' => 'Все колонки',
|
||||
'Calendar' => 'Календарь',
|
||||
'Next' => 'Следующий',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => 'Все дорожки',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Когда задача перемещается из первой колонки',
|
||||
'When task is moved to last column' => 'Когда задача перемещается в последнюю колонку',
|
||||
'Year(s)' => 'Год(а)',
|
||||
'Calendar settings' => 'Настройки календаря',
|
||||
'Project calendar view' => 'Вид календаря проекта',
|
||||
'Project settings' => 'Настройки проекта',
|
||||
'Show subtasks based on the time tracking' => 'Показать подзадачи, основанные на отслеживании времени',
|
||||
'Show tasks based on the creation date' => 'Показать задачи в зависимости от даты создания',
|
||||
'Show tasks based on the start date' => 'Показать задачи в зависимости от даты начала',
|
||||
'Subtasks time tracking' => 'Отслеживание времени подзадач',
|
||||
'User calendar view' => 'Просмотреть календарь пользователя',
|
||||
'Automatically update the start date' => 'Автоматическое обновление даты начала',
|
||||
'iCal feed' => 'iCal данные',
|
||||
'Preferences' => 'Предпочтения',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Остановить таймер',
|
||||
'Start timer' => 'Запустить таймер',
|
||||
'My activity stream' => 'Лента моей активности',
|
||||
'My calendar' => 'Мой календарь',
|
||||
'Search tasks' => 'Поиск задачи',
|
||||
'Reset filters' => 'Сбросить фильтры',
|
||||
'My tasks due tomorrow' => 'Мои задачи на завтра',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Обзор',
|
||||
'Board/Calendar/List view' => 'Просмотр Доска/Календарь/Список',
|
||||
'Switch to the board view' => 'Переключиться в режим доски',
|
||||
'Switch to the calendar view' => 'Переключиться в режим календаря',
|
||||
'Switch to the list view' => 'Переключиться в режим списка',
|
||||
'Go to the search/filter box' => 'Перейти в поиск/фильтр',
|
||||
'There is no activity yet.' => 'Активности еще не было',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Jezik:',
|
||||
'Timezone:' => 'Vremenska zona:',
|
||||
'All columns' => 'Sve kolone',
|
||||
'Calendar' => 'Kalendar',
|
||||
'Next' => 'Sledeći',
|
||||
// '#%d' => '',
|
||||
'All swimlanes' => 'Svi razdelniki',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
// 'When task is moved from first column' => '',
|
||||
// 'When task is moved to last column' => '',
|
||||
// 'Year(s)' => '',
|
||||
// 'Calendar settings' => '',
|
||||
// 'Project calendar view' => '',
|
||||
// 'Project settings' => '',
|
||||
// 'Show subtasks based on the time tracking' => '',
|
||||
// 'Show tasks based on the creation date' => '',
|
||||
// 'Show tasks based on the start date' => '',
|
||||
// 'Subtasks time tracking' => '',
|
||||
// 'User calendar view' => '',
|
||||
// 'Automatically update the start date' => '',
|
||||
// 'iCal feed' => '',
|
||||
// 'Preferences' => '',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
// 'Stop timer' => '',
|
||||
// 'Start timer' => '',
|
||||
// 'My activity stream' => '',
|
||||
// 'My calendar' => '',
|
||||
// 'Search tasks' => '',
|
||||
// 'Reset filters' => '',
|
||||
// 'My tasks due tomorrow' => '',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
// 'Overview' => '',
|
||||
// 'Board/Calendar/List view' => '',
|
||||
// 'Switch to the board view' => '',
|
||||
// 'Switch to the calendar view' => '',
|
||||
// 'Switch to the list view' => '',
|
||||
// 'Go to the search/filter box' => '',
|
||||
// 'There is no activity yet.' => '',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Språk',
|
||||
'Timezone:' => 'Tidszon',
|
||||
'All columns' => 'Alla kolumner',
|
||||
'Calendar' => 'Kalender',
|
||||
'Next' => 'Nästa',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => 'Alla swimlanes',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'När uppgiften flyttas från första kolumnen',
|
||||
'When task is moved to last column' => 'När uppgiften flyttas till sista kolumnen',
|
||||
'Year(s)' => 'År',
|
||||
'Calendar settings' => 'Inställningar för kalendern',
|
||||
'Project calendar view' => 'Projektkalendervy',
|
||||
'Project settings' => 'Projektinställningar',
|
||||
'Show subtasks based on the time tracking' => 'Visa deluppgifter baserade på tidsspårning',
|
||||
'Show tasks based on the creation date' => 'Visa uppgifter baserade på skapat datum',
|
||||
'Show tasks based on the start date' => 'Visa uppgifter baserade på startdatum',
|
||||
'Subtasks time tracking' => 'Deluppgifter tidsspårning',
|
||||
'User calendar view' => 'Användarkalendervy',
|
||||
'Automatically update the start date' => 'Automatisk uppdatering av startdatum',
|
||||
'iCal feed' => 'iCal flöde',
|
||||
'Preferences' => 'Preferenser',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Stoppa timer',
|
||||
'Start timer' => 'Starta timer',
|
||||
'My activity stream' => 'Min aktivitetsström',
|
||||
'My calendar' => 'Min kalender',
|
||||
'Search tasks' => 'Sök uppgifter',
|
||||
'Reset filters' => 'Återställ filter',
|
||||
'My tasks due tomorrow' => 'Mina uppgifter förfaller imorgon',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Översikts',
|
||||
'Board/Calendar/List view' => 'Tavla/Kalender/Listvy',
|
||||
'Switch to the board view' => 'Växla till tavelvy',
|
||||
'Switch to the calendar view' => 'Växla till kalendervy',
|
||||
'Switch to the list view' => 'Växla till listvy',
|
||||
'Go to the search/filter box' => 'Gå till sök/filter box',
|
||||
'There is no activity yet.' => 'Det finns ingen aktivitet ännu.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'ภาษา:',
|
||||
'Timezone:' => 'เขตเวลา:',
|
||||
'All columns' => 'คอลัมน์ทั้งหมด',
|
||||
'Calendar' => 'ปฏิทิน',
|
||||
'Next' => 'ต่อไป',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => 'สวิมเลนทั้งหมด',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'เมื่องานถูกย้ายจากคอลัมน์แรก',
|
||||
'When task is moved to last column' => 'เมื่องานถูกย้ายไปคอลัมน์สุดท้าย',
|
||||
'Year(s)' => 'ปี',
|
||||
'Calendar settings' => 'ตั้งค่าปฏิทิน',
|
||||
'Project calendar view' => 'มุมมองปฏิทินของโปรเจค',
|
||||
'Project settings' => 'ตั้งค่าโปรเจค',
|
||||
'Show subtasks based on the time tracking' => 'แสดงงานย่อยในการติดตามเวลา',
|
||||
'Show tasks based on the creation date' => 'แสดงงานจากวันที่สร้าง',
|
||||
'Show tasks based on the start date' => 'แสดงงานจากวันที่เริ่ม',
|
||||
'Subtasks time tracking' => 'การติดตามเวลางานย่อย',
|
||||
'User calendar view' => 'มุมมองปฏิทินของผู้ใช้',
|
||||
'Automatically update the start date' => 'ปรับปรุงวันที่เริ่มอัตโนมมัติ',
|
||||
// 'iCal feed' => '',
|
||||
// 'Preferences' => '',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'หยุดจับเวลา',
|
||||
'Start timer' => 'เริ่มจับเวลา',
|
||||
'My activity stream' => 'กิจกรรมที่เกิดขึ้นของฉัน',
|
||||
'My calendar' => 'ปฎิทินของฉัน',
|
||||
'Search tasks' => 'ค้นหางาน',
|
||||
'Reset filters' => 'ล้างตัวกรอง',
|
||||
'My tasks due tomorrow' => 'งานถึงกำหนดของฉันวันพรุ่งนี้',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'ภาพรวม',
|
||||
'Board/Calendar/List view' => 'มุมมอง บอร์ด/ปฎิทิน/ลิสต์',
|
||||
'Switch to the board view' => 'เปลี่ยนเป็นมุมมองบอร์ด',
|
||||
'Switch to the calendar view' => 'เปลี่ยนเป็นมุมมองปฎิทิน',
|
||||
'Switch to the list view' => 'เปลี่ยนเป็นมุมมองลิสต์',
|
||||
'Go to the search/filter box' => 'ไปที่กล่องค้นหา/ตัวกรอง',
|
||||
'There is no activity yet.' => 'ตอนนี้ไม่มีกิจกรรม',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => 'Dil:',
|
||||
'Timezone:' => 'Saat dilimi:',
|
||||
'All columns' => 'Tüm sütunlar',
|
||||
'Calendar' => 'Takvim',
|
||||
'Next' => 'Sonraki',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => 'Tüm Kulvarlar',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => 'Görev ilk sütundan taşındığı zaman',
|
||||
'When task is moved to last column' => 'Görev son sütuna taşındığı zaman',
|
||||
'Year(s)' => 'Yıl(lar)',
|
||||
'Calendar settings' => 'Takvim ayarları',
|
||||
'Project calendar view' => 'Proje takvim görünümü',
|
||||
'Project settings' => 'Proje ayarları',
|
||||
'Show subtasks based on the time tracking' => 'Zaman takibi bazında alt görevleri göster',
|
||||
'Show tasks based on the creation date' => 'Oluşturulma zamanına göre görevleri göster',
|
||||
'Show tasks based on the start date' => 'Başlangıç zamanına göre görevleri göster',
|
||||
'Subtasks time tracking' => 'Alt görevler zaman takibi',
|
||||
'User calendar view' => 'Kullanıcı takvim görünümü',
|
||||
'Automatically update the start date' => 'Başlangıç tarihini otomatik olarak güncelle',
|
||||
'iCal feed' => 'iCal akışı',
|
||||
'Preferences' => 'Ayarlar',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => 'Zamanlayıcıyı durdur',
|
||||
'Start timer' => 'Zamanlayıcıyı başlat',
|
||||
'My activity stream' => 'Olay akışım',
|
||||
'My calendar' => 'Takvimim',
|
||||
'Search tasks' => 'Görevleri ara',
|
||||
'Reset filters' => 'Filtreleri sıfırla',
|
||||
'My tasks due tomorrow' => 'Yarına tamamlanması gereken görevlerim',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => 'Özet Görünüm',
|
||||
'Board/Calendar/List view' => 'Pano/Takvim/Liste görünümü',
|
||||
'Switch to the board view' => 'Pano görünümüne geç',
|
||||
'Switch to the calendar view' => 'Takvim görünümüne geç',
|
||||
'Switch to the list view' => 'Liste görünümüne geç',
|
||||
'Go to the search/filter box' => 'Arama/Filtreleme kutusuna git',
|
||||
'There is no activity yet.' => 'Henüz bir aktivite yok.',
|
||||
|
|
|
|||
|
|
@ -455,7 +455,6 @@ return array(
|
|||
'Language:' => '语言:',
|
||||
'Timezone:' => '时区:',
|
||||
'All columns' => '全部栏目',
|
||||
'Calendar' => '日程表',
|
||||
'Next' => '前进',
|
||||
'#%d' => '#%d',
|
||||
'All swimlanes' => '全部里程碑',
|
||||
|
|
@ -607,14 +606,7 @@ return array(
|
|||
'When task is moved from first column' => '当任务从第一列任务栏移走时',
|
||||
'When task is moved to last column' => '当任务移动到最后一列任务栏时',
|
||||
'Year(s)' => '年',
|
||||
'Calendar settings' => '日程设置',
|
||||
'Project calendar view' => '项目日历表',
|
||||
'Project settings' => '项目设置',
|
||||
'Show subtasks based on the time tracking' => '在时间跟踪上显示子任务',
|
||||
'Show tasks based on the creation date' => '显示任务创建日期于',
|
||||
'Show tasks based on the start date' => '显示任务开始日期于',
|
||||
'Subtasks time tracking' => '子任务时间跟踪',
|
||||
'User calendar view' => '用户日程视图',
|
||||
'Automatically update the start date' => '自动更新开始日期',
|
||||
'iCal feed' => '日历订阅',
|
||||
'Preferences' => '偏好',
|
||||
|
|
@ -670,7 +662,6 @@ return array(
|
|||
'Stop timer' => '停止计时器',
|
||||
'Start timer' => '开启计时器',
|
||||
'My activity stream' => '我的活动流',
|
||||
'My calendar' => '我的日程表',
|
||||
'Search tasks' => '搜索任务',
|
||||
'Reset filters' => '重置过滤器',
|
||||
'My tasks due tomorrow' => '我的明天到期的任务',
|
||||
|
|
@ -684,7 +675,6 @@ return array(
|
|||
'Overview' => '概览',
|
||||
'Board/Calendar/List view' => '看板/日程/列表视图',
|
||||
'Switch to the board view' => '切换到看板视图',
|
||||
'Switch to the calendar view' => '切换到日程视图',
|
||||
'Switch to the list view' => '切换到列表视图',
|
||||
'Go to the search/filter box' => '前往搜索/过滤箱',
|
||||
'There is no activity yet.' => '当前无任何活动.',
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ class FormatterProvider implements ServiceProviderInterface
|
|||
'SubtaskListFormatter',
|
||||
'SubtaskTimeTrackingCalendarFormatter',
|
||||
'TaskAutoCompleteFormatter',
|
||||
'TaskCalendarFormatter',
|
||||
'TaskGanttFormatter',
|
||||
'TaskICalFormatter',
|
||||
'TaskListFormatter',
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ class HelperProvider implements ServiceProviderInterface
|
|||
{
|
||||
$container['helper'] = new Helper($container);
|
||||
$container['helper']->register('app', '\Kanboard\Helper\AppHelper');
|
||||
$container['helper']->register('calendar', '\Kanboard\Helper\CalendarHelper');
|
||||
$container['helper']->register('asset', '\Kanboard\Helper\AssetHelper');
|
||||
$container['helper']->register('board', '\Kanboard\Helper\BoardHelper');
|
||||
$container['helper']->register('comment', '\Kanboard\Helper\CommentHelper');
|
||||
|
|
|
|||
|
|
@ -36,7 +36,6 @@ class RouteProvider implements ServiceProviderInterface
|
|||
$container['route']->addRoute('dashboard/:user_id/projects', 'DashboardController', 'projects');
|
||||
$container['route']->addRoute('dashboard/:user_id/tasks', 'DashboardController', 'tasks');
|
||||
$container['route']->addRoute('dashboard/:user_id/subtasks', 'DashboardController', 'subtasks');
|
||||
$container['route']->addRoute('dashboard/:user_id/calendar', 'DashboardController', 'calendar');
|
||||
$container['route']->addRoute('dashboard/:user_id/activity', 'DashboardController', 'activity');
|
||||
$container['route']->addRoute('dashboard/:user_id/notifications', 'DashboardController', 'notifications');
|
||||
|
||||
|
|
@ -119,10 +118,6 @@ class RouteProvider implements ServiceProviderInterface
|
|||
$container['route']->addRoute('b/:project_id', 'BoardViewController', 'show');
|
||||
$container['route']->addRoute('public/board/:token', 'BoardViewController', 'readonly');
|
||||
|
||||
// Calendar routes
|
||||
$container['route']->addRoute('calendar/:project_id', 'CalendarController', 'show');
|
||||
$container['route']->addRoute('c/:project_id', 'CalendarController', 'show');
|
||||
|
||||
// Listing routes
|
||||
$container['route']->addRoute('list/:project_id', 'TaskListController', 'show');
|
||||
$container['route']->addRoute('l/:project_id', 'TaskListController', 'show');
|
||||
|
|
@ -167,7 +162,6 @@ class RouteProvider implements ServiceProviderInterface
|
|||
$container['route']->addRoute('settings/project', 'ConfigController', 'project');
|
||||
$container['route']->addRoute('settings/project', 'ConfigController', 'project');
|
||||
$container['route']->addRoute('settings/board', 'ConfigController', 'board');
|
||||
$container['route']->addRoute('settings/calendar', 'ConfigController', 'calendar');
|
||||
$container['route']->addRoute('settings/integrations', 'ConfigController', 'integrations');
|
||||
$container['route']->addRoute('settings/webhook', 'ConfigController', 'webhook');
|
||||
$container['route']->addRoute('settings/api', 'ConfigController', 'api');
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
<?= $this->projectHeader->render($project, 'CalendarController', 'show') ?>
|
||||
|
||||
<?= $this->calendar->render(
|
||||
$this->url->href('CalendarController', 'projectEvents', array('project_id' => $project['id'])),
|
||||
$this->url->href('CalendarController', 'save', array('project_id' => $project['id']))
|
||||
) ?>
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
<?= $this->calendar->render(
|
||||
$this->url->href('CalendarController', 'userEvents', array('user_id' => $user['id'])),
|
||||
$this->url->href('CalendarController', 'save')
|
||||
) ?>
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
<div class="page-header">
|
||||
<h2><?= t('Calendar settings') ?></h2>
|
||||
</div>
|
||||
<form method="post" action="<?= $this->url->href('ConfigController', 'save', array('redirect' => 'calendar')) ?>" autocomplete="off">
|
||||
|
||||
<?= $this->form->csrf() ?>
|
||||
|
||||
<fieldset>
|
||||
<legend><?= t('Project calendar view') ?></legend>
|
||||
<?= $this->form->radios('calendar_project_tasks', array(
|
||||
'date_creation' => t('Show tasks based on the creation date'),
|
||||
'date_started' => t('Show tasks based on the start date'),
|
||||
),
|
||||
$values
|
||||
) ?>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend><?= t('User calendar view') ?></legend>
|
||||
<?= $this->form->radios('calendar_user_tasks', array(
|
||||
'date_creation' => t('Show tasks based on the creation date'),
|
||||
'date_started' => t('Show tasks based on the start date'),
|
||||
),
|
||||
$values
|
||||
) ?>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend><?= t('Subtasks time tracking') ?></legend>
|
||||
<?= $this->form->checkbox('calendar_user_subtasks_time_tracking', t('Show subtasks based on the time tracking'), 1, $values['calendar_user_subtasks_time_tracking'] == 1) ?>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -6,7 +6,6 @@
|
|||
<ul>
|
||||
<li><?= t('Switch to the project overview') ?> = <strong>v o</strong></li>
|
||||
<li><?= t('Switch to the board view') ?> = <strong>v b</strong></li>
|
||||
<li><?= t('Switch to the calendar view') ?> = <strong>v c</strong></li>
|
||||
<li><?= t('Switch to the list view') ?> = <strong>v l</strong></li>
|
||||
<li><?= t('Switch to the Gantt chart view') ?> = <strong>v g</strong></li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -15,9 +15,6 @@
|
|||
<li <?= $this->app->checkMenuSelection('ConfigController', 'board') ?>>
|
||||
<?= $this->url->link(t('Board settings'), 'ConfigController', 'board') ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('ConfigController', 'calendar') ?>>
|
||||
<?= $this->url->link(t('Calendar settings'), 'ConfigController', 'calendar') ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('TagController', 'index') ?>>
|
||||
<?= $this->url->link(t('Tags management'), 'TagController', 'index') ?>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -16,9 +16,7 @@
|
|||
<li>
|
||||
<?= $this->modal->medium('dashboard', t('My activity stream'), 'ActivityController', 'user') ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= $this->modal->medium('calendar', t('My calendar'), 'CalendarController', 'user') ?>
|
||||
</li>
|
||||
<?= $this->hook->render('template:dashboard:page-header:menu', array('user' => $user)) ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,9 +4,6 @@
|
|||
<li>
|
||||
<?= $this->url->icon('th', t('Board'), 'BoardViewController', 'show', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= $this->url->icon('calendar', t('Calendar'), 'CalendarController', 'show', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= $this->url->icon('list', t('Listing'), 'TaskListController', 'show', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -5,9 +5,6 @@
|
|||
<li <?= $this->app->checkMenuSelection('BoardViewController') ?>>
|
||||
<?= $this->url->icon('th', t('Board'), 'BoardViewController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-board', t('Keyboard shortcut: "%s"', 'v b')) ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('CalendarController') ?>>
|
||||
<?= $this->url->icon('calendar', t('Calendar'), 'CalendarController', 'project', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-calendar', t('Keyboard shortcut: "%s"', 'v c')) ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('TaskListController') ?>>
|
||||
<?= $this->url->icon('list', t('List'), 'TaskListController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-listing', t('Keyboard shortcut: "%s"', 'v l')) ?>
|
||||
</li>
|
||||
|
|
@ -16,4 +13,5 @@
|
|||
<?= $this->url->icon('sliders', t('Gantt'), 'TaskGanttController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-gantt', t('Keyboard shortcut: "%s"', 'v g')) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?= $this->hook->render('template:project-header:view-switcher', array('project' => $project, 'filters' => $filters)) ?>
|
||||
</ul>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,65 +0,0 @@
|
|||
KB.component('calendar', function (containerElement, options) {
|
||||
var modeMapping = { // Let's have bookable pretty mode names
|
||||
month: 'month',
|
||||
week: 'agendaWeek',
|
||||
day: 'agendaDay'
|
||||
};
|
||||
|
||||
this.render = function () {
|
||||
var calendar = $(containerElement);
|
||||
var mode = 'month';
|
||||
if (window.location.hash) { // Check if hash contains mode
|
||||
var hashMode = window.location.hash.substr(1);
|
||||
mode = modeMapping[hashMode] || mode;
|
||||
}
|
||||
|
||||
calendar.fullCalendar({
|
||||
locale: $("body").data("js-lang"),
|
||||
editable: true,
|
||||
eventLimit: true,
|
||||
defaultView: mode,
|
||||
header: {
|
||||
left: 'prev,next today',
|
||||
center: 'title',
|
||||
right: 'month,agendaWeek,agendaDay'
|
||||
},
|
||||
eventDrop: function(event) {
|
||||
$.ajax({
|
||||
cache: false,
|
||||
url: options.saveUrl,
|
||||
contentType: "application/json",
|
||||
type: "POST",
|
||||
processData: false,
|
||||
data: JSON.stringify({
|
||||
"task_id": event.id,
|
||||
"date_due": event.start.format()
|
||||
})
|
||||
});
|
||||
},
|
||||
viewRender: function(view) {
|
||||
// Map view.name back and update location.hash
|
||||
for (var id in modeMapping) {
|
||||
if (modeMapping[id] === view.name) { // Found
|
||||
window.location.hash = id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
var url = options.checkUrl;
|
||||
var params = {
|
||||
"start": calendar.fullCalendar('getView').start.format(),
|
||||
"end": calendar.fullCalendar('getView').end.format()
|
||||
};
|
||||
|
||||
for (var key in params) {
|
||||
url += "&" + key + "=" + params[key];
|
||||
}
|
||||
|
||||
$.getJSON(url, function(events) {
|
||||
calendar.fullCalendar('removeEvents');
|
||||
calendar.fullCalendar('addEventSource', events);
|
||||
calendar.fullCalendar('rerenderEvents');
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
});
|
||||
|
|
@ -117,10 +117,6 @@ KB.keyboardShortcuts = function () {
|
|||
goToLink('a.view-board');
|
||||
});
|
||||
|
||||
KB.onKey('v+c', function () {
|
||||
goToLink('a.view-calendar');
|
||||
});
|
||||
|
||||
KB.onKey('v+l', function () {
|
||||
goToLink('a.view-listing');
|
||||
});
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -9,7 +9,6 @@
|
|||
],
|
||||
"dependencies": {
|
||||
"jquery": "^2.2.3",
|
||||
"fullcalendar": "^3.0.1",
|
||||
"c3": "^0.4.11",
|
||||
"jquery-ui": "^1.11.4",
|
||||
"jqueryui-touch-punch": "*",
|
||||
|
|
|
|||
|
|
@ -212,6 +212,7 @@ List of template hooks:
|
|||
| `template:config:email` | Email settings page |
|
||||
| `template:config:integrations` | Integration page in global settings |
|
||||
| `template:dashboard:show` | Main page of the dashboard |
|
||||
| `template:dashboard:page-header:menu` | Dashboard submenu |
|
||||
| `template:header:dropdown` | Page header dropdown menu (user avatar icon) |
|
||||
| `template:header:creation-dropdown` | Page header dropdown menu (plus icon) |
|
||||
| `template:layout:head` | Page layout `<head/>` tag |
|
||||
|
|
@ -226,6 +227,7 @@ List of template hooks:
|
|||
| `template:project-list:menu:before` | Project list: before menu entries |
|
||||
| `template:project-list:menu:after` | Project list: after menu entries |
|
||||
| `template:project-overview:before-description` | Project overview: before description |
|
||||
| `template:project-header:view-switcher` | Project view switcher |
|
||||
| `template:task:layout:top` | Task layout top (after page header) |
|
||||
| `template:task:details:top` | Task summary top |
|
||||
| `template:task:details:bottom` | Task summary bottom |
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ var vendor = {
|
|||
'bower_components/jquery-ui/themes/base/jquery-ui.min.css',
|
||||
'bower_components/jqueryui-timepicker-addon/dist/jquery-ui-timepicker-addon.min.css',
|
||||
'bower_components/select2/dist/css/select2.min.css',
|
||||
'bower_components/fullcalendar/dist/fullcalendar.min.css',
|
||||
'bower_components/font-awesome/css/font-awesome.min.css',
|
||||
'bower_components/c3/c3.min.css'
|
||||
],
|
||||
|
|
@ -44,9 +43,6 @@ var vendor = {
|
|||
'bower_components/jqueryui-timepicker-addon/dist/i18n/jquery-ui-timepicker-addon-i18n.min.js',
|
||||
'bower_components/jqueryui-touch-punch/jquery.ui.touch-punch.min.js',
|
||||
'bower_components/select2/dist/js/select2.min.js',
|
||||
'bower_components/moment/min/moment.min.js',
|
||||
'bower_components/fullcalendar/dist/fullcalendar.min.js',
|
||||
'bower_components/fullcalendar/dist/locale-all.js',
|
||||
'bower_components/d3/d3.min.js',
|
||||
'bower_components/c3/c3.min.js',
|
||||
'bower_components/isMobile/isMobile.min.js',
|
||||
|
|
|
|||
Loading…
Reference in New Issue