Files
Wegwichtel/docs/technische-speicherung.md
T
Florian Zumpe 74090723c4
Sonarqube Scanner / Prepare environment (push) Successful in 13s
Sonarqube Scanner / Build and test (push) Successful in 33s
Sonarqube Scanner / SonarQube analysis (push) Successful in 1m38s
Sonarqube Scanner / Deploy to Server (push) Successful in 7s
sorted markdown and added favicon
2026-10-04 09:06:48 +02:00

60 lines
3.2 KiB
Markdown

# Technische Details zur Oberfläche und Speicherung
Die Bedienungstexte richten sich an Kinder und Menschen ohne technische
Vorkenntnisse. Die verbindliche Sprachregel steht in `AGENTS.md`.
Technische Details bleiben in der Entwicklungsdokumentation.
- App: statisches HTML/CSS und JavaScript; jQuery 4.0.0 für DOM-Zugriff,
Ereignisse und API-Anfragen; jQuery UI 1.14.2 für Bedienelemente.
- Die Bibliotheken werden lokal vom Wegwichtel-Server ausgeliefert.
- Fortschritt: Local Storage unter `wegwichtel.privacy.v1` (Opt-in) und
`wegwichtel.route-progress.v1` (Fortschritt). Bereinigung nach 24 Stunden
ohne Aktualisierung; Ausschalten löscht den Fortschritt sofort.
- Lokale Entwürfe: GPX und JSON unter `wegwichtel.local-routes.v1.*`;
Medien über Dateireferenzen oder IndexedDB. Keine 24-Stunden-Bereinigung.
- App-Offline-Dateien und ausdrücklich ausgewählte Strecken: OPFS mit
CacheStorage als Fallback, bereitgestellt über den Service Worker.
- GPX-Export: unverändertes GPX-Format, in der Oberfläche „Weg als Datei herunterladen“.
- Speicheranzeige: geschätzte Website-Quote über StorageManager sowie eine
separate Näherung für Local Storage. Letztere ist keine ermittelte Maximalquote.
Größen werden in dezimalen MB angezeigt; der Referenzbalken für Local Storage
bleibt bei 5 MiB (ungefähr 5 MB).
- Geräteschnittstellen: Geolocation, Device Orientation, Vibration, HTML-Audio,
File System Access, IndexedDB, FileReader und History.
- Technische Fehler werden vor der Anzeige durch `public/js/user-messages.js`
in verständliche Hinweise übersetzt. HTTP-Status und Fehlerobjekte bleiben
für die interne Verarbeitung erhalten.
Kontaktdaten und rechtliche Inhalte der Informationsseiten wurden sprachlich
vereinfacht. Die Hinweise auf noch fehlende Betreiberangaben bleiben enthalten.
## Übersetzungen
`WegwichtelTextsDe` in `public/js/texts-de.js` enthält die deutschen Texte.
`WegwichtelI18n` in `public/js/i18n.js` stellt die Übersetzungsfunktion bereit.
Beide Dateien werden vor den übrigen App-Skripten geladen und gehören auch
zum App-Offline-Paket.
```js
Wegwichtel.I18n.t('app.strecke.wahlen');
Wegwichtel.I18n.t('media.image.count', { count: 2 });
Wegwichtel.I18n.register('en', {
'app.strecke.wahlen': 'Choose a trail',
'media.image.count': { one: '{count} picture', other: '{count} pictures' }
});
Wegwichtel.I18n.setLanguage('en');
```
Platzhalter werden als Text ersetzt. HTML-Texte und vorgelesene Beschriftungen
werden über `data-i18n`-Attribute zugeordnet; der Renderer verwendet `textContent`
und `setAttribute`, kein übersetztes HTML. In HTML-Templates erzeugte Texte sind
wie andere Textinhalte zu maskieren. Nutzerinhalte werden nicht übersetzt.
Die App startet weiterhin auf Deutsch. Weitere Sprachen und ein sichtbarer
Sprachschalter sind noch nicht enthalten. `setLanguage` lokalisiert die festen
HTML-Beschriftungen; dynamische Texte werden bei ihrem nächsten Aufbau übersetzt.
Bei einem Sprachschalter müssen die aktuellen Ansichten zusätzlich neu gerendert
werden. Fehlende einzelne Übersetzungen und unbekannte Sprachen fallen auf
Deutsch zurück. Ein fehlender deutscher Textschlüssel wirft einen internen
Fehler, damit fehlerhafte Zuordnungen nicht unbemerkt bleiben.