Move calendar to external plugin

This commit is contained in:
Frederic Guillot
2017-04-01 15:43:36 -04:00
parent 99015d08fa
commit 253d5a9331
53 changed files with 17 additions and 769 deletions

View File

@@ -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 Version 1.0.41
-------------- --------------

View File

@@ -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),
));
}
}
}

View File

@@ -49,9 +49,6 @@ class ConfigController extends BaseController
case 'integrations': case 'integrations':
$values += array('integration_gravatar' => 0); $values += array('integration_gravatar' => 0);
break; break;
case 'calendar':
$values += array('calendar_user_subtasks_time_tracking' => 0);
break;
} }
if ($this->configModel->save($values)) { 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').' &gt; '.t('Calendar settings'),
)));
}
/** /**
* Display the integration settings page * Display the integration settings page
* *

View File

@@ -72,7 +72,6 @@ use Pimple\Container;
* @property \Kanboard\Formatter\SubtaskListFormatter $subtaskListFormatter * @property \Kanboard\Formatter\SubtaskListFormatter $subtaskListFormatter
* @property \Kanboard\Formatter\SubtaskTimeTrackingCalendarFormatter $subtaskTimeTrackingCalendarFormatter * @property \Kanboard\Formatter\SubtaskTimeTrackingCalendarFormatter $subtaskTimeTrackingCalendarFormatter
* @property \Kanboard\Formatter\TaskAutoCompleteFormatter $taskAutoCompleteFormatter * @property \Kanboard\Formatter\TaskAutoCompleteFormatter $taskAutoCompleteFormatter
* @property \Kanboard\Formatter\TaskCalendarFormatter $taskCalendarFormatter
* @property \Kanboard\Formatter\TaskGanttFormatter $taskGanttFormatter * @property \Kanboard\Formatter\TaskGanttFormatter $taskGanttFormatter
* @property \Kanboard\Formatter\TaskICalFormatter $taskICalFormatter * @property \Kanboard\Formatter\TaskICalFormatter $taskICalFormatter
* @property \Kanboard\Formatter\TaskListFormatter $taskListFormatter * @property \Kanboard\Formatter\TaskListFormatter $taskListFormatter

View File

@@ -14,7 +14,6 @@ use Pimple\Container;
* @property \Kanboard\Helper\AssetHelper $asset * @property \Kanboard\Helper\AssetHelper $asset
* @property \Kanboard\Helper\AvatarHelper $avatar * @property \Kanboard\Helper\AvatarHelper $avatar
* @property \Kanboard\Helper\BoardHelper $board * @property \Kanboard\Helper\BoardHelper $board
* @property \Kanboard\Helper\CalendarHelper $calendar
* @property \Kanboard\Helper\CommentHelper $comment * @property \Kanboard\Helper\CommentHelper $comment
* @property \Kanboard\Helper\DateHelper $dt * @property \Kanboard\Helper\DateHelper $dt
* @property \Kanboard\Helper\FileHelper $file * @property \Kanboard\Helper\FileHelper $file

View 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';
}
}

View File

@@ -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).')';
}
}

View File

@@ -34,15 +34,17 @@ class ProjectHeaderHelper extends Base
* @param string $controller * @param string $controller
* @param string $action * @param string $action
* @param bool $boardView * @param bool $boardView
* @param string $plugin
* @return string * @return string
*/ */
public function render(array $project, $controller, $action, $boardView = false) public function render(array $project, $controller, $action, $boardView = false, $plugin = '')
{ {
$filters = array( $filters = array(
'controller' => $controller, 'controller' => $controller,
'action' => $action, 'action' => $action,
'project_id' => $project['id'], 'project_id' => $project['id'],
'search' => $this->getSearchQuery($project), 'search' => $this->getSearchQuery($project),
'plugin' => $plugin,
); );
return $this->template->render('project_header/header', array( return $this->template->render('project_header/header', array(

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Jezik:', 'Language:' => 'Jezik:',
'Timezone:' => 'Vremenska zona:', 'Timezone:' => 'Vremenska zona:',
'All columns' => 'Sve kolone', 'All columns' => 'Sve kolone',
'Calendar' => 'Kalendar',
'Next' => 'Slijedeći', 'Next' => 'Slijedeći',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => 'Sve swimlane trake', '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 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', 'When task is moved to last column' => 'Kada je zadatak premješten u posljednju kolonu',
'Year(s)' => 'Godina/e', 'Year(s)' => 'Godina/e',
'Calendar settings' => 'Postavke kalendara',
'Project calendar view' => 'Pregled kalendara projekta',
'Project settings' => 'Postavke 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', 'Automatically update the start date' => 'Automatski ažuriraj početni datum',
'iCal feed' => 'iCal kanal', 'iCal feed' => 'iCal kanal',
'Preferences' => 'Postavke', 'Preferences' => 'Postavke',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Zaustavi tajmer', 'Stop timer' => 'Zaustavi tajmer',
'Start timer' => 'Pokreni tajmer', 'Start timer' => 'Pokreni tajmer',
'My activity stream' => 'Tok mojih aktivnosti', 'My activity stream' => 'Tok mojih aktivnosti',
'My calendar' => 'Moj kalendar',
'Search tasks' => 'Pretraga zadataka', 'Search tasks' => 'Pretraga zadataka',
'Reset filters' => 'Vrati filtere na početno', 'Reset filters' => 'Vrati filtere na početno',
'My tasks due tomorrow' => 'Moji zadaci koje treba završiti sutra', 'My tasks due tomorrow' => 'Moji zadaci koje treba završiti sutra',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Opšti pregled', 'Overview' => 'Opšti pregled',
'Board/Calendar/List view' => 'Pregled Ploče/Kalendara/Liste', 'Board/Calendar/List view' => 'Pregled Ploče/Kalendara/Liste',
'Switch to the board view' => 'Promijeni da vidim ploču', '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', 'Switch to the list view' => 'Promijeni da vidim listu',
'Go to the search/filter box' => 'Idi na kutiju s pretragom/filterima', 'Go to the search/filter box' => 'Idi na kutiju s pretragom/filterima',
'There is no activity yet.' => 'Još uvijek nema aktivnosti.', 'There is no activity yet.' => 'Još uvijek nema aktivnosti.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Jazyk:', 'Language:' => 'Jazyk:',
'Timezone:' => 'Časová zóna:', 'Timezone:' => 'Časová zóna:',
'All columns' => 'Všechny sloupce', 'All columns' => 'Všechny sloupce',
'Calendar' => 'Kalendář',
'Next' => 'Další', 'Next' => 'Další',
// '#%d' => '', // '#%d' => '',
'All swimlanes' => 'Alle Swimlanes', 'All swimlanes' => 'Alle Swimlanes',
@@ -607,14 +606,7 @@ return array(
// 'When task is moved from first column' => '', // 'When task is moved from first column' => '',
// 'When task is moved to last column' => '', // 'When task is moved to last column' => '',
// 'Year(s)' => '', // 'Year(s)' => '',
'Calendar settings' => 'Nastavení kalendáře',
// 'Project calendar view' => '',
'Project settings' => 'Nastavení projektu', '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', 'Automatically update the start date' => 'Automaticky aktualizovat počáteční datum',
// 'iCal feed' => '', // 'iCal feed' => '',
'Preferences' => 'Předvolby', 'Preferences' => 'Předvolby',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Zastavit časovač', 'Stop timer' => 'Zastavit časovač',
'Start timer' => 'Spustit časovač', 'Start timer' => 'Spustit časovač',
'My activity stream' => 'Přehled mých aktivit', 'My activity stream' => 'Přehled mých aktivit',
'My calendar' => 'Můj kalendář',
'Search tasks' => 'Hledání úkolů', 'Search tasks' => 'Hledání úkolů',
'Reset filters' => 'Resetovat filtry', 'Reset filters' => 'Resetovat filtry',
'My tasks due tomorrow' => 'Moje zítřejší úkoly', 'My tasks due tomorrow' => 'Moje zítřejší úkoly',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Přehled', 'Overview' => 'Přehled',
'Board/Calendar/List view' => 'Nástěnka/Kalendář/Zobrazení seznamu', 'Board/Calendar/List view' => 'Nástěnka/Kalendář/Zobrazení seznamu',
'Switch to the board view' => 'Přepnout na nástěnku', '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í', 'Switch to the list view' => 'Přepnout na seznam zobrazení',
'Go to the search/filter box' => 'Zobrazit vyhledávání/filtrování', 'Go to the search/filter box' => 'Zobrazit vyhledávání/filtrování',
'There is no activity yet.' => 'Doposud nejsou žádné aktivity.', 'There is no activity yet.' => 'Doposud nejsou žádné aktivity.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Sprog', 'Language:' => 'Sprog',
'Timezone:' => 'Tidszone', 'Timezone:' => 'Tidszone',
'All columns' => 'Alle kolonner', 'All columns' => 'Alle kolonner',
'Calendar' => 'Kalender',
'Next' => 'Næste', 'Next' => 'Næste',
// '#%d' => '', // '#%d' => '',
'All swimlanes' => 'Alle spor', 'All swimlanes' => 'Alle spor',
@@ -607,14 +606,7 @@ return array(
// 'When task is moved from first column' => '', // 'When task is moved from first column' => '',
// 'When task is moved to last column' => '', // 'When task is moved to last column' => '',
'Year(s)' => 'År', 'Year(s)' => 'År',
'Calendar settings' => 'Kalender indstillinger',
'Project calendar view' => 'Projekt kalender visning',
'Project settings' => 'Projekt indstillinger', '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' => '', // 'Automatically update the start date' => '',
// 'iCal feed' => '', // 'iCal feed' => '',
'Preferences' => 'Præferencer', 'Preferences' => 'Præferencer',
@@ -670,7 +662,6 @@ return array(
// 'Stop timer' => '', // 'Stop timer' => '',
// 'Start timer' => '', // 'Start timer' => '',
'My activity stream' => 'Min aktivitets strøm', 'My activity stream' => 'Min aktivitets strøm',
'My calendar' => 'Min kalender',
'Search tasks' => 'Søg opgaver', 'Search tasks' => 'Søg opgaver',
// 'Reset filters' => '', // 'Reset filters' => '',
// 'My tasks due tomorrow' => '', // 'My tasks due tomorrow' => '',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Overblik', 'Overview' => 'Overblik',
'Board/Calendar/List view' => 'Tavle/Kalender/Liste visning', 'Board/Calendar/List view' => 'Tavle/Kalender/Liste visning',
'Switch to the board view' => 'Skift til tavle 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', 'Switch to the list view' => 'Skift til liste visning',
// 'Go to the search/filter box' => '', // 'Go to the search/filter box' => '',
// 'There is no activity yet.' => '', // 'There is no activity yet.' => '',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Sprache:', 'Language:' => 'Sprache:',
'Timezone:' => 'Zeitzone:', 'Timezone:' => 'Zeitzone:',
'All columns' => 'Alle Spalten', 'All columns' => 'Alle Spalten',
'Calendar' => 'Kalender',
'Next' => 'Nächste', 'Next' => 'Nächste',
'#%d' => 'Nr %d', '#%d' => 'Nr %d',
'All swimlanes' => 'Alle Swimlanes', '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 from first column' => 'Wenn Aufgabe von erster Spalte verschoben wird',
'When task is moved to last column' => 'Wenn Aufgabe in letzte Spalte verschoben wird', 'When task is moved to last column' => 'Wenn Aufgabe in letzte Spalte verschoben wird',
'Year(s)' => 'Jahr(e)', 'Year(s)' => 'Jahr(e)',
'Calendar settings' => 'Kalender-Einstellungen',
'Project calendar view' => 'Projekt-Kalendarsicht',
'Project settings' => 'Projekteinstellungen', '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', 'Automatically update the start date' => 'Beginndatum automatisch aktualisieren',
'iCal feed' => 'iCal Feed', 'iCal feed' => 'iCal Feed',
'Preferences' => 'Einstellungen', 'Preferences' => 'Einstellungen',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Stoppe Timer', 'Stop timer' => 'Stoppe Timer',
'Start timer' => 'Starte Timer', 'Start timer' => 'Starte Timer',
'My activity stream' => 'Aktivitätsstream', 'My activity stream' => 'Aktivitätsstream',
'My calendar' => 'Mein Kalender',
'Search tasks' => 'Suche nach Aufgaben', 'Search tasks' => 'Suche nach Aufgaben',
'Reset filters' => 'Filter zurücksetzen', 'Reset filters' => 'Filter zurücksetzen',
'My tasks due tomorrow' => 'Meine morgen fälligen Aufgaben', 'My tasks due tomorrow' => 'Meine morgen fälligen Aufgaben',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Überblick', 'Overview' => 'Überblick',
'Board/Calendar/List view' => 'Board-/Kalender-/Listen-Ansicht', 'Board/Calendar/List view' => 'Board-/Kalender-/Listen-Ansicht',
'Switch to the board view' => 'Zur Board-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', 'Switch to the list view' => 'Zur Listen-Ansicht',
'Go to the search/filter box' => 'Zum Such- und Filterfeld', 'Go to the search/filter box' => 'Zum Such- und Filterfeld',
'There is no activity yet.' => 'Es gibt bislang keine Aktivitäten.', 'There is no activity yet.' => 'Es gibt bislang keine Aktivitäten.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Γλώσσα:', 'Language:' => 'Γλώσσα:',
'Timezone:' => 'Timezone:', 'Timezone:' => 'Timezone:',
'All columns' => 'Όλες οι στήλες', 'All columns' => 'Όλες οι στήλες',
'Calendar' => 'Ημερολόγιο',
'Next' => 'Επόμενο', 'Next' => 'Επόμενο',
'#%d' => 'n˚%d', '#%d' => 'n˚%d',
'All swimlanes' => 'Όλες οι λωρίδες', 'All swimlanes' => 'Όλες οι λωρίδες',
@@ -607,14 +606,7 @@ return array(
'When task is moved from first column' => 'Όταν το έργο έχει μετακινηθεί στην 1η στήλη', 'When task is moved from first column' => 'Όταν το έργο έχει μετακινηθεί στην 1η στήλη',
'When task is moved to last column' => 'Όταν το έργο έχει μετακινηθεί στην τελευταία στήλη', 'When task is moved to last column' => 'Όταν το έργο έχει μετακινηθεί στην τελευταία στήλη',
'Year(s)' => 'Χρόνος(οι)', 'Year(s)' => 'Χρόνος(οι)',
'Calendar settings' => 'Ρυθμίσεις ημερολογίου',
'Project calendar view' => 'Προβολή ημερολογίου έργων',
'Project settings' => 'Ρυθμίσεις έργου', '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' => 'Αυτόματη ενημέρωση της ημερομηνίας έναρξης', 'Automatically update the start date' => 'Αυτόματη ενημέρωση της ημερομηνίας έναρξης',
'iCal feed' => 'iCal feed', 'iCal feed' => 'iCal feed',
'Preferences' => 'Προτιμήσεις', 'Preferences' => 'Προτιμήσεις',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Διακοπή ρολογιού', 'Stop timer' => 'Διακοπή ρολογιού',
'Start timer' => 'Έναρξη ρολογιού', 'Start timer' => 'Έναρξη ρολογιού',
'My activity stream' => 'Η ροή δραστηριοτήτων μου', 'My activity stream' => 'Η ροή δραστηριοτήτων μου',
'My calendar' => 'Το ημερολόγιο μου',
'Search tasks' => 'Αναζήτηση εργασιών', 'Search tasks' => 'Αναζήτηση εργασιών',
'Reset filters' => 'Επαναφορά φίλτρων', 'Reset filters' => 'Επαναφορά φίλτρων',
'My tasks due tomorrow' => 'Οι εργασίες καθηκόντων μου αύριο', 'My tasks due tomorrow' => 'Οι εργασίες καθηκόντων μου αύριο',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Επισκόπηση', 'Overview' => 'Επισκόπηση',
'Board/Calendar/List view' => 'Πίνακας / Ημερολόγιο / Προβολή λίστας', 'Board/Calendar/List view' => 'Πίνακας / Ημερολόγιο / Προβολή λίστας',
'Switch to the board view' => 'Εναλλαγή στην προβολή του πίνακα', 'Switch to the board view' => 'Εναλλαγή στην προβολή του πίνακα',
'Switch to the calendar view' => 'Εναλλαγή στην προβολή ημερολογίου',
'Switch to the list view' => 'Εναλλαγή στην προβολή λίστας', 'Switch to the list view' => 'Εναλλαγή στην προβολή λίστας',
'Go to the search/filter box' => 'Μετάβαση στο πλαίσιο αναζήτησης / φίλτρο', 'Go to the search/filter box' => 'Μετάβαση στο πλαίσιο αναζήτησης / φίλτρο',
'There is no activity yet.' => 'Δεν υπάρχει καμία δραστηριότητα ακόμα.', 'There is no activity yet.' => 'Δεν υπάρχει καμία δραστηριότητα ακόμα.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Idioma', 'Language:' => 'Idioma',
'Timezone:' => 'Zona horaria', 'Timezone:' => 'Zona horaria',
'All columns' => 'Todas las columnas', 'All columns' => 'Todas las columnas',
'Calendar' => 'Calendario',
'Next' => 'Siguiente', 'Next' => 'Siguiente',
// '#%d' => '', // '#%d' => '',
'All swimlanes' => 'Todos los carriles', 'All swimlanes' => 'Todos los carriles',
@@ -607,14 +606,7 @@ return array(
// 'When task is moved from first column' => '', // 'When task is moved from first column' => '',
// 'When task is moved to last column' => '', // 'When task is moved to last column' => '',
// 'Year(s)' => '', // 'Year(s)' => '',
// 'Calendar settings' => '',
// 'Project calendar view' => '',
// 'Project settings' => '', // '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' => '', // 'Automatically update the start date' => '',
// 'iCal feed' => '', // 'iCal feed' => '',
// 'Preferences' => '', // 'Preferences' => '',
@@ -670,7 +662,6 @@ return array(
// 'Stop timer' => '', // 'Stop timer' => '',
// 'Start timer' => '', // 'Start timer' => '',
// 'My activity stream' => '', // 'My activity stream' => '',
// 'My calendar' => '',
// 'Search tasks' => '', // 'Search tasks' => '',
// 'Reset filters' => '', // 'Reset filters' => '',
// 'My tasks due tomorrow' => '', // 'My tasks due tomorrow' => '',
@@ -684,7 +675,6 @@ return array(
// 'Overview' => '', // 'Overview' => '',
// 'Board/Calendar/List view' => '', // 'Board/Calendar/List view' => '',
// 'Switch to the board view' => '', // 'Switch to the board view' => '',
// 'Switch to the calendar view' => '',
// 'Switch to the list view' => '', // 'Switch to the list view' => '',
// 'Go to the search/filter box' => '', // 'Go to the search/filter box' => '',
// 'There is no activity yet.' => '', // 'There is no activity yet.' => '',

View File

@@ -455,7 +455,6 @@ return array(
// 'Language:' => '', // 'Language:' => '',
// 'Timezone:' => '', // 'Timezone:' => '',
// 'All columns' => '', // 'All columns' => '',
// 'Calendar' => '',
// 'Next' => '', // 'Next' => '',
// '#%d' => '', // '#%d' => '',
// 'All swimlanes' => '', // 'All swimlanes' => '',
@@ -607,14 +606,7 @@ return array(
// 'When task is moved from first column' => '', // 'When task is moved from first column' => '',
// 'When task is moved to last column' => '', // 'When task is moved to last column' => '',
// 'Year(s)' => '', // 'Year(s)' => '',
// 'Calendar settings' => '',
// 'Project calendar view' => '',
// 'Project settings' => '', // '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' => '', // 'Automatically update the start date' => '',
// 'iCal feed' => '', // 'iCal feed' => '',
// 'Preferences' => '', // 'Preferences' => '',
@@ -670,7 +662,6 @@ return array(
// 'Stop timer' => '', // 'Stop timer' => '',
// 'Start timer' => '', // 'Start timer' => '',
// 'My activity stream' => '', // 'My activity stream' => '',
// 'My calendar' => '',
// 'Search tasks' => '', // 'Search tasks' => '',
// 'Reset filters' => '', // 'Reset filters' => '',
// 'My tasks due tomorrow' => '', // 'My tasks due tomorrow' => '',
@@ -684,7 +675,6 @@ return array(
// 'Overview' => '', // 'Overview' => '',
// 'Board/Calendar/List view' => '', // 'Board/Calendar/List view' => '',
// 'Switch to the board view' => '', // 'Switch to the board view' => '',
// 'Switch to the calendar view' => '',
// 'Switch to the list view' => '', // 'Switch to the list view' => '',
// 'Go to the search/filter box' => '', // 'Go to the search/filter box' => '',
// 'There is no activity yet.' => '', // 'There is no activity yet.' => '',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Langue :', 'Language:' => 'Langue :',
'Timezone:' => 'Fuseau horaire :', 'Timezone:' => 'Fuseau horaire :',
'All columns' => 'Toutes les colonnes', 'All columns' => 'Toutes les colonnes',
'Calendar' => 'Agenda',
'Next' => 'Suivant', 'Next' => 'Suivant',
'#%d' => 'n˚%d', '#%d' => 'n˚%d',
'All swimlanes' => 'Toutes les swimlanes', '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 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', '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)', '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', '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', 'Automatically update the start date' => 'Mettre à jour automatiquement la date de début',
'iCal feed' => 'Abonnement iCal', 'iCal feed' => 'Abonnement iCal',
'Preferences' => 'Préférences', 'Preferences' => 'Préférences',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Stopper le chrono', 'Stop timer' => 'Stopper le chrono',
'Start timer' => 'Démarrer le chrono', 'Start timer' => 'Démarrer le chrono',
'My activity stream' => 'Mon flux d\'activité', 'My activity stream' => 'Mon flux d\'activité',
'My calendar' => 'Mon agenda',
'Search tasks' => 'Rechercher des tâches', 'Search tasks' => 'Rechercher des tâches',
'Reset filters' => 'Réinitialiser les filtres', 'Reset filters' => 'Réinitialiser les filtres',
'My tasks due tomorrow' => 'Mes tâches qui arrivent à échéance demain', 'My tasks due tomorrow' => 'Mes tâches qui arrivent à échéance demain',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Vue d\'ensemble', 'Overview' => 'Vue d\'ensemble',
'Board/Calendar/List view' => 'Vue Tableau/Calendrier/Liste', 'Board/Calendar/List view' => 'Vue Tableau/Calendrier/Liste',
'Switch to the board view' => 'Basculer vers le tableau', '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', 'Switch to the list view' => 'Basculer vers la vue en liste',
'Go to the search/filter box' => 'Aller au champ de recherche', 'Go to the search/filter box' => 'Aller au champ de recherche',
'There is no activity yet.' => 'Il n\'y a pas encore d\'activité.', 'There is no activity yet.' => 'Il n\'y a pas encore d\'activité.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Jezik:', 'Language:' => 'Jezik:',
'Timezone:' => 'Vremenska zona:', 'Timezone:' => 'Vremenska zona:',
'All columns' => 'Svi stupci', 'All columns' => 'Svi stupci',
'Calendar' => 'Kalendar',
'Next' => 'Idući', 'Next' => 'Idući',
// '#%d' => '', // '#%d' => '',
'All swimlanes' => 'Sve staze', 'All swimlanes' => 'Sve staze',
@@ -607,14 +606,7 @@ return array(
// 'When task is moved from first column' => '', // 'When task is moved from first column' => '',
// 'When task is moved to last column' => '', // 'When task is moved to last column' => '',
// 'Year(s)' => '', // 'Year(s)' => '',
'Calendar settings' => 'Postavke kalendara',
'Project calendar view' => 'Projektni kalendar',
'Project settings' => 'Postavke projekta', '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' => '', // 'Automatically update the start date' => '',
// 'iCal feed' => '', // 'iCal feed' => '',
'Preferences' => 'Postavke', 'Preferences' => 'Postavke',
@@ -670,7 +662,6 @@ return array(
// 'Stop timer' => '', // 'Stop timer' => '',
// 'Start timer' => '', // 'Start timer' => '',
'My activity stream' => 'Moje aktivnosti', 'My activity stream' => 'Moje aktivnosti',
'My calendar' => 'Moj kalendar',
'Search tasks' => 'Pretraživanje zadataka', 'Search tasks' => 'Pretraživanje zadataka',
'Reset filters' => 'Obriši filtere', 'Reset filters' => 'Obriši filtere',
'My tasks due tomorrow' => 'Moji zadaci sa rokom sutra', 'My tasks due tomorrow' => 'Moji zadaci sa rokom sutra',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Pregled', 'Overview' => 'Pregled',
// 'Board/Calendar/List view' => '', // 'Board/Calendar/List view' => '',
// 'Switch to the board view' => '', // 'Switch to the board view' => '',
// 'Switch to the calendar view' => '',
// 'Switch to the list view' => '', // 'Switch to the list view' => '',
// 'Go to the search/filter box' => '', // 'Go to the search/filter box' => '',
// 'There is no activity yet.' => '', // 'There is no activity yet.' => '',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Nyelv:', 'Language:' => 'Nyelv:',
'Timezone:' => 'Időzóna:', 'Timezone:' => 'Időzóna:',
'All columns' => 'Minden oszlop', 'All columns' => 'Minden oszlop',
'Calendar' => 'Naptár',
'Next' => 'Következő', 'Next' => 'Következő',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => 'Minden sáv', '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 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', 'When task is moved to last column' => 'Mikor a feladat az utolsó oszlopba lett elmozgatva',
'Year(s)' => 'Év(ek)', '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', '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', 'Automatically update the start date' => 'A kezdő dátum automatikus módosítása',
// 'iCal feed' => '', // 'iCal feed' => '',
'Preferences' => 'Preferenciák', 'Preferences' => 'Preferenciák',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Időmérő leállítása', 'Stop timer' => 'Időmérő leállítása',
'Start timer' => 'Időmérő elindítása', 'Start timer' => 'Időmérő elindítása',
'My activity stream' => 'Tevékenységem', 'My activity stream' => 'Tevékenységem',
'My calendar' => 'Naptáram',
'Search tasks' => 'Feladatok közötti keresés', 'Search tasks' => 'Feladatok közötti keresés',
'Reset filters' => 'Szűrő alaphelyzetbe állítás', 'Reset filters' => 'Szűrő alaphelyzetbe állítás',
'My tasks due tomorrow' => 'Holnapi határidejű feladataim', 'My tasks due tomorrow' => 'Holnapi határidejű feladataim',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Áttekintés', 'Overview' => 'Áttekintés',
'Board/Calendar/List view' => 'Tábla/Naptár/Lista nézet', '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 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', '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', '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', 'There is no activity yet.' => 'Még nincs tevékenység',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Bahasa:', 'Language:' => 'Bahasa:',
'Timezone:' => 'Zona waktu:', 'Timezone:' => 'Zona waktu:',
'All columns' => 'Semua kolom', 'All columns' => 'Semua kolom',
'Calendar' => 'Kalender',
'Next' => 'Selanjutnya', 'Next' => 'Selanjutnya',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => 'Semua swimlane', '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 from first column' => 'Saat tugas dipindahkan dari kolom pertama',
'When task is moved to last column' => 'Saat tugas dipindahkan ke kolom terakhir', 'When task is moved to last column' => 'Saat tugas dipindahkan ke kolom terakhir',
'Year(s)' => 'Tahun', 'Year(s)' => 'Tahun',
'Calendar settings' => 'Pengaturan kalender',
'Project calendar view' => 'Tampilan kalender proyek',
'Project settings' => 'Pengaturan 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', 'Automatically update the start date' => 'Otomatis memperbarui tanggal permulaan',
'iCal feed' => 'Umpan iCal', 'iCal feed' => 'Umpan iCal',
'Preferences' => 'Preferensi', 'Preferences' => 'Preferensi',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Hentikan timer', 'Stop timer' => 'Hentikan timer',
'Start timer' => 'Mulai timer', 'Start timer' => 'Mulai timer',
'My activity stream' => 'Aliran kegiatan saya', 'My activity stream' => 'Aliran kegiatan saya',
'My calendar' => 'Kalender saya',
'Search tasks' => 'Cari tugas', 'Search tasks' => 'Cari tugas',
'Reset filters' => 'Reset saringan', 'Reset filters' => 'Reset saringan',
'My tasks due tomorrow' => 'Tugas saya yang berakhir besok', 'My tasks due tomorrow' => 'Tugas saya yang berakhir besok',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Ringkasan', 'Overview' => 'Ringkasan',
'Board/Calendar/List view' => 'Tampilan Papan/Kalender/Daftar', 'Board/Calendar/List view' => 'Tampilan Papan/Kalender/Daftar',
'Switch to the board view' => 'Beralih ke tampilan papan', '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', 'Switch to the list view' => 'Beralih ke tampilan daftar',
'Go to the search/filter box' => 'Pergi ke kotak pencarian/saringan', 'Go to the search/filter box' => 'Pergi ke kotak pencarian/saringan',
'There is no activity yet.' => 'Belum ada aktifitas.', 'There is no activity yet.' => 'Belum ada aktifitas.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Lingua', 'Language:' => 'Lingua',
'Timezone:' => 'Fuso Orario', 'Timezone:' => 'Fuso Orario',
'All columns' => 'Tutte le colonne', 'All columns' => 'Tutte le colonne',
'Calendar' => 'Calendario',
'Next' => 'Prossimo', 'Next' => 'Prossimo',
// '#%d' => '', // '#%d' => '',
'All swimlanes' => 'Tutte le corsie', '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 from first column' => 'Quando un task è spostato dalla prima colonna',
'When task is moved to last column' => 'Quando un task è spostato nell\'ultima colonna', 'When task is moved to last column' => 'Quando un task è spostato nell\'ultima colonna',
'Year(s)' => 'Anno/i', 'Year(s)' => 'Anno/i',
'Calendar settings' => 'Impostazioni del calendario',
'Project calendar view' => 'Vista di progetto a calendario',
'Project settings' => 'Impostazioni di progetto', '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', 'Automatically update the start date' => 'Aggiorna automaticamente la data di inizio',
'iCal feed' => 'feed iCal', 'iCal feed' => 'feed iCal',
'Preferences' => 'Preferenze', 'Preferences' => 'Preferenze',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Ferma il timer', 'Stop timer' => 'Ferma il timer',
'Start timer' => 'Avvia il timer', 'Start timer' => 'Avvia il timer',
'My activity stream' => 'Il mio flusso attività', 'My activity stream' => 'Il mio flusso attività',
'My calendar' => 'Il mio calendario',
'Search tasks' => 'Ricerca task', 'Search tasks' => 'Ricerca task',
'Reset filters' => 'Annulla filtri', 'Reset filters' => 'Annulla filtri',
'My tasks due tomorrow' => 'I miei task da completare per domani', 'My tasks due tomorrow' => 'I miei task da completare per domani',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Panoramica', 'Overview' => 'Panoramica',
'Board/Calendar/List view' => 'Vista Bacheca/Calendario/Lista', 'Board/Calendar/List view' => 'Vista Bacheca/Calendario/Lista',
'Switch to the board view' => 'Passa alla vista "bacheca"', '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"', 'Switch to the list view' => 'Passa alla vista "elenco"',
'Go to the search/filter box' => 'Vai alla casella di ricerca/filtro', 'Go to the search/filter box' => 'Vai alla casella di ricerca/filtro',
'There is no activity yet.' => 'Non è presente ancora nessuna attività.', 'There is no activity yet.' => 'Non è presente ancora nessuna attività.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => '言語:', 'Language:' => '言語:',
'Timezone:' => 'タイムゾーン:', 'Timezone:' => 'タイムゾーン:',
'All columns' => '全てのカラム', 'All columns' => '全てのカラム',
'Calendar' => 'カレンダー',
'Next' => '次へ', 'Next' => '次へ',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => '全てのスイムレーン', 'All swimlanes' => '全てのスイムレーン',
@@ -607,14 +606,7 @@ return array(
// 'When task is moved from first column' => '', // 'When task is moved from first column' => '',
// 'When task is moved to last column' => '', // 'When task is moved to last column' => '',
// 'Year(s)' => '', // 'Year(s)' => '',
// 'Calendar settings' => '',
// 'Project calendar view' => '',
// 'Project settings' => '', // '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' => '', // 'Automatically update the start date' => '',
// 'iCal feed' => '', // 'iCal feed' => '',
// 'Preferences' => '', // 'Preferences' => '',
@@ -670,7 +662,6 @@ return array(
// 'Stop timer' => '', // 'Stop timer' => '',
// 'Start timer' => '', // 'Start timer' => '',
// 'My activity stream' => '', // 'My activity stream' => '',
// 'My calendar' => '',
// 'Search tasks' => '', // 'Search tasks' => '',
// 'Reset filters' => '', // 'Reset filters' => '',
// 'My tasks due tomorrow' => '', // 'My tasks due tomorrow' => '',
@@ -684,7 +675,6 @@ return array(
// 'Overview' => '', // 'Overview' => '',
// 'Board/Calendar/List view' => '', // 'Board/Calendar/List view' => '',
// 'Switch to the board view' => '', // 'Switch to the board view' => '',
// 'Switch to the calendar view' => '',
// 'Switch to the list view' => '', // 'Switch to the list view' => '',
// 'Go to the search/filter box' => '', // 'Go to the search/filter box' => '',
// 'There is no activity yet.' => '', // 'There is no activity yet.' => '',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => '언어:', 'Language:' => '언어:',
'Timezone:' => '시간대:', 'Timezone:' => '시간대:',
'All columns' => '모든 컬럼', 'All columns' => '모든 컬럼',
'Calendar' => '달력',
'Next' => '다음에 ', 'Next' => '다음에 ',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => '모든 스윔레인', 'All swimlanes' => '모든 스윔레인',
@@ -607,14 +606,7 @@ return array(
'When task is moved from first column' => '할일이 첫번째 컬럼으로 옮겨졌을때', 'When task is moved from first column' => '할일이 첫번째 컬럼으로 옮겨졌을때',
'When task is moved to last column' => '할일이 마지막 컬럼으로 옮겨졌을때', 'When task is moved to last column' => '할일이 마지막 컬럼으로 옮겨졌을때',
'Year(s)' => '년', 'Year(s)' => '년',
'Calendar settings' => '달력 설정',
'Project calendar view' => '프로젝트 달력 보기',
'Project settings' => '프로젝트 설정', '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' => '시작일에 자동 갱신', 'Automatically update the start date' => '시작일에 자동 갱신',
'iCal feed' => 'iCal 피드', 'iCal feed' => 'iCal 피드',
'Preferences' => '우선권', 'Preferences' => '우선권',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => '타이머 정지', 'Stop timer' => '타이머 정지',
'Start timer' => '타이머 시작', 'Start timer' => '타이머 시작',
'My activity stream' => '내 활동기록', 'My activity stream' => '내 활동기록',
'My calendar' => '내 캘린더',
'Search tasks' => '할일 찾기', 'Search tasks' => '할일 찾기',
'Reset filters' => '필터 리셋', 'Reset filters' => '필터 리셋',
'My tasks due tomorrow' => '내일까지 내 할일', 'My tasks due tomorrow' => '내일까지 내 할일',
@@ -684,7 +675,6 @@ return array(
'Overview' => '개요', 'Overview' => '개요',
'Board/Calendar/List view' => '보드/달력/리스트 보기', 'Board/Calendar/List view' => '보드/달력/리스트 보기',
'Switch to the board view' => '보드 보기로 전환', 'Switch to the board view' => '보드 보기로 전환',
'Switch to the calendar view' => '달력 보기로 전환',
'Switch to the list view' => '리스트 보기로 전환', 'Switch to the list view' => '리스트 보기로 전환',
'Go to the search/filter box' => '검색/필터 박스로 이동', 'Go to the search/filter box' => '검색/필터 박스로 이동',
'There is no activity yet.' => '활동이 없습니다', 'There is no activity yet.' => '활동이 없습니다',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Bahasa:', 'Language:' => 'Bahasa:',
'Timezone:' => 'Zon masa:', 'Timezone:' => 'Zon masa:',
'All columns' => 'Semua kolom', 'All columns' => 'Semua kolom',
'Calendar' => 'Kalender',
'Next' => 'Selanjutnya', 'Next' => 'Selanjutnya',
'#%d' => 'n°%d', '#%d' => 'n°%d',
'All swimlanes' => 'Semua swimlane', '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 from first column' => 'Ketika tugas dipindahkan dari kolom pertama',
'When task is moved to last column' => 'Ketika tugas dipindahkan ke kolom terakhir', 'When task is moved to last column' => 'Ketika tugas dipindahkan ke kolom terakhir',
'Year(s)' => 'Tahun', 'Year(s)' => 'Tahun',
'Calendar settings' => 'Pengaturan kalender',
'Project calendar view' => 'Tampilan kalender projek',
'Project settings' => 'Pengaturan 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', 'Automatically update the start date' => 'Otomatikkan pengemaskinian tanggal',
'iCal feed' => 'iCal feed', 'iCal feed' => 'iCal feed',
'Preferences' => 'Keutamaan', 'Preferences' => 'Keutamaan',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Hentikan timer', 'Stop timer' => 'Hentikan timer',
'Start timer' => 'Mulai timer', 'Start timer' => 'Mulai timer',
'My activity stream' => 'Aliran kegiatan saya', 'My activity stream' => 'Aliran kegiatan saya',
'My calendar' => 'Kalender saya',
'Search tasks' => 'Cari tugas', 'Search tasks' => 'Cari tugas',
'Reset filters' => 'Reset ulang filter', 'Reset filters' => 'Reset ulang filter',
'My tasks due tomorrow' => 'Tugas saya yang berakhir besok', 'My tasks due tomorrow' => 'Tugas saya yang berakhir besok',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Ikhtisar', 'Overview' => 'Ikhtisar',
'Board/Calendar/List view' => 'Tampilan Papan/Kalender/Daftar', 'Board/Calendar/List view' => 'Tampilan Papan/Kalender/Daftar',
'Switch to the board view' => 'Beralih ke tampilan papan', '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', 'Switch to the list view' => 'Beralih ke tampilan daftar',
'Go to the search/filter box' => 'Pergi ke kotak pencarian/filter', 'Go to the search/filter box' => 'Pergi ke kotak pencarian/filter',
'There is no activity yet.' => 'Tidak ada aktifitas saat ini.', 'There is no activity yet.' => 'Tidak ada aktifitas saat ini.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Språk', 'Language:' => 'Språk',
'Timezone:' => 'Tidssone', 'Timezone:' => 'Tidssone',
'All columns' => 'Alle kolonner', 'All columns' => 'Alle kolonner',
'Calendar' => 'Kalender',
'Next' => 'Neste', 'Next' => 'Neste',
// '#%d' => '', // '#%d' => '',
'All swimlanes' => 'Alle svømmebaner', '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 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', 'When task is moved to last column' => 'Når oppgaven er flyttet til siste kolonne',
'Year(s)' => 'år', 'Year(s)' => 'år',
'Calendar settings' => 'Kalenderinstillinger',
'Project calendar view' => 'Visning prosjektkalender',
'Project settings' => 'Prosjektinnstillinger', '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', 'Automatically update the start date' => 'Oppdater automatisk start-datoen',
// 'iCal feed' => '', // 'iCal feed' => '',
'Preferences' => 'Preferanser', 'Preferences' => 'Preferanser',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Stopp timer', 'Stop timer' => 'Stopp timer',
'Start timer' => 'Start timer', 'Start timer' => 'Start timer',
'My activity stream' => 'Aktivitetslogg', 'My activity stream' => 'Aktivitetslogg',
'My calendar' => 'Min kalender',
'Search tasks' => 'Søk oppgave', 'Search tasks' => 'Søk oppgave',
'Reset filters' => 'Nullstill filter', 'Reset filters' => 'Nullstill filter',
'My tasks due tomorrow' => 'Mine oppgaver med frist i morgen', 'My tasks due tomorrow' => 'Mine oppgaver med frist i morgen',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Oversikt', 'Overview' => 'Oversikt',
'Board/Calendar/List view' => 'Oversikt/kalender/listevisning', 'Board/Calendar/List view' => 'Oversikt/kalender/listevisning',
'Switch to the board view' => 'Oversiktsvisning', 'Switch to the board view' => 'Oversiktsvisning',
'Switch to the calendar view' => 'Kalendevisning',
'Switch to the list view' => 'Listevisning', 'Switch to the list view' => 'Listevisning',
'Go to the search/filter box' => 'Gå til søk/filter', 'Go to the search/filter box' => 'Gå til søk/filter',
'There is no activity yet.' => 'Ingen aktiviteter ennå.', 'There is no activity yet.' => 'Ingen aktiviteter ennå.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Taal :', 'Language:' => 'Taal :',
'Timezone:' => 'Tijdzone :', 'Timezone:' => 'Tijdzone :',
'All columns' => 'Alle kolommen', 'All columns' => 'Alle kolommen',
'Calendar' => 'Agenda',
'Next' => 'Volgende', 'Next' => 'Volgende',
'#%d' => '%d', '#%d' => '%d',
'All swimlanes' => 'Alle swimlanes', 'All swimlanes' => 'Alle swimlanes',
@@ -607,14 +606,7 @@ return array(
// 'When task is moved from first column' => '', // 'When task is moved from first column' => '',
// 'When task is moved to last column' => '', // 'When task is moved to last column' => '',
'Year(s)' => 'Jaar/Jaren', 'Year(s)' => 'Jaar/Jaren',
'Calendar settings' => 'Kalender instellingen',
// 'Project calendar view' => '',
'Project settings' => 'Project instellingen', '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' => '', // 'Automatically update the start date' => '',
// 'iCal feed' => '', // 'iCal feed' => '',
'Preferences' => 'Voorkeuren', 'Preferences' => 'Voorkeuren',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Stop timer', 'Stop timer' => 'Stop timer',
'Start timer' => 'Start timer', 'Start timer' => 'Start timer',
'My activity stream' => 'Mijn activiteiten', 'My activity stream' => 'Mijn activiteiten',
'My calendar' => 'Mijn kalender',
'Search tasks' => 'Zoek taken', 'Search tasks' => 'Zoek taken',
'Reset filters' => 'Reset filters', 'Reset filters' => 'Reset filters',
// 'My tasks due tomorrow' => '', // 'My tasks due tomorrow' => '',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Overzicht', 'Overview' => 'Overzicht',
// 'Board/Calendar/List view' => '', // 'Board/Calendar/List view' => '',
// 'Switch to the board view' => '', // 'Switch to the board view' => '',
// 'Switch to the calendar view' => '',
// 'Switch to the list view' => '', // 'Switch to the list view' => '',
// 'Go to the search/filter box' => '', // 'Go to the search/filter box' => '',
// 'There is no activity yet.' => '', // 'There is no activity yet.' => '',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Język:', 'Language:' => 'Język:',
'Timezone:' => 'Strefa czasowa:', 'Timezone:' => 'Strefa czasowa:',
'All columns' => 'Wszystkie kolumny', 'All columns' => 'Wszystkie kolumny',
'Calendar' => 'Kalendarz',
'Next' => 'Następny', 'Next' => 'Następny',
'#%d' => 'nr %d', '#%d' => 'nr %d',
'All swimlanes' => 'Wszystkie tory', '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 from first column' => 'Przeniesienie zadania z pierwszej kolumny',
'When task is moved to last column' => 'Przeniesienie zadania do ostatniej kolumny', 'When task is moved to last column' => 'Przeniesienie zadania do ostatniej kolumny',
'Year(s)' => 'Lat', 'Year(s)' => 'Lat',
'Calendar settings' => 'Ustawienia kalendarza',
'Project calendar view' => 'Widok kalendarza projektu',
'Project settings' => 'Ustawienia 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', 'Automatically update the start date' => 'Automatycznie aktualizuj datę rozpoczęcia',
// 'iCal feed' => '', // 'iCal feed' => '',
'Preferences' => 'Ustawienia', 'Preferences' => 'Ustawienia',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Zatrzymaj pomiar czasu', 'Stop timer' => 'Zatrzymaj pomiar czasu',
'Start timer' => 'Uruchom pomiar czasu', 'Start timer' => 'Uruchom pomiar czasu',
'My activity stream' => 'Moja aktywność', 'My activity stream' => 'Moja aktywność',
'My calendar' => 'Mój kalendarz',
'Search tasks' => 'Szukaj zadań', 'Search tasks' => 'Szukaj zadań',
'Reset filters' => 'Resetuj zastosowane filtry', 'Reset filters' => 'Resetuj zastosowane filtry',
'My tasks due tomorrow' => 'Moje zadania do jutra', 'My tasks due tomorrow' => 'Moje zadania do jutra',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Podsumowanie', 'Overview' => 'Podsumowanie',
'Board/Calendar/List view' => 'Widok: Tablica/Kalendarz/Lista', 'Board/Calendar/List view' => 'Widok: Tablica/Kalendarz/Lista',
'Switch to the board view' => 'Przełącz na tablicę', '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ę', 'Switch to the list view' => 'Przełącz na listę',
'Go to the search/filter box' => 'Użyj pola wyszukiwania/filtrów', 'Go to the search/filter box' => 'Użyj pola wyszukiwania/filtrów',
'There is no activity yet.' => 'Brak powiadomień', 'There is no activity yet.' => 'Brak powiadomień',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Idioma', 'Language:' => 'Idioma',
'Timezone:' => 'Fuso horário', 'Timezone:' => 'Fuso horário',
'All columns' => 'Todas as colunas', 'All columns' => 'Todas as colunas',
'Calendar' => 'Calendário',
'Next' => 'Próximo', 'Next' => 'Próximo',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => 'Todas as swimlanes', '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 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', 'When task is moved to last column' => 'Quando a tarefa é movida para a última coluna',
'Year(s)' => 'Ano(s)', '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', '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', 'Automatically update the start date' => 'Atualizar automaticamente a data de início',
'iCal feed' => 'Subscrição iCal', 'iCal feed' => 'Subscrição iCal',
'Preferences' => 'Preferências', 'Preferences' => 'Preferências',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Stop timer', 'Stop timer' => 'Stop timer',
'Start timer' => 'Start timer', 'Start timer' => 'Start timer',
'My activity stream' => 'Meu feed de atividades', 'My activity stream' => 'Meu feed de atividades',
'My calendar' => 'Minha agenda',
'Search tasks' => 'Pesquisar tarefas', 'Search tasks' => 'Pesquisar tarefas',
'Reset filters' => 'Redefinir os filtros', 'Reset filters' => 'Redefinir os filtros',
'My tasks due tomorrow' => 'Minhas tarefas que expirarão amanhã', 'My tasks due tomorrow' => 'Minhas tarefas que expirarão amanhã',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Visão global', 'Overview' => 'Visão global',
'Board/Calendar/List view' => 'Vista Painel/Calendário/Lista', 'Board/Calendar/List view' => 'Vista Painel/Calendário/Lista',
'Switch to the board view' => 'Mudar para o modo Painel', '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', 'Switch to the list view' => 'Mudar par o modo Lista',
'Go to the search/filter box' => 'Ir para o campo de pesquisa', 'Go to the search/filter box' => 'Ir para o campo de pesquisa',
'There is no activity yet.' => 'Não há nenhuma atividade ainda.', 'There is no activity yet.' => 'Não há nenhuma atividade ainda.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Idioma:', 'Language:' => 'Idioma:',
'Timezone:' => 'Fuso horário:', 'Timezone:' => 'Fuso horário:',
'All columns' => 'Todas as colunas', 'All columns' => 'Todas as colunas',
'Calendar' => 'Calendário',
'Next' => 'Próximo', 'Next' => 'Próximo',
// '#%d' => '', // '#%d' => '',
'All swimlanes' => 'Todos os swimlane', '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 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', 'When task is moved to last column' => 'Quando a tarefa é movida para a última coluna',
'Year(s)' => 'Ano(s)', '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', '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', 'Automatically update the start date' => 'Actualizar automaticamente a data de início',
'iCal feed' => 'Subscrição iCal', 'iCal feed' => 'Subscrição iCal',
'Preferences' => 'Preferências', 'Preferences' => 'Preferências',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Parar temporizador', 'Stop timer' => 'Parar temporizador',
'Start timer' => 'Iniciar temporizador', 'Start timer' => 'Iniciar temporizador',
'My activity stream' => 'O meu feed de actividade', 'My activity stream' => 'O meu feed de actividade',
'My calendar' => 'A minha agenda',
'Search tasks' => 'Pesquisar tarefas', 'Search tasks' => 'Pesquisar tarefas',
'Reset filters' => 'Redefinir os filtros', 'Reset filters' => 'Redefinir os filtros',
'My tasks due tomorrow' => 'A minhas tarefas que expiram amanhã', 'My tasks due tomorrow' => 'A minhas tarefas que expiram amanhã',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Visão global', 'Overview' => 'Visão global',
'Board/Calendar/List view' => 'Vista Painel/Calendário/Lista', 'Board/Calendar/List view' => 'Vista Painel/Calendário/Lista',
'Switch to the board view' => 'Mudar para o modo Painel', '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', 'Switch to the list view' => 'Mudar para o modo Lista',
'Go to the search/filter box' => 'Ir para o campo de pesquisa', 'Go to the search/filter box' => 'Ir para o campo de pesquisa',
'There is no activity yet.' => 'Ainda não há nenhuma actividade.', 'There is no activity yet.' => 'Ainda não há nenhuma actividade.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Язык:', 'Language:' => 'Язык:',
'Timezone:' => 'Временная зона:', 'Timezone:' => 'Временная зона:',
'All columns' => 'Все колонки', 'All columns' => 'Все колонки',
'Calendar' => 'Календарь',
'Next' => 'Следующий', 'Next' => 'Следующий',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => 'Все дорожки', 'All swimlanes' => 'Все дорожки',
@@ -607,14 +606,7 @@ return array(
'When task is moved from first column' => 'Когда задача перемещается из первой колонки', 'When task is moved from first column' => 'Когда задача перемещается из первой колонки',
'When task is moved to last column' => 'Когда задача перемещается в последнюю колонку', 'When task is moved to last column' => 'Когда задача перемещается в последнюю колонку',
'Year(s)' => 'Год(а)', 'Year(s)' => 'Год(а)',
'Calendar settings' => 'Настройки календаря',
'Project calendar view' => 'Вид календаря проекта',
'Project settings' => 'Настройки проекта', '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' => 'Автоматическое обновление даты начала', 'Automatically update the start date' => 'Автоматическое обновление даты начала',
'iCal feed' => 'iCal данные', 'iCal feed' => 'iCal данные',
'Preferences' => 'Предпочтения', 'Preferences' => 'Предпочтения',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Остановить таймер', 'Stop timer' => 'Остановить таймер',
'Start timer' => 'Запустить таймер', 'Start timer' => 'Запустить таймер',
'My activity stream' => 'Лента моей активности', 'My activity stream' => 'Лента моей активности',
'My calendar' => 'Мой календарь',
'Search tasks' => 'Поиск задачи', 'Search tasks' => 'Поиск задачи',
'Reset filters' => 'Сбросить фильтры', 'Reset filters' => 'Сбросить фильтры',
'My tasks due tomorrow' => 'Мои задачи на завтра', 'My tasks due tomorrow' => 'Мои задачи на завтра',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Обзор', 'Overview' => 'Обзор',
'Board/Calendar/List view' => 'Просмотр Доска/Календарь/Список', 'Board/Calendar/List view' => 'Просмотр Доска/Календарь/Список',
'Switch to the board view' => 'Переключиться в режим доски', 'Switch to the board view' => 'Переключиться в режим доски',
'Switch to the calendar view' => 'Переключиться в режим календаря',
'Switch to the list view' => 'Переключиться в режим списка', 'Switch to the list view' => 'Переключиться в режим списка',
'Go to the search/filter box' => 'Перейти в поиск/фильтр', 'Go to the search/filter box' => 'Перейти в поиск/фильтр',
'There is no activity yet.' => 'Активности еще не было', 'There is no activity yet.' => 'Активности еще не было',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Jezik:', 'Language:' => 'Jezik:',
'Timezone:' => 'Vremenska zona:', 'Timezone:' => 'Vremenska zona:',
'All columns' => 'Sve kolone', 'All columns' => 'Sve kolone',
'Calendar' => 'Kalendar',
'Next' => 'Sledeći', 'Next' => 'Sledeći',
// '#%d' => '', // '#%d' => '',
'All swimlanes' => 'Svi razdelniki', 'All swimlanes' => 'Svi razdelniki',
@@ -607,14 +606,7 @@ return array(
// 'When task is moved from first column' => '', // 'When task is moved from first column' => '',
// 'When task is moved to last column' => '', // 'When task is moved to last column' => '',
// 'Year(s)' => '', // 'Year(s)' => '',
// 'Calendar settings' => '',
// 'Project calendar view' => '',
// 'Project settings' => '', // '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' => '', // 'Automatically update the start date' => '',
// 'iCal feed' => '', // 'iCal feed' => '',
// 'Preferences' => '', // 'Preferences' => '',
@@ -670,7 +662,6 @@ return array(
// 'Stop timer' => '', // 'Stop timer' => '',
// 'Start timer' => '', // 'Start timer' => '',
// 'My activity stream' => '', // 'My activity stream' => '',
// 'My calendar' => '',
// 'Search tasks' => '', // 'Search tasks' => '',
// 'Reset filters' => '', // 'Reset filters' => '',
// 'My tasks due tomorrow' => '', // 'My tasks due tomorrow' => '',
@@ -684,7 +675,6 @@ return array(
// 'Overview' => '', // 'Overview' => '',
// 'Board/Calendar/List view' => '', // 'Board/Calendar/List view' => '',
// 'Switch to the board view' => '', // 'Switch to the board view' => '',
// 'Switch to the calendar view' => '',
// 'Switch to the list view' => '', // 'Switch to the list view' => '',
// 'Go to the search/filter box' => '', // 'Go to the search/filter box' => '',
// 'There is no activity yet.' => '', // 'There is no activity yet.' => '',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Språk', 'Language:' => 'Språk',
'Timezone:' => 'Tidszon', 'Timezone:' => 'Tidszon',
'All columns' => 'Alla kolumner', 'All columns' => 'Alla kolumner',
'Calendar' => 'Kalender',
'Next' => 'Nästa', 'Next' => 'Nästa',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => 'Alla swimlanes', '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 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', 'When task is moved to last column' => 'När uppgiften flyttas till sista kolumnen',
'Year(s)' => 'År', 'Year(s)' => 'År',
'Calendar settings' => 'Inställningar för kalendern',
'Project calendar view' => 'Projektkalendervy',
'Project settings' => 'Projektinställningar', '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', 'Automatically update the start date' => 'Automatisk uppdatering av startdatum',
'iCal feed' => 'iCal flöde', 'iCal feed' => 'iCal flöde',
'Preferences' => 'Preferenser', 'Preferences' => 'Preferenser',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Stoppa timer', 'Stop timer' => 'Stoppa timer',
'Start timer' => 'Starta timer', 'Start timer' => 'Starta timer',
'My activity stream' => 'Min aktivitetsström', 'My activity stream' => 'Min aktivitetsström',
'My calendar' => 'Min kalender',
'Search tasks' => 'Sök uppgifter', 'Search tasks' => 'Sök uppgifter',
'Reset filters' => 'Återställ filter', 'Reset filters' => 'Återställ filter',
'My tasks due tomorrow' => 'Mina uppgifter förfaller imorgon', 'My tasks due tomorrow' => 'Mina uppgifter förfaller imorgon',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Översikts', 'Overview' => 'Översikts',
'Board/Calendar/List view' => 'Tavla/Kalender/Listvy', 'Board/Calendar/List view' => 'Tavla/Kalender/Listvy',
'Switch to the board view' => 'Växla till tavelvy', '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', 'Switch to the list view' => 'Växla till listvy',
'Go to the search/filter box' => 'Gå till sök/filter box', 'Go to the search/filter box' => 'Gå till sök/filter box',
'There is no activity yet.' => 'Det finns ingen aktivitet ännu.', 'There is no activity yet.' => 'Det finns ingen aktivitet ännu.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'ภาษา:', 'Language:' => 'ภาษา:',
'Timezone:' => 'เขตเวลา:', 'Timezone:' => 'เขตเวลา:',
'All columns' => 'คอลัมน์ทั้งหมด', 'All columns' => 'คอลัมน์ทั้งหมด',
'Calendar' => 'ปฏิทิน',
'Next' => 'ต่อไป', 'Next' => 'ต่อไป',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => 'สวิมเลนทั้งหมด', 'All swimlanes' => 'สวิมเลนทั้งหมด',
@@ -607,14 +606,7 @@ return array(
'When task is moved from first column' => 'เมื่องานถูกย้ายจากคอลัมน์แรก', 'When task is moved from first column' => 'เมื่องานถูกย้ายจากคอลัมน์แรก',
'When task is moved to last column' => 'เมื่องานถูกย้ายไปคอลัมน์สุดท้าย', 'When task is moved to last column' => 'เมื่องานถูกย้ายไปคอลัมน์สุดท้าย',
'Year(s)' => 'ปี', 'Year(s)' => 'ปี',
'Calendar settings' => 'ตั้งค่าปฏิทิน',
'Project calendar view' => 'มุมมองปฏิทินของโปรเจค',
'Project settings' => 'ตั้งค่าโปรเจค', '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' => 'ปรับปรุงวันที่เริ่มอัตโนมมัติ', 'Automatically update the start date' => 'ปรับปรุงวันที่เริ่มอัตโนมมัติ',
// 'iCal feed' => '', // 'iCal feed' => '',
// 'Preferences' => '', // 'Preferences' => '',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'หยุดจับเวลา', 'Stop timer' => 'หยุดจับเวลา',
'Start timer' => 'เริ่มจับเวลา', 'Start timer' => 'เริ่มจับเวลา',
'My activity stream' => 'กิจกรรมที่เกิดขึ้นของฉัน', 'My activity stream' => 'กิจกรรมที่เกิดขึ้นของฉัน',
'My calendar' => 'ปฎิทินของฉัน',
'Search tasks' => 'ค้นหางาน', 'Search tasks' => 'ค้นหางาน',
'Reset filters' => 'ล้างตัวกรอง', 'Reset filters' => 'ล้างตัวกรอง',
'My tasks due tomorrow' => 'งานถึงกำหนดของฉันวันพรุ่งนี้', 'My tasks due tomorrow' => 'งานถึงกำหนดของฉันวันพรุ่งนี้',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'ภาพรวม', 'Overview' => 'ภาพรวม',
'Board/Calendar/List view' => 'มุมมอง บอร์ด/ปฎิทิน/ลิสต์', 'Board/Calendar/List view' => 'มุมมอง บอร์ด/ปฎิทิน/ลิสต์',
'Switch to the board view' => 'เปลี่ยนเป็นมุมมองบอร์ด', 'Switch to the board view' => 'เปลี่ยนเป็นมุมมองบอร์ด',
'Switch to the calendar view' => 'เปลี่ยนเป็นมุมมองปฎิทิน',
'Switch to the list view' => 'เปลี่ยนเป็นมุมมองลิสต์', 'Switch to the list view' => 'เปลี่ยนเป็นมุมมองลิสต์',
'Go to the search/filter box' => 'ไปที่กล่องค้นหา/ตัวกรอง', 'Go to the search/filter box' => 'ไปที่กล่องค้นหา/ตัวกรอง',
'There is no activity yet.' => 'ตอนนี้ไม่มีกิจกรรม', 'There is no activity yet.' => 'ตอนนี้ไม่มีกิจกรรม',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => 'Dil:', 'Language:' => 'Dil:',
'Timezone:' => 'Saat dilimi:', 'Timezone:' => 'Saat dilimi:',
'All columns' => 'Tüm sütunlar', 'All columns' => 'Tüm sütunlar',
'Calendar' => 'Takvim',
'Next' => 'Sonraki', 'Next' => 'Sonraki',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => 'Tüm Kulvarlar', '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 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', 'When task is moved to last column' => 'Görev son sütuna taşındığı zaman',
'Year(s)' => 'Yıl(lar)', 'Year(s)' => 'Yıl(lar)',
'Calendar settings' => 'Takvim ayarları',
'Project calendar view' => 'Proje takvim görünümü',
'Project settings' => 'Proje ayarları', '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', 'Automatically update the start date' => 'Başlangıç tarihini otomatik olarak güncelle',
'iCal feed' => 'iCal akışı', 'iCal feed' => 'iCal akışı',
'Preferences' => 'Ayarlar', 'Preferences' => 'Ayarlar',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => 'Zamanlayıcıyı durdur', 'Stop timer' => 'Zamanlayıcıyı durdur',
'Start timer' => 'Zamanlayıcıyı başlat', 'Start timer' => 'Zamanlayıcıyı başlat',
'My activity stream' => 'Olay akışım', 'My activity stream' => 'Olay akışım',
'My calendar' => 'Takvimim',
'Search tasks' => 'Görevleri ara', 'Search tasks' => 'Görevleri ara',
'Reset filters' => 'Filtreleri sıfırla', 'Reset filters' => 'Filtreleri sıfırla',
'My tasks due tomorrow' => 'Yarına tamamlanması gereken görevlerim', 'My tasks due tomorrow' => 'Yarına tamamlanması gereken görevlerim',
@@ -684,7 +675,6 @@ return array(
'Overview' => 'Özet Görünüm', 'Overview' => 'Özet Görünüm',
'Board/Calendar/List view' => 'Pano/Takvim/Liste 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 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ç', 'Switch to the list view' => 'Liste görünümüne geç',
'Go to the search/filter box' => 'Arama/Filtreleme kutusuna git', 'Go to the search/filter box' => 'Arama/Filtreleme kutusuna git',
'There is no activity yet.' => 'Henüz bir aktivite yok.', 'There is no activity yet.' => 'Henüz bir aktivite yok.',

View File

@@ -455,7 +455,6 @@ return array(
'Language:' => '语言:', 'Language:' => '语言:',
'Timezone:' => '时区:', 'Timezone:' => '时区:',
'All columns' => '全部栏目', 'All columns' => '全部栏目',
'Calendar' => '日程表',
'Next' => '前进', 'Next' => '前进',
'#%d' => '#%d', '#%d' => '#%d',
'All swimlanes' => '全部里程碑', 'All swimlanes' => '全部里程碑',
@@ -607,14 +606,7 @@ return array(
'When task is moved from first column' => '当任务从第一列任务栏移走时', 'When task is moved from first column' => '当任务从第一列任务栏移走时',
'When task is moved to last column' => '当任务移动到最后一列任务栏时', 'When task is moved to last column' => '当任务移动到最后一列任务栏时',
'Year(s)' => '年', 'Year(s)' => '年',
'Calendar settings' => '日程设置',
'Project calendar view' => '项目日历表',
'Project settings' => '项目设置', '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' => '自动更新开始日期', 'Automatically update the start date' => '自动更新开始日期',
'iCal feed' => '日历订阅', 'iCal feed' => '日历订阅',
'Preferences' => '偏好', 'Preferences' => '偏好',
@@ -670,7 +662,6 @@ return array(
'Stop timer' => '停止计时器', 'Stop timer' => '停止计时器',
'Start timer' => '开启计时器', 'Start timer' => '开启计时器',
'My activity stream' => '我的活动流', 'My activity stream' => '我的活动流',
'My calendar' => '我的日程表',
'Search tasks' => '搜索任务', 'Search tasks' => '搜索任务',
'Reset filters' => '重置过滤器', 'Reset filters' => '重置过滤器',
'My tasks due tomorrow' => '我的明天到期的任务', 'My tasks due tomorrow' => '我的明天到期的任务',
@@ -684,7 +675,6 @@ return array(
'Overview' => '概览', 'Overview' => '概览',
'Board/Calendar/List view' => '看板/日程/列表视图', 'Board/Calendar/List view' => '看板/日程/列表视图',
'Switch to the board view' => '切换到看板视图', 'Switch to the board view' => '切换到看板视图',
'Switch to the calendar view' => '切换到日程视图',
'Switch to the list view' => '切换到列表视图', 'Switch to the list view' => '切换到列表视图',
'Go to the search/filter box' => '前往搜索/过滤箱', 'Go to the search/filter box' => '前往搜索/过滤箱',
'There is no activity yet.' => '当前无任何活动.', 'There is no activity yet.' => '当前无任何活动.',

View File

@@ -26,7 +26,6 @@ class FormatterProvider implements ServiceProviderInterface
'SubtaskListFormatter', 'SubtaskListFormatter',
'SubtaskTimeTrackingCalendarFormatter', 'SubtaskTimeTrackingCalendarFormatter',
'TaskAutoCompleteFormatter', 'TaskAutoCompleteFormatter',
'TaskCalendarFormatter',
'TaskGanttFormatter', 'TaskGanttFormatter',
'TaskICalFormatter', 'TaskICalFormatter',
'TaskListFormatter', 'TaskListFormatter',

View File

@@ -19,7 +19,6 @@ class HelperProvider implements ServiceProviderInterface
{ {
$container['helper'] = new Helper($container); $container['helper'] = new Helper($container);
$container['helper']->register('app', '\Kanboard\Helper\AppHelper'); $container['helper']->register('app', '\Kanboard\Helper\AppHelper');
$container['helper']->register('calendar', '\Kanboard\Helper\CalendarHelper');
$container['helper']->register('asset', '\Kanboard\Helper\AssetHelper'); $container['helper']->register('asset', '\Kanboard\Helper\AssetHelper');
$container['helper']->register('board', '\Kanboard\Helper\BoardHelper'); $container['helper']->register('board', '\Kanboard\Helper\BoardHelper');
$container['helper']->register('comment', '\Kanboard\Helper\CommentHelper'); $container['helper']->register('comment', '\Kanboard\Helper\CommentHelper');

View File

@@ -36,7 +36,6 @@ class RouteProvider implements ServiceProviderInterface
$container['route']->addRoute('dashboard/:user_id/projects', 'DashboardController', 'projects'); $container['route']->addRoute('dashboard/:user_id/projects', 'DashboardController', 'projects');
$container['route']->addRoute('dashboard/:user_id/tasks', 'DashboardController', 'tasks'); $container['route']->addRoute('dashboard/:user_id/tasks', 'DashboardController', 'tasks');
$container['route']->addRoute('dashboard/:user_id/subtasks', 'DashboardController', 'subtasks'); $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/activity', 'DashboardController', 'activity');
$container['route']->addRoute('dashboard/:user_id/notifications', 'DashboardController', 'notifications'); $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('b/:project_id', 'BoardViewController', 'show');
$container['route']->addRoute('public/board/:token', 'BoardViewController', 'readonly'); $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 // Listing routes
$container['route']->addRoute('list/:project_id', 'TaskListController', 'show'); $container['route']->addRoute('list/:project_id', 'TaskListController', 'show');
$container['route']->addRoute('l/: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/project', 'ConfigController', 'project'); $container['route']->addRoute('settings/project', 'ConfigController', 'project');
$container['route']->addRoute('settings/board', 'ConfigController', 'board'); $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/integrations', 'ConfigController', 'integrations');
$container['route']->addRoute('settings/webhook', 'ConfigController', 'webhook'); $container['route']->addRoute('settings/webhook', 'ConfigController', 'webhook');
$container['route']->addRoute('settings/api', 'ConfigController', 'api'); $container['route']->addRoute('settings/api', 'ConfigController', 'api');

View File

@@ -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']))
) ?>

View File

@@ -1,4 +0,0 @@
<?= $this->calendar->render(
$this->url->href('CalendarController', 'userEvents', array('user_id' => $user['id'])),
$this->url->href('CalendarController', 'save')
) ?>

View File

@@ -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>

View File

@@ -6,7 +6,6 @@
<ul> <ul>
<li><?= t('Switch to the project overview') ?> = <strong>v o</strong></li> <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 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 list view') ?> = <strong>v l</strong></li>
<li><?= t('Switch to the Gantt chart view') ?> = <strong>v g</strong></li> <li><?= t('Switch to the Gantt chart view') ?> = <strong>v g</strong></li>
</ul> </ul>

View File

@@ -15,9 +15,6 @@
<li <?= $this->app->checkMenuSelection('ConfigController', 'board') ?>> <li <?= $this->app->checkMenuSelection('ConfigController', 'board') ?>>
<?= $this->url->link(t('Board settings'), 'ConfigController', 'board') ?> <?= $this->url->link(t('Board settings'), 'ConfigController', 'board') ?>
</li> </li>
<li <?= $this->app->checkMenuSelection('ConfigController', 'calendar') ?>>
<?= $this->url->link(t('Calendar settings'), 'ConfigController', 'calendar') ?>
</li>
<li <?= $this->app->checkMenuSelection('TagController', 'index') ?>> <li <?= $this->app->checkMenuSelection('TagController', 'index') ?>>
<?= $this->url->link(t('Tags management'), 'TagController', 'index') ?> <?= $this->url->link(t('Tags management'), 'TagController', 'index') ?>
</li> </li>

View File

@@ -16,9 +16,7 @@
<li> <li>
<?= $this->modal->medium('dashboard', t('My activity stream'), 'ActivityController', 'user') ?> <?= $this->modal->medium('dashboard', t('My activity stream'), 'ActivityController', 'user') ?>
</li> </li>
<li> <?= $this->hook->render('template:dashboard:page-header:menu', array('user' => $user)) ?>
<?= $this->modal->medium('calendar', t('My calendar'), 'CalendarController', 'user') ?>
</li>
</ul> </ul>
</div> </div>

View File

@@ -4,9 +4,6 @@
<li> <li>
<?= $this->url->icon('th', t('Board'), 'BoardViewController', 'show', array('project_id' => $project['id'])) ?> <?= $this->url->icon('th', t('Board'), 'BoardViewController', 'show', array('project_id' => $project['id'])) ?>
</li> </li>
<li>
<?= $this->url->icon('calendar', t('Calendar'), 'CalendarController', 'show', array('project_id' => $project['id'])) ?>
</li>
<li> <li>
<?= $this->url->icon('list', t('Listing'), 'TaskListController', 'show', array('project_id' => $project['id'])) ?> <?= $this->url->icon('list', t('Listing'), 'TaskListController', 'show', array('project_id' => $project['id'])) ?>
</li> </li>

View File

@@ -5,9 +5,6 @@
<li <?= $this->app->checkMenuSelection('BoardViewController') ?>> <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')) ?> <?= $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>
<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') ?>> <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')) ?> <?= $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> </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')) ?> <?= $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> </li>
<?php endif ?> <?php endif ?>
<?= $this->hook->render('template:project-header:view-switcher', array('project' => $project, 'filters' => $filters)) ?>
</ul> </ul>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -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');
});
}
});
};
});

View File

@@ -117,10 +117,6 @@ KB.keyboardShortcuts = function () {
goToLink('a.view-board'); goToLink('a.view-board');
}); });
KB.onKey('v+c', function () {
goToLink('a.view-calendar');
});
KB.onKey('v+l', function () { KB.onKey('v+l', function () {
goToLink('a.view-listing'); goToLink('a.view-listing');
}); });

File diff suppressed because one or more lines are too long

View File

@@ -9,7 +9,6 @@
], ],
"dependencies": { "dependencies": {
"jquery": "^2.2.3", "jquery": "^2.2.3",
"fullcalendar": "^3.0.1",
"c3": "^0.4.11", "c3": "^0.4.11",
"jquery-ui": "^1.11.4", "jquery-ui": "^1.11.4",
"jqueryui-touch-punch": "*", "jqueryui-touch-punch": "*",

View File

@@ -212,6 +212,7 @@ List of template hooks:
| `template:config:email` | Email settings page | | `template:config:email` | Email settings page |
| `template:config:integrations` | Integration page in global settings | | `template:config:integrations` | Integration page in global settings |
| `template:dashboard:show` | Main page of the dashboard | | `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:dropdown` | Page header dropdown menu (user avatar icon) |
| `template:header:creation-dropdown` | Page header dropdown menu (plus icon) | | `template:header:creation-dropdown` | Page header dropdown menu (plus icon) |
| `template:layout:head` | Page layout `<head/>` tag | | `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:before` | Project list: before menu entries |
| `template:project-list:menu:after` | Project list: after menu entries | | `template:project-list:menu:after` | Project list: after menu entries |
| `template:project-overview:before-description` | Project overview: before description | | `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:layout:top` | Task layout top (after page header) |
| `template:task:details:top` | Task summary top | | `template:task:details:top` | Task summary top |
| `template:task:details:bottom` | Task summary bottom | | `template:task:details:bottom` | Task summary bottom |

View File

@@ -24,7 +24,6 @@ var vendor = {
'bower_components/jquery-ui/themes/base/jquery-ui.min.css', 'bower_components/jquery-ui/themes/base/jquery-ui.min.css',
'bower_components/jqueryui-timepicker-addon/dist/jquery-ui-timepicker-addon.min.css', 'bower_components/jqueryui-timepicker-addon/dist/jquery-ui-timepicker-addon.min.css',
'bower_components/select2/dist/css/select2.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/font-awesome/css/font-awesome.min.css',
'bower_components/c3/c3.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-timepicker-addon/dist/i18n/jquery-ui-timepicker-addon-i18n.min.js',
'bower_components/jqueryui-touch-punch/jquery.ui.touch-punch.min.js', 'bower_components/jqueryui-touch-punch/jquery.ui.touch-punch.min.js',
'bower_components/select2/dist/js/select2.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/d3/d3.min.js',
'bower_components/c3/c3.min.js', 'bower_components/c3/c3.min.js',
'bower_components/isMobile/isMobile.min.js', 'bower_components/isMobile/isMobile.min.js',