diff --git a/app/Console/CssCommand.php b/app/Console/CssCommand.php index b4b14f46c..cf6f774b0 100644 --- a/app/Console/CssCommand.php +++ b/app/Console/CssCommand.php @@ -30,7 +30,6 @@ class CssCommand extends BaseCommand const CSS_DIST_PATH = 'assets/css/'; private $appFiles = [ - 'variables.css', 'base.css', 'links.css', 'titles.css', @@ -105,7 +104,9 @@ class CssCommand extends BaseCommand protected function execute(InputInterface $input, OutputInterface $output) { - $this->minifyFiles(self::CSS_SRC_PATH, $this->appFiles, 'app.min.css'); + $this->minifyFiles(self::CSS_SRC_PATH, array_merge(['themes'.DIRECTORY_SEPARATOR.'light.css'], $this->appFiles), 'light.min.css'); + $this->minifyFiles(self::CSS_SRC_PATH, array_merge(['themes'.DIRECTORY_SEPARATOR.'dark.css'], $this->appFiles), 'dark.min.css'); + $this->minifyFiles(self::CSS_SRC_PATH, array_merge(['themes'.DIRECTORY_SEPARATOR.'auto.css'], $this->appFiles), 'auto.min.css'); $this->minifyFiles(self::CSS_SRC_PATH, $this->printFiles, 'print.min.css'); $vendorBundle = concat_files($this->vendorFiles); diff --git a/app/Controller/UserCreationController.php b/app/Controller/UserCreationController.php index 27f1687bb..bd2f94b38 100644 --- a/app/Controller/UserCreationController.php +++ b/app/Controller/UserCreationController.php @@ -23,6 +23,7 @@ class UserCreationController extends BaseController public function show(array $values = array(), array $errors = array()) { $this->response->html($this->template->render('user_creation/show', array( + 'themes' => $this->themeModel->getThemes(), 'timezones' => $this->timezoneModel->getTimezones(true), 'languages' => $this->languageModel->getLanguages(true), 'roles' => $this->role->getApplicationRoles(), diff --git a/app/Controller/UserInviteController.php b/app/Controller/UserInviteController.php index 8c77940ce..a069d010e 100644 --- a/app/Controller/UserInviteController.php +++ b/app/Controller/UserInviteController.php @@ -46,6 +46,7 @@ class UserInviteController extends BaseController 'token' => $invite['token'], 'errors' => $errors, 'values' => $values + array('email' => $invite['email']), + 'themes' => $this->themeModel->getThemes(), 'timezones' => $this->timezoneModel->getTimezones(true), 'languages' => $this->languageModel->getLanguages(true), ))); diff --git a/app/Controller/UserModificationController.php b/app/Controller/UserModificationController.php index 645a2620e..be432f085 100644 --- a/app/Controller/UserModificationController.php +++ b/app/Controller/UserModificationController.php @@ -32,6 +32,7 @@ class UserModificationController extends BaseController 'values' => $values, 'errors' => $errors, 'user' => $user, + 'themes' => $this->themeModel->getThemes(), 'timezones' => $this->timezoneModel->getTimezones(true), 'languages' => $this->languageModel->getLanguages(true), 'roles' => $this->role->getApplicationRoles(), @@ -52,6 +53,7 @@ class UserModificationController extends BaseController 'username' => isset($values['username']) ? $values['username'] : '', 'name' => isset($values['name']) ? $values['name'] : '', 'email' => isset($values['email']) ? $values['email'] : '', + 'theme' => isset($values['theme']) ? $values['theme'] : '', 'timezone' => isset($values['timezone']) ? $values['timezone'] : '', 'language' => isset($values['language']) ? $values['language'] : '', 'filter' => isset($values['filter']) ? $values['filter'] : '', diff --git a/app/Controller/UserViewController.php b/app/Controller/UserViewController.php index eb9873797..e3b0f711e 100644 --- a/app/Controller/UserViewController.php +++ b/app/Controller/UserViewController.php @@ -43,6 +43,7 @@ class UserViewController extends BaseController $user = $this->getUser(); $this->response->html($this->helper->layout->user('user_view/show', array( 'user' => $user, + 'themes' => $this->themeModel->getThemes(), 'timezones' => $this->timezoneModel->getTimezones(true), 'languages' => $this->languageModel->getLanguages(true), ))); diff --git a/app/Core/Base.php b/app/Core/Base.php index 55bcc0e77..35a0c301d 100644 --- a/app/Core/Base.php +++ b/app/Core/Base.php @@ -147,6 +147,7 @@ use Pimple\Container; * @property \Kanboard\Model\TaskStatusModel $taskStatusModel * @property \Kanboard\Model\TaskTagModel $taskTagModel * @property \Kanboard\Model\TaskMetadataModel $taskMetadataModel + * @property \Kanboard\Model\ThemeModel $themeModel * @property \Kanboard\Model\TimezoneModel $timezoneModel * @property \Kanboard\Model\TransitionModel $transitionModel * @property \Kanboard\Model\UserModel $userModel diff --git a/app/Core/User/UserSession.php b/app/Core/User/UserSession.php index 808346de4..485ec8165 100644 --- a/app/Core/User/UserSession.php +++ b/app/Core/User/UserSession.php @@ -195,6 +195,21 @@ class UserSession extends Base return session_get('user')['timezone']; } + /** + * Get user theme + * + * @access public + * @return string + */ + public function getTheme() + { + if (! $this->isLogged()) { + return 'light'; + } + + return session_get('user')['theme']; + } + /** * Return true if subtask list toggle is active * diff --git a/app/Helper/UserHelper.php b/app/Helper/UserHelper.php index eaf431902..4f9f59646 100644 --- a/app/Helper/UserHelper.php +++ b/app/Helper/UserHelper.php @@ -12,6 +12,11 @@ use Kanboard\Core\Base; */ class UserHelper extends Base { + public function getTheme() + { + return $this->userSession->getTheme(); + } + /** * Return subtask list toggle value * diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php index 4171b0965..d19b65a2e 100644 --- a/app/Locale/bs_BA/translations.php +++ b/app/Locale/bs_BA/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/ca_ES/translations.php b/app/Locale/ca_ES/translations.php index ef0334bbe..0919ba828 100644 --- a/app/Locale/ca_ES/translations.php +++ b/app/Locale/ca_ES/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php index ecdc858f3..7038b1d64 100644 --- a/app/Locale/cs_CZ/translations.php +++ b/app/Locale/cs_CZ/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Změnit pořadí tohoto sloupce podle zadavatele (Z-A)', 'Reorder this column by due date (ASC)' => 'Změnit pořadí tohoto sloupce podle data vypršení platnosti (vzestupně)', 'Reorder this column by due date (DESC)' => 'Změnit pořadí tohoto sloupce podle data vypršení platnosti (sestupně)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s přesunul úkol #%d "%s" do projektu "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Úkol #%d "%s" byl přesunut do projektu "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Pokud je datum vypršení platnosti menší než určitý počet dní, přesuňte úlohu do jiného sloupce', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php index cb9428d6c..9acad2574 100644 --- a/app/Locale/da_DK/translations.php +++ b/app/Locale/da_DK/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Sorter kolonne efter ansvarlig (Z-A)', 'Reorder this column by due date (ASC)' => 'Sorter kolonne efter udløbstid (ASC)', 'Reorder this column by due date (DESC)' => 'Sorter kolonne efter udløbstid (DESC)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s flyttet opgave #%d "%s" til projekt "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Opgave #%d "%s" er flyttet til projekt "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Flyt opgave til anden kolonne når afleveringsdato er mindre end et bestemt antal dage', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php index 17bd753c2..41cff8504 100644 --- a/app/Locale/de_DE/translations.php +++ b/app/Locale/de_DE/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Spalte nach Zuständigem ordnen (Z-A)', 'Reorder this column by due date (ASC)' => 'Spalte nach Fälligkeitsdatum ordnen (aufsteigend)', 'Reorder this column by due date (DESC)' => 'Spalte nach Fälligkeitsdatum ordnen (absteigend)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s hat die Aufgabe #%d "%s" in das Projekt "%s" verschoben', 'Task #%d "%s" has been moved to the project "%s"' => 'Aufgabe #%d "%s" wurde in das Projekt "%s" verschoben', 'Move the task to another column when the due date is less than a certain number of days' => 'Verschieben der Aufgabe in eine andere Spalte, wenn die Fälligkeit kleiner als eine bestimmte Anzahl von Tagen ist', @@ -1434,4 +1436,9 @@ return array( 'Copy' => 'Kopieren', 'Tasks copied successfully.' => 'Die Aufgaben wurden erfolgreich kopiert.', 'Unable to copy tasks.' => 'Die Aufgaben konnten nicht kopiert werden.', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/de_DE_du/translations.php b/app/Locale/de_DE_du/translations.php index 7b4fd304a..c4d4e5bfc 100644 --- a/app/Locale/de_DE_du/translations.php +++ b/app/Locale/de_DE_du/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Spalte nach Zuständigem ordnen (Z-A)', 'Reorder this column by due date (ASC)' => 'Spalte nach Fälligkeitsdatum ordnen (aufsteigend)', 'Reorder this column by due date (DESC)' => 'Spalte nach Fälligkeitsdatum ordnen (absteigend)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s hat die Aufgabe #%d "%s" in das Projekt "%s" verschoben', 'Task #%d "%s" has been moved to the project "%s"' => 'Aufgabe #%d "%s" wurde in das Projekt "%s" verschoben', 'Move the task to another column when the due date is less than a certain number of days' => 'Verschieben der Aufgabe in eine andere Spalte, wenn die Fälligkeit kleiner als eine bestimmte Anzahl von Tagen ist', @@ -1434,4 +1436,9 @@ return array( 'Copy' => 'Kopieren', 'Tasks copied successfully.' => 'Die Aufgaben wurden erfolgreich kopiert.', 'Unable to copy tasks.' => 'Die Aufgaben konnten nicht kopiert werden.', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php index baa3af046..ca2b0e08d 100644 --- a/app/Locale/el_GR/translations.php +++ b/app/Locale/el_GR/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php index 976cef2d6..524f15b5e 100644 --- a/app/Locale/es_ES/translations.php +++ b/app/Locale/es_ES/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Reordenar esta columna por persona asignada (Z-A)', 'Reorder this column by due date (ASC)' => 'Reordenar esta columna por fecha de vencimiento (ASC)', 'Reorder this column by due date (DESC)' => 'Reordenar esta columna por fecha de vencimiento (DESC)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s movió la tarea #%d "%s" al proyecto "%s', 'Task #%d "%s" has been moved to the project "%s"' => 'La tarea #%d "%s" se movió al proyecto "%s', 'Move the task to another column when the due date is less than a certain number of days' => 'Mueva la tarea a otra columna cuando la fecha de vencimiento sea inferior a un cierto número de días', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/es_VE/translations.php b/app/Locale/es_VE/translations.php index ad787793c..bd6f117e0 100644 --- a/app/Locale/es_VE/translations.php +++ b/app/Locale/es_VE/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Reordenar esta columna por persona asignada (Z-A)', 'Reorder this column by due date (ASC)' => 'Reordenar esta columna por fecha de vencimiento (ASC)', 'Reorder this column by due date (DESC)' => 'Reordenar esta columna por fecha de vencimiento (DESC)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s movió la tarea #%d "%s" al proyecto "%s', 'Task #%d "%s" has been moved to the project "%s"' => 'La tarea #%d "%s" se movió al proyecto "%s', 'Move the task to another column when the due date is less than a certain number of days' => 'Mueva la tarea a otra columna cuando la fecha de vencimiento sea inferior a un cierto número de días', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/fa_IR/translations.php b/app/Locale/fa_IR/translations.php index 685a65d40..5a00b07e7 100644 --- a/app/Locale/fa_IR/translations.php +++ b/app/Locale/fa_IR/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'مرتب سازی این ستون بر اساس شخص محول شده (حروف الفبا نزولی)', 'Reorder this column by due date (ASC)' => 'مرتب سازی این ستون بر اساس تاریخ سررسید (صعودی)', 'Reorder this column by due date (DESC)' => 'مرتب سازی این ستون بر اساس تاریخ سررسید (نزولی)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => 'کاربر %s کار #%d "%s" را به پروژه "%s" منتقل کرد.', 'Task #%d "%s" has been moved to the project "%s"' => 'کار #%d "%s" به پروژه "%s" منتقل شد.', 'Move the task to another column when the due date is less than a certain number of days' => 'هنگامی که تاریخ سررسید کمتر از تعداد روز مشخصی شد، کار را به ستونی دیگر منتقل کن', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php index 16d21d893..9bb395a8c 100644 --- a/app/Locale/fi_FI/translations.php +++ b/app/Locale/fi_FI/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php index 6b195fa9b..f72fe82d9 100644 --- a/app/Locale/fr_FR/translations.php +++ b/app/Locale/fr_FR/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Réorganiser cette colonne par assigné (Z-A)', 'Reorder this column by due date (ASC)' => 'Réorganiser cette colonne par date d\'échéance (ASC)', 'Reorder this column by due date (DESC)' => 'Réorganiser cette colonne par date d\'échéance (DESC)', + 'Reorder this column by id (ASC)' => 'Réorganiser cette colonne par ID (ASC)', + 'Reorder this column by id (DESC)' => 'Réorganiser cette colonne par ID (DESC)', '%s moved the task #%d "%s" to the project "%s"' => '%s a déplacé la tâche #%d « %s » vers le projet « %s »', 'Task #%d "%s" has been moved to the project "%s"' => 'La tâche #%d « %s » a été déplacée vers le projet « %s »', 'Move the task to another column when the due date is less than a certain number of days' => 'Déplacer la tâche dans une autre colonne lorsque la date d\'échéance est inférieure à un certain nombre de jour', @@ -1434,4 +1436,9 @@ return array( 'Copy' => 'Copier', 'Tasks copied successfully.' => 'Tâches copiées avec succès.', 'Unable to copy tasks.' => 'Impossible de copier les tâches.', + 'Theme' => 'Thème', + 'Theme:' => 'Thème :', + 'Light theme' => 'Thème clair', + 'Dark theme' => 'Thème sombre', + 'Automatic theme - Sync with system' => 'Thème automatique - Se synchronize avec le système d\'exploitation', ); diff --git a/app/Locale/hr_HR/translations.php b/app/Locale/hr_HR/translations.php index d05fa6a94..c134f2c3e 100644 --- a/app/Locale/hr_HR/translations.php +++ b/app/Locale/hr_HR/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Presloži ovaj stupac po izvršitelju (Ž-A)', 'Reorder this column by due date (ASC)' => 'Presloži ovaj stupac po roku završetka (UZLAZNO)', 'Reorder this column by due date (DESC)' => 'Presloži ovaj stupac po roku završetka (SILAZNO)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s je premjestio/la zadatak #%d "%s" u projekt "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Zadatak #%d "%s" je premješten u projekt "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Pomakni zadatak u drugi stupac kada je datum roka završetka kraći od određenog broja dana', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php index dce92a323..4794bd4c4 100644 --- a/app/Locale/hu_HU/translations.php +++ b/app/Locale/hu_HU/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Oszlop átrendezése felelős szerint (Z-A)', 'Reorder this column by due date (ASC)' => 'Oszlop átrendezése határidő szerint (növekvő)', 'Reorder this column by due date (DESC)' => 'Oszlop átrendezése határidő szerint (csökkenő)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s áthelyezte a(z) #%d. „%s” feladatot ebbe a projektbe: „%s”', 'Task #%d "%s" has been moved to the project "%s"' => 'A(z) #%d. „%s” feladat áthelyezésre került ebbe a projektbe: „%s”', 'Move the task to another column when the due date is less than a certain number of days' => 'A feladat áthelyezése egy másik oszlopba, ha a határidő kevesebb egy bizonyos számú napnál', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php index 09c052d24..e6a7e0328 100644 --- a/app/Locale/id_ID/translations.php +++ b/app/Locale/id_ID/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Susun ulang kolom ini oleh penerima tugas (Z-A)', 'Reorder this column by due date (ASC)' => 'Susun ulang kolom ini sebelum tanggal jatuh tempo (ASC)', 'Reorder this column by due date (DESC)' => 'Susun ulang kolom ini berdasarkan tanggal jatuh tempo (DESC)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s memindahkan tugas #%d "%s" ke proyek "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Task #%d "%s" telah dipindahkan ke proyek "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Pindahkan tugas ke kolom lain ketika batas waktu kurang dari jumlah hari tertentu', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php index 78fda2460..5a404bf81 100644 --- a/app/Locale/it_IT/translations.php +++ b/app/Locale/it_IT/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Ordina questa colonna per assegnatario (DESC)', 'Reorder this column by due date (ASC)' => 'Riordina questa colonna per dat di scadenza (ASCENDENTE)', 'Reorder this column by due date (DESC)' => 'Riordina questa colonna per dat di scadenza (DISCENDENTE)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s ha spostato il compito #%d "%s" al progetto "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Il compito #%d "%s"è stato spostato al progetto "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Sposta il compito ad un\'altra colonna se la dat di scadenza è più vicina di un certo numero di giorni', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php index d617d98ae..4882feda8 100644 --- a/app/Locale/ja_JP/translations.php +++ b/app/Locale/ja_JP/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => '担当者で並び替える(Z-A)', 'Reorder this column by due date (ASC)' => '期限で並び替える(昇順)', 'Reorder this column by due date (DESC)' => '期限で並び替える(降順)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s がタスク #%d "%s" をプロジェクト "%s" に移動しました', 'Task #%d "%s" has been moved to the project "%s"' => 'タスク#%d "%s" はプロジェクト "%s" へ移動されました ', 'Move the task to another column when the due date is less than a certain number of days' => '期限までの日数が規定値以下になったら、タスクを別のカラムに移動する', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php index f67da54b1..9fc92c325 100644 --- a/app/Locale/ko_KR/translations.php +++ b/app/Locale/ko_KR/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/mk_MK/translations.php b/app/Locale/mk_MK/translations.php index 5ec141ff5..32edf2ab3 100644 --- a/app/Locale/mk_MK/translations.php +++ b/app/Locale/mk_MK/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Променете го редоследот на оваа колона од извршител (Ш-A)', 'Reorder this column by due date (ASC)' => 'Променете го редоследот на оваа колона според рок за завршување (РАСТЕЧКИ)', 'Reorder this column by due date (DESC)' => 'Променете го редоследот на оваа колона според рок за завршување (ОПАЃАЧКИ)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s ја премести задачата #%d "%s" за да проектира "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Задачата #%d "%s" е преместена во проектот "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Поместете ја задачата во друга колона кога рок за завршување е пократок од одреден број денови', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php index 8bcc4e56d..4cfcc8290 100644 --- a/app/Locale/my_MY/translations.php +++ b/app/Locale/my_MY/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php index e6104ff56..d314f6358 100644 --- a/app/Locale/nb_NO/translations.php +++ b/app/Locale/nb_NO/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php index bd5c0bd0d..96ddab196 100644 --- a/app/Locale/nl_NL/translations.php +++ b/app/Locale/nl_NL/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php index fe4491be7..a3e1ead42 100644 --- a/app/Locale/pl_PL/translations.php +++ b/app/Locale/pl_PL/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Sortuj kolumnę po osobie przydzielonej do zadania (malejąco)', 'Reorder this column by due date (ASC)' => 'Sortuj kolumnę po dacie zakończenia (rosnąco)', 'Reorder this column by due date (DESC)' => 'Sortuj kolumnę po dacie zakończenia (malejąco)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s przeniósł zadanie nr %d "%s" do projektu "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Zadanie nr %d "%s" zostało przeniesione do projektu "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Przenieś zadanie do innej kolumny, kiedy data zakończenia jest oddalona o określoną liczbę dni od aktualnej daty', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php index b701e433f..36a1a3008 100644 --- a/app/Locale/pt_BR/translations.php +++ b/app/Locale/pt_BR/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Reordenar esta coluna por designado (Z-A)', 'Reorder this column by due date (ASC)' => 'Reordenar esta coluna por data fim estimada (crescente)', 'Reorder this column by due date (DESC)' => 'Reordenar esta coluna por data fim estimada (decrescente)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s moveu a tarefa #%d "%s" para o projeto "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Tarefa #%d "%s" foi movida para o projeto "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Mover a tarefa para outra coluna quando a data fim estimada for menor que uma quantidade de dias', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php index c23613ee8..8c9ee0ef2 100644 --- a/app/Locale/pt_PT/translations.php +++ b/app/Locale/pt_PT/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Reordenar esta coluna por assignado (Z-A)', 'Reorder this column by due date (ASC)' => 'Reordenar esta coluna por data de vencimento (ASC)', 'Reorder this column by due date (DESC)' => 'Reordenar esta coluna por data de vencimento (DESC)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s moveu a tarefa #%d "%s" para o projeto "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Tarefa #%d "%s" foi movida para o projeto "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Mover a tarefa para outra coluna quando a data de vencimento é menos que um certo numero de dias', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/ro_RO/translations.php b/app/Locale/ro_RO/translations.php index e0d36a8b2..8bce825c1 100644 --- a/app/Locale/ro_RO/translations.php +++ b/app/Locale/ro_RO/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php index ea32c5df6..e001b190a 100644 --- a/app/Locale/ru_RU/translations.php +++ b/app/Locale/ru_RU/translations.php @@ -1391,8 +1391,6 @@ return array( 'Destination swimlane' => 'Целевая дорожка', 'Assign a category when the task is moved to a specific swimlane' => 'Присвоить категорию, если задача перемещена в определенную дорожку', 'Move the task to another swimlane when the category is changed' => 'Переместить задачу в другую дорожку, если категория изменена', - 'Reorder this column by id (ASC)' => 'Упорядочить колонку по ID (ASC)', - 'Reorder this column by id (DESC)' => 'Упорядочить колонку по ID (DESC)', 'Reorder this column by priority (ASC)' => 'Упорядочить колонку по приоритету (ASC)', 'Reorder this column by priority (DESC)' => 'Упорядочить колонку по приоритету (DESC)', 'Reorder this column by assignee and priority (ASC)' => 'Упорядочить колонку по назначенному пользователю и приоритету (ASC)', @@ -1401,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Упорядочить колонку по назначенному пользователю (Я-А)', 'Reorder this column by due date (ASC)' => 'Упорядочить колонку по дате окончания (ASC)', 'Reorder this column by due date (DESC)' => 'Упорядочить колонку по дате окончания (DESC)', + 'Reorder this column by id (ASC)' => 'Упорядочить колонку по ID (ASC)', + 'Reorder this column by id (DESC)' => 'Упорядочить колонку по ID (DESC)', '%s moved the task #%d "%s" to the project "%s"' => '%s переместил задачу #%d "%s" в проект "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Задача #%d "%s" перемещена в проект "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Переместить задачу в другую колонку, если дата окончания меньше заданного количества дней', @@ -1436,4 +1436,9 @@ return array( 'Copy' => 'Копировать', 'Tasks copied successfully.' => 'Задачи успешно скопированы.', 'Unable to copy tasks.' => 'Не удалось скопировать задачи.', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/sk_SK/translations.php b/app/Locale/sk_SK/translations.php index c72f52f35..08e0ca6e0 100644 --- a/app/Locale/sk_SK/translations.php +++ b/app/Locale/sk_SK/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Zoradiť stĺpec podľa pridelenia (Z-A)', 'Reorder this column by due date (ASC)' => 'Zoradiť stĺpec podľa termínu ukončenia (VZOST)', 'Reorder this column by due date (DESC)' => 'Zoradiť stĺpec podľa termínu ukončenia (ZOST)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s presunul/a úlohu č. %d „%s” do projektu „%s”', 'Task #%d "%s" has been moved to the project "%s"' => 'Úloha č. %d „%s” bola presunutá do projektu „%s”', 'Move the task to another column when the due date is less than a certain number of days' => 'Presunúť úlohu do iného stĺpca, keď je do termínu ukončenia menej ako zadaný počet dní', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php index 655677e0f..3f1230564 100644 --- a/app/Locale/sr_Latn_RS/translations.php +++ b/app/Locale/sr_Latn_RS/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Promenite redosled ove kolone prema izvršiocu (Ž-A)', 'Reorder this column by due date (ASC)' => 'Promenite redosled ove kolone prema roku završetka (UZLAZNO)', 'Reorder this column by due date (DESC)' => 'Promenite redosled ove kolone prema roku završetka (SILAZNO)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s je pomerio/la zadatak #%d "%s" u projekat "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Zadatak #%d "%s" je premešten u projekat "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Pomeri zadatak u neku drugu kolonu kada je datum roka završetka kraći od određenog broja dana', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php index aaa975689..42a304c6a 100644 --- a/app/Locale/sv_SE/translations.php +++ b/app/Locale/sv_SE/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Ändra ordning i denna kolumnen enligt tilldelning (Z-A)', 'Reorder this column by due date (ASC)' => 'Ändra ordning i denna kolumnen enligt förfallodatum (stigande)', 'Reorder this column by due date (DESC)' => 'Ändra ordning i denna kolumnen enligt förfallodatum (fallande)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s flyttade uppgift #%d "%s" till projektet "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Uppgift #%d "%s" har flyttats till projektet "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Flytta uppgiften till en annan kolumn när förfallodatum är närmare än ett visst antal dagar', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php index 89899ab26..17aa9d508 100644 --- a/app/Locale/th_TH/translations.php +++ b/app/Locale/th_TH/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php index f919005a7..c9e5ea3d9 100644 --- a/app/Locale/tr_TR/translations.php +++ b/app/Locale/tr_TR/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Kolonu atanana göre azalan sırala (Z-A)', 'Reorder this column by due date (ASC)' => 'Kolonu hedef tarihe göre artan sırala', 'Reorder this column by due date (DESC)' => 'Kolonu hedef tarihe göre azalan sırala', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s görevi taşıdı #%d "%s" "%s" projesine', 'Task #%d "%s" has been moved to the project "%s"' => 'Görev #%d "%s" tarafından "%s" projesine taşındı', 'Move the task to another column when the due date is less than a certain number of days' => 'Hedef tarihe belirli bir gün sayısından az kaldığında görevi başka kolona taşı', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/uk_UA/translations.php b/app/Locale/uk_UA/translations.php index 2062cea65..474941f51 100644 --- a/app/Locale/uk_UA/translations.php +++ b/app/Locale/uk_UA/translations.php @@ -1391,8 +1391,6 @@ return array( 'Destination swimlane' => 'Доріжка призначення', 'Assign a category when the task is moved to a specific swimlane' => 'Призначити категорію, коли ця задача мереміщена на вказану доріжку', 'Move the task to another swimlane when the category is changed' => 'Перемістити цю задачу на іншу доріжку при зміні категорії', - 'Reorder this column by id (ASC)' => 'Впорядкувати цю колонку за ID (ASC)', - 'Reorder this column by id (DESC)' => 'Впорядкувати цю колонку за ID (DESC)', 'Reorder this column by priority (ASC)' => 'Впорядкувати цю колонку за зростанням пріоритету', 'Reorder this column by priority (DESC)' => 'Впорядкувати цю колонку за спаданням пріоритету', 'Reorder this column by assignee and priority (ASC)' => 'Впорядкувати цю колонку за відповідальним та зростанням пріоритету', @@ -1401,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => 'Впорядкувати цю колонку за відповідальним (Я-А)', 'Reorder this column by due date (ASC)' => 'Впорядкувати цю колонку за зростанням терміну виконання', 'Reorder this column by due date (DESC)' => 'Впорядкувати цю колонку за спаданням терміну виконання', + 'Reorder this column by id (ASC)' => 'Впорядкувати цю колонку за ID (ASC)', + 'Reorder this column by id (DESC)' => 'Впорядкувати цю колонку за ID (DESC)', '%s moved the task #%d "%s" to the project "%s"' => '%s перемістив задачу #%d "%s" до проєкту "%s"', 'Task #%d "%s" has been moved to the project "%s"' => 'Задача #%d "%s" переміщено до проєкту "%s"', 'Move the task to another column when the due date is less than a certain number of days' => 'Перемістити цю задачу до іншої колонки, коли до терміну виконання залишилося менше вказаного числа днів', @@ -1436,4 +1436,9 @@ return array( 'Copy' => 'Копіювати', 'Tasks copied successfully.' => 'Завдання успішно скопійовано.', 'Unable to copy tasks.' => 'Не вдалося скопіювати завдання.', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/vi_VN/translations.php b/app/Locale/vi_VN/translations.php index 8511c9b0b..15bc5e8ad 100644 --- a/app/Locale/vi_VN/translations.php +++ b/app/Locale/vi_VN/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php index 41f1ae988..98cf38a3f 100644 --- a/app/Locale/zh_CN/translations.php +++ b/app/Locale/zh_CN/translations.php @@ -1399,6 +1399,8 @@ return array( 'Reorder this column by assignee (Z-A)' => '按指派重排(Z-A)', 'Reorder this column by due date (ASC)' => '按逾期时间重排(升序)', 'Reorder this column by due date (DESC)' => '按逾期时间重排(降序)', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', '%s moved the task #%d "%s" to the project "%s"' => '%s 已将任务 #%d "%s" 移动到项目"%s" ', 'Task #%d "%s" has been moved to the project "%s"' => '任务 #%d "%s" 已被移动到项目 "%s"', 'Move the task to another column when the due date is less than a certain number of days' => '当任务即将在指定天数内超期时移动到另一栏', @@ -1434,4 +1436,9 @@ return array( 'Copy' => '复制', 'Tasks copied successfully.' => '任务复制成功。', 'Unable to copy tasks.' => '无法复制任务。', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Locale/zh_TW/translations.php b/app/Locale/zh_TW/translations.php index db1d301ba..995c1e863 100644 --- a/app/Locale/zh_TW/translations.php +++ b/app/Locale/zh_TW/translations.php @@ -1399,6 +1399,8 @@ return array( // 'Reorder this column by assignee (Z-A)' => '', // 'Reorder this column by due date (ASC)' => '', // 'Reorder this column by due date (DESC)' => '', + // 'Reorder this column by id (ASC)' => '', + // 'Reorder this column by id (DESC)' => '', // '%s moved the task #%d "%s" to the project "%s"' => '', // 'Task #%d "%s" has been moved to the project "%s"' => '', // 'Move the task to another column when the due date is less than a certain number of days' => '', @@ -1434,4 +1436,9 @@ return array( // 'Copy' => '', // 'Tasks copied successfully.' => '', // 'Unable to copy tasks.' => '', + // 'Theme' => '', + // 'Theme:' => '', + // 'Light theme' => '', + // 'Dark theme' => '', + // 'Automatic theme - Sync with system' => '', ); diff --git a/app/Model/ThemeModel.php b/app/Model/ThemeModel.php new file mode 100644 index 000000000..3ec9f9579 --- /dev/null +++ b/app/Model/ThemeModel.php @@ -0,0 +1,29 @@ + t('Light theme'), + 'dark' => t('Dark theme'), + 'auto' => t('Automatic theme - Sync with system'), + ]; + } +} diff --git a/app/Schema/Mssql.php b/app/Schema/Mssql.php index 9f4643881..1834caeea 100644 --- a/app/Schema/Mssql.php +++ b/app/Schema/Mssql.php @@ -8,7 +8,12 @@ use PDO; use Kanboard\Core\Security\Token; use Kanboard\Core\Security\Role; -const VERSION = 1; +const VERSION = 2; + +function version_2(PDO $pdo) +{ + $pdo->exec("ALTER TABLE dbo.users ADD COLUMN theme nvarchar(50) DEFAULT N'light' NOT NULL"); +} function version_1(PDO $pdo) { diff --git a/app/Schema/Mysql.php b/app/Schema/Mysql.php index ca1d1a8e3..8037adaba 100644 --- a/app/Schema/Mysql.php +++ b/app/Schema/Mysql.php @@ -8,7 +8,12 @@ use PDO; use Kanboard\Core\Security\Token; use Kanboard\Core\Security\Role; -const VERSION = 137; +const VERSION = 138; + +function version_138(PDO $pdo) +{ + $pdo->exec("ALTER TABLE users ADD COLUMN theme VARCHAR(50) DEFAULT 'light' NOT NULL"); +} function version_137(PDO $pdo) { diff --git a/app/Schema/Postgres.php b/app/Schema/Postgres.php index de5282ee4..8e18fc270 100644 --- a/app/Schema/Postgres.php +++ b/app/Schema/Postgres.php @@ -8,7 +8,12 @@ use PDO; use Kanboard\Core\Security\Token; use Kanboard\Core\Security\Role; -const VERSION = 115; +const VERSION = 116; + +function version_116(PDO $pdo) +{ + $pdo->exec("ALTER TABLE users ADD COLUMN theme TEXT DEFAULT 'light' NOT NULL"); +} function version_115(PDO $pdo) { diff --git a/app/Schema/Sqlite.php b/app/Schema/Sqlite.php index cf0df92c7..f811312c1 100644 --- a/app/Schema/Sqlite.php +++ b/app/Schema/Sqlite.php @@ -8,9 +8,14 @@ use Kanboard\Core\Security\Token; use Kanboard\Core\Security\Role; use PDO; -const VERSION = 126; +const VERSION = 127; +function version_127(PDO $pdo) +{ + $pdo->exec("ALTER TABLE users ADD COLUMN theme TEXT DEFAULT 'light' NOT NULL"); +} + function version_126(PDO $pdo) { $pdo->exec('ALTER TABLE subtask_time_tracking RENAME TO subtask_time_tracking_old'); diff --git a/app/ServiceProvider/ClassProvider.php b/app/ServiceProvider/ClassProvider.php index c1d823902..f215956bc 100644 --- a/app/ServiceProvider/ClassProvider.php +++ b/app/ServiceProvider/ClassProvider.php @@ -90,6 +90,7 @@ class ClassProvider implements ServiceProviderInterface 'TaskStatusModel', 'TaskTagModel', 'TaskMetadataModel', + 'ThemeModel', 'TimezoneModel', 'TransitionModel', 'UserModel', diff --git a/app/Template/layout.php b/app/Template/layout.php index 4c70c59c6..d48d8d1ee 100644 --- a/app/Template/layout.php +++ b/app/Template/layout.php @@ -14,7 +14,11 @@ asset->colorCss() ?> asset->css('assets/css/vendor.min.css') ?> - asset->css('assets/css/app.min.css') ?> + + asset->css('assets/css/'.$this->user->getTheme().'.min.css') ?> + + asset->css('assets/css/light.min.css') ?> + asset->css('assets/css/print.min.css', true, 'print') ?> asset->customCss() ?> diff --git a/app/Template/user_modification/show.php b/app/Template/user_modification/show.php index 2977091fb..cb08fd8d9 100644 --- a/app/Template/user_modification/show.php +++ b/app/Template/user_modification/show.php @@ -19,6 +19,9 @@
+ form->label(t('Theme'), 'theme') ?> + form->select('theme', $themes, $values, $errors, array($this->user->hasAccess('UserModificationController', 'show/edit_theme') ? '' : 'disabled')) ?> + form->label(t('Timezone'), 'timezone') ?> form->select('timezone', $timezones, $values, $errors, array($this->user->hasAccess('UserModificationController', 'show/edit_timezone') ? '' : 'disabled')) ?> diff --git a/app/Template/user_view/show.php b/app/Template/user_view/show.php index 1c4b5f996..b7144089c 100644 --- a/app/Template/user_view/show.php +++ b/app/Template/user_view/show.php @@ -32,6 +32,7 @@