summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Auth/RememberMe.php34
-rw-r--r--app/Controller/Ical.php4
-rw-r--r--app/Core/Helper.php32
-rw-r--r--app/Core/Lexer.php4
-rw-r--r--app/Helper/Url.php4
-rw-r--r--app/Helper/User.php18
-rw-r--r--app/Locale/da_DK/translations.php57
-rw-r--r--app/Locale/de_DE/translations.php71
-rw-r--r--app/Locale/es_ES/translations.php57
-rw-r--r--app/Locale/fi_FI/translations.php57
-rw-r--r--app/Locale/fr_FR/translations.php57
-rw-r--r--app/Locale/hu_HU/translations.php57
-rw-r--r--app/Locale/it_IT/translations.php57
-rw-r--r--app/Locale/ja_JP/translations.php57
-rw-r--r--app/Locale/nl_NL/translations.php57
-rw-r--r--app/Locale/pl_PL/translations.php57
-rw-r--r--app/Locale/pt_BR/translations.php57
-rw-r--r--app/Locale/ru_RU/translations.php57
-rw-r--r--app/Locale/sr_Latn_RS/translations.php57
-rw-r--r--app/Locale/sv_SE/translations.php57
-rw-r--r--app/Locale/th_TH/translations.php57
-rw-r--r--app/Locale/tr_TR/translations.php57
-rw-r--r--app/Locale/zh_CN/translations.php57
-rw-r--r--app/Model/Authentication.php5
-rw-r--r--app/Model/TaskFilter.php38
-rw-r--r--app/Template/app/projects.php2
-rw-r--r--app/Template/board/popover_category.php3
-rw-r--r--app/Template/board/table_swimlane.php2
-rw-r--r--app/Template/board/task_footer.php2
-rw-r--r--app/Template/board/task_private.php9
-rw-r--r--app/Template/column/index.php2
-rw-r--r--app/Template/file/show.php4
-rw-r--r--app/Template/layout.php2
-rw-r--r--app/Template/project/index.php2
-rw-r--r--app/Template/project/show.php2
-rw-r--r--app/Template/search/index.php2
-rw-r--r--assets/css/app.css49
-rw-r--r--assets/css/src/alert.css45
-rw-r--r--assets/css/src/dropdown.css2
-rw-r--r--assets/css/src/tooltip.css2
-rw-r--r--assets/js/app.js10
-rw-r--r--assets/js/src/base.js13
-rw-r--r--assets/js/src/board.js2
-rw-r--r--docs/ical.markdown2
-rw-r--r--docs/search.markdown13
-rw-r--r--tests/units/Base.php2
-rw-r--r--tests/units/LexerTest.php35
-rw-r--r--tests/units/TaskFilterTest.php123
-rw-r--r--tests/units/UrlHelperTest.php12
-rw-r--r--tests/units/UserHelperTest.php16
50 files changed, 944 insertions, 536 deletions
diff --git a/app/Auth/RememberMe.php b/app/Auth/RememberMe.php
index e8b20f37..eebf4f4b 100644
--- a/app/Auth/RememberMe.php
+++ b/app/Auth/RememberMe.php
@@ -119,31 +119,6 @@ class RememberMe extends Base
}
/**
- * Update the database and the cookie with a new sequence
- *
- * @access public
- */
- public function refresh()
- {
- $credentials = $this->readCookie();
-
- if ($credentials !== false) {
-
- $record = $this->find($credentials['token'], $credentials['sequence']);
-
- if ($record) {
-
- // Update the sequence
- $this->writeCookie(
- $record['token'],
- $this->update($record['token']),
- $record['expiration']
- );
- }
- }
- }
-
- /**
* Remove a session record
*
* @access public
@@ -197,9 +172,10 @@ class RememberMe extends Base
$this->cleanup($user_id);
- $this->db
- ->table(self::TABLE)
- ->insert(array(
+ $this
+ ->db
+ ->table(self::TABLE)
+ ->insert(array(
'user_id' => $user_id,
'ip' => $ip,
'user_agent' => $user_agent,
@@ -207,7 +183,7 @@ class RememberMe extends Base
'sequence' => $sequence,
'expiration' => $expiration,
'date_creation' => time(),
- ));
+ ));
return array(
'token' => $token,
diff --git a/app/Controller/Ical.php b/app/Controller/Ical.php
index 8a7ed8b5..0129915e 100644
--- a/app/Controller/Ical.php
+++ b/app/Controller/Ical.php
@@ -78,8 +78,8 @@ class Ical extends Base
*/
private function renderCalendar(TaskFilter $filter, iCalendar $calendar)
{
- $start = $this->request->getStringParam('start', strtotime('-1 month'));
- $end = $this->request->getStringParam('end', strtotime('+2 months'));
+ $start = $this->request->getStringParam('start', strtotime('-2 month'));
+ $end = $this->request->getStringParam('end', strtotime('+6 months'));
// Tasks
if ($this->config->get('calendar_project_tasks', 'date_started') === 'date_creation') {
diff --git a/app/Core/Helper.php b/app/Core/Helper.php
index 53084a7e..e4f225b0 100644
--- a/app/Core/Helper.php
+++ b/app/Core/Helper.php
@@ -2,6 +2,8 @@
namespace Core;
+use Pimple\Container;
+
/**
* Helper base class
*
@@ -19,16 +21,34 @@ namespace Core;
* @property \Helper\Url $url
* @property \Helper\User $user
*/
-class Helper extends Base
+class Helper
{
/**
* Helper instances
*
- * @static
* @access private
* @var array
*/
- private static $helpers = array();
+ private $helpers = array();
+
+ /**
+ * Container instance
+ *
+ * @access protected
+ * @var \Pimple\Container
+ */
+ protected $container;
+
+ /**
+ * Constructor
+ *
+ * @access public
+ * @param \Pimple\Container $container
+ */
+ public function __construct(Container $container)
+ {
+ $this->container = $container;
+ }
/**
* Load automatically helpers
@@ -39,12 +59,12 @@ class Helper extends Base
*/
public function __get($name)
{
- if (! isset(self::$helpers[$name])) {
+ if (! isset($this->helpers[$name])) {
$class = '\Helper\\'.ucfirst($name);
- self::$helpers[$name] = new $class($this->container);
+ $this->helpers[$name] = new $class($this->container);
}
- return self::$helpers[$name];
+ return $this->helpers[$name];
}
/**
diff --git a/app/Core/Lexer.php b/app/Core/Lexer.php
index d277f998..3887dc82 100644
--- a/app/Core/Lexer.php
+++ b/app/Core/Lexer.php
@@ -33,11 +33,14 @@ class Lexer
"/^(category:)/" => 'T_CATEGORY',
"/^(column:)/" => 'T_COLUMN',
"/^(project:)/" => 'T_PROJECT',
+ "/^(ref:)/" => 'T_REFERENCE',
+ "/^(reference:)/" => 'T_REFERENCE',
"/^(\s+)/" => 'T_WHITESPACE',
'/^([<=>]{0,2}[0-9]{4}-[0-9]{2}-[0-9]{2})/' => 'T_DATE',
'/^(yesterday|tomorrow|today)/' => 'T_DATE',
'/^("(.*?)")/' => 'T_STRING',
"/^(\w+)/" => 'T_STRING',
+ "/^(#\d+)/" => 'T_STRING',
);
/**
@@ -124,6 +127,7 @@ class Lexer
case 'T_STATUS':
case 'T_DUE':
case 'T_DESCRIPTION':
+ case 'T_REFERENCE':
$next = next($tokens);
if ($next !== false && ($next['token'] === 'T_DATE' || $next['token'] === 'T_STRING')) {
diff --git a/app/Helper/Url.php b/app/Helper/Url.php
index e133f195..8de63f8d 100644
--- a/app/Helper/Url.php
+++ b/app/Helper/Url.php
@@ -99,6 +99,10 @@ class Url extends \Core\Base
*/
public function server()
{
+ if (empty($_SERVER['SERVER_NAME'])) {
+ return 'http://localhost/';
+ }
+
$self = str_replace('\\', '/', dirname($_SERVER['PHP_SELF']));
$url = Request::isHTTPS() ? 'https://' : 'http://';
diff --git a/app/Helper/User.php b/app/Helper/User.php
index 1cad6042..c1fff8c6 100644
--- a/app/Helper/User.php
+++ b/app/Helper/User.php
@@ -11,6 +11,24 @@ namespace Helper;
class User extends \Core\Base
{
/**
+ * Get initials from a user
+ *
+ * @access public
+ * @param string $name
+ * @return string
+ */
+ public function getInitials($name)
+ {
+ $initials = '';
+
+ foreach (explode(' ', $name) as $string) {
+ $initials .= mb_substr($string, 0, 1);
+ }
+
+ return mb_strtoupper($initials);
+ }
+
+ /**
* Get user id
*
* @access public
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index ece8a97b..91d7b98a 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Dato for oprettelse',
'Date completed' => 'Dato for fuldført',
'Id' => 'ID',
- 'Completed tasks' => 'Fuldførte opgaver',
- 'Completed tasks for "%s"' => 'Fuldførte opgaver for "%s"',
'%d closed tasks' => '%d lukket opgavet',
'No task for this project' => 'Ingen opgaver i dette projekt',
'Public link' => 'Offentligt link',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Udløbsdato',
'Remember Me' => 'Husk mig',
'Creation date' => 'Oprettelsesdato',
- 'Filter by user' => 'Filtrer efter bruger',
- 'Filter by due date' => 'Filtrer efter forfaldsdato',
'Everybody' => 'Alle',
'Open' => 'Åben',
'Closed' => 'Lukket',
'Search' => 'Søg',
'Nothing found.' => 'Intet fundet.',
- 'Search in the project "%s"' => 'Søg i projektet "%s"',
'Due date' => 'Forfaldsdato',
'Others formats accepted: %s and %s' => 'Andre acceptable formater: %s und %s',
'Description' => 'Beskrivelse',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Kategorinavn',
'Add a new category' => 'Tilfæj en ny kategori',
'Do you really want to remove this category: "%s"?' => 'Vil du virkelig fjerne denne kategori: "%s"?',
- 'Filter by category' => 'Filter efter kategori',
'All categories' => 'Alle kategorier',
'No category' => 'Ingen kategori',
'The name is required' => 'Navnet er krævet',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s opdateret en kommentar på opgaven %s',
'%s commented the task %s' => '%s har kommenteret opgaven %s',
'%s\'s activity' => '%s\'s aktvitet',
- 'No activity.' => 'Ingen aktivitet',
'RSS feed' => 'RSS feed',
'%s updated a comment on the task #%d' => '%s opdaterede en kommentar på opgaven #%d',
'%s commented on the task #%d' => '%s kommenteret op opgaven #%d',
@@ -605,14 +598,9 @@ return array(
// 'Language:' => '',
// 'Timezone:' => '',
// 'All columns' => '',
- // 'Calendar for "%s"' => '',
- // 'Filter by column' => '',
- // 'Filter by status' => '',
// 'Calendar' => '',
// 'Next' => '',
// '#%d' => '',
- // 'Filter by color' => '',
- // 'Filter by swimlane' => '',
// 'All swimlanes' => '',
// 'All colors' => '',
// 'All status' => '',
@@ -627,14 +615,8 @@ return array(
// 'Time Tracking' => '',
// 'You already have one subtask in progress' => '',
// 'Which parts of the project do you want to duplicate?' => '',
- // 'Change dashboard view' => '',
- // 'Show/hide activities' => '',
- // 'Show/hide projects' => '',
- // 'Show/hide subtasks' => '',
- // 'Show/hide tasks' => '',
// 'Disable login form' => '',
// 'Show/hide calendar' => '',
- // 'User calendar' => '',
// 'Bitbucket commit received' => '',
// 'Bitbucket webhooks' => '',
// 'Help on Bitbucket webhooks' => '',
@@ -688,9 +670,7 @@ return array(
// 'Keyboard shortcuts' => '',
// 'Open board switcher' => '',
// 'Application' => '',
- // 'Filter recently updated' => '',
// 'since %B %e, %Y at %k:%M %p' => '',
- // 'More filters' => '',
// 'Compact view' => '',
// 'Horizontal scrolling' => '',
// 'Compact/wide view' => '',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index bfe9f04c..100335c5 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Erstellt am',
'Date completed' => 'Abgeschlossen am',
'Id' => 'ID',
- 'Completed tasks' => 'Abgeschlossene Aufgaben',
- 'Completed tasks for "%s"' => 'Abgeschlossene Aufgaben für "%s"',
'%d closed tasks' => '%d abgeschlossene Aufgaben',
'No task for this project' => 'Keine Aufgaben in diesem Projekt',
'Public link' => 'Öffentlicher Link',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Ablaufdatum',
'Remember Me' => 'Angemeldet bleiben',
'Creation date' => 'Erstellungsdatum',
- 'Filter by user' => 'Benutzer filtern',
- 'Filter by due date' => 'Fälligkeit filtern',
'Everybody' => 'Alle',
'Open' => 'Offen',
'Closed' => 'Abgeschlossen',
'Search' => 'Suchen',
'Nothing found.' => 'Nichts gefunden.',
- 'Search in the project "%s"' => 'Suche in Projekt "%s"',
'Due date' => 'Fälligkeitsdatum',
'Others formats accepted: %s and %s' => 'Andere akzeptierte Formate: %s und %s',
'Description' => 'Beschreibung',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Kategoriename',
'Add a new category' => 'Neue Kategorie',
'Do you really want to remove this category: "%s"?' => 'Soll diese Kategorie wirklich gelöscht werden: "%s"?',
- 'Filter by category' => 'Kategorie filtern',
'All categories' => 'Alle Kategorien',
'No category' => 'Keine Kategorie',
'The name is required' => 'Der Name ist erforderlich',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s hat einen Kommentar der Aufgabe %s aktualisiert',
'%s commented the task %s' => '%s hat die Aufgabe %s kommentiert',
'%s\'s activity' => '%s\'s Aktivität',
- 'No activity.' => 'Keine Aktivität.',
'RSS feed' => 'RSS Feed',
'%s updated a comment on the task #%d' => '%s hat einen Kommentar der Aufgabe #%d aktualisiert',
'%s commented on the task #%d' => '%s hat die Aufgabe #%d kommentiert',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Sprache:',
'Timezone:' => 'Zeitzone:',
'All columns' => 'Alle Spalten',
- 'Calendar for "%s"' => 'Kalender für "%s"',
- 'Filter by column' => 'Spalte filtern',
- 'Filter by status' => 'Status filtern',
'Calendar' => 'Kalender',
'Next' => 'Nächste',
// '#%d' => '',
- 'Filter by color' => 'Farbe filtern',
- 'Filter by swimlane' => 'Swimlane filtern',
'All swimlanes' => 'Alle Swimlanes',
'All colors' => 'Alle Farben',
'All status' => 'Alle Status',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Zeiterfassung',
'You already have one subtask in progress' => 'Bereits eine Teilaufgabe in bearbeitung',
'Which parts of the project do you want to duplicate?' => 'Welcher Teil des Projekts soll kopiert werden?',
- 'Change dashboard view' => 'Dashboardansicht ändern',
- 'Show/hide activities' => 'Aktivitäten anzeigen/verbergen',
- 'Show/hide projects' => 'Projekte anzeigen/verbergen',
- 'Show/hide subtasks' => 'Teilaufgaben anzeigen/verbergen',
- 'Show/hide tasks' => 'Aufgaben anzeigen/verbergen',
'Disable login form' => 'Anmeldeformular deaktivieren',
'Show/hide calendar' => 'Kalender anzeigen/verbergen',
- 'User calendar' => 'Benutzer Kalender',
'Bitbucket commit received' => 'Bitbucket commit erhalten',
'Bitbucket webhooks' => 'Bitbucket webhooks',
'Help on Bitbucket webhooks' => 'Hilfe für Bitbucket webhooks',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'Tastaturkürzel',
'Open board switcher' => 'Pinnwandauswahl öffnen',
'Application' => 'Anwendung',
- 'Filter recently updated' => 'Zuletzt geänderte anzeigen',
'since %B %e, %Y at %k:%M %p' => 'seit %B %e, %Y um %k:%M %p',
- 'More filters' => 'Mehr Filter',
'Compact view' => 'Kompaktansicht',
'Horizontal scrolling' => 'Horizontales Scrollen',
'Compact/wide view' => 'Kompakt/Breite-Ansicht',
@@ -872,7 +852,7 @@ return array(
'Subtasks time tracking' => 'Teilaufgaben Zeiterfassung',
'User calendar view' => 'Benutzer-Kalendarsicht',
'Automatically update the start date' => 'Beginndatum automatisch aktualisieren',
- //'iCal feed' => '',
+ // 'iCal feed' => '',
'Preferences' => 'Einstellungen',
'Security' => 'Sicherheit',
'Two factor authentication disabled' => 'Zweifaktorauthentifizierung deaktiviert',
@@ -921,7 +901,6 @@ return array(
'The task have been moved to the first swimlane' => 'Die Aufgabe wurde in die erste Swimlane verschoben',
'The task have been moved to another swimlane:' => 'Die Aufgaben wurde in ene andere Swimlane verschoben',
'Overdue tasks for the project "%s"' => 'Überfällige Aufgaben für das Projekt "%s"',
- 'There is no completed tasks at the moment.' => 'Es gibt keine abgeschlossenen Aufgaben',
'New title: %s' => 'Neuer Titel: %s',
'The task is not assigned anymore' => 'Die Aufgabe ist nicht mehr zugewiesen',
'New assignee: %s' => 'Neue Zuordnung: %s',
@@ -938,24 +917,58 @@ return array(
'The description have been modified' => 'Die Beschreibung wurde geändert',
'Do you really want to close the task "%s" as well as all subtasks?' => 'Soll die Aufgabe "%s" wirklich geschlossen werden? (einschließlich Teilaufgaben)',
// 'Swimlane: %s' => '',
- 'Project calendar' => 'Projektkalendar',
'I want to receive notifications for:' => 'Ich möchte Benachrichtigungn erhalten für:',
'All tasks' => 'Alle Aufgaben',
'Only for tasks assigned to me' => 'nur mir zugeordnete Aufgane',
'Only for tasks created by me' => 'nur von mir erstellte Aufgaben',
'Only for tasks created by me and assigned to me' => 'nur mir zugeordnete und von mir erstellte Aufgaben',
- //'%A' => '',
- //'%b %e, %Y, %k:%M %p' => '',
+ // '%A' => '',
+ // '%b %e, %Y, %k:%M %p' => '',
'New due date: %B %e, %Y' => 'Neues Ablaufdatum: %B %e, %Y',
'Start date changed: %B %e, %Y' => 'Neues Beginndatum: %B %e, %Y',
- //'%k:%M %p' => '',
- //'%%Y-%%m-%%d' => '',
+ // '%k:%M %p' => '',
+ // '%%Y-%%m-%%d' => '',
'Total for all columns' => 'Gesamt für alle Spalten',
'You need at least 2 days of data to show the chart.' => 'Es werden mindestens 2 Tage zur Darstellung benötigt',
- //'<15m' => '',
- //'<30m' => '',
+ // '<15m' => '',
+ // '<30m' => '',
'Stop timer' => 'Stoppe Timer',
'Start timer' => 'Starte Timer',
'Add project member' => 'Projektmitglied hinzufügen',
'Enable notifications' => 'Benachrichtigung aktivieren',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index b6d89ac7..36259a8a 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Fecha de creación',
'Date completed' => 'Fecha de terminación',
'Id' => 'Identificador',
- 'Completed tasks' => 'Tareas completadas',
- 'Completed tasks for "%s"' => 'Tareas completadas por « %s »',
'%d closed tasks' => '%d tareas completadas',
'No task for this project' => 'Ninguna tarea para este proyecto',
'Public link' => 'Vinculación pública',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Fecha de expiración',
'Remember Me' => 'Recuérdame',
'Creation date' => 'Fecha de creación',
- 'Filter by user' => 'Filtrado mediante usuario',
- 'Filter by due date' => 'Filtrado mediante fecha límite',
'Everybody' => 'Todo el mundo',
'Open' => 'Abierto',
'Closed' => 'Cerrado',
'Search' => 'Buscar',
'Nothing found.' => 'Nada hallado.',
- 'Search in the project "%s"' => 'Buscar en el proyecto "%s"',
'Due date' => 'Fecha límite',
'Others formats accepted: %s and %s' => 'Otros formatos aceptados: %s y %s',
'Description' => 'Descripción',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Nombre de Categoría',
'Add a new category' => 'Añadir una nueva categoría',
'Do you really want to remove this category: "%s"?' => '¿De verdad que quieres suprimir esta categoría: "%s"?',
- 'Filter by category' => 'Filtrar mendiante categoría',
'All categories' => 'Todas las categorías',
'No category' => 'Sin categoría',
'The name is required' => 'El nombre es obligatorio',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s actualizó un comentario de la tarea %s',
'%s commented the task %s' => '%s comentó la tarea %s',
'%s\'s activity' => 'Actividad de %s',
- 'No activity.' => 'Sin actividad',
'RSS feed' => 'Fichero RSS',
'%s updated a comment on the task #%d' => '%s actualizó un comentario de la tarea #%d',
'%s commented on the task #%d' => '%s comentó la tarea #%d',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Idioma',
'Timezone:' => 'Zona horaria',
'All columns' => 'Todas las columnas',
- 'Calendar for "%s"' => 'Calendario para "%s"',
- 'Filter by column' => 'Filtrar por columna',
- 'Filter by status' => 'Filtrar por estado',
'Calendar' => 'Calendario',
'Next' => 'Siguiente',
// '#%d' => '',
- 'Filter by color' => 'Filtrar por color',
- 'Filter by swimlane' => 'Filtrar por carril',
'All swimlanes' => 'Todos los carriles',
'All colors' => 'Todos los colores',
'All status' => 'Todos los estados',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Seguimiento Temporal',
'You already have one subtask in progress' => 'Ya dispones de una subtarea en progreso',
'Which parts of the project do you want to duplicate?' => '¿Qué partes del proyecto deseas duplicar?',
- 'Change dashboard view' => 'Cambiar vista de tablero',
- 'Show/hide activities' => 'Mostrar/ocultar actividades',
- 'Show/hide projects' => 'Mostrar/ocultar proyectos',
- 'Show/hide subtasks' => 'Mostrar/Ocultar subtareas',
- 'Show/hide tasks' => 'Mostrar/ocultar tareas',
'Disable login form' => 'Desactivar formulario de ingreso',
'Show/hide calendar' => 'Mostrar/ocultar calendario',
- 'User calendar' => 'Calendario de usuario',
'Bitbucket commit received' => 'Recibida envío desde Bitbucket',
'Bitbucket webhooks' => 'Disparadores Web (webhooks) de Bitbucket',
'Help on Bitbucket webhooks' => 'Ayuda sobre disparadores web (webhooks) de Bitbucket',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'Atajos de teclado',
'Open board switcher' => 'Abrir conmutador de tablero',
'Application' => 'Aplicación',
- 'Filter recently updated' => 'Filtro actualizado recientemente',
'since %B %e, %Y at %k:%M %p' => 'desde %B %e, %Y a las %k:%M %p',
- 'More filters' => 'Más filtros',
'Compact view' => 'Compactar vista',
'Horizontal scrolling' => 'Desplazamiento horizontal',
'Compact/wide view' => 'Vista compacta/amplia',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index 41ebc921..beb61d96 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Luomispäivä',
'Date completed' => 'Valmistumispäivä',
'Id' => 'Id',
- 'Completed tasks' => 'Valmiit tehtävät',
- 'Completed tasks for "%s"' => 'Suoritetut tehtävät projektille %s',
'%d closed tasks' => '%d suljettua tehtävää',
'No task for this project' => 'Ei tehtävää tälle projektille',
'Public link' => 'Julkinen linkki',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Vanhentumispäivä',
'Remember Me' => 'Muista minut',
'Creation date' => 'Luomispäivä',
- 'Filter by user' => 'Rajaa käyttäjän mukaan',
- 'Filter by due date' => 'Rajaa deadlinen mukaan',
'Everybody' => 'Kaikki',
'Open' => 'Avoin',
'Closed' => 'Suljettu',
'Search' => 'Etsi',
'Nothing found.' => 'Ei löytynyt.',
- 'Search in the project "%s"' => 'Etsi projektista "%s"',
'Due date' => 'Deadline',
'Others formats accepted: %s and %s' => 'Muut hyväksytyt muodot: %s ja %s',
'Description' => 'Kuvaus',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Kategorian nimi',
'Add a new category' => 'Lisää uusi kategoria',
'Do you really want to remove this category: "%s"?' => 'Haluatko varmasti poistaa kategorian: "%s"?',
- 'Filter by category' => 'Rajaa kategorian mukaan',
'All categories' => 'Kaikki kategoriat',
'No category' => 'Kategoriaa ei löydy',
'The name is required' => 'Nimi vaaditaan',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s päivitti kommentia tehtävässä %s',
'%s commented the task %s' => '%s kommentoi tehtävää %s',
'%s\'s activity' => 'Henkilön %s toiminta',
- 'No activity.' => 'Ei toimintaa.',
'RSS feed' => 'RSS-syöte',
'%s updated a comment on the task #%d' => '%s päivitti kommenttia tehtävässä #%d',
'%s commented on the task #%d' => '%s kommentoi tehtävää #%d',
@@ -605,14 +598,9 @@ return array(
// 'Language:' => '',
// 'Timezone:' => '',
// 'All columns' => '',
- // 'Calendar for "%s"' => '',
- // 'Filter by column' => '',
- // 'Filter by status' => '',
// 'Calendar' => '',
// 'Next' => '',
// '#%d' => '',
- // 'Filter by color' => '',
- // 'Filter by swimlane' => '',
// 'All swimlanes' => '',
// 'All colors' => '',
// 'All status' => '',
@@ -627,14 +615,8 @@ return array(
// 'Time Tracking' => '',
// 'You already have one subtask in progress' => '',
// 'Which parts of the project do you want to duplicate?' => '',
- // 'Change dashboard view' => '',
- // 'Show/hide activities' => '',
- // 'Show/hide projects' => '',
- // 'Show/hide subtasks' => '',
- // 'Show/hide tasks' => '',
// 'Disable login form' => '',
// 'Show/hide calendar' => '',
- // 'User calendar' => '',
// 'Bitbucket commit received' => '',
// 'Bitbucket webhooks' => '',
// 'Help on Bitbucket webhooks' => '',
@@ -688,9 +670,7 @@ return array(
// 'Keyboard shortcuts' => '',
// 'Open board switcher' => '',
// 'Application' => '',
- // 'Filter recently updated' => '',
// 'since %B %e, %Y at %k:%M %p' => '',
- // 'More filters' => '',
// 'Compact view' => '',
// 'Horizontal scrolling' => '',
// 'Compact/wide view' => '',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index c96fecb9..34839a12 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Date de création',
'Date completed' => 'Date de clôture',
'Id' => 'Identifiant',
- 'Completed tasks' => 'Tâches terminées',
- 'Completed tasks for "%s"' => 'Tâches terminées pour « %s »',
'%d closed tasks' => '%d tâches terminées',
'No task for this project' => 'Aucune tâche pour ce projet',
'Public link' => 'Lien public',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Date d\'expiration',
'Remember Me' => 'Connexion automatique',
'Creation date' => 'Date de création',
- 'Filter by user' => 'Filtrer par utilisateur',
- 'Filter by due date' => 'Avec une date d\'échéance',
'Everybody' => 'Tout le monde',
'Open' => 'Ouvert',
'Closed' => 'Fermé',
'Search' => 'Rechercher',
'Nothing found.' => 'Rien trouvé.',
- 'Search in the project "%s"' => 'Rechercher dans le projet « %s »',
'Due date' => 'Date d\'échéance',
'Others formats accepted: %s and %s' => 'Autres formats acceptés : %s et %s',
'Description' => 'Description',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Nom de la catégorie',
'Add a new category' => 'Ajouter une nouvelle catégorie',
'Do you really want to remove this category: "%s"?' => 'Voulez-vous vraiment supprimer cette catégorie « %s » ?',
- 'Filter by category' => 'Filtrer par catégorie',
'All categories' => 'Toutes les catégories',
'No category' => 'Aucune catégorie',
'The name is required' => 'Le nom est requis',
@@ -447,7 +441,6 @@ return array(
'%s updated a comment on the task %s' => '%s a mis à jour un commentaire appartenant à la tâche %s',
'%s commented the task %s' => '%s a ajouté un commentaire sur la tâche %s',
'%s\'s activity' => 'Activité du projet %s',
- 'No activity.' => 'Aucune activité.',
'RSS feed' => 'Flux RSS',
'%s updated a comment on the task #%d' => '%s a mis à jour un commentaire sur la tâche n°%d',
'%s commented on the task #%d' => '%s a ajouté un commentaire sur la tâche n°%d',
@@ -607,14 +600,9 @@ return array(
'Language:' => 'Langue :',
'Timezone:' => 'Fuseau horaire :',
'All columns' => 'Toutes les colonnes',
- 'Calendar for "%s"' => 'Agenda pour le projet « %s »',
- 'Filter by column' => 'Filtrer par colonne',
- 'Filter by status' => 'Filtrer par status',
'Calendar' => 'Agenda',
'Next' => 'Suivant',
'#%d' => 'n˚%d',
- 'Filter by color' => 'Filtrer par couleur',
- 'Filter by swimlane' => 'Filtrer par swimlanes',
'All swimlanes' => 'Toutes les swimlanes',
'All colors' => 'Toutes les couleurs',
'All status' => 'Tous les états',
@@ -629,14 +617,8 @@ return array(
'Time Tracking' => 'Feuille de temps',
'You already have one subtask in progress' => 'Vous avez déjà une sous-tâche en progrès',
'Which parts of the project do you want to duplicate?' => 'Quelles parties du projet voulez-vous dupliquer ?',
- 'Change dashboard view' => 'Changer la vue du tableau de bord',
- 'Show/hide activities' => 'Afficher/cacher les activités',
- 'Show/hide projects' => 'Afficher/cacher les projets',
- 'Show/hide subtasks' => 'Afficher/cacher les sous-tâches',
- 'Show/hide tasks' => 'Afficher/cacher les tâches',
'Disable login form' => 'Désactiver le formulaire d\'authentification',
'Show/hide calendar' => 'Afficher/cacher le calendrier',
- 'User calendar' => 'Calendrier de l\'utilisateur',
'Bitbucket commit received' => 'Commit reçu via Bitbucket',
'Bitbucket webhooks' => 'Webhook Bitbucket',
'Help on Bitbucket webhooks' => 'Aide sur les webhooks Bitbucket',
@@ -690,9 +672,7 @@ return array(
'Keyboard shortcuts' => 'Raccourcis clavier',
'Open board switcher' => 'Ouvrir le sélecteur de tableau',
'Application' => 'Application',
- 'Filter recently updated' => 'Récemment modifié',
'since %B %e, %Y at %k:%M %p' => 'depuis le %d/%m/%Y à %H:%M',
- 'More filters' => 'Plus de filtres',
'Compact view' => 'Vue compacte',
'Horizontal scrolling' => 'Défilement horizontal',
'Compact/wide view' => 'Basculer entre la vue compacte et étendue',
@@ -923,7 +903,6 @@ return array(
'The task have been moved to the first swimlane' => 'La tâche a été déplacée dans la première swimlane',
'The task have been moved to another swimlane:' => 'La tâche a été déplacée dans une autre swimlane :',
'Overdue tasks for the project "%s"' => 'Tâches en retard pour le projet « %s »',
- 'There is no completed tasks at the moment.' => 'Il n\'y a aucune tâche terminée pour le moment.',
'New title: %s' => 'Nouveau titre : %s',
'The task is not assigned anymore' => 'La tâche n\'est plus assignée maintenant',
'New assignee: %s' => 'Nouvel assigné : %s',
@@ -940,7 +919,6 @@ return array(
'The description have been modified' => 'La description a été modifiée',
'Do you really want to close the task "%s" as well as all subtasks?' => 'Voulez-vous vraiment fermer la tâche « %s » ainsi que toutes ses sous-tâches ?',
'Swimlane: %s' => 'Swimlane : %s',
- 'Project calendar' => 'Agenda du projet',
'I want to receive notifications for:' => 'Je veux reçevoir les notifications pour :',
'All tasks' => 'Toutes les Tâches',
'Only for tasks assigned to me' => 'Seulement les tâches qui me sont assignées',
@@ -960,4 +938,39 @@ return array(
'Start timer' => 'Démarrer le chrono',
'Add project member' => 'Ajouter un membre au projet',
'Enable notifications' => 'Activer les notifications',
+ 'My activity stream' => 'Mon flux d\'activité',
+ 'My calendar' => 'Mon agenda',
+ 'Search tasks' => 'Rechercher des tâches',
+ 'Back to the calendar' => 'Retour au calendrier',
+ 'Filters' => 'Filtres',
+ 'Reset filters' => 'Réinitialiser les filtres',
+ 'My tasks due tomorrow' => 'Mes tâches qui arrivent à échéance demain',
+ 'Tasks due today' => 'Tâches qui arrivent à échéance aujourd\'hui',
+ 'Tasks due tomorrow' => 'Tâches qui arrivent à échéance demain',
+ 'Tasks due yesterday' => 'Tâches qui sont arrivées à échéance hier',
+ 'Closed tasks' => 'Tâches fermées',
+ 'Open tasks' => 'Tâches ouvertes',
+ 'Not assigned' => 'Non assignées',
+ 'View advanced search syntax' => 'Voir la syntaxe pour la recherche avancée',
+ 'Overview' => 'Vue d\'ensemble',
+ '%b %e %Y' => '%b %e %Y',
+ 'Board/Calendar/List view' => 'Vue Tableau/Calendrier/Liste',
+ 'Switch to the board view' => 'Basculer vers le tableau',
+ 'Switch to the calendar view' => 'Basculer vers le calendrier',
+ 'Switch to the list view' => 'Basculer vers la vue en liste',
+ 'Go to the search/filter box' => 'Aller au champ de recherche',
+ 'There is no activity yet.' => 'Il n\'y a pas encore d\'activité.',
+ 'No tasks found.' => 'Aucune tâche trouvée.',
+ 'Keyboard shortcut: "%s"' => 'Raccourci clavier : « %s »',
+ 'List' => 'Liste',
+ 'Filter' => 'Filtre',
+ 'Advanced search' => 'Recherche avancée',
+ 'Example of query: ' => 'Exemple de requête : ',
+ 'Search by project: ' => 'Rechercher par project : ',
+ 'Search by column: ' => 'Rechercher par colonne : ',
+ 'Search by assignee: ' => 'Rechercher par assigné : ',
+ 'Search by color: ' => 'Rechercher par couleur : ',
+ 'Search by category: ' => 'Rechercher par catégorie : ',
+ 'Search by description: ' => 'Rechercher par description : ',
+ 'Search by due date: ' => 'Rechercher par date d\'échéance : ',
);
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index 9ca5c3fd..73215f89 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Létrehozás időpontja',
'Date completed' => 'Befejezés időpontja',
'Id' => 'ID',
- 'Completed tasks' => 'Elvégzett feladatok',
- 'Completed tasks for "%s"' => 'Elvégzett feladatok: %s',
'%d closed tasks' => '%d lezárt feladat',
'No task for this project' => 'Nincs feladat ebben a projektben',
'Public link' => 'Nyilvános link',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Lejárati dátum',
'Remember Me' => 'Emlékezz rám',
'Creation date' => 'Létrehozás dátuma',
- 'Filter by user' => 'Szűrés felhasználó szerint',
- 'Filter by due date' => 'Szűrés határidő szerint',
'Everybody' => 'Minden felhasználó',
'Open' => 'Nyitott',
'Closed' => 'Lezárt',
'Search' => 'Keresés',
'Nothing found.' => 'Nincs találat.',
- 'Search in the project "%s"' => 'Keresés a projektben: "%s"',
'Due date' => 'Határidő',
'Others formats accepted: %s and %s' => 'Egyéb érvényes formátumok: "%s" és "%s"',
'Description' => 'Leírás',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Kategória neve',
'Add a new category' => 'Új kategória',
'Do you really want to remove this category: "%s"?' => 'Valóban törölni akarja ezt a kategóriát: "%s"?',
- 'Filter by category' => 'Szűrés kategória szerint',
'All categories' => 'Minden kategória',
'No category' => 'Nincs kategória',
'The name is required' => 'A név megadása kötelező',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s frissítette a megjegyzését a feladatban %s',
'%s commented the task %s' => '%s megjegyzést fűzött a feladathoz %s',
'%s\'s activity' => 'Tevékenységek: %s',
- 'No activity.' => 'Nincs tevékenység.',
'RSS feed' => 'RSS feed',
'%s updated a comment on the task #%d' => '%s frissített egy megjegyzést a feladatban #%d',
'%s commented on the task #%d' => '%s megjegyzést tett a feladathoz #%d',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Nyelv:',
'Timezone:' => 'Időzóna:',
'All columns' => 'Minden oszlop',
- 'Calendar for "%s"' => 'Naptár: %s',
- 'Filter by column' => 'Szűrés oszlop szerint',
- 'Filter by status' => 'Szűrés állapot szerint',
'Calendar' => 'Naptár',
'Next' => 'Következő',
'#%d' => '#%d',
- 'Filter by color' => 'Szűrés szín szerint',
- 'Filter by swimlane' => 'Szűrés folyamat szerint',
'All swimlanes' => 'Minden folyamat',
'All colors' => 'Minden szín',
'All status' => 'Minden állapot',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Idő követés',
'You already have one subtask in progress' => 'Már van egy folyamatban levő részfeladata',
'Which parts of the project do you want to duplicate?' => 'A projekt mely részeit szeretné másolni?',
- 'Change dashboard view' => 'Vezérlőpult megjelenés változtatás',
- 'Show/hide activities' => 'Tevékenységek megjelenítése/elrejtése',
- 'Show/hide projects' => 'Projektek megjelenítése/elrejtése',
- 'Show/hide subtasks' => 'Részfeladatok megjelenítése/elrejtése',
- 'Show/hide tasks' => 'Feladatok megjelenítése/elrejtése',
'Disable login form' => 'Bejelentkező képernyő tiltása',
'Show/hide calendar' => 'Naptár megjelenítés/elrejtés',
- 'User calendar' => 'Naptár',
'Bitbucket commit received' => 'Bitbucket commit érkezett',
'Bitbucket webhooks' => 'Bitbucket webhooks',
'Help on Bitbucket webhooks' => 'Bitbucket webhooks súgó',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'Billentyű kombinációk',
'Open board switcher' => 'Tábla választó lenyitása',
'Application' => 'Alkalmazás',
- 'Filter recently updated' => 'Szűrés az utolsó módosítás ideje szerint',
'since %B %e, %Y at %k:%M %p' => '%Y. %m. %d. %H:%M óta',
- 'More filters' => 'További szűrők',
'Compact view' => 'Kompakt nézet',
'Horizontal scrolling' => 'Vízszintes görgetés',
'Compact/wide view' => 'Kompakt/széles nézet',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index e602208d..0fe5547b 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Data di creazione',
'Date completed' => 'Data di termine',
'Id' => 'Identificatore',
- 'Completed tasks' => 'Compiti fatti',
- 'Completed tasks for "%s"' => 'Compiti fatti da « %s »',
'%d closed tasks' => '%d compiti chiusi',
'No task for this project' => 'Nessun compito per questo progetto',
'Public link' => 'Link pubblico',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Data di scadenza',
'Remember Me' => 'Ricordami',
'Creation date' => 'Data di creazione',
- 'Filter by user' => 'Filtrato mediante utente',
- 'Filter by due date' => 'Filtrare attraverso data di scadenza',
'Everybody' => 'Tutti',
'Open' => 'Aperto',
'Closed' => 'Chiuso',
'Search' => 'Cercare',
'Nothing found.' => 'Non si è trovato nulla.',
- 'Search in the project "%s"' => 'Cercare nel progetto "%s"',
'Due date' => 'Data di scadenza',
'Others formats accepted: %s and %s' => 'Altri formati accettati: %s y %s',
'Description' => 'Descrizione',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Nome di categoria',
'Add a new category' => 'Aggiungere una nuova categoria',
'Do you really want to remove this category: "%s"?' => 'Vuoi veramente cancellare questa categoria: "%s"?',
- 'Filter by category' => 'Filtrare attraverso categoria',
'All categories' => 'Tutte le categorie',
'No category' => 'Senza categoria',
'The name is required' => 'Si richiede un nome',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s ha aggiornato un commento del compito %s',
'%s commented the task %s' => '%s ha commentato il compito %s',
'%s\'s activity' => 'Attività di %s',
- 'No activity.' => 'Nessuna attività.',
'RSS feed' => 'Feed RSS',
'%s updated a comment on the task #%d' => '%s ha aggiornato un commento del compito #%d',
'%s commented on the task #%d' => '%s ha commentato il compito #%d',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Lingua',
'Timezone:' => 'Fuso Orario',
'All columns' => 'Tutte le colonne',
- 'Calendar for "%s"' => 'Calendario per "%s"',
- 'Filter by column' => 'Filtra per colonna',
- 'Filter by status' => 'Filtra per status',
'Calendar' => 'Calendario',
'Next' => 'Prossimo',
// '#%d' => '',
- 'Filter by color' => 'Filtra per colore',
- 'Filter by swimlane' => 'Filtra per corsia',
'All swimlanes' => 'Tutte le corsie',
'All colors' => 'Tutti i colori',
'All status' => 'Tutti gli stati',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Gestione del tempo',
'You already have one subtask in progress' => 'Hai già un sotto-compito in progresso',
'Which parts of the project do you want to duplicate?' => 'Quali parti del progetto vuoi duplicare?',
- 'Change dashboard view' => 'Cambia la vista della bacheca',
- 'Show/hide activities' => 'Mostra/nascondi attività',
- 'Show/hide projects' => 'Mostra/nascondi progetti',
- 'Show/hide subtasks' => 'Mostra/nascondi sotto-compiti',
- 'Show/hide tasks' => 'Mostra/nascondi compiti',
'Disable login form' => 'Disabilita form di login',
'Show/hide calendar' => 'Mostra/nascondi calendario',
- 'User calendar' => 'Calendario utente',
'Bitbucket commit received' => 'Commit ricevuto da Bitbucket',
'Bitbucket webhooks' => 'Webhooks di Bitbucket',
'Help on Bitbucket webhooks' => 'Guida ai Webhooks di Bitbucket',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'Scorciatoie da tastiera',
'Open board switcher' => 'Apri il selezionatore di bacheche',
'Application' => 'Applicazione',
- 'Filter recently updated' => 'Filtri recentemente aggiornati',
'since %B %e, %Y at %k:%M %p' => 'dal %B %e, %Y alle %k:%M %p',
- 'More filters' => 'Più filtri',
'Compact view' => 'Vista compatta',
'Horizontal scrolling' => 'Scrolling orizzontale',
'Compact/wide view' => 'Vista compatta/estesa',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index 9397b9b9..6c9a205e 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => '作成日',
'Date completed' => '完了日',
'Id' => 'ID',
- 'Completed tasks' => '完了したタスク',
- 'Completed tasks for "%s"' => '「%s」の完了したタスク',
'%d closed tasks' => '%d 個のクローズしたタスク',
'No task for this project' => 'このプロジェクトにタスクがありません',
'Public link' => '公開アクセス用リンク',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => '有効期限',
'Remember Me' => '次回から自動的にログインする',
'Creation date' => '作成日',
- 'Filter by user' => 'ユーザでフィルタリング',
- 'Filter by due date' => '期限でフィルタリング',
'Everybody' => '全員',
'Open' => 'オープン',
'Closed' => 'クローズ',
'Search' => '検索',
'Nothing found.' => '結果なし。',
- 'Search in the project "%s"' => 'プロジェクト「%s」で検索',
'Due date' => '期限',
'Others formats accepted: %s and %s' => '他の書式: %s または %s',
'Description' => '説明',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'カテゴリ名',
'Add a new category' => 'カテゴリの追加',
'Do you really want to remove this category: "%s"?' => 'カテゴリ「%s」を削除しますか?',
- 'Filter by category' => 'カテゴリでフィルタリング',
'All categories' => 'すべてのカテゴリ',
'No category' => 'カテゴリなし',
'The name is required' => '名前を入力してください',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s がタスク %s のコメントを更新しました',
'%s commented the task %s' => '%s がタスク %s にコメントしました',
'%s\'s activity' => '%s のアクティビティ',
- 'No activity.' => 'アクティビティなし。',
'RSS feed' => 'RSS フィード',
'%s updated a comment on the task #%d' => '%s がタスク #%d のコメントを更新しました',
'%s commented on the task #%d' => '%s がタスク #%d にコメントしました',
@@ -605,14 +598,9 @@ return array(
'Language:' => '言語:',
'Timezone:' => 'タイムゾーン:',
'All columns' => '全てのカラム',
- 'Calendar for "%s"' => '「%s」のカレンダー',
- 'Filter by column' => 'カラムでフィルタ',
- 'Filter by status' => 'ステータスでフィルタ',
'Calendar' => 'カレンダー',
'Next' => '次へ',
'#%d' => '#%d',
- 'Filter by color' => '色でフィルタ',
- 'Filter by swimlane' => 'スイムレーンでフィルタ',
'All swimlanes' => '全てのスイムレーン',
'All colors' => '全ての色',
'All status' => '全てのステータス',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'タイムトラッキング',
'You already have one subtask in progress' => 'すでに進行中のサブタスクがあります。',
'Which parts of the project do you want to duplicate?' => 'プロジェクトの何を複製しますか?',
- 'Change dashboard view' => 'ダッシュボードビューを変更',
- 'Show/hide activities' => 'アクティビティの表示・非表示',
- 'Show/hide projects' => 'プロジェクトの表示・非表示',
- 'Show/hide subtasks' => 'サブタスクの表示・非表示',
- 'Show/hide tasks' => 'タスクの表示・非表示',
'Disable login form' => 'ログインフォームの無効化',
'Show/hide calendar' => 'カレンダーの表示・非表示',
- 'User calendar' => 'ユーザカレンダー',
'Bitbucket commit received' => 'Bitbucket コミットを受信しました',
'Bitbucket webhooks' => 'Bitbucket Webhooks',
'Help on Bitbucket webhooks' => 'Bitbucket Webhooks のヘルプ',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'キーボードショートカット',
'Open board switcher' => 'ボード切り替えを開く',
'Application' => 'アプリケーション',
- 'Filter recently updated' => 'フィルタがアップデートされました',
'since %B %e, %Y at %k:%M %p' => '%Y/%m/%d %k:%M から',
- 'More filters' => '他のフィルタ',
'Compact view' => 'コンパクトビュー',
'Horizontal scrolling' => '縦スクロール',
'Compact/wide view' => 'コンパクト/ワイドビュー',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index 9e4302f4..7a31b975 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Datum aangemaakt',
'Date completed' => 'Datum voltooid',
'Id' => 'Id',
- 'Completed tasks' => 'Voltooide taken',
- 'Completed tasks for "%s"' => 'Vooltooide taken voor « %s »',
'%d closed tasks' => '%d gesloten taken',
'No task for this project' => 'Geen taken voor dit project',
'Public link' => 'Publieke link',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Verloopdatum',
'Remember Me' => 'Onthoud mij',
'Creation date' => 'Aanmaakdatum',
- 'Filter by user' => 'Filter op gebruiker',
- 'Filter by due date' => 'Filter op vervaldatum',
'Everybody' => 'Iedereen',
'Open' => 'Open',
'Closed' => 'Gesloten',
'Search' => 'Zoek',
'Nothing found.' => 'Niets gevonden.',
- 'Search in the project "%s"' => 'Zoek in project « %s »',
'Due date' => 'Vervaldatum',
'Others formats accepted: %s and %s' => 'Andere toegestane formaten : %s en %s',
'Description' => 'Omschrijving',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Categorie naam',
'Add a new category' => 'Categorie toevoegen',
'Do you really want to remove this category: "%s"?' => 'Weet u zeker dat u deze categorie wil verwijderen: « %s » ?',
- 'Filter by category' => 'Filter op categorie',
'All categories' => 'Alle categorieën',
'No category' => 'Geen categorie',
'The name is required' => 'De naam is verplicht',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s heeft een commentaar aangepast voor taak %s',
'%s commented the task %s' => '%s heeft een commentaar geplaatst voor taak %s',
'%s\'s activity' => 'Activiteiten van %s',
- 'No activity.' => 'Geen activiteiten.',
'RSS feed' => 'RSS feed',
'%s updated a comment on the task #%d' => '%s heeft een commentaar aangepast voor taak %d',
'%s commented on the task #%d' => '%s heeft commentaar geplaatst voor taak %d',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Taal :',
'Timezone:' => 'Tijdzone :',
'All columns' => 'Alle kolommen',
- 'Calendar for "%s"' => 'Agenda voor « %s »',
- 'Filter by column' => 'Filter op kolom',
- 'Filter by status' => 'Filter op status',
'Calendar' => 'Agenda',
'Next' => 'Volgende',
'#%d' => '%d',
- 'Filter by color' => 'Filter op kleur',
- 'Filter by swimlane' => 'Filter op swimlane',
'All swimlanes' => 'Alle swimlanes',
'All colors' => 'Alle kleuren',
'All status' => 'Alle statussen',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Tijdschrijven',
'You already have one subtask in progress' => 'U heeft al een subtaak in behandeling',
'Which parts of the project do you want to duplicate?' => 'Welke onderdelen van het project wilt u dupliceren?',
- 'Change dashboard view' => 'Pas dashboard aan',
- 'Show/hide activities' => 'Toon/verberg activiteiten',
- 'Show/hide projects' => 'Toon/verberg projecten',
- 'Show/hide subtasks' => 'Toon/verberg subtaken',
- 'Show/hide tasks' => 'Toon/verberg taken',
'Disable login form' => 'Schakel login scherm uit',
'Show/hide calendar' => 'Toon/verberg agenda',
- 'User calendar' => 'Agenda gebruiker',
'Bitbucket commit received' => 'Bitbucket commit ontvangen',
'Bitbucket webhooks' => 'Bitbucket webhooks',
'Help on Bitbucket webhooks' => 'Help bij Bitbucket webhooks',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'Keyboard snelkoppelingen',
'Open board switcher' => 'Open bord switcher',
'Application' => 'Applicatie',
- 'Filter recently updated' => 'Filter recent aangepast',
'since %B %e, %Y at %k:%M %p' => 'sinds %d/%m/%Y à %H:%M',
- 'More filters' => 'Meer filters',
// 'Compact view' => '',
// 'Horizontal scrolling' => '',
// 'Compact/wide view' => '',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index 85ba2535..637eefb4 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Data utworzenia',
'Date completed' => 'Data zakończenia',
'Id' => 'Id',
- 'Completed tasks' => 'Ukończone zadania',
- 'Completed tasks for "%s"' => 'Zadania zakończone dla "%s"',
'%d closed tasks' => '%d zamkniętych zadań',
'No task for this project' => 'Brak zadań dla tego projektu',
'Public link' => 'Link publiczny',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Data zakończenia',
'Remember Me' => 'Pamiętaj mnie',
'Creation date' => 'Data utworzenia',
- 'Filter by user' => 'Filtruj według użytkowników',
- 'Filter by due date' => 'Filtruj według terminów',
'Everybody' => 'Wszyscy',
'Open' => 'Otwarto',
'Closed' => 'Zamknięto',
'Search' => 'Szukaj',
'Nothing found.' => 'Nic nie znaleziono',
- 'Search in the project "%s"' => 'Szukaj w projekcie "%s"',
'Due date' => 'Termin',
'Others formats accepted: %s and %s' => 'Inne akceptowane formaty: %s and %s',
'Description' => 'Opis',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Nazwa kategorii',
'Add a new category' => 'Utwórz nową kategorię',
'Do you really want to remove this category: "%s"?' => 'Czy na pewno chcesz usunąć kategorię: "%s"?',
- 'Filter by category' => 'Filtruj według kategorii',
'All categories' => 'Wszystkie kategorie',
'No category' => 'Brak kategorii',
'The name is required' => 'Nazwa jest wymagana',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s zaktualizował komentarz do zadania %s',
'%s commented the task %s' => '%s skomentował zadanie %s',
'%s\'s activity' => 'Aktywność %s',
- 'No activity.' => 'Brak aktywności.',
'RSS feed' => 'Kanał RSS',
'%s updated a comment on the task #%d' => '%s zaktualizował komentarz do zadania #%d',
'%s commented on the task #%d' => '%s skomentował zadanie #%d',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Język:',
'Timezone:' => 'Strefa czasowa:',
'All columns' => 'Wszystkie kolumny',
- 'Calendar for "%s"' => 'Kalendarz dla "%s"',
- 'Filter by column' => 'Filtruj według kolumn',
- 'Filter by status' => 'Filtruj według statusu',
'Calendar' => 'Kalendarz',
'Next' => 'Następny',
'#%d' => 'nr %d',
- 'Filter by color' => 'Filtruj według koloru',
- 'Filter by swimlane' => 'Filtruj według procesu',
'All swimlanes' => 'Wszystkie procesy',
'All colors' => 'Wszystkie kolory',
'All status' => 'Wszystkie statusy',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Śledzenie czasu',
'You already have one subtask in progress' => 'Masz już zadanie o statusie "w trakcie"',
'Which parts of the project do you want to duplicate?' => 'Które elementy projektu chcesz zduplikować?',
- 'Change dashboard view' => 'Zmień elementy panelu',
- 'Show/hide activities' => 'Pokaż/Ukryj aktywność',
- 'Show/hide projects' => 'Pokaż/Ukryj projekty',
- 'Show/hide subtasks' => 'Pokaż/Ukryj pod-zadania',
- 'Show/hide tasks' => 'Pokaż/Ukryj zadania',
'Disable login form' => 'Wyłącz formularz logowania',
'Show/hide calendar' => 'Pokaż/Ukryj kalendarz',
- 'User calendar' => 'Kalendarz użytkownika',
// 'Bitbucket commit received' => '',
// 'Bitbucket webhooks' => '',
// 'Help on Bitbucket webhooks' => '',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'Skróty klawiszowe',
'Open board switcher' => 'Przełącz tablice',
'Application' => 'Aplikacja',
- 'Filter recently updated' => 'Filtruj ostatnio zmieniane',
'since %B %e, %Y at %k:%M %p' => 'od %e %B %Y o %k:%M',
- 'More filters' => 'Więcej filtrów',
'Compact view' => 'Widok kompaktowy',
'Horizontal scrolling' => 'Przewijanie poziome',
'Compact/wide view' => 'Pełny/Kompaktowy widok',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 771958f1..1031f1e2 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Data de criação',
'Date completed' => 'Data da finalização',
'Id' => 'Id',
- 'Completed tasks' => 'Tarefas completadas',
- 'Completed tasks for "%s"' => 'Tarefas completadas por "%s"',
'%d closed tasks' => '%d tarefas finalizadas',
'No task for this project' => 'Não há tarefa para este projeto',
'Public link' => 'Link público',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Data de expiração',
'Remember Me' => 'Lembre-se de mim',
'Creation date' => 'Data de criação',
- 'Filter by user' => 'Filtrar por usuário',
- 'Filter by due date' => 'Filtrar por data de vencimento',
'Everybody' => 'Todos',
'Open' => 'Abrir',
'Closed' => 'Finalizado',
'Search' => 'Pesquisar',
'Nothing found.' => 'Nada foi encontrado.',
- 'Search in the project "%s"' => 'Pesquisar no projeto "%s"',
'Due date' => 'Data de vencimento',
'Others formats accepted: %s and %s' => 'Outros formatos permitidos: %s e %s',
'Description' => 'Descrição',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Nome da Categoria',
'Add a new category' => 'Adicionar uma nova categoria',
'Do you really want to remove this category: "%s"?' => 'Você realmente deseja remover esta categoria: "%s"',
- 'Filter by category' => 'Filtrar por categoria',
'All categories' => 'Todas as categorias',
'No category' => 'Nenhum categoria',
'The name is required' => 'O nome é obrigatório',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s atualizou o comentário na tarefa %s',
'%s commented the task %s' => '%s comentou a tarefa %s',
'%s\'s activity' => 'Atividades de%s',
- 'No activity.' => 'Sem atividade.',
'RSS feed' => 'Feed RSS',
'%s updated a comment on the task #%d' => '%s atualizou um comentário sobre a tarefa #%d',
'%s commented on the task #%d' => '%s comentou sobre a tarefa #%d',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Idioma',
'Timezone:' => 'Fuso horário',
'All columns' => 'Todas as colunas',
- 'Calendar for "%s"' => 'Calendário para "%s"',
- 'Filter by column' => 'Filtrar por coluna',
- 'Filter by status' => 'Filtrar por status',
'Calendar' => 'Calendário',
'Next' => 'Próximo',
// '#%d' => '',
- 'Filter by color' => 'Filtrar por cor',
- 'Filter by swimlane' => 'Filtrar por swimlane',
'All swimlanes' => 'Todos os swimlane',
'All colors' => 'Todas as cores',
'All status' => 'Todos os status',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Gestão de tempo',
'You already have one subtask in progress' => 'Você já tem um subtarefa em andamento',
'Which parts of the project do you want to duplicate?' => 'Quais as partes do projeto você deseja duplicar?',
- 'Change dashboard view' => 'Alterar a vista do Painel de Controle',
- 'Show/hide activities' => 'Mostrar / ocultar as atividades',
- 'Show/hide projects' => 'Mostrar / ocultar os projetos',
- 'Show/hide subtasks' => 'Mostrar / ocultar as subtarefas',
- 'Show/hide tasks' => 'Mostrar / ocultar as tarefas',
'Disable login form' => 'Desativar o formulário de login',
'Show/hide calendar' => 'Mostrar / ocultar calendário',
- 'User calendar' => 'Calendário do usuário',
'Bitbucket commit received' => '"Commit" recebido via Bitbucket',
'Bitbucket webhooks' => 'Webhook Bitbucket',
'Help on Bitbucket webhooks' => 'Ajuda sobre os webhooks Bitbucket',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'Atalhos de teclado',
'Open board switcher' => 'Abrir o comutador de painel',
'Application' => 'Aplicação',
- 'Filter recently updated' => 'Filtro recentemente atualizado',
'since %B %e, %Y at %k:%M %p' => 'desde o %d/%m/%Y às %H:%M',
- 'More filters' => 'Mais filtros',
'Compact view' => 'Vista reduzida',
'Horizontal scrolling' => 'Rolagem horizontal',
'Compact/wide view' => 'Alternar entre a vista compacta e ampliada',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index 69ebbf61..9b8b3e4f 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Дата создания',
'Date completed' => 'Дата завершения',
'Id' => 'ID',
- 'Completed tasks' => 'Завершенные задачи',
- 'Completed tasks for "%s"' => 'Завершенные задачи для « %s »',
'%d closed tasks' => '%d завершенных задач',
'No task for this project' => 'Нет задач для этого проекта',
'Public link' => 'Ссылка для просмотра',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Дата окончания',
'Remember Me' => 'Запомнить меня',
'Creation date' => 'Дата создания',
- 'Filter by user' => 'Фильтр по пользователям',
- 'Filter by due date' => 'Фильтр по дате',
'Everybody' => 'Все',
'Open' => 'Открытый',
'Closed' => 'Закрытый',
'Search' => 'Поиск',
'Nothing found.' => 'Ничего не найдено.',
- 'Search in the project "%s"' => 'Искать в проекте « %s »',
'Due date' => 'Срок',
'Others formats accepted: %s and %s' => 'Другой формат приемлем: %s и %s',
'Description' => 'Описание',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Название категории',
'Add a new category' => 'Добавить новую категорию',
'Do you really want to remove this category: "%s"?' => 'Вы точно хотите удалить категорию « %s » ?',
- 'Filter by category' => 'Фильтр по категориям',
'All categories' => 'Все категории',
'No category' => 'Нет категории',
'The name is required' => 'Требуется название',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s обновил комментарий к задаче %s',
'%s commented the task %s' => '%s прокомментировал задачу %s',
'%s\'s activity' => '%s активность',
- 'No activity.' => 'Нет активности',
'RSS feed' => 'RSS лента',
'%s updated a comment on the task #%d' => '%s обновил комментарий задачи #%d',
'%s commented on the task #%d' => '%s прокомментировал задачу #%d',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Язык:',
'Timezone:' => 'Временная зона:',
'All columns' => 'Все колонки',
- 'Calendar for "%s"' => 'Календарь для "%s"',
- 'Filter by column' => 'Фильтр по колонке',
- 'Filter by status' => 'Фильтр по статусу',
'Calendar' => 'Календарь',
'Next' => 'Следующий',
// '#%d' => '',
- 'Filter by color' => 'Фильтрация по цвету',
- 'Filter by swimlane' => 'Фильтрация по дорожкам',
'All swimlanes' => 'Все дорожки',
'All colors' => 'Все цвета',
'All status' => 'Все статусы',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Учет времени',
'You already have one subtask in progress' => 'У вас уже есть одна задача в разработке',
'Which parts of the project do you want to duplicate?' => 'Какие части проекта должны быть дублированы?',
- 'Change dashboard view' => 'Изменить отображение панели мониторинга',
- 'Show/hide activities' => 'Показать/скрыть активность',
- 'Show/hide projects' => 'Показать/скрыть проекты',
- 'Show/hide subtasks' => 'Показать/скрыть подзадачи',
- 'Show/hide tasks' => 'Показать/скрыть задачи',
'Disable login form' => 'Выключить форму авторизации',
'Show/hide calendar' => 'Показать/скрыть календарь',
- 'User calendar' => 'Пользовательский календарь',
// 'Bitbucket commit received' => '',
'Bitbucket webhooks' => 'BitBucket webhooks',
'Help on Bitbucket webhooks' => 'Помощь по BitBucket webhooks',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'Горячие клавиши',
'Open board switcher' => 'Открыть переключатель доски',
'Application' => 'Приложение',
- 'Filter recently updated' => 'Сортировать по дате обновления',
// 'since %B %e, %Y at %k:%M %p' => '',
- 'More filters' => 'Дополнительные фильтры',
'Compact view' => 'Компактный вид',
'Horizontal scrolling' => 'Широкий вид',
'Compact/wide view' => 'Компактный/широкий вид',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 8cc6f05d..758689c4 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Kreiran dana',
'Date completed' => 'Završen dana',
'Id' => 'Id',
- 'Completed tasks' => 'Zatvoreni zadaci',
- 'Completed tasks for "%s"' => 'zatvoreni zadaci za "%s"',
'%d closed tasks' => '%d zatvorenih zadataka',
'No task for this project' => 'Nema dodeljenih zadataka ovom projektu',
'Public link' => 'Javni link',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Ističe',
'Remember Me' => 'Zapamti me',
'Creation date' => 'Datum kreiranja',
- 'Filter by user' => 'Po korisniku',
- 'Filter by due date' => 'Po terminu',
'Everybody' => 'Svi',
'Open' => 'Otvoreni',
'Closed' => 'Zatvoreni',
'Search' => 'Traži',
'Nothing found.' => 'Ništa nije pronađeno',
- 'Search in the project "%s"' => 'Traži u prijektu "%s"',
'Due date' => 'Termin',
'Others formats accepted: %s and %s' => 'Ostali formati: %s i %s',
'Description' => 'Opis',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Naziv kategorije',
'Add a new category' => 'Dodaj novu kategoriju',
'Do you really want to remove this category: "%s"?' => 'Da li zaista želiš da ukloniš kategoriju: "%s"?',
- 'Filter by category' => 'Po kategoriji',
'All categories' => 'Sve kategorije',
'No category' => 'Bez kategorije',
'The name is required' => 'Naziv je obavezan',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s izmenjen komentar zadatka %s',
'%s commented the task %s' => '%s komentarisao zadatak %s',
'%s\'s activity' => 'Aktivnosti %s',
- 'No activity.' => 'Bez aktivnosti.',
'RSS feed' => 'RSS kanal',
'%s updated a comment on the task #%d' => '%s izmenjen komentar zadatka #%d',
'%s commented on the task #%d' => '%s komentarisao zadatak #%d',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Jezik:',
'Timezone:' => 'Vremenska zona:',
'All columns' => 'Sve kolone',
- 'Calendar for "%s"' => 'Kalendar za "%s"',
- 'Filter by column' => 'Po koloni',
- 'Filter by status' => 'Po statusu',
'Calendar' => 'Kalendar',
'Next' => 'Sledeći',
// '#%d' => '',
- 'Filter by color' => 'Po boji',
- 'Filter by swimlane' => 'Po razdelniku',
'All swimlanes' => 'Svi razdelniki',
'All colors' => 'Sve boje',
'All status' => 'Svi statusi',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Praćenje vremena',
// 'You already have one subtask in progress' => '',
'Which parts of the project do you want to duplicate?' => 'Koje delove projekta želite da kopirate',
- // 'Change dashboard view' => '',
- // 'Show/hide activities' => '',
- // 'Show/hide projects' => '',
- // 'Show/hide subtasks' => '',
- // 'Show/hide tasks' => '',
// 'Disable login form' => '',
// 'Show/hide calendar' => '',
- // 'User calendar' => '',
// 'Bitbucket commit received' => '',
// 'Bitbucket webhooks' => '',
// 'Help on Bitbucket webhooks' => '',
@@ -688,9 +670,7 @@ return array(
// 'Keyboard shortcuts' => '',
// 'Open board switcher' => '',
// 'Application' => '',
- // 'Filter recently updated' => '',
// 'since %B %e, %Y at %k:%M %p' => '',
- // 'More filters' => '',
// 'Compact view' => '',
// 'Horizontal scrolling' => '',
// 'Compact/wide view' => '',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index f54a5178..33c14c02 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Skapat datum',
'Date completed' => 'Slutfört datum',
'Id' => 'ID',
- 'Completed tasks' => 'Slutförda uppgifter',
- 'Completed tasks for "%s"' => 'Slutföra uppgifter för "%s"',
'%d closed tasks' => '%d stängda uppgifter',
'No task for this project' => 'Inga uppgifter i detta projekt',
'Public link' => 'Publik länk',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Förfallodatum',
'Remember Me' => 'Kom ihåg mig',
'Creation date' => 'Skapatdatum',
- 'Filter by user' => 'Filtrera på användare',
- 'Filter by due date' => 'Filtrera på slutdatum',
'Everybody' => 'Alla',
'Open' => 'Öppen',
'Closed' => 'Stängd',
'Search' => 'Sök',
'Nothing found.' => 'Inget kunde hittas.',
- 'Search in the project "%s"' => 'Sök i projektet "%s"',
'Due date' => 'Måldatum',
'Others formats accepted: %s and %s' => 'Andra format som accepteras: %s and %s',
'Description' => 'Beskrivning',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Kategorinamn',
'Add a new category' => 'Lägg till en kategori',
'Do you really want to remove this category: "%s"?' => 'Vill du verkligen ta bort denna kategori: "%s"?',
- 'Filter by category' => 'Filtrera på kategori',
'All categories' => 'Alla kategorier',
'No category' => 'Ingen kategori',
'The name is required' => 'Namnet måste anges',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s uppdaterade en kommentar till uppgiften %s',
'%s commented the task %s' => '%s kommenterade uppgiften %s',
'%s\'s activity' => '%s\'s aktivitet',
- 'No activity.' => 'Ingen aktivitet.',
'RSS feed' => 'RSS flöde',
'%s updated a comment on the task #%d' => '%s uppdaterade en kommentar på uppgiften #%d',
'%s commented on the task #%d' => '%s kommenterade uppgiften #%d',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Språk',
'Timezone:' => 'Tidszon',
'All columns' => 'Alla kolumner',
- 'Calendar for "%s"' => 'Kalender för "%s"',
- 'Filter by column' => 'Filtrera på kolumn',
- 'Filter by status' => 'Filtrera på status',
'Calendar' => 'Kalender',
'Next' => 'Nästa',
'#%d' => '#%d',
- 'Filter by color' => 'Filtrera på färg',
- 'Filter by swimlane' => 'Filtrera på swimlane',
'All swimlanes' => 'Alla swimlanes',
'All colors' => 'Alla färger',
'All status' => 'Alla status',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Tidsbevakning',
'You already have one subtask in progress' => 'Du har redan en deluppgift igång',
'Which parts of the project do you want to duplicate?' => 'Vilka delar av projektet vill du duplicera?',
- 'Change dashboard view' => 'Ändra dashboard vy',
- 'Show/hide activities' => 'Visa/dölj aktiviteter',
- 'Show/hide projects' => 'Visa/dölj projekt',
- 'Show/hide subtasks' => 'Visa/dölj deluppgifter',
- 'Show/hide tasks' => 'Visa/dölj uppgifter',
'Disable login form' => 'Inaktivera loginformuläret',
'Show/hide calendar' => 'Visa/dölj kalender',
- 'User calendar' => 'Användarkalender',
'Bitbucket commit received' => 'Bitbucket bidrag mottaget',
'Bitbucket webhooks' => 'Bitbucket webhooks',
'Help on Bitbucket webhooks' => 'Hjälp för Bitbucket webhooks',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'Tangentbordsgenvägar',
'Open board switcher' => 'Växling av öppen tavla',
'Application' => 'Applikation',
- 'Filter recently updated' => 'Filter som uppdaterats nyligen',
'since %B %e, %Y at %k:%M %p' => 'sedan %B %e, %Y at %k:%M %p',
- 'More filters' => 'Fler filter',
'Compact view' => 'Kompakt vy',
'Horizontal scrolling' => 'Horisontell scroll',
'Compact/wide view' => 'Kompakt/bred vy',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index 6c21c41b..c1eb3183 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'สร้างวันที่',
'Date completed' => 'เรียบร้อยวันที่',
'Id' => 'ไอดี',
- 'Completed tasks' => 'งานที่เสร็จแล้ว',
- 'Completed tasks for "%s"' => 'งานที่เสร็จแล้วสำหรับ « %s »',
'%d closed tasks' => '%d งานที่ปิด',
'No task for this project' => 'ไม่มีงานสำหรับโปรเจคนี้',
'Public link' => 'ลิงค์สาธารณะ',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'หมดอายุวันที่',
'Remember Me' => 'จดจำฉัน',
'Creation date' => 'สร้างวันที่',
- 'Filter by user' => 'กรองตามผู้ใช้',
- 'Filter by due date' => 'กรองตามวันครบกำหนด',
'Everybody' => 'ทุกคน',
'Open' => 'เปิด',
'Closed' => 'ปิด',
'Search' => 'ค้นหา',
'Nothing found.' => 'ค้นหาไม่พบ.',
- 'Search in the project "%s"' => 'ค้นหาในโปรเจค "%s"',
'Due date' => 'วันที่ครบกำหนด',
'Others formats accepted: %s and %s' => 'รูปแบบอื่นที่ได้รับการยอมรับ: %s และ %s',
'Description' => 'คำอธิบาย',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'ชื่อกลุ่ม',
'Add a new category' => 'เพิ่มกลุ่มใหม่',
'Do you really want to remove this category: "%s"?' => 'คุณต้องการลบกลุ่ม "%s" ใช่หรือไม่?',
- 'Filter by category' => 'กรองตามกลุ่ม',
'All categories' => 'กลุ่มทั้งหมด',
'No category' => 'ไม่มีกลุ่ม',
'The name is required' => 'ต้องการชื่อ',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s ปรับปรุงความคิดเห็นในงานแล้ว %s',
'%s commented the task %s' => '%s แสดงความคิดเห็นของงานแล้ว %s',
'%s\'s activity' => 'กิจกรรม %s',
- 'No activity.' => 'ไม่มีกิจกรรม',
'RSS feed' => 'RSS feed',
'%s updated a comment on the task #%d' => '%s ปรับปรุงความคิดเห็นบนงานแล้ว #%d',
'%s commented on the task #%d' => '%s แสดงความคิดเห็นบนงานแล้ว #%d',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'ภาษา:',
'Timezone:' => 'เขตเวลา:',
'All columns' => 'คอลัมน์ทั้งหมด',
- 'Calendar for "%s"' => 'ปฏิทินสำหรับ "%s"',
- 'Filter by column' => 'กรองโดยคอลัมน์',
- 'Filter by status' => 'กรองโดยสถานะ',
'Calendar' => 'ปฏิทิน',
'Next' => 'ต่อไป',
// '#%d' => '',
- 'Filter by color' => 'กรองโดยสี',
- 'Filter by swimlane' => 'กรองโดยสวิมเลน',
'All swimlanes' => 'สวิมเลนทั้งหมด',
'All colors' => 'สีทั้งหมด',
'All status' => 'สถานะทั้งหมด',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'ติดตามเวลา',
'You already have one subtask in progress' => 'คุณมีหนึ่งงานย่อยที่กำลังทำงาน',
// 'Which parts of the project do you want to duplicate?' => '',
- 'Change dashboard view' => 'เปลี่ยนมุมมองแดชบอร์ด',
- 'Show/hide activities' => 'แสดง/ซ่อน กิจกรรม',
- 'Show/hide projects' => 'แสดง/ซ่อน โปรเจค',
- 'Show/hide subtasks' => 'แสดง/ซ่อน งานย่อย',
- 'Show/hide tasks' => 'แสดง/ซ่อน งาน',
// 'Disable login form' => '',
'Show/hide calendar' => 'แสดง/ซ่อน ปฎิทิน',
- 'User calendar' => 'ปฏิทินผู้ใช้',
// 'Bitbucket commit received' => '',
// 'Bitbucket webhooks' => '',
// 'Help on Bitbucket webhooks' => '',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'คีย์ลัด',
'Open board switcher' => 'เปิดการสลับบอร์ด',
'Application' => 'แอพพลิเคชัน',
- 'Filter recently updated' => 'ตัวกรองที่ปรับปรุงเร็วๆ นี้',
'since %B %e, %Y at %k:%M %p' => 'เริ่ม %B %e, %Y เวลา %k:%M %p',
- 'More filters' => 'ตัวกรองเพิ่มเติม',
'Compact view' => 'มุมมองพอดี',
'Horizontal scrolling' => 'เลื่อนตามแนวนอน',
'Compact/wide view' => 'พอดี/กว้าง มุมมอง',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index a8440407..9335c201 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => 'Oluşturulma tarihi',
'Date completed' => 'Tamamlanma tarihi',
'Id' => 'Kod',
- 'Completed tasks' => 'Tamamlanan görevler',
- 'Completed tasks for "%s"' => '"%s" için tamamlanan görevler',
'%d closed tasks' => '%d kapatılmış görevler',
// 'No task for this project' => '',
'Public link' => 'Dışa açık link',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => 'Geçerlilik sonu',
'Remember Me' => 'Beni hatırla',
'Creation date' => 'Oluşturulma tarihi',
- 'Filter by user' => 'Kullanıcıya göre filtrele',
- 'Filter by due date' => 'Termine göre filtrele',
'Everybody' => 'Herkes',
'Open' => 'Açık',
'Closed' => 'Kapalı',
'Search' => 'Ara',
'Nothing found.' => 'Hiçbir şey bulunamadı',
- 'Search in the project "%s"' => '"%s" Projesinde ara',
'Due date' => 'Termin',
'Others formats accepted: %s and %s' => 'Diğer kabul edilen formatlar: %s ve %s',
'Description' => 'Açıklama',
@@ -301,7 +296,6 @@ return array(
'Category Name' => 'Kategori adı',
'Add a new category' => 'Yeni kategori ekle',
'Do you really want to remove this category: "%s"?' => 'Bu kategoriyi silmek istediğinize emin misiniz: "%s"?',
- 'Filter by category' => 'Kategoriye göre filtrele',
'All categories' => 'Tüm kategoriler',
'No category' => 'Kategori Yok',
'The name is required' => 'İsim gerekli',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s kullanıcısı %s görevinde bir yorumu güncelledi',
'%s commented the task %s' => '%s kullanıcısı %s görevine yorum ekledi',
'%s\'s activity' => '%s\'in aktivitesi',
- 'No activity.' => 'Aktivite yok.',
'RSS feed' => 'RSS kaynağı',
'%s updated a comment on the task #%d' => '%s kullanıcısı #%d nolu görevde bir yorumu güncelledi',
'%s commented on the task #%d' => '%s kullanıcısı #%d nolu göreve yorum ekledi',
@@ -605,14 +598,9 @@ return array(
'Language:' => 'Dil:',
'Timezone:' => 'Saat dilimi:',
'All columns' => 'Tüm sütunlar',
- 'Calendar for "%s"' => '"%s" için takvim',
- 'Filter by column' => 'Sütuna göre filtrele',
- 'Filter by status' => 'Duruma göre filtrele',
'Calendar' => 'Takvim',
'Next' => 'Sonraki',
'#%d' => '#%d',
- 'Filter by color' => 'Renklere göre filtrele',
- 'Filter by swimlane' => 'Kulvara göre filtrele',
'All swimlanes' => 'Tüm Kulvarlar',
'All colors' => 'Tüm Renkler',
'All status' => 'Tüm Durumlar',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => 'Zaman takibi',
'You already have one subtask in progress' => 'Zaten işlemde olan bir alt görev var',
'Which parts of the project do you want to duplicate?' => 'Projenin hangi kısımlarının kopyasını oluşturmak istiyorsunuz?',
- 'Change dashboard view' => 'Anasayfa görünümünü değiştir',
- 'Show/hide activities' => 'Aktiviteleri göster/gizle',
- 'Show/hide projects' => 'Projeleri göster/gizle',
- 'Show/hide subtasks' => 'Alt görevleri göster/gizle',
- 'Show/hide tasks' => 'Görevleri göster/gizle',
'Disable login form' => 'Giriş formunu devre dışı bırak',
'Show/hide calendar' => 'Takvimi göster/gizle',
- 'User calendar' => 'Kullanıcı takvimi',
'Bitbucket commit received' => 'Bitbucket commit alındı',
'Bitbucket webhooks' => 'Bitbucket webhooks',
'Help on Bitbucket webhooks' => 'Bitbucket webhooks için yardım',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => 'Klavye kısayolları',
'Open board switcher' => 'Tablo seçim listesini aç',
'Application' => 'Uygulama',
- 'Filter recently updated' => 'Son güncellenenleri göster',
'since %B %e, %Y at %k:%M %p' => '%B %e, %Y saat %k:%M %p\'den beri',
- 'More filters' => 'Daha fazla filtre',
'Compact view' => 'Ekrana sığdır',
'Horizontal scrolling' => 'Geniş görünüm',
'Compact/wide view' => 'Ekrana sığdır / Geniş görünüm',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index f46a63d0..155628dc 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -165,8 +165,6 @@ return array(
'Date created' => '创建时间',
'Date completed' => '完成时间',
'Id' => '编号',
- 'Completed tasks' => '已完成任务',
- 'Completed tasks for "%s"' => '"%s"已经完成的任务',
'%d closed tasks' => '%d个已关闭任务',
'No task for this project' => '该项目尚无任务',
'Public link' => '公开链接',
@@ -255,14 +253,11 @@ return array(
'Expiration date' => '过期',
'Remember Me' => '记住我',
'Creation date' => '创建日期',
- 'Filter by user' => '按用户过滤',
- 'Filter by due date' => '按到期时间过滤',
'Everybody' => '所有人',
'Open' => '打开',
'Closed' => '关闭',
'Search' => '查找',
'Nothing found.' => '没找到。',
- 'Search in the project "%s"' => '在项目"%s"中查找',
'Due date' => '到期时间',
'Others formats accepted: %s and %s' => '可以使用的其它格式:%s 和 %s',
'Description' => '描述',
@@ -301,7 +296,6 @@ return array(
'Category Name' => '分类名称',
'Add a new category' => '加入新分类',
'Do you really want to remove this category: "%s"?' => '确定要移除分类"%s"吗?',
- 'Filter by category' => '按分类过滤',
'All categories' => '所有分类',
'No category' => '无分类',
'The name is required' => '必须要有名字',
@@ -445,7 +439,6 @@ return array(
'%s updated a comment on the task %s' => '%s 更新了任务 %s的评论',
'%s commented the task %s' => '%s 评论了任务 %s',
'%s\'s activity' => '%s的动态',
- 'No activity.' => '无动态',
'RSS feed' => 'RSS 链接',
'%s updated a comment on the task #%d' => '%s 更新了任务 #%d 的评论',
'%s commented on the task #%d' => '%s 评论了任务 #%d',
@@ -605,14 +598,9 @@ return array(
'Language:' => '语言:',
'Timezone:' => '时区:',
'All columns' => '全部栏目',
- 'Calendar for "%s"' => '"%s"的日程表',
- 'Filter by column' => '按栏目过滤',
- 'Filter by status' => '按状态过滤',
'Calendar' => '日程表',
'Next' => '前进',
'#%d' => '#%d',
- 'Filter by color' => '按颜色过滤',
- 'Filter by swimlane' => '按泳道过滤',
'All swimlanes' => '全部泳道',
'All colors' => '全部颜色',
'All status' => '全部状态',
@@ -627,14 +615,8 @@ return array(
'Time Tracking' => '时间记录',
'You already have one subtask in progress' => '你已经有了一个进行中的子任务',
'Which parts of the project do you want to duplicate?' => '要复制项目的哪些内容?',
- 'Change dashboard view' => '修改仪表板视图',
- 'Show/hide activities' => '显示/隐藏活动',
- 'Show/hide projects' => '显示/隐藏项目',
- 'Show/hide subtasks' => '显示/隐藏子任务',
- 'Show/hide tasks' => '显示/隐藏任务',
'Disable login form' => '禁用登录界面',
'Show/hide calendar' => '显示/隐藏日程表',
- 'User calendar' => '用户日程表',
'Bitbucket commit received' => '收到Bitbucket提交',
'Bitbucket webhooks' => 'Bitbucket网络钩子',
'Help on Bitbucket webhooks' => 'Bitbucket网络钩子帮助',
@@ -688,9 +670,7 @@ return array(
'Keyboard shortcuts' => '键盘快捷方式',
'Open board switcher' => '打开面板切换器',
'Application' => '应用程序',
- 'Filter recently updated' => '过滤最近的更新',
// 'since %B %e, %Y at %k:%M %p' => '',
- 'More filters' => '更多过滤',
'Compact view' => '紧凑视图',
'Horizontal scrolling' => '水平滚动',
'Compact/wide view' => '紧凑/宽视图',
@@ -921,7 +901,6 @@ return array(
// 'The task have been moved to the first swimlane' => '',
// 'The task have been moved to another swimlane:' => '',
// 'Overdue tasks for the project "%s"' => '',
- // 'There is no completed tasks at the moment.' => '',
// 'New title: %s' => '',
// 'The task is not assigned anymore' => '',
// 'New assignee: %s' => '',
@@ -938,7 +917,6 @@ return array(
// 'The description have been modified' => '',
// 'Do you really want to close the task "%s" as well as all subtasks?' => '',
// 'Swimlane: %s' => '',
- // 'Project calendar' => '',
// 'I want to receive notifications for:' => '',
// 'All tasks' => '',
// 'Only for tasks assigned to me' => '',
@@ -958,4 +936,39 @@ return array(
// 'Start timer' => '',
// 'Add project member' => '',
// 'Enable notifications' => '',
+ // 'My activity stream' => '',
+ // 'My calendar' => '',
+ // 'Search tasks' => '',
+ // 'Back to the calendar' => '',
+ // 'Filters' => '',
+ // 'Reset filters' => '',
+ // 'My tasks due tomorrow' => '',
+ // 'Tasks due today' => '',
+ // 'Tasks due tomorrow' => '',
+ // 'Tasks due yesterday' => '',
+ // 'Closed tasks' => '',
+ // 'Open tasks' => '',
+ // 'Not assigned' => '',
+ // 'View advanced search syntax' => '',
+ // 'Overview' => '',
+ // '%b %e %Y' => '',
+ // 'Board/Calendar/List view' => '',
+ // 'Switch to the board view' => '',
+ // 'Switch to the calendar view' => '',
+ // 'Switch to the list view' => '',
+ // 'Go to the search/filter box' => '',
+ // 'There is no activity yet.' => '',
+ // 'No tasks found.' => '',
+ // 'Keyboard shortcut: "%s"' => '',
+ // 'List' => '',
+ // 'Filter' => '',
+ // 'Advanced search' => '',
+ // 'Example of query: ' => '',
+ // 'Search by project: ' => '',
+ // 'Search by column: ' => '',
+ // 'Search by assignee: ' => '',
+ // 'Search by color: ' => '',
+ // 'Search by category: ' => '',
+ // 'Search by description: ' => '',
+ // 'Search by due date: ' => '',
);
diff --git a/app/Model/Authentication.php b/app/Model/Authentication.php
index 86c1c43f..31969b57 100644
--- a/app/Model/Authentication.php
+++ b/app/Model/Authentication.php
@@ -49,11 +49,6 @@ class Authentication extends Base
return false;
}
- // We update each time the RememberMe cookie tokens
- if ($this->backend('rememberMe')->hasCookie()) {
- $this->backend('rememberMe')->refresh();
- }
-
return true;
}
diff --git a/app/Model/TaskFilter.php b/app/Model/TaskFilter.php
index e9d9ccbd..082318f1 100644
--- a/app/Model/TaskFilter.php
+++ b/app/Model/TaskFilter.php
@@ -68,6 +68,9 @@ class TaskFilter extends Base
case 'T_COLUMN':
$this->filterByColumnName($value);
break;
+ case 'T_REFERENCE':
+ $this->filterByReference($value);
+ break;
}
}
@@ -141,6 +144,22 @@ class TaskFilter extends Base
}
/**
+ * Filter by reference
+ *
+ * @access public
+ * @param string $reference
+ * @return TaskFilter
+ */
+ public function filterByReference($reference)
+ {
+ if (! empty($reference)) {
+ $this->query->eq(Task::TABLE.'.reference', $reference);
+ }
+
+ return $this;
+ }
+
+ /**
* Filter by title
*
* @access public
@@ -154,7 +173,7 @@ class TaskFilter extends Base
}
/**
- * Filter by title
+ * Filter by title or id if the string is like #123 or an integer
*
* @access public
* @param string $title
@@ -162,7 +181,16 @@ class TaskFilter extends Base
*/
public function filterByTitle($title)
{
- $this->query->ilike(Task::TABLE.'.title', '%'.$title.'%');
+ if (strlen($title) > 1 && $title{0} === '#' && ctype_digit(substr($title, 1))) {
+ $this->query->eq(Task::TABLE.'.id', substr($title, 1));
+ }
+ else if (ctype_digit($title)) {
+ $this->query->eq(Task::TABLE.'.id', $title);
+ }
+ else {
+ $this->query->ilike(Task::TABLE.'.title', '%'.$title.'%');
+ }
+
return $this;
}
@@ -688,11 +716,11 @@ class TaskFilter extends Base
$vEvent->setSummary(t('#%d', $task['id']).' '.$task['title']);
$vEvent->setUrl($this->helper->url->base().$this->helper->url->to('task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id'])));
- if (! empty($task['creator_id'])) {
- $vEvent->setOrganizer('MAILTO:'.($task['creator_email'] ?: $task['creator_username'].'@kanboard.local'));
+ if (! empty($task['owner_id'])) {
+ $vEvent->setOrganizer('MAILTO:'.($task['assignee_email'] ?: $task['assignee_username'].'@kanboard.local'));
}
- if (! empty($task['owner_id'])) {
+ if (! empty($task['creator_id'])) {
$attendees = new Attendees;
$attendees->add('MAILTO:'.($task['creator_email'] ?: $task['creator_username'].'@kanboard.local'));
$vEvent->setAttendees($attendees);
diff --git a/app/Template/app/projects.php b/app/Template/app/projects.php
index 61839cee..627ad21b 100644
--- a/app/Template/app/projects.php
+++ b/app/Template/app/projects.php
@@ -24,7 +24,7 @@
<?= $this->url->link($this->e($project['name']), 'board', 'show', array('project_id' => $project['id'])) ?>
<?php if (! empty($project['description'])): ?>
- <span class="column-tooltip" title='<?= $this->e($this->text->markdown($project['description'])) ?>'>
+ <span class="tooltip" title='<?= $this->e($this->text->markdown($project['description'])) ?>'>
<i class="fa fa-info-circle"></i>
</span>
<?php endif ?>
diff --git a/app/Template/board/popover_category.php b/app/Template/board/popover_category.php
index b38758d3..f391f492 100644
--- a/app/Template/board/popover_category.php
+++ b/app/Template/board/popover_category.php
@@ -9,7 +9,7 @@
<?= $this->form->hidden('project_id', $values) ?>
<?= $this->form->label(t('Category'), 'category_id') ?>
- <?= $this->form->select('category_id', $categories_list, $values) ?><br/>
+ <?= $this->form->select('category_id', $categories_list, $values, array(), array('autofocus')) ?><br/>
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
@@ -18,5 +18,4 @@
</div>
</form>
</section>
-
</section> \ No newline at end of file
diff --git a/app/Template/board/table_swimlane.php b/app/Template/board/table_swimlane.php
index b86fc446..436c53b5 100644
--- a/app/Template/board/table_swimlane.php
+++ b/app/Template/board/table_swimlane.php
@@ -22,7 +22,7 @@
<?= $this->e($column['title']) ?>
<?php if (! $not_editable && ! empty($column['description'])): ?>
- <span class="column-tooltip pull-right" title='<?= $this->e($this->text->markdown($column['description'])) ?>'>
+ <span class="tooltip pull-right" title='<?= $this->e($this->text->markdown($column['description'])) ?>'>
<i class="fa fa-info-circle"></i>
</span>
<?php endif ?>
diff --git a/app/Template/board/task_footer.php b/app/Template/board/task_footer.php
index e9f22b7b..69bf97c1 100644
--- a/app/Template/board/task_footer.php
+++ b/app/Template/board/task_footer.php
@@ -10,7 +10,7 @@
'changeCategory',
array('task_id' => $task['id'], 'project_id' => $task['project_id']),
false,
- 'task-board-popover' . (! empty($task['category_description']) ? ' column-tooltip' : ''),
+ 'task-board-popover' . (! empty($task['category_description']) ? ' tooltip' : ''),
! empty($task['category_description']) ? $this->text->markdown($task['category_description']) : t('Change category')
) ?>
<?php endif ?>
diff --git a/app/Template/board/task_private.php b/app/Template/board/task_private.php
index 3cd471d7..87121f2c 100644
--- a/app/Template/board/task_private.php
+++ b/app/Template/board/task_private.php
@@ -11,7 +11,14 @@
<?= $this->render('board/task_menu', array('task' => $task)) ?>
<div class="task-board-collapsed" style="display: none">
- <?= $this->url->link($this->e($task['title']), 'task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']), false, 'task-board-collapsed-title') ?>
+ <?php if (! empty($task['assignee_username'])): ?>
+ <span title="<?= $this->e($task['assignee_name'] ?: $task['assignee_username']) ?>">
+ <?= $this->e($this->user->getInitials($task['assignee_name'] ?: $task['assignee_username'])) ?>
+ </span> -
+ <?php endif ?>
+ <span class="tooltip" title="<?= $this->e($task['title']) ?>"
+ <?= $this->url->link($this->e($task['title']), 'task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']), false, 'task-board-collapsed-title') ?>
+ </span>
</div>
<div class="task-board-expanded">
diff --git a/app/Template/column/index.php b/app/Template/column/index.php
index 18e7f284..a394ee67 100644
--- a/app/Template/column/index.php
+++ b/app/Template/column/index.php
@@ -18,7 +18,7 @@
<tr>
<td class="column-60"><?= $this->e($column['title']) ?>
<?php if (! empty($column['description'])): ?>
- <span class="column-tooltip" title='<?= $this->e($this->text->markdown($column['description'])) ?>'>
+ <span class="tooltip" title='<?= $this->e($this->text->markdown($column['description'])) ?>'>
<i class="fa fa-info-circle"></i>
</span>
<?php endif ?>
diff --git a/app/Template/file/show.php b/app/Template/file/show.php
index 7d5dc96f..9281c352 100644
--- a/app/Template/file/show.php
+++ b/app/Template/file/show.php
@@ -16,7 +16,7 @@
<?php endif ?>
<p>
<?= $this->e($file['name']) ?>
- <span class="column-tooltip" title='<?= t('uploaded by: %s', $file['user_name'] ?: $file['username']).'<br>'.t('uploaded on: %s', dt('%B %e, %Y at %k:%M %p', $file['date'])).'<br>'.t('size: %s', $this->text->bytes($file['size'])) ?>'>
+ <span class="tooltip" title='<?= t('uploaded by: %s', $file['user_name'] ?: $file['username']).'<br>'.t('uploaded on: %s', dt('%B %e, %Y at %k:%M %p', $file['date'])).'<br>'.t('size: %s', $this->text->bytes($file['size'])) ?>'>
<i class="fa fa-info-circle"></i>
</span>
</p>
@@ -38,7 +38,7 @@
<td><i class="fa <?= $this->file->icon($file['name']) ?> fa-fw"></i></td>
<td>
<?= $this->e($file['name']) ?>
- <span class="column-tooltip" title='<?= t('uploaded by: %s', $file['user_name'] ?: $file['username']).'<br>'.t('uploaded on: %s', dt('%B %e, %Y at %k:%M %p', $file['date'])).'<br>'.t('size: %s', $this->text->bytes($file['size'])) ?>'>
+ <span class="tooltip" title='<?= t('uploaded by: %s', $file['user_name'] ?: $file['username']).'<br>'.t('uploaded on: %s', dt('%B %e, %Y at %k:%M %p', $file['date'])).'<br>'.t('size: %s', $this->text->bytes($file['size'])) ?>'>
<i class="fa fa-info-circle"></i>
</span>
</td>
diff --git a/app/Template/layout.php b/app/Template/layout.php
index a6d00470..d804d3d5 100644
--- a/app/Template/layout.php
+++ b/app/Template/layout.php
@@ -40,7 +40,7 @@
<nav>
<h1><?= $this->url->link('K<span>B</span>', 'app', 'index', array(), false, 'logo', t('Dashboard')).' '.$this->e($title) ?>
<?php if (! empty($description)): ?>
- <span class="column-tooltip" title='<?= $this->e($this->text->markdown($description)) ?>'>
+ <span class="tooltip" title='<?= $this->e($this->text->markdown($description)) ?>'>
<i class="fa fa-info-circle"></i>
</span>
<?php endif ?>
diff --git a/app/Template/project/index.php b/app/Template/project/index.php
index 7a03ec16..971ba2ae 100644
--- a/app/Template/project/index.php
+++ b/app/Template/project/index.php
@@ -46,7 +46,7 @@
<?= $this->url->link($this->e($project['name']), 'project', 'show', array('project_id' => $project['id'])) ?>
<?php if (! empty($project['description'])): ?>
- <span class="column-tooltip" title='<?= $this->e($this->text->markdown($project['description'])) ?>'>
+ <span class="tooltip" title='<?= $this->e($this->text->markdown($project['description'])) ?>'>
<i class="fa fa-info-circle"></i>
</span>
<?php endif ?>
diff --git a/app/Template/project/show.php b/app/Template/project/show.php
index beb5a1fa..969dda17 100644
--- a/app/Template/project/show.php
+++ b/app/Template/project/show.php
@@ -51,7 +51,7 @@
<td>
<?= $this->e($column['title']) ?>
<?php if (! empty($column['description'])): ?>
- <span class="column-tooltip" title='<?= $this->e($this->text->markdown($column['description'])) ?>'>
+ <span class="tooltip" title='<?= $this->e($this->text->markdown($column['description'])) ?>'>
<i class="fa fa-info-circle"></i>
</span>
<?php endif ?>
diff --git a/app/Template/search/index.php b/app/Template/search/index.php
index 4d7f5ed3..3d0d6ff9 100644
--- a/app/Template/search/index.php
+++ b/app/Template/search/index.php
@@ -31,7 +31,7 @@
<li><?= t('Search by description: ') ?><strong>description:"Something to find"</strong></li>
<li><?= t('Search by due date: ') ?><strong>due:2015-07-01</strong></li>
</ul>
- <p><i class="fa fa-external-link fa-fw"></i><a href="http://kanboard.net/documentation/search" target="_blank"><?= t('More examples in the documentation') ?></a></p>
+ <p><i class="fa fa-external-link fa-fw"></i><a href="http://kanboard.net/documentation/search" target="_blank"><?= t('View advanced search syntax') ?></a></p>
</div>
<?php elseif (! empty($values['search']) && $paginator->isEmpty()): ?>
<p class="alert"><?= t('Nothing found.') ?></p>
diff --git a/assets/css/app.css b/assets/css/app.css
index e141cd25..9a2ab4bf 100644
--- a/assets/css/app.css
+++ b/assets/css/app.css
@@ -494,9 +494,14 @@ a.btn-blue:focus,
background: #f7f7f7;
}
/* alerts */
+#main .alert,
+.page .alert {
+ margin-top: 10px;
+}
+
.alert {
padding: 8px 35px 8px 14px;
- margin-bottom: 20px;
+ margin-bottom: 10px;
color: #c09853;
background-color: #fcf8e3;
border: 1px solid #fbeed5;
@@ -535,44 +540,6 @@ a.btn-blue:focus,
.alert li {
margin-left: 25px;
}
-
-/* fade out animation */
-.alert-fade-out {
- animation: fadeOut 1s forwards;
- -webkit-animation: fadeOut 1s forwards;
- animation-delay: 7s;
- -webkit-animation-delay: 7s;
- cursor: pointer;
-}
-
-@-webkit-keyframes fadeOut {
- from {
- opacity: 1;
- }
- to {
- opacity: 0;
- margin: 0;
- padding: 0;
- height: 0;
- }
-}
-
-@keyframes fadeOut {
- from {
- opacity: 1;
- }
- to {
- opacity: 0;
- margin: 0;
- padding: 0;
- height: 0;
- }
-}
-
-#main .alert,
-.page .alert {
- margin-top: 10px;
-}
/* tooltip */
.tooltip-arrow:after {
background: #fff;
@@ -643,7 +610,7 @@ div.ui-tooltip {
margin-bottom: 0px;
}
-.column-tooltip {
+.tooltip .fa-info-circle {
color: #999;
font-size: 0.95em;
}
@@ -1558,7 +1525,7 @@ span.task-board-date-overdue {
position: absolute;
left: 0;
z-index: 1000;
- min-width: 230px;
+ min-width: 300px;
list-style: none;
margin: 3px 0 0 1px;
padding: 6px 0;
diff --git a/assets/css/src/alert.css b/assets/css/src/alert.css
index 99dc417c..0a5a35ee 100644
--- a/assets/css/src/alert.css
+++ b/assets/css/src/alert.css
@@ -1,7 +1,12 @@
/* alerts */
+#main .alert,
+.page .alert {
+ margin-top: 10px;
+}
+
.alert {
padding: 8px 35px 8px 14px;
- margin-bottom: 20px;
+ margin-bottom: 10px;
color: #c09853;
background-color: #fcf8e3;
border: 1px solid #fbeed5;
@@ -40,41 +45,3 @@
.alert li {
margin-left: 25px;
}
-
-/* fade out animation */
-.alert-fade-out {
- animation: fadeOut 1s forwards;
- -webkit-animation: fadeOut 1s forwards;
- animation-delay: 7s;
- -webkit-animation-delay: 7s;
- cursor: pointer;
-}
-
-@-webkit-keyframes fadeOut {
- from {
- opacity: 1;
- }
- to {
- opacity: 0;
- margin: 0;
- padding: 0;
- height: 0;
- }
-}
-
-@keyframes fadeOut {
- from {
- opacity: 1;
- }
- to {
- opacity: 0;
- margin: 0;
- padding: 0;
- height: 0;
- }
-}
-
-#main .alert,
-.page .alert {
- margin-top: 10px;
-}
diff --git a/assets/css/src/dropdown.css b/assets/css/src/dropdown.css
index 15ba2ae0..f5010cd8 100644
--- a/assets/css/src/dropdown.css
+++ b/assets/css/src/dropdown.css
@@ -12,7 +12,7 @@
position: absolute;
left: 0;
z-index: 1000;
- min-width: 230px;
+ min-width: 300px;
list-style: none;
margin: 3px 0 0 1px;
padding: 6px 0;
diff --git a/assets/css/src/tooltip.css b/assets/css/src/tooltip.css
index f6fa8f15..dca31813 100644
--- a/assets/css/src/tooltip.css
+++ b/assets/css/src/tooltip.css
@@ -68,7 +68,7 @@ div.ui-tooltip {
margin-bottom: 0px;
}
-.column-tooltip {
+.tooltip .fa-info-circle {
color: #999;
font-size: 0.95em;
}
diff --git a/assets/js/app.js b/assets/js/app.js
index ef1a4961..b60498df 100644
--- a/assets/js/app.js
+++ b/assets/js/app.js
@@ -142,14 +142,14 @@ return""!=a?"visible"==document[a]:!0},SetStorageItem:function(a,c){"undefined"!
c.parent().addClass("form-tab-selected");e.find(".markdown").html(a);e.css("height",f.css("height"));e.css("width",f.css("width"));d.hide();e.show()})},MarkdownWriter:function(a){a.preventDefault();$(this).closest("ul").find("li").removeClass("form-tab-selected");$(this).parent().addClass("form-tab-selected");$(".write-area").show();$(".preview-area").hide()},CheckSession:function(){$(".form-login").length||$.ajax({cache:!1,url:$("body").data("status-url"),statusCode:{401:function(){window.location=
$("body").data("login-url")}}})},Init:function(){$(".chosen-select").chosen({width:"200px",no_results_text:$(".chosen-select").data("notfound"),disable_search_threshold:10});$("#board-selector").chosen({width:180,no_results_text:$("#board-selector").data("notfound")});$("#board-selector").change(function(){window.location=$(this).attr("data-board-url").replace(/PROJECT_ID/g,$(this).val())});window.setInterval(Kanboard.CheckSession,6E4);Mousetrap.bindGlobal("mod+enter",function(){$("form").submit()});
Mousetrap.bind("b",function(a){a.preventDefault();$("#board-selector").trigger("chosen:open")});Mousetrap.bind("f",function(a){a.preventDefault();(a=document.getElementById("form-search"))&&a.focus()});Mousetrap.bind("v b",function(a){a=$(".view-board");a.length&&(window.location=a.attr("href"))});Mousetrap.bind("v c",function(a){a=$(".view-calendar");a.length&&(window.location=a.attr("href"))});Mousetrap.bind("v l",function(a){a=$(".view-listing");a.length&&(window.location=a.attr("href"))});$(document).on("focus",
-"#form-search",function(){$(this).val($(this).val())});$(document).on("click",".filter-helper",function(a){a.preventDefault();$("#form-search").val($(this).data("filter"));$("form.search").submit()});$.datepicker.setDefaults($.datepicker.regional[$("body").data("js-lang")]);Kanboard.InitAfterAjax()},InitAfterAjax:function(){$(document).on("click",".popover",Kanboard.Popover);$("[autofocus]").each(function(a,c){$(this).focus()});$(".form-date").datepicker({showOtherMonths:!0,selectOtherMonths:!0,dateFormat:"yy-mm-dd",
-constrainInput:!1});$("#markdown-preview").click(Kanboard.MarkdownPreview);$("#markdown-write").click(Kanboard.MarkdownWriter);$(".auto-select").focus(function(){$(this).select()});$(".dropit-submenu").hide();$(".dropdown").not(".dropit").dropit({triggerParentEl:"span"});$(".task-autocomplete").length&&(""==$(".opposite_task_id").val()&&$(".task-autocomplete").parent().find("input[type=submit]").attr("disabled","disabled"),$(".task-autocomplete").autocomplete({source:$(".task-autocomplete").data("search-url"),
-minLength:1,select:function(a,c){var b=$(".task-autocomplete").data("dst-field");$("input[name="+b+"]").val(c.item.id);$(".task-autocomplete").parent().find("input[type=submit]").removeAttr("disabled")}}));$(".column-tooltip").tooltip({content:function(){return'<div class="markdown">'+$(this).attr("title")+"</div>"},position:{my:"left-20 top",at:"center bottom+9",using:function(a,c){$(this).css(a);var b=c.target.left+c.target.width/2-c.element.left-20;$("<div>").addClass("tooltip-arrow").addClass(c.vertical).addClass(0==
-b?"align-left":"align-right").appendTo(this)}}});Kanboard.Exists("screenshot-zone")&&Kanboard.Screenshot.Init()}}}();
+"#form-search",function(){$("#form-search")[0].setSelectionRange&&$("#form-search")[0].setSelectionRange($("#form-search").val().length,$("#form-search").val().length)});$(document).on("click",".filter-helper",function(a){a.preventDefault();$("#form-search").val($(this).data("filter"));$("form.search").submit()});$.datepicker.setDefaults($.datepicker.regional[$("body").data("js-lang")]);$(".alert-fade-out").delay(4E3).fadeOut(800,function(){$(this).remove()});Kanboard.InitAfterAjax()},InitAfterAjax:function(){$(document).on("click",
+".popover",Kanboard.Popover);$("[autofocus]").each(function(a,c){$(this).focus()});$(".form-date").datepicker({showOtherMonths:!0,selectOtherMonths:!0,dateFormat:"yy-mm-dd",constrainInput:!1});$("#markdown-preview").click(Kanboard.MarkdownPreview);$("#markdown-write").click(Kanboard.MarkdownWriter);$(".auto-select").focus(function(){$(this).select()});$(".dropit-submenu").hide();$(".dropdown").not(".dropit").dropit({triggerParentEl:"span"});$(".task-autocomplete").length&&(""==$(".opposite_task_id").val()&&
+$(".task-autocomplete").parent().find("input[type=submit]").attr("disabled","disabled"),$(".task-autocomplete").autocomplete({source:$(".task-autocomplete").data("search-url"),minLength:1,select:function(a,c){var b=$(".task-autocomplete").data("dst-field");$("input[name="+b+"]").val(c.item.id);$(".task-autocomplete").parent().find("input[type=submit]").removeAttr("disabled")}}));$(".tooltip").tooltip({content:function(){return'<div class="markdown">'+$(this).attr("title")+"</div>"},position:{my:"left-20 top",
+at:"center bottom+9",using:function(a,c){$(this).css(a);var b=c.target.left+c.target.width/2-c.element.left-20;$("<div>").addClass("tooltip-arrow").addClass(c.vertical).addClass(1>b?"align-left":"align-right").appendTo(this)}}});Kanboard.Exists("screenshot-zone")&&Kanboard.Screenshot.Init()}}}();
(function(){function a(a){a.preventDefault();a.stopPropagation();Kanboard.Popover(a,Kanboard.InitAfterAjax)}function c(){Mousetrap.bind("n",function(){Kanboard.OpenPopover($("#board").data("task-creation-url"),Kanboard.InitAfterAjax)});Mousetrap.bind("s",function(){"expanded"===(Kanboard.GetStorageItem(d())||"expanded")?(e(),Kanboard.SetStorageItem(d(),"collapsed")):(f(),Kanboard.SetStorageItem(d(),"expanded"))});Mousetrap.bind("c",function(){n()})}function b(){$(".filter-expand-link").click(function(a){a.preventDefault();
f();Kanboard.SetStorageItem(d(),"expanded")});$(".filter-collapse-link").click(function(a){a.preventDefault();e();Kanboard.SetStorageItem(d(),"collapsed")});k()}function d(){return"board_stacking_"+$("#board").data("project-id")}function e(){$(".filter-collapse").hide();$(".task-board-collapsed").show();$(".filter-expand").show();$(".task-board-expanded").hide()}function f(){$(".filter-collapse").show();$(".task-board-collapsed").hide();$(".filter-expand").hide();$(".task-board-expanded").show()}
function k(){"expanded"===(Kanboard.GetStorageItem(d())||"expanded")?f():e()}function l(){$(".column").sortable({delay:300,distance:5,connectWith:".column",placeholder:"draggable-placeholder",items:".draggable-item",stop:function(a,b){g(b.item.attr("data-task-id"),b.item.parent().attr("data-column-id"),b.item.index()+1,b.item.parent().attr("data-swimlane-id"))}});$("#board").on("click",".task-board-popover",a);$("#board").on("click",".task-board",function(){window.location=$(this).data("task-url")});
-$(".task-board-tooltip").tooltip({track:!1,position:{my:"left-20 top",at:"center bottom+9",using:function(a,b){$(this).css(a);var c=b.target.left+b.target.width/2-b.element.left-20;$("<div>").addClass("tooltip-arrow").addClass(b.vertical).addClass(0==c?"align-left":"align-right").appendTo(this)}},content:function(a){if(a=$(this).attr("data-href")){var b=this;$.get(a,function p(a){$(".ui-tooltip-content:visible").html(a);a=$(".ui-tooltip:visible");a.css({top:"",left:""});a.children(".tooltip-arrow").remove();
+$(".task-board-tooltip").tooltip({track:!1,position:{my:"left-20 top",at:"center bottom+9",using:function(a,b){$(this).css(a);var c=b.target.left+b.target.width/2-b.element.left-20;$("<div>").addClass("tooltip-arrow").addClass(b.vertical).addClass(1>c?"align-left":"align-right").appendTo(this)}},content:function(a){if(a=$(this).attr("data-href")){var b=this;$.get(a,function p(a){$(".ui-tooltip-content:visible").html(a);a=$(".ui-tooltip:visible");a.css({top:"",left:""});a.children(".tooltip-arrow").remove();
var c=$(b).tooltip("option","position");c.of=$(b);a.position(c);$("#tooltip-subtasks a").not(".popover").click(function(a){a.preventDefault();a.stopPropagation();$(this).hasClass("popover-subtask-restriction")?(Kanboard.OpenPopover($(this).attr("href")),$(b).tooltip("close")):$.get($(this).attr("href"),p)})});return'<i class="fa fa-refresh fa-spin fa-2x"></i>'}}}).on("mouseenter",function(){var a=this;$(this).tooltip("open");$(".ui-tooltip").on("mouseleave",function(){$(a).tooltip("close")})}).on("mouseleave focusout",
function(a){a.stopImmediatePropagation();var b=this;setTimeout(function(){$(".ui-tooltip:hover").length||$(b).tooltip("close")},100)});var b=parseInt($("#board").attr("data-check-interval"));0<b&&(m=window.setInterval(q,1E3*b))}function g(a,b,c,d){clearInterval(m);$.ajax({cache:!1,url:$("#board").attr("data-save-url"),contentType:"application/json",type:"POST",processData:!1,data:JSON.stringify({task_id:a,column_id:b,swimlane_id:d,position:c}),success:function(a){$("#board-container").remove();$("#main").append(a);
Kanboard.InitAfterAjax();l();k();h()}})}function q(){Kanboard.IsVisible()&&$.ajax({cache:!1,url:$("#board").attr("data-check-url"),statusCode:{200:function(a){$("#board-container").remove();$("#main").append(a);Kanboard.InitAfterAjax();clearInterval(m);l();k();h()}}})}function r(){jQuery(document).on("click",".filter-toggle-scrolling",function(a){a.preventDefault();n()});h()}function n(){var a=Kanboard.GetStorageItem("horizontal_scroll")||1;Kanboard.SetStorageItem("horizontal_scroll",0==a?1:0);h()}
diff --git a/assets/js/src/base.js b/assets/js/src/base.js
index 043b78f7..2540f084 100644
--- a/assets/js/src/base.js
+++ b/assets/js/src/base.js
@@ -236,7 +236,9 @@ var Kanboard = (function() {
// Place cursor at the end when focusing on the search box
$(document).on("focus", "#form-search", function() {
- $(this).val($(this).val());
+ if ($("#form-search")[0].setSelectionRange) {
+ $('#form-search')[0].setSelectionRange($('#form-search').val().length, $('#form-search').val().length);
+ }
});
// Filter helper for search
@@ -249,6 +251,11 @@ var Kanboard = (function() {
// Datepicker translation
$.datepicker.setDefaults($.datepicker.regional[$("body").data("js-lang")]);
+ // Alert box fadeout
+ $(".alert-fade-out").delay(4000).fadeOut(800, function() {
+ $(this).remove();
+ });
+
Kanboard.InitAfterAjax();
},
@@ -303,7 +310,7 @@ var Kanboard = (function() {
}
// Tooltip for column description
- $(".column-tooltip").tooltip({
+ $(".tooltip").tooltip({
content: function() {
return '<div class="markdown">' + $(this).attr("title") + '</div>';
},
@@ -319,7 +326,7 @@ var Kanboard = (function() {
$("<div>")
.addClass("tooltip-arrow")
.addClass(feedback.vertical)
- .addClass(arrow_pos == 0 ? "align-left" : "align-right")
+ .addClass(arrow_pos < 1 ? "align-left" : "align-right")
.appendTo(this);
}
}
diff --git a/assets/js/src/board.js b/assets/js/src/board.js
index 853511ff..01a16d59 100644
--- a/assets/js/src/board.js
+++ b/assets/js/src/board.js
@@ -139,7 +139,7 @@
$("<div>")
.addClass("tooltip-arrow")
.addClass(feedback.vertical)
- .addClass(arrow_pos == 0 ? "align-left" : "align-right")
+ .addClass(arrow_pos < 1 ? "align-left" : "align-right")
.appendTo(this);
}
},
diff --git a/docs/ical.markdown b/docs/ical.markdown
index e5f2f936..5c52bf82 100644
--- a/docs/ical.markdown
+++ b/docs/ical.markdown
@@ -7,6 +7,8 @@ This feature allow you to import Kanboard tasks in almost any calendar program (
Calendar subscriptions are **read-only** access, you cannot create tasks from an external calendar software.
The Calendar feed export follow the iCal standard.
+Note: Only tasks within the date range of -2 months to +6 months are exported to the iCalendar feed.
+
Project calendars
-----------------
diff --git a/docs/search.markdown b/docs/search.markdown
index 1d254b29..3d00b158 100644
--- a/docs/search.markdown
+++ b/docs/search.markdown
@@ -12,6 +12,12 @@ This example will returns all tasks assigned to me with a due date for tomorrow
assigne:me due:tomorrow my title
```
+Search by task id or title
+--------------------------
+
+- Search by task id: `#123` or `123`
+- Search by task title: anything that don't match any search attributes mentioned below
+
Search by status
----------------
@@ -144,3 +150,10 @@ Attribute: **column**
- Find tasks by column name: `column:"Work in progress"`
- Find tasks for several columns: `column:"Backlog" column:ready`
+
+Search by external reference
+----------------------------
+
+The task reference is an external id of your task, by example a ticket number from another software.
+
+- Find tasks with a reference: `ref:1234` or `reference:TICKET-1234`
diff --git a/tests/units/Base.php b/tests/units/Base.php
index 7ad4e626..0a045a09 100644
--- a/tests/units/Base.php
+++ b/tests/units/Base.php
@@ -58,6 +58,8 @@ abstract class Base extends PHPUnit_Framework_TestCase
public function setUp()
{
+ date_default_timezone_set('UTC');
+
if (DB_DRIVER === 'mysql') {
$pdo = new PDO('mysql:host='.DB_HOSTNAME, DB_USERNAME, DB_PASSWORD);
$pdo->exec('DROP DATABASE '.DB_NAME);
diff --git a/tests/units/LexerTest.php b/tests/units/LexerTest.php
index 38974357..bf0ffdd0 100644
--- a/tests/units/LexerTest.php
+++ b/tests/units/LexerTest.php
@@ -171,6 +171,36 @@ class LexerTest extends Base
);
}
+ public function testReferenceQuery()
+ {
+ $lexer = new Lexer;
+
+ $this->assertEquals(
+ array(array('match' => 'ref:', 'token' => 'T_REFERENCE'), array('match' => '123', 'token' => 'T_STRING')),
+ $lexer->tokenize('ref:123')
+ );
+
+ $this->assertEquals(
+ array(array('match' => 'reference:', 'token' => 'T_REFERENCE'), array('match' => '456', 'token' => 'T_STRING')),
+ $lexer->tokenize('reference:456')
+ );
+
+ $this->assertEquals(
+ array('T_REFERENCE' => '123'),
+ $lexer->map($lexer->tokenize('reference:123'))
+ );
+
+ $this->assertEquals(
+ array('T_REFERENCE' => '456'),
+ $lexer->map($lexer->tokenize('ref:456'))
+ );
+
+ $this->assertEquals(
+ array(),
+ $lexer->map($lexer->tokenize('ref: '))
+ );
+ }
+
public function testDescriptionQuery()
{
$lexer = new Lexer;
@@ -311,6 +341,11 @@ class LexerTest extends Base
);
$this->assertEquals(
+ array('T_TITLE' => '#123'),
+ $lexer->map($lexer->tokenize('#123'))
+ );
+
+ $this->assertEquals(
array(),
$lexer->map($lexer->tokenize('color:assignee:'))
);
diff --git a/tests/units/TaskFilterTest.php b/tests/units/TaskFilterTest.php
index c68e8880..14a9b1c0 100644
--- a/tests/units/TaskFilterTest.php
+++ b/tests/units/TaskFilterTest.php
@@ -8,9 +8,60 @@ use Model\TaskFilter;
use Model\TaskCreation;
use Model\DateParser;
use Model\Category;
+use Model\Config;
class TaskFilterTest extends Base
{
+ public function testIcalEventsWithCreatorAndDueDate()
+ {
+ $dp = new DateParser($this->container);
+ $p = new Project($this->container);
+ $tc = new TaskCreation($this->container);
+ $tf = new TaskFilter($this->container);
+
+ $this->assertEquals(1, $p->create(array('name' => 'test')));
+ $this->assertNotFalse($tc->create(array('project_id' => 1, 'title' => 'task1', 'creator_id' => 1, 'date_due' => $dp->getTimestampFromIsoFormat('-2 days'))));
+
+ $events = $tf->create()->filterByDueDateRange(strtotime('-1 month'), strtotime('+1 month'))->addAllDayIcalEvents();
+ $ics = $events->render();
+
+ $this->assertContains('UID:task-#1-date_due', $ics);
+ $this->assertContains('DTSTART;TZID=UTC;VALUE=DATE:'.date('Ymd', strtotime('-2 days')), $ics);
+ $this->assertContains('DTEND;TZID=UTC;VALUE=DATE:'.date('Ymd', strtotime('-2 days')), $ics);
+ $this->assertContains('URL:http://localhost/?controller=task&action=show&task_id=1&project_id=1', $ics);
+ $this->assertContains('SUMMARY:#1 task1', $ics);
+ $this->assertContains('ATTENDEE:MAILTO:admin@kanboard.local', $ics);
+ $this->assertContains('X-MICROSOFT-CDO-ALLDAYEVENT:TRUE', $ics);
+ }
+
+ public function testIcalEventsWithAssigneeAndDueDate()
+ {
+ $dp = new DateParser($this->container);
+ $p = new Project($this->container);
+ $tc = new TaskCreation($this->container);
+ $tf = new TaskFilter($this->container);
+ $u = new User($this->container);
+ $c = new Config($this->container);
+
+ $this->assertNotFalse($c->save(array('application_url' => 'http://kb/')));
+ $this->assertEquals('http://kb/', $c->get('application_url'));
+
+ $this->assertNotFalse($u->update(array('id' => 1, 'email' => 'bob@localhost')));
+ $this->assertEquals(1, $p->create(array('name' => 'test')));
+ $this->assertNotFalse($tc->create(array('project_id' => 1, 'title' => 'task1', 'owner_id' => 1, 'date_due' => $dp->getTimestampFromIsoFormat('+5 days'))));
+
+ $events = $tf->create()->filterByDueDateRange(strtotime('-1 month'), strtotime('+1 month'))->addAllDayIcalEvents();
+ $ics = $events->render();
+
+ $this->assertContains('UID:task-#1-date_due', $ics);
+ $this->assertContains('DTSTART;TZID=UTC;VALUE=DATE:'.date('Ymd', strtotime('+5 days')), $ics);
+ $this->assertContains('DTEND;TZID=UTC;VALUE=DATE:'.date('Ymd', strtotime('+5 days')), $ics);
+ $this->assertContains('URL:http://kb/?controller=task&action=show&task_id=1&project_id=1', $ics);
+ $this->assertContains('SUMMARY:#1 task1', $ics);
+ $this->assertContains('ORGANIZER:MAILTO:bob@localhost', $ics);
+ $this->assertContains('X-MICROSOFT-CDO-ALLDAYEVENT:TRUE', $ics);
+ }
+
public function testSearchWithEmptyResult()
{
$dp = new DateParser($this->container);
@@ -27,6 +78,78 @@ class TaskFilterTest extends Base
$this->assertEmpty($tf->search('search something')->findAll());
}
+ public function testSearchById()
+ {
+ $p = new Project($this->container);
+ $tc = new TaskCreation($this->container);
+ $tf = new TaskFilter($this->container);
+
+ $this->assertEquals(1, $p->create(array('name' => 'test')));
+ $this->assertNotFalse($tc->create(array('project_id' => 1, 'title' => 'task1')));
+ $this->assertNotFalse($tc->create(array('project_id' => 1, 'title' => 'task2')));
+
+ $tf->search('#2');
+ $tasks = $tf->findAll();
+ $this->assertNotEmpty($tasks);
+ $this->assertCount(1, $tasks);
+ $this->assertEquals('task2', $tasks[0]['title']);
+
+ $tf->search('1');
+ $tasks = $tf->findAll();
+ $this->assertNotEmpty($tasks);
+ $this->assertCount(1, $tasks);
+ $this->assertEquals('task1', $tasks[0]['title']);
+
+ $tf->search('something');
+ $tasks = $tf->findAll();
+ $this->assertEmpty($tasks);
+
+ $tf->search('#');
+ $tasks = $tf->findAll();
+ $this->assertEmpty($tasks);
+
+ $tf->search('#abcd');
+ $tasks = $tf->findAll();
+ $this->assertEmpty($tasks);
+
+ $tf->search('task1');
+ $tasks = $tf->findAll();
+ $this->assertNotEmpty($tasks);
+ $this->assertCount(1, $tasks);
+ $this->assertEquals('task1', $tasks[0]['title']);
+ }
+
+ public function testSearchWithReference()
+ {
+ $p = new Project($this->container);
+ $tc = new TaskCreation($this->container);
+ $tf = new TaskFilter($this->container);
+
+ $this->assertEquals(1, $p->create(array('name' => 'test')));
+ $this->assertNotFalse($tc->create(array('project_id' => 1, 'title' => 'task1')));
+ $this->assertNotFalse($tc->create(array('project_id' => 1, 'title' => 'task2', 'reference' => 123)));
+
+ $tf->search('ref:123');
+ $tasks = $tf->findAll();
+ $this->assertNotEmpty($tasks);
+ $this->assertCount(1, $tasks);
+ $this->assertEquals('task2', $tasks[0]['title']);
+
+ $tf->search('reference:123');
+ $tasks = $tf->findAll();
+ $this->assertNotEmpty($tasks);
+ $this->assertCount(1, $tasks);
+ $this->assertEquals('task2', $tasks[0]['title']);
+
+ $tf->search('ref:plop');
+ $tasks = $tf->findAll();
+ $this->assertEmpty($tasks);
+
+ $tf->search('ref:');
+ $tasks = $tf->findAll();
+ $this->assertEmpty($tasks);
+ }
+
public function testSearchWithStatus()
{
$p = new Project($this->container);
diff --git a/tests/units/UrlHelperTest.php b/tests/units/UrlHelperTest.php
index d70842aa..3ef3402a 100644
--- a/tests/units/UrlHelperTest.php
+++ b/tests/units/UrlHelperTest.php
@@ -38,22 +38,26 @@ class UrlHelperTest extends Base
{
$h = new Url($this->container);
+ $this->assertEquals('http://localhost/', $h->server());
+
$_SERVER['PHP_SELF'] = '/';
- $_SERVER['SERVER_NAME'] = 'localhost';
+ $_SERVER['SERVER_NAME'] = 'kb';
$_SERVER['SERVER_PORT'] = 1234;
- $this->assertEquals('http://localhost:1234/', $h->server());
+ $this->assertEquals('http://kb:1234/', $h->server());
}
public function testBase()
{
$h = new Url($this->container);
+ $this->assertEquals('http://localhost/', $h->base());
+
$_SERVER['PHP_SELF'] = '/';
- $_SERVER['SERVER_NAME'] = 'localhost';
+ $_SERVER['SERVER_NAME'] = 'kb';
$_SERVER['SERVER_PORT'] = 1234;
- $this->assertEquals('http://localhost:1234/', $h->base());
+ $this->assertEquals('http://kb:1234/', $h->base());
$c = new Config($this->container);
$c->save(array('application_url' => 'https://mykanboard/'));
diff --git a/tests/units/UserHelperTest.php b/tests/units/UserHelperTest.php
new file mode 100644
index 00000000..9129edd9
--- /dev/null
+++ b/tests/units/UserHelperTest.php
@@ -0,0 +1,16 @@
+<?php
+
+require_once __DIR__.'/Base.php';
+
+use Helper\User;
+
+class UserHelperTest extends Base
+{
+ public function testInitials()
+ {
+ $h = new User($this->container);
+
+ $this->assertEquals('CN', $h->getInitials('chuck norris'));
+ $this->assertEquals('A', $h->getInitials('admin'));
+ }
+}