3.2 KiB
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) undwegwichtel.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.jsin 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.
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.