summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Api/File.php2
-rw-r--r--app/Locales/th_TH/translation.php925
-rw-r--r--app/Template/notification/comment_create.php (renamed from app/Template/notification/comment_creation.php)0
-rw-r--r--app/Template/notification/file_create.php (renamed from app/Template/notification/file_creation.php)0
-rw-r--r--app/Template/notification/subtask_create.php (renamed from app/Template/notification/subtask_creation.php)0
-rw-r--r--app/Template/notification/task_create.php (renamed from app/Template/notification/task_creation.php)6
-rw-r--r--tests/units/NotificationTest.php33
-rw-r--r--tests/units/TaskDuplicationTest.php4
8 files changed, 963 insertions, 7 deletions
diff --git a/app/Api/File.php b/app/Api/File.php
index 11c48404..65dff729 100644
--- a/app/Api/File.php
+++ b/app/Api/File.php
@@ -36,7 +36,7 @@ class File extends Base
return '';
}
- public function createFile($project_id, $task_id, $filename, $is_image, &$blob)
+ public function createFile($project_id, $task_id, $filename, $is_image, $blob)
{
return $this->file->uploadContent($project_id, $task_id, $filename, $is_image, $blob);
}
diff --git a/app/Locales/th_TH/translation.php b/app/Locales/th_TH/translation.php
new file mode 100644
index 00000000..d09f63cd
--- /dev/null
+++ b/app/Locales/th_TH/translation.php
@@ -0,0 +1,925 @@
+<?php
+
+return array(
+ // 'number.decimals_separator' => '',
+ // 'number.thousands_separator' => '',
+ 'None' => 'ไม่มี',
+ 'edit' => 'แก้ไข',
+ 'Edit' => 'แก้ไข',
+ 'remove' => 'ลบ',
+ 'Remove' => 'ลบ',
+ 'Update' => 'ปรับปรุง',
+ 'Yes' => 'ใช่',
+ 'No' => 'ไม่',
+ 'cancel' => 'ยกเลิก',
+ 'or' => 'หรือ',
+ 'Yellow' => 'สีเหลือง',
+ 'Blue' => 'สีน้ำเงิน',
+ 'Green' => 'สีเขียว',
+ 'Purple' => 'สีม่วง',
+ 'Red' => 'สีแดง',
+ 'Orange' => 'สีส้ม',
+ 'Grey' => 'สีเทา',
+ 'Save' => 'บันทึก',
+ 'Login' => 'เข้าสู่ระบบ',
+ 'Official website:' => 'เวบไซต์อย่างเป็นทางการ:',
+ 'Unassigned' => 'ไม่กำหนด',
+ 'View this task' => 'รายละเอียดงานนี้',
+ 'Remove user' => 'เอาผู้ใช้ออก',
+ 'Do you really want to remove this user: "%s"?' => 'คุณต้องการเอาผู้ใช้ « %s » ออกใช่หรือไม่?',
+ 'New user' => 'ผู้ใช้ใหม่',
+ 'All users' => 'ผู้ใช้ทั้งหมด',
+ 'Username' => 'ชื่อผู้ใช้',
+ 'Password' => 'รหัสผ่าน',
+ 'Default project' => 'โปรเจคเริ่มต้น',
+ 'Administrator' => 'ผู้ดูแลระบบ',
+ 'Sign in' => 'เข้าสู่ระบบ',
+ 'Users' => 'ผู้ใช้',
+ 'No user' => 'ไม่มีผู้ใช้',
+ 'Forbidden' => 'ไม่อนุญาติ',
+ 'Access Forbidden' => 'ไม่อนุญาติให้เข้า',
+ 'Only administrators can access to this page.' => 'หน้าสำหรับผู้ดูแลระบบเท่านั้น',
+ 'Edit user' => 'แก้ไขผู้ใช้',
+ 'Logout' => 'ออกจากระบบ',
+ 'Bad username or password' => 'ชื่อผู้ใช่หรือรหัสผ่านผิด',
+ 'users' => 'ผู้ใช้',
+ 'projects' => 'โปรเจค',
+ 'Edit project' => 'แก้ไขโปรเจค',
+ 'Name' => 'ชื่อ',
+ 'Activated' => 'เปิดใช้งาน',
+ 'Projects' => 'โปรเจค',
+ 'No project' => 'ไม่มีโปรเจค',
+ 'Project' => 'โปรเจค',
+ 'Status' => 'สถานะ',
+ 'Tasks' => 'งาน',
+ 'Board' => 'บอร์ด',
+ 'Actions' => 'การกระทำ',
+ 'Inactive' => 'ไม่เปิดใช้งาน',
+ 'Active' => 'เปิดใช้งาน',
+ 'Column %d' => 'คอลัมน์ %d',
+ 'Add this column' => 'เพิ่มคอลัมน์',
+ '%d tasks on the board' => '%d งานบนบอร์ด',
+ '%d tasks in total' => '%d งานทั้งหมด',
+ 'Unable to update this board.' => 'ไม่สามารถปรับปรุงบอร์ดได้.',
+ 'Edit board' => 'แก้ไขบอร์ด',
+ 'Disable' => 'ปิด',
+ 'Enable' => 'เปิด',
+ 'New project' => 'โปรเจคใหม่',
+ 'Do you really want to remove this project: "%s"?' => 'คุณต้องการเอาโปรเจค « %s » ออกใช่หรือไม่?',
+ 'Remove project' => 'ลบโปรเจค',
+ 'Boards' => 'บอร์ด',
+ 'Edit the board for "%s"' => 'แก้ไขบอร์ดสำหรับ « %s »',
+ 'All projects' => 'โปรเจคทั้งหมด',
+ 'Change columns' => 'เปลี่ยนคอลัมน์',
+ 'Add a new column' => 'เพิ่มคอลัมน์ใหม่',
+ 'Title' => 'หัวเรื่อง',
+ 'Add Column' => 'เพิ่มคอลัมน์',
+ 'Project "%s"' => 'โปรเจค « %s »',
+ 'Nobody assigned' => 'ไม่กำหนดใคร',
+ 'Assigned to %s' => 'กำหนดให้ %s',
+ 'Remove a column' => 'ลบคอลัมน์',
+ 'Remove a column from a board' => 'ลบคอลัมน์ออกจากบอร์ด',
+ 'Unable to remove this column.' => 'ไม่สามารถลบคอลัมน์นี้',
+ 'Do you really want to remove this column: "%s"?' => 'คุณต้องการลบคอลัมน์ « %s » ออกใช่หรือไม่?',
+ 'This action will REMOVE ALL TASKS associated to this column!' => 'การกระทำนี้จะลบงานที่เกี่ยวข้องกับคอลัมน์นี้',
+ 'Settings' => 'ตั้งค่า',
+ 'Application settings' => 'ตั้งค่าการทำงาน',
+ 'Language' => 'ภาษา',
+ // 'Webhook token:' => '',
+ 'API token:' => 'API token:',
+ 'More information' => 'ข้อมูลเพิ่มเติม',
+ 'Database size:' => 'ขนาดฐานข้อมูล:',
+ 'Download the database' => 'ดาวน์โหลดฐานข้อมูล',
+ 'Optimize the database' => 'ปรับปรุงฐานข้อมูล',
+ '(VACUUM command)' => '(VACUUM command)',
+ '(Gzip compressed Sqlite file)' => '(Gzip compressed Sqlite file)',
+ 'User settings' => 'ตั้งค่าผู้ใช้',
+ 'My default project:' => 'โปรเจคเริ่มต้นของฉัน:',
+ 'Close a task' => 'ปิดงาน',
+ 'Do you really want to close this task: "%s"?' => 'คุณต้องการปิดงาน « %s » ใช่หรือไม่?',
+ 'Edit a task' => 'แก้ไขงาน',
+ 'Column' => 'คอลัมน์',
+ 'Color' => 'สี',
+ 'Assignee' => 'กำหนดให้',
+ 'Create another task' => 'สร้างงานอื่น',
+ 'New task' => 'งานใหม่',
+ 'Open a task' => 'เปิดงาน',
+ 'Do you really want to open this task: "%s"?' => 'คุณต้องการเปิดงาน: « %s » ใช่หรือไม่?',
+ 'Back to the board' => 'กลับไปที่บอร์ด',
+ 'Created on %B %e, %Y at %k:%M %p' => 'สร้างวันที่ %d/%m/%Y เวลา %H:%M',
+ 'There is nobody assigned' => 'ไม่มีใครถูกกำหนด',
+ 'Column on the board:' => 'คอลัมน์บนบอร์ด:',
+ 'Status is open' => 'สถานะเปิด',
+ 'Status is closed' => 'สถานะปิด',
+ 'Close this task' => 'ปิดงานนี้',
+ 'Open this task' => 'เปิดงานนี้',
+ 'There is no description.' => 'ไม่มีคำอธิบาย',
+ 'Add a new task' => 'เพิ่มงานใหม่',
+ 'The username is required' => 'ต้องการชื่อผู้ใช้',
+ 'The maximum length is %d characters' => 'จำนวนตัวอักษรสูงสุด %d ตัวอักษร',
+ 'The minimum length is %d characters' => 'จำนวนตัวอักษรน้อยสุด %d ตัวอักษร',
+ 'The password is required' => 'ต้องการรหัสผ่าน',
+ 'This value must be an integer' => 'ต้องเป็นตัวเลข',
+ 'The username must be unique' => 'ชื่อผู้ใช้ต้องไม่ซ้ำ',
+ 'The username must be alphanumeric' => 'ชื่อผู้ใช้ต้องเป็นตัวอักษรหรือตัวเลข',
+ 'The user id is required' => 'ต้องการไอดีผู้ใช้',
+ 'Passwords don\'t match' => 'รหัสผ่านไม่ถูกต้อง',
+ 'The confirmation is required' => 'ต้องการการยืนยัน',
+ 'The column is required' => 'ต้องการคอลัมน์',
+ 'The project is required' => 'ต้องการโปรเจค',
+ 'The color is required' => 'ต้องการสี',
+ 'The id is required' => 'ต้องการไอดี',
+ 'The project id is required' => 'ต้องการไอดีโปรเจค',
+ 'The project name is required' => 'ต้องการชื่อโปรเจค',
+ 'This project must be unique' => 'ชื่อโปรเจคต้องไม่ซ้ำ',
+ 'The title is required' => 'ต้องการหัวเรื่อง',
+ 'The language is required' => 'ต้องการภาษา',
+ 'There is no active project, the first step is to create a new project.' => 'ไม่มีโปรเจคที่ทำงานอยู่, ต้องการสร้างโปรเจคใหม่',
+ 'Settings saved successfully.' => 'บันทึกการตั้งค่าเรียบร้อยแล้ว',
+ 'Unable to save your settings.' => 'ไม่สามารถบันทึกการตั้งค่าได้',
+ 'Database optimization done.' => 'ปรับปรุงฐานข้อมูลเรียบร้อยแล้ว',
+ 'Your project have been created successfully.' => 'สร้างโปรเจคเรียบร้อยแล้ว',
+ 'Unable to create your project.' => 'ไม่สามารถสร้างโปรเจคได้',
+ 'Project updated successfully.' => 'ปรับปรุงโปรเจคเรียบร้อยแล้ว',
+ 'Unable to update this project.' => 'ไม่สามารถปรับปรุงโปรเจคได้',
+ 'Unable to remove this project.' => 'ไม่สามารถลบโปรเจคได้',
+ 'Project removed successfully.' => 'ลบโปรเจคเรียบร้อยแล้ว',
+ 'Project activated successfully.' => 'เปิดใช้งานโปรเจคเรียบร้อยแล้ว',
+ 'Unable to activate this project.' => 'ไม่สามารถเปิดใช้งานโปรเจคได้',
+ 'Project disabled successfully.' => 'ปิดโปรเจคเรียบร้อยแล้ว',
+ 'Unable to disable this project.' => 'ไม่สามารถปิดโปรเจคได้',
+ 'Unable to open this task.' => 'ไม่สามารถเปิดงานนี้',
+ 'Task opened successfully.' => 'เปิดงานเรียบร้อยแล้ว',
+ 'Unable to close this task.' => 'ไม่สามารถปิดงานนี้',
+ 'Task closed successfully.' => 'ปิดงานเรียบร้อยแล้ว',
+ 'Unable to update your task.' => 'ไม่สามารถปรับปรุงงานได้',
+ 'Task updated successfully.' => 'ปรับปรุงงานเรียบร้อยแล้ว',
+ 'Unable to create your task.' => 'ไม่สามารถสร้างงานได้',
+ 'Task created successfully.' => 'สร้างงานเรียบร้อยแล้ว',
+ 'User created successfully.' => 'สร้างผู้ใช้เรียบร้อยแล้ว',
+ 'Unable to create your user.' => 'ไม่สามารถสร้างผู้ใช้ได้',
+ 'User updated successfully.' => 'ปรับปรุงผู้ใช้เรียบร้อยแล้ว',
+ 'Unable to update your user.' => 'ไม่สามารถปรับปรุงผู้ใช้ได้',
+ 'User removed successfully.' => 'ลบผู้ใช้เรียบร้อยแล้ว',
+ 'Unable to remove this user.' => 'ไม่สามารถลบผู้ใช้ได้',
+ 'Board updated successfully.' => 'ปรับปรุงบอร์ดเรียบร้อยแล้ว',
+ 'Ready' => 'พร้อม',
+ 'Backlog' => 'งานค้าง',
+ 'Work in progress' => 'กำลังทำ',
+ 'Done' => 'เสร็จ',
+ 'Application version:' => 'แอพเวอร์ชัน:',
+ 'Completed on %B %e, %Y at %k:%M %p' => 'เรียบร้อยวันที่ %d/%m/%Y เวลา %H:%M',
+ '%B %e, %Y at %k:%M %p' => '%d/%m/%Y เวลา %H:%M',
+ 'Date created' => 'สร้างวันที่',
+ 'Date completed' => 'เรียบร้อยวันที่',
+ 'Id' => 'ไอดี',
+ 'No task' => 'ไม่มีงาน',
+ 'Completed tasks' => 'งานที่เสร็จแล้ว',
+ 'List of projects' => 'รายชื่อโปรเจค',
+ 'Completed tasks for "%s"' => 'งานที่เสร็จแล้วสำหรับ « %s »',
+ '%d closed tasks' => '%d งานที่ปิด',
+ 'No task for this project' => 'ไม่มีงานสำหรับโปรเจคนี้',
+ 'Public link' => 'ลิงค์สาธารณะ',
+ 'There is no column in your project!' => 'ไม่มีคอลัมน์ในโปรเจคของคุณ',
+ 'Change assignee' => 'เปลี่ยนการกำหนด',
+ 'Change assignee for the task "%s"' => 'เปลี่ยนการกำหนดสำหรับงาน « %s »',
+ 'Timezone' => 'เขตเวลา',
+ 'Sorry, I didn\'t find this information in my database!' => 'เสียใจด้วย ไม่สามารถหาข้อมูลในฐานข้อมูลได้',
+ 'Page not found' => 'ไม่พบหน้า',
+ 'Complexity' => 'ความซับซ้อน',
+ 'limit' => 'จำกัด',
+ 'Task limit' => 'จำกัดงาน',
+ 'Task count' => 'นับงาน',
+ 'This value must be greater than %d' => 'ค่าต้องมากกว่า %d',
+ 'Edit project access list' => 'แก้ไขการเข้าถึงรายชื่อโปรเจค',
+ 'Edit users access' => 'แก้ไขการเข้าถึงผู้ใช้',
+ 'Allow this user' => 'อนุญาตผู้ใช้นี้',
+ 'Only those users have access to this project:' => 'ผู้ใช้ที่สามารถเข้าถึงโปรเจคนี้:',
+ 'Don\'t forget that administrators have access to everything.' => 'อย่าลืมผู้ดูแลระบบสามารถเข้าถึงได้ทุกอย่าง',
+ 'Revoke' => 'ยกเลิก',
+ 'List of authorized users' => 'รายชื่อผู้ใช้ที่ได้รับการยืนยัน',
+ 'User' => 'ผู้ใช้',
+ // 'Nobody have access to this project.' => '',
+ 'You are not allowed to access to this project.' => 'คุณไม่ได้รับอนุญาตให้เข้าถึงโปรเจคนี้',
+ 'Comments' => 'ความคิดเห็น',
+ 'Post comment' => 'แสดงความคิดเห็น',
+ 'Write your text in Markdown' => 'เขียนข้อความในรูปแบบ Markdown',
+ 'Leave a comment' => 'ออกความคิดเห็น',
+ 'Comment is required' => 'ต้องการความคิดเห็น',
+ 'Leave a description' => 'แสดงคำอธิบาย',
+ 'Comment added successfully.' => 'เพิ่มความคิดเห็นเรียบร้อยแล้ว',
+ 'Unable to create your comment.' => 'ไม่สามารถสร้างความคิดเห็น',
+ 'The description is required' => 'ต้องการคำอธิบาย',
+ 'Edit this task' => 'แก้ไขงาน',
+ 'Due Date' => 'วันที่ครบกำหนด',
+ 'Invalid date' => 'วันที่ผิด',
+ 'Must be done before %B %e, %Y' => 'ต้องทำให้เสร็จก่อน %d/%m/%Y',
+ '%B %e, %Y' => '%d/%m/%Y',
+ // '%b %e, %Y' => '',
+ 'Automatic actions' => 'การกระทำอัตโนมัติ',
+ 'Your automatic action have been created successfully.' => 'การกระทำอัตโนมัติสร้างเรียบร้อยแล้ว',
+ 'Unable to create your automatic action.' => 'ไม่สามารถสร้างการกระทำอัตโนมัติได้',
+ 'Remove an action' => 'ลบการกระทำ',
+ 'Unable to remove this action.' => 'ไม่สามารถลบการกระทำ',
+ 'Action removed successfully.' => 'ลบการกระทำเรียบร้อยแล้ว',
+ 'Automatic actions for the project "%s"' => 'การกระทำอัตโนมัติสำหรับโปรเจค « %s »',
+ 'Defined actions' => 'กำหนดการกระทำ',
+ 'Add an action' => 'เพิ่มการกระทำ',
+ 'Event name' => 'ชื่อเหตุกาณ์',
+ 'Action name' => 'ชื่อการกระทำ',
+ 'Action parameters' => 'พารามิเตอร์ของการกระทำ',
+ 'Action' => 'การกระทำ',
+ 'Event' => 'เหตุการณ์',
+ 'When the selected event occurs execute the corresponding action.' => 'เหตุการ์ที่เลือกจะเกิดขึ้นเมื่อมีการกระทำที่สอดคล้องกัน',
+ 'Next step' => 'ขั้นตอนต่อไป',
+ 'Define action parameters' => 'กำหนดพารามิเตอร์ของการกระทำ',
+ 'Save this action' => 'บันทึกการกระทำนี้',
+ 'Do you really want to remove this action: "%s"?' => 'คุณต้องการลบการกระทำ « %s » ใช่หรือไม่?',
+ 'Remove an automatic action' => 'ลบการกระทำอัตโนมัติ',
+ 'Close the task' => 'ปิดงาน',
+ 'Assign the task to a specific user' => 'กำหนดงานให้ผู้ใช้แบบเจาะจง',
+ 'Assign the task to the person who does the action' => 'กำหนดงานให้ผู้ใช้งานปัจจุบัน',
+ 'Duplicate the task to another project' => 'ทำซ้ำงานนี้ในโปรเจคอื่น',
+ 'Move a task to another column' => 'ย้ายงานไปคอลัมน์อื่น',
+ 'Move a task to another position in the same column' => 'ย้ายงานไปตำแหน่งอื่นในคอลัมน์เดียวกัน',
+ 'Task modification' => 'แก้ไขงาน',
+ 'Task creation' => 'สร้างงาน',
+ 'Open a closed task' => 'เปิดงานที่ปิดอยู่',
+ 'Closing a task' => 'กำลังปิดงาน',
+ 'Assign a color to a specific user' => 'กำหนดสีให้ผู้ใช้แบบเจาะจง',
+ 'Column title' => 'หัวเรื่องคอลัมน์',
+ 'Position' => 'ตำแหน่ง',
+ 'Move Up' => 'ย้ายขึ้น',
+ 'Move Down' => 'ย้ายลง',
+ 'Duplicate to another project' => 'ทำซ้ำในโปรเจคอื่น',
+ 'Duplicate' => 'ทำซ้ำ',
+ 'link' => 'ลิงค์',
+ 'Update this comment' => 'ปรับปรุงความคิดเห็นนี้',
+ 'Comment updated successfully.' => 'ปรับปรุงความคิดเห็นเรียบร้อยแล้ว',
+ 'Unable to update your comment.' => 'ไม่สามารถปรับปรุงความคิดเห็นได้',
+ 'Remove a comment' => 'ลบความคิดเห็น',
+ 'Comment removed successfully.' => 'ลบความคิดเห็นเรียบร้อยแล้ว',
+ 'Unable to remove this comment.' => 'ไม่สามารถลบความคิดเห็นได้',
+ 'Do you really want to remove this comment?' => 'คุณต้องการลบความคิดเห็น',
+ 'Only administrators or the creator of the comment can access to this page.' => 'เฉพาะผู้ดูแลระบบหรือผู้สร้างความคิดเห็นเข้าถึงหน้านี้',
+ 'Details' => 'รายละเอียด',
+ 'Current password for the user "%s"' => 'รหัสผ่านปัจจุบันของผู้ใช้ « %s »',
+ 'The current password is required' => 'ต้องการรหัสผ่านปัจจุบัน',
+ 'Wrong password' => 'รหัสผ่านผิด',
+ 'Reset all tokens' => 'รีเซตโทเคนทั้งหมด ',
+ 'All tokens have been regenerated.' => 'โทเคนทั้งหมดทำการสร้างใหม่',
+ 'Unknown' => 'ไม่ทราบ',
+ 'Last logins' => 'เข้าใช้ล่าสุด',
+ 'Login date' => 'วันที่เข้าใข้',
+ 'Authentication method' => 'วิธีการยืนยันตัวตน',
+ 'IP address' => 'ไอพี แอดเดรส',
+ 'User agent' => 'User agent',
+ 'Persistent connections' => 'Persistent connections',
+ 'No session.' => 'No session.',
+ 'Expiration date' => 'หมดอายุวันที่',
+ 'Remember Me' => 'จดจำฉัน',
+ 'Creation date' => 'สร้างวันที่',
+ 'Filter by user' => 'กรองตามผู้ใช้',
+ 'Filter by due date' => 'กรองตามวันครบกำหนด',
+ 'Everybody' => 'ทุกคน',
+ 'Open' => 'เปิด',
+ 'Closed' => 'ปิด',
+ 'Search' => 'ค้นหา',
+ 'Nothing found.' => 'ค้นหาไม่พบ.',
+ 'Search in the project "%s"' => 'ค้นหาในโปรเจค "%s"',
+ 'Due date' => 'วันที่ครบกำหนด',
+ 'Others formats accepted: %s and %s' => 'รูปแบบอื่นที่ได้รับการยอมรับ: %s และ %s',
+ 'Description' => 'คำอธิบาย',
+ '%d comments' => '%d ความคิดเห็น',
+ '%d comment' => '%d ความคิดเห็น',
+ 'Email address invalid' => 'อีเมลผิด',
+ 'Your Google Account is not linked anymore to your profile.' => 'กูเกิลแอคเคาท์ไม่ได้เชื่อมต่อกับประวัติของคุณ',
+ 'Unable to unlink your Google Account.' => 'ไม่สามารถยกเลิกการเชื่อมต่อกับกูเกิลแอคเคาท์',
+ 'Google authentication failed' => 'การยืนยันกับกูเกิลผิดพลาด',
+ 'Unable to link your Google Account.' => 'ไม่สามารถเชื่อมต่อกับกูเกิลแอคเคาท์',
+ 'Your Google Account is linked to your profile successfully.' => 'กูเกลิแอคเคาท์เชื่อมต่อกับประวัติของคุณเรียบร้อยแล้ว',
+ 'Email' => 'อีเมล',
+ 'Link my Google Account' => 'เชื่อมต่อกับกูเกิลแอคเคาท์',
+ 'Unlink my Google Account' => 'ไม่เชื่อมต่อกับกูเกิลแอคเคาท์',
+ 'Login with my Google Account' => 'เข้าใช้ด้วยกูเกิลแอคเคาท์',
+ 'Project not found.' => 'หาโปรเจคไม่พบ',
+ 'Task #%d' => 'งานที่ %d',
+ 'Task removed successfully.' => 'ลบงานเรียบร้อยแล้ว',
+ 'Unable to remove this task.' => 'ไม่สามารถลบงานนี้',
+ 'Remove a task' => 'ลบงาาน',
+ 'Do you really want to remove this task: "%s"?' => 'คุณต้องการลบงาน "%s" ออกใช่หรือไม่?',
+ 'Assign automatically a color based on a category' => 'กำหนดสีอัตโนมัติขึ้นอยู่กับกลุ่ม',
+ 'Assign automatically a category based on a color' => 'กำหนดกลุ่มอัตโนมัติขึ้นอยู่กับสี',
+ 'Task creation or modification' => 'สร้างหรือแก้ไขงาน',
+ 'Category' => 'กลุ่ม',
+ 'Category:' => 'กลุ่ม:',
+ 'Categories' => 'กลุ่ม',
+ 'Category not found.' => 'ไม่พบกลุ่ม.',
+ 'Your category have been created successfully.' => 'สร้างกลุ่มเรียบร้อยแล้ว',
+ 'Unable to create your category.' => 'ไม่สามารถสร้างกลุ่มได้',
+ 'Your category have been updated successfully.' => 'ปรับปรุงกลุ่มเรียบร้อยแล้ว',
+ 'Unable to update your category.' => 'ไม่สามารถปรับปรุงกลุ่มได้',
+ 'Remove a category' => 'ลบกลุ่ม',
+ 'Category removed successfully.' => 'ลบกลุ่มเรียบร้อยแล้ว',
+ 'Unable to remove this category.' => 'ไม่สามารถลบกลุ่มได้',
+ 'Category modification for the project "%s"' => 'แก้ไขกลุ่มสำหรับโปรเจค "%s"',
+ 'Category Name' => 'ชื่อกลุ่ม',
+ 'Categories for the project "%s"' => 'กลุ่มสำหรับโปรเจค "%s"',
+ 'Add a new category' => 'เพิ่มกลุ่มใหม่',
+ 'Do you really want to remove this category: "%s"?' => 'คุณต้องการลบกลุ่ม "%s" ใช่หรือไม่?',
+ 'Filter by category' => 'กรองตามกลุ่ม',
+ 'All categories' => 'กลุ่มทั้งหมด',
+ 'No category' => 'ไม่มีกลุ่ม',
+ 'The name is required' => 'ต้องการชื่อ',
+ 'Remove a file' => 'ลบไฟล์',
+ 'Unable to remove this file.' => 'ไม่สามารถลบไฟล์ได้',
+ 'File removed successfully.' => 'ลบไฟล์เรียบร้อยแล้ว',
+ 'Attach a document' => 'แนบเอกสาร',
+ 'Do you really want to remove this file: "%s"?' => 'คุณต้องการลบไฟล์ "%s" ใช่หรือไม่?',
+ 'open' => 'เปิด',
+ 'Attachments' => 'แนบ',
+ 'Edit the task' => 'แก้ไขงาน',
+ 'Edit the description' => 'แก้ไขคำอธิบาย',
+ 'Add a comment' => 'เพิ่มความคิดเห็น',
+ 'Edit a comment' => 'แก้ไขความคิดเห็น',
+ 'Summary' => 'สรุป',
+ 'Time tracking' => 'การติดตามเวลา',
+ 'Estimate:' => 'ประมาณ:',
+ 'Spent:' => 'ใช้:',
+ 'Do you really want to remove this sub-task?' => 'คุณต้องการลบงานย่อยใช่หรือไม่?',
+ 'Remaining:' => 'เหลือ:',
+ 'hours' => 'ชั่วโมง',
+ 'spent' => 'ใช้',
+ 'estimated' => 'ประมาณ',
+ 'Sub-Tasks' => 'งานย่อย',
+ 'Add a sub-task' => 'เพิ่มงานย่อย',
+ // 'Original estimate' => '',
+ 'Create another sub-task' => 'สร้างงานย่อยอื่น',
+ 'Time spent' => 'ใช้เวลา',
+ 'Edit a sub-task' => 'แก้ไขงานย่อย',
+ 'Remove a sub-task' => 'ลบงานย่อย',
+ 'The time must be a numeric value' => 'เวลาที่ต้องเป็นตัวเลข',
+ 'Todo' => 'สิ่งที่ต้องทำ',
+ 'In progress' => 'กำลังดำเนินการ',
+ 'Sub-task removed successfully.' => 'ลบงานย่อยเรียบร้อยแล้ว',
+ 'Unable to remove this sub-task.' => 'ไม่สามารถลบงานย่อยได้',
+ 'Sub-task updated successfully.' => 'ปรับปรุงงานย่อย่่เรียบร้อยแล้ว',
+ 'Unable to update your sub-task.' => 'ไม่สามารถปรับปรุงานย่อยได้',
+ 'Unable to create your sub-task.' => 'ไม่สามารถสร้างงานย่อยได้',
+ 'Sub-task added successfully.' => 'เพิ่มงานย่อยเรียบร้อยแล้ว',
+ 'Maximum size: ' => 'ขนาดสูงสุด:',
+ 'Unable to upload the file.' => 'ไม่สามารถอัพโหลดไฟล์ได้',
+ 'Display another project' => 'แสดงโปรเจคอื่น',
+ 'Your GitHub account was successfully linked to your profile.' => 'กิทฮับแอคเคาท์เชื่อมต่อกับประวัติเรียบร้อยแล้ว',
+ 'Unable to link your GitHub Account.' => 'ไม่สามารถเชื่อมต่อกับกิทฮับแอคเคาท์ได้',
+ 'GitHub authentication failed' => 'การยืนยันกิทฮับผิดพลาด',
+ 'Your GitHub account is no longer linked to your profile.' => 'กิทฮับแอคเคาท์ไม่ได้มีการเชื่อมโยงไปยังโปรไฟล์ของคุณ',
+ 'Unable to unlink your GitHub Account.' => 'ไม่สามารถยกเลิกการเชื่อมต่อกิทฮับแอคเคาท์ได้',
+ 'Login with my GitHub Account' => 'เข้าใช้ด้วยกิทฮับแอคเคาท์',
+ 'Link my GitHub Account' => 'เชื่อมกับกิทฮับแอคเคาท์',
+ 'Unlink my GitHub Account' => 'ยกเลิกการเชื่อมกับกิทอับแอคเคาท์',
+ 'Created by %s' => 'สร้างโดย %s',
+ 'Last modified on %B %e, %Y at %k:%M %p' => 'แก้ไขล่าสุดวันที่ %B %e, %Y เวลา %k:%M %p',
+ 'Tasks Export' => 'ส่งออกงาน',
+ 'Tasks exportation for "%s"' => 'ส่งออกงานสำหรับ "%s"',
+ 'Start Date' => 'เริ่มวันที่',
+ 'End Date' => 'สิ้นสุดวันที่',
+ 'Execute' => 'ประมวลผล',
+ 'Task Id' => 'งาน ไอดี',
+ 'Creator' => 'ผู้สร้าง',
+ 'Modification date' => 'วันที่แก้ไข',
+ 'Completion date' => 'วันที่เสร็จสิ้น',
+ 'Clone' => 'เลียนแบบ',
+ 'Clone Project' => 'เลียนแบบโปรเจค',
+ 'Project cloned successfully.' => 'เลียนแบบโปรเจคเรียบร้อยแล้ว',
+ 'Unable to clone this project.' => 'ไม่สามารถเลียบแบบโปรเจคได้',
+ 'Email notifications' => 'อีเมลแจ้งเตือน',
+ 'Enable email notifications' => 'เปิดอีเมลแจ้งเตือน',
+ 'Task position:' => 'ตำแหน่งงาน',
+ 'The task #%d have been opened.' => 'งานที่ #%d ถุกเปิด',
+ 'The task #%d have been closed.' => 'งานที่ #%d ถูกปิด',
+ 'Sub-task updated' => 'ปรับปรุงงานย่อย',
+ 'Title:' => 'หัวเรื่อง:',
+ 'Status:' => 'สถานะ:',
+ 'Assignee:' => 'กำหนดให้:',
+ 'Time tracking:' => 'การติดตามเวลา:',
+ 'New sub-task' => 'งานย่อยใหม่',
+ 'New attachment added "%s"' => 'เพิ่มการแนบใหม่ "%s"',
+ 'Comment updated' => 'ปรับปรุงความคิดเห็น',
+ 'New comment posted by %s' => 'ความคิดเห็นใหม่จาก %s',
+ 'List of due tasks for the project "%s"' => 'รายการงานสำหรับโปรเจค "%s"',
+ 'New attachment' => 'การแนบใหม่',
+ 'New comment' => 'ความคิดเห็นใหม่',
+ 'New subtask' => 'งานย่อยใหม่',
+ 'Subtask updated' => 'ปรับปรุงงานย่อยแล้ว',
+ 'Task updated' => 'ปรับปรุงงานแล้ว',
+ 'Task closed' => 'ปิดงาน',
+ 'Task opened' => 'เปิดงาน',
+ '[%s][Due tasks]' => '[%s][งานปัจจุบัน]',
+ '[Kanboard] Notification' => '[Kanboard] แจ้งเตือน',
+ 'I want to receive notifications only for those projects:' => 'ฉันต้องการรับการแจ้งเตือนสำหรับโปรเจค:',
+ 'view the task on Kanboard' => 'แสดงงานบน Kanboard',
+ 'Public access' => 'การเข้าถึงสาธารณะ',
+ 'Category management' => 'การจัดการกลุ่ม',
+ 'User management' => 'การจัดการผู้ใช้',
+ 'Active tasks' => 'งานที่กำลังใช้งาน',
+ 'Disable public access' => 'ปิดการเข้าถึงสาธารณะ',
+ 'Enable public access' => 'เปิดการเข้าถึงสาธารณะ',
+ 'Active projects' => 'เปิดโปรเจค',
+ 'Inactive projects' => 'ปิดโปรเจค',
+ 'Public access disabled' => 'การเข้าถึงสาธารณะถูกปิด',
+ 'Do you really want to disable this project: "%s"?' => 'คุณต้องการปิดการใช้งานโปรเจคนี้: "%s" ใช่หรือไม่?',
+ 'Do you really want to duplicate this project: "%s"?' => 'คุณต้องการทำซ้ำโปรเจคนี้ "%s" ใช่หรือไม่?',
+ 'Do you really want to enable this project: "%s"?' => 'คุณต้องการเปิดการใช้งานโปรเจคนี้: "%s" ใช่หรือไม่?',
+ 'Project activation' => 'การ เปิด/ปิด ใช้งานโปรเจค',
+ 'Move the task to another project' => 'ย้ายงานไปโปรเจคอื่น',
+ 'Move to another project' => 'ย้ายไปโปรเจคอื่น',
+ 'Do you really want to duplicate this task?' => 'คุณต้องการทำซ้ำงานนี้ใช่หรือไม่?',
+ 'Duplicate a task' => 'ทำซ้ำงาน',
+ 'External accounts' => 'บัญชีภายนอก',
+ 'Account type' => 'ประเภทบัญชี',
+ 'Local' => 'ท้องถิ่น',
+ 'Remote' => 'รีโมท',
+ 'Enabled' => 'เปิดการใช้',
+ 'Disabled' => 'ปิดการใช้',
+ 'Google account linked' => 'เชื่อมกับกูเกิลแอคเคาท์',
+ 'Github account linked' => 'เชื่อมกับกิทฮับแอคเคาท์',
+ 'Username:' => 'ชื่อผู้ใช้:',
+ 'Name:' => 'ชื่อ:',
+ 'Email:' => 'อีเมล:',
+ 'Default project:' => 'โปรเจคเริ่มต้น:',
+ 'Notifications:' => 'แจ้งเตือน:',
+ 'Notifications' => 'การแจ้งเตือน',
+ 'Group:' => 'กลุ่ม:',
+ 'Regular user' => 'ผู้ใช้ปกติ:',
+ 'Account type:' => 'ชนิดบัญชี:',
+ 'Edit profile' => 'แก้ไขประวัติ',
+ 'Change password' => 'เปลี่ยนรหัสผ่าน',
+ 'Password modification' => 'แก้ไขรหัสผ่าน',
+ 'External authentications' => 'การยืนยันภายนอก',
+ 'Google Account' => 'กูเกิลแอคเคาท์',
+ 'Github Account' => 'กิทฮับแอคเคาท์',
+ 'Never connected.' => 'ไม่เชื่อมต่อ',
+ 'No account linked.' => 'แอคเคาท์ไม่มีการเชื่อม',
+ 'Account linked.' => 'แอคเคาท์เชื่อมต่อแล้ว',
+ 'No external authentication enabled.' => 'ไม่เปิดการใช้งานการยืนยันภายนอก',
+ 'Password modified successfully.' => 'แก้ไขรหัสผ่านเรียบร้อยแล้ว',
+ 'Unable to change the password.' => 'ไม่สามารถเปลี่ยนรหัสผ่านได้',
+ 'Change category for the task "%s"' => 'เปลี่ยนกลุ่มสำหรับงาน "%s"',
+ 'Change category' => 'เปลี่ยนกลุ่ม',
+ '%s updated the task %s' => '%s ปรับปรุงงานแล้ว %s',
+ '%s opened the task %s' => '%s เปิดงานแล้ว %s',
+ '%s moved the task %s to the position #%d in the column "%s"' => '%s ย้ายงานแล้ว %s ไปตำแหน่ง #%d ในคอลัมน์ "%s"',
+ '%s moved the task %s to the column "%s"' => '%s ย้ายงานแล้ว %s ไปคอลัมน์ "%s"',
+ '%s created the task %s' => '%s สร้างงานแล้ว %s',
+ '%s closed the task %s' => '%s ปิดงานแล้ว %s',
+ '%s created a subtask for the task %s' => '%s สร้างงานย่อยสำหรับงานแล้ว %s',
+ '%s updated a subtask for the task %s' => '%s ปรับปรุงงานย่อยสำหรับงานแล้ว %s',
+ 'Assigned to %s with an estimate of %s/%sh' => 'กำหนดให้ %s โดยประมาณแล้ว %s/%sh',
+ 'Not assigned, estimate of %sh' => 'ไม่กำหนดแล้ว, ประมาณเวลาที่ใช้ %s ชั่วโมง',
+ '%s updated a comment on the task %s' => '%s ปรับปรุงความคิดเห็นในงานแล้ว %s',
+ '%s commented the task %s' => '%s แสดงความคิดเห็นของงานแล้ว %s',
+ '%s\'s activity' => 'กิจกรรม %s',
+ 'No activity.' => 'ไม่มีกิจกรรม',
+ 'RSS feed' => 'RSS feed',
+ '%s updated a comment on the task #%d' => '%s ปรับปรุงความคิดเห็นบนงานแล้ว #%d',
+ '%s commented on the task #%d' => '%s แสดงความคิดเห็นบนงานแล้ว #%d',
+ '%s updated a subtask for the task #%d' => '%s ปรับปรุงงานย่อยสำหรับงานแล้ว #%d',
+ '%s created a subtask for the task #%d' => '%s สร้างงานย่อยสำหรับงานแล้ว #%d',
+ '%s updated the task #%d' => '%s ปรับปรุงงานแล้ว #%d',
+ '%s created the task #%d' => '%s สร้างงานแล้ว #%d',
+ '%s closed the task #%d' => '%s ปิดงานแล้ว #%d',
+ '%s open the task #%d' => '%s เปิดงานแล้ว #%d',
+ '%s moved the task #%d to the column "%s"' => '%s ย้ายงานแล้ว #%d ไปที่คอลัมน์ "%s"',
+ '%s moved the task #%d to the position %d in the column "%s"' => '%s ย้ายงานแล้ว #%d ไปตำแหน่ง %d ในคอลัมน์ที่ "%s"',
+ 'Activity' => 'กิจกรรม',
+ 'Default values are "%s"' => 'ค่าเริ่มต้น "%s"',
+ 'Default columns for new projects (Comma-separated)' => 'คอลัมน์เริ่มต้นสำหรับโปรเจคใหม่ (Comma-separated)',
+ 'Task assignee change' => 'เปลี่ยนการกำหนดบุคคลของงาน',
+ // '%s change the assignee of the task #%d to %s' => '',
+ // '%s changed the assignee of the task %s to %s' => '',
+ 'Column Change' => 'เปลี่ยนคอลัมน์',
+ 'Position Change' => 'เปลี่ยนตำแหน่ง',
+ 'Assignee Change' => 'เปลิ่ยนการกำหนด',
+ 'New password for the user "%s"' => 'รหัสผ่านใหม่สำหรับผู้ใช้ "%s"',
+ 'Choose an event' => 'เลือกเหตุการณ์',
+ // 'Github commit received' => '',
+ // 'Github issue opened' => '',
+ // 'Github issue closed' => '',
+ // 'Github issue reopened' => '',
+ // 'Github issue assignee change' => '',
+ // 'Github issue label change' => '',
+ // 'Create a task from an external provider' => '',
+ // 'Change the assignee based on an external username' => '',
+ // 'Change the category based on an external label' => '',
+ // 'Reference' => '',
+ // 'Reference: %s' => '',
+ 'Label' => 'ป้ายชื่อ',
+ 'Database' => 'ฐานข้อมูล',
+ 'About' => 'เกี่ยวกับ',
+ 'Database driver:' => 'เครื่องมือฐานขข้อมูล',
+ 'Board settings' => 'ตั้งค่าบอร์ด',
+ // 'URL and token' => '',
+ // 'Webhook settings' => '',
+ // 'URL for task creation:' => '',
+ // 'Reset token' => '',
+ // 'API endpoint:' => '',
+ 'Refresh interval for private board' => 'ระยะรีเฟรชบอร์ดส่วนตัว',
+ 'Refresh interval for public board' => 'ระยะรีเฟรชบอร์ดสาธารณะ',
+ 'Task highlight period' => 'ช่วงเวลาไฮไลต์งาน',
+ 'Period (in second) to consider a task was modified recently (0 to disable, 2 days by default)' => 'ช่วงเวลา (เป็นวินาที) ใช้ในการตัดสินใจว่าเป็นการแก้ไขเร็วๆ นี้ (0 ไม่ใช้งาน, ค่าเริ่มต้น 2 วัน)',
+ 'Frequency in second (60 seconds by default)' => 'ความถี่ (ค่าเริ่มต้นทุก 60 วินาที) ',
+ 'Frequency in second (0 to disable this feature, 10 seconds by default)' => 'ความถี่ (0 ไม่ใช้คุณลักษณะนี้, ค่าเริ่มต้นทุก 10 วินาที)',
+ // 'Application URL' => '',
+ 'Example: http://example.kanboard.net/ (used by email notifications)' => 'ตัวอย่าง: http://example.kanboard.net/ (ถูกใช้ในการแจ้งเตือนทางอีเมล์)',
+ // 'Token regenerated.' => '',
+ 'Date format' => 'รูปแบบวันที่',
+ // 'ISO format is always accepted, example: "%s" and "%s"' => '',
+ 'New private project' => 'เพิ่มโปรเจคส่วนตัวใหม่',
+ 'This project is private' => 'โปรเจคนี้เป็นโปรเจคส่วนตัว',
+ // 'Type here to create a new sub-task' => '',
+ 'Add' => 'เพิ่ม',
+ 'Estimated time: %s hours' => 'เวลาเฉลี่ย: %s ชั่วโมง',
+ 'Time spent: %s hours' => 'ใช้เวลาไป %s ชม.',
+ 'Started on %B %e, %Y' => 'เริ่ม %B %e, %Y',
+ 'Start date' => 'เริ่มวันที่',
+ 'Time estimated' => 'เวลาโดยประมาณ',
+ 'There is nothing assigned to you.' => 'ไม่มีอะไรกำหนดให้คุณ',
+ 'My tasks' => 'งานของฉัน',
+ 'Activity stream' => 'กิจกรรมที่เกิดขึ้น',
+ 'Dashboard' => 'แดชบอร์ด',
+ 'Confirmation' => 'ยืนยันรหัสผ่าน',
+ 'Allow everybody to access to this project' => 'อนุญาตให้ทุกคนเข้าถึงโปรเจคนี้',
+ 'Everybody have access to this project.' => 'ทุกคนสามารถเข้าถึงโปรเจคนี้',
+ // 'Webhooks' => '',
+ // 'API' => '',
+ 'Integration' => 'การใช้งานร่วมกัน',
+ // 'Github webhooks' => '',
+ // 'Help on Github webhooks' => '',
+ // 'Create a comment from an external provider' => '',
+ // 'Github issue comment created' => '',
+ 'Configure' => 'การตั้งค่า',
+ 'Project management' => 'การจัดการโปรเจค',
+ 'My projects' => 'โปรเจคของฉัน',
+ 'Columns' => 'คอลัมน์',
+ 'Task' => 'งาน',
+ 'Your are not member of any project.' => 'คุณไม่ได้เป็นสมาชิกของโปรเจค',
+ 'Percentage' => 'เปอร์เซ็นต์',
+ 'Number of tasks' => 'จำนวนงาน',
+ 'Task distribution' => 'การกระจายงาน',
+ 'Reportings' => 'รายงาน',
+ // 'Task repartition for "%s"' => '',
+ 'Analytics' => 'การวิเคราะห์',
+ 'Subtask' => 'งานย่อย',
+ 'My subtasks' => 'งานย่อยของฉัน',
+ 'User repartition' => 'การแบ่งงานของผู้ใช้',
+ 'User repartition for "%s"' => 'การแบ่งงานของผู้ใช้ "%s"',
+ 'Clone this project' => 'เลียนแบบโปรเจคนี้',
+ 'Column removed successfully.' => 'ลบคอลัมน์สำเร็จ',
+ 'Edit Project' => 'แก้ไขโปรเจค',
+ // 'Github Issue' => '',
+ 'Not enough data to show the graph.' => 'ไม่มีข้อมูลแสดงเป็นกราฟ',
+ 'Previous' => 'ก่อนหน้า',
+ 'The id must be an integer' => 'ไอดีต้องเป็นตัวเลขจำนวนเต็ม',
+ 'The project id must be an integer' => 'ไอดีโปรเจคต้องเป็นตัวเลข',
+ 'The status must be an integer' => 'สถานะต้องเป็นตัวเลข',
+ 'The subtask id is required' => 'ต้องการงานย่อย',
+ 'The subtask id must be an integer' => 'ไอดีงานย่อยต้องเป็นตัวเลข',
+ 'The task id is required' => 'ต้องการไอดีงาน',
+ 'The task id must be an integer' => 'ไอดีงานต้องเป็นตัวเลข',
+ 'The user id must be an integer' => 'ไอดีผู้ใช้ต้องเป็นตัวเลข',
+ 'This value is required' => 'ต้องการค่านี้',
+ 'This value must be numeric' => 'ค่านี้ต้องเป็นตัวเลข',
+ 'Unable to create this task.' => 'ไม่สามารถสร้างงานนี้',
+ 'Cumulative flow diagram' => 'แผนภาพงานสะสม',
+ 'Cumulative flow diagram for "%s"' => 'แผนภาพงานสะสม "%s"',
+ 'Daily project summary' => 'สรุปโปรเจครายวัน',
+ 'Daily project summary export' => 'ส่งออกสรุปโปรเจครายวัน',
+ 'Daily project summary export for "%s"' => 'ส่งออกสรุปโปรเจครายวันสำหรับ "%s"',
+ 'Exports' => 'ส่งออก',
+ 'This export contains the number of tasks per column grouped per day.' => 'การส่งออกนี้เป็นการนับจำนวนงานในแต่ละคอลัมน์ในแต่ละวัน',
+ 'Nothing to preview...' => 'ไม่มีพรีวิว...',
+ 'Preview' => 'พรีวิว',
+ 'Write' => 'เขียน',
+ 'Active swimlanes' => 'สวิมเลนพร้อมใช้งาน',
+ 'Add a new swimlane' => 'เพิ่มสวิมเลนใหม่',
+ 'Change default swimlane' => 'เปลี่ยนสวิมเลนเริ่มต้น',
+ 'Default swimlane' => 'สวิมเลนเริ่มต้น',
+ 'Do you really want to remove this swimlane: "%s"?' => 'คุณต้องการลบสวิมเลนนี้ : "%s"?',
+ 'Inactive swimlanes' => 'สวิมเลนไม่ทำงาน',
+ 'Set project manager' => 'กำหนดผู้จัดการโปรเจค',
+ 'Set project member' => 'กำหนดสมาชิกโปรเจค',
+ 'Remove a swimlane' => 'ลบสวิมเลน',
+ 'Rename' => 'เปลี่ยนชื่อ',
+ 'Show default swimlane' => 'แสดงสวิมเลนเริ่มต้น',
+ 'Swimlane modification for the project "%s"' => 'แก้ไขสวิมเลนสำหรับโปรเจค "%s"',
+ 'Swimlane not found.' => 'หาสวิมเลนไม่พบ',
+ 'Swimlane removed successfully.' => 'ลบสวิมเลนเรียบร้อยแล้ว',
+ 'Swimlanes' => 'สวิมเลน',
+ 'Swimlane updated successfully.' => 'ปรับปรุงสวิมเลนเรียบร้อยแล้ว',
+ 'The default swimlane have been updated successfully.' => 'สวิมเลนเริ่มต้นปรับปรุงเรียบร้อยแล้ว',
+ 'Unable to create your swimlane.' => 'ไม่สามารถสร้างสวิมเลนของคุณได้',
+ 'Unable to remove this swimlane.' => 'ไม่สามารถลบสวิมเลนนี้',
+ 'Unable to update this swimlane.' => 'ไม่สามารถปรับปรุงสวิมเลนนี้',
+ 'Your swimlane have been created successfully.' => 'สวิมเลนของคุณถูกสร้างเรียบร้อยแล้ว',
+ 'Example: "Bug, Feature Request, Improvement"' => 'ตัวอย่าง: "Bug, Feature Request, Improvement"',
+ 'Default categories for new projects (Comma-separated)' => 'ค่าเริ่มต้นกลุ่มสำหรับโปรเจคใหม่ (Comma-separated)',
+ // 'Gitlab commit received' => '',
+ // 'Gitlab issue opened' => '',
+ // 'Gitlab issue closed' => '',
+ // 'Gitlab webhooks' => '',
+ // 'Help on Gitlab webhooks' => '',
+ 'Integrations' => 'การใช้ร่วมกัน',
+ 'Integration with third-party services' => 'การใช้งานร่วมกับบริการ third-party',
+ // 'Role for this project' => '',
+ 'Project manager' => 'ผู้จัดการโปรเจค',
+ 'Project member' => 'สมาชิกโปรเจค',
+ 'A project manager can change the settings of the project and have more privileges than a standard user.' => 'ผู้จัดการโปรเจคสามารถตั้งค่าของโปรเจคและมีสิทธิ์มากกว่าผู้ใช้ทั่วไป',
+ // 'Gitlab Issue' => '',
+ 'Subtask Id' => 'รหัสงานย่อย',
+ 'Subtasks' => 'งานย่อย',
+ 'Subtasks Export' => 'ส่งออก งานย่อย',
+ 'Subtasks exportation for "%s"' => 'ส่งออกงานย่อยสำหรับ "%s"',
+ 'Task Title' => 'ชื่องาน',
+ 'Untitled' => 'ไม่มีชื่อ',
+ 'Application default' => 'แอพพลิเคชันเริ่มต้น',
+ 'Language:' => 'ภาษา:',
+ 'Timezone:' => 'เขตเวลา:',
+ 'All columns' => 'คอลัมน์ทั้งหมด',
+ 'Calendar for "%s"' => 'ปฏิทินสำหรับ "%s"',
+ 'Filter by column' => 'กรองโดยคอลัมน์',
+ 'Filter by status' => 'กรองโดยสถานะ',
+ 'Calendar' => 'ปฏิทิน',
+ 'Next' => 'ต่อไป',
+ // '#%d' => '',
+ 'Filter by color' => 'กรองโดยสี',
+ 'Filter by swimlane' => 'กรองโดยสวิมเลน',
+ 'All swimlanes' => 'สวิมเลนทั้งหมด',
+ 'All colors' => 'สีทั้งหมด',
+ 'All status' => 'สถานะทั้งหมด',
+ 'Add a comment logging moving the task between columns' => 'เพิ่มความคิดเห็นที่เป็น log เมื่อเปลี่ยนคอลัมน์',
+ 'Moved to column %s' => 'เคลื่อนไปคอลัมน์ %s',
+ 'Change description' => 'เปลี่ยนคำอธิบาย',
+ 'User dashboard' => 'ผู้ใช้แดชบอร์ด',
+ 'Allow only one subtask in progress at the same time for a user' => 'อนุญาตให้ทำงานย่อยได้เพียงงานเดียวต่อหนึ่งคนในเวลาเดียวกัน',
+ 'Edit column "%s"' => 'แก้ไขคอลัมน์ "%s"',
+ 'Enable time tracking for subtasks' => 'สามารถติดตามเวลาของงานย่อย',
+ 'Select the new status of the subtask: "%s"' => 'เลือกสถานะใหม่ของงานย่อย',
+ 'Subtask timesheet' => 'เวลางานย่อย',
+ 'There is nothing to show.' => 'ไม่มีที่ต้องแสดง',
+ 'Time Tracking' => 'ติดตามเวลา',
+ 'You already have one subtask in progress' => 'คุณมีหนึ่งงานย่อยที่กำลังทำงาน',
+ // 'Which parts of the project do you want to duplicate?' => '',
+ 'Change dashboard view' => 'เปลี่ยนมุมมองแดชบอร์ด',
+ 'Show/hide activities' => 'แสดง/ซ่อน กิจกรรม',
+ 'Show/hide projects' => 'แสดง/ซ่อน โปรเจค',
+ 'Show/hide subtasks' => 'แสดง/ซ่อน งานย่อย',
+ 'Show/hide tasks' => 'แสดง/ซ่อน งาน',
+ //'Disable login form' => '',
+ 'Show/hide calendar' => 'แสดง/ซ่อน ปฎิทิน',
+ 'User calendar' => 'ปฏิทินผู้ใช้',
+ // 'Bitbucket commit received' => '',
+ // 'Bitbucket webhooks' => '',
+ // 'Help on Bitbucket webhooks' => '',
+ 'Start' => 'เริ่ม',
+ 'End' => 'จบ',
+ 'Task age in days' => 'อายุงาน',
+ 'Days in this column' => 'วันในคอลัมน์นี้',
+ // '%dd' => '',
+ 'Add a link' => 'เพิ่มลิงค์',
+ 'Add a new link' => 'เพิ่มลิงค์ใหม่',
+ 'Do you really want to remove this link: "%s"?' => 'คุณต้องการลบลิงค์นี้: "%s"?',
+ //'Do you really want to remove this link with task #%d?' => '',
+ 'Field required' => 'ต้องใส่',
+ 'Link added successfully.' => 'เพิ่มลิงค์เรียบร้อยแล้ว',
+ 'Link updated successfully.' => 'ปรับปรุงลิงค์เรียบร้อยแล้ว',
+ 'Link removed successfully.' => 'ลบลิงค์เรียบร้อยแล้ว',
+ 'Link labels' => 'ป้ายลิงค์',
+ 'Link modification' => 'แก้ไขลิงค์',
+ 'Links' => 'ลิงค์',
+ 'Link settings' => 'ตั้งค่าลิงค์',
+ 'Opposite label' => 'ป้ายชื่อตรงข้าม',
+ 'Remove a link' => 'ลบลิงค์',
+ 'Task\'s links' => 'ลิงค',
+ 'The labels must be different' => 'ป้ายชื่อต้องต่างกัน',
+ 'There is no link.' => 'ไม่มีลิงค์',
+ 'This label must be unique' => 'ป้ายชื่อต้องไม่ซ้ำกัน',
+ 'Unable to create your link.' => 'ไม่สามารถสร้างลิงค์ของคุณ',
+ 'Unable to update your link.' => 'ไม่สามารถปรับปรุงลิงค์ของคุณ',
+ 'Unable to remove this link.' => 'ไม่สามารถลบลิงค์นี้',
+ 'relates to' => 'เกี่ยวข้องกับ',
+ 'blocks' => 'ห้าม',
+ 'is blocked by' => 'ถูกห้ามด้วย',
+ 'duplicates' => 'ซ้ำกัน',
+ 'is duplicated by' => 'ถูกทำซ้ำโดย',
+ 'is a child of' => 'เป็นลูกของ',
+ 'is a parent of' => 'เป็นพ่อแม่ของ',
+ 'targets milestone' => 'เป้าหมาย',
+ 'is a milestone of' => 'เป็นเป้าหมายของ',
+ 'fixes' => 'เจาะจง',
+ 'is fixed by' => 'ถูกเจาะจงด้วย',
+ 'This task' => 'งานนี้',
+ // '<1h' => '',
+ // '%dh' => '',
+ // '%b %e' => '',
+ 'Expand tasks' => 'ขยายงาน',
+ 'Collapse tasks' => 'ย่องาน',
+ 'Expand/collapse tasks' => 'ขยาย/ย่อ งาน',
+ 'Close dialog box' => 'ปิดกล่องข้อความ',
+ 'Submit a form' => 'ยอมรับฟอร์ม',
+ 'Board view' => 'มุมมองบอร์ด',
+ 'Keyboard shortcuts' => 'คีย์ลัด',
+ 'Open board switcher' => 'เปิดการสลับบอร์ด',
+ 'Application' => 'แอพพลิเคชัน',
+ 'Filter recently updated' => 'ตัวกรองที่ปรับปรุงเร็วๆ นี้',
+ 'since %B %e, %Y at %k:%M %p' => 'เริ่ม %B %e, %Y เวลา %k:%M %p',
+ 'More filters' => 'ตัวกรองเพิ่มเติม',
+ 'Compact view' => 'มุมมองพอดี',
+ 'Horizontal scrolling' => 'เลื่อนตามแนวนอน',
+ 'Compact/wide view' => 'พอดี/กว้าง มุมมอง',
+ 'No results match:' => 'ไม่มีผลลัพท์ที่ตรง',
+ 'Remove hourly rate' => 'ลบอัตรารายชั่วโมง',
+ 'Do you really want to remove this hourly rate?' => 'คุณต้องการลบอัตรารายชั่วโมง?',
+ 'Hourly rates' => 'อัตรารายชั่วโมง',
+ 'Hourly rate' => 'อัตรารายชั่วโมง',
+ 'Currency' => 'สกุลเงิน',
+ 'Effective date' => 'วันที่จ่าย',
+ 'Add new rate' => 'เพิ่มอัตราใหม่',
+ 'Rate removed successfully.' => 'ลบอัตราเรียบร้อยแล้ว',
+ 'Unable to remove this rate.' => 'ไม่สามารถลบอัตรานี้ได้',
+ 'Unable to save the hourly rate.' => 'ไม่สามารถบันทึกอัตรารายชั่วโมง',
+ 'Hourly rate created successfully.' => 'อัตรารายชั่วโมงสร้างเรียบร้อยแล้ว',
+ 'Start time' => 'เวลาเริ่มต้น',
+ 'End time' => 'เวลาจบ',
+ 'Comment' => 'ความคิดเห็น',
+ 'All day' => 'ทั้งวัน',
+ 'Day' => 'วัน',
+ 'Manage timetable' => 'จัดการตารางเวลา',
+ 'Overtime timetable' => 'ตารางเวลาโอที',
+ 'Time off timetable' => 'ตารางเวลาวันหยุด',
+ 'Timetable' => 'ตารางเวลา',
+ 'Work timetable' => 'ตารางเวลางาน',
+ 'Week timetable' => 'ตารางเวลาสัปดาห์',
+ 'Day timetable' => 'ตารางเวลาวัน',
+ 'From' => 'จาก',
+ 'To' => 'ถึง',
+ 'Time slot created successfully.' => 'สร้างช่วงเวลาเรียบร้อยแล้ว',
+ 'Unable to save this time slot.' => 'ไม่สามารถบันทึกช่วงเวลานี้',
+ 'Time slot removed successfully.' => 'ลบช่วงเวลาเรียบร้อยแล้ว',
+ 'Unable to remove this time slot.' => 'ไม่สามารถลบช่วงเวลาได้',
+ 'Do you really want to remove this time slot?' => 'คุณต้องการลบช่วงเวลานี้?',
+ 'Remove time slot' => 'ลบช่วงเวลา',
+ 'Add new time slot' => 'เพิ่มช่วงเวลาใหม่',
+ // 'This timetable is used when the checkbox "all day" is checked for scheduled time off and overtime.' => '',
+ 'Files' => 'ไฟล์',
+ 'Images' => 'รูปภาพ',
+ 'Private project' => 'โปรเจคส่วนตัว',
+ 'Amount' => 'จำนวนเงิน',
+ // 'AUD - Australian Dollar' => '',
+ 'Budget' => 'งบประมาณ',
+ 'Budget line' => 'วงเงินงบประมาณ',
+ 'Budget line removed successfully.' => 'ลบวงเงินประมาณเรียบร้อยแล้ว',
+ 'Budget lines' => 'วงเงินงบประมาณ',
+ // 'CAD - Canadian Dollar' => '',
+ // 'CHF - Swiss Francs' => '',
+ 'Cost' => 'มูลค่า',
+ 'Cost breakdown' => 'รายละเอียดค่าใช้จ่าย',
+ // 'Custom Stylesheet' => '',
+ 'download' => 'ดาวน์โหลด',
+ 'Do you really want to remove this budget line?' => 'คุณต้องการลบวงเงินงบประมาณนี้?',
+ // 'EUR - Euro' => '',
+ 'Expenses' => 'รายจ่าย',
+ // 'GBP - British Pound' => '',
+ // 'INR - Indian Rupee' => '',
+ // 'JPY - Japanese Yen' => '',
+ 'New budget line' => 'วงเงินงบประมาณใหม่',
+ // 'NZD - New Zealand Dollar' => '',
+ 'Remove a budget line' => 'ลบวงเงินประมาณ',
+ 'Remove budget line' => 'ลบวงเงินประมาณ',
+ // 'RSD - Serbian dinar' => '',
+ 'The budget line have been created successfully.' => 'สร้างวงเงินงบประมาณเรียบร้อยแล้ว',
+ 'Unable to create the budget line.' => 'ไม่สามารถสร้างวงเงินงบประมาณได้',
+ 'Unable to remove this budget line.' => 'ไม่สามารถลบวงเงินงบประมาณนี้',
+ // 'USD - US Dollar' => '',
+ 'Remaining' => 'เหลืออยู่',
+ 'Destination column' => 'คอลัมน์เป้าหมาย',
+ 'Move the task to another column when assigned to a user' => 'ย้ายงานไปคอลัมน์อื่นเมื่อกำหนดบุคคลรับผิดชอบ',
+ 'Move the task to another column when assignee is cleared' => 'ย้ายงานไปคอลัมน์อื่นเมื่อไม่กำหนดบุคคลรับผิดชอบ',
+ 'Source column' => 'คอลัมน์ต้นทาง',
+ // 'Show subtask estimates (forecast of future work)' => '',
+ 'Transitions' => 'การเปลี่ยนคอลัมน์',
+ 'Executer' => 'ผู้ประมวลผล',
+ 'Time spent in the column' => 'เวลาที่ใช้ในคอลัมน์',
+ 'Task transitions' => 'การเปลี่ยนคอลัมน์งาน',
+ 'Task transitions export' => 'ส่งออกการเปลี่ยนคอลัมน์งาน',
+ // 'This report contains all column moves for each task with the date, the user and the time spent for each transition.' => '',
+ 'Currency rates' => 'อัตราแลกเปลี่ยน',
+ 'Rate' => 'อัตรา',
+ // 'Change reference currency' => '',
+ 'Add a new currency rate' => 'เพิ่มอัตราแลกเปลี่ยนเงินตราใหม่',
+ 'Currency rates are used to calculate project budget.' => 'อัตราแลกเปลี่ยนเงินตราถูกใช้ในการคำนวณงบประมาณของโปรเจค',
+ // 'Reference currency' => '',
+ // 'The currency rate have been added successfully.' => '',
+ // 'Unable to add this currency rate.' => '',
+ 'Send notifications to a Slack channel' => 'ส่งการแจ้งเตือนไปทาง Slack channel',
+ // 'Webhook URL' => '',
+ // 'Help on Slack integration' => '',
+ // '%s remove the assignee of the task %s' => '',
+ // 'Send notifications to Hipchat' => '',
+ // 'API URL' => '',
+ // 'Room API ID or name' => '',
+ // 'Room notification token' => '',
+ // 'Help on Hipchat integration' => '',
+ 'Enable Gravatar images' => 'สามารถใช้งานภาพ Gravatar',
+ 'Information' => 'ข้อมูลสารสนเทศ',
+ // 'Check two factor authentication code' => '',
+ // 'The two factor authentication code is not valid.' => '',
+ // 'The two factor authentication code is valid.' => '',
+ 'Code' => 'รหัส',
+ // 'Two factor authentication' => '',
+ 'Enable/disable two factor authentication' => 'เปิด/ปิด การยืนยันตัวตนสองชั้น',
+ // 'This QR code contains the key URI: ' => '',
+ // 'Save the secret key in your TOTP software (by example Google Authenticator or FreeOTP).' => '',
+ 'Check my code' => 'ตรวจสอบรหัสของฉัน',
+ 'Secret key: ' => 'กุญแจลับ',
+ 'Test your device' => 'ทดสอบอุปกรณ์ของคุณ',
+ 'Assign a color when the task is moved to a specific column' => 'กำหนดสีเมื่องานถูกย้ายไปคอลัมน์ที่กำหนดไว้',
+ // '%s via Kanboard' => '',
+ // 'uploaded by: %s' => '',
+ // 'uploaded on: %s' => '',
+ 'size: %s' => 'ขนาด: %s',
+ 'Burndown chart for "%s"' => 'แผนภูมิงานกับเวลา "%s"',
+ 'Burndown chart' => 'แผนภูมิงานกับเวลา',
+ // 'This chart show the task complexity over the time (Work Remaining).' => '',
+ // 'Screenshot taken %s' => '',
+ 'Add a screenshot' => 'เพิ่ม screenshot',
+ // 'Take a screenshot and press CTRL+V or ⌘+V to paste here.' => '',
+ 'Screenshot uploaded successfully.' => 'อัพโหลด screenshot เรียบร้อยแล้ว',
+ // 'SEK - Swedish Krona' => '',
+ // 'The project identifier is an optional alphanumeric code used to identify your project.' => '',
+ // 'Identifier' => '',
+ // 'Postmark (incoming emails)' => '',
+ // 'Help on Postmark integration' => '',
+ // 'Mailgun (incoming emails)' => '',
+ // 'Help on Mailgun integration' => '',
+ // 'Sendgrid (incoming emails)' => '',
+ // 'Help on Sendgrid integration' => '',
+ // 'Disable two factor authentication' => '',
+ // 'Do you really want to disable the two factor authentication for this user: "%s"?' => '',
+ 'Edit link' => 'แก้ไขลิงค์',
+ 'Start to type task title...' => 'พิมพ์ชื่องาน',
+ 'A task cannot be linked to itself' => 'งานไม่สามารถลิงค์ตัวเอง',
+ // 'The exact same link already exists' => '',
+ 'Recurrent task is scheduled to be generated' => 'งานแบบวนลูปถูกสร้างตามที่กำหนดไว้',
+ 'Recurring information' => 'รายละเอียดการวนลูป',
+ 'Score' => 'คะแนน',
+ // 'The identifier must be unique' => '',
+ // 'This linked task id doesn\'t exists' => '',
+ 'This value must be alphanumeric' => 'ค่านี้ต้องเป็นตัวอักษร',
+ 'Edit recurrence' => 'แก้ไขการวนลูป',
+ 'Generate recurrent task' => 'สร้างงานที่เป็นวนลูป',
+ 'Trigger to generate recurrent task' => 'จะสร้างงานแบบวนลูป',
+ // 'Factor to calculate new due date' => '',
+ // 'Timeframe to calculate new due date' => '',
+ // 'Base date to calculate new due date' => '',
+ // 'Action date' => '',
+ // 'Base date to calculate new due date: ' => '',
+ 'This task has created this child task: ' => 'งานนี้สร้างงานลูกคือ',
+ 'Day(s)' => 'วัน',
+ // 'Existing due date' => '',
+ // 'Factor to calculate new due date: ' => '',
+ 'Month(s)' => 'เดือน',
+ 'Recurrence' => 'วนลูป',
+ 'This task has been created by: ' => 'งานนี้ถูกสร้างโดย',
+ 'Recurrent task has been generated:' => 'งานแบบวนลูปถูกสร้าง',
+ // 'Timeframe to calculate new due date: ' => '',
+ 'Trigger to generate recurrent task: ' => 'จะสร้างงานแบบวนลูป',
+ 'When task is closed' => 'เมื่อปิดงาน',
+ 'When task is moved from first column' => 'เมื่องานถูกย้ายจากคอลัมน์แรก',
+ 'When task is moved to last column' => 'เมื่องานถูกย้ายไปคอลัมน์สุดท้าย',
+ 'Year(s)' => 'ปี',
+ // 'Jabber (XMPP)' => '',
+ // 'Send notifications to Jabber' => '',
+ // 'XMPP server address' => '',
+ // 'Jabber domain' => '',
+ // 'Jabber nickname' => '',
+ // 'Multi-user chat room' => '',
+ // 'Help on Jabber integration' => '',
+ // 'The server address must use this format: "tcp://hostname:5222"' => '',
+ 'Calendar settings' => 'ตั้งค่าปฏิทิน',
+ 'Project calendar view' => 'มุมมองปฏิทินของโปรเจค',
+ 'Project settings' => 'ตั้งค่าโปรเจค',
+ 'Show subtasks based on the time tracking' => 'แสดงงานย่อยในการติดตามเวลา',
+ 'Show tasks based on the creation date' => 'แสดงงานจากวันที่สร้าง',
+ 'Show tasks based on the start date' => 'แสดงงานจากวันที่เริ่ม',
+ 'Subtasks time tracking' => 'การติดตามเวลางานย่อย',
+ 'User calendar view' => 'มุมมองปฏิทินของผู้ใช้',
+ 'Automatically update the start date' => 'ปรับปรุงวันที่เริ่มอัตโนมมัติ',
+ // 'iCal feed' => '',
+ // 'Preferences' => '',
+ 'Security' => 'ความปลอดภัย',
+ // 'Two factor authentication disabled' => '',
+ // 'Two factor authentication enabled' => '',
+ 'Unable to update this user.' => 'ไม่สามารถปรับปรุงผู้ใช้นี้',
+ 'There is no user management for private projects.' => 'ไม่มีการจัดการผู้ใช้สำหรับโปรเจคส่วนตัว',
+);
diff --git a/app/Template/notification/comment_creation.php b/app/Template/notification/comment_create.php
index 747c4f43..747c4f43 100644
--- a/app/Template/notification/comment_creation.php
+++ b/app/Template/notification/comment_create.php
diff --git a/app/Template/notification/file_creation.php b/app/Template/notification/file_create.php
index 63f7d1b8..63f7d1b8 100644
--- a/app/Template/notification/file_creation.php
+++ b/app/Template/notification/file_create.php
diff --git a/app/Template/notification/subtask_creation.php b/app/Template/notification/subtask_create.php
index e1c62b73..e1c62b73 100644
--- a/app/Template/notification/subtask_creation.php
+++ b/app/Template/notification/subtask_create.php
diff --git a/app/Template/notification/task_creation.php b/app/Template/notification/task_create.php
index 0905d3f5..1d834d44 100644
--- a/app/Template/notification/task_creation.php
+++ b/app/Template/notification/task_create.php
@@ -9,14 +9,14 @@
<strong><?= dt('Must be done before %B %e, %Y', $task['date_due']) ?></strong>
</li>
<?php endif ?>
- <?php if ($task['creator_username']): ?>
+ <?php if (! empty($task['creator_username'])): ?>
<li>
<?= t('Created by %s', $task['creator_name'] ?: $task['creator_username']) ?>
</li>
<?php endif ?>
<li>
<strong>
- <?php if ($task['assignee_username']): ?>
+ <?php if (! empty($task['assignee_username'])): ?>
<?= t('Assigned to %s', $task['assignee_name'] ?: $task['assignee_username']) ?>
<?php else: ?>
<?= t('There is nobody assigned') ?>
@@ -28,7 +28,7 @@
<strong><?= $this->e($task['column_title']) ?></strong>
</li>
<li><?= t('Task position:').' '.$this->e($task['position']) ?></li>
- <?php if ($task['category_name']): ?>
+ <?php if (! empty($task['category_name'])): ?>
<li>
<?= t('Category:') ?> <strong><?= $this->e($task['category_name']) ?></strong>
</li>
diff --git a/tests/units/NotificationTest.php b/tests/units/NotificationTest.php
index 4421fd47..5a7a782c 100644
--- a/tests/units/NotificationTest.php
+++ b/tests/units/NotificationTest.php
@@ -2,10 +2,16 @@
require_once __DIR__.'/Base.php';
+use Model\TaskFinder;
+use Model\TaskCreation;
+use Model\Subtask;
+use Model\Comment;
use Model\User;
+use Model\File;
use Model\Project;
use Model\ProjectPermission;
use Model\Notification;
+use Subscriber\NotificationSubscriber;
class NotificationTest extends Base
{
@@ -230,7 +236,32 @@ class NotificationTest extends Base
public function testGetMailContent()
{
$n = new Notification($this->container);
- $this->assertNotEmpty($n->getMailContent('task.open', array('task' => array('id' => 2, 'title' => 'blah'))));
+ $p = new Project($this->container);
+ $tf = new TaskFinder($this->container);
+ $tc = new TaskCreation($this->container);
+ $s = new Subtask($this->container);
+ $c = new Comment($this->container);
+ $f = new File($this->container);
+
+ $this->assertEquals(1, $p->create(array('name' => 'test')));
+ $this->assertEquals(1, $tc->create(array('title' => 'test', 'project_id' => 1)));
+ $this->assertEquals(1, $s->create(array('title' => 'test', 'task_id' => 1)));
+ $this->assertEquals(1, $c->create(array('comment' => 'test', 'task_id' => 1, 'user_id' => 1)));
+ $this->assertEquals(1, $f->create(1, 'test', 'blah', false, 123));
+
+ $task = $tf->getDetails(1);
+ $subtask = $s->getById(1, true);
+ $comment = $c->getById(1);
+ $file = $c->getById(1);
+
+ $this->assertNotEmpty($task);
+ $this->assertNotEmpty($subtask);
+ $this->assertNotEmpty($comment);
+ $this->assertNotEmpty($file);
+
+ foreach (Subscriber\NotificationSubscriber::getSubscribedEvents() as $event => $values) {
+ $this->assertNotEmpty($n->getMailContent($event, array('task' => $task, 'comment' => $comment, 'subtask' => $subtask, 'file' => $file)));
+ }
}
public function testGetEmailSubject()
diff --git a/tests/units/TaskDuplicationTest.php b/tests/units/TaskDuplicationTest.php
index f991efd6..cd791312 100644
--- a/tests/units/TaskDuplicationTest.php
+++ b/tests/units/TaskDuplicationTest.php
@@ -548,7 +548,7 @@ class TaskDuplicationTest extends Base
$this->assertNotEmpty($task);
$this->assertEquals(Task::RECURRING_STATUS_PROCESSED, $task['recurrence_status']);
$this->assertEquals(2, $task['recurrence_child']);
- $this->assertEquals(1436561776, $task['date_due']);
+ $this->assertEquals(1436561776, $task['date_due'], '', 2);
$task = $tf->getById(2);
$this->assertNotEmpty($task);
@@ -558,6 +558,6 @@ class TaskDuplicationTest extends Base
$this->assertEquals(Task::RECURRING_BASEDATE_TRIGGERDATE, $task['recurrence_basedate']);
$this->assertEquals(1, $task['recurrence_parent']);
$this->assertEquals(2, $task['recurrence_factor']);
- $this->assertEquals(strtotime('+2 days'), $task['date_due']);
+ $this->assertEquals(strtotime('+2 days'), $task['date_due'], '', 2);
}
}