feat(i18n): Complete localization of marketing frontend with react-i18next, prefixed URLs, JSON migrations, and automation
This commit is contained in:
@@ -81,7 +81,8 @@ apps/guest-pwa/
|
||||
usePollStats.ts // polls /events/:slug/stats every 10s
|
||||
usePollGalleryDelta.ts // polls /events/:slug/photos?since=...
|
||||
i18n/
|
||||
de.json
|
||||
config.ts // i18next init with react-i18next, backend loadPath '/lang/{{lng}}/guest.json'
|
||||
de.json // Namespace: guest (e.g., { "gallery": { "title": "Galerie" } })
|
||||
en.json
|
||||
main.tsx
|
||||
App.tsx
|
||||
@@ -145,6 +146,7 @@ State & Data
|
||||
- TanStack Query for server data (events, photos); optimistic updates for likes.
|
||||
- Zustand store for local-only state (profile, queue, banners).
|
||||
- IndexedDB for upload queue; CacheStorage for shell/assets.
|
||||
- i18n: react-i18next; load 'guest' namespace JSON from /lang/{locale}/guest.json; path-based detection for /de/e/:slug, /en/e/:slug; useTranslation('guest') in components.
|
||||
- Polling: focus-aware intervals (10s stats, 30s gallery); use document visibility to pause; backoff on failures.
|
||||
|
||||
Accessibility & Performance
|
||||
|
||||
Reference in New Issue
Block a user