sorted markdown and added favicon
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user