feat(paths): path files carry tables, callouts and furigana, and several import at once
The import format gains the blocks lessons need: tables (rows of cells), callouts (a kind, a title, blocks inside, but no table or callout), spoilers, quotes and dividers; and runs of text gain a reading shown as furigana, a colour, underline and strikethrough. A line break is a "\n" in the text. Still simple blocks turned into rich text here, so a change of the editor's own format never breaks a file written before. A table's columns are as wide as their longest line, narrowed alike to fit a phone, where the cells wrap. A studyset's Import › Learning paths now takes several files at once, one path each, stored in the order of their names, so a chapter's lessons come in with one pick. Every file is read before anything is stored: one that can't be read is named, and nothing comes in. 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
277994d31b
commit
7d99feca7f
1 changed files with 781 additions and 112 deletions
|
|
@ -96,6 +96,8 @@
|
|||
"pathImported": "{count, plural, =1{„{title}“ mit 1 Schritt importiert.} other{„{title}“ mit {count} Schritten importiert.}}",
|
||||
"pathImportSkipped": "{count, plural, =1{1 Block wurde ausgelassen: Bilder und Animationen werden nicht importiert.} other{{count} Blöcke wurden ausgelassen: Bilder und Animationen werden nicht importiert.}}",
|
||||
"pathImportFailed": "Diese Datei konnte nicht importiert werden. {reason}",
|
||||
"pathImportFileFailed": "{file} konnte nicht importiert werden. {reason}",
|
||||
"pathsImported": "{steps, plural, =0{{count} Pfade ohne Schritte importiert.} =1{{count} Pfade mit 1 Schritt importiert.} other{{count} Pfade mit {steps} Schritten importiert.}}",
|
||||
"pathImportUnreadable": "Der Inhalt ist kein Text in UTF-8.",
|
||||
"pathsEmpty": "Noch keine Pfade",
|
||||
"pathsEmptyHint": "Ein Pfad führt Schritt für Schritt durch eine Lektion. Nutze „Material hinzufügen → Pfad erstellen“, um einen zu schreiben, oder „⋮ → Inhalt importieren“, um einen zu importieren.",
|
||||
|
|
@ -277,8 +279,8 @@
|
|||
"exportVideo": "YouTube-Video",
|
||||
"exportSpoiler": "Spoiler",
|
||||
"exportUnavailable": "nicht auf diesem Gerät verfügbar",
|
||||
"studysetImportPath": "Lernpfad",
|
||||
"studysetImportPathHint": "Aus einer Halkyon-Pfad-JSON-Datei",
|
||||
"studysetImportPath": "Lernpfade",
|
||||
"studysetImportPathHint": "Aus Halkyon-Pfad-JSON-Dateien, ein Pfad je Datei",
|
||||
"studysetImportAnki": "Anki-Deck",
|
||||
"studysetImportAnkiHint": "Aus einer .apkg- oder .colpkg-Datei",
|
||||
"studysetImportCards": "Karteikarten",
|
||||
|
|
@ -1329,6 +1331,9 @@
|
|||
"pathImportMalformedNumber": "eine fehlerhafte Zahl.",
|
||||
"pathImportTitleNotText": "ein Titel muss Text sein.",
|
||||
"pathImportMalformedSource": "eine Quelle muss ein Objekt oder Text sein und ihre Teile Text.",
|
||||
"pathImportMalformedTable": "eine Tabelle braucht „rows“ aus Zellen, jede so lang wie die erste.",
|
||||
"pathImportMalformedCallout": "eine Hinweisbox mit fehlerhaftem „{detail}“.",
|
||||
"pathImportNotInCallout": "ein „{detail}“ kann nicht in einer Hinweisbox stehen.",
|
||||
"pomodoroTopBarHint": "Der Timer kann in der oberen Leiste von GNOME herunterzählen, mit seinen Knöpfen, sobald die Erweiterung „AppIndicator“ an ist.",
|
||||
"pomodoroTopBarSetUp": "Einrichten",
|
||||
"pomodoroTopBarDismiss": "Nicht mehr vorschlagen",
|
||||
|
|
|
|||
Loading…
Reference in a new issue