feat(app,learn): the device's appearance and language, halkyon_app's, as Learn's Settings show them
The developer asked for Todo, Train and Meditate to offer Learn's Appearance and Language (ADR 0014's amendment of 4 Nov 2026). Their model, store, cubit and card move into halkyon_app: Appearance and Look (a BCP 47 tag, null for the device's language), FileLookStore keeping it in the app's support folder as JSON written by rename (per device, not synced, read before the first frame), LookCubit for the apps to provide above InstanceGate, and LookSettingsCard / DeviceLookCard with the texts moved from Learn's arbs (look*, the same words). Each app passes the languages it speaks, named in their own language. Learn keeps its stored choice where it was, among its DeviceSettings, and feeds the shared card from them: no migration, so nobody's language or appearance moves, and nothing changes on its screen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
a7638e5e54
commit
23d3bcb4ca
5 changed files with 684 additions and 220 deletions
|
|
@ -502,12 +502,6 @@
|
|||
"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.",
|
||||
"settingsAbout": "Über Halkyon Learn",
|
||||
"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.",
|
||||
"settingsAppearance": "Darstellung",
|
||||
"settingsAppearanceDevice": "Gerätedesign",
|
||||
"settingsAppearanceLight": "Hell",
|
||||
"settingsAppearanceDark": "Dunkel",
|
||||
"settingsLanguage": "Sprache",
|
||||
"settingsLanguageDevice": "Gerätesprache",
|
||||
"settingsCitations": "Quellenangaben",
|
||||
"settingsCitationsDescription": "Wie Quellen und die Literaturverzeichnisse von Lernsets auf diesem Gerät zitiert werden. Gib die vollständigen Namen der Autoren ein: Jeder Stil kürzt und ordnet sie selbst.",
|
||||
"settingsCitationStyle": "Stil",
|
||||
|
|
|
|||
|
|
@ -575,12 +575,6 @@
|
|||
"settingsDeleteMessage": "Everything you have, your studysets, cards and reviews, is deleted on the server and on all your devices. This can't be undone.",
|
||||
"settingsAbout": "About Halkyon Learn",
|
||||
"aboutLegalese": "Free software: the app is under the GNU Affero General Public License, version 3 or any later version, the server under the Server Side Public License, version 1.",
|
||||
"settingsAppearance": "Appearance",
|
||||
"settingsAppearanceDevice": "Device theme",
|
||||
"settingsAppearanceLight": "Light",
|
||||
"settingsAppearanceDark": "Dark",
|
||||
"settingsLanguage": "Language",
|
||||
"settingsLanguageDevice": "Device language",
|
||||
"settingsCitations": "Citations",
|
||||
"settingsCitationsDescription": "How sources and studysets' bibliographies are cited on this device. Type authors' full names: each style abbreviates and orders them itself.",
|
||||
"settingsCitationStyle": "Style",
|
||||
|
|
|
|||
|
|
@ -3016,42 +3016,6 @@ abstract class AppLocalizations {
|
|||
/// **'Free software: the app is under the GNU Affero General Public License, version 3 or any later version, the server under the Server Side Public License, version 1.'**
|
||||
String get aboutLegalese;
|
||||
|
||||
/// No description provided for @settingsAppearance.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Appearance'**
|
||||
String get settingsAppearance;
|
||||
|
||||
/// No description provided for @settingsAppearanceDevice.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Device theme'**
|
||||
String get settingsAppearanceDevice;
|
||||
|
||||
/// No description provided for @settingsAppearanceLight.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Light'**
|
||||
String get settingsAppearanceLight;
|
||||
|
||||
/// No description provided for @settingsAppearanceDark.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Dark'**
|
||||
String get settingsAppearanceDark;
|
||||
|
||||
/// No description provided for @settingsLanguage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Language'**
|
||||
String get settingsLanguage;
|
||||
|
||||
/// No description provided for @settingsLanguageDevice.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Device language'**
|
||||
String get settingsLanguageDevice;
|
||||
|
||||
/// No description provided for @settingsCitations.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -1832,24 +1832,6 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
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 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 get settingsCitations => 'Quellenangaben';
|
||||
|
||||
|
|
|
|||
|
|
@ -1816,24 +1816,6 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
String get aboutLegalese =>
|
||||
'Free software: the app is under the GNU Affero General Public License, version 3 or any later version, the server under the Server Side Public License, version 1.';
|
||||
|
||||
@override
|
||||
String get settingsAppearance => 'Appearance';
|
||||
|
||||
@override
|
||||
String get settingsAppearanceDevice => 'Device theme';
|
||||
|
||||
@override
|
||||
String get settingsAppearanceLight => 'Light';
|
||||
|
||||
@override
|
||||
String get settingsAppearanceDark => 'Dark';
|
||||
|
||||
@override
|
||||
String get settingsLanguage => 'Language';
|
||||
|
||||
@override
|
||||
String get settingsLanguageDevice => 'Device language';
|
||||
|
||||
@override
|
||||
String get settingsCitations => 'Citations';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue