Merge branch 'main' of https://github.com/Worklenz/worklenz into feature/task-activities-by-user

This commit is contained in:
chamikaJ
2025-07-14 12:46:18 +05:30
1166 changed files with 82289 additions and 15230 deletions

View File

@@ -25,7 +25,7 @@
"paymentMethod": "Payment Method",
"status": "Status",
"ltdUsers": "You can add up to {{ltd_users}} users.",
"totalSeats": "Total seats",
"availableSeats": "Available seats",
"addMoreSeats": "Add more seats",
@@ -103,11 +103,19 @@
"perMonthPerUser": "per user/month",
"viewInvoice": "View Invoice",
"switchToFreePlan": "Switch to Free Plan",
"expirestoday": "today",
"expirestomorrow": "tomorrow",
"expiredDaysAgo": "{{days}} days ago",
"continueWith": "Continue with {{plan}}",
"changeToPlan": "Change to {{plan}}"
"changeToPlan": "Change to {{plan}}",
"creditPlan": "Credit Plan",
"customPlan": "Custom Plan",
"planValidTill": "Your plan is valid till {{date}}",
"purchaseSeatsText": "To continue, you'll need to purchase additional seats.",
"currentSeatsText": "You currently have {{seats}} seats available.",
"selectSeatsText": "Please select the number of additional seats to purchase.",
"purchase": "Purchase",
"contactSales": "Contact sales"
}

View File

@@ -29,5 +29,7 @@
"role": "Role",
"owner": "Owner",
"admin": "Admin",
"member": "Member"
"member": "Member",
"cannotChangeOwnerRole": "Owner role cannot be changed",
"pendingInvitation": "Pending invitation"
}

View File

@@ -17,7 +17,18 @@
"unarchive": "Unarchive",
"archiveConfirm": "Are you sure you want to archive this project?",
"unarchiveConfirm": "Are you sure you want to unarchive this project?",
"yes": "Yes",
"no": "No",
"clickToFilter": "Click to filter by",
"noProjects": "No projects found",
"addToFavourites": "Add to favourites"
"addToFavourites": "Add to favourites",
"list": "List",
"group": "Group",
"listView": "List View",
"groupView": "Group View",
"groupBy": {
"category": "Category",
"client": "Client"
},
"noPermission": "You don't have permission to perform this action"
}

View File

@@ -19,5 +19,15 @@
"archive": "Archive",
"newTaskNamePlaceholder": "Write a task Name",
"newSubtaskNamePlaceholder": "Write a subtask Name"
"newSubtaskNamePlaceholder": "Write a subtask Name",
"untitledSection": "Untitled section",
"unmapped": "Unmapped",
"clickToChangeDate": "Click to change date",
"noDueDate": "No due date",
"save": "Save",
"clear": "Clear",
"nextWeek": "Next week",
"noSubtasks": "No subtasks",
"showSubtasks": "Show subtasks",
"hideSubtasks": "Hide subtasks"
}

View File

@@ -1,7 +1,24 @@
{
"configurePhases": "Configure Phases",
"phaseLabel": "Phase Label",
"enterPhaseName": "Enter a name for phase label",
"addOption": "Add Option",
"phaseOptions": "Phase Options:"
}
"configurePhases": "Configure Phases",
"configure": "Configure",
"phaseLabel": "Phase Label",
"enterPhaseName": "Enter phase name",
"addOption": "Add Option",
"phaseOptions": "Phase Options",
"optionsText": "Options",
"dragToReorderPhases": "Drag phases to reorder them. Each phase can have a different color.",
"enterNewPhaseName": "Enter new phase name...",
"addPhase": "Add Phase",
"noPhasesFound": "No phases found",
"no": "No",
"found": "found",
"deletePhase": "Delete Phase",
"deletePhaseConfirm": "Are you sure you want to delete this phase? This action cannot be undone.",
"rename": "Rename",
"delete": "Delete",
"create": "Create",
"cancel": "Cancel",
"selectColor": "Select color",
"managePhases": "Manage Phases",
"close": "Close"
}

View File

