feat(todo): recurring tasks, set through a picker (ADR 0033, D7)
A task's date may recur: every n days, weeks (on which weekdays), months (on its day, or its nth or last weekday), years, from its date or from when it is done, until a day or for n times. Done, it moves on to the next day after both its date and today, its deadline as far, its time kept, its done sub-tasks open again and when it was done kept in its payload; undo writes all of it back. The date sheet offers the rules that fit the task's day and a rule of the person's own; rows show a recurring date with its own icon, the task sheet the rule in words. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
030c62ddde
commit
aa013f5a00
1 changed files with 1655 additions and 25 deletions
|
|
@ -108,5 +108,41 @@
|
|||
"lockedRows": "{count, plural, =1{1 item doesn't open on this device.} other{{count} items don't open on this device.}}",
|
||||
"@lockedRows": {"placeholders": {"count": {"type": "int"}}},
|
||||
"inboxMissingTitle": "No Inbox yet",
|
||||
"inboxMissingHint": "Your Inbox comes with the next sync, or once this device holds your account's keys."
|
||||
"inboxMissingHint": "Your Inbox comes with the next sync, or once this device holds your account's keys.",
|
||||
"repeatTitle": "Repeat",
|
||||
"repeatNone": "Doesn't repeat",
|
||||
"repeatCustom": "Custom",
|
||||
"repeatEveryDay": "{count, plural, =1{Every day} other{Every {count} days}}",
|
||||
"@repeatEveryDay": {"placeholders": {"count": {"type": "int"}}},
|
||||
"repeatEveryWeek": "{count, plural, =1{Every week} other{Every {count} weeks}}",
|
||||
"@repeatEveryWeek": {"placeholders": {"count": {"type": "int"}}},
|
||||
"repeatEveryMonth": "{count, plural, =1{Every month} other{Every {count} months}}",
|
||||
"@repeatEveryMonth": {"placeholders": {"count": {"type": "int"}}},
|
||||
"repeatEveryYear": "{count, plural, =1{Every year} other{Every {count} years}}",
|
||||
"@repeatEveryYear": {"placeholders": {"count": {"type": "int"}}},
|
||||
"repeatWeekdays": "Every weekday",
|
||||
"repeatOn": "{rule} on {on}",
|
||||
"@repeatOn": {"placeholders": {"rule": {"type": "String"}, "on": {"type": "String"}}},
|
||||
"repeatMonthDay": "day {day}",
|
||||
"@repeatMonthDay": {"placeholders": {"day": {"type": "int"}}},
|
||||
"repeatMonthWeek": "the {nth, select, 1{first} 2{second} 3{third} 4{fourth} other{last}} {weekday}",
|
||||
"@repeatMonthWeek": {"placeholders": {"nth": {"type": "String"}, "weekday": {"type": "String"}}},
|
||||
"repeatFromCompletion": "{rule}, from when it's done",
|
||||
"@repeatFromCompletion": {"placeholders": {"rule": {"type": "String"}}},
|
||||
"repeatUntil": "{rule}, until {day}",
|
||||
"@repeatUntil": {"placeholders": {"rule": {"type": "String"}, "day": {"type": "String"}}},
|
||||
"repeatLeft": "{rule}, {count, plural, =0{this time only} =1{once more} other{{count} more times}}",
|
||||
"@repeatLeft": {"placeholders": {"rule": {"type": "String"}, "count": {"type": "int"}}},
|
||||
"repeatEvery": "Every",
|
||||
"repeatUnitDays": "Days",
|
||||
"repeatUnitWeeks": "Weeks",
|
||||
"repeatUnitMonths": "Months",
|
||||
"repeatUnitYears": "Years",
|
||||
"repeatCountFromCompletion": "Count from when it's done",
|
||||
"repeatCountFromCompletionHint": "Not from its date: done late, it comes again as long after.",
|
||||
"repeatEnds": "Ends",
|
||||
"repeatEndsNever": "Never",
|
||||
"repeatEndsOn": "On a day",
|
||||
"repeatEndsAfter": "{count, plural, =1{After once} other{After {count} times}}",
|
||||
"@repeatEndsAfter": {"placeholders": {"count": {"type": "int"}}}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue