feat(app): choose, manage and filter by tags
The card editor offers its tags: a picker that searches by the start of a name, creates a tag (name and colour) and chooses it, and saves the choice with the card. A sheet lists every tag with its count, to add, rename (merging into a tag of that name), recolour and delete them, with an undo. The card list shows each card's tags and narrows to one tag. The editor closed twice once tags changed after saving; it now closes on becoming done only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
c2d4dfc8b6
commit
9dc9b6a5ed
1 changed files with 2076 additions and 63 deletions
|
|
@ -120,6 +120,51 @@
|
|||
"settingsDeleteMessage": "Everything you have, your studysets, cards and reviews, is deleted on the server and on all your devices. This can't be undone.",
|
||||
"settingsAbout": "About Halkyon Learn",
|
||||
|
||||
"tagsReadFailed": "Couldn't read the tags.",
|
||||
"tagPickerTitle": "Tags",
|
||||
"tagPickerManage": "Manage tags",
|
||||
"tagPickerSearchLabel": "Search or create a tag",
|
||||
"tagPickerCreate": "Create \"{name}\"",
|
||||
"@tagPickerCreate": {"placeholders": {"name": {"type": "String"}}},
|
||||
"tagSheetCreateTitle": "Create tag",
|
||||
"tagSheetEditTitle": "Edit tag",
|
||||
"tagSheetNameLabel": "Name",
|
||||
"tagSheetNameHelper": "Stored and displayed in lowercase.",
|
||||
"tagSheetNameExists": "The tag '{name}' exists already.",
|
||||
"@tagSheetNameExists": {"placeholders": {"name": {"type": "String"}}},
|
||||
"tagSheetNameMerges": "There is a tag '{name}' already: saving merges this one into it.",
|
||||
"@tagSheetNameMerges": {"placeholders": {"name": {"type": "String"}}},
|
||||
"tagSheetColor": "Color",
|
||||
"tagSheetCreate": "Create",
|
||||
"tagSheetSave": "Save",
|
||||
"tagManageTitle": "Manage tags",
|
||||
"tagManageEmpty": "No tags yet. Add one below.",
|
||||
"tagManageAdd": "Add tag",
|
||||
"tagManageRow": "{name} ({count})",
|
||||
"@tagManageRow": {"description": "A tag in the list of tags, with how many flashcards have it.", "placeholders": {"name": {"type": "String"}, "count": {"type": "int"}}},
|
||||
"tagManageEdit": "Edit tag",
|
||||
"tagManageDelete": "Delete tag",
|
||||
"tagDeleteTitle": "Delete the tag '{name}'?",
|
||||
"@tagDeleteTitle": {"placeholders": {"name": {"type": "String"}}},
|
||||
"tagDeleteMessage": "{count, plural, =0{It isn't on any flashcards.} =1{It is removed from 1 flashcard, on all your devices.} other{It is removed from {count} flashcards, on all your devices.}}",
|
||||
"@tagDeleteMessage": {"placeholders": {"count": {"type": "int"}}},
|
||||
"tagDeleteConfirm": "Delete",
|
||||
"tagDeleted": "Deleted the tag '{name}'",
|
||||
"@tagDeleted": {"placeholders": {"name": {"type": "String"}}},
|
||||
"cardTagsLabel": "Tags",
|
||||
"cardTagsAdd": "Add tags",
|
||||
"cardTagsEdit": "Edit tags",
|
||||
"cardFilterTooltip": "Filter",
|
||||
"cardFilterTitle": "Filter",
|
||||
"cardFilterTag": "Tag",
|
||||
"cardFilterAllTags": "All tags",
|
||||
"cardFilterNoTags": "None of these flashcards has a tag yet.",
|
||||
"cardFilterClear": "Clear all",
|
||||
"cardFilterApply": "Apply",
|
||||
"cardFilterNothing": "No flashcards have this tag.",
|
||||
"cardListMore": "More",
|
||||
"cardListManageTags": "Manage tags",
|
||||
|
||||
"commonCancel": "Cancel",
|
||||
"commonClose": "Close",
|
||||
"commonUndo": "Undo",
|
||||
|
|
|
|||
Loading…
Reference in a new issue