fix(app): a path import that fails says why in the app's language

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>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-07 03:01:12 +02:00
commit 1921043925
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -3017,4 +3017,108 @@ class AppLocalizationsDe extends AppLocalizations {
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.';
}