app.
What’s done
locales/en/mobile.json and resources/js/admin/i18n/locales/de/mobile.json.
- Error recovery CTAs on Photos, Notifications, Tasks, and QR screens so users can retry without a full reload in resources/js/admin/mobile/EventPhotosPage.tsx, resources/js/admin/mobile/NotificationsPage.tsx, resources/js/admin/
mobile/EventTasksPage.tsx, resources/js/admin/mobile/QrPrintPage.tsx.
- QR share uses native share sheet when available, with clipboard fallback in resources/js/admin/mobile/
QrPrintPage.tsx.
- Lazy‑loaded photo grid thumbnails for better performance in resources/js/admin/mobile/EventPhotosPage.tsx.
- New helper + tests for queue count logic in resources/js/admin/mobile/lib/queueStatus.ts and resources/js/admin/
mobile/lib/queueStatus.test.ts.
36 lines
1.1 KiB
JSON
36 lines
1.1 KiB
JSON
{
|
|
"nav": {
|
|
"home": "Start",
|
|
"tasks": "Aufgaben",
|
|
"uploads": "Uploads",
|
|
"profile": "Profil",
|
|
"notifications": "Benachrichtigungen",
|
|
"events": "Events"
|
|
},
|
|
"actions": {
|
|
"back": "Zurück",
|
|
"close": "Schließen",
|
|
"refresh": "Aktualisieren"
|
|
},
|
|
"header": {
|
|
"appName": "Event Admin",
|
|
"selectEvent": "Wähle ein Event, um fortzufahren",
|
|
"empty": "Lege dein erstes Event an, um zu starten",
|
|
"eventSwitcher": "Event auswählen",
|
|
"noEventsTitle": "Erstes Event erstellen",
|
|
"noEventsBody": "Starte ein Event, um Aufgaben, Uploads und QR-Poster zu nutzen.",
|
|
"createEvent": "Event erstellen",
|
|
"noDate": "Datum folgt",
|
|
"active": "Aktiv",
|
|
"quickQr": "QR öffnen",
|
|
"clearSelection": "Auswahl entfernen"
|
|
},
|
|
"status": {
|
|
"offline": "Offline-Modus: Änderungen synchronisieren, sobald du wieder online bist.",
|
|
"queueTitle": "Foto-Aktionen warten",
|
|
"queueBodyOnline": "{{count}} Aktionen bereit zur Synchronisierung.",
|
|
"queueBodyOffline": "{{count}} Aktionen offline gespeichert.",
|
|
"queueAction": "Fotos öffnen"
|
|
}
|
|
}
|