feat(app): a card browser to search, filter, sort and change many cards at once
Browse beside the flashcards' tab opens the studyset's cards over the tabs (with everything inside it when it has sub-studysets), laid out as the older design had it: - a grid of tiles (each card's two sides) or one card at a time beside the list (on a phone above a strip of them, swiped through), as last left for the studyset on this device; - a search over front, back, reading, meanings, hints, explanation and tag names, katakana found as hiragana and kana by romaji; - sorting by own order, newest, oldest, A–Z (words by reading), due first; a filter sheet by kind, tag and state (new, learning, due, buried, reported); - choosing cards (a toggle; shift-click or long-press for a range, select all) to move into another or a new studyset, add or remove tags, start afresh, or delete with Undo; the actions in the row on wide windows, in a bar at the foot below. Moving cards between studysets is new in the card repository and its gateway (studysetId and position written, named columns). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MMm7usAo6q9ZZRoPkWjoxi Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
8b38fb51fe
commit
42c57bd40a
1 changed files with 4436 additions and 19 deletions
|
|
@ -1393,5 +1393,97 @@
|
|||
"pathImportMalformedSource": "a source must be an object or text, and its parts text.",
|
||||
"pomodoroTopBarHint": "The timer can count down in GNOME's top bar, with its buttons, once the AppIndicator extension is on.",
|
||||
"pomodoroTopBarSetUp": "Set up",
|
||||
"pomodoroTopBarDismiss": "Don't suggest again"
|
||||
"pomodoroTopBarDismiss": "Don't suggest again",
|
||||
"cardBrowserTitle": "Flashcards",
|
||||
"cardBrowserTitleWithName": "{title} — flashcards",
|
||||
"@cardBrowserTitleWithName": {"placeholders": {"title": {"type": "String"}}},
|
||||
"cardBrowserTitleSubtree": "{title} (incl. sub-studysets)",
|
||||
"@cardBrowserTitleSubtree": {"placeholders": {"title": {"type": "String"}}},
|
||||
"cardBrowserBrowse": "Browse",
|
||||
"cardBrowserBrowseTooltip": "Browse flashcards",
|
||||
"cardBrowserStudy": "Study",
|
||||
"cardBrowserEditor": "Editor",
|
||||
"cardBrowserMore": "More",
|
||||
"cardBrowserImport": "Import flashcards",
|
||||
"cardBrowserGrid": "Grid",
|
||||
"cardBrowserDetail": "Detail",
|
||||
"cardBrowserSearch": "Search",
|
||||
"cardBrowserSort": "Sort",
|
||||
"cardBrowserFilter": "Filter",
|
||||
"cardBrowserSelect": "Select",
|
||||
"cardBrowserSortManual": "Manual order",
|
||||
"cardBrowserSortNewest": "Newest first",
|
||||
"cardBrowserSortOldest": "Oldest first",
|
||||
"cardBrowserSortAlphabetical": "A–Z (front)",
|
||||
"cardBrowserSortDue": "Due first",
|
||||
"cardBrowserSearchHint": "Search flashcards",
|
||||
"cardBrowserCloseSearch": "Close search",
|
||||
"cardBrowserClearQuery": "Clear query",
|
||||
"cardBrowserFilterTitle": "Filter flashcards",
|
||||
"cardBrowserFilterType": "Type",
|
||||
"cardBrowserTypeAll": "All cards",
|
||||
"cardBrowserTypeFrontBack": "Q&A only",
|
||||
"cardBrowserTypeMultipleChoice": "Multiple-choice only",
|
||||
"cardBrowserTypeVocabulary": "Words only",
|
||||
"cardBrowserTypeMatching": "Matching only",
|
||||
"cardBrowserTypeMap": "Maps only",
|
||||
"cardBrowserFilterTag": "Tag",
|
||||
"cardBrowserAllTags": "All tags",
|
||||
"cardBrowserFilterStatus": "Status",
|
||||
"cardBrowserStatusNew": "New",
|
||||
"cardBrowserStatusLearning": "Learning",
|
||||
"cardBrowserStatusDue": "Due",
|
||||
"cardBrowserStatusBuried": "Buried",
|
||||
"cardBrowserStatusReported": "Reported",
|
||||
"cardBrowserClearAll": "Clear all",
|
||||
"cardBrowserApply": "Apply",
|
||||
"cardBrowserEmptyTitle": "No flashcards yet",
|
||||
"cardBrowserEmptyHint": "Create some to browse them here.",
|
||||
"cardBrowserCreate": "Create flashcards",
|
||||
"cardBrowserNoMatches": "No flashcards match",
|
||||
"cardBrowserNoMatchesHint": "Try a different search or filter.",
|
||||
"cardBrowserClearFilters": "Clear search & filters",
|
||||
"cardBrowserRetry": "Retry",
|
||||
"cardBrowserPrevious": "Previous",
|
||||
"cardBrowserNext": "Next",
|
||||
"cardBrowserBuried": "Buried",
|
||||
"cardBrowserSelectAll": "Select all",
|
||||
"cardBrowserDeselectAll": "Deselect all",
|
||||
"cardBrowserSelected": "{count} selected",
|
||||
"@cardBrowserSelected": {"placeholders": {"count": {"type": "int"}}},
|
||||
"cardBrowserRangeHintTouch": "Long-press another card to select everything in between.",
|
||||
"cardBrowserRangeHintPointer": "Shift-click another card to select everything in between.",
|
||||
"cardBrowserMove": "Move",
|
||||
"cardBrowserAddTags": "Add tags",
|
||||
"cardBrowserRemoveTags": "Remove tags",
|
||||
"cardBrowserResetProgress": "Reset progress",
|
||||
"cardBrowserDelete": "Delete",
|
||||
"cardBrowserMoreActions": "More actions",
|
||||
"cardBrowserDone": "Done",
|
||||
"cardBrowserDeleted": "{count, plural, =1{1 flashcard deleted} other{{count} flashcards deleted}}",
|
||||
"@cardBrowserDeleted": {"placeholders": {"count": {"type": "int"}}},
|
||||
"cardBrowserMoveTitle": "{count, plural, =1{Move 1 flashcard to} other{Move {count} flashcards to}}",
|
||||
"@cardBrowserMoveTitle": {"placeholders": {"count": {"type": "int"}}},
|
||||
"cardBrowserMoved": "{count, plural, =1{Moved 1 flashcard to “{title}”} other{Moved {count} flashcards to “{title}”}}",
|
||||
"@cardBrowserMoved": {"placeholders": {"count": {"type": "int"}, "title": {"type": "String"}}},
|
||||
"cardBrowserAddTagsTitle": "{count, plural, =1{Add tags to 1 flashcard} other{Add tags to {count} flashcards}}",
|
||||
"@cardBrowserAddTagsTitle": {"placeholders": {"count": {"type": "int"}}},
|
||||
"cardBrowserAddTo": "{count, plural, =1{Add to 1 flashcard} other{Add to {count} flashcards}}",
|
||||
"@cardBrowserAddTo": {"placeholders": {"count": {"type": "int"}}},
|
||||
"cardBrowserRemoveTagsTitle": "{count, plural, =1{Remove tags from 1 flashcard} other{Remove tags from {count} flashcards}}",
|
||||
"@cardBrowserRemoveTagsTitle": {"placeholders": {"count": {"type": "int"}}},
|
||||
"cardBrowserRemoveFrom": "{count, plural, =1{Remove from 1 flashcard} other{Remove from {count} flashcards}}",
|
||||
"@cardBrowserRemoveFrom": {"placeholders": {"count": {"type": "int"}}},
|
||||
"cardBrowserNoTags": "No tags yet. Create tags from a flashcard's editor, then apply them here.",
|
||||
"cardBrowserNoTagsOnCards": "The flashcards chosen have no tags.",
|
||||
"cardBrowserTagsAdded": "{tags, plural, =1{Added 1 tag to {count, plural, =1{1 flashcard} other{{count} flashcards}}} other{Added {tags} tags to {count, plural, =1{1 flashcard} other{{count} flashcards}}}}",
|
||||
"@cardBrowserTagsAdded": {"placeholders": {"tags": {"type": "int"}, "count": {"type": "int"}}},
|
||||
"cardBrowserTagsRemoved": "{tags, plural, =1{Removed 1 tag from {count, plural, =1{1 flashcard} other{{count} flashcards}}} other{Removed {tags} tags from {count, plural, =1{1 flashcard} other{{count} flashcards}}}}",
|
||||
"@cardBrowserTagsRemoved": {"placeholders": {"tags": {"type": "int"}, "count": {"type": "int"}}},
|
||||
"cardBrowserResetTitle": "{count, plural, =1{Start 1 flashcard afresh?} other{Start {count} flashcards afresh?}}",
|
||||
"@cardBrowserResetTitle": {"placeholders": {"count": {"type": "int"}}},
|
||||
"cardBrowserResetMessage": "They count as new again. Their reviews stay in your history and streaks.",
|
||||
"cardBrowserResetConfirm": "Reset",
|
||||
"cardBrowserReset": "{count, plural, =1{1 flashcard starts afresh} other{{count} flashcards start afresh}}",
|
||||
"@cardBrowserReset": {"placeholders": {"count": {"type": "int"}}}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue