feat(meditate): the instance's library in the app: Explore, its player, courses, keeping offline

Explore shows the instance's library below Meditate's practices, where it
has one: its courses and items by category (Meditate's eleven, named in
English and German, and the operator's own) and by the same search; an
instance without one shows nothing more. An item's page: its recordings
to choose, Play, a favourite (kept in the sealed settings under
library/<id>), keeping it on the device and removing it, and for a sound,
a silent sitting with it looped; its credit and licence. The player
plays, pauses and seeks; played to its end it is kept as a sitting, and
as its course's lesson done (lesson_done, sealed and synced). Settings
lists the library's credits beside About; Today shows its favourites.

The last catalogue is kept in the person's folder for offline; files are
fetched with the catalogue's access, asked for again shortly before it
ends. ADR 0038, D16.

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-03 16:47:28 +01:00
commit 811182b376
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -171,5 +171,41 @@
"dreamStopDictating": "Diktat beenden",
"dreamListening": "Ich höre zu …",
"dreamSpeechUnavailable": "Dieses Gerät kann gerade nicht zuhören. Darf die App das Mikrofon nutzen?",
"todayDreamSpeak": "Erzählen"
"todayDreamSpeak": "Erzählen",
"exploreLibrary": "Von {server}",
"libraryCourses": "Kurse",
"libraryCourse": "Kurs",
"libraryCategoryMeditation": "Meditation",
"libraryCategorySleepStory": "Einschlafgeschichten",
"libraryCategorySound": "Klänge",
"libraryCategoryMovement": "Bewegung",
"libraryCategoryAutogenicTraining": "Autogenes Training",
"libraryCategoryProgressiveMuscleRelaxation": "Progressive Muskelentspannung",
"libraryCategoryRoutine": "Routinen",
"libraryCategoryDreamJourney": "Traumreisen",
"libraryCategoryKnowledge": "Wissen",
"libraryCategoryMorningStory": "Morgengeschichten",
"libraryCategoryOther": "Anderes",
"libraryLessons": "{count, plural, =1{1 Lektion} other{{count} Lektionen}}",
"libraryLessonsDone": "{done} von {count} erledigt",
"libraryLessonDone": "Erledigt",
"libraryWith": "Mit {speaker}",
"libraryPlay": "Abspielen",
"libraryPause": "Pause",
"libraryResume": "Weiter",
"libraryStop": "Beenden",
"libraryRecording": "Aufnahme",
"libraryKeep": "Auf dem Gerät behalten",
"libraryKeeping": "Wird geladen …",
"libraryKept": "Auf dem Gerät",
"libraryRemove": "Vom Gerät entfernen",
"libraryKeepFailed": "Das ließ sich nicht laden. Versuch es wieder, wenn du online bist.",
"libraryPlayFailed": "Das lässt sich gerade nicht abspielen. Bist du online?",
"librarySitWithSound": "Mit diesem Klang still sitzen",
"libraryCredit": "Nachweis",
"libraryLicence": "Lizenz",
"libraryCredits": "Nachweise der Bibliothek",
"libraryCreditsIntro": "Was die Bibliothek von {server} bietet, wem es jeweils zu verdanken ist und unter welcher Lizenz.",
"libraryGone": "Das ist nicht mehr in der Bibliothek.",
"libraryFromLibrary": "Aus der Bibliothek"
}