feat(app): import flashcards from text
Import content gains Flashcards: pasted, or from a CSV or TSV file, one card per line, split at its first tab, comma or semicolon (a .csv picks commas), lines without both sides left out. Quoted fields are read as spreadsheets write them, and a UTF-8 byte order mark is ignored. The cards come in at the studyset's end with the origin "text", so the dashboard doesn't count them as written. 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
a35318a5a6
commit
18c1370bf6
1 changed files with 728 additions and 1 deletions
|
|
@ -890,6 +890,72 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get studysetImportAnkiHint => 'Aus einer .apkg- oder .colpkg-Datei';
|
||||
|
||||
@override
|
||||
String get studysetImportCards => 'Karteikarten';
|
||||
|
||||
@override
|
||||
String get studysetImportCardsHint =>
|
||||
'Eingefügt oder aus einer CSV- oder TSV-Datei';
|
||||
|
||||
@override
|
||||
String get cardTextImportTitle => 'Karteikarten importieren';
|
||||
|
||||
@override
|
||||
String get cardTextImportDescription =>
|
||||
'Eine Karte pro Zeile: ihre Vorderseite, ein Trennzeichen, dann ihre Rückseite. Jede Zeile wird an ihrem ersten Trennzeichen geteilt; Zeilen ohne eines werden ausgelassen.';
|
||||
|
||||
@override
|
||||
String get cardTextImportHint => 'Füge die Karten hier ein';
|
||||
|
||||
@override
|
||||
String get cardTextImportLoadFile => 'CSV- oder TSV-Datei laden';
|
||||
|
||||
@override
|
||||
String get cardTextImportFileType => 'CSV- oder TSV-Dateien';
|
||||
|
||||
@override
|
||||
String get cardTextImportUnreadable => 'Diese Datei ist kein Text in UTF-8.';
|
||||
|
||||
@override
|
||||
String get cardTextImportSeparator => 'Trennzeichen';
|
||||
|
||||
@override
|
||||
String get cardTextSeparatorTab => 'Tab';
|
||||
|
||||
@override
|
||||
String get cardTextSeparatorComma => 'Komma';
|
||||
|
||||
@override
|
||||
String get cardTextSeparatorSemicolon => 'Semikolon';
|
||||
|
||||
@override
|
||||
String get cardTextImportNone => 'Noch keine Karten erkannt.';
|
||||
|
||||
@override
|
||||
String cardTextImportReady(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: '$count Karten bereit zum Importieren.',
|
||||
one: '1 Karte bereit zum Importieren.',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String get cardTextImportSubmit => 'Importieren';
|
||||
|
||||
@override
|
||||
String cardTextImported(int count) {
|
||||
String _temp0 = intl.Intl.pluralLogic(
|
||||
count,
|
||||
locale: localeName,
|
||||
other: '$count Karteikarten importiert.',
|
||||
one: '1 Karteikarte importiert.',
|
||||
);
|
||||
return '$_temp0';
|
||||
}
|
||||
|
||||
@override
|
||||
String get studysetReorder => 'Umsortieren';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue