The importer said what was wrong with a file in English sentences built in the data layer, the last English left in a German app. It now names the problem, the step it is in and what the problem names (a field, a type, a number), and the studyset screen puts it into words: "Step 2: unknown "type": quiz." or "Schritt 2: unbekannter „type“: quiz.". The format's own field names stay as they are in the file. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
3124 lines
72 KiB
Dart
3124 lines
72 KiB
Dart
// ignore: unused_import
|
||
import 'package:intl/intl.dart' as intl;
|
||
|
||
import 'app_localizations.dart';
|
||
|
||
// ignore_for_file: type=lint
|
||
|
||
/// The translations for German (`de`).
|
||
class AppLocalizationsDe extends AppLocalizations {
|
||
AppLocalizationsDe([String locale = 'de']) : super(locale);
|
||
|
||
@override
|
||
String get appTitle => 'Halkyon Learn';
|
||
|
||
@override
|
||
String get shellTabHome => 'Startseite';
|
||
|
||
@override
|
||
String get shellTabLibrary => 'Bibliothek';
|
||
|
||
@override
|
||
String get shellTabExplore => 'Entdecken';
|
||
|
||
@override
|
||
String get shellTabProfile => 'Profil';
|
||
|
||
@override
|
||
String get homeTitle => 'Startseite';
|
||
|
||
@override
|
||
String get libraryTitle => 'Bibliothek';
|
||
|
||
@override
|
||
String get libraryCreateStudyset => 'Lernset erstellen';
|
||
|
||
@override
|
||
String get libraryEmpty => 'Noch keine Lernsets';
|
||
|
||
@override
|
||
String get libraryUnreadable =>
|
||
'Deine Lernsets konnten nicht gelesen werden.';
|
||
|
||
@override
|
||
String get libraryArchivedSection => 'Archiviert';
|
||
|
||
@override
|
||
String get librarySearchTooltip => 'Suchen';
|
||
|
||
@override
|
||
String get librarySearchHint => 'Lernsets durchsuchen';
|
||
|
||
@override
|
||
String get librarySearchClearTooltip => 'Suche löschen';
|
||
|
||
@override
|
||
String get librarySearchCloseTooltip => 'Suche schließen';
|
||
|
||
@override
|
||
String get librarySearchNoMatches =>
|
||
'Keine Lernsets für deine Suche gefunden';
|
||
|
||
@override
|
||
String get libraryStudysetArchived => 'Lernset archiviert';
|
||
|
||
@override
|
||
String get libraryStudysetUnarchived => 'Lernset aus dem Archiv geholt';
|
||
|
||
@override
|
||
String get libraryStudysetDeleted => 'Lernset gelöscht';
|
||
|
||
@override
|
||
String get libraryDeleteTitle => 'Lernset löschen?';
|
||
|
||
@override
|
||
String get libraryDeleteMessage =>
|
||
'Es wird samt allem, was darin ist, und allen zugehörigen Karten auf all deinen Geräten gelöscht. Du kannst dies für einige Sekunden rückgängig machen.';
|
||
|
||
@override
|
||
String get libraryDeleteConfirm => 'Löschen';
|
||
|
||
@override
|
||
String get studysetSheetCreateTitle => 'Lernset erstellen';
|
||
|
||
@override
|
||
String get studysetSheetEditTitle => 'Lernset bearbeiten';
|
||
|
||
@override
|
||
String get studysetSheetCreate => 'Erstellen';
|
||
|
||
@override
|
||
String get studysetSheetSave => 'Speichern';
|
||
|
||
@override
|
||
String get studysetSheetTitleLabel => 'Titel';
|
||
|
||
@override
|
||
String get studysetSheetSecondaryLabel => 'Zweittitel';
|
||
|
||
@override
|
||
String get studysetSheetSecondaryHelper =>
|
||
'Wird als kleines Label über dem Titel angezeigt.';
|
||
|
||
@override
|
||
String get studysetSheetColor => 'Farbe';
|
||
|
||
@override
|
||
String get studysetSheetDiscardTitle => 'Änderungen verwerfen?';
|
||
|
||
@override
|
||
String get studysetSheetDiscardMessage =>
|
||
'Du hast ungespeicherte Änderungen an diesem Lernset. Verwerfen und das Formular schließen?';
|
||
|
||
@override
|
||
String get studysetSheetDiscardConfirm => 'Verwerfen';
|
||
|
||
@override
|
||
String paletteColorName(String name) {
|
||
String _temp0 = intl.Intl.selectLogic(
|
||
name,
|
||
{
|
||
'carrot': 'Karotte',
|
||
'cerise': 'Kirschrot',
|
||
'cobalt': 'Kobalt',
|
||
'copper': 'Kupfer',
|
||
'enzian': 'Enzian',
|
||
'fern': 'Farn',
|
||
'forest': 'Wald',
|
||
'ocean': 'Ozean',
|
||
'olive': 'Olive',
|
||
'pacific': 'Pazifik',
|
||
'pickle': 'Essiggurke',
|
||
'pine': 'Kiefer',
|
||
'pink': 'Rosa',
|
||
'plum': 'Pflaume',
|
||
'purple': 'Lila',
|
||
'reef': 'Riff',
|
||
'sahara': 'Sahara',
|
||
'slateblue': 'Schieferblau',
|
||
'soil': 'Erde',
|
||
'strawberry': 'Erdbeere',
|
||
'other': '$name',
|
||
},
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String colorPickerLabel(String color) {
|
||
return 'Farbe: $color';
|
||
}
|
||
|
||
@override
|
||
String studysetCountFlashcards(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Karteikarten',
|
||
one: '1 Karteikarte',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String studysetCountNotes(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Notizen',
|
||
one: '1 Notiz',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get studysetNoContent => 'Noch kein Inhalt';
|
||
|
||
@override
|
||
String get studysetActionReview => 'Wiederholen';
|
||
|
||
@override
|
||
String get studysetActionStudy => 'Lernen';
|
||
|
||
@override
|
||
String get studysetActionAdd => 'Inhalt hinzufügen';
|
||
|
||
@override
|
||
String get studysetArchived => 'Archiviert';
|
||
|
||
@override
|
||
String get studysetStar => 'Mit Stern markieren';
|
||
|
||
@override
|
||
String get studysetUnstar => 'Markierung entfernen';
|
||
|
||
@override
|
||
String get studysetOptions => 'Optionen';
|
||
|
||
@override
|
||
String get studysetMenuEdit => 'Bearbeiten';
|
||
|
||
@override
|
||
String get studysetMenuArchive => 'Archivieren';
|
||
|
||
@override
|
||
String get studysetMenuUnarchive => 'Aus Archiv holen';
|
||
|
||
@override
|
||
String get studysetMenuDelete => 'Löschen';
|
||
|
||
@override
|
||
String get studysetMenuMove => 'Verschieben nach…';
|
||
|
||
@override
|
||
String get studysetTabFlashcards => 'Karteikarten';
|
||
|
||
@override
|
||
String get studysetTabNotes => 'Notizen';
|
||
|
||
@override
|
||
String get studysetTabPaths => 'Pfade';
|
||
|
||
@override
|
||
String get studysetCreatePath => 'Pfad erstellen';
|
||
|
||
@override
|
||
String get pathImportMenu => 'Pfad importieren (JSON)';
|
||
|
||
@override
|
||
String get pathImportFileType => 'Lernpfad (JSON)';
|
||
|
||
@override
|
||
String pathImported(String title, int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '„$title“ mit $count Schritten importiert.',
|
||
one: '„$title“ mit 1 Schritt importiert.',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String pathImportSkipped(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other:
|
||
'$count Blöcke wurden ausgelassen: Bilder und Animationen werden nicht importiert.',
|
||
one: '1 Block wurde ausgelassen: Bilder und Animationen werden nicht importiert.',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String pathImportFailed(String reason) {
|
||
return 'Diese Datei konnte nicht importiert werden. $reason';
|
||
}
|
||
|
||
@override
|
||
String get pathImportUnreadable => 'Der Inhalt ist kein Text in UTF-8.';
|
||
|
||
@override
|
||
String get pathsEmpty => 'Noch keine Pfade';
|
||
|
||
@override
|
||
String get pathsEmptyHint =>
|
||
'Ein Pfad führt Schritt für Schritt durch eine Lektion.';
|
||
|
||
@override
|
||
String get pathOptions => 'Pfadoptionen';
|
||
|
||
@override
|
||
String get pathEdit => 'Bearbeiten';
|
||
|
||
@override
|
||
String get pathResetProgress => 'Fortschritt zurücksetzen';
|
||
|
||
@override
|
||
String get pathProgressReset => 'Fortschritt zurückgesetzt';
|
||
|
||
@override
|
||
String get pathDelete => 'Löschen';
|
||
|
||
@override
|
||
String get pathDeleteTitle => 'Pfad löschen?';
|
||
|
||
@override
|
||
String get pathDeleteMessage =>
|
||
'Dieser Pfad und seine Schritte werden aus dem Lernset entfernt. Du kannst dies für einige Sekunden rückgängig machen.';
|
||
|
||
@override
|
||
String get pathDeleteConfirm => 'Löschen';
|
||
|
||
@override
|
||
String get pathDeleted => 'Pfad gelöscht';
|
||
|
||
@override
|
||
String get pathCreateTitle => 'Neuer Pfad';
|
||
|
||
@override
|
||
String get pathCreate => 'Erstellen';
|
||
|
||
@override
|
||
String get pathTitleLabel => 'Titel';
|
||
|
||
@override
|
||
String get pathTitleRequired => 'Ein Pfad braucht einen Titel.';
|
||
|
||
@override
|
||
String get pathSecondaryTitleLabel => 'Zweittitel';
|
||
|
||
@override
|
||
String get pathSecondaryTitleHint =>
|
||
'Z. B. der Titel in der Sprache, die du lernst';
|
||
|
||
@override
|
||
String get pathEditTitle => 'Pfad bearbeiten';
|
||
|
||
@override
|
||
String get pathDescription => 'Beschreibung';
|
||
|
||
@override
|
||
String get pathAddDescription => 'Beschreibung hinzufügen';
|
||
|
||
@override
|
||
String get pathDescriptionEditTitle => 'Pfadbeschreibung';
|
||
|
||
@override
|
||
String get pathAddTags => 'Tags hinzufügen';
|
||
|
||
@override
|
||
String get pathTags => 'Tags';
|
||
|
||
@override
|
||
String get pathSteps => 'Schritte';
|
||
|
||
@override
|
||
String get pathStepsEmpty => 'Noch keine Schritte';
|
||
|
||
@override
|
||
String get pathStepsEmptyHint =>
|
||
'Wähle einen Schritt-Typ, um mit dem Schreiben der Lektion zu beginnen.';
|
||
|
||
@override
|
||
String get pathAddStep => 'Schritt hinzufügen';
|
||
|
||
@override
|
||
String get pathReorder => 'Umsortieren';
|
||
|
||
@override
|
||
String get pathReorderDone => 'Fertig';
|
||
|
||
@override
|
||
String get pathStepDelete => 'Schritt löschen';
|
||
|
||
@override
|
||
String get pathStepDeleted => 'Schritt gelöscht';
|
||
|
||
@override
|
||
String get stepUntitled => 'Unbenannter Schritt';
|
||
|
||
@override
|
||
String get stepKindInfo => 'Info';
|
||
|
||
@override
|
||
String get stepKindSingleChoice => 'Einzelauswahl';
|
||
|
||
@override
|
||
String get stepKindMultipleChoice => 'Mehrfachauswahl';
|
||
|
||
@override
|
||
String get stepKindDragAndDrop => 'Ziehen und Ablegen';
|
||
|
||
@override
|
||
String get stepKindFillInTheBlank => 'Lückentext';
|
||
|
||
@override
|
||
String get stepEditTitle => 'Schritt bearbeiten';
|
||
|
||
@override
|
||
String get stepTitleHint => 'Titel';
|
||
|
||
@override
|
||
String get stepOptions => 'Optionen';
|
||
|
||
@override
|
||
String stepOptionHint(int number) {
|
||
return 'Option $number';
|
||
}
|
||
|
||
@override
|
||
String get stepAddOption => 'Option hinzufügen';
|
||
|
||
@override
|
||
String get stepRemoveOption => 'Option entfernen';
|
||
|
||
@override
|
||
String get stepCorrectOption => 'Richtige Option';
|
||
|
||
@override
|
||
String get stepCorrectOptions => 'Richtige Optionen';
|
||
|
||
@override
|
||
String get stepCategories => 'Kategorien';
|
||
|
||
@override
|
||
String stepCategoryHint(int number) {
|
||
return 'Kategorie $number';
|
||
}
|
||
|
||
@override
|
||
String get stepAddCategory => 'Kategorie hinzufügen';
|
||
|
||
@override
|
||
String get stepRemoveCategory => 'Kategorie entfernen';
|
||
|
||
@override
|
||
String get stepItems => 'Elemente';
|
||
|
||
@override
|
||
String stepItemHint(int number) {
|
||
return 'Element $number';
|
||
}
|
||
|
||
@override
|
||
String get stepAddItem => 'Element hinzufügen';
|
||
|
||
@override
|
||
String get stepRemoveItem => 'Element entfernen';
|
||
|
||
@override
|
||
String get stepItemCategory => 'Gehört zu';
|
||
|
||
@override
|
||
String get stepPassage => 'Textpassage';
|
||
|
||
@override
|
||
String get stepPassageHint =>
|
||
'Gib ___ (drei Unterstriche) überall dort ein, wo ein Wort eingesetzt werden soll.';
|
||
|
||
@override
|
||
String stepBlankHint(int number) {
|
||
return 'Wort für Lücke $number';
|
||
}
|
||
|
||
@override
|
||
String get stepIncomplete =>
|
||
'Noch nicht beantwortbar: Fülle jedes Feld aus und wähle, was richtig ist.';
|
||
|
||
@override
|
||
String get stepFeedbackRight => 'Feedback nach einer richtigen Antwort';
|
||
|
||
@override
|
||
String get stepFeedbackWrong => 'Feedback nach einer falschen Antwort';
|
||
|
||
@override
|
||
String get stepFeedbackNone => 'Keines';
|
||
|
||
@override
|
||
String get stepSources => 'Quellen';
|
||
|
||
@override
|
||
String get stepAddSource => 'Quelle hinzufügen';
|
||
|
||
@override
|
||
String get stepRemoveSource => 'Quelle entfernen';
|
||
|
||
@override
|
||
String get stepSourceAuthors => 'Autoren';
|
||
|
||
@override
|
||
String get stepSourceYear => 'Jahr';
|
||
|
||
@override
|
||
String get stepSourceTitle => 'Titel';
|
||
|
||
@override
|
||
String get stepSourceUrl => 'Link';
|
||
|
||
@override
|
||
String stepSourcesCount(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Quellen',
|
||
one: '1 Quelle',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get stepConflict =>
|
||
'Dieser Schritt wurde auf einem anderen Gerät anders geändert. Behalte eine Version, um weiterzuschreiben.';
|
||
|
||
@override
|
||
String get stepFieldTitle => 'Titel';
|
||
|
||
@override
|
||
String get stepFieldBody => 'Text';
|
||
|
||
@override
|
||
String get stepFieldExercise => 'Aufgabe';
|
||
|
||
@override
|
||
String get stepFieldRightFeedback => 'Feedback nach einer richtigen Antwort';
|
||
|
||
@override
|
||
String get stepFieldWrongFeedback => 'Feedback nach einer falschen Antwort';
|
||
|
||
@override
|
||
String get stepFieldSources => 'Quellen';
|
||
|
||
@override
|
||
String get runnerClose => 'Schließen';
|
||
|
||
@override
|
||
String get runnerEditStep => 'Schritt bearbeiten';
|
||
|
||
@override
|
||
String get runnerBack => 'Zurück';
|
||
|
||
@override
|
||
String get runnerCheck => 'Antworten prüfen';
|
||
|
||
@override
|
||
String get runnerContinue => 'Weiter';
|
||
|
||
@override
|
||
String get runnerFinish => 'Abschließen';
|
||
|
||
@override
|
||
String get runnerRight => 'Richtig!';
|
||
|
||
@override
|
||
String get runnerWrong => 'Nicht ganz';
|
||
|
||
@override
|
||
String get runnerAlreadyRight => 'Du hast das schon richtig beantwortet.';
|
||
|
||
@override
|
||
String get runnerSelectAll => 'Wähle alle zutreffenden aus.';
|
||
|
||
@override
|
||
String get runnerDragHint =>
|
||
'Ziehe jedes Element in die Kategorie, zu der es gehört, oder tippe es an und dann die Kategorie. Tippe ein platziertes Element an, um es zurückzunehmen.';
|
||
|
||
@override
|
||
String get runnerBlankHint =>
|
||
'Ziehe ein Wort in jede Lücke oder tippe es an und dann die Lücke. Tippe ein platziertes Wort an, um es zurückzunehmen.';
|
||
|
||
@override
|
||
String get runnerEmpty => 'Dieser Pfad hat noch keine Schritte.';
|
||
|
||
@override
|
||
String get runnerFinished => 'Du hast diesen Pfad abgeschlossen';
|
||
|
||
@override
|
||
String runnerFinishedSteps(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Schritte abgeschlossen.',
|
||
one: '1 Schritt abgeschlossen.',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get runnerNextPath => 'Weiter zum nächsten Pfad';
|
||
|
||
@override
|
||
String get runnerBackToStudyset => 'Zurück zum Lernset';
|
||
|
||
@override
|
||
String studysetCountPaths(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Pfade',
|
||
one: '1 Pfad',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get studysetCreateNote => 'Notiz erstellen';
|
||
|
||
@override
|
||
String get notesEmpty => 'Noch keine Notizen';
|
||
|
||
@override
|
||
String get notesEmptyHint =>
|
||
'Notizen erscheinen hier, sobald du welche hinzufügst.';
|
||
|
||
@override
|
||
String get noteUntitled => 'Unbenannte Notiz';
|
||
|
||
@override
|
||
String noteEdited(String when) {
|
||
return 'Bearbeitet $when';
|
||
}
|
||
|
||
@override
|
||
String get timeJustNow => 'gerade eben';
|
||
|
||
@override
|
||
String timeMinutesAgo(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'vor $count Minuten',
|
||
one: 'vor 1 Minute',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String timeHoursAgo(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'vor $count Stunden',
|
||
one: 'vor 1 Stunde',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String timeDaysAgo(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'vor $count Tagen',
|
||
one: 'gestern',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get noteOptions => 'Notizoptionen';
|
||
|
||
@override
|
||
String get noteEdit => 'Bearbeiten';
|
||
|
||
@override
|
||
String get noteDelete => 'Löschen';
|
||
|
||
@override
|
||
String get noteDeleteTitle => 'Notiz löschen?';
|
||
|
||
@override
|
||
String get noteDeleteMessage =>
|
||
'Diese Notiz wird aus dem Lernset entfernt. Du kannst dies für einige Sekunden rückgängig machen.';
|
||
|
||
@override
|
||
String get noteDeleteConfirm => 'Löschen';
|
||
|
||
@override
|
||
String get noteDeleted => 'Notiz gelöscht';
|
||
|
||
@override
|
||
String noteNewTitleFor(String title) {
|
||
return 'Neue Notiz in „$title“';
|
||
}
|
||
|
||
@override
|
||
String noteTitleFor(String title) {
|
||
return 'Notiz in „$title“';
|
||
}
|
||
|
||
@override
|
||
String get noteTitleHint => 'Titel';
|
||
|
||
@override
|
||
String get noteEditing => 'Wird bearbeitet…';
|
||
|
||
@override
|
||
String get noteSaving => 'Wird gespeichert…';
|
||
|
||
@override
|
||
String get noteSaved => 'Gespeichert';
|
||
|
||
@override
|
||
String get noteSaveFailed => 'Speichern fehlgeschlagen';
|
||
|
||
@override
|
||
String get noteConflict =>
|
||
'Diese Notiz wurde auf einem anderen Gerät anders geändert. Behalte eine Version, um weiterzuschreiben.';
|
||
|
||
@override
|
||
String get noteFieldTitle => 'Titel';
|
||
|
||
@override
|
||
String get noteFieldBody => 'Text';
|
||
|
||
@override
|
||
String get noteKeepThis => 'Diese behalten';
|
||
|
||
@override
|
||
String get noteAddTags => 'Tags hinzufügen';
|
||
|
||
@override
|
||
String get noteTags => 'Tags';
|
||
|
||
@override
|
||
String get studysetFlashcardsEmpty => 'Noch keine Karteikarten';
|
||
|
||
@override
|
||
String get studysetFlashcardsEmptyHint =>
|
||
'Füge welche hinzu, um mit dem Lernen zu beginnen.';
|
||
|
||
@override
|
||
String get studysetAddMaterial => 'Material hinzufügen';
|
||
|
||
@override
|
||
String get studysetCreateFlashcards => 'Karteikarten erstellen';
|
||
|
||
@override
|
||
String get studysetStudy => 'Lernen';
|
||
|
||
@override
|
||
String studysetLearnCount(int count) {
|
||
return '$count lernen';
|
||
}
|
||
|
||
@override
|
||
String get studysetOpenTopics => 'Themen anzeigen';
|
||
|
||
@override
|
||
String get studysetTopics => 'Themen';
|
||
|
||
@override
|
||
String get studysetAllTopics => 'Alle Themen';
|
||
|
||
@override
|
||
String get studysetNewSubStudyset => 'Neues Unter-Lernset';
|
||
|
||
@override
|
||
String get studysetSubStudysetsEmpty => 'Noch keine Unter-Lernsets.';
|
||
|
||
@override
|
||
String get studysetSubStudysetsEmptyHint =>
|
||
'Teile dieses Lernset in Meilensteine oder Lektionen auf.';
|
||
|
||
@override
|
||
String get studysetReorder => 'Umsortieren';
|
||
|
||
@override
|
||
String get studysetReorderDone => 'Fertig';
|
||
|
||
@override
|
||
String get studysetDragToReorder => 'Zum Umsortieren ziehen';
|
||
|
||
@override
|
||
String get studysetMoveTitle => 'Lernset verschieben nach';
|
||
|
||
@override
|
||
String get studysetMoveTopLevel => 'Oberste Ebene';
|
||
|
||
@override
|
||
String get studysetMoveCurrent => 'Aktueller Ort';
|
||
|
||
@override
|
||
String get studysetMoveConfirm => 'Verschieben';
|
||
|
||
@override
|
||
String get studysetMoveShowInside => 'Inhalt anzeigen';
|
||
|
||
@override
|
||
String get studysetMoveHideInside => 'Inhalt ausblenden';
|
||
|
||
@override
|
||
String studysetMoved(String destination) {
|
||
return 'Nach „$destination“ verschoben.';
|
||
}
|
||
|
||
@override
|
||
String get studysetReadMore => 'Mehr anzeigen';
|
||
|
||
@override
|
||
String get studysetDescriptionTitle => 'Beschreibung';
|
||
|
||
@override
|
||
String get studysetDescriptionEditTitle => 'Beschreibung bearbeiten';
|
||
|
||
@override
|
||
String get richTextSave => 'Speichern';
|
||
|
||
@override
|
||
String get studysetSheetDescription => 'Beschreibung';
|
||
|
||
@override
|
||
String get studysetSheetDescriptionAdd => 'Beschreibung hinzufügen';
|
||
|
||
@override
|
||
String get studysetSheetInheritColor =>
|
||
'Gleiche Farbe wie das Lernset, in dem es liegt';
|
||
|
||
@override
|
||
String get exploreTitle => 'Entdecken';
|
||
|
||
@override
|
||
String get exploreEmpty => 'Lernsets, die andere teilen, erscheinen hier.';
|
||
|
||
@override
|
||
String get profileTitle => 'Profil';
|
||
|
||
@override
|
||
String get profileSettingsTooltip => 'Einstellungen';
|
||
|
||
@override
|
||
String get profileIdentified =>
|
||
'Dein Fortschritt wird in deinem Konto gespeichert.';
|
||
|
||
@override
|
||
String get profileAnonymous =>
|
||
'Dein Fortschritt wird auf diesem Gerät gespeichert. Melde dich an, um ihn zu behalten.';
|
||
|
||
@override
|
||
String get profileSignInWithGitHub => 'Mit GitHub anmelden';
|
||
|
||
@override
|
||
String get profileSignInFailed => 'Anmeldung mit GitHub fehlgeschlagen.';
|
||
|
||
@override
|
||
String get profileContinueInBrowser => 'Fahre in deinem Browser fort.';
|
||
|
||
@override
|
||
String get profileSwitchTitle => 'Zu deinem GitHub-Konto wechseln?';
|
||
|
||
@override
|
||
String get profileSwitchMessage =>
|
||
'Dieses GitHub-Konto hat bereits Fortschritt von einem anderen Gerät. Die Lernsets auf diesem Gerät lassen sich noch nicht damit zusammenführen: Wenn du wechselst, werden sie gelöscht.';
|
||
|
||
@override
|
||
String get profileSwitchStay => 'Anonym bleiben';
|
||
|
||
@override
|
||
String get profileSwitchConfirm => 'Wechseln';
|
||
|
||
@override
|
||
String get settingsTitle => 'Einstellungen';
|
||
|
||
@override
|
||
String get settingsAccount => 'Konto';
|
||
|
||
@override
|
||
String get settingsSignOut => 'Abmelden';
|
||
|
||
@override
|
||
String get settingsSignOutTitle => 'Abmelden?';
|
||
|
||
@override
|
||
String get settingsSignOutAnonymousMessage =>
|
||
'Bei diesem Konto kannst du dich nicht wieder anmelden, deshalb wird es beim Abmelden samt Fortschritt gelöscht.';
|
||
|
||
@override
|
||
String get settingsDeleteAccount => 'Konto löschen';
|
||
|
||
@override
|
||
String get settingsDeleteTitle => 'Dein Konto löschen?';
|
||
|
||
@override
|
||
String get settingsDeleteMessage =>
|
||
'Alles, was du hast, also deine Lernsets, Karten und Wiederholungen, wird auf dem Server und auf all deinen Geräten gelöscht. Dies kann nicht rückgängig gemacht werden.';
|
||
|
||
@override
|
||
String get settingsAbout => 'Über Halkyon Learn';
|
||
|
||
@override
|
||
String get aboutLegalese =>
|
||
'Freie Software: Die App steht unter der GNU Affero General Public License, Version 3 oder jeder späteren Version, der Server unter der Server Side Public License, Version 1.';
|
||
|
||
@override
|
||
String get aboutSourceCode =>
|
||
'Der Quellcode dessen, was diese Instanz ausführt:';
|
||
|
||
@override
|
||
String get aboutSourceUnreachable =>
|
||
'Diese Instanz war nicht erreichbar, um nach ihrem Quellcode zu fragen.';
|
||
|
||
@override
|
||
String get settingsAppearance => 'Darstellung';
|
||
|
||
@override
|
||
String get settingsAppearanceDevice => 'Gerätedesign';
|
||
|
||
@override
|
||
String get settingsAppearanceLight => 'Hell';
|
||
|
||
@override
|
||
String get settingsAppearanceDark => 'Dunkel';
|
||
|
||
@override
|
||
String get settingsLanguage => 'Sprache';
|
||
|
||
@override
|
||
String get settingsLanguageDevice => 'Gerätesprache';
|
||
|
||
@override
|
||
String settingsVersion(String version, String build) {
|
||
return 'Version $version (Build $build)';
|
||
}
|
||
|
||
@override
|
||
String get syncTitle => 'Synchronisierung';
|
||
|
||
@override
|
||
String get syncStateSyncing => 'Wird synchronisiert…';
|
||
|
||
@override
|
||
String get syncStateSynced => 'Alles synchronisiert';
|
||
|
||
@override
|
||
String get syncStateNotYet => 'Noch nicht synchronisiert';
|
||
|
||
@override
|
||
String get syncStateFailing => 'Synchronisierung schlägt fehl';
|
||
|
||
@override
|
||
String syncStateMismatch(String server) {
|
||
return 'Diese App kann nicht mit $server synchronisieren';
|
||
}
|
||
|
||
@override
|
||
String get syncMismatchDetail =>
|
||
'Aktualisiere die App. Ist sie schon aktuell, muss der Server aktualisiert werden. Was du bis dahin tust, bleibt auf diesem Gerät und wird danach synchronisiert.';
|
||
|
||
@override
|
||
String syncLastCompleted(String time) {
|
||
return 'Zuletzt abgeschlossen um $time';
|
||
}
|
||
|
||
@override
|
||
String get syncNoRunYet =>
|
||
'Seit dem Start der App wurde noch keine Synchronisierung abgeschlossen';
|
||
|
||
@override
|
||
String syncLastFailed(String time) {
|
||
return 'Letzter Versuch fehlgeschlagen um $time';
|
||
}
|
||
|
||
@override
|
||
String get syncNow => 'Jetzt synchronisieren';
|
||
|
||
@override
|
||
String get syncTroubleLabel => 'Synchronisierung benötigt Aufmerksamkeit';
|
||
|
||
@override
|
||
String syncMismatchBanner(String server) {
|
||
return 'Diese App kann nicht mehr mit $server synchronisieren. Aktualisiere sie, um weiter zu synchronisieren.';
|
||
}
|
||
|
||
@override
|
||
String get syncMismatchMore => 'Mehr';
|
||
|
||
@override
|
||
String get tagsReadFailed => 'Die Tags konnten nicht gelesen werden.';
|
||
|
||
@override
|
||
String get tagPickerTitle => 'Tags';
|
||
|
||
@override
|
||
String get tagPickerManage => 'Tags verwalten';
|
||
|
||
@override
|
||
String get tagPickerSearchLabel => 'Tag suchen oder erstellen';
|
||
|
||
@override
|
||
String tagPickerCreate(String name) {
|
||
return '„$name“ erstellen';
|
||
}
|
||
|
||
@override
|
||
String get tagSheetCreateTitle => 'Tag erstellen';
|
||
|
||
@override
|
||
String get tagSheetEditTitle => 'Tag bearbeiten';
|
||
|
||
@override
|
||
String get tagSheetNameLabel => 'Name';
|
||
|
||
@override
|
||
String get tagSheetNameHelper =>
|
||
'Wird klein geschrieben gespeichert und angezeigt.';
|
||
|
||
@override
|
||
String tagSheetNameExists(String name) {
|
||
return 'Den Tag „$name“ gibt es bereits.';
|
||
}
|
||
|
||
@override
|
||
String tagSheetNameMerges(String name) {
|
||
return 'Es gibt bereits einen Tag „$name“: Beim Speichern wird dieser mit ihm zusammengeführt.';
|
||
}
|
||
|
||
@override
|
||
String get tagSheetColor => 'Farbe';
|
||
|
||
@override
|
||
String get tagSheetCreate => 'Erstellen';
|
||
|
||
@override
|
||
String get tagSheetSave => 'Speichern';
|
||
|
||
@override
|
||
String get tagManageTitle => 'Tags verwalten';
|
||
|
||
@override
|
||
String get tagManageEmpty => 'Noch keine Tags. Füge unten einen hinzu.';
|
||
|
||
@override
|
||
String get tagManageAdd => 'Tag hinzufügen';
|
||
|
||
@override
|
||
String tagManageRow(String name, int count) {
|
||
return '$name ($count)';
|
||
}
|
||
|
||
@override
|
||
String get tagManageEdit => 'Tag bearbeiten';
|
||
|
||
@override
|
||
String get tagManageDelete => 'Tag löschen';
|
||
|
||
@override
|
||
String tagDeleteTitle(String name) {
|
||
return 'Tag „$name“ löschen?';
|
||
}
|
||
|
||
@override
|
||
String tagDeleteMessage(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'Er wird auf all deinen Geräten von $count Karteikarten entfernt.',
|
||
one: 'Er wird auf all deinen Geräten von 1 Karteikarte entfernt.',
|
||
zero: 'Er ist an keiner Karteikarte.',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get tagDeleteConfirm => 'Löschen';
|
||
|
||
@override
|
||
String tagDeleted(String name) {
|
||
return 'Tag „$name“ gelöscht';
|
||
}
|
||
|
||
@override
|
||
String get studySettingsTitle => 'Sitzungseinstellungen';
|
||
|
||
@override
|
||
String get studySettingsFilterByTags => 'Nach Tags filtern';
|
||
|
||
@override
|
||
String get studySettingsFilterHint =>
|
||
'Lerne nur die Karteikarten mit mindestens einem der gewählten Tags.';
|
||
|
||
@override
|
||
String get studySettingsNoTags =>
|
||
'Noch keine Tags. Füge deinen Karteikarten Tags hinzu, um sie hier zu filtern.';
|
||
|
||
@override
|
||
String get studySettingsReset => 'Zurücksetzen';
|
||
|
||
@override
|
||
String get studySettingsSave => 'Speichern';
|
||
|
||
@override
|
||
String get cardTagsLabel => 'Tags';
|
||
|
||
@override
|
||
String get cardTagsAdd => 'Tags hinzufügen';
|
||
|
||
@override
|
||
String get cardTagsEdit => 'Tags bearbeiten';
|
||
|
||
@override
|
||
String get cardFilterTooltip => 'Filter';
|
||
|
||
@override
|
||
String get cardFilterTitle => 'Filter';
|
||
|
||
@override
|
||
String get cardFilterTag => 'Tag';
|
||
|
||
@override
|
||
String get cardFilterAllTags => 'Alle Tags';
|
||
|
||
@override
|
||
String get cardFilterNoTags =>
|
||
'Keine dieser Karteikarten hat bisher einen Tag.';
|
||
|
||
@override
|
||
String get cardFilterClear => 'Alles zurücksetzen';
|
||
|
||
@override
|
||
String get cardFilterApply => 'Anwenden';
|
||
|
||
@override
|
||
String get cardFilterNothing => 'Keine Karteikarte hat diesen Tag.';
|
||
|
||
@override
|
||
String get cardListFailed => 'Die Karten konnten nicht gelesen werden.';
|
||
|
||
@override
|
||
String get cardListMore => 'Mehr';
|
||
|
||
@override
|
||
String get cardListManageTags => 'Tags verwalten';
|
||
|
||
@override
|
||
String get composerTitle => 'Karteikarten erstellen';
|
||
|
||
@override
|
||
String composerTitleFor(String title) {
|
||
return 'Karteikarten erstellen für „$title“';
|
||
}
|
||
|
||
@override
|
||
String get composerEditTitle => 'Karteikarten bearbeiten';
|
||
|
||
@override
|
||
String composerEditTitleFor(String title) {
|
||
return 'Karteikarten bearbeiten in „$title“';
|
||
}
|
||
|
||
@override
|
||
String get composerSaving => 'Wird gespeichert…';
|
||
|
||
@override
|
||
String get composerSaveFailed =>
|
||
'Speichern fehlgeschlagen – erneut versuchen';
|
||
|
||
@override
|
||
String get composerAllSaved => 'Alle Änderungen gespeichert';
|
||
|
||
@override
|
||
String get composerNewFlashcard => 'Neue Karteikarte';
|
||
|
||
@override
|
||
String get composerCollapseStack => 'Stapel einklappen';
|
||
|
||
@override
|
||
String get composerExpandStack => 'Stapel ausklappen';
|
||
|
||
@override
|
||
String get composerStatusSaving => 'Wird gespeichert';
|
||
|
||
@override
|
||
String get composerStatusSaved => 'Gespeichert';
|
||
|
||
@override
|
||
String get composerStatusFailed => 'Speichern fehlgeschlagen';
|
||
|
||
@override
|
||
String get composerSaveFailedInline => 'Speichern fehlgeschlagen.';
|
||
|
||
@override
|
||
String get composerRetry => 'Erneut versuchen';
|
||
|
||
@override
|
||
String get composerEmptyPane => 'Füge eine Karteikarte hinzu, um loszulegen.';
|
||
|
||
@override
|
||
String get composerKindFlashcard => 'Karteikarte';
|
||
|
||
@override
|
||
String get composerKindVocabulary => 'Vokabel';
|
||
|
||
@override
|
||
String get composerKindMatching => 'Zuordnung';
|
||
|
||
@override
|
||
String get composerKindMap => 'Landkarte';
|
||
|
||
@override
|
||
String get composerLabelFront => 'Vorderseite';
|
||
|
||
@override
|
||
String get composerLabelQuestion => 'Frage';
|
||
|
||
@override
|
||
String get composerLabelExpression => 'Ausdruck';
|
||
|
||
@override
|
||
String get composerLabelPrompt => 'Aufgabe';
|
||
|
||
@override
|
||
String get composerLabelBack => 'Rückseite';
|
||
|
||
@override
|
||
String get composerLabelAnswers => 'Antworten';
|
||
|
||
@override
|
||
String get composerLabelAnswer => 'Antwort';
|
||
|
||
@override
|
||
String get composerPlaceholderFront => 'Frage hinzufügen';
|
||
|
||
@override
|
||
String get composerPlaceholderExpression => 'Ausdruck hinzufügen';
|
||
|
||
@override
|
||
String get composerPlaceholderPrompt => 'Aufgabe hinzufügen';
|
||
|
||
@override
|
||
String get composerAddAnswer => 'Antwort hinzufügen';
|
||
|
||
@override
|
||
String get composerCorrectAnswer => 'Richtige Antwort';
|
||
|
||
@override
|
||
String get composerWrongAnswer => 'Falsche Antwort';
|
||
|
||
@override
|
||
String get composerRemoveAnswer => 'Antwort entfernen';
|
||
|
||
@override
|
||
String composerPin(String field) {
|
||
return '$field anheften: für die nächste Karte behalten';
|
||
}
|
||
|
||
@override
|
||
String composerUnpin(String field) {
|
||
return '$field nicht mehr anheften: für die nächste Karte leeren';
|
||
}
|
||
|
||
@override
|
||
String get composerTags => 'Tags';
|
||
|
||
@override
|
||
String get composerAddTags => 'Tags hinzufügen';
|
||
|
||
@override
|
||
String get composerMoreActions => 'Weitere Aktionen';
|
||
|
||
@override
|
||
String get composerDuplicate => 'Duplizieren';
|
||
|
||
@override
|
||
String get composerClearFields => 'Felder leeren';
|
||
|
||
@override
|
||
String get composerDelete => 'Löschen';
|
||
|
||
@override
|
||
String get composerDeleteTitle => 'Diese Karteikarte löschen?';
|
||
|
||
@override
|
||
String get composerDeleteDraftMessage =>
|
||
'Der Entwurf wird aus dieser Sitzung entfernt. Er wurde noch nicht gespeichert.';
|
||
|
||
@override
|
||
String get composerDeleteSavedMessage =>
|
||
'Die Karteikarte wird auf all deinen Geräten aus dem Lernset entfernt.';
|
||
|
||
@override
|
||
String composerDiscardTitle(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'Nicht gespeicherte Karteikarten verwerfen?',
|
||
one: 'Nicht gespeicherte Karteikarte verwerfen?',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String composerDiscardMessage(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other:
|
||
'$count Karteikarten wurden noch nicht gespeichert. Wenn du jetzt gehst, werden sie verworfen.',
|
||
one: '1 Karteikarte wurde noch nicht gespeichert. Wenn du jetzt gehst, wird sie verworfen.',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get composerDiscardConfirm => 'Verwerfen';
|
||
|
||
@override
|
||
String get composerConflict =>
|
||
'Diese Karteikarte wurde auf zwei Geräten unterschiedlich geändert. Wähle unten für jeden Teil die Version, die du behalten möchtest.';
|
||
|
||
@override
|
||
String get composerKeepThis => 'Diese behalten';
|
||
|
||
@override
|
||
String get formatAlignLeft => 'Linksbündig';
|
||
|
||
@override
|
||
String get formatAlignCenter => 'Zentriert';
|
||
|
||
@override
|
||
String get formatAlignRight => 'Rechtsbündig';
|
||
|
||
@override
|
||
String get formatBold => 'Fett';
|
||
|
||
@override
|
||
String get formatItalic => 'Kursiv';
|
||
|
||
@override
|
||
String get formatUnderline => 'Unterstrichen';
|
||
|
||
@override
|
||
String get formatSuperscript => 'Hochgestellt';
|
||
|
||
@override
|
||
String get formatSubscript => 'Tiefgestellt';
|
||
|
||
@override
|
||
String get vocabularyReading => 'Lesung';
|
||
|
||
@override
|
||
String get vocabularyReadingHint => 'Kana-Lesung';
|
||
|
||
@override
|
||
String get vocabularyMeanings => 'Bedeutungen';
|
||
|
||
@override
|
||
String get vocabularyPrimaryMeaningHint => 'Hauptbedeutung';
|
||
|
||
@override
|
||
String get vocabularyMeaningHint => 'Bedeutung';
|
||
|
||
@override
|
||
String get vocabularyAddMeaning => 'Bedeutung hinzufügen';
|
||
|
||
@override
|
||
String get vocabularyRemoveMeaning => 'Bedeutung entfernen';
|
||
|
||
@override
|
||
String get matchingCategories => 'Kategorien';
|
||
|
||
@override
|
||
String get matchingCategoriesHint =>
|
||
'Die Ablagekarten, auf die Lernende Elemente ziehen. Jede Kategorie braucht mindestens ein Element, daher kann eine Karte nicht mehr Kategorien als Elemente haben.';
|
||
|
||
@override
|
||
String matchingCategory(int number) {
|
||
return 'Kategorie $number';
|
||
}
|
||
|
||
@override
|
||
String get matchingAddCategory => 'Kategorie hinzufügen';
|
||
|
||
@override
|
||
String get matchingAddCategoryBlocked =>
|
||
'Füge zuerst ein Element hinzu: Eine Karte kann nicht mehr Kategorien als Elemente haben';
|
||
|
||
@override
|
||
String get matchingRemoveCategory => 'Kategorie entfernen';
|
||
|
||
@override
|
||
String get matchingMinCategories => 'Mindestens zwei Kategorien erforderlich';
|
||
|
||
@override
|
||
String get matchingItems => 'Elemente';
|
||
|
||
@override
|
||
String get matchingItemsHint =>
|
||
'Die ziehbaren Elemente. Ordne jedes Element seiner richtigen Kategorie zu: Ein nicht zugeordnetes Element kann nie richtig platziert werden.';
|
||
|
||
@override
|
||
String matchingItem(int number) {
|
||
return 'Element $number';
|
||
}
|
||
|
||
@override
|
||
String get matchingAddItem => 'Element hinzufügen';
|
||
|
||
@override
|
||
String get matchingUnassigned => 'Nicht zugeordnet';
|
||
|
||
@override
|
||
String get matchingRemoveItem => 'Element entfernen';
|
||
|
||
@override
|
||
String get matchingMinItems => 'Mindestens zwei Elemente erforderlich';
|
||
|
||
@override
|
||
String get cardTileOptions => 'Optionen';
|
||
|
||
@override
|
||
String get cardTileEdit => 'Bearbeiten';
|
||
|
||
@override
|
||
String get cardTileDelete => 'Löschen';
|
||
|
||
@override
|
||
String get cardTileUntitled => 'Unbenannt';
|
||
|
||
@override
|
||
String get cardTileConflict => 'Auf zwei Geräten geändert';
|
||
|
||
@override
|
||
String get studyClose => 'Sitzung schließen';
|
||
|
||
@override
|
||
String get studyBackFirstOn =>
|
||
'Rückseite der Karten wird zuerst gezeigt: tippe zum Zurückschalten';
|
||
|
||
@override
|
||
String get studyBackFirstOff => 'Rückseite der Karten zuerst zeigen';
|
||
|
||
@override
|
||
String get studyShowAnswer => 'Antwort anzeigen';
|
||
|
||
@override
|
||
String get studyCheck => 'Prüfen';
|
||
|
||
@override
|
||
String get studyRatingBad => 'Schlecht';
|
||
|
||
@override
|
||
String get studyRatingOk => 'OK';
|
||
|
||
@override
|
||
String get studyRatingGood => 'Gut';
|
||
|
||
@override
|
||
String get studyRatingPerfect => 'Perfekt';
|
||
|
||
@override
|
||
String get studyNothingTitle => 'Gerade nichts zu lernen';
|
||
|
||
@override
|
||
String get studyNothingBody =>
|
||
'Komm später wieder, wenn mehr Karten fällig sind.';
|
||
|
||
@override
|
||
String studyNextDue(String interval) {
|
||
return 'Bis zur nächsten fälligen Karte: $interval.';
|
||
}
|
||
|
||
@override
|
||
String get studyDone => 'Fertig';
|
||
|
||
@override
|
||
String get studyRoundDone => 'Runde abgeschlossen';
|
||
|
||
@override
|
||
String get studyContinue => 'Weiterlernen';
|
||
|
||
@override
|
||
String get studyPrevious => 'Vorherige Karte';
|
||
|
||
@override
|
||
String get studyNext => 'Nächste Karte';
|
||
|
||
@override
|
||
String get studyReading => 'Lesung';
|
||
|
||
@override
|
||
String get studyMeanings => 'Bedeutungen';
|
||
|
||
@override
|
||
String get studyPlaceItems =>
|
||
'Ziehe jedes Element auf seine Kategorie oder tippe auf ein Element und dann auf eine Kategorie.';
|
||
|
||
@override
|
||
String studyMinutes(int count) {
|
||
return '$count Min.';
|
||
}
|
||
|
||
@override
|
||
String studyHours(int count) {
|
||
return '$count Std.';
|
||
}
|
||
|
||
@override
|
||
String studyDays(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Tage',
|
||
one: '1 Tag',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String studyMonths(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Monate',
|
||
one: '1 Monat',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String studyYears(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Jahre',
|
||
one: '1 Jahr',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String studyFilteredBy(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'Eingegrenzt durch $count Tag-Filter',
|
||
one: 'Eingegrenzt durch 1 Tag-Filter',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get studySettingsCardsPerRound => 'Karten pro Runde';
|
||
|
||
@override
|
||
String get studySettingsNewPerDay => 'Neue Karten pro Tag';
|
||
|
||
@override
|
||
String get studySettingsNewPerDayHint =>
|
||
'Wie viele noch nie gelernte Karten jedes Lernset pro Tag neu beginnt, sofern seine eigenen Lernoptionen nichts anderes sagen.';
|
||
|
||
@override
|
||
String get studyOptionsTitle => 'Lernoptionen';
|
||
|
||
@override
|
||
String get studyOptionsDescription =>
|
||
'Wie viele Karten dieses Lernset pro Tag bringt und welche zuerst kommen, auf all deinen Geräten. Die Lernsets darin behalten ihre eigenen.';
|
||
|
||
@override
|
||
String get studyOptionsReviewsPerDay => 'Wiederholungen pro Tag';
|
||
|
||
@override
|
||
String get studyOptionsReviewsPerDayHint =>
|
||
'Karten in ihren Lernschritten kommen trotzdem.';
|
||
|
||
@override
|
||
String get studyOptionsOrder => 'Reihenfolge';
|
||
|
||
@override
|
||
String get studyOptionsReviewsFirst => 'Wiederholungen zuerst';
|
||
|
||
@override
|
||
String get studyOptionsMixed => 'Gemischt';
|
||
|
||
@override
|
||
String get studyOptionsNewFirst => 'Neue zuerst';
|
||
|
||
@override
|
||
String get studyOptionsReset => 'Standard wiederherstellen';
|
||
|
||
@override
|
||
String get studySettingsUnlimited => 'Unbegrenzt';
|
||
|
||
@override
|
||
String get studySettingsSortBy => 'Sortieren nach';
|
||
|
||
@override
|
||
String get studySettingsLearnMode => 'Lernmodus';
|
||
|
||
@override
|
||
String get studyModeSpaced => 'Verteilte Wiederholung';
|
||
|
||
@override
|
||
String get studyModeSpacedHint =>
|
||
'Fällige Karten nach ihrem Zeitplan; Bewertungen verschieben sie.';
|
||
|
||
@override
|
||
String get studyModeCram => 'Pauken';
|
||
|
||
@override
|
||
String get studyModeCramHint =>
|
||
'Geh jede Karte durch, ohne die Zeitpläne zu ändern.';
|
||
|
||
@override
|
||
String get studySortOldestFirst => 'Älteste zuerst';
|
||
|
||
@override
|
||
String get studySortRandom => 'Zufällig';
|
||
|
||
@override
|
||
String get studySortNewestFirst => 'Neueste zuerst';
|
||
|
||
@override
|
||
String get studyFewer => 'Weniger';
|
||
|
||
@override
|
||
String get studyMore => 'Mehr';
|
||
|
||
@override
|
||
String get studysetMenuReset => 'Fortschritt zurücksetzen';
|
||
|
||
@override
|
||
String get studysetResetTitle => 'Fortschritt zurücksetzen?';
|
||
|
||
@override
|
||
String get studysetResetMessage =>
|
||
'Jede Karteikarte darin und in den enthaltenen Lernsets beginnt auf all deinen Geräten wieder als neu. Dein Lernverlauf bleibt erhalten. Du kannst dies für einige Sekunden rückgängig machen.';
|
||
|
||
@override
|
||
String get studysetResetConfirm => 'Zurücksetzen';
|
||
|
||
@override
|
||
String get studysetResetDone => 'Fortschritt zurückgesetzt';
|
||
|
||
@override
|
||
String get mapUnknown =>
|
||
'Diese Landkarte braucht eine neuere Version der App.';
|
||
|
||
@override
|
||
String get mapPickRegion =>
|
||
'Tippe auf die Region, die die Frage beantwortet; zoome mit zwei Fingern oder durch Scrollen.';
|
||
|
||
@override
|
||
String get mapNonePicked => 'Noch keine Region gewählt';
|
||
|
||
@override
|
||
String get composerPlaceholderQuestion => 'Frage hinzufügen';
|
||
|
||
@override
|
||
String get composerLabelRegion => 'Antwort';
|
||
|
||
@override
|
||
String get homeStreakTooltip => 'Lernserie';
|
||
|
||
@override
|
||
String get homeArrange => 'Widgets anordnen';
|
||
|
||
@override
|
||
String get homeDone => 'Fertig';
|
||
|
||
@override
|
||
String get homeDragToReorder => 'Zum Umsortieren ziehen';
|
||
|
||
@override
|
||
String homeShowWidget(String label) {
|
||
return '$label anzeigen';
|
||
}
|
||
|
||
@override
|
||
String homeHideWidget(String label) {
|
||
return '$label ausblenden';
|
||
}
|
||
|
||
@override
|
||
String get homeAllHidden => 'Alle Widgets sind ausgeblendet';
|
||
|
||
@override
|
||
String get homeAllHiddenHint =>
|
||
'Halte hier lange gedrückt, um welche zurückzuholen.';
|
||
|
||
@override
|
||
String get homeWidgetGoal => 'Lernziel';
|
||
|
||
@override
|
||
String get homeWidgetWeek => 'Wochenübersicht';
|
||
|
||
@override
|
||
String get homeWidgetActivity => 'Aktivitäts-Heatmap';
|
||
|
||
@override
|
||
String get homeActivityTitle => 'Deine Aktivität';
|
||
|
||
@override
|
||
String streakDays(num count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Tage in Folge',
|
||
one: '1 Tag in Folge',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get streakStart => 'Lerne heute, um deine Lernserie zu starten.';
|
||
|
||
@override
|
||
String get streakGrow =>
|
||
'Bleib dran: Lerne mindestens einmal am Tag, um deine Lernserie auszubauen.';
|
||
|
||
@override
|
||
String get streakFirstDay =>
|
||
'Wiederhole heute ein paar Karten, um den ersten Tag zu entfachen.';
|
||
|
||
@override
|
||
String get streakComeBack =>
|
||
'Komm morgen wieder, um deine Lernserie zu halten.';
|
||
|
||
@override
|
||
String get streakKeepAlive =>
|
||
'Lerne heute, um deine Lernserie am Leben zu halten.';
|
||
|
||
@override
|
||
String get goalEditTitle => 'Lernziel bearbeiten';
|
||
|
||
@override
|
||
String get goalSetTitle => 'Lernziel festlegen';
|
||
|
||
@override
|
||
String get goalDescriptionDaily =>
|
||
'Wiederhole jeden Tag eine bestimmte Anzahl Karteikarten. Jede Karte, die du bewertest, zählt.';
|
||
|
||
@override
|
||
String get goalDescriptionWeekly =>
|
||
'Wiederhole jede Woche ab Montag eine bestimmte Anzahl Karteikarten. Jede Karte, die du bewertest, zählt.';
|
||
|
||
@override
|
||
String get goalPeriod => 'Zeitraum';
|
||
|
||
@override
|
||
String get goalPerDay => 'Pro Tag';
|
||
|
||
@override
|
||
String get goalPerWeek => 'Pro Woche';
|
||
|
||
@override
|
||
String get goalCardsPerDay => 'Karten pro Tag';
|
||
|
||
@override
|
||
String get goalCardsPerWeek => 'Karten pro Woche';
|
||
|
||
@override
|
||
String get goalSave => 'Ziel speichern';
|
||
|
||
@override
|
||
String get goalRemove => 'Ziel entfernen';
|
||
|
||
@override
|
||
String get goalEmptySubtitle =>
|
||
'Wiederhole jeden Tag oder jede Woche eine feste Anzahl Karten.';
|
||
|
||
@override
|
||
String get goalDailyHeadline => 'Tagesziel';
|
||
|
||
@override
|
||
String get goalWeeklyHeadline => 'Wochenziel';
|
||
|
||
@override
|
||
String goalProgressToday(int reviewed, int target) {
|
||
return '$reviewed von $target Karten heute';
|
||
}
|
||
|
||
@override
|
||
String goalProgressThisWeek(int reviewed, int target) {
|
||
return '$reviewed von $target Karten diese Woche';
|
||
}
|
||
|
||
@override
|
||
String get goalMet => 'Ziel erreicht: gut gemacht!';
|
||
|
||
@override
|
||
String goalRemaining(int count) {
|
||
return 'Noch $count';
|
||
}
|
||
|
||
@override
|
||
String get weekToday => 'Heute';
|
||
|
||
@override
|
||
String get weekPreviousDay => 'Vorheriger Tag';
|
||
|
||
@override
|
||
String get weekNextDay => 'Nächster Tag';
|
||
|
||
@override
|
||
String get weekRestDay => 'Ruhetag';
|
||
|
||
@override
|
||
String weekDueCount(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Karten fällig',
|
||
one: '1 Karte fällig',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get heatmapLess => 'Weniger';
|
||
|
||
@override
|
||
String get heatmapMore => 'Mehr';
|
||
|
||
@override
|
||
String heatmapTotal(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Aktivitäten im letzten Jahr',
|
||
one: '1 Aktivität im letzten Jahr',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String heatmapDay(int count, String date) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Aktivitäten',
|
||
one: '1 Aktivität',
|
||
zero: 'Nichts',
|
||
);
|
||
return '$_temp0 · $date';
|
||
}
|
||
|
||
@override
|
||
String get commonCancel => 'Abbrechen';
|
||
|
||
@override
|
||
String get commonSave => 'Speichern';
|
||
|
||
@override
|
||
String get commonClose => 'Schließen';
|
||
|
||
@override
|
||
String get commonUndo => 'Rückgängig';
|
||
|
||
@override
|
||
String get commonTryAgain => 'Erneut versuchen';
|
||
|
||
@override
|
||
String get personDataFailed =>
|
||
'Die Daten dieses Geräts konnten nicht geöffnet werden.';
|
||
|
||
@override
|
||
String get sessionUnreachable => 'Der Server war nicht erreichbar.';
|
||
|
||
@override
|
||
String get notFoundGone =>
|
||
'Das gibt es nicht mehr. Vielleicht wurde es auf einem anderen Gerät gelöscht.';
|
||
|
||
@override
|
||
String get fileImage => 'Bild';
|
||
|
||
@override
|
||
String get fileSound => 'Audio';
|
||
|
||
@override
|
||
String get fileImageUnavailable =>
|
||
'Dieses Bild ist noch nicht auf diesem Gerät. Es erscheint, sobald es hochgeladen ist und du online bist.';
|
||
|
||
@override
|
||
String get fileImageUnreadable =>
|
||
'Dieses Bild kann nicht angezeigt werden. Die Datei ist vielleicht beschädigt oder in einem Format, das dieses Gerät nicht lesen kann.';
|
||
|
||
@override
|
||
String get fileFromElsewhere => 'Dateien aus dem Web werden nicht angezeigt.';
|
||
|
||
@override
|
||
String get filePlaySound => 'Audio abspielen';
|
||
|
||
@override
|
||
String get fileStopSound => 'Audio stoppen';
|
||
|
||
@override
|
||
String get fileSoundUnavailable =>
|
||
'Diese Audiodatei ist noch nicht auf diesem Gerät. Du kannst sie abspielen, sobald sie hochgeladen ist und du online bist.';
|
||
|
||
@override
|
||
String get fileSoundUnplayable =>
|
||
'Diese Audiodatei kann nicht abgespielt werden. Die Datei ist vielleicht beschädigt oder in einem Format, das dieses Gerät nicht abspielen kann.';
|
||
|
||
@override
|
||
String get fileImages => 'Bilder';
|
||
|
||
@override
|
||
String get fileSounds => 'Audiodateien';
|
||
|
||
@override
|
||
String get fileNotAnImage =>
|
||
'Diese Datei ist kein Bild, das die App anzeigen kann.';
|
||
|
||
@override
|
||
String get fileNotASound =>
|
||
'Diese Datei ist keine Audiodatei, die die App abspielen kann.';
|
||
|
||
@override
|
||
String fileTooLarge(int megabytes) {
|
||
return 'Diese Datei ist größer als $megabytes MB.';
|
||
}
|
||
|
||
@override
|
||
String get fileNotKept =>
|
||
'Die Datei konnte nicht auf diesem Gerät gespeichert werden.';
|
||
|
||
@override
|
||
String get fileRemoveImage => 'Bild entfernen';
|
||
|
||
@override
|
||
String get fileRemoveSound => 'Audio entfernen';
|
||
|
||
@override
|
||
String get editorInsert => 'Einfügen';
|
||
|
||
@override
|
||
String get blockGroupText => 'Text';
|
||
|
||
@override
|
||
String get blockGroupBlocks => 'Blöcke';
|
||
|
||
@override
|
||
String get blockGroupMedia => 'Medien';
|
||
|
||
@override
|
||
String blockHeading(int level) {
|
||
return 'Überschrift $level';
|
||
}
|
||
|
||
@override
|
||
String get blockBulletedList => 'Aufzählung';
|
||
|
||
@override
|
||
String get blockNumberedList => 'Nummerierte Liste';
|
||
|
||
@override
|
||
String get blockChecklist => 'Checkliste';
|
||
|
||
@override
|
||
String get blockQuote => 'Zitat';
|
||
|
||
@override
|
||
String get blockListItem => 'Listenpunkt';
|
||
|
||
@override
|
||
String get blockChecklistItem => 'Aufgabe';
|
||
|
||
@override
|
||
String get editorSlashHint =>
|
||
'Tippe / für einen Block oder schreib einfach los';
|
||
|
||
@override
|
||
String get blockDivider => 'Trennlinie';
|
||
|
||
@override
|
||
String get blockTable => 'Tabelle';
|
||
|
||
@override
|
||
String get blockRemove => 'Entfernen';
|
||
|
||
@override
|
||
String get blockUnknown => 'Dieser Teil braucht eine neuere Version der App.';
|
||
|
||
@override
|
||
String get blockCallout => 'Hinweisbox';
|
||
|
||
@override
|
||
String get blockSpoiler => 'Spoiler';
|
||
|
||
@override
|
||
String get calloutNote => 'Notiz';
|
||
|
||
@override
|
||
String get calloutInfo => 'Info';
|
||
|
||
@override
|
||
String get calloutTip => 'Tipp';
|
||
|
||
@override
|
||
String get calloutSuccess => 'Erfolg';
|
||
|
||
@override
|
||
String get calloutQuestion => 'Frage';
|
||
|
||
@override
|
||
String get calloutWarning => 'Warnung';
|
||
|
||
@override
|
||
String get calloutDanger => 'Gefahr';
|
||
|
||
@override
|
||
String get calloutQuote => 'Zitat';
|
||
|
||
@override
|
||
String get calloutOptions => 'Hinweisbox-Optionen';
|
||
|
||
@override
|
||
String get calloutEditTitle => 'Titel bearbeiten…';
|
||
|
||
@override
|
||
String get calloutFoldedAtFirst => 'Anfangs eingeklappt';
|
||
|
||
@override
|
||
String get calloutRemove => 'Hinweisbox entfernen';
|
||
|
||
@override
|
||
String get calloutShow => 'Einblenden';
|
||
|
||
@override
|
||
String get calloutHide => 'Ausblenden';
|
||
|
||
@override
|
||
String get calloutWriteInside => 'Hineinschreiben';
|
||
|
||
@override
|
||
String get calloutTitleDialog => 'Titel der Hinweisbox';
|
||
|
||
@override
|
||
String get calloutTitleLabel => 'Titel';
|
||
|
||
@override
|
||
String get calloutTitleHelper =>
|
||
'Lass ihn leer, um den Namen des Typs anzuzeigen.';
|
||
|
||
@override
|
||
String get spoilerReveal => 'Aufdecken';
|
||
|
||
@override
|
||
String get spoilerPlaceholder => 'Versteckter Text, per Tippen aufgedeckt';
|
||
|
||
@override
|
||
String get blockFormula => 'Formel';
|
||
|
||
@override
|
||
String get formatInlineMath => 'Formel in der Zeile';
|
||
|
||
@override
|
||
String get formulaTitle => 'Formel';
|
||
|
||
@override
|
||
String get formulaInLineTitle => 'Formel in der Zeile';
|
||
|
||
@override
|
||
String get formulaPreview => 'Vorschau';
|
||
|
||
@override
|
||
String get formulaPreviewEmpty => 'Hier erscheint die Formel';
|
||
|
||
@override
|
||
String get formulaLatex => 'LaTeX';
|
||
|
||
@override
|
||
String get formulaLatexHelper =>
|
||
'\\\\ beginnt eine neue Zeile in aligned, cases oder einer Matrix.';
|
||
|
||
@override
|
||
String get formulaEmpty => 'Eine leere Formel. Tippe, um sie zu schreiben.';
|
||
|
||
@override
|
||
String get formulaEdit => 'Formel bearbeiten';
|
||
|
||
@override
|
||
String get formulaRemove => 'Formel entfernen';
|
||
|
||
@override
|
||
String get blockYoutube => 'YouTube-Video';
|
||
|
||
@override
|
||
String get youtubeLink => 'YouTube-Link';
|
||
|
||
@override
|
||
String get youtubeLinkHelper => 'Füge einen Link von YouTube ein.';
|
||
|
||
@override
|
||
String get youtubeNotFound => 'In diesem Link ist kein YouTube-Video.';
|
||
|
||
@override
|
||
String get youtubeFound => 'Video gefunden.';
|
||
|
||
@override
|
||
String youtubeFoundFrom(String time) {
|
||
return 'Video gefunden, Start bei $time.';
|
||
}
|
||
|
||
@override
|
||
String get youtubeCaption => 'Beschriftung';
|
||
|
||
@override
|
||
String get youtubeCaptionHelper =>
|
||
'Wird anstelle des Videos angezeigt, bis es abgespielt wird.';
|
||
|
||
@override
|
||
String get youtubeVideo => 'YouTube-Video';
|
||
|
||
@override
|
||
String get youtubeSource => 'YouTube';
|
||
|
||
@override
|
||
String youtubeFrom(String time) {
|
||
return 'YouTube · ab $time';
|
||
}
|
||
|
||
@override
|
||
String get youtubeEdit => 'Video bearbeiten';
|
||
|
||
@override
|
||
String get youtubePlay => 'Video abspielen';
|
||
|
||
@override
|
||
String get youtubeOpen => 'Auf YouTube öffnen';
|
||
|
||
@override
|
||
String get youtubeRemove => 'Video entfernen';
|
||
|
||
@override
|
||
String get youtubeBroken =>
|
||
'Der Link dieses Videos kann nicht gelesen werden.';
|
||
|
||
@override
|
||
String get youtubeNotOpened => 'YouTube konnte nicht geöffnet werden.';
|
||
|
||
@override
|
||
String get blockStudyButton => 'Lernbutton';
|
||
|
||
@override
|
||
String get studyButtonDefaultLabel => 'Lernen';
|
||
|
||
@override
|
||
String get studyButtonStudyset => 'Lernset';
|
||
|
||
@override
|
||
String get studyButtonTag => 'Karten';
|
||
|
||
@override
|
||
String get studyButtonAllCards => 'Alle Karten';
|
||
|
||
@override
|
||
String get studyButtonLabel => 'Beschriftung';
|
||
|
||
@override
|
||
String get studyButtonTopics => 'Mit seinen Themen';
|
||
|
||
@override
|
||
String get studyButtonBackFirst => 'Rückseite zuerst';
|
||
|
||
@override
|
||
String get studyButtonBackFirstHelper =>
|
||
'Karten mit Vorder- und Rückseite sowie Vokabelkarten fragen ihre Rückseite ab.';
|
||
|
||
@override
|
||
String studyButtonWithTag(String tag) {
|
||
return 'Mit Tag $tag';
|
||
}
|
||
|
||
@override
|
||
String get studyButtonAlone => 'Ohne seine Themen';
|
||
|
||
@override
|
||
String get studyButtonEdit => 'Lernbutton bearbeiten';
|
||
|
||
@override
|
||
String get studyButtonRemove => 'Lernbutton entfernen';
|
||
|
||
@override
|
||
String get studyButtonBroken =>
|
||
'Dieser Lernbutton gibt nicht an, was gelernt werden soll.';
|
||
|
||
@override
|
||
String get studyButtonGone => 'Dieses Lernset gibt es nicht mehr.';
|
||
|
||
@override
|
||
String get pdfPageField => 'PDF-Seite';
|
||
|
||
@override
|
||
String get studysetTabFiles => 'Dateien';
|
||
|
||
@override
|
||
String get pdfUploadMenu => 'PDF hochladen';
|
||
|
||
@override
|
||
String get pdfFileType => 'PDFs';
|
||
|
||
@override
|
||
String pdfAdded(String title) {
|
||
return '„$title“ hinzugefügt.';
|
||
}
|
||
|
||
@override
|
||
String get pdfNotPdf => 'Diese Datei ist kein PDF.';
|
||
|
||
@override
|
||
String pdfTooLarge(int megabytes) {
|
||
return 'Dieses PDF ist größer als $megabytes MB.';
|
||
}
|
||
|
||
@override
|
||
String get pdfDuplicateTitle => 'PDF schon vorhanden';
|
||
|
||
@override
|
||
String pdfDuplicateMessage(String title) {
|
||
return 'Diese Datei ist „$title“ und liegt schon in diesem Lernset. Als Kopie hinzufügen oder das vorhandene behalten?';
|
||
}
|
||
|
||
@override
|
||
String get pdfDuplicateKeep => 'Vorhandenes behalten';
|
||
|
||
@override
|
||
String get pdfDuplicateAdd => 'Kopie hinzufügen';
|
||
|
||
@override
|
||
String get filesEmpty => 'Noch keine Dateien';
|
||
|
||
@override
|
||
String get filesEmptyHint =>
|
||
'Nutze „Material hinzufügen → PDF hochladen“, um eines hinzuzufügen.';
|
||
|
||
@override
|
||
String get filesSort => 'Sortieren';
|
||
|
||
@override
|
||
String get filesSortName => 'Name (A–Z)';
|
||
|
||
@override
|
||
String get filesSortNewest => 'Neueste zuerst';
|
||
|
||
@override
|
||
String get filesSortOldest => 'Älteste zuerst';
|
||
|
||
@override
|
||
String get filesSortLargest => 'Größte zuerst';
|
||
|
||
@override
|
||
String pdfPages(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Seiten',
|
||
one: '1 Seite',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String pdfPercentRead(int percent) {
|
||
return '$percent % gelesen';
|
||
}
|
||
|
||
@override
|
||
String get pdfDeadlineMet => 'Lesefrist eingehalten';
|
||
|
||
@override
|
||
String pdfDeadlineUpcoming(int days, int pages) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
days,
|
||
locale: localeName,
|
||
other: '$days Tagen',
|
||
one: '1 Tag',
|
||
);
|
||
return 'Beginnt in $_temp0 – $pages/Tag geplant';
|
||
}
|
||
|
||
@override
|
||
String pdfDeadlinePassed(int pages) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
pages,
|
||
locale: localeName,
|
||
other: '$pages Seiten',
|
||
one: '1 Seite',
|
||
);
|
||
return 'Frist abgelaufen – noch $_temp0';
|
||
}
|
||
|
||
@override
|
||
String pdfDeadlineToday(int pages) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
pages,
|
||
locale: localeName,
|
||
other: '$pages Seiten',
|
||
one: '1 Seite',
|
||
);
|
||
return 'Heute fällig – noch $_temp0';
|
||
}
|
||
|
||
@override
|
||
String pdfDeadlinePace(int pages, int target, int days) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
days,
|
||
locale: localeName,
|
||
other: '$days Tagen',
|
||
one: '1 Tag',
|
||
);
|
||
return '$pages/Tag, um in $_temp0 Seite $target zu erreichen';
|
||
}
|
||
|
||
@override
|
||
String get pdfOptions => 'Aktionen';
|
||
|
||
@override
|
||
String get pdfRename => 'Umbenennen';
|
||
|
||
@override
|
||
String get pdfRenameTitle => 'PDF umbenennen';
|
||
|
||
@override
|
||
String get pdfRenameLabel => 'Titel';
|
||
|
||
@override
|
||
String get pdfSetDeadline => 'Lesefrist festlegen';
|
||
|
||
@override
|
||
String get pdfEditDeadline => 'Lesefrist bearbeiten';
|
||
|
||
@override
|
||
String get pdfMarkFinished => 'Als abgeschlossen markieren';
|
||
|
||
@override
|
||
String get pdfResetReading => 'Lesefortschritt zurücksetzen';
|
||
|
||
@override
|
||
String get pdfResetTitle => 'Lesefortschritt zurücksetzen?';
|
||
|
||
@override
|
||
String pdfResetMessage(String title) {
|
||
return 'Wie weit du „$title“ gelesen hast, wird vergessen. Das PDF, seine Karteikarten und Notizen bleiben.';
|
||
}
|
||
|
||
@override
|
||
String get pdfResetConfirm => 'Zurücksetzen';
|
||
|
||
@override
|
||
String get pdfMoreInfo => 'Weitere Infos';
|
||
|
||
@override
|
||
String get pdfInfoFileName => 'Dateiname';
|
||
|
||
@override
|
||
String get pdfInfoSize => 'Größe';
|
||
|
||
@override
|
||
String get pdfInfoPages => 'Seiten';
|
||
|
||
@override
|
||
String get pdfInfoUnknown => 'Bekannt, sobald es geöffnet wurde';
|
||
|
||
@override
|
||
String get pdfDelete => 'Löschen';
|
||
|
||
@override
|
||
String get pdfDeleteTitle => 'PDF löschen?';
|
||
|
||
@override
|
||
String pdfDeleteMessage(String title) {
|
||
return '„$title“ wird samt Lesefortschritt aus diesem Lernset entfernt. Karteikarten und Notizen, die daraus entstanden sind, bleiben.';
|
||
}
|
||
|
||
@override
|
||
String get pdfDeleteConfirm => 'Löschen';
|
||
|
||
@override
|
||
String get pdfDeleted => 'PDF gelöscht';
|
||
|
||
@override
|
||
String get deadlineSheetSet => 'Lesefrist festlegen';
|
||
|
||
@override
|
||
String get deadlineSheetEdit => 'Lesefrist bearbeiten';
|
||
|
||
@override
|
||
String get deadlineSheetHelp =>
|
||
'Erreiche bis zu einem Tag eine bestimmte Seite. Der Fortschritt folgt der weitesten Seite, die du beim Lesen erreichst.';
|
||
|
||
@override
|
||
String deadlineReachPageOf(int count) {
|
||
return 'Seite erreichen (von $count)';
|
||
}
|
||
|
||
@override
|
||
String get deadlineReachPage => 'Seite erreichen';
|
||
|
||
@override
|
||
String get deadlineDecrease => 'Verringern';
|
||
|
||
@override
|
||
String get deadlineIncrease => 'Erhöhen';
|
||
|
||
@override
|
||
String get deadlineChapter => 'Oder ein Kapitel abschließen';
|
||
|
||
@override
|
||
String deadlineChapterEntry(String title, int page) {
|
||
return '$title · bis S. $page';
|
||
}
|
||
|
||
@override
|
||
String get deadlineBy => 'Bis';
|
||
|
||
@override
|
||
String get deadlineStart => 'Beginn am';
|
||
|
||
@override
|
||
String get deadlineStartToday => 'Heute';
|
||
|
||
@override
|
||
String get deadlineStartReset => 'Heute beginnen';
|
||
|
||
@override
|
||
String get deadlineStartHelp =>
|
||
'Das Tagespensum zählt ab diesem Tag. Bis dahin wartet das PDF unter „Demnächst“.';
|
||
|
||
@override
|
||
String get deadlineSave => 'Frist speichern';
|
||
|
||
@override
|
||
String get deadlineRemove => 'Frist entfernen';
|
||
|
||
@override
|
||
String get readerMissing =>
|
||
'Dieses PDF ist noch nicht auf diesem Gerät. Es öffnet sich, sobald das Gerät, das es hinzugefügt hat, es hochgeladen hat und du online bist.';
|
||
|
||
@override
|
||
String get readerUnreadable =>
|
||
'Diese Datei kann nicht als PDF gelesen werden.';
|
||
|
||
@override
|
||
String get readerBack => 'Zurück zum Lernset';
|
||
|
||
@override
|
||
String get readerSearch => 'PDF durchsuchen';
|
||
|
||
@override
|
||
String get readerFitWidth => 'An Breite anpassen';
|
||
|
||
@override
|
||
String get readerFitHeight => 'An Höhe anpassen';
|
||
|
||
@override
|
||
String get readerZoomIn => 'Vergrößern';
|
||
|
||
@override
|
||
String get readerZoomOut => 'Verkleinern';
|
||
|
||
@override
|
||
String get readerSetZoom => 'Zoom festlegen';
|
||
|
||
@override
|
||
String get readerZoomTitle => 'Zoom';
|
||
|
||
@override
|
||
String get readerZoomApply => 'Anwenden';
|
||
|
||
@override
|
||
String get readerFullscreen => 'Vollbild';
|
||
|
||
@override
|
||
String get readerExitFullscreen => 'Vollbild verlassen';
|
||
|
||
@override
|
||
String get readerPreviousPage => 'Vorherige Seite';
|
||
|
||
@override
|
||
String get readerNextPage => 'Nächste Seite';
|
||
|
||
@override
|
||
String readerPageOf(int count) {
|
||
return '/ $count';
|
||
}
|
||
|
||
@override
|
||
String get readerFindHint => 'Im PDF suchen';
|
||
|
||
@override
|
||
String readerMatchOf(int current, int total) {
|
||
return '$current von $total';
|
||
}
|
||
|
||
@override
|
||
String get readerPreviousMatch => 'Vorheriger Treffer';
|
||
|
||
@override
|
||
String get readerNextMatch => 'Nächster Treffer';
|
||
|
||
@override
|
||
String get readerCloseSearch => 'Suche schließen';
|
||
|
||
@override
|
||
String get readerExpand => 'Ausklappen';
|
||
|
||
@override
|
||
String get readerCollapse => 'Einklappen';
|
||
|
||
@override
|
||
String get readerTabFlashcards => 'Karteikarten';
|
||
|
||
@override
|
||
String get readerTabNotes => 'Notizen';
|
||
|
||
@override
|
||
String get readerCardCreated => 'Karteikarte erstellt';
|
||
|
||
@override
|
||
String get readerCardDeleteTitle => 'Karteikarte löschen?';
|
||
|
||
@override
|
||
String get readerCardDeleteMessage =>
|
||
'Die Karteikarte wird samt ihrem Lernverlauf gelöscht.';
|
||
|
||
@override
|
||
String get readerCardDeleteConfirm => 'Löschen';
|
||
|
||
@override
|
||
String get readerFrontMatter => 'Vorspann';
|
||
|
||
@override
|
||
String readerPage(int page) {
|
||
return 'Seite $page';
|
||
}
|
||
|
||
@override
|
||
String get readerByPage => 'Seite';
|
||
|
||
@override
|
||
String get readerByChapter => 'Kapitel';
|
||
|
||
@override
|
||
String get readerCardsEmpty =>
|
||
'Wähle Text aus, um im Nu Karteikarten zu erstellen';
|
||
|
||
@override
|
||
String get readerCardsEmptyHint =>
|
||
'Wähle die wichtigen Zeilen aus und schicke sie in eine Frage oder eine Antwort, oder nutze „Karteikarte erstellen“.';
|
||
|
||
@override
|
||
String get readerCreateCard => 'Karteikarte erstellen';
|
||
|
||
@override
|
||
String get readerEditCard => 'Karteikarte bearbeiten';
|
||
|
||
@override
|
||
String get readerBackToCards => 'Zurück zu den Karteikarten';
|
||
|
||
@override
|
||
String readerReferencedPage(int page) {
|
||
return 'Referenzierte Seite: $page';
|
||
}
|
||
|
||
@override
|
||
String readerUseCurrentPage(int page) {
|
||
return 'Aktuelle verwenden ($page)';
|
||
}
|
||
|
||
@override
|
||
String get readerQuestion => 'Frage';
|
||
|
||
@override
|
||
String get readerAnswer => 'Antwort';
|
||
|
||
@override
|
||
String get readerKeepOpen => 'Erstellungsmodus geöffnet lassen';
|
||
|
||
@override
|
||
String get readerClear => 'Leeren';
|
||
|
||
@override
|
||
String get readerCreate => 'Erstellen';
|
||
|
||
@override
|
||
String get readerUntitledCard => 'Unbenannte Karteikarte';
|
||
|
||
@override
|
||
String get readerCardOptions => 'Kartenoptionen';
|
||
|
||
@override
|
||
String get readerNoteSaved => 'Gespeichert';
|
||
|
||
@override
|
||
String get readerNoteEditing => 'Wird bearbeitet…';
|
||
|
||
@override
|
||
String get readerNoteSaving => 'Wird gespeichert…';
|
||
|
||
@override
|
||
String get readerNoteFailed => 'Speichern fehlgeschlagen';
|
||
|
||
@override
|
||
String get readerToQuestion => 'Frage';
|
||
|
||
@override
|
||
String get readerToAnswer => 'Antwort';
|
||
|
||
@override
|
||
String get readerToNote => 'Notizen';
|
||
|
||
@override
|
||
String get readerLineBreaksJoined =>
|
||
'Zeilenumbrüche zusammengeführt (tippen zum Beibehalten)';
|
||
|
||
@override
|
||
String get readerLineBreaksKept =>
|
||
'Zeilenumbrüche beibehalten (tippen zum Zusammenführen)';
|
||
|
||
@override
|
||
String get blockScreenshot => 'Bildschirmfoto der Seite';
|
||
|
||
@override
|
||
String get readerCaptureCancel => 'Bildschirmfoto abbrechen';
|
||
|
||
@override
|
||
String get readerCaptureHint =>
|
||
'Ziehe über den Teil der Seite, den du behalten willst';
|
||
|
||
@override
|
||
String get readerCaptureFailed =>
|
||
'Die Seite konnte nicht dargestellt werden. Versuche es erneut, sobald sie geladen ist.';
|
||
|
||
@override
|
||
String get readerScreenshotSaved => 'Bildschirmfoto gespeichert';
|
||
|
||
@override
|
||
String get imageOpenPdfPage => 'PDF auf dieser Seite öffnen';
|
||
|
||
@override
|
||
String get homeWidgetDeadlines => 'Lesefristen';
|
||
|
||
@override
|
||
String get deadlinesTitle => 'Lesefristen';
|
||
|
||
@override
|
||
String get deadlinesCurrent => 'Aktuell';
|
||
|
||
@override
|
||
String get deadlinesUpcoming => 'Demnächst';
|
||
|
||
@override
|
||
String deadlinesProgress(int furthest, int target, String when) {
|
||
return 'S. $furthest/$target · $when';
|
||
}
|
||
|
||
@override
|
||
String get deadlinePassedShort => 'Frist abgelaufen';
|
||
|
||
@override
|
||
String get deadlineDueTodayShort => 'heute fällig';
|
||
|
||
@override
|
||
String deadlineDaysLeft(int days) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
days,
|
||
locale: localeName,
|
||
other: 'noch $days Tage',
|
||
one: 'noch 1 Tag',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String deadlineToPageToday(int page) {
|
||
return 'heute bis S. $page';
|
||
}
|
||
|
||
@override
|
||
String deadlineStartsIn(int days) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
days,
|
||
locale: localeName,
|
||
other: '$days Tagen',
|
||
one: '1 Tag',
|
||
);
|
||
return 'Beginnt in $_temp0';
|
||
}
|
||
|
||
@override
|
||
String get deadlinesPlaceholder => 'Erscheint, sobald du Lesefristen hast';
|
||
|
||
@override
|
||
String get deadlinesOpenTimeline => 'Zeitleiste öffnen';
|
||
|
||
@override
|
||
String get timelineTitle => 'Lesefristen-Zeitleiste';
|
||
|
||
@override
|
||
String get timelineEmpty => 'Noch keine Lesefristen';
|
||
|
||
@override
|
||
String get timelineEmptyHint =>
|
||
'Lege für ein PDF eine Lesefrist fest, um sie hier zu sehen.';
|
||
|
||
@override
|
||
String get timelineToday => 'Heute';
|
||
|
||
@override
|
||
String timelinePages(int furthest, int target) {
|
||
return 'S. $furthest/$target';
|
||
}
|
||
|
||
@override
|
||
String chapterFinished(String chapter, int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Karten',
|
||
one: 'Karte',
|
||
);
|
||
return '„$chapter“ fertig gelesen – die $_temp0 lernen, die du erstellt hast?';
|
||
}
|
||
|
||
@override
|
||
String get chapterStudyNow => 'Jetzt lernen';
|
||
|
||
@override
|
||
String get chapterDismiss => 'Schließen';
|
||
|
||
@override
|
||
String get deadlineChapterLoading => 'Kapitel werden geladen…';
|
||
|
||
@override
|
||
String fileSizeKb(int size) {
|
||
return '$size KB';
|
||
}
|
||
|
||
@override
|
||
String fileSizeMb(String size) {
|
||
return '$size MB';
|
||
}
|
||
|
||
@override
|
||
String pdfPageShort(int page) {
|
||
return 'S. $page';
|
||
}
|
||
|
||
@override
|
||
String get ankiImportMenu => 'Aus Anki importieren';
|
||
|
||
@override
|
||
String get ankiImportFileType => 'Anki-Stapel';
|
||
|
||
@override
|
||
String get ankiImportTitle => 'Anki-Stapel importieren';
|
||
|
||
@override
|
||
String get ankiImportOptionsTitle =>
|
||
'Wie sollen Unterstapel importiert werden?';
|
||
|
||
@override
|
||
String get ankiImportReading => 'Stapel wird gelesen…';
|
||
|
||
@override
|
||
String ankiImportSummary(int cards) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
cards,
|
||
locale: localeName,
|
||
other: '$cards Karten.',
|
||
one: '1 Karte.',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String ankiImportSummaryDecks(int cards, int decks) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
cards,
|
||
locale: localeName,
|
||
other: '$cards Karten',
|
||
one: '1 Karte',
|
||
);
|
||
return '$_temp0 in $decks Unterstapeln.';
|
||
}
|
||
|
||
@override
|
||
String get ankiImportModeFlatten => 'In dieses Lernset zusammenführen';
|
||
|
||
@override
|
||
String get ankiImportModeFlattenSubtitle =>
|
||
'Alle Karten hierher importieren und die Unterstapel ignorieren.';
|
||
|
||
@override
|
||
String get ankiImportModeSubStudysets => 'Als Unter-Lernsets nachbilden';
|
||
|
||
@override
|
||
String get ankiImportModeSubStudysetsSubtitle =>
|
||
'Die Unterstapel nachbilden: Jeder Unterstapel wird ein verschachteltes Lernset.';
|
||
|
||
@override
|
||
String get ankiImportModeTag => 'Karten nach Unterstapel taggen';
|
||
|
||
@override
|
||
String get ankiImportModeTagSubtitle =>
|
||
'Alle Karten hier behalten, getaggt mit jedem Unterstapel, aus dem sie stammen.';
|
||
|
||
@override
|
||
String get ankiImportProgress => 'Lernfortschritt importieren';
|
||
|
||
@override
|
||
String get ankiImportProgressSubtitle =>
|
||
'Den Wiederholungsverlauf aus Anki übernehmen: Karten machen dort weiter, wo sie aufgehört haben. Neue Karten bleiben neu.';
|
||
|
||
@override
|
||
String ankiImportMedia(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: 'Medien übernehmen ($count Dateien)',
|
||
one: 'Medien übernehmen (1 Datei)',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get ankiImportMediaSubtitle =>
|
||
'Bilder und Töne des Stapels auf den Karten behalten.';
|
||
|
||
@override
|
||
String ankiImportMediaMayNotFit(String size, String left) {
|
||
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';
|
||
|
||
@override
|
||
String get ankiImportNotAPackage =>
|
||
'Das ist kein Anki-Stapel. Exportiere in Anki einen Stapel als .apkg-Datei und importiere diese.';
|
||
|
||
@override
|
||
String get ankiImportNewerFormat =>
|
||
'Dieser Stapel stammt aus einer neueren Anki-Version, die diese App noch nicht kennt. Exportiere ihn erneut mit „Ältere Anki-Versionen unterstützen“.';
|
||
|
||
@override
|
||
String get ankiImportUnreadable =>
|
||
'Dieser Stapel ist beschädigt und kann nicht gelesen werden.';
|
||
|
||
@override
|
||
String get ankiImportBrokeOff =>
|
||
'Der Import wurde abgebrochen. Die bis dahin importierten Karten bleiben erhalten.';
|
||
|
||
@override
|
||
String ankiImported(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Karteikarten aus Anki importiert.',
|
||
one: '1 Karteikarte aus Anki importiert.',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String ankiImportedSubStudysets(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Karten in Unter-Lernsets importiert.',
|
||
one: '1 Karte in Unter-Lernsets importiert.',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String ankiImportedTagged(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Karten importiert und nach Unterstapel getaggt.',
|
||
one: '1 Karte importiert und nach Unterstapel getaggt.',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String ankiImportFilesSkipped(int count) {
|
||
String _temp0 = intl.Intl.pluralLogic(
|
||
count,
|
||
locale: localeName,
|
||
other: '$count Mediendateien konnten nicht importiert werden.',
|
||
one: '1 Mediendatei konnte nicht importiert werden.',
|
||
);
|
||
return '$_temp0';
|
||
}
|
||
|
||
@override
|
||
String get pomodoroTitle => 'Pomodoro';
|
||
|
||
@override
|
||
String get pomodoroFocus => 'Fokus';
|
||
|
||
@override
|
||
String get pomodoroShortBreak => 'Kurze Pause';
|
||
|
||
@override
|
||
String get pomodoroLongBreak => 'Lange Pause';
|
||
|
||
@override
|
||
String pomodoroFocusOf(int done, int total) {
|
||
return 'Fokus $done von $total';
|
||
}
|
||
|
||
@override
|
||
String get pomodoroStart => 'Starten';
|
||
|
||
@override
|
||
String get pomodoroPause => 'Pausieren';
|
||
|
||
@override
|
||
String get pomodoroResume => 'Fortsetzen';
|
||
|
||
@override
|
||
String get pomodoroSkip => 'Überspringen';
|
||
|
||
@override
|
||
String get pomodoroStop => 'Beenden';
|
||
|
||
@override
|
||
String get pomodoroPaused => 'Pausiert';
|
||
|
||
@override
|
||
String pomodoroPausedProfile(String profile) {
|
||
return 'Pausiert · $profile';
|
||
}
|
||
|
||
@override
|
||
String get pomodoroClassic => 'Klassisch';
|
||
|
||
@override
|
||
String get pomodoroUnnamed => 'Profil ohne Namen';
|
||
|
||
@override
|
||
String get pomodoroProfiles => 'Pomodoro-Profile';
|
||
|
||
@override
|
||
String get pomodoroChooseProfile => 'Profil wählen';
|
||
|
||
@override
|
||
String get pomodoroAddProfile => 'Profil hinzufügen';
|
||
|
||
@override
|
||
String get pomodoroEditProfile => 'Profil bearbeiten';
|
||
|
||
@override
|
||
String get pomodoroName => 'Name';
|
||
|
||
@override
|
||
String get pomodoroFocusLength => 'Fokus';
|
||
|
||
@override
|
||
String get pomodoroShortBreakLength => 'Kurze Pause';
|
||
|
||
@override
|
||
String get pomodoroLongBreakLength => 'Lange Pause';
|
||
|
||
@override
|
||
String pomodoroMinutes(int count) {
|
||
return '$count Min.';
|
||
}
|
||
|
||
@override
|
||
String get pomodoroNoLongBreak => 'Keine';
|
||
|
||
@override
|
||
String get pomodoroLongBreakAfter => 'Fokusphasen vor einer langen Pause';
|
||
|
||
@override
|
||
String get pomodoroAutoStartBreaks => 'Pausen von selbst starten';
|
||
|
||
@override
|
||
String get pomodoroAutoStartFocus =>
|
||
'Fokus nach einer Pause von selbst starten';
|
||
|
||
@override
|
||
String get pomodoroDoNotDisturb => 'Nicht stören während des Fokus';
|
||
|
||
@override
|
||
String get pomodoroDoNotDisturbHint =>
|
||
'Das Gerät bleibt still, während du dich konzentrierst; die Meldung an seinem Ende ist trotzdem zu hören.';
|
||
|
||
@override
|
||
String get pomodoroDoNotDisturbDenied =>
|
||
'Die App darf dieses Gerät nicht stummschalten. Erlaube es in den Systemeinstellungen.';
|
||
|
||
@override
|
||
String get pomodoroDeleteProfile => 'Profil löschen';
|
||
|
||
@override
|
||
String pomodoroSummary(int focus, int shortBreak) {
|
||
return '$focus Min. Fokus, $shortBreak Min. Pause';
|
||
}
|
||
|
||
@override
|
||
String pomodoroSummaryLong(
|
||
int focus,
|
||
int shortBreak,
|
||
int longBreak,
|
||
int after,
|
||
) {
|
||
return '$focus Min. Fokus, $shortBreak Min. Pause, $longBreak Min. nach $after';
|
||
}
|
||
|
||
@override
|
||
String get pomodoroAlertFocusDone => 'Zeit für eine Pause';
|
||
|
||
@override
|
||
String get pomodoroAlertBreakDone => 'Zurück zum Fokus';
|
||
|
||
@override
|
||
String pomodoroAlertStarts(String phase) {
|
||
return '$phase hat begonnen.';
|
||
}
|
||
|
||
@override
|
||
String pomodoroAlertWaits(String phase) {
|
||
return '$phase wartet auf dich.';
|
||
}
|
||
|
||
@override
|
||
String get homeWidgetPomodoro => 'Pomodoro-Timer';
|
||
|
||
@override
|
||
String get pomodoroAlerts => 'Pomodoro-Meldungen';
|
||
|
||
@override
|
||
String pomodoroUntil(String time) {
|
||
return 'Bis $time';
|
||
}
|
||
|
||
@override
|
||
String pomodoroLeft(String left) {
|
||
return 'Noch $left';
|
||
}
|
||
|
||
@override
|
||
String pathImportAtStep(int step, String problem) {
|
||
return 'Schritt $step: $problem';
|
||
}
|
||
|
||
@override
|
||
String pathImportNotJson(String detail) {
|
||
return 'Das ist kein JSON: $detail';
|
||
}
|
||
|
||
@override
|
||
String get pathImportNoPath => 'ein „path“-Objekt fehlt.';
|
||
|
||
@override
|
||
String get pathImportNoTitle => 'der Pfad hat keinen „title“.';
|
||
|
||
@override
|
||
String get pathImportDescriptionNotText =>
|
||
'„description“ des Pfads ist kein Text.';
|
||
|
||
@override
|
||
String get pathImportNotAnObject => 'kein Objekt.';
|
||
|
||
@override
|
||
String pathImportUnknownStepType(String detail) {
|
||
return 'unbekannter „type“: $detail.';
|
||
}
|
||
|
||
@override
|
||
String pathImportRightOptionMissing(String detail) {
|
||
return 'die richtige Option $detail fehlt unter den Optionen.';
|
||
}
|
||
|
||
@override
|
||
String get pathImportRightOptionsMissing =>
|
||
'eine genannte richtige Option fehlt unter den Optionen.';
|
||
|
||
@override
|
||
String get pathImportNoPairing => 'kein „correct_pairing“.';
|
||
|
||
@override
|
||
String pathImportPairingTargetMissing(String detail) {
|
||
return 'Elemente werden einem fehlenden Ziel zugeordnet: $detail.';
|
||
}
|
||
|
||
@override
|
||
String get pathImportPairingIncomplete =>
|
||
'jedes Element braucht genau ein Ziel.';
|
||
|
||
@override
|
||
String get pathImportNoPassage => 'keine „passage“.';
|
||
|
||
@override
|
||
String get pathImportBlanksMismatch =>
|
||
'für jedes ___ in der Passage braucht es ein Wort in „blanks“.';
|
||
|
||
@override
|
||
String get pathImportBlockWithoutType => 'ein Block ohne „type“.';
|
||
|
||
@override
|
||
String get pathImportMalformedLevel =>
|
||
'eine Überschrift mit fehlerhafter Ebene.';
|
||
|
||
@override
|
||
String get pathImportMalformedListItem => 'ein fehlerhafter Listenpunkt.';
|
||
|
||
@override
|
||
String get pathImportMalformedMath => 'ein fehlerhafter Formelblock.';
|
||
|
||
@override
|
||
String get pathImportMalformedCode => 'ein fehlerhafter Codeblock.';
|
||
|
||
@override
|
||
String pathImportUnknownBlock(String detail) {
|
||
return 'ein unbekannter Block: $detail.';
|
||
}
|
||
|
||
@override
|
||
String pathImportTextlessBlock(String detail) {
|
||
return 'ein „$detail“ ohne „text“ oder „runs“.';
|
||
}
|
||
|
||
@override
|
||
String get pathImportMalformedRun => 'ein fehlerhafter Textabschnitt.';
|
||
|
||
@override
|
||
String get pathImportListExpected => 'eine Liste wurde erwartet.';
|
||
|
||
@override
|
||
String pathImportNotText(String detail) {
|
||
return '„$detail“ muss Text sein.';
|
||
}
|
||
|
||
@override
|
||
String pathImportTooFew(String detail) {
|
||
return 'es braucht mindestens zwei „$detail“.';
|
||
}
|
||
|
||
@override
|
||
String get pathImportMalformedNumber => 'eine fehlerhafte Zahl.';
|
||
|
||
@override
|
||
String get pathImportTitleNotText => 'ein Titel muss Text sein.';
|
||
}
|