feat(learn): a studyset's subject, picked from a fixed list (ADR 0041)

A top studyset is filed under one of 44 subjects in six groups (the
developer's decisions of 9 and 10 Nov 2026): languages as one, computing
in five, Other / not sure last. Each has a Lucide icon and a default
colour, which picking it gives the studyset, its own to change from then
on. The studyset's sheet picks it (pickSubject); a sub-studyset shows its
top studyset's (subjectOf) and offers none. The payload keeps it as
`subject` (schema 8), so archives and published studysets carry it; an
ID this version doesn't know is kept and reads as none.

Whats-New: A studyset can now be filed under a subject, which gives it that subject's colour.
Whats-New-De: Ein Lernset lässt sich jetzt einem Fach zuordnen, das ihm dessen Farbe gibt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-10 18:37:17 +01:00
commit 9868dc27c6
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -12457,6 +12457,324 @@ abstract class AppLocalizations {
/// In en, this message translates to:
/// **'Exporting'**
String get exportProgressTitle;
/// The group of subjects "Sciences and health" in the subject picker.
///
/// In en, this message translates to:
/// **'Sciences and health'**
String get subjectGroupSciences;
/// The group of subjects "Mathematics and computing" in the subject picker.
///
/// In en, this message translates to:
/// **'Mathematics and computing'**
String get subjectGroupComputing;
/// The group of subjects "Society" in the subject picker.
///
/// In en, this message translates to:
/// **'Society'**
String get subjectGroupSociety;
/// The group of subjects "Languages and arts" in the subject picker.
///
/// In en, this message translates to:
/// **'Languages and arts'**
String get subjectGroupArts;
/// The group of subjects "Everyday" in the subject picker.
///
/// In en, this message translates to:
/// **'Everyday'**
String get subjectGroupEveryday;
/// The group of subjects "Other" in the subject picker.
///
/// In en, this message translates to:
/// **'Other'**
String get subjectGroupOther;
/// The subject "Biology" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Biology'**
String get subjectBiology;
/// The subject "Chemistry" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Chemistry'**
String get subjectChemistry;
/// The subject "Physics" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Physics'**
String get subjectPhysics;
/// The subject "Astronomy" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Astronomy'**
String get subjectAstronomy;
/// The subject "Earth sciences" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Earth sciences'**
String get subjectEarthSciences;
/// The subject "Environmental science" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Environmental science'**
String get subjectEnvironmentalScience;
/// The subject "Medicine" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Medicine'**
String get subjectMedicine;
/// The subject "Nursing" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Nursing'**
String get subjectNursing;
/// The subject "Pharmacy" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Pharmacy'**
String get subjectPharmacy;
/// The subject "Nutrition" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Nutrition'**
String get subjectNutrition;
/// The subject "Psychology" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Psychology'**
String get subjectPsychology;
/// The subject "Sports science" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Sports science'**
String get subjectSportsScience;
/// The subject "Mathematics" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Mathematics'**
String get subjectMathematics;
/// The subject "Statistics" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Statistics'**
String get subjectStatistics;
/// The subject "Computer science" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Computer science'**
String get subjectComputerScience;
/// The subject "Software engineering" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Software engineering'**
String get subjectSoftwareEngineering;
/// The subject "Data science and AI" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Data science and AI'**
String get subjectDataScienceAi;
/// The subject "IT and operations" a studyset is filed under.
///
/// In en, this message translates to:
/// **'IT and operations'**
String get subjectItOperations;
/// The subject "Security and privacy" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Security and privacy'**
String get subjectSecurityPrivacy;
/// The subject "Engineering" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Engineering'**
String get subjectEngineering;
/// The subject "Architecture" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Architecture'**
String get subjectArchitecture;
/// The subject "History" a studyset is filed under.
///
/// In en, this message translates to:
/// **'History'**
String get subjectHistory;
/// The subject "Geography" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Geography'**
String get subjectGeography;
/// The subject "Politics" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Politics'**
String get subjectPolitics;
/// The subject "Law" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Law'**
String get subjectLaw;
/// The subject "Economics" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Economics'**
String get subjectEconomics;
/// The subject "Business" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Business'**
String get subjectBusiness;
/// The subject "Marketing" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Marketing'**
String get subjectMarketing;
/// The subject "Accounting and finance" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Accounting and finance'**
String get subjectAccountingFinance;
/// The subject "Sociology" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Sociology'**
String get subjectSociology;
/// The subject "Anthropology" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Anthropology'**
String get subjectAnthropology;
/// The subject "Education" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Education'**
String get subjectEducation;
/// The subject "Media studies" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Media studies'**
String get subjectMediaStudies;
/// The subject "Philosophy" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Philosophy'**
String get subjectPhilosophy;
/// The subject "Religious studies" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Religious studies'**
String get subjectReligiousStudies;
/// The subject "Languages" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Languages'**
String get subjectLanguages;
/// The subject "Literature" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Literature'**
String get subjectLiterature;
/// The subject "Linguistics" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Linguistics'**
String get subjectLinguistics;
/// The subject "Art and design" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Art and design'**
String get subjectArtDesign;
/// The subject "Music" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Music'**
String get subjectMusic;
/// The subject "Theatre and film" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Theatre and film'**
String get subjectTheatreFilm;
/// The subject "Cooking and hospitality" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Cooking and hospitality'**
String get subjectCookingHospitality;
/// The subject "Driving and licences" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Driving and licences'**
String get subjectDrivingLicences;
/// The subject "Other / not sure" a studyset is filed under.
///
/// In en, this message translates to:
/// **'Other / not sure'**
String get subjectOther;
/// The label of the subject field in the studyset sheet.
///
/// In en, this message translates to:
/// **'Subject'**
String get studysetSheetSubject;
/// The subject field before one is chosen.
///
/// In en, this message translates to:
/// **'Choose a subject'**
String get studysetSheetSubjectNone;
/// The title of the sheet picking a studyset's subject.
///
/// In en, this message translates to:
/// **'Subject'**
String get subjectPickerTitle;
}
class _AppLocalizationsDelegate