feat(learn): an Anki deck's import shows its steps, counts and percent, with Abort
Importing an Anki deck showed one bar and "Importing…". It now says which of its four steps it is in (copying files, writing flashcards, tagging, bringing over the review history), how many of the step's items are done and the percent of all of it, and offers Abort (decided 9 Nov 2026), as the archive's import does. The importer checks between files and batches of cards. Aborted, it deletes what it wrote: a studyset it made for the deck for good with all of it; importing into an existing studyset, the cards it wrote there and the topics it made for subdecks, leaving what the studyset held before; and the files' rows it made, not those the person had. Tags it made stay. Once everything is written, Abort no longer undoes it. Whats-New: Importing an Anki deck shows its steps and how far it has come, and Abort stops it, keeping nothing of it. Whats-New-De: Der Import eines Anki-Decks zeigt seine Schritte und wie weit er ist, und „Abbrechen“ beendet ihn, ohne etwas davon zu behalten. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
5f7cb70c3c
commit
7cba684513
5 changed files with 345 additions and 60 deletions
|
|
@ -1329,7 +1329,6 @@
|
|||
"ankiImportMedia": "{count, plural, =1{Medien übernehmen (1 Datei)} other{Medien übernehmen ({count} Dateien)}}",
|
||||
"ankiImportMediaSubtitle": "Bilder und Töne des Stapels auf den Karten behalten.",
|
||||
"ankiImportMediaMayNotFit": "Die Dateien belegen {size} MB, mehr als die {left} MB, die dir noch bleiben: Was nicht hineinpasst, bleibt auf diesem Gerät, und deine anderen Geräte zeigen es nicht an.",
|
||||
"ankiImportRunning": "Wird importiert…",
|
||||
"ankiImportConfirm": "Importieren",
|
||||
"ankiImportNotAPackage": "Das ist kein Anki-Stapel. Exportiere in Anki einen Stapel als .apkg-Datei und importiere diese.",
|
||||
"ankiImportNewerFormat": "Dieser Stapel stammt aus einer neueren Anki-Version, die diese App noch nicht kennt. Exportiere ihn erneut mit „Ältere Anki-Versionen unterstützen“.",
|
||||
|
|
|
|||
|
|
@ -1561,7 +1561,6 @@
|
|||
"left": {"type": "String"}
|
||||
}
|
||||
},
|
||||
"ankiImportRunning": "Importing…",
|
||||
"ankiImportConfirm": "Import",
|
||||
"ankiImportNotAPackage": "This isn't an Anki deck. In Anki, export a deck as an .apkg file and import that.",
|
||||
"ankiImportNewerFormat": "This deck comes from a newer Anki than this app knows. Export it again with “Support older Anki versions”.",
|
||||
|
|
|
|||
|
|
@ -7846,12 +7846,6 @@ abstract class AppLocalizations {
|
|||
/// **'Its files take {size} MB, more than the {left} MB you have left: those that don\'t fit stay on this device, and your other devices won\'t show them.'**
|
||||
String ankiImportMediaMayNotFit(String size, String left);
|
||||
|
||||
/// No description provided for @ankiImportRunning.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Importing…'**
|
||||
String get ankiImportRunning;
|
||||
|
||||
/// No description provided for @ankiImportConfirm.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -4922,9 +4922,6 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
return 'Die Dateien belegen $size MB, mehr als die $left MB, die dir noch bleiben: Was nicht hineinpasst, bleibt auf diesem Gerät, und deine anderen Geräte zeigen es nicht an.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get ankiImportRunning => 'Wird importiert…';
|
||||
|
||||
@override
|
||||
String get ankiImportConfirm => 'Importieren';
|
||||
|
||||
|
|
|
|||
|
|
@ -4878,9 +4878,6 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
return 'Its files take $size MB, more than the $left MB you have left: those that don\'t fit stay on this device, and your other devices won\'t show them.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get ankiImportRunning => 'Importing…';
|
||||
|
||||
@override
|
||||
String get ankiImportConfirm => 'Import';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue