Add bulk subtasks creation

This commit is contained in:
Frederic Guillot
2017-10-20 14:47:04 -07:00
parent f1ef49823c
commit ed98f95cfa
31 changed files with 145 additions and 75 deletions

View File

@@ -67,29 +67,50 @@ class SubtaskController extends BaseController
$task = $this->getTask(); $task = $this->getTask();
$values = $this->request->getValues(); $values = $this->request->getValues();
$values['task_id'] = $task['id']; $values['task_id'] = $task['id'];
$subtasks = explode("\r\n", isset($values['title']) ? $values['title'] : '');
$subtasksAdded = 0;
list($valid, $errors) = $this->subtaskValidator->validateCreation($values); foreach ($subtasks as $subtask) {
$subtask = trim($subtask);
if ($valid) { if (! empty($subtask)) {
if ($this->subtaskModel->create($values) !== false) { $subtaskValues = $values;
$this->flash->success(t('Sub-task added successfully.')); $subtaskValues['title'] = $subtask;
} else {
$this->flash->failure(t('Unable to create your sub-task.')); list($valid, $errors) = $this->subtaskValidator->validateCreation($subtaskValues);
if (! $valid) {
$this->create($values, $errors);
return false;
}
if (! $this->subtaskModel->create($subtaskValues)) {
$this->flash->failure(t('Unable to create your sub-task.'));
$this->response->redirect($this->helper->url->to('TaskViewController', 'show', array('project_id' => $task['project_id'], 'task_id' => $task['id']), 'subtasks'), true);
return false;
}
$subtasksAdded++;
} }
if (isset($values['another_subtask']) && $values['another_subtask'] == 1) {
return $this->create(array(
'project_id' => $task['project_id'],
'task_id' => $task['id'],
'user_id' => $values['user_id'],
'another_subtask' => 1
));
}
return $this->response->redirect($this->helper->url->to('TaskViewController', 'show', array('project_id' => $task['project_id'], 'task_id' => $task['id']), 'subtasks'), true);
} }
return $this->create($values, $errors); if (isset($values['another_subtask']) && $values['another_subtask'] == 1) {
return $this->create(array(
'project_id' => $task['project_id'],
'task_id' => $task['id'],
'user_id' => $values['user_id'],
'another_subtask' => 1,
'subtasks_added' => $subtasksAdded,
));
} else if ($subtasksAdded > 0) {
if ($subtasksAdded === 1) {
$this->flash->success(t('Subtask added successfully.'));
} else {
$this->flash->success(t('%d subtasks added successfully.', $subtasksAdded));
}
}
$this->response->redirect($this->helper->url->to('TaskViewController', 'show', array('project_id' => $task['project_id'], 'task_id' => $task['id']), 'subtasks'), true);
} }
/** /**

View File

@@ -92,6 +92,17 @@ class SubtaskHelper extends Base
return $html; return $html;
} }
public function renderBulkTitleField(array $values, array $errors = array(), array $attributes = array())
{
$attributes = array_merge(array('tabindex="1"', 'required'), $attributes);
$html = $this->helper->form->label(t('Title'), 'title');
$html .= $this->helper->form->textarea('title', $values, $errors, $attributes);
$html .= '<p class="form-help">'.t('Enter one subtask by line.').'</p>';
return $html;
}
public function renderTitleField(array $values, array $errors = array(), array $attributes = array()) public function renderTitleField(array $values, array $errors = array(), array $attributes = array())
{ {
$attributes = array_merge(array('tabindex="1"', 'required', 'maxlength="255"'), $attributes); $attributes = array_merge(array('tabindex="1"', 'required', 'maxlength="255"'), $attributes);

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Pod-zadatak uspješno ažuriran.', 'Sub-task updated successfully.' => 'Pod-zadatak uspješno ažuriran.',
'Unable to update your sub-task.' => 'Nemoguće ažurirati pod-zadatak.', 'Unable to update your sub-task.' => 'Nemoguće ažurirati pod-zadatak.',
'Unable to create your sub-task.' => 'Nemoguće dodati pod-zadatak.', 'Unable to create your sub-task.' => 'Nemoguće dodati pod-zadatak.',
'Sub-task added successfully.' => 'Pod-zadatak uspješno dodan.',
'Maximum size: ' => 'Maksimalna veličina: ', 'Maximum size: ' => 'Maksimalna veličina: ',
'Display another project' => 'Prikaži drugi projekat', 'Display another project' => 'Prikaži drugi projekat',
'Created by %s' => 'Kreirao %s', 'Created by %s' => 'Kreirao %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Pregled', 'Preview' => 'Pregled',
'Write' => 'Piši', 'Write' => 'Piši',
'Write your text in Markdown' => 'Upiši tekst u Markdown', 'Write your text in Markdown' => 'Upiši tekst u Markdown',
'New External Task: %s' => 'Novi vanjski zadatak: %s',
'No personal API access token registered.' => 'Nema registrovanog ličnog pristupnog API tokena', 'No personal API access token registered.' => 'Nema registrovanog ličnog pristupnog API tokena',
'Your personal API access token is "%s"' => 'Tvoj lični pristupni API token je: "%s"', 'Your personal API access token is "%s"' => 'Tvoj lični pristupni API token je: "%s"',
'Remove your token' => 'Ukloni svoj token', 'Remove your token' => 'Ukloni svoj token',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Subtasca actualitzat correctament.', 'Sub-task updated successfully.' => 'Subtasca actualitzat correctament.',
'Unable to update your sub-task.' => 'No es pot actualitzar el seu sub-tasques.', 'Unable to update your sub-task.' => 'No es pot actualitzar el seu sub-tasques.',
'Unable to create your sub-task.' => 'No es pot crear el sub-tasques.', 'Unable to create your sub-task.' => 'No es pot crear el sub-tasques.',
'Sub-task added successfully.' => 'Subtasca afegit correctament.',
'Maximum size: ' => 'Mida màxima: ', 'Maximum size: ' => 'Mida màxima: ',
'Display another project' => 'Mostra un altre projecte', 'Display another project' => 'Mostra un altre projecte',
'Created by %s' => 'Creat per %s', 'Created by %s' => 'Creat per %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Vista prèvia', 'Preview' => 'Vista prèvia',
'Write' => 'escriure', 'Write' => 'escriure',
'Write your text in Markdown' => 'Escriure el text en Markdown', 'Write your text in Markdown' => 'Escriure el text en Markdown',
'New External Task: %s' => 'Nova tasca externa: %s',
'No personal API access token registered.' => 'Sense accés a l\'API personals símbol registrat.', 'No personal API access token registered.' => 'Sense accés a l\'API personals símbol registrat.',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
'Remove your token' => 'Traieu el testimoni', 'Remove your token' => 'Traieu el testimoni',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Dílčí úkol byl aktualizován.', 'Sub-task updated successfully.' => 'Dílčí úkol byl aktualizován.',
'Unable to update your sub-task.' => 'Nelze aktualizovat dílčí úkol.', 'Unable to update your sub-task.' => 'Nelze aktualizovat dílčí úkol.',
'Unable to create your sub-task.' => 'Nelze vytvořit dílčí úkol.', 'Unable to create your sub-task.' => 'Nelze vytvořit dílčí úkol.',
'Sub-task added successfully.' => 'Dílčí úkol byl úspěšně přidán.',
'Maximum size: ' => 'Maximální velikost: ', 'Maximum size: ' => 'Maximální velikost: ',
'Display another project' => 'Zobrazit jiný projekt', 'Display another project' => 'Zobrazit jiný projekt',
'Created by %s' => 'Vytvořeno uživatelem %s', 'Created by %s' => 'Vytvořeno uživatelem %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Under-opgaven er opdateret.', 'Sub-task updated successfully.' => 'Under-opgaven er opdateret.',
'Unable to update your sub-task.' => 'Under-opgaven kunne ikke opdateres.', 'Unable to update your sub-task.' => 'Under-opgaven kunne ikke opdateres.',
'Unable to create your sub-task.' => 'Under-opgaven kunne ikke oprettes.', 'Unable to create your sub-task.' => 'Under-opgaven kunne ikke oprettes.',
'Sub-task added successfully.' => 'Under-opgaven er tilføjet.',
'Maximum size: ' => 'Maksimum størrelse: ', 'Maximum size: ' => 'Maksimum størrelse: ',
'Display another project' => 'Vis et andet projekt...', 'Display another project' => 'Vis et andet projekt...',
'Created by %s' => 'Oprettet af %s', 'Created by %s' => 'Oprettet af %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Forhåndsvisning', 'Preview' => 'Forhåndsvisning',
'Write' => 'Skriv', 'Write' => 'Skriv',
'Write your text in Markdown' => 'Skriv din tekst i Markdown', 'Write your text in Markdown' => 'Skriv din tekst i Markdown',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Teilaufgabe erfolgreich aktualisiert.', 'Sub-task updated successfully.' => 'Teilaufgabe erfolgreich aktualisiert.',
'Unable to update your sub-task.' => 'Aktualisieren der Teilaufgabe nicht möglich.', 'Unable to update your sub-task.' => 'Aktualisieren der Teilaufgabe nicht möglich.',
'Unable to create your sub-task.' => 'Erstellen der Teilaufgabe nicht möglich.', 'Unable to create your sub-task.' => 'Erstellen der Teilaufgabe nicht möglich.',
'Sub-task added successfully.' => 'Teilaufgabe erfolgreich angelegt.',
'Maximum size: ' => 'Maximalgröße: ', 'Maximum size: ' => 'Maximalgröße: ',
'Display another project' => 'Zu Projekt wechseln', 'Display another project' => 'Zu Projekt wechseln',
'Created by %s' => 'Erstellt durch %s', 'Created by %s' => 'Erstellt durch %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Vorschau', 'Preview' => 'Vorschau',
'Write' => 'Schreiben', 'Write' => 'Schreiben',
'Write your text in Markdown' => 'Schreiben Sie Ihren Text in Markdown', 'Write your text in Markdown' => 'Schreiben Sie Ihren Text in Markdown',
'New External Task: %s' => 'Neue externe Aufgabe: %s',
'No personal API access token registered.' => 'Keine persönlichen API-Zugriffsinformationen registriert', 'No personal API access token registered.' => 'Keine persönlichen API-Zugriffsinformationen registriert',
'Your personal API access token is "%s"' => 'Ihre persönlichen API-Zugriffsinformationen: "%s"', 'Your personal API access token is "%s"' => 'Ihre persönlichen API-Zugriffsinformationen: "%s"',
'Remove your token' => 'Ihre Zugriffsinformationen entfernen', 'Remove your token' => 'Ihre Zugriffsinformationen entfernen',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Η υπο-εργασία ενημερώθηκε με επιτυχία.', 'Sub-task updated successfully.' => 'Η υπο-εργασία ενημερώθηκε με επιτυχία.',
'Unable to update your sub-task.' => 'Αδύνατο να ενημερωθεί η υπο-εργασία.', 'Unable to update your sub-task.' => 'Αδύνατο να ενημερωθεί η υπο-εργασία.',
'Unable to create your sub-task.' => 'Αδύνατο να δημιουργηθεί η υπο-εργασία.', 'Unable to create your sub-task.' => 'Αδύνατο να δημιουργηθεί η υπο-εργασία.',
'Sub-task added successfully.' => 'Η υπο-εργασία προστέθηκε με επιτυχία.',
'Maximum size: ' => 'Μέγιστο μέγεθος : ', 'Maximum size: ' => 'Μέγιστο μέγεθος : ',
'Display another project' => 'Εμφάνιση άλλου έργου', 'Display another project' => 'Εμφάνιση άλλου έργου',
'Created by %s' => 'Δημιουργήθηκε από %s', 'Created by %s' => 'Δημιουργήθηκε από %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Sub-tarea actualizada correctamente.', 'Sub-task updated successfully.' => 'Sub-tarea actualizada correctamente.',
'Unable to update your sub-task.' => 'No pude actualizar tu subtarea.', 'Unable to update your sub-task.' => 'No pude actualizar tu subtarea.',
'Unable to create your sub-task.' => 'No pude crear tu subtarea.', 'Unable to create your sub-task.' => 'No pude crear tu subtarea.',
'Sub-task added successfully.' => 'Sub-tarea añadida correctamente.',
'Maximum size: ' => 'Tamaño máximo', 'Maximum size: ' => 'Tamaño máximo',
'Display another project' => 'Mostrar otro proyecto', 'Display another project' => 'Mostrar otro proyecto',
'Created by %s' => 'Creado por %s', 'Created by %s' => 'Creado por %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Previsualizar', 'Preview' => 'Previsualizar',
'Write' => 'Escribir', 'Write' => 'Escribir',
'Write your text in Markdown' => 'Redacta el texto en Markdown', 'Write your text in Markdown' => 'Redacta el texto en Markdown',
'New External Task: %s' => 'Nueva tarea externa: %s',
'No personal API access token registered.' => 'No se ha registrado ningún token de acceso a API personal.', 'No personal API access token registered.' => 'No se ha registrado ningún token de acceso a API personal.',
'Your personal API access token is "%s"' => 'Su token de acceso a la API personal es "%s"', 'Your personal API access token is "%s"' => 'Su token de acceso a la API personal es "%s"',
'Remove your token' => 'Elimine su token', 'Remove your token' => 'Elimine su token',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Alitehtävä päivitettiin onnistuneesti.', 'Sub-task updated successfully.' => 'Alitehtävä päivitettiin onnistuneesti.',
'Unable to update your sub-task.' => 'Alitehtävän päivitys epäonnistui.', 'Unable to update your sub-task.' => 'Alitehtävän päivitys epäonnistui.',
'Unable to create your sub-task.' => 'Alitehtävän luonti epäonnistui.', 'Unable to create your sub-task.' => 'Alitehtävän luonti epäonnistui.',
'Sub-task added successfully.' => 'Alitehtävä luotiin onnistuneesti.',
'Maximum size: ' => 'Maksimikoko: ', 'Maximum size: ' => 'Maksimikoko: ',
'Display another project' => 'Näytä toinen projekti', 'Display another project' => 'Näytä toinen projekti',
'Created by %s' => 'Luonut: %s', 'Created by %s' => 'Luonut: %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Sous-tâche mise à jour avec succès.', 'Sub-task updated successfully.' => 'Sous-tâche mise à jour avec succès.',
'Unable to update your sub-task.' => 'Impossible de mettre à jour votre sous-tâche.', 'Unable to update your sub-task.' => 'Impossible de mettre à jour votre sous-tâche.',
'Unable to create your sub-task.' => 'Impossible de créer votre sous-tâche.', 'Unable to create your sub-task.' => 'Impossible de créer votre sous-tâche.',
'Sub-task added successfully.' => 'Sous-tâche ajoutée avec succès.',
'Maximum size: ' => 'Taille maximum : ', 'Maximum size: ' => 'Taille maximum : ',
'Display another project' => 'Afficher un autre projet', 'Display another project' => 'Afficher un autre projet',
'Created by %s' => 'Créé par %s', 'Created by %s' => 'Créé par %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Aperçu', 'Preview' => 'Aperçu',
'Write' => 'Écrire', 'Write' => 'Écrire',
'Write your text in Markdown' => 'Écrivez votre texte en Markdown', 'Write your text in Markdown' => 'Écrivez votre texte en Markdown',
'New External Task: %s' => 'Nouvelle tâche externe : %s',
'No personal API access token registered.' => 'Aucun jeton d\'accès personnel à l\'API enregistré.', 'No personal API access token registered.' => 'Aucun jeton d\'accès personnel à l\'API enregistré.',
'Your personal API access token is "%s"' => 'Votre jeton d\'accès personnel à l\'API est « %s »', 'Your personal API access token is "%s"' => 'Votre jeton d\'accès personnel à l\'API est « %s »',
'Remove your token' => 'Supprimer votre jeton', 'Remove your token' => 'Supprimer votre jeton',
@@ -1344,4 +1342,7 @@ return array(
'Subtask not started' => 'Sous-tâche pas encore commencé', 'Subtask not started' => 'Sous-tâche pas encore commencé',
'Subtask currently in progress' => 'Sous-tâche actuellement en progrès', 'Subtask currently in progress' => 'Sous-tâche actuellement en progrès',
'Subtask completed' => 'Sous-tâche terminée', 'Subtask completed' => 'Sous-tâche terminée',
'Subtask added successfully.' => 'Sous-tâche ajoutée avec succès.',
'%d subtasks added successfully.' => '%d sous-tâches ajoutées avec succès.',
'Enter one subtask by line.' => 'Entrez une sous-tâche par ligne.',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Pod-zadatak je uspješno dopunjen.', 'Sub-task updated successfully.' => 'Pod-zadatak je uspješno dopunjen.',
'Unable to update your sub-task.' => 'Nije moguće dopuniti ovaj pod-zadatak.', 'Unable to update your sub-task.' => 'Nije moguće dopuniti ovaj pod-zadatak.',
'Unable to create your sub-task.' => 'Nije moguće krerati ovaj pod-zadatak.', 'Unable to create your sub-task.' => 'Nije moguće krerati ovaj pod-zadatak.',
'Sub-task added successfully.' => 'Pod-zadatak uspješno dodan',
'Maximum size: ' => 'Maksimalna veličina: ', 'Maximum size: ' => 'Maksimalna veličina: ',
'Display another project' => 'Prikaži drugi projekt', 'Display another project' => 'Prikaži drugi projekt',
'Created by %s' => 'Kreirao %s', 'Created by %s' => 'Kreirao %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
'No personal API access token registered.' => 'Nije zabilježen niti jedan pristupni token.', 'No personal API access token registered.' => 'Nije zabilježen niti jedan pristupni token.',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Részfeladat sikeresen frissítve.', 'Sub-task updated successfully.' => 'Részfeladat sikeresen frissítve.',
'Unable to update your sub-task.' => 'Részfeladat frissítése nem lehetséges.', 'Unable to update your sub-task.' => 'Részfeladat frissítése nem lehetséges.',
'Unable to create your sub-task.' => 'Részfeladat létrehozása nem lehetséges.', 'Unable to create your sub-task.' => 'Részfeladat létrehozása nem lehetséges.',
'Sub-task added successfully.' => 'Részfeladat sikeresen létrehozva.',
'Maximum size: ' => 'Maximális méret: ', 'Maximum size: ' => 'Maximális méret: ',
'Display another project' => 'Másik projekt megjelenítése', 'Display another project' => 'Másik projekt megjelenítése',
'Created by %s' => 'Készítette: %s', 'Created by %s' => 'Készítette: %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Előnézet', 'Preview' => 'Előnézet',
'Write' => 'Írás', 'Write' => 'Írás',
'Write your text in Markdown' => 'Markdown-ban írja a szöveget', 'Write your text in Markdown' => 'Markdown-ban írja a szöveget',
'New External Task: %s' => 'Új, külső feladat: %s',
'No personal API access token registered.' => 'Nincs személyes API access token regisztrálva.', 'No personal API access token registered.' => 'Nincs személyes API access token regisztrálva.',
'Your personal API access token is "%s"' => 'Személyes API access token: "%s"', 'Your personal API access token is "%s"' => 'Személyes API access token: "%s"',
'Remove your token' => 'Személyes token eltávolítása', 'Remove your token' => 'Személyes token eltávolítása',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Sub-tugas berhasil diperbarui.', 'Sub-task updated successfully.' => 'Sub-tugas berhasil diperbarui.',
'Unable to update your sub-task.' => 'Tidak dapat memperbarui sub-tugas Anda.', 'Unable to update your sub-task.' => 'Tidak dapat memperbarui sub-tugas Anda.',
'Unable to create your sub-task.' => 'Tidak dapat membuat sub-tugas Anda.', 'Unable to create your sub-task.' => 'Tidak dapat membuat sub-tugas Anda.',
'Sub-task added successfully.' => 'Sub-tugas berhasil dibuat.',
'Maximum size: ' => 'Ukuran maksimum: ', 'Maximum size: ' => 'Ukuran maksimum: ',
'Display another project' => 'Lihat proyek lain', 'Display another project' => 'Lihat proyek lain',
'Created by %s' => 'Dibuat oleh %s', 'Created by %s' => 'Dibuat oleh %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Pratinjau', 'Preview' => 'Pratinjau',
'Write' => 'Tulis', 'Write' => 'Tulis',
'Write your text in Markdown' => 'Tuliskan teks Anda di Markdown', 'Write your text in Markdown' => 'Tuliskan teks Anda di Markdown',
'New External Task: %s' => 'Tugas Eksternal Baru: %s',
'No personal API access token registered.' => 'Tidak ada token akses API personal yang terdaftar.', 'No personal API access token registered.' => 'Tidak ada token akses API personal yang terdaftar.',
'Your personal API access token is "%s"' => 'Token akses API personal Anda adalah "%s"', 'Your personal API access token is "%s"' => 'Token akses API personal Anda adalah "%s"',
'Remove your token' => 'Hapus token Anda', 'Remove your token' => 'Hapus token Anda',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Sotto-task aggiornato con successo.', 'Sub-task updated successfully.' => 'Sotto-task aggiornato con successo.',
'Unable to update your sub-task.' => 'Impossibile aggiornare il tuo sotto-task.', 'Unable to update your sub-task.' => 'Impossibile aggiornare il tuo sotto-task.',
'Unable to create your sub-task.' => 'Impossibile creare il tuo sotto-task.', 'Unable to create your sub-task.' => 'Impossibile creare il tuo sotto-task.',
'Sub-task added successfully.' => 'Sotto-task aggiunto con successo.',
'Maximum size: ' => 'Dimensioni massime: ', 'Maximum size: ' => 'Dimensioni massime: ',
'Display another project' => 'Mostra un altro progetto', 'Display another project' => 'Mostra un altro progetto',
'Created by %s' => 'Creato da %s', 'Created by %s' => 'Creato da %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'サブタスクを更新しました', 'Sub-task updated successfully.' => 'サブタスクを更新しました',
'Unable to update your sub-task.' => 'サブタスクの更新に失敗しました', 'Unable to update your sub-task.' => 'サブタスクの更新に失敗しました',
'Unable to create your sub-task.' => 'サブタスクの追加に失敗しました', 'Unable to create your sub-task.' => 'サブタスクの追加に失敗しました',
'Sub-task added successfully.' => 'サブタスクを追加しました',
'Maximum size: ' => '最大:', 'Maximum size: ' => '最大:',
'Display another project' => '別のプロジェクトを表示', 'Display another project' => '別のプロジェクトを表示',
'Created by %s' => '%s が作成', 'Created by %s' => '%s が作成',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'プレビュー', 'Preview' => 'プレビュー',
'Write' => '書込み', 'Write' => '書込み',
'Write your text in Markdown' => 'Markdownで入力', 'Write your text in Markdown' => 'Markdownで入力',
'New External Task: %s' => '新しい外部タスク:%s',
'No personal API access token registered.' => '個人APIアクセストークンは登録されていません', 'No personal API access token registered.' => '個人APIアクセストークンは登録されていません',
'Your personal API access token is "%s"' => 'あなたのパーソナルAPIアクセストークン "%s"', 'Your personal API access token is "%s"' => 'あなたのパーソナルAPIアクセストークン "%s"',
'Remove your token' => 'あなたのトークンを削除する', 'Remove your token' => 'あなたのトークンを削除する',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => '서브 할일을 갱신했습니다.', 'Sub-task updated successfully.' => '서브 할일을 갱신했습니다.',
'Unable to update your sub-task.' => '서브 할일의 경신에 실패했습니다.', 'Unable to update your sub-task.' => '서브 할일의 경신에 실패했습니다.',
'Unable to create your sub-task.' => '서브 할일의 추가에 실패했습니다.', 'Unable to create your sub-task.' => '서브 할일의 추가에 실패했습니다.',
'Sub-task added successfully.' => '서브 할일을 추가했습니다.',
'Maximum size: ' => '최대: ', 'Maximum size: ' => '최대: ',
'Display another project' => '프로젝트 보기', 'Display another project' => '프로젝트 보기',
'Created by %s' => '작성자 %s', 'Created by %s' => '작성자 %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Sub-tugas berhasil diperbaharui.', 'Sub-task updated successfully.' => 'Sub-tugas berhasil diperbaharui.',
'Unable to update your sub-task.' => 'Tidak dapat memperbaharui sub-tugas anda.', 'Unable to update your sub-task.' => 'Tidak dapat memperbaharui sub-tugas anda.',
'Unable to create your sub-task.' => 'Tidak dapat membuat sub-tugas anda.', 'Unable to create your sub-task.' => 'Tidak dapat membuat sub-tugas anda.',
'Sub-task added successfully.' => 'Sub-tugas berhasil dibuat.',
'Maximum size: ' => 'Ukuran maksimum: ', 'Maximum size: ' => 'Ukuran maksimum: ',
'Display another project' => 'Lihat projek lain', 'Display another project' => 'Lihat projek lain',
'Created by %s' => 'Dibuat oleh %s', 'Created by %s' => 'Dibuat oleh %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Deloppgaven er opdateret.', 'Sub-task updated successfully.' => 'Deloppgaven er opdateret.',
'Unable to update your sub-task.' => 'Deloppgaven kunne ikke opdateres.', 'Unable to update your sub-task.' => 'Deloppgaven kunne ikke opdateres.',
'Unable to create your sub-task.' => 'Deloppgaven kunne ikke oprettes.', 'Unable to create your sub-task.' => 'Deloppgaven kunne ikke oprettes.',
'Sub-task added successfully.' => 'Deloppgaven er lagt til.',
'Maximum size: ' => 'Maksimum størrelse: ', 'Maximum size: ' => 'Maksimum størrelse: ',
'Display another project' => 'Vis annet prosjekt...', 'Display another project' => 'Vis annet prosjekt...',
'Created by %s' => 'Opprettet av %s', 'Created by %s' => 'Opprettet av %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Subtaak succesvol aangepast.', 'Sub-task updated successfully.' => 'Subtaak succesvol aangepast.',
'Unable to update your sub-task.' => 'Subtaak aanpassen niet gelukt.', 'Unable to update your sub-task.' => 'Subtaak aanpassen niet gelukt.',
'Unable to create your sub-task.' => 'Subtaak aanmaken niet gelukt.', 'Unable to create your sub-task.' => 'Subtaak aanmaken niet gelukt.',
'Sub-task added successfully.' => 'Subtaak succesvol aangemaakt.',
'Maximum size: ' => 'Maximale grootte : ', 'Maximum size: ' => 'Maximale grootte : ',
'Display another project' => 'Een ander project weergeven', 'Display another project' => 'Een ander project weergeven',
'Created by %s' => 'Aangemaakt door %s', 'Created by %s' => 'Aangemaakt door %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Pod-zadanie zaktualizowane pomyślnie.', 'Sub-task updated successfully.' => 'Pod-zadanie zaktualizowane pomyślnie.',
'Unable to update your sub-task.' => 'Nie można zaktualizować tego pod-zadania.', 'Unable to update your sub-task.' => 'Nie można zaktualizować tego pod-zadania.',
'Unable to create your sub-task.' => 'Nie można utworzyć tego pod-zadania.', 'Unable to create your sub-task.' => 'Nie można utworzyć tego pod-zadania.',
'Sub-task added successfully.' => 'Pod-zadanie utworzone pomyślnie',
'Maximum size: ' => 'Maksymalny rozmiar: ', 'Maximum size: ' => 'Maksymalny rozmiar: ',
'Display another project' => 'Wyświetl inny projekt', 'Display another project' => 'Wyświetl inny projekt',
'Created by %s' => 'Utworzone przez %s', 'Created by %s' => 'Utworzone przez %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Subtarefa atualizada com sucesso.', 'Sub-task updated successfully.' => 'Subtarefa atualizada com sucesso.',
'Unable to update your sub-task.' => 'Não foi possível atualizar a sua subtarefa.', 'Unable to update your sub-task.' => 'Não foi possível atualizar a sua subtarefa.',
'Unable to create your sub-task.' => 'Não é possível criar a sua subtarefa.', 'Unable to create your sub-task.' => 'Não é possível criar a sua subtarefa.',
'Sub-task added successfully.' => 'Subtarefa adicionada com sucesso.',
'Maximum size: ' => 'Tamanho máximo: ', 'Maximum size: ' => 'Tamanho máximo: ',
'Display another project' => 'Exibir outro projeto', 'Display another project' => 'Exibir outro projeto',
'Created by %s' => 'Criado por %s', 'Created by %s' => 'Criado por %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Pré-visualizar', 'Preview' => 'Pré-visualizar',
'Write' => 'Escrever', 'Write' => 'Escrever',
'Write your text in Markdown' => 'Escrever seu texto em Markdown', 'Write your text in Markdown' => 'Escrever seu texto em Markdown',
'New External Task: %s' => 'Nova Tarefa Externa: %s',
'No personal API access token registered.' => 'Nenhum token de acesso pessoal à API registrado.', 'No personal API access token registered.' => 'Nenhum token de acesso pessoal à API registrado.',
'Your personal API access token is "%s"' => 'Seu token de acesso pessoal à API é "%s"', 'Your personal API access token is "%s"' => 'Seu token de acesso pessoal à API é "%s"',
'Remove your token' => 'Remover seu token', 'Remove your token' => 'Remover seu token',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Subtarefa atualizada com sucesso.', 'Sub-task updated successfully.' => 'Subtarefa atualizada com sucesso.',
'Unable to update your sub-task.' => 'Não foi possível atualizar a sua subtarefa.', 'Unable to update your sub-task.' => 'Não foi possível atualizar a sua subtarefa.',
'Unable to create your sub-task.' => 'Não é possível criar a sua subtarefa.', 'Unable to create your sub-task.' => 'Não é possível criar a sua subtarefa.',
'Sub-task added successfully.' => 'Subtarefa adicionada com sucesso.',
'Maximum size: ' => 'Tamanho máximo: ', 'Maximum size: ' => 'Tamanho máximo: ',
'Display another project' => 'Mostrar outro projeto', 'Display another project' => 'Mostrar outro projeto',
'Created by %s' => 'Criado por %s', 'Created by %s' => 'Criado por %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Pré-Visualizar', 'Preview' => 'Pré-Visualizar',
'Write' => 'Escrever', 'Write' => 'Escrever',
'Write your text in Markdown' => 'Escreva o seu texto em Markdown', 'Write your text in Markdown' => 'Escreva o seu texto em Markdown',
'New External Task: %s' => 'Nova Tarefa Externa: %s',
'No personal API access token registered.' => 'Nenhum token pessoal de acesso ao API ', 'No personal API access token registered.' => 'Nenhum token pessoal de acesso ao API ',
'Your personal API access token is "%s"' => 'O seu token de acesso pessoal ao API é "%s"', 'Your personal API access token is "%s"' => 'O seu token de acesso pessoal ao API é "%s"',
'Remove your token' => 'Remover o seu token', 'Remove your token' => 'Remover o seu token',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Подзадача обновлена.', 'Sub-task updated successfully.' => 'Подзадача обновлена.',
'Unable to update your sub-task.' => 'Не удалось обновить подзадачу.', 'Unable to update your sub-task.' => 'Не удалось обновить подзадачу.',
'Unable to create your sub-task.' => 'Не удалось создать подзадачу.', 'Unable to create your sub-task.' => 'Не удалось создать подзадачу.',
'Sub-task added successfully.' => 'Подзадача добавлена.',
'Maximum size: ' => 'Максимальный размер: ', 'Maximum size: ' => 'Максимальный размер: ',
'Display another project' => 'Показать другой проект', 'Display another project' => 'Показать другой проект',
'Created by %s' => 'Создано %s', 'Created by %s' => 'Создано %s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Предпросмотр', 'Preview' => 'Предпросмотр',
'Write' => 'Редактирование', 'Write' => 'Редактирование',
'Write your text in Markdown' => 'Добавьте Ваше описание в формате Markdown', 'Write your text in Markdown' => 'Добавьте Ваше описание в формате Markdown',
'New External Task: %s' => 'Новая внешняя задача: %s',
'No personal API access token registered.' => 'Персональные токены доступа к API не созданы.', 'No personal API access token registered.' => 'Персональные токены доступа к API не созданы.',
'Your personal API access token is "%s"' => 'Ваш персональный токен доступа к API: "%s"', 'Your personal API access token is "%s"' => 'Ваш персональный токен доступа к API: "%s"',
'Remove your token' => 'Удалить токен', 'Remove your token' => 'Удалить токен',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Pod-zadatak zaktualizowane pomyślnie.', 'Sub-task updated successfully.' => 'Pod-zadatak zaktualizowane pomyślnie.',
'Unable to update your sub-task.' => 'Nie można zaktalizować tego pod-zadania.', 'Unable to update your sub-task.' => 'Nie można zaktalizować tego pod-zadania.',
'Unable to create your sub-task.' => 'Nie można utworzyć tego pod-zadania.', 'Unable to create your sub-task.' => 'Nie można utworzyć tego pod-zadania.',
'Sub-task added successfully.' => 'Pod-zadatak utworzone pomyślnie',
'Maximum size: ' => 'Maksimalna veličina: ', 'Maximum size: ' => 'Maksimalna veličina: ',
'Display another project' => 'Prikaži drugi projekat', 'Display another project' => 'Prikaži drugi projekat',
'Created by %s' => 'Kreirao %s', 'Created by %s' => 'Kreirao %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Deluppgiften har uppdaterats.', 'Sub-task updated successfully.' => 'Deluppgiften har uppdaterats.',
'Unable to update your sub-task.' => 'Kunde inte uppdatera din deluppgift.', 'Unable to update your sub-task.' => 'Kunde inte uppdatera din deluppgift.',
'Unable to create your sub-task.' => 'Kunde inte skapa din deluppgift.', 'Unable to create your sub-task.' => 'Kunde inte skapa din deluppgift.',
'Sub-task added successfully.' => 'Deluppgiften har lagts till.',
'Maximum size: ' => 'Maxstorlek: ', 'Maximum size: ' => 'Maxstorlek: ',
'Display another project' => 'Visa ett annat projekt', 'Display another project' => 'Visa ett annat projekt',
'Created by %s' => 'Skapad av %s', 'Created by %s' => 'Skapad av %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'ปรับปรุงงานย่อย่่เรียบร้อยแล้ว', 'Sub-task updated successfully.' => 'ปรับปรุงงานย่อย่่เรียบร้อยแล้ว',
'Unable to update your sub-task.' => 'ไม่สามารถปรับปรุงานย่อยได้', 'Unable to update your sub-task.' => 'ไม่สามารถปรับปรุงานย่อยได้',
'Unable to create your sub-task.' => 'ไม่สามารถสร้างงานย่อยได้', 'Unable to create your sub-task.' => 'ไม่สามารถสร้างงานย่อยได้',
'Sub-task added successfully.' => 'เพิ่มงานย่อยเรียบร้อยแล้ว',
'Maximum size: ' => 'ขนาดไฟล์สูงสุด:', 'Maximum size: ' => 'ขนาดไฟล์สูงสุด:',
'Display another project' => 'แสดงโปรเจคอื่น', 'Display another project' => 'แสดงโปรเจคอื่น',
'Created by %s' => 'สร้างโดย %s', 'Created by %s' => 'สร้างโดย %s',
@@ -1207,7 +1206,6 @@ return array(
// 'Preview' => '', // 'Preview' => '',
// 'Write' => '', // 'Write' => '',
// 'Write your text in Markdown' => '', // 'Write your text in Markdown' => '',
// 'New External Task: %s' => '',
// 'No personal API access token registered.' => '', // 'No personal API access token registered.' => '',
// 'Your personal API access token is "%s"' => '', // 'Your personal API access token is "%s"' => '',
// 'Remove your token' => '', // 'Remove your token' => '',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Alt görev güncellendi.', 'Sub-task updated successfully.' => 'Alt görev güncellendi.',
'Unable to update your sub-task.' => 'Alt görev güncellenemiyor.', 'Unable to update your sub-task.' => 'Alt görev güncellenemiyor.',
'Unable to create your sub-task.' => 'Alt görev oluşturulamadı.', 'Unable to create your sub-task.' => 'Alt görev oluşturulamadı.',
'Sub-task added successfully.' => 'Alt görev başarıyla eklendi.',
'Maximum size: ' => 'Maksimum boyutu', 'Maximum size: ' => 'Maksimum boyutu',
'Display another project' => 'Başka bir proje göster', 'Display another project' => 'Başka bir proje göster',
'Created by %s' => '%s tarafından oluşturuldu', 'Created by %s' => '%s tarafından oluşturuldu',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => 'Öngörünüm', 'Preview' => 'Öngörünüm',
'Write' => 'Yaz', 'Write' => 'Yaz',
'Write your text in Markdown' => 'Metninizi Markdown a yazın', 'Write your text in Markdown' => 'Metninizi Markdown a yazın',
'New External Task: %s' => 'Yeni Harici Görev: %s',
'No personal API access token registered.' => 'Kişisel API erişim anahtarınız kaydedilmedi.', 'No personal API access token registered.' => 'Kişisel API erişim anahtarınız kaydedilmedi.',
'Your personal API access token is "%s"' => 'Kişisel API erişim anahtarınız "%s"', 'Your personal API access token is "%s"' => 'Kişisel API erişim anahtarınız "%s"',
'Remove your token' => 'Anahtarı kaldır', 'Remove your token' => 'Anahtarı kaldır',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => 'Tiểu nhiệm vụ được cập nhật thành công.', 'Sub-task updated successfully.' => 'Tiểu nhiệm vụ được cập nhật thành công.',
'Unable to update your sub-task.' => 'Không thể cập nhật tiểu nhiệm vụ của bạn.', 'Unable to update your sub-task.' => 'Không thể cập nhật tiểu nhiệm vụ của bạn.',
'Unable to create your sub-task.' => 'Không thể tạo ra nhiệm vụ phụ của bạn.', 'Unable to create your sub-task.' => 'Không thể tạo ra nhiệm vụ phụ của bạn.',
'Sub-task added successfully.' => 'Thêm nhiệm vụ thành công.',
'Maximum size: ' => 'Kích thước tối đa: ', 'Maximum size: ' => 'Kích thước tối đa: ',
'Display another project' => 'Hiển thị một dự án khác', 'Display another project' => 'Hiển thị một dự án khác',
'Created by %s' => 'Đã tạo bởi %s', 'Created by %s' => 'Đã tạo bởi %s',
@@ -1213,7 +1212,6 @@ return array(
'Preview' => 'Xem trước', 'Preview' => 'Xem trước',
'Write' => 'Viết', 'Write' => 'Viết',
'Write your text in Markdown' => 'Viết văn bản của bạn trong Markdown', 'Write your text in Markdown' => 'Viết văn bản của bạn trong Markdown',
'New External Task: %s' => 'Nhiệm vụ bên ngoài mới: %s',
'No personal API access token registered.' => 'Không có đăng nhập truy cập API cá nhân.', 'No personal API access token registered.' => 'Không có đăng nhập truy cập API cá nhân.',
'Your personal API access token is "%s"' => 'Mã thông báo truy cập API cá nhân của bạn là "%s"', 'Your personal API access token is "%s"' => 'Mã thông báo truy cập API cá nhân của bạn là "%s"',
'Remove your token' => 'Hủy bỏ mã thông báo của bạn', 'Remove your token' => 'Hủy bỏ mã thông báo của bạn',
@@ -1350,4 +1348,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -273,7 +273,6 @@ return array(
'Sub-task updated successfully.' => '成功创建子任务', 'Sub-task updated successfully.' => '成功创建子任务',
'Unable to update your sub-task.' => '无法更新子任务', 'Unable to update your sub-task.' => '无法更新子任务',
'Unable to create your sub-task.' => '无法创建子任务', 'Unable to create your sub-task.' => '无法创建子任务',
'Sub-task added successfully.' => '成功添加子任务',
'Maximum size: ' => '大小上限:', 'Maximum size: ' => '大小上限:',
'Display another project' => '显示其它项目', 'Display another project' => '显示其它项目',
'Created by %s' => '创建者:%s', 'Created by %s' => '创建者:%s',
@@ -1207,7 +1206,6 @@ return array(
'Preview' => '预览', 'Preview' => '预览',
'Write' => '写入', 'Write' => '写入',
'Write your text in Markdown' => '用markdown格式写入文本', 'Write your text in Markdown' => '用markdown格式写入文本',
'New External Task: %s' => '新的外部任务:%s',
'No personal API access token registered.' => '没有API access token 注册。', 'No personal API access token registered.' => '没有API access token 注册。',
'Your personal API access token is "%s"' => '你的API access token 是 “%s”', 'Your personal API access token is "%s"' => '你的API access token 是 “%s”',
'Remove your token' => '移除token', 'Remove your token' => '移除token',
@@ -1344,4 +1342,7 @@ return array(
// 'Subtask not started' => '', // 'Subtask not started' => '',
// 'Subtask currently in progress' => '', // 'Subtask currently in progress' => '',
// 'Subtask completed' => '', // 'Subtask completed' => '',
// 'Subtask added successfully.' => '',
// '%d subtasks added successfully.' => '',
// 'Enter one subtask by line.' => '',
); );

View File

@@ -2,10 +2,20 @@
<h2><?= t('Add a sub-task') ?></h2> <h2><?= t('Add a sub-task') ?></h2>
</div> </div>
<?php if (isset($values['subtasks_added']) && $values['subtasks_added'] > 0): ?>
<p class="alert alert-success">
<?php if ($values['subtasks_added'] == 1): ?>
<?= t('Subtask added successfully.') ?>
<?php else: ?>
<?= t('%d subtasks added successfully.', $values['subtasks_added']) ?>
<?php endif ?>
</p>
<?php endif ?>
<form method="post" action="<?= $this->url->href('SubtaskController', 'save', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>" autocomplete="off"> <form method="post" action="<?= $this->url->href('SubtaskController', 'save', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>" autocomplete="off">
<?= $this->form->csrf() ?> <?= $this->form->csrf() ?>
<?= $this->subtask->renderTitleField($values, $errors, array('autofocus')) ?> <?= $this->subtask->renderBulkTitleField($values, $errors, array('autofocus')) ?>
<?= $this->subtask->renderAssigneeField($users_list, $values, $errors) ?> <?= $this->subtask->renderAssigneeField($users_list, $values, $errors) ?>
<?= $this->subtask->renderTimeEstimatedField($values, $errors) ?> <?= $this->subtask->renderTimeEstimatedField($values, $errors) ?>