Fix layout view in today
This commit is contained in:
parent
a326e0f3b2
commit
e590fec7aa
28 changed files with 784 additions and 239 deletions
|
|
@ -160,11 +160,11 @@ const NextTaskSuggestion: React.FC<NextTaskSuggestionProps> = ({
|
|||
</p>
|
||||
)}
|
||||
</div>
|
||||
<div className="flex items-center space-x-3">
|
||||
<div className="flex flex-col sm:flex-row items-stretch sm:items-center space-y-2 sm:space-y-0 sm:space-x-3">
|
||||
<button
|
||||
onClick={handleStartTask}
|
||||
disabled={isUpdating}
|
||||
className="inline-flex items-center px-4 py-2 bg-green-600 hover:bg-green-700 disabled:bg-green-400 text-white text-sm font-medium rounded-md transition-colors"
|
||||
className="flex items-center justify-center px-4 py-2 bg-green-600 hover:bg-green-700 disabled:bg-green-400 text-white text-sm font-medium rounded-md transition-colors w-full sm:w-auto"
|
||||
>
|
||||
<PlayIcon className="h-4 w-4 mr-2" />
|
||||
{isUpdating
|
||||
|
|
@ -175,7 +175,7 @@ const NextTaskSuggestion: React.FC<NextTaskSuggestionProps> = ({
|
|||
<button
|
||||
onClick={handleGiveMeSomethingElse}
|
||||
disabled={isUpdating}
|
||||
className="inline-flex items-center px-4 py-2 bg-gray-600 hover:bg-gray-700 disabled:bg-gray-400 text-white text-sm font-medium rounded-md transition-colors"
|
||||
className="flex items-center justify-center px-4 py-2 bg-gray-600 hover:bg-gray-700 disabled:bg-gray-400 text-white text-sm font-medium rounded-md transition-colors w-full sm:w-auto"
|
||||
>
|
||||
<ArrowPathIcon className="h-4 w-4 mr-2" />
|
||||
{t(
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import {
|
|||
ExclamationTriangleIcon,
|
||||
ArrowPathIcon,
|
||||
ListBulletIcon,
|
||||
XMarkIcon,
|
||||
} from '@heroicons/react/24/outline';
|
||||
import ConfirmDialog from '../Shared/ConfirmDialog';
|
||||
import TaskModal from './TaskModal';
|
||||
|
|
@ -27,6 +28,7 @@ import TaskPriorityIcon from './TaskPriorityIcon';
|
|||
import LoadingScreen from '../Shared/LoadingScreen';
|
||||
import MarkdownRenderer from '../Shared/MarkdownRenderer';
|
||||
import TaskTimeline from './TaskTimeline';
|
||||
import { isTaskOverdue } from '../../utils/dateUtils';
|
||||
|
||||
const TaskDetails: React.FC = () => {
|
||||
const { uuid } = useParams<{ uuid: string }>();
|
||||
|
|
@ -52,6 +54,8 @@ const TaskDetails: React.FC = () => {
|
|||
const [taskToDelete, setTaskToDelete] = useState<Task | null>(null);
|
||||
const [focusSubtasks, setFocusSubtasks] = useState(false);
|
||||
const [timelineRefreshKey, setTimelineRefreshKey] = useState(0);
|
||||
const [isOverdueAlertDismissed, setIsOverdueAlertDismissed] =
|
||||
useState(false);
|
||||
|
||||
// Load tags early and check for pending modal state on mount
|
||||
useEffect(() => {
|
||||
|
|
@ -445,6 +449,42 @@ const TaskDetails: React.FC = () => {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{/* Overdue Alert */}
|
||||
{isTaskOverdue(task) && !isOverdueAlertDismissed && (
|
||||
<div className="mb-6 mt-6 p-4 bg-amber-50 dark:bg-amber-900/20 border-l-4 border-amber-400 rounded-r-lg relative">
|
||||
<button
|
||||
onClick={() => setIsOverdueAlertDismissed(true)}
|
||||
className="absolute top-2 right-2 p-1 text-amber-600 dark:text-amber-400 hover:text-amber-800 dark:hover:text-amber-200 transition-colors"
|
||||
aria-label={t('common.close', 'Close')}
|
||||
>
|
||||
<XMarkIcon className="h-4 w-4" />
|
||||
</button>
|
||||
<div className="flex items-start pr-8">
|
||||
<ExclamationTriangleIcon className="h-5 w-5 text-amber-600 dark:text-amber-400 mr-3 flex-shrink-0 mt-0.5" />
|
||||
<div>
|
||||
<p className="text-sm font-medium text-amber-800 dark:text-amber-200">
|
||||
{t(
|
||||
'task.overdueAlert',
|
||||
"This task was in your plan yesterday and wasn't completed."
|
||||
)}
|
||||
</p>
|
||||
<p className="text-xs text-amber-700 dark:text-amber-300 mt-1">
|
||||
{task.today_move_count &&
|
||||
task.today_move_count > 1
|
||||
? t(
|
||||
'task.overdueMultipleDays',
|
||||
`This task has been postponed ${task.today_move_count} times.`
|
||||
)
|
||||
: t(
|
||||
'task.overdueYesterday',
|
||||
'Consider prioritizing this task or breaking it into smaller steps.'
|
||||
)}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Content - Two column layout */}
|
||||
<div className="mb-8 mt-8">
|
||||
<div className="grid grid-cols-1 lg:grid-cols-3 gap-8">
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
import React, { useState, useEffect } from 'react';
|
||||
import React, { useState, useEffect, useRef } from 'react';
|
||||
import { createPortal } from 'react-dom';
|
||||
import { Link } from 'react-router-dom';
|
||||
import {
|
||||
CalendarDaysIcon,
|
||||
CalendarIcon,
|
||||
PlayIcon,
|
||||
ArrowPathIcon,
|
||||
ArrowRightIcon,
|
||||
ListBulletIcon,
|
||||
PencilIcon,
|
||||
TrashIcon,
|
||||
EllipsisVerticalIcon,
|
||||
} from '@heroicons/react/24/outline';
|
||||
import { TagIcon, FolderIcon } from '@heroicons/react/24/solid';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
|
@ -43,7 +44,6 @@ const TaskHeader: React.FC<TaskHeaderProps> = ({
|
|||
hideProjectName = false,
|
||||
onToggleToday,
|
||||
onTaskUpdate,
|
||||
isOverdue = false,
|
||||
// Props for subtasks functionality
|
||||
showSubtasks,
|
||||
hasSubtasks,
|
||||
|
|
@ -53,6 +53,92 @@ const TaskHeader: React.FC<TaskHeaderProps> = ({
|
|||
onDelete,
|
||||
}) => {
|
||||
const { t } = useTranslation();
|
||||
const [isDropdownOpen, setIsDropdownOpen] = useState(false);
|
||||
const [dropdownPosition, setDropdownPosition] = useState({
|
||||
top: 0,
|
||||
left: 0,
|
||||
});
|
||||
const buttonRef = useRef<HTMLButtonElement>(null);
|
||||
const dropdownId = useRef(
|
||||
`dropdown-${Math.random().toString(36).substr(2, 9)}`
|
||||
).current;
|
||||
|
||||
// Calculate dropdown position
|
||||
const calculateDropdownPosition = () => {
|
||||
if (buttonRef.current) {
|
||||
const rect = buttonRef.current.getBoundingClientRect();
|
||||
const dropdownHeight = 300; // Approximate dropdown height
|
||||
const dropdownWidth = 192; // w-48 = 192px
|
||||
const padding = 8; // Padding from screen edges
|
||||
|
||||
// Default position: below and to the left of the button
|
||||
let top = rect.bottom + window.scrollY + 4;
|
||||
let left = rect.right - dropdownWidth;
|
||||
|
||||
// Ensure dropdown doesn't go off the left edge
|
||||
if (left < padding) {
|
||||
left = padding;
|
||||
}
|
||||
|
||||
// Ensure dropdown doesn't go off the right edge
|
||||
if (left + dropdownWidth > window.innerWidth - padding) {
|
||||
left = window.innerWidth - dropdownWidth - padding;
|
||||
}
|
||||
|
||||
// If dropdown would go below viewport, position it above the button
|
||||
if (rect.bottom + dropdownHeight > window.innerHeight - padding) {
|
||||
top = rect.top + window.scrollY - dropdownHeight - 4;
|
||||
// Ensure it doesn't go above the top of the viewport
|
||||
if (top < window.scrollY + padding) {
|
||||
top = window.scrollY + padding;
|
||||
}
|
||||
}
|
||||
|
||||
const position = { top, left };
|
||||
setDropdownPosition(position);
|
||||
}
|
||||
};
|
||||
|
||||
// Close dropdown when clicking outside
|
||||
useEffect(() => {
|
||||
const handleClickOutside = (event: MouseEvent) => {
|
||||
if (isDropdownOpen && buttonRef.current) {
|
||||
const target = event.target as Node;
|
||||
const isOutsideButton = !buttonRef.current.contains(target);
|
||||
const currentDropdown = document.querySelector(
|
||||
`[data-dropdown-id="${dropdownId}"]`
|
||||
);
|
||||
const isOutsideDropdown = !currentDropdown?.contains(target);
|
||||
|
||||
if (isOutsideButton && isOutsideDropdown) {
|
||||
setIsDropdownOpen(false);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Listen for custom event to close this dropdown when another opens
|
||||
const handleCloseOtherDropdowns = (event: CustomEvent) => {
|
||||
if (event.detail.dropdownId !== dropdownId && isDropdownOpen) {
|
||||
setIsDropdownOpen(false);
|
||||
}
|
||||
};
|
||||
|
||||
if (isDropdownOpen) {
|
||||
document.addEventListener('click', handleClickOutside);
|
||||
document.addEventListener(
|
||||
'closeOtherDropdowns',
|
||||
handleCloseOtherDropdowns as EventListener
|
||||
);
|
||||
}
|
||||
|
||||
return () => {
|
||||
document.removeEventListener('click', handleClickOutside);
|
||||
document.removeEventListener(
|
||||
'closeOtherDropdowns',
|
||||
handleCloseOtherDropdowns as EventListener
|
||||
);
|
||||
};
|
||||
}, [isDropdownOpen, dropdownId]);
|
||||
|
||||
const formatDueDate = (dueDate: string) => {
|
||||
const today = new Date().toISOString().split('T')[0];
|
||||
|
|
@ -170,12 +256,6 @@ const TaskHeader: React.FC<TaskHeaderProps> = ({
|
|||
<span className="text-md text-gray-900 dark:text-gray-100">
|
||||
{task.name}
|
||||
</span>
|
||||
{isOverdue && (
|
||||
<ArrowRightIcon
|
||||
className="ml-2 h-4 w-4 text-amber-600 dark:text-amber-400 opacity-60"
|
||||
title="This task was in your plan yesterday and wasn't completed."
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
{/* Project, tags, due date, and recurrence in same row, with spacing when they exist */}
|
||||
<div className="flex items-center text-xs text-gray-500 dark:text-gray-400">
|
||||
|
|
@ -406,17 +486,11 @@ const TaskHeader: React.FC<TaskHeaderProps> = ({
|
|||
/>
|
||||
</div>
|
||||
|
||||
{/* Task content - 65% width */}
|
||||
<div className="ml-2 flex-1 w-[65%] min-w-0">
|
||||
{/* Task content - full width */}
|
||||
<div className="ml-2 flex-1 min-w-0">
|
||||
{/* Task Title */}
|
||||
<div className="font-light text-md text-gray-900 dark:text-gray-100">
|
||||
<span className="break-words">{task.name}</span>
|
||||
{isOverdue && (
|
||||
<ArrowRightIcon
|
||||
className="ml-2 h-4 w-4 text-amber-600 dark:text-amber-400 opacity-60"
|
||||
title="This task was in your plan yesterday and wasn't completed."
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Project, tags, due date, and recurrence */}
|
||||
|
|
@ -485,135 +559,170 @@ const TaskHeader: React.FC<TaskHeaderProps> = ({
|
|||
</div>
|
||||
</div>
|
||||
|
||||
{/* Mobile buttons on the right */}
|
||||
{/* Mobile 3-dot dropdown menu */}
|
||||
<div className="flex items-center ml-2">
|
||||
{/* Button Group - All buttons together - Mobile */}
|
||||
<div className="flex items-center space-x-1 opacity-0 group-hover:opacity-100 transition-opacity duration-200">
|
||||
{/* Today Plan Controls - Mobile */}
|
||||
{onToggleToday && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleTodayToggle}
|
||||
className={`items-center justify-center ${Number(task.today_move_count) > 1 ? 'px-2 h-6' : 'w-6 h-6'} rounded-full transition-all duration-200 ${
|
||||
task.today
|
||||
? 'bg-green-100 dark:bg-green-900 text-green-600 dark:text-green-400 hover:bg-green-200 dark:hover:bg-green-800 opacity-100 flex'
|
||||
: 'bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-600 flex'
|
||||
}`}
|
||||
title={
|
||||
task.today
|
||||
? t(
|
||||
'tasks.removeFromToday',
|
||||
'Remove from today plan'
|
||||
)
|
||||
: t(
|
||||
'tasks.addToToday',
|
||||
'Add to today plan'
|
||||
)
|
||||
}
|
||||
>
|
||||
{task.today ? (
|
||||
<CalendarDaysIcon className="h-3 w-3" />
|
||||
) : (
|
||||
<CalendarIcon className="h-3 w-3" />
|
||||
)}
|
||||
{Number(task.today_move_count) > 1 && (
|
||||
<span className="ml-1 text-xs font-medium">
|
||||
{Number(task.today_move_count)}
|
||||
</span>
|
||||
)}
|
||||
</button>
|
||||
)}
|
||||
<button
|
||||
ref={buttonRef}
|
||||
type="button"
|
||||
data-dropdown-button
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
const newOpenState = !isDropdownOpen;
|
||||
|
||||
{/* Play/In Progress Controls - Mobile */}
|
||||
{(task.status === 'not_started' ||
|
||||
task.status === 'in_progress' ||
|
||||
task.status === 0 ||
|
||||
task.status === 1) && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={handlePlayToggle}
|
||||
className={`flex items-center justify-center w-6 h-6 rounded-full transition-all duration-200 ${
|
||||
task.status === 'in_progress' ||
|
||||
task.status === 1
|
||||
? 'bg-green-100 dark:bg-green-900 text-green-600 dark:text-green-400 hover:bg-green-200 dark:hover:bg-green-800 animate-pulse opacity-100'
|
||||
: 'bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-600'
|
||||
}`}
|
||||
title={
|
||||
task.status === 'in_progress' ||
|
||||
task.status === 1
|
||||
? t(
|
||||
'tasks.setNotStarted',
|
||||
'Set to not started'
|
||||
)
|
||||
: t(
|
||||
'tasks.setInProgress',
|
||||
'Set in progress'
|
||||
)
|
||||
}
|
||||
>
|
||||
<PlayIcon className="h-3 w-3" />
|
||||
</button>
|
||||
)}
|
||||
// Close other dropdowns when opening this one
|
||||
if (newOpenState) {
|
||||
document.dispatchEvent(
|
||||
new CustomEvent('closeOtherDropdowns', {
|
||||
detail: { dropdownId },
|
||||
})
|
||||
);
|
||||
// Calculate position BEFORE opening to prevent blink
|
||||
calculateDropdownPosition();
|
||||
}
|
||||
|
||||
{/* Show Subtasks Controls - Mobile */}
|
||||
{hasSubtasks &&
|
||||
!(
|
||||
task.status === 'archived' ||
|
||||
task.status === 3
|
||||
) && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={(e) => {
|
||||
if (onSubtasksToggle) {
|
||||
onSubtasksToggle(e);
|
||||
}
|
||||
}}
|
||||
className={`flex items-center justify-center w-6 h-6 rounded-full transition-all duration-200 ${
|
||||
showSubtasks
|
||||
? 'bg-blue-100 dark:bg-blue-900 text-blue-600 dark:text-blue-400 hover:bg-blue-200 dark:hover:bg-blue-800 opacity-100'
|
||||
: 'bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-600'
|
||||
}`}
|
||||
title={
|
||||
showSubtasks
|
||||
setIsDropdownOpen(newOpenState);
|
||||
}}
|
||||
className="flex items-center justify-center w-8 h-8 rounded-full transition-all duration-200 text-gray-600 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700"
|
||||
>
|
||||
<EllipsisVerticalIcon className="h-5 w-5" />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* Dropdown Menu - Rendered via Portal */}
|
||||
{isDropdownOpen &&
|
||||
createPortal(
|
||||
<div
|
||||
data-dropdown-id={dropdownId}
|
||||
className="fixed w-48 bg-white dark:bg-gray-800 rounded-md shadow-lg border border-gray-200 dark:border-gray-700 z-[9999]"
|
||||
style={{
|
||||
top: dropdownPosition.top,
|
||||
left: dropdownPosition.left,
|
||||
}}
|
||||
onClick={(e) => e.stopPropagation()}
|
||||
>
|
||||
<div className="py-1">
|
||||
{/* Today Plan Controls */}
|
||||
{onToggleToday && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
handleTodayToggle(e);
|
||||
setIsDropdownOpen(false);
|
||||
}}
|
||||
className="w-full px-4 py-2 text-sm text-left text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 flex justify-between items-center"
|
||||
>
|
||||
<span>
|
||||
{task.today
|
||||
? t(
|
||||
'tasks.removeFromToday',
|
||||
'Remove from today plan'
|
||||
)
|
||||
: t(
|
||||
'tasks.addToToday',
|
||||
'Add to today plan'
|
||||
)}
|
||||
</span>
|
||||
{Number(task.today_move_count) >
|
||||
1 && (
|
||||
<span className="text-xs bg-gray-200 dark:bg-gray-600 px-2 py-1 rounded">
|
||||
{Number(
|
||||
task.today_move_count
|
||||
)}
|
||||
</span>
|
||||
)}
|
||||
</button>
|
||||
)}
|
||||
|
||||
{/* Play/In Progress Controls */}
|
||||
{(task.status === 'not_started' ||
|
||||
task.status === 'in_progress' ||
|
||||
task.status === 0 ||
|
||||
task.status === 1) && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
handlePlayToggle(e);
|
||||
setIsDropdownOpen(false);
|
||||
}}
|
||||
className="w-full px-4 py-2 text-sm text-left text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"
|
||||
>
|
||||
{task.status === 'in_progress' ||
|
||||
task.status === 1
|
||||
? t(
|
||||
'tasks.hideSubtasks',
|
||||
'Hide subtasks'
|
||||
'tasks.setNotStarted',
|
||||
'Set to not started'
|
||||
)
|
||||
: t(
|
||||
'tasks.showSubtasks',
|
||||
'Show subtasks'
|
||||
)
|
||||
}
|
||||
>
|
||||
<ListBulletIcon className="h-3 w-3" />
|
||||
</button>
|
||||
)}
|
||||
'tasks.setInProgress',
|
||||
'Set in progress'
|
||||
)}
|
||||
</button>
|
||||
)}
|
||||
|
||||
{/* Edit Button - Mobile */}
|
||||
{onEdit && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={onEdit}
|
||||
className="flex items-center justify-center w-6 h-6 rounded-full transition-all duration-200 bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-400 hover:bg-blue-100 dark:hover:bg-blue-800 hover:text-blue-600 dark:hover:text-blue-400"
|
||||
title={t('tasks.edit', 'Edit task')}
|
||||
>
|
||||
<PencilIcon className="h-3 w-3" />
|
||||
</button>
|
||||
)}
|
||||
{/* Show Subtasks Controls */}
|
||||
{hasSubtasks &&
|
||||
!(
|
||||
task.status === 'archived' ||
|
||||
task.status === 3
|
||||
) && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
if (onSubtasksToggle) {
|
||||
onSubtasksToggle(e);
|
||||
}
|
||||
setIsDropdownOpen(false);
|
||||
}}
|
||||
className="w-full px-4 py-2 text-sm text-left text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"
|
||||
>
|
||||
{showSubtasks
|
||||
? t(
|
||||
'tasks.hideSubtasks',
|
||||
'Hide subtasks'
|
||||
)
|
||||
: t(
|
||||
'tasks.showSubtasks',
|
||||
'Show subtasks'
|
||||
)}
|
||||
</button>
|
||||
)}
|
||||
|
||||
{/* Delete Button - Mobile */}
|
||||
{onDelete && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={onDelete}
|
||||
className="flex items-center justify-center w-6 h-6 rounded-full transition-all duration-200 bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-400 hover:bg-red-100 dark:hover:bg-red-800 hover:text-red-600 dark:hover:text-red-400"
|
||||
title={t('tasks.delete', 'Delete task')}
|
||||
>
|
||||
<TrashIcon className="h-3 w-3" />
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
{/* Edit Button */}
|
||||
{onEdit && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
onEdit(e);
|
||||
setIsDropdownOpen(false);
|
||||
}}
|
||||
className="w-full px-4 py-2 text-sm text-left text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700"
|
||||
>
|
||||
{t('tasks.edit', 'Edit task')}
|
||||
</button>
|
||||
)}
|
||||
|
||||
{/* Delete Button */}
|
||||
{onDelete && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
onDelete(e);
|
||||
setIsDropdownOpen(false);
|
||||
}}
|
||||
className="w-full px-4 py-2 text-sm text-left text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20"
|
||||
>
|
||||
{t('tasks.delete', 'Delete task')}
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>,
|
||||
document.body
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "إضافة إلى خطة اليوم",
|
||||
"removeFromToday": "إزالة من خطة اليوم",
|
||||
"setInProgress": "تعيين قيد التنفيذ",
|
||||
"setNotStarted": "تعيين لم يبدأ بعد"
|
||||
"setNotStarted": "تعيين لم يبدأ بعد",
|
||||
"showSubtasks": "عرض المهام الفرعية",
|
||||
"hideSubtasks": "إخفاء المهام الفرعية",
|
||||
"edit": "تعديل المهمة",
|
||||
"delete": "حذف المهمة"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "جدول الأنشطة",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "الحالة",
|
||||
"priority": "الأولوية",
|
||||
"dueDate": "تاريخ الاستحقاق",
|
||||
"none": "لا شيء"
|
||||
"none": "لا شيء",
|
||||
"recurrenceEndDateChanged": "تاريخ انتهاء التكرار تم تغييره",
|
||||
"recurrenceEndDate": "تاريخ انتهاء التكرار"
|
||||
},
|
||||
"justNow": "الآن",
|
||||
"minutesAgo": "{{minutes}} دقيقة مضت",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "مؤرشف",
|
||||
"unknown": "غير معروف",
|
||||
"telegramConnected": "تم الاتصال بتليجرام وجاري الاستطلاع",
|
||||
"telegramConnectionProblem": "مشكلة في اتصال تليجرام"
|
||||
"telegramConnectionProblem": "مشكلة في اتصال تليجرام",
|
||||
"completed": "مكتمل",
|
||||
"waiting": "في الانتظار"
|
||||
},
|
||||
"project": {
|
||||
"name": "اسم المشروع",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "اجعلها أكثر وصفًا!",
|
||||
"suggestion": "حاول إضافة المزيد من التفاصيل مثل \"اتصل بطبيب الأسنان لتحديد موعد التنظيف\" بدلاً من \"اتصل بطبيب الأسنان\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "كانت هذه المهمة في خطتك بالأمس ولم تكتمل.",
|
||||
"overdueYesterday": "فكر في إعطاء أولوية لهذه المهمة أو تقسيمها إلى خطوات أصغر.",
|
||||
"overdueMultipleDays": "تم تأجيل هذه المهمة {{count}} مرات.",
|
||||
"content": "المحتوى",
|
||||
"noNotes": "لم يتم إضافة محتوى بعد",
|
||||
"subtasks": "المهام الفرعية",
|
||||
"noSubtasks": "لا توجد مهام فرعية بعد",
|
||||
"recentActivity": "النشاط الأخير"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "جارٍ تحميل المشاريع...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Добави към плана за днес",
|
||||
"removeFromToday": "Премахни от плана за днес",
|
||||
"setInProgress": "Задай в процес",
|
||||
"setNotStarted": "Задай като не започната"
|
||||
"setNotStarted": "Задай като не започната",
|
||||
"showSubtasks": "Покажи подзадачи",
|
||||
"hideSubtasks": "Скрий подзадачи",
|
||||
"edit": "Редактиране на задача",
|
||||
"delete": "Изтриване на задача"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Хронология на активността",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Статус",
|
||||
"priority": "Приоритет",
|
||||
"dueDate": "Срок",
|
||||
"none": "Няма"
|
||||
"none": "Няма",
|
||||
"recurrenceEndDateChanged": "Дата на края на повторението е променена",
|
||||
"recurrenceEndDate": "Дата на края на повторението"
|
||||
},
|
||||
"justNow": "Току-що",
|
||||
"minutesAgo": "{{minutes}}м. назад",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Архивирано",
|
||||
"unknown": "Неизвестно",
|
||||
"telegramConnected": "Telegram свързан и проверява",
|
||||
"telegramConnectionProblem": "Проблем с връзката на Telegram"
|
||||
"telegramConnectionProblem": "Проблем с връзката на Telegram",
|
||||
"completed": "Завършено",
|
||||
"waiting": "В очакване"
|
||||
},
|
||||
"project": {
|
||||
"name": "Име на проекта",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Направете го по-описателно!",
|
||||
"suggestion": "Опитайте да добавите повече детайли като \"Обадете се на зъболекаря, за да насрочите час за почистване\" вместо просто \"Обадете се на зъболекаря\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Тази задача беше в плана ви вчера и не беше завършена.",
|
||||
"overdueYesterday": "Помислете за приоритизиране на тази задача или разделянето ѝ на по-малки стъпки.",
|
||||
"overdueMultipleDays": "Тази задача е отложена {{count}} пъти.",
|
||||
"content": "Съдържание",
|
||||
"noNotes": "Все още не е добавено съдържание",
|
||||
"subtasks": "Подзадачи",
|
||||
"noSubtasks": "Все още няма подзадачи",
|
||||
"recentActivity": "Наскоро извършена дейност"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Зареждане на проекти...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Tilføj til dagens plan",
|
||||
"removeFromToday": "Fjern fra dagens plan",
|
||||
"setInProgress": "Sæt i gang",
|
||||
"setNotStarted": "Sæt til ikke startet"
|
||||
"setNotStarted": "Sæt til ikke startet",
|
||||
"showSubtasks": "Vis underopgaver",
|
||||
"hideSubtasks": "Skjul underopgaver",
|
||||
"edit": "Rediger opgave",
|
||||
"delete": "Slet opgave"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Aktivitets Tidslinje",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Status",
|
||||
"priority": "Prioritet",
|
||||
"dueDate": "Forfaldsdato",
|
||||
"none": "Ingen"
|
||||
"none": "Ingen",
|
||||
"recurrenceEndDateChanged": "Ændret slutdato for gentagelse",
|
||||
"recurrenceEndDate": "Slutdato for gentagelse"
|
||||
},
|
||||
"justNow": "Lige nu",
|
||||
"minutesAgo": "{{minutes}}m siden",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Arkiveret",
|
||||
"unknown": "Ukendt",
|
||||
"telegramConnected": "Telegram tilsluttet og polling",
|
||||
"telegramConnectionProblem": "Telegram forbindelsesproblem"
|
||||
"telegramConnectionProblem": "Telegram forbindelsesproblem",
|
||||
"completed": "Fuldført",
|
||||
"waiting": "Venter"
|
||||
},
|
||||
"project": {
|
||||
"name": "Projekt Navn",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Gør det mere beskrivende!",
|
||||
"suggestion": "Prøv at tilføje flere detaljer som \"Ring til tandlægen for at planlægge rengøringsaftale\" i stedet for bare \"Ring til tandlægen\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Denne opgave var i din plan i går og blev ikke fuldført.",
|
||||
"overdueYesterday": "Overvej at prioritere denne opgave eller opdele den i mindre trin.",
|
||||
"overdueMultipleDays": "Denne opgave er blevet udsat {{count}} gange.",
|
||||
"content": "Indhold",
|
||||
"noNotes": "Ingen indhold tilføjet endnu",
|
||||
"subtasks": "Underopgaver",
|
||||
"noSubtasks": "Ingen underopgaver endnu",
|
||||
"recentActivity": "Seneste aktivitet"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Indlæser projekter...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addNewTask": "Neue Aufgabe hinzufügen",
|
||||
"metrics": "Metriken",
|
||||
"setInProgress": "In Bearbeitung setzen",
|
||||
"setNotStarted": "Auf nicht begonnen setzen"
|
||||
"setNotStarted": "Auf nicht begonnen setzen",
|
||||
"showSubtasks": "Unteraufgaben anzeigen",
|
||||
"hideSubtasks": "Unteraufgaben ausblenden",
|
||||
"edit": "Aufgabe bearbeiten",
|
||||
"delete": "Aufgabe löschen"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Aktivitätsverlauf",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Status",
|
||||
"priority": "Priorität",
|
||||
"dueDate": "Fälligkeitsdatum",
|
||||
"none": "Keine"
|
||||
"none": "Keine",
|
||||
"recurrenceEndDateChanged": "Das Enddatum der Wiederholung wurde geändert",
|
||||
"recurrenceEndDate": "Enddatum der Wiederholung"
|
||||
},
|
||||
"justNow": "Gerade eben",
|
||||
"minutesAgo": "{{minutes}}m her",
|
||||
|
|
@ -550,7 +556,15 @@
|
|||
"updated": "Aufgabe",
|
||||
"updatedSuccessfully": "erfolgreich aktualisiert!",
|
||||
"deleted": "Aufgabe",
|
||||
"deletedSuccessfully": "erfolgreich gelöscht!"
|
||||
"deletedSuccessfully": "erfolgreich gelöscht!",
|
||||
"overdueAlert": "Diese Aufgabe war gestern in Ihrem Plan und wurde nicht abgeschlossen.",
|
||||
"overdueYesterday": "Erwägen Sie, diese Aufgabe zu priorisieren oder in kleinere Schritte zu unterteilen.",
|
||||
"overdueMultipleDays": "Diese Aufgabe wurde {{count}} Mal verschoben.",
|
||||
"content": "Inhalt",
|
||||
"noNotes": "Noch kein Inhalt hinzugefügt",
|
||||
"subtasks": "Unteraufgaben",
|
||||
"noSubtasks": "Noch keine Unteraufgaben",
|
||||
"recentActivity": "Aktuelle Aktivitäten"
|
||||
},
|
||||
"calendar": {
|
||||
"month": "Monat",
|
||||
|
|
@ -674,7 +688,9 @@
|
|||
"archived": "Archiviert",
|
||||
"unknown": "Unbekannt",
|
||||
"telegramConnected": "Telegram verbunden und abfragt",
|
||||
"telegramConnectionProblem": "Telegram-Verbindungsproblem"
|
||||
"telegramConnectionProblem": "Telegram-Verbindungsproblem",
|
||||
"completed": "Abgeschlossen",
|
||||
"waiting": "Warten"
|
||||
},
|
||||
"dateIndicators": {
|
||||
"today": "HEUTE",
|
||||
|
|
|
|||
|
|
@ -306,7 +306,11 @@
|
|||
"addToToday": "Προσθήκη στο σημερινό σχέδιο",
|
||||
"removeFromToday": "Αφαίρεση από το σημερινό σχέδιο",
|
||||
"setInProgress": "Ορισμός ως 'Σε Εξέλιξη'",
|
||||
"setNotStarted": "Ορισμός ως 'Δεν Έχει Ξεκινήσει'"
|
||||
"setNotStarted": "Ορισμός ως 'Δεν Έχει Ξεκινήσει'",
|
||||
"showSubtasks": "Εμφάνιση υποκαθηκόντων",
|
||||
"hideSubtasks": "Απόκρυψη υποκαθηκόντων",
|
||||
"edit": "Επεξεργασία καθήκοντος",
|
||||
"delete": "Διαγραφή καθήκοντος"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Χρονοδιάγραμμα Δραστηριότητας",
|
||||
|
|
@ -329,7 +333,9 @@
|
|||
"status": "Κατάσταση",
|
||||
"priority": "Προτεραιότητα",
|
||||
"dueDate": "Ημερομηνία λήξης",
|
||||
"none": "Καμία"
|
||||
"none": "Καμία",
|
||||
"recurrenceEndDateChanged": "Η ημερομηνία λήξης επανάληψης άλλαξε",
|
||||
"recurrenceEndDate": "Η ημερομηνία λήξης επανάληψης"
|
||||
},
|
||||
"justNow": "Μόλις τώρα",
|
||||
"minutesAgo": "{{minutes}} λεπτά πριν",
|
||||
|
|
@ -526,7 +532,9 @@
|
|||
"archived": "Αρχειοθετημένο",
|
||||
"unknown": "Άγνωστο",
|
||||
"telegramConnected": "Το Telegram είναι συνδεδεμένο και αναζητά",
|
||||
"telegramConnectionProblem": "Πρόβλημα σύνδεσης με το Telegram"
|
||||
"telegramConnectionProblem": "Πρόβλημα σύνδεσης με το Telegram",
|
||||
"completed": "Ολοκληρώθηκε",
|
||||
"waiting": "Σε αναμονή"
|
||||
},
|
||||
"task": {
|
||||
"labels": {
|
||||
|
|
@ -564,7 +572,15 @@
|
|||
"updated": "Εργασία",
|
||||
"updatedSuccessfully": "ενημερώθηκε επιτυχώς!",
|
||||
"deleted": "Εργασία",
|
||||
"deletedSuccessfully": "διαγράφηκε επιτυχώς!"
|
||||
"deletedSuccessfully": "διαγράφηκε επιτυχώς!",
|
||||
"overdueAlert": "Αυτή η εργασία ήταν στο σχέδιο σας χθες και δεν ολοκληρώθηκε.",
|
||||
"overdueYesterday": "Σκεφτείτε να δώσετε προτεραιότητα σε αυτή την εργασία ή να την χωρίσετε σε μικρότερα βήματα.",
|
||||
"overdueMultipleDays": "Αυτή η εργασία έχει αναβληθεί {{count}} φορές.",
|
||||
"content": "Περιεχόμενο",
|
||||
"noNotes": "Δεν έχει προστεθεί περιεχόμενο ακόμα",
|
||||
"subtasks": "Υποεργασίες",
|
||||
"noSubtasks": "Δεν υπάρχουν υποεργασίες ακόμα",
|
||||
"recentActivity": "Πρόσφατη Δραστηριότητα"
|
||||
},
|
||||
"dateFormats": {
|
||||
"long": "EEEE, d MMMM yyyy",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Add to today plan",
|
||||
"removeFromToday": "Remove from today plan",
|
||||
"setInProgress": "Set in progress",
|
||||
"setNotStarted": "Set to not started"
|
||||
"setNotStarted": "Set to not started",
|
||||
"showSubtasks": "Show subtasks",
|
||||
"hideSubtasks": "Hide subtasks",
|
||||
"edit": "Edit task",
|
||||
"delete": "Delete task"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Activity Timeline",
|
||||
|
|
@ -621,7 +625,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Make it more descriptive!",
|
||||
"suggestion": "Try adding more details like \"Call dentist to schedule cleaning appointment\" instead of just \"Call dentist\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "This task was in your plan yesterday and wasn't completed.",
|
||||
"overdueYesterday": "Consider prioritizing this task or breaking it into smaller steps.",
|
||||
"overdueMultipleDays": "This task has been postponed {{count}} times.",
|
||||
"content": "Content",
|
||||
"noNotes": "No content added yet",
|
||||
"subtasks": "Subtasks",
|
||||
"noSubtasks": "No subtasks yet",
|
||||
"recentActivity": "Recent Activity"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Loading projects...",
|
||||
|
|
|
|||
|
|
@ -306,7 +306,11 @@
|
|||
"tasksCompleted": "tareas completadas",
|
||||
"metrics": "Métricas",
|
||||
"setInProgress": "Establecer en progreso",
|
||||
"setNotStarted": "Establecer como no iniciado"
|
||||
"setNotStarted": "Establecer como no iniciado",
|
||||
"showSubtasks": "Mostrar subtareas",
|
||||
"hideSubtasks": "Ocultar subtareas",
|
||||
"edit": "Editar tarea",
|
||||
"delete": "Eliminar tarea"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Línea de Tiempo de Actividad",
|
||||
|
|
@ -329,7 +333,9 @@
|
|||
"status": "Estado",
|
||||
"priority": "Prioridad",
|
||||
"dueDate": "Fecha de vencimiento",
|
||||
"none": "Ninguno"
|
||||
"none": "Ninguno",
|
||||
"recurrenceEndDateChanged": "Fecha de finalización de la recurrencia cambiada",
|
||||
"recurrenceEndDate": "Fecha de finalización de la recurrencia"
|
||||
},
|
||||
"justNow": "Justo ahora",
|
||||
"minutesAgo": "{{minutes}}m hace",
|
||||
|
|
@ -520,7 +526,9 @@
|
|||
"archived": "Archivado",
|
||||
"unknown": "Desconocido",
|
||||
"telegramConnected": "Telegram conectado y sondeando",
|
||||
"telegramConnectionProblem": "Problema de conexión de Telegram"
|
||||
"telegramConnectionProblem": "Problema de conexión de Telegram",
|
||||
"completed": "Completado",
|
||||
"waiting": "Esperando"
|
||||
},
|
||||
"project": {
|
||||
"name": "Nombre del Proyecto",
|
||||
|
|
@ -564,7 +572,15 @@
|
|||
"updated": "Tarea",
|
||||
"updatedSuccessfully": "actualizada con éxito!",
|
||||
"deleted": "Tarea",
|
||||
"deletedSuccessfully": "eliminada con éxito!"
|
||||
"deletedSuccessfully": "eliminada con éxito!",
|
||||
"overdueAlert": "Esta tarea estaba en tu plan ayer y no se completó.",
|
||||
"overdueYesterday": "Considera priorizar esta tarea o dividirla en pasos más pequeños.",
|
||||
"overdueMultipleDays": "Esta tarea ha sido pospuesta {{count}} veces.",
|
||||
"content": "Contenido",
|
||||
"noNotes": "No se ha añadido contenido aún",
|
||||
"subtasks": "Subtareas",
|
||||
"noSubtasks": "No hay subtareas aún",
|
||||
"recentActivity": "Actividad Reciente"
|
||||
},
|
||||
"dateIndicators": {
|
||||
"today": "HOY",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Lisää tänään suunnitelmaan",
|
||||
"removeFromToday": "Poista tänään suunnitelmasta",
|
||||
"setInProgress": "Aseta käynnissä olevaksi",
|
||||
"setNotStarted": "Aseta aloittamatta"
|
||||
"setNotStarted": "Aseta aloittamatta",
|
||||
"showSubtasks": "Näytä alitehtävät",
|
||||
"hideSubtasks": "Piilota alitehtävät",
|
||||
"edit": "Muokkaa tehtävää",
|
||||
"delete": "Poista tehtävä"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Toiminta-aikajana",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Tila",
|
||||
"priority": "Prioriteetti",
|
||||
"dueDate": "Eräpäivä",
|
||||
"none": "Ei mitään"
|
||||
"none": "Ei mitään",
|
||||
"recurrenceEndDateChanged": "Toistuvuuden päättymispäivämäärä on muuttunut",
|
||||
"recurrenceEndDate": "Toistuvuuden päättymispäivämäärä"
|
||||
},
|
||||
"justNow": "Juuri nyt",
|
||||
"minutesAgo": "{{minutes}}m sitten",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Arkistoitu",
|
||||
"unknown": "Tuntematon",
|
||||
"telegramConnected": "Telegram yhdistetty ja kyselyssä",
|
||||
"telegramConnectionProblem": "Telegram-yhteysongelma"
|
||||
"telegramConnectionProblem": "Telegram-yhteysongelma",
|
||||
"completed": "Valmis",
|
||||
"waiting": "Odottaa"
|
||||
},
|
||||
"project": {
|
||||
"name": "Projektin nimi",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Tee siitä kuvaavampi!",
|
||||
"suggestion": "Yritä lisätä enemmän yksityiskohtia, kuten \"Soita hammaslääkärille aikatauluttaaksesi puhdistusajan\" sen sijaan, että sanoisit vain \"Soita hammaslääkärille\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Tämä tehtävä oli suunnitelmassasi eilen eikä sitä ole suoritettu.",
|
||||
"overdueYesterday": "Harkitse tämän tehtävän priorisoimista tai jakamista pienempiin vaiheisiin.",
|
||||
"overdueMultipleDays": "Tätä tehtävää on siirretty {{count}} kertaa.",
|
||||
"content": "Sisältö",
|
||||
"noNotes": "Ei vielä lisättyä sisältöä",
|
||||
"subtasks": "Ala-tehtävät",
|
||||
"noSubtasks": "Ei vielä ala-tehtäviä",
|
||||
"recentActivity": "Viimeaikainen toiminta"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Ladataan projekteja...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Ajouter au plan d'aujourd'hui",
|
||||
"removeFromToday": "Retirer du plan d'aujourd'hui",
|
||||
"setInProgress": "Définir en cours",
|
||||
"setNotStarted": "Définir comme non commencé"
|
||||
"setNotStarted": "Définir comme non commencé",
|
||||
"showSubtasks": "Afficher les sous-tâches",
|
||||
"hideSubtasks": "Masquer les sous-tâches",
|
||||
"edit": "Modifier la tâche",
|
||||
"delete": "Supprimer la tâche"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Chronologie d'Activité",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Statut",
|
||||
"priority": "Priorité",
|
||||
"dueDate": "Date d'échéance",
|
||||
"none": "Aucun"
|
||||
"none": "Aucun",
|
||||
"recurrenceEndDateChanged": "Date de fin de récurrence modifiée",
|
||||
"recurrenceEndDate": "Date de fin de récurrence"
|
||||
},
|
||||
"justNow": "À l'instant",
|
||||
"minutesAgo": "{{minutes}}m auparavant",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Archivé",
|
||||
"unknown": "Inconnu",
|
||||
"telegramConnected": "Telegram connecté et en cours de sondage",
|
||||
"telegramConnectionProblem": "Problème de connexion à Telegram"
|
||||
"telegramConnectionProblem": "Problème de connexion à Telegram",
|
||||
"completed": "Terminé",
|
||||
"waiting": "En attente"
|
||||
},
|
||||
"project": {
|
||||
"name": "Nom du projet",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Rendez-le plus descriptif !",
|
||||
"suggestion": "Essayez d'ajouter plus de détails comme \"Appeler le dentiste pour prendre un rendez-vous de nettoyage\" au lieu de simplement \"Appeler le dentiste\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Cette tâche était dans votre plan hier et n'a pas été complétée.",
|
||||
"overdueYesterday": "Envisagez de prioriser cette tâche ou de la décomposer en étapes plus petites.",
|
||||
"overdueMultipleDays": "Cette tâche a été reportée {{count}} fois.",
|
||||
"content": "Contenu",
|
||||
"noNotes": "Aucun contenu ajouté pour le moment",
|
||||
"subtasks": "Sous-tâches",
|
||||
"noSubtasks": "Aucune sous-tâche pour le moment",
|
||||
"recentActivity": "Activité récente"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Chargement des projets...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Tambahkan ke rencana hari ini",
|
||||
"removeFromToday": "Hapus dari rencana hari ini",
|
||||
"setInProgress": "Tandai sebagai sedang berlangsung",
|
||||
"setNotStarted": "Tandai sebagai belum dimulai"
|
||||
"setNotStarted": "Tandai sebagai belum dimulai",
|
||||
"showSubtasks": "Tampilkan subtugas",
|
||||
"hideSubtasks": "Sembunyikan subtugas",
|
||||
"edit": "Edit tugas",
|
||||
"delete": "Hapus tugas"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Garis Waktu Aktivitas",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Status",
|
||||
"priority": "Prioritas",
|
||||
"dueDate": "Tanggal jatuh tempo",
|
||||
"none": "Tidak ada"
|
||||
"none": "Tidak ada",
|
||||
"recurrenceEndDateChanged": "Tanggal akhir pengulangan telah diubah",
|
||||
"recurrenceEndDate": "Tanggal akhir pengulangan"
|
||||
},
|
||||
"justNow": "Baru saja",
|
||||
"minutesAgo": "{{minutes}}m yang lalu",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Arsip",
|
||||
"unknown": "Tidak Diketahui",
|
||||
"telegramConnected": "Telegram terhubung dan memeriksa",
|
||||
"telegramConnectionProblem": "Masalah koneksi Telegram"
|
||||
"telegramConnectionProblem": "Masalah koneksi Telegram",
|
||||
"completed": "Selesai",
|
||||
"waiting": "Menunggu"
|
||||
},
|
||||
"project": {
|
||||
"name": "Nama Proyek",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Buat lebih deskriptif!",
|
||||
"suggestion": "Cobalah menambahkan lebih banyak detail seperti \"Hubungi dokter gigi untuk menjadwalkan janji pembersihan\" alih-alih hanya \"Hubungi dokter gigi\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Tugas ini ada dalam rencana Anda kemarin dan belum diselesaikan.",
|
||||
"overdueYesterday": "Pertimbangkan untuk memprioritaskan tugas ini atau membaginya menjadi langkah-langkah yang lebih kecil.",
|
||||
"overdueMultipleDays": "Tugas ini telah ditunda {{count}} kali.",
|
||||
"content": "Konten",
|
||||
"noNotes": "Belum ada konten yang ditambahkan",
|
||||
"subtasks": "Subtugas",
|
||||
"noSubtasks": "Belum ada subtugas",
|
||||
"recentActivity": "Aktivitas Terbaru"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Memuat proyek...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Aggiungi al piano di oggi",
|
||||
"removeFromToday": "Rimuovi dal piano di oggi",
|
||||
"setInProgress": "Imposta in corso",
|
||||
"setNotStarted": "Imposta come non iniziata"
|
||||
"setNotStarted": "Imposta come non iniziata",
|
||||
"showSubtasks": "Mostra sottocompiti",
|
||||
"hideSubtasks": "Nascondi sottocompiti",
|
||||
"edit": "Modifica attività",
|
||||
"delete": "Elimina attività"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Timeline delle Attività",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Stato",
|
||||
"priority": "Priorità",
|
||||
"dueDate": "Data di scadenza",
|
||||
"none": "Nessuno"
|
||||
"none": "Nessuno",
|
||||
"recurrenceEndDateChanged": "Data di fine ricorrenza cambiata",
|
||||
"recurrenceEndDate": "Data di fine ricorrenza"
|
||||
},
|
||||
"justNow": "Proprio adesso",
|
||||
"minutesAgo": "{{minutes}}m fa",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Archiviata",
|
||||
"unknown": "Sconosciuto",
|
||||
"telegramConnected": "Telegram connesso e in polling",
|
||||
"telegramConnectionProblem": "Problema di connessione a Telegram"
|
||||
"telegramConnectionProblem": "Problema di connessione a Telegram",
|
||||
"completed": "Completato",
|
||||
"waiting": "In attesa"
|
||||
},
|
||||
"project": {
|
||||
"name": "Nome Progetto",
|
||||
|
|
@ -612,7 +620,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Rendila più descrittiva!",
|
||||
"suggestion": "Prova ad aggiungere più dettagli come \"Chiamare il dentista per programmare l'appuntamento per la pulizia\" invece di solo \"Chiamare il dentista\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Questo compito era nel tuo piano ieri e non è stato completato.",
|
||||
"overdueYesterday": "Considera di dare priorità a questo compito o di suddividerlo in passaggi più piccoli.",
|
||||
"overdueMultipleDays": "Questo compito è stato posticipato {{count}} volte.",
|
||||
"content": "Contenuto",
|
||||
"noNotes": "Nessun contenuto aggiunto ancora",
|
||||
"subtasks": "Sottocompiti",
|
||||
"noSubtasks": "Nessun sottocompito ancora",
|
||||
"recentActivity": "Attività recente"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Caricamento progetti...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"tasksCompleted": "タスク完了",
|
||||
"metrics": "メトリクス",
|
||||
"setInProgress": "進行中に設定",
|
||||
"setNotStarted": "未開始に設定"
|
||||
"setNotStarted": "未開始に設定",
|
||||
"showSubtasks": "サブタスクを表示",
|
||||
"hideSubtasks": "サブタスクを非表示",
|
||||
"edit": "タスクを編集",
|
||||
"delete": "タスクを削除"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "アクティビティタイムライン",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "ステータス",
|
||||
"priority": "優先度",
|
||||
"dueDate": "期限",
|
||||
"none": "なし"
|
||||
"none": "なし",
|
||||
"recurrenceEndDateChanged": "繰り返し終了日が変更されました",
|
||||
"recurrenceEndDate": "繰り返し終了日"
|
||||
},
|
||||
"justNow": "たった今",
|
||||
"minutesAgo": "{{minutes}}分前",
|
||||
|
|
@ -666,7 +672,15 @@
|
|||
"updated": "タスク",
|
||||
"updatedSuccessfully": "が正常に更新されました!",
|
||||
"deleted": "タスク",
|
||||
"deletedSuccessfully": "が正常に削除されました!"
|
||||
"deletedSuccessfully": "が正常に削除されました!",
|
||||
"overdueAlert": "このタスクは昨日の計画に含まれていましたが、完了していません。",
|
||||
"overdueYesterday": "このタスクを優先するか、より小さなステップに分けることを検討してください。",
|
||||
"overdueMultipleDays": "このタスクは{{count}}回延期されています。",
|
||||
"content": "内容",
|
||||
"noNotes": "まだ内容が追加されていません",
|
||||
"subtasks": "サブタスク",
|
||||
"noSubtasks": "まだサブタスクはありません",
|
||||
"recentActivity": "最近の活動"
|
||||
},
|
||||
"calendar": {
|
||||
"month": "月",
|
||||
|
|
@ -738,7 +752,9 @@
|
|||
"archived": "アーカイブ",
|
||||
"unknown": "不明",
|
||||
"telegramConnected": "Telegramが接続され、ポーリング中",
|
||||
"telegramConnectionProblem": "Telegram接続の問題"
|
||||
"telegramConnectionProblem": "Telegram接続の問題",
|
||||
"completed": "完了",
|
||||
"waiting": "待機中"
|
||||
},
|
||||
"dateIndicators": {
|
||||
"today": "今日",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "오늘 계획에 추가",
|
||||
"removeFromToday": "오늘 계획에서 제거",
|
||||
"setInProgress": "진행 중으로 설정",
|
||||
"setNotStarted": "시작되지 않음으로 설정"
|
||||
"setNotStarted": "시작되지 않음으로 설정",
|
||||
"showSubtasks": "하위 작업 표시",
|
||||
"hideSubtasks": "하위 작업 숨기기",
|
||||
"edit": "작업 편집",
|
||||
"delete": "작업 삭제"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "활동 타임라인",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "상태",
|
||||
"priority": "우선순위",
|
||||
"dueDate": "마감일",
|
||||
"none": "없음"
|
||||
"none": "없음",
|
||||
"recurrenceEndDateChanged": "반복 종료 날짜가 변경되었습니다",
|
||||
"recurrenceEndDate": "반복 종료 날짜"
|
||||
},
|
||||
"justNow": "방금",
|
||||
"minutesAgo": "{{minutes}}분 전",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "보관됨",
|
||||
"unknown": "알 수 없음",
|
||||
"telegramConnected": "텔레그램 연결됨 및 폴링 중",
|
||||
"telegramConnectionProblem": "텔레그램 연결 문제"
|
||||
"telegramConnectionProblem": "텔레그램 연결 문제",
|
||||
"completed": "완료됨",
|
||||
"waiting": "대기 중"
|
||||
},
|
||||
"project": {
|
||||
"name": "프로젝트 이름",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "더 설명적으로 만들어 보세요!",
|
||||
"suggestion": "\"치과에 전화하여 청소 예약하기\"와 같은 더 많은 세부정보를 추가해 보세요. 단순히 \"치과에 전화하기\" 대신에요."
|
||||
}
|
||||
},
|
||||
"overdueAlert": "이 작업은 어제 귀하의 계획에 있었으나 완료되지 않았습니다.",
|
||||
"overdueYesterday": "이 작업의 우선 순위를 정하거나 더 작은 단계로 나누는 것을 고려해 보세요.",
|
||||
"overdueMultipleDays": "이 작업은 {{count}} 번 연기되었습니다.",
|
||||
"content": "내용",
|
||||
"noNotes": "아직 추가된 내용이 없습니다",
|
||||
"subtasks": "하위 작업",
|
||||
"noSubtasks": "아직 하위 작업이 없습니다",
|
||||
"recentActivity": "최근 활동"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "프로젝트 로딩 중...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Toevoegen aan het plan van vandaag",
|
||||
"removeFromToday": "Verwijderen van het plan van vandaag",
|
||||
"setInProgress": "Instellen op in uitvoering",
|
||||
"setNotStarted": "Instellen op niet gestart"
|
||||
"setNotStarted": "Instellen op niet gestart",
|
||||
"showSubtasks": "Toon subtaken",
|
||||
"hideSubtasks": "Verberg subtaken",
|
||||
"edit": "Bewerk taak",
|
||||
"delete": "Verwijder taak"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Activiteit Tijdlijn",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Status",
|
||||
"priority": "Prioriteit",
|
||||
"dueDate": "Vervaldatum",
|
||||
"none": "Geen"
|
||||
"none": "Geen",
|
||||
"recurrenceEndDateChanged": "Einddatum van herhaling gewijzigd",
|
||||
"recurrenceEndDate": "Einddatum van herhaling"
|
||||
},
|
||||
"justNow": "Net nu",
|
||||
"minutesAgo": "{{minutes}}m geleden",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Gearchiveerd",
|
||||
"unknown": "Onbekend",
|
||||
"telegramConnected": "Telegram verbonden en aan het polleren",
|
||||
"telegramConnectionProblem": "Probleem met Telegram-verbinding"
|
||||
"telegramConnectionProblem": "Probleem met Telegram-verbinding",
|
||||
"completed": "Voltooid",
|
||||
"waiting": "Wachten"
|
||||
},
|
||||
"project": {
|
||||
"name": "Projectnaam",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Maak het beschrijvender!",
|
||||
"suggestion": "Probeer meer details toe te voegen zoals \"Bel de tandarts om een afspraak voor een reiniging te plannen\" in plaats van alleen \"Bel de tandarts\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Deze taak stond gisteren in je planning en is niet voltooid.",
|
||||
"overdueYesterday": "Overweeg deze taak prioriteit te geven of deze in kleinere stappen op te splitsen.",
|
||||
"overdueMultipleDays": "Deze taak is {{count}} keer uitgesteld.",
|
||||
"content": "Inhoud",
|
||||
"noNotes": "Nog geen inhoud toegevoegd",
|
||||
"subtasks": "Subtaken",
|
||||
"noSubtasks": "Nog geen subtaken",
|
||||
"recentActivity": "Recente Activiteit"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Projecten laden...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Legg til i dagens plan",
|
||||
"removeFromToday": "Fjern fra dagens plan",
|
||||
"setInProgress": "Sett i gang",
|
||||
"setNotStarted": "Sett til ikke startet"
|
||||
"setNotStarted": "Sett til ikke startet",
|
||||
"showSubtasks": "Vis undertasker",
|
||||
"hideSubtasks": "Skjul undertasker",
|
||||
"edit": "Rediger oppgave",
|
||||
"delete": "Slett oppgave"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Aktivitetslinje",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Status",
|
||||
"priority": "Prioritet",
|
||||
"dueDate": "Forfallsdato",
|
||||
"none": "Ingen"
|
||||
"none": "Ingen",
|
||||
"recurrenceEndDateChanged": "Endringsdato for gjentakelse endret",
|
||||
"recurrenceEndDate": "Endringsdato for gjentakelse"
|
||||
},
|
||||
"justNow": "Akkurat nå",
|
||||
"minutesAgo": "{{minutes}}m siden",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Arkivert",
|
||||
"unknown": "Ukjent",
|
||||
"telegramConnected": "Telegram tilkoblet og henter data",
|
||||
"telegramConnectionProblem": "Telegram tilkoblingsproblem"
|
||||
"telegramConnectionProblem": "Telegram tilkoblingsproblem",
|
||||
"completed": "Fullført",
|
||||
"waiting": "Venter"
|
||||
},
|
||||
"project": {
|
||||
"name": "Prosjektnavn",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Gjør det mer beskrivende!",
|
||||
"suggestion": "Prøv å legge til flere detaljer som \"Ring tannlegen for å avtale rengjøringsavtale\" i stedet for bare \"Ring tannlegen\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Denne oppgaven var i planen din i går og ble ikke fullført.",
|
||||
"overdueYesterday": "Vurder å prioritere denne oppgaven eller dele den opp i mindre trinn.",
|
||||
"overdueMultipleDays": "Denne oppgaven har blitt utsatt {{count}} ganger.",
|
||||
"content": "Innhold",
|
||||
"noNotes": "Ingen innhold lagt til ennå",
|
||||
"subtasks": "Undertasker",
|
||||
"noSubtasks": "Ingen undertasker ennå",
|
||||
"recentActivity": "Nylig aktivitet"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Laster prosjekter...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Dodaj do planu na dzisiaj",
|
||||
"removeFromToday": "Usuń z planu na dzisiaj",
|
||||
"setInProgress": "Ustaw jako w trakcie",
|
||||
"setNotStarted": "Ustaw jako nie rozpoczęte"
|
||||
"setNotStarted": "Ustaw jako nie rozpoczęte",
|
||||
"showSubtasks": "Pokaż podzadania",
|
||||
"hideSubtasks": "Ukryj podzadania",
|
||||
"edit": "Edytuj zadanie",
|
||||
"delete": "Usuń zadanie"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Oś czasu aktywności",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Status",
|
||||
"priority": "Priorytet",
|
||||
"dueDate": "Termin",
|
||||
"none": "Brak"
|
||||
"none": "Brak",
|
||||
"recurrenceEndDateChanged": "Data zakończenia powtarzania została zmieniona",
|
||||
"recurrenceEndDate": "Data zakończenia powtarzania"
|
||||
},
|
||||
"justNow": "Właśnie teraz",
|
||||
"minutesAgo": "{{minutes}}m temu",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Zarchiwizowane",
|
||||
"unknown": "Nieznany",
|
||||
"telegramConnected": "Telegram połączony i sprawdzanie",
|
||||
"telegramConnectionProblem": "Problem z połączeniem Telegram"
|
||||
"telegramConnectionProblem": "Problem z połączeniem Telegram",
|
||||
"completed": "Zakończone",
|
||||
"waiting": "Oczekiwanie"
|
||||
},
|
||||
"project": {
|
||||
"name": "Nazwa projektu",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Uczyń to bardziej opisowym!",
|
||||
"suggestion": "Spróbuj dodać więcej szczegółów, takich jak \"Zadzwoń do dentysty, aby umówić się na wizytę na czyszczenie\" zamiast po prostu \"Zadzwoń do dentysty\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "To zadanie było w Twoim planie wczoraj i nie zostało ukończone.",
|
||||
"overdueYesterday": "Rozważ nadanie priorytetu temu zadaniu lub podzielenie go na mniejsze kroki.",
|
||||
"overdueMultipleDays": "To zadanie zostało odłożone {{count}} razy.",
|
||||
"content": "Treść",
|
||||
"noNotes": "Nie dodano jeszcze treści",
|
||||
"subtasks": "Podzadania",
|
||||
"noSubtasks": "Brak podzadań",
|
||||
"recentActivity": "Ostatnia aktywność"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Ładowanie projektów...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Adicionar ao plano de hoje",
|
||||
"removeFromToday": "Remover do plano de hoje",
|
||||
"setInProgress": "Definir como em progresso",
|
||||
"setNotStarted": "Definir como não iniciado"
|
||||
"setNotStarted": "Definir como não iniciado",
|
||||
"showSubtasks": "Mostrar subtarefas",
|
||||
"hideSubtasks": "Ocultar subtarefas",
|
||||
"edit": "Editar tarefa",
|
||||
"delete": "Excluir tarefa"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Linha do Tempo de Atividades",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Status",
|
||||
"priority": "Prioridade",
|
||||
"dueDate": "Data de vencimento",
|
||||
"none": "Nenhum"
|
||||
"none": "Nenhum",
|
||||
"recurrenceEndDateChanged": "Data de término da recorrência alterada",
|
||||
"recurrenceEndDate": "Data de término da recorrência"
|
||||
},
|
||||
"justNow": "Agora mesmo",
|
||||
"minutesAgo": "{{minutes}}m atrás",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Arquivado",
|
||||
"unknown": "Desconhecido",
|
||||
"telegramConnected": "Telegram conectado e recebendo dados",
|
||||
"telegramConnectionProblem": "Problema de conexão com o Telegram"
|
||||
"telegramConnectionProblem": "Problema de conexão com o Telegram",
|
||||
"completed": "Concluído",
|
||||
"waiting": "Aguardando"
|
||||
},
|
||||
"project": {
|
||||
"name": "Nome do Projeto",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Torne-o mais descritivo!",
|
||||
"suggestion": "Tente adicionar mais detalhes como \"Ligar para o dentista para agendar a limpeza\" em vez de apenas \"Ligar para o dentista\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Esta tarefa estava no seu plano ontem e não foi concluída.",
|
||||
"overdueYesterday": "Considere priorizar esta tarefa ou dividi-la em etapas menores.",
|
||||
"overdueMultipleDays": "Esta tarefa foi adiada {{count}} vezes.",
|
||||
"content": "Conteúdo",
|
||||
"noNotes": "Nenhum conteúdo adicionado ainda",
|
||||
"subtasks": "Subtarefas",
|
||||
"noSubtasks": "Nenhuma subtarefa ainda",
|
||||
"recentActivity": "Atividade Recente"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Carregando projetos...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Adaugă la planul de astăzi",
|
||||
"removeFromToday": "Elimină din planul de astăzi",
|
||||
"setInProgress": "Setează în desfășurare",
|
||||
"setNotStarted": "Setează ca neluat în lucru"
|
||||
"setNotStarted": "Setează ca neluat în lucru",
|
||||
"showSubtasks": "Arată subtask-uri",
|
||||
"hideSubtasks": "Ascunde subtask-uri",
|
||||
"edit": "Editează task-ul",
|
||||
"delete": "Șterge task-ul"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Cronologia activităților",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Status",
|
||||
"priority": "Prioritate",
|
||||
"dueDate": "Data limită",
|
||||
"none": "Niciunul"
|
||||
"none": "Niciunul",
|
||||
"recurrenceEndDateChanged": "Data de încheiere a recurenței a fost modificată",
|
||||
"recurrenceEndDate": "Data de încheiere a recurenței"
|
||||
},
|
||||
"justNow": "Chiar acum",
|
||||
"minutesAgo": "{{minutes}}m în urmă",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Arhivat",
|
||||
"unknown": "Necunoscut",
|
||||
"telegramConnected": "Telegram conectat și polling",
|
||||
"telegramConnectionProblem": "Problemă de conectare Telegram"
|
||||
"telegramConnectionProblem": "Problemă de conectare Telegram",
|
||||
"completed": "Finalizat",
|
||||
"waiting": "În așteptare"
|
||||
},
|
||||
"project": {
|
||||
"name": "Numele Proiectului",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Faceți-l mai descriptiv!",
|
||||
"suggestion": "Încercați să adăugați mai multe detalii, cum ar fi \"Sunați dentistul pentru a programa o întâlnire pentru curățare\" în loc de doar \"Sunați dentistul\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Această sarcină a fost în planul tău ieri și nu a fost finalizată.",
|
||||
"overdueYesterday": "Ia în considerare prioritizarea acestei sarcini sau împărțirea ei în pași mai mici.",
|
||||
"overdueMultipleDays": "Această sarcină a fost amânată de {{count}} ori.",
|
||||
"content": "Conținut",
|
||||
"noNotes": "Nu a fost adăugat încă niciun conținut",
|
||||
"subtasks": "Subsarci",
|
||||
"noSubtasks": "Nu există subsarci încă",
|
||||
"recentActivity": "Activitate recentă"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Se încarcă proiectele...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Добавить в план на сегодня",
|
||||
"removeFromToday": "Удалить из плана на сегодня",
|
||||
"setInProgress": "Установить в процессе",
|
||||
"setNotStarted": "Установить как не начатую"
|
||||
"setNotStarted": "Установить как не начатую",
|
||||
"showSubtasks": "Показать подзадачи",
|
||||
"hideSubtasks": "Скрыть подзадачи",
|
||||
"edit": "Редактировать задачу",
|
||||
"delete": "Удалить задачу"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Хронология активности",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Статус",
|
||||
"priority": "Приоритет",
|
||||
"dueDate": "Срок выполнения",
|
||||
"none": "Нет"
|
||||
"none": "Нет",
|
||||
"recurrenceEndDateChanged": "Дата окончания повторения изменена",
|
||||
"recurrenceEndDate": "Дата окончания повторения"
|
||||
},
|
||||
"justNow": "Только что",
|
||||
"minutesAgo": "{{minutes}}м назад",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Архивировано",
|
||||
"unknown": "Неизвестно",
|
||||
"telegramConnected": "Telegram подключен и опрашивает",
|
||||
"telegramConnectionProblem": "Проблема с подключением Telegram"
|
||||
"telegramConnectionProblem": "Проблема с подключением Telegram",
|
||||
"completed": "Завершено",
|
||||
"waiting": "Ожидание"
|
||||
},
|
||||
"project": {
|
||||
"name": "Название проекта",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Сделайте это более описательным!",
|
||||
"suggestion": "Попробуйте добавить больше деталей, например, \"Позвонить стоматологу, чтобы записаться на чистку\" вместо просто \"Позвонить стоматологу\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Эта задача была в вашем плане вчера и не была выполнена.",
|
||||
"overdueYesterday": "Рассмотрите возможность приоритизировать эту задачу или разбить её на более мелкие шаги.",
|
||||
"overdueMultipleDays": "Эта задача была отложена {{count}} раз.",
|
||||
"content": "Содержание",
|
||||
"noNotes": "Содержимое ещё не добавлено",
|
||||
"subtasks": "Подзадачи",
|
||||
"noSubtasks": "Подзадач пока нет",
|
||||
"recentActivity": "Недавняя активность"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Загрузка проектов...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Dodaj v današnji načrt",
|
||||
"removeFromToday": "Odstrani iz današnjega načrta",
|
||||
"setInProgress": "Nastavi v poteku",
|
||||
"setNotStarted": "Nastavi na ni začeto"
|
||||
"setNotStarted": "Nastavi na ni začeto",
|
||||
"showSubtasks": "Prikaži podnaloge",
|
||||
"hideSubtasks": "Skrij podnaloge",
|
||||
"edit": "Uredi nalogo",
|
||||
"delete": "Izbriši nalogo"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Časovnica aktivnosti",
|
||||
|
|
@ -141,7 +145,9 @@
|
|||
"status": "Status",
|
||||
"priority": "Prioriteta",
|
||||
"dueDate": "Rok",
|
||||
"none": "Nič"
|
||||
"none": "Nič",
|
||||
"recurrenceEndDateChanged": "Datum konca ponavljanja se je spremenil",
|
||||
"recurrenceEndDate": "Datum konca ponavljanja"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Arhivirano",
|
||||
"unknown": "Neznano",
|
||||
"telegramConnected": "Telegram povezan in preverja",
|
||||
"telegramConnectionProblem": "Težava s povezavo Telegram"
|
||||
"telegramConnectionProblem": "Težava s povezavo Telegram",
|
||||
"completed": "Dokončano",
|
||||
"waiting": "Čaka"
|
||||
},
|
||||
"project": {
|
||||
"name": "Ime projekta",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Naredite ga bolj opisnega!",
|
||||
"suggestion": "Poskusite dodati več podrobnosti, kot je \"Pokličite zobozdravnika, da se dogovorite za termin čiščenja\" namesto samo \"Pokličite zobozdravnika\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Ta naloga je bila v vašem načrtu včeraj in ni bila dokončana.",
|
||||
"overdueYesterday": "Razmislite o prioriteti te naloge ali jo razdelite na manjše korake.",
|
||||
"overdueMultipleDays": "Ta naloga je bila prestavljena {{count}}-krat.",
|
||||
"content": "Vsebina",
|
||||
"noNotes": "Še ni dodane vsebine",
|
||||
"subtasks": "Podnaloge",
|
||||
"noSubtasks": "Še ni podnalog",
|
||||
"recentActivity": "Nedavna dejavnost"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Nalagam projekte...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Lägg till i dagens plan",
|
||||
"removeFromToday": "Ta bort från dagens plan",
|
||||
"setInProgress": "Sätt i pågående",
|
||||
"setNotStarted": "Sätt till ej påbörjad"
|
||||
"setNotStarted": "Sätt till ej påbörjad",
|
||||
"showSubtasks": "Visa deluppgifter",
|
||||
"hideSubtasks": "Dölj deluppgifter",
|
||||
"edit": "Redigera uppgift",
|
||||
"delete": "Ta bort uppgift"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Aktivitetslinje",
|
||||
|
|
@ -141,7 +145,9 @@
|
|||
"status": "Status",
|
||||
"priority": "Prioritet",
|
||||
"dueDate": "Förfallodatum",
|
||||
"none": "Inga"
|
||||
"none": "Inga",
|
||||
"recurrenceEndDateChanged": "Återkommande slutdatum ändrat",
|
||||
"recurrenceEndDate": "Återkommande slutdatum"
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Arkiverad",
|
||||
"unknown": "Okänd",
|
||||
"telegramConnected": "Telegram ansluten och polling",
|
||||
"telegramConnectionProblem": "Problem med Telegram-anslutning"
|
||||
"telegramConnectionProblem": "Problem med Telegram-anslutning",
|
||||
"completed": "Slutförd",
|
||||
"waiting": "Väntar"
|
||||
},
|
||||
"project": {
|
||||
"name": "Projektets namn",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Gör den mer beskrivande!",
|
||||
"suggestion": "Försök att lägga till mer information som \"Ring tandläkaren för att boka tid för rengöring\" istället för bara \"Ring tandläkaren\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Denna uppgift var i din plan igår och blev inte slutförd.",
|
||||
"overdueYesterday": "Överväg att prioritera denna uppgift eller dela upp den i mindre steg.",
|
||||
"overdueMultipleDays": "Denna uppgift har blivit uppskjuten {{count}} gånger.",
|
||||
"content": "Innehåll",
|
||||
"noNotes": "Inga anteckningar tillagda än",
|
||||
"subtasks": "Deluppgifter",
|
||||
"noSubtasks": "Inga deluppgifter än",
|
||||
"recentActivity": "Senaste aktivitet"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Laddar projekt...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Bugün planına ekle",
|
||||
"removeFromToday": "Bugün planından çıkar",
|
||||
"setInProgress": "Devam ediyor olarak ayarla",
|
||||
"setNotStarted": "Başlamadı olarak ayarla"
|
||||
"setNotStarted": "Başlamadı olarak ayarla",
|
||||
"showSubtasks": "Alt görevleri göster",
|
||||
"hideSubtasks": "Alt görevleri gizle",
|
||||
"edit": "Görevi düzenle",
|
||||
"delete": "Görevi sil"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Etkinlik Zaman Çizelgesi",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Durum",
|
||||
"priority": "Öncelik",
|
||||
"dueDate": "Son tarih",
|
||||
"none": "Yok"
|
||||
"none": "Yok",
|
||||
"recurrenceEndDateChanged": "Tekrar son tarihi değiştirildi",
|
||||
"recurrenceEndDate": "Tekrar son tarihi"
|
||||
},
|
||||
"justNow": "Şu anda",
|
||||
"minutesAgo": "{{minutes}}d önce",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Arşivlendi",
|
||||
"unknown": "Bilinmiyor",
|
||||
"telegramConnected": "Telegram bağlı ve sorgulama yapılıyor",
|
||||
"telegramConnectionProblem": "Telegram bağlantı sorunu"
|
||||
"telegramConnectionProblem": "Telegram bağlantı sorunu",
|
||||
"completed": "Tamamlandı",
|
||||
"waiting": "Bekliyor"
|
||||
},
|
||||
"project": {
|
||||
"name": "Proje Adı",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Daha açıklayıcı hale getirin!",
|
||||
"suggestion": "\"Temizlik randevusu ayarlamak için dişçiyi ara\" gibi daha fazla detay eklemeyi deneyin, sadece \"Dişçiyi ara\" demek yerine"
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Bu görev dün planınızdaydı ve tamamlanmadı.",
|
||||
"overdueYesterday": "Bu görevi önceliklendirmeyi veya daha küçük adımlara ayırmayı düşünün.",
|
||||
"overdueMultipleDays": "Bu görev {{count}} kez ertelendi.",
|
||||
"content": "İçerik",
|
||||
"noNotes": "Henüz içerik eklenmedi",
|
||||
"subtasks": "Alt görevler",
|
||||
"noSubtasks": "Henüz alt görev yok",
|
||||
"recentActivity": "Son Aktivite"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Projeler yükleniyor...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"tasksCompleted": "завдання виконані",
|
||||
"metrics": "Метрики",
|
||||
"setInProgress": "Встановити в процесі",
|
||||
"setNotStarted": "Встановити як не розпочате"
|
||||
"setNotStarted": "Встановити як не розпочате",
|
||||
"showSubtasks": "Показати підзадачі",
|
||||
"hideSubtasks": "Сховати підзадачі",
|
||||
"edit": "Редагувати задачу",
|
||||
"delete": "Видалити задачу"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Хронологія Активності",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Статус",
|
||||
"priority": "Пріоритет",
|
||||
"dueDate": "Термін",
|
||||
"none": "Немає"
|
||||
"none": "Немає",
|
||||
"recurrenceEndDateChanged": "Дата закінчення повторення змінена",
|
||||
"recurrenceEndDate": "Дата закінчення повторення"
|
||||
},
|
||||
"justNow": "Щойно",
|
||||
"minutesAgo": "{{minutes}}м тому",
|
||||
|
|
@ -576,7 +582,15 @@
|
|||
"updated": "Завдання",
|
||||
"updatedSuccessfully": "успішно оновлено!",
|
||||
"deleted": "Завдання",
|
||||
"deletedSuccessfully": "успішно видалено!"
|
||||
"deletedSuccessfully": "успішно видалено!",
|
||||
"overdueAlert": "Це завдання було у вашому плані вчора і не було завершено.",
|
||||
"overdueYesterday": "Розгляньте можливість пріоритизувати це завдання або розбити його на менші етапи.",
|
||||
"overdueMultipleDays": "Це завдання було відкладено {{count}} разів.",
|
||||
"content": "Зміст",
|
||||
"noNotes": "Ще не додано жодного змісту",
|
||||
"subtasks": "Підзавдання",
|
||||
"noSubtasks": "Ще немає підзавдань",
|
||||
"recentActivity": "Остання активність"
|
||||
},
|
||||
"calendar": {
|
||||
"month": "Місяць",
|
||||
|
|
@ -691,7 +705,9 @@
|
|||
"archived": "Архівовано",
|
||||
"unknown": "Невідомо",
|
||||
"telegramConnected": "Telegram підключено та опитування",
|
||||
"telegramConnectionProblem": "Проблема з підключенням Telegram"
|
||||
"telegramConnectionProblem": "Проблема з підключенням Telegram",
|
||||
"completed": "Завершено",
|
||||
"waiting": "Очікування"
|
||||
},
|
||||
"dateIndicators": {
|
||||
"today": "СЬОГОДНІ",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "Thêm vào kế hoạch hôm nay",
|
||||
"removeFromToday": "Gỡ bỏ khỏi kế hoạch hôm nay",
|
||||
"setInProgress": "Đặt thành đang tiến hành",
|
||||
"setNotStarted": "Đặt thành chưa bắt đầu"
|
||||
"setNotStarted": "Đặt thành chưa bắt đầu",
|
||||
"showSubtasks": "Hiện các công việc con",
|
||||
"hideSubtasks": "Ẩn các công việc con",
|
||||
"edit": "Chỉnh sửa công việc",
|
||||
"delete": "Xóa công việc"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "Dòng Thời Gian Hoạt Động",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "Trạng thái",
|
||||
"priority": "Độ ưu tiên",
|
||||
"dueDate": "Ngày đến hạn",
|
||||
"none": "Không có"
|
||||
"none": "Không có",
|
||||
"recurrenceEndDateChanged": "Ngày kết thúc chu kỳ đã thay đổi",
|
||||
"recurrenceEndDate": "Ngày kết thúc chu kỳ"
|
||||
},
|
||||
"justNow": "Vừa xong",
|
||||
"minutesAgo": "{{minutes}} phút trước",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "Đã lưu trữ",
|
||||
"unknown": "Không xác định",
|
||||
"telegramConnected": "Telegram đã kết nối và đang kiểm tra",
|
||||
"telegramConnectionProblem": "Vấn đề kết nối Telegram"
|
||||
"telegramConnectionProblem": "Vấn đề kết nối Telegram",
|
||||
"completed": "Đã hoàn thành",
|
||||
"waiting": "Đang chờ"
|
||||
},
|
||||
"project": {
|
||||
"name": "Tên Dự Án",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "Hãy làm cho nó mô tả hơn!",
|
||||
"suggestion": "Cố gắng thêm nhiều chi tiết như \"Gọi nha sĩ để đặt lịch hẹn làm sạch\" thay vì chỉ \"Gọi nha sĩ\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "Nhiệm vụ này đã có trong kế hoạch của bạn hôm qua và chưa được hoàn thành.",
|
||||
"overdueYesterday": "Hãy xem xét ưu tiên nhiệm vụ này hoặc chia nhỏ nó thành các bước nhỏ hơn.",
|
||||
"overdueMultipleDays": "Nhiệm vụ này đã bị hoãn lại {{count}} lần.",
|
||||
"content": "Nội dung",
|
||||
"noNotes": "Chưa có nội dung nào được thêm vào",
|
||||
"subtasks": "Công việc con",
|
||||
"noSubtasks": "Chưa có công việc con nào",
|
||||
"recentActivity": "Hoạt động gần đây"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "Đang tải dự án...",
|
||||
|
|
|
|||
|
|
@ -111,7 +111,11 @@
|
|||
"addToToday": "添加到今天计划",
|
||||
"removeFromToday": "从今天计划中移除",
|
||||
"setInProgress": "设置为进行中",
|
||||
"setNotStarted": "设置为未开始"
|
||||
"setNotStarted": "设置为未开始",
|
||||
"showSubtasks": "显示子任务",
|
||||
"hideSubtasks": "隐藏子任务",
|
||||
"edit": "编辑任务",
|
||||
"delete": "删除任务"
|
||||
},
|
||||
"timeline": {
|
||||
"activityTimeline": "活动时间线",
|
||||
|
|
@ -134,7 +138,9 @@
|
|||
"status": "状态",
|
||||
"priority": "优先级",
|
||||
"dueDate": "截止日期",
|
||||
"none": "无"
|
||||
"none": "无",
|
||||
"recurrenceEndDateChanged": "重复结束日期已更改",
|
||||
"recurrenceEndDate": "重复结束日期"
|
||||
},
|
||||
"justNow": "刚刚",
|
||||
"minutesAgo": "{{minutes}}分钟前",
|
||||
|
|
@ -464,7 +470,9 @@
|
|||
"archived": "已归档",
|
||||
"unknown": "未知",
|
||||
"telegramConnected": "Telegram 已连接并正在轮询",
|
||||
"telegramConnectionProblem": "Telegram 连接问题"
|
||||
"telegramConnectionProblem": "Telegram 连接问题",
|
||||
"completed": "已完成",
|
||||
"waiting": "等待中"
|
||||
},
|
||||
"project": {
|
||||
"name": "项目名称",
|
||||
|
|
@ -611,7 +619,15 @@
|
|||
"nameHelper": {
|
||||
"title": "让它更具描述性!",
|
||||
"suggestion": "尝试添加更多细节,例如 \"打电话给牙医安排清洁预约\" 而不仅仅是 \"打电话给牙医\""
|
||||
}
|
||||
},
|
||||
"overdueAlert": "此任务昨天在您的计划中,但未完成。",
|
||||
"overdueYesterday": "考虑优先处理此任务或将其拆分为更小的步骤。",
|
||||
"overdueMultipleDays": "此任务已推迟 {{count }} 次。",
|
||||
"content": "内容",
|
||||
"noNotes": "尚未添加内容",
|
||||
"subtasks": "子任务",
|
||||
"noSubtasks": "尚无子任务",
|
||||
"recentActivity": "最近活动"
|
||||
},
|
||||
"projects": {
|
||||
"loading": "加载项目中...",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue