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
|
|
@ -1510,6 +1510,102 @@ abstract class AppLocalizations {
|
|||
/// **'From an .apkg or .colpkg file'**
|
||||
String get studysetImportAnkiHint;
|
||||
|
||||
/// No description provided for @studysetImportCards.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Flashcards'**
|
||||
String get studysetImportCards;
|
||||
|
||||
/// No description provided for @studysetImportCardsHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Pasted, or from a CSV or TSV file'**
|
||||
String get studysetImportCardsHint;
|
||||
|
||||
/// No description provided for @cardTextImportTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Import flashcards'**
|
||||
String get cardTextImportTitle;
|
||||
|
||||
/// No description provided for @cardTextImportDescription.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'One card per line: its front, a separator, then its back. Each line is split at its first separator; lines without one are left out.'**
|
||||
String get cardTextImportDescription;
|
||||
|
||||
/// No description provided for @cardTextImportHint.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Paste the cards here'**
|
||||
String get cardTextImportHint;
|
||||
|
||||
/// No description provided for @cardTextImportLoadFile.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Load a CSV or TSV file'**
|
||||
String get cardTextImportLoadFile;
|
||||
|
||||
/// No description provided for @cardTextImportFileType.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'CSV or TSV files'**
|
||||
String get cardTextImportFileType;
|
||||
|
||||
/// No description provided for @cardTextImportUnreadable.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'This file isn\'t text in UTF-8.'**
|
||||
String get cardTextImportUnreadable;
|
||||
|
||||
/// No description provided for @cardTextImportSeparator.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Separator'**
|
||||
String get cardTextImportSeparator;
|
||||
|
||||
/// No description provided for @cardTextSeparatorTab.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Tab'**
|
||||
String get cardTextSeparatorTab;
|
||||
|
||||
/// No description provided for @cardTextSeparatorComma.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Comma'**
|
||||
String get cardTextSeparatorComma;
|
||||
|
||||
/// No description provided for @cardTextSeparatorSemicolon.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Semicolon'**
|
||||
String get cardTextSeparatorSemicolon;
|
||||
|
||||
/// No description provided for @cardTextImportNone.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No cards found yet.'**
|
||||
String get cardTextImportNone;
|
||||
|
||||
/// No description provided for @cardTextImportReady.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count, plural, =1{1 card ready to import.} other{{count} cards ready to import.}}'**
|
||||
String cardTextImportReady(int count);
|
||||
|
||||
/// No description provided for @cardTextImportSubmit.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Import'**
|
||||
String get cardTextImportSubmit;
|
||||
|
||||
/// No description provided for @cardTextImported.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{count, plural, =1{Imported 1 flashcard.} other{Imported {count} flashcards.}}'**
|
||||
String cardTextImported(int count);
|
||||
|
||||
/// No description provided for @studysetReorder.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
Loading…
Reference in a new issue