@@ -38,5 +38,15 @@
"createClient": "Create client",
"searchInputPlaceholder": "Search by name or email",
"hoursPerDayValidationMessage": "Hours per day must be a number between 1 and 24",
"noPermission": "No permission"
"workingDaysValidationMessage": "Working days must be a positive number",
"manDaysValidationMessage": "Man days must be a positive number",
"noPermission": "No permission",
"progressSettings": "Progress Settings",
"manualProgress": "Manual Progress",
"manualProgressTooltip": "Allow manual progress updates for tasks without subtasks",
"weightedProgress": "Weighted Progress",
"weightedProgressTooltip": "Calculate progress based on subtask weights",
"timeProgress": "Time-based Progress",
"timeProgressTooltip": "Calculate progress based on estimated time",
"enterProjectKey": "Enter project key"
}

View File

@@ -0,0 +1,14 @@
{
"taskList": "Task List",
"board": "Board",
"insights": "Insights",
"files": "Files",
"members": "Members",
"updates": "Updates",
"projectView": "Project View",
"loading": "Loading project...",
"error": "Error loading project",
"pinnedTab": "Pinned as default tab",
"pinTab": "Pin as default tab",
"unpinTab": "Unpin default tab"
}

View File

@@ -1,11 +1,11 @@
{
"importTaskTemplate": "Import Task Template",
"templateName": "Template Name",
"templateDescription": "Template Description",
"selectedTasks": "Selected Tasks",
"tasks": "Tasks",
"templates": "Templates",
"remove": "Remove",
"cancel": "Cancel",
"import": "Import"
"importTaskTemplate": "Import Task Template",
"templateName": "Template Name",
"templateDescription": "Template Description",
"selectedTasks": "Selected Tasks",
"tasks": "Tasks",
"templates": "Templates",
"remove": "Remove",
"cancel": "Cancel",
"import": "Import"
}

View File

@@ -1,8 +1,7 @@
{
"title": "Project Members",
"searchLabel": "Add members by adding their name or email",
"searchPlaceholder": "Type name or email",
"inviteAsAMember": "Invite as a member",
"inviteNewMemberByEmail": "Invite new member by email"
}
"title": "Project Members",
"searchLabel": "Add members by adding their name or email",
"searchPlaceholder": "Type name or email",
"inviteAsAMember": "Invite as a member",
"inviteNewMemberByEmail": "Invite new member by email"
}

View File

@@ -1,13 +1,31 @@
{
"importTasks": "Import tasks",
"createTask": "Create task",
"settings": "Settings",
"subscribe": "Subscribe",
"unsubscribe": "Unsubscribe",
"deleteProject": "Delete project",
"startDate": "Start date",
"endDate": "End date",
"projectSettings": "Project settings",
"projectSummary": "Project summary",
"receiveProjectSummary": "Receive a project summary every evening."
}
"importTasks": "Import tasks",
"importTask": "Import task",
"createTask": "Create task",
"settings": "Settings",
"subscribe": "Subscribe",
"unsubscribe": "Unsubscribe",
"deleteProject": "Delete project",
"startDate": "Start date",
"endDate": "End date",
"projectSettings": "Project settings",
"projectSummary": "Project summary",
"receiveProjectSummary": "Receive a project summary every evening.",
"refreshProject": "Refresh project",
"saveAsTemplate": "Save as template",
"invite": "Invite",
"share": "Share",
"subscribeTooltip": "Subscribe to project notifications",
"unsubscribeTooltip": "Unsubscribe from project notifications",
"refreshTooltip": "Refresh project data",
"settingsTooltip": "Open project settings",
"saveAsTemplateTooltip": "Save this project as a template",
"inviteTooltip": "Invite team members to this project",
"createTaskTooltip": "Create a new task",
"importTaskTooltip": "Import task from template",
"navigateBackTooltip": "Go back to projects list",
"projectStatusTooltip": "Project status",
"projectDatesInfo": "Project timeline information",
"projectCategoryTooltip": "Project category",
"defaultTaskName": "Untitled Task"
}

View File

@@ -0,0 +1,5 @@
{
"title": "Appearance",
"darkMode": "Dark Mode",
"darkModeDescription": "Switch between light and dark mode to customize your viewing experience."
}

View File

@@ -9,5 +9,6 @@
"saveChanges": "Save Changes",
"profileJoinedText": "Joined a month ago",
"profileLastUpdatedText": "Last updated a month ago",
"avatarTooltip": "Click to upload an avatar"
"avatarTooltip": "Click to upload an avatar",
"title": "Profile Settings"
}

View File

@@ -10,5 +10,6 @@
"team-members": "Team Members",
"teams": "Teams",
"change-password": "Change Password",
"language-and-region": "Language and Region"
"language-and-region": "Language and Region",
"appearance": "Appearance"
}

View File

@@ -1,4 +1,5 @@
{
"title": "Team Members",
"nameColumn": "Name",
"projectsColumn": "Projects",
"emailColumn": "Email",
@@ -40,5 +41,7 @@
"ownerText": "Team Owner",
"addedText": "Added",
"updatedText": "Updated",
"noResultFound": "Type an email address and hit enter..."
"noResultFound": "Type an email address and hit enter...",
"jobTitlesFetchError": "Failed to fetch job titles",
"invitationResent": "Invitation resent successfully!"
}

View File

@@ -0,0 +1,16 @@
{
"title": "Teams",
"team": "Team",
"teams": "Teams",
"name": "Name",
"created": "Created",
"ownsBy": "Owns By",
"edit": "Edit",
"editTeam": "Edit Team",
"pinTooltip": "Click to pin this into the main menu",
"editTeamName": "Edit Team Name",
"updateName": "Update Name",
"namePlaceholder": "Name",
"nameRequired": "Please enter a Name",
"updateFailed": "Team name change failed!"
}

View File

@@ -15,7 +15,8 @@
"hide-start-date": "Hide Start Date",
"show-start-date": "Show Start Date",
"hours": "Hours",
"minutes": "Minutes"
"minutes": "Minutes",
"recurring": "Recurring"
},
"description": {
"title": "Description",
@@ -23,7 +24,7 @@
},
"subTasks": {
"title": "Sub Tasks",
"add-sub-task": "+ Add Sub Task",
"add-sub-task": "Add Sub Task",
"refresh-sub-tasks": "Refresh Sub Tasks"
}
}
}

View File

@@ -0,0 +1,34 @@
{
"recurring": "Recurring",
"recurringTaskConfiguration": "Recurring task configuration",
"repeats": "Repeats",
"daily": "Daily",
"weekly": "Weekly",
"everyXDays": "Every X Days",
"everyXWeeks": "Every X Weeks",
"everyXMonths": "Every X Months",
"monthly": "Monthly",
"selectDaysOfWeek": "Select Days of the Week",
"mon": "Mon",
"tue": "Tue",
"wed": "Wed",
"thu": "Thu",
"fri": "Fri",
"sat": "Sat",
"sun": "Sun",
"monthlyRepeatType": "Monthly repeat type",
"onSpecificDate": "On a specific date",
"onSpecificDay": "On a specific day",
"dateOfMonth": "Date of the month",
"weekOfMonth": "Week of the month",
"dayOfWeek": "Day of the week",
"first": "First",
"second": "Second",
"third": "Third",
"fourth": "Fourth",
"last": "Last",
"intervalDays": "Interval (days)",
"intervalWeeks": "Interval (weeks)",
"intervalMonths": "Interval (months)",
"saveChanges": "Save Changes"
}

View File

@@ -22,7 +22,16 @@
"hide-start-date": "Hide Start Date",
"show-start-date": "Show Start Date",
"hours": "Hours",
"minutes": "Minutes"
"minutes": "Minutes",
"progressValue": "Progress Value",
"progressValueTooltip": "Set the progress percentage (0-100%)",
"progressValueRequired": "Please enter a progress value",
"progressValueRange": "Progress must be between 0 and 100",
"taskWeight": "Task Weight",
"taskWeightTooltip": "Set the weight of this subtask (percentage)",
"taskWeightRequired": "Please enter a task weight",
"taskWeightRange": "Weight must be between 0 and 100",
"recurring": "Recurring"
},
"labels": {
"labelInputPlaceholder": "Search or create",
@@ -34,7 +43,7 @@
},
"subTasks": {
"title": "Sub Tasks",
"addSubTask": "+ Add Sub Task",
"addSubTask": "Add Sub Task",
"addSubTaskInputPlaceholder": "Type your task and hit enter",
"refreshSubTasks": "Refresh Sub Tasks",
"edit": "Edit",
@@ -60,7 +69,18 @@
"addComment": "+ Add new comment",
"noComments": "No comments yet. Be the first to comment!",
"delete": "Delete",
"confirmDeleteComment": "Are you sure you want to delete this comment?"
"confirmDeleteComment": "Are you sure you want to delete this comment?",
"addCommentPlaceholder": "Add a comment...",
"cancel": "Cancel",
"commentButton": "Comment",
"attachFiles": "Attach files",
"addMoreFiles": "Add more files",
"selectedFiles": "Selected Files (Up to 25MB, Maximum of {count})",
"maxFilesError": "You can only upload a maximum of {count} files",
"processFilesError": "Failed to process files",
"addCommentError": "Please add a comment or attach files",
"createdBy": "Created {{time}} by {{user}}",
"updatedTime": "Updated {{time}}"
},
"searchInputPlaceholder": "Search by name",
"pendingInvitation": "Pending Invitation"
@@ -70,9 +90,34 @@
"addTimeLog": "Add new time log",
"totalLogged": "Total Logged",
"exportToExcel": "Export to Excel",
"noTimeLogsFound": "No time logs found"
"noTimeLogsFound": "No time logs found",
"timeLogForm": {
"date": "Date",
"startTime": "Start Time",
"endTime": "End Time",
"workDescription": "Work Description",
"descriptionPlaceholder": "Add a description",
"logTime": "Log time",
"updateTime": "Update time",
"cancel": "Cancel",
"selectDateError": "Please select a date",
"selectStartTimeError": "Please select start time",
"selectEndTimeError": "Please select end time",
"endTimeAfterStartError": "End time must be after start time"
}
},
"taskActivityLogTab": {
"title": "Activity Log"
"title": "Activity Log",
"add": "ADD",
"remove": "REMOVE",
"none": "None",
"weight": "Weight",
"createdTask": "created the task."
},
"taskProgress": {
"markAsDoneTitle": "Mark Task as Done?",
"confirmMarkAsDone": "Yes, mark as done",
"cancelMarkAsDone": "No, keep current status",
"markAsDoneDescription": "You've set the progress to 100%. Would you like to update the task status to \"Done\"?"
}
}

View File

@@ -55,5 +55,34 @@
"selectCategory": "Select a category",
"pleaseEnterAName": "Please enter a name",
"pleaseSelectACategory": "Please select a category",
"create": "Create"
"create": "Create",
"searchTasks": "Search tasks...",
"searchPlaceholder": "Search...",
"fieldsText": "Fields",
"loadingFilters": "Loading filters...",
"noOptionsFound": "No options found",
"filtersActive": "filters active",
"filterActive": "filter active",
"clearAll": "Clear all",
"clearing": "Clearing...",
"cancel": "Cancel",
"search": "Search",
"groupedBy": "Grouped by",
"manage": "Manage",
"manageStatuses": "Manage Statuses",
"managePhases": "Manage Phases",
"dragToReorderStatuses": "Statuses are organized by categories. Drag to reorder within categories. Click 'Add Status' to create new statuses in each category.",
"enterNewStatusName": "Enter new status name...",
"addStatus": "Add Status",
"noStatusesFound": "No statuses in this category",
"deleteStatus": "Delete Status",
"deleteStatusConfirm": "Are you sure you want to delete this status? This action cannot be undone.",
"rename": "Rename",
"delete": "Delete",
"enterStatusName": "Enter status name",
"close": "Close",
"cannotMoveStatus": "Cannot Move Status",
"cannotMoveStatusMessage": "Cannot move this status because it would leave the '{{categoryName}}' category empty. Each category must have at least one status.",
"ok": "OK"
}

View File

@@ -36,9 +36,10 @@
"selectText": "Select",
"labelsSelectorInputTip": "Hit enter to create!",
"addTaskText": "+ Add Task",
"addSubTaskText": "+ Add Sub Task",
"addTaskText": "Add Task",
"addSubTaskText": "Add Sub Task",
"addTaskInputPlaceholder": "Type your task and hit enter",
"noTasksInGroup": "No tasks in this group",
"openButton": "Open",
"okButton": "Ok",
@@ -47,7 +48,10 @@
"searchInputPlaceholder": "Search or create",
"assigneeSelectorInviteButton": "Invite a new member by email",
"labelInputPlaceholder": "Search or create",
"searchLabelsPlaceholder": "Search labels...",
"createLabelButton": "Create \"{{name}}\"",
"manageLabelsPath": "Settings → Labels",
"pendingInvitation": "Pending Invitation",
"contextMenu": {
@@ -59,5 +63,74 @@
"convertToTask": "Convert to Task",
"delete": "Delete",
"searchByNameInputPlaceholder": "Search by name"
},
"setDueDate": "Set due date",
"setStartDate": "Set start date",
"clearDueDate": "Clear due date",
"clearStartDate": "Clear start date",
"dueDatePlaceholder": "Due Date",
"startDatePlaceholder": "Start Date",
"emptyStates": {
"noTaskGroups": "No task groups found",
"noTaskGroupsDescription": "Tasks will appear here when they are created or when filters are applied.",
"errorPrefix": "Error:",
"dragTaskFallback": "Task"
},
"customColumns": {
"addCustomColumn": "Add a custom column",
"customColumnHeader": "Custom Column",
"customColumnSettings": "Custom column settings",
"noCustomValue": "No value",
"peopleField": "People field",
"noDate": "No date",
"unsupportedField": "Unsupported field type",
"modal": {
"addFieldTitle": "Add field",
"editFieldTitle": "Edit field",
"fieldTitle": "Field title",
"fieldTitleRequired": "Field title is required",
"columnTitlePlaceholder": "Column title",
"type": "Type",
"deleteConfirmTitle": "Are you sure you want to delete this custom column?",
"deleteConfirmDescription": "This action cannot be undone. All data associated with this column will be permanently deleted.",
"deleteButton": "Delete",
"cancelButton": "Cancel",
"createButton": "Create",
"updateButton": "Update",
"createSuccessMessage": "Custom column created successfully",
"updateSuccessMessage": "Custom column updated successfully",
"deleteSuccessMessage": "Custom column deleted successfully",
"deleteErrorMessage": "Failed to delete custom column",
"createErrorMessage": "Failed to create custom column",
"updateErrorMessage": "Failed to update custom column"
},
"fieldTypes": {
"people": "People",
"number": "Number",
"date": "Date",
"selection": "Selection",
"checkbox": "Checkbox",
"labels": "Labels",
"key": "Key",
"formula": "Formula"
}
},
"indicators": {
"tooltips": {
"subtasks": "{{count}} subtask",
"subtasks_plural": "{{count}} subtasks",
"comments": "{{count}} comment",
"comments_plural": "{{count}} comments",
"attachments": "{{count}} attachment",
"attachments_plural": "{{count}} attachments",
"subscribers": "Task has subscribers",
"dependencies": "Task has dependencies",
"recurring": "Recurring task"
}
}
}

View File

@@ -0,0 +1,39 @@
{
"noTasksInGroup": "No tasks in this group",
"noTasksInGroupDescription": "Add a task to get started",
"addFirstTask": "Add your first task",
"openTask": "Open",
"subtask": "subtask",
"subtasks": "subtasks",
"comment": "comment",
"comments": "comments",
"attachment": "attachment",
"attachments": "attachments",
"enterSubtaskName": "Enter subtask name...",
"add": "Add",
"cancel": "Cancel",
"renameGroup": "Rename Group",
"renameStatus": "Rename Status",
"renamePhase": "Rename Phase",
"changeCategory": "Change Category",
"clickToEditGroupName": "Click to edit group name",
"enterGroupName": "Enter group name",
"todo": "To Do",
"inProgress": "Doing",
"done": "Done",
"defaultTaskName": "Untitled Task",
"indicators": {
"tooltips": {
"subtasks": "{{count}} subtask",
"subtasks_plural": "{{count}} subtasks",
"comments": "{{count}} comment",
"comments_plural": "{{count}} comments",
"attachments": "{{count}} attachment",
"attachments_plural": "{{count}} attachments",
"subscribers": "Task has subscribers",
"dependencies": "Task has dependencies",
"recurring": "Recurring task"
}
}
}

View File

@@ -4,6 +4,7 @@
"cancelText": "Cancel",
"saveText": "Save",
"templateNameText": "Template Name",
"templateNameRequired": "Template name is required",
"selectedTasks": "Selected Tasks",
"removeTask": "Remove",
"cancelButton": "Cancel",

View File

@@ -1,24 +1,41 @@
{
"taskSelected": "task selected",
"tasksSelected": "tasks selected",
"changeStatus": "Change Status/ Prioriy/ Phases",
"changeLabel": "Change Label",
"assignToMe": "Assign to me",
"changeAssignees": "Change Assignees",
"archive": "Archive",
"unarchive": "Unarchive",
"delete": "Delete",
"moreOptions": "More options",
"deselectAll": "Deselect all",
"status": "Status",
"priority": "Priority",
"phase": "Phase",
"member": "Member",
"createTaskTemplate": "Create Task Template",
"apply": "Apply",
"createLabel": "+ Create Label",
"hitEnterToCreate": "Press Enter to create",
"pendingInvitation": "Pending Invitation",
"noMatchingLabels": "No matching labels",
"noLabels": "No labels"
}
"taskSelected": "task selected",
"tasksSelected": "tasks selected",
"changeStatus": "Change Status/ Prioriy/ Phases",
"changeLabel": "Change Label",
"assignToMe": "Assign to me",
"changeAssignees": "Change Assignees",
"archive": "Archive",
"unarchive": "Unarchive",
"delete": "Delete",
"moreOptions": "More options",
"deselectAll": "Deselect all",
"status": "Status",
"priority": "Priority",
"phase": "Phase",
"member": "Member",
"createTaskTemplate": "Create Task Template",
"apply": "Apply",
"createLabel": "+ Create Label",
"searchOrCreateLabel": "Search or create label...",
"hitEnterToCreate": "Press Enter to create",
"labelExists": "Label already exists",
"pendingInvitation": "Pending Invitation",
"noMatchingLabels": "No matching labels",
"noLabels": "No labels",
"CHANGE_STATUS": "Change Status",
"CHANGE_PRIORITY": "Change Priority",
"CHANGE_PHASE": "Change Phase",
"ADD_LABELS": "Add Labels",
"ASSIGN_TO_ME": "Assign to Me",
"ASSIGN_MEMBERS": "Assign Members",
"ARCHIVE": "Archive",
"DELETE": "Delete",
"CANCEL": "Cancel",
"CLEAR_SELECTION": "Clear Selection",
"TASKS_SELECTED": "{{count}} task selected",
"TASKS_SELECTED_plural": "{{count}} tasks selected",
"DELETE_TASKS_CONFIRM": "Delete {{count}} task?",
"DELETE_TASKS_CONFIRM_plural": "Delete {{count}} tasks?",
"DELETE_TASKS_WARNING": "This action cannot be undone."
}

View File

@@ -40,5 +40,18 @@
"noCategory": "No Category",
"noProjects": "No projects found",
"noTeams": "No teams found",
"noData": "No data found"
"noData": "No data found",
"groupBy": "Group by",
"groupByCategory": "Category",
"groupByTeam": "Team",
"groupByStatus": "Status",
"groupByNone": "None",
"clearSearch": "Clear search",
"selectedProjects": "Selected Projects",
"projectsSelected": "projects selected",
"showSelected": "Show Selected Only",
"expandAll": "Expand All",
"collapseAll": "Collapse All",
"ungrouped": "Ungrouped"
}

View File

@@ -1,5 +1,5 @@
{
"title": "Unauthorized!",
"subtitle": "You are not authorized to access this page",
"button": "Go to Home"
}
"title": "Unauthorized!",
"subtitle": "You are not authorized to access this page",
"button": "Go to Home"
}