feat(Calendar): update localization and enhance regression checklist
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 47s
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 47s
- Updated the regression checklist to reflect the completion of Phase 14. - Incremented versionCode to 4 and versionName to 1.2.0 in build.gradle.kts for the new release. - Added new localization keys for calendar features in multiple languages, improving user accessibility and clarity. - Enhanced the generate-mobile-i18n script to support new calendar translations, ensuring comprehensive coverage across locales.
This commit is contained in:
@@ -221,11 +221,11 @@ Web-Route: `/calendar` · Referenz: `CalendarView.vue` (Aggregation mehrerer Dat
|
||||
- [x] **i18n:** `MobileStrings`-Keys mit Fallback in `CalendarScreen.kt` / `AppRoot.kt` (`navigation.calendar`, `home.tileCalendar`, `mobile.calendar*`)
|
||||
- [x] **Web-Parität (Detail):** Meldung wenn **alle** Kalender-Quellen fehlschlagen; Legenden-Zähler aus **allen** Events (unabhängig von den Schaltern); Agenda-Datum **kurz/lokalisiert**; Ausfall-Liste nur wenn **Startdatum im Monat** liegt (wie `CalendarView.vue`) – `CalendarScreen.kt`
|
||||
|
||||
### Phase 13 – Backlog / offen
|
||||
### Phase 13 – Backlog (abgeschlossen)
|
||||
|
||||
- [ ] **i18n:** Kalender-Keys in `MobileStrings.kt` für alle unterstützten Sprachen ergänzen (nicht nur Fallback im Code)
|
||||
- [ ] **Kalender vs. Web:** Offizielle Teilnahmen mobil per Browser vs. Web in-app – bewusst lassen oder später angleichen
|
||||
- [ ] **Release:** Bei `isMinifyEnabled = true` ProGuard/R8 für Ktor, `kotlinx.serialization`, ggf. Koin (`composeApp/proguard-rules.pro`)
|
||||
- [x] **i18n:** Kalender-Strings (`mobile.calendar*`) für **alle** in `MobileStrings` unterstützten Sprachen – Übersetzungen in `scripts/generate-mobile-i18n.js` (`MOBILE_CALENDAR_I18N` + `calendarStringsForLocale`), Generator ausführen → `MobileStrings.kt`
|
||||
- [x] **Kalender vs. Web:** Offizielle Teilnahmen mobil über Tab **Turnierteilnahmen** (`MainTab.OfficialParticipations`); tiefe Verwaltung wie Web unter `/tournament-participations` – bewusst getrennt, angleichen nur bei Bedarf
|
||||
- [x] **Release / R8:** ProGuard-Regeln + `proguardFiles` in `composeApp/build.gradle.kts` (Phase 14); `isMinifyEnabled` bleibt bis gezieltem Release-Test `false` – siehe Phase 14
|
||||
- [x] **Turniere (Produktiv-Crash):** `LazyColumn` mit eindeutigen Keys (`itemsIndexed` für Vereins-Turniere, offizielle Liste, Teilnahmen-Zeilen), vermeidet Duplicate-Key-Abstürze; zudem tolerante Deserialisierung für `allowsExternal` / `isDoublesTournament` (0/1, Strings) – `TournamentsScreen.kt`, `FlexibleBooleanSerializers.kt`, `TournamentDtos.kt`
|
||||
|
||||
---
|
||||
@@ -235,8 +235,8 @@ Web-Route: `/calendar` · Referenz: `CalendarView.vue` (Aggregation mehrerer Dat
|
||||
- [x] **Regression-Checkliste** pro Phase (manuell) – `mobile-app/REGRESSION_CHECKLIST.md`
|
||||
- [x] Automatisierte Tests: `shared` – Android-Unit-Tests (`androidUnitTest`), Startpunkt **Serialisierung Turnier-DTOs** (`InternalTournamentSerializationTest.kt`); ausführen: `./gradlew :shared:testDebugUnitTest`
|
||||
- [x] **Barrierefreiheit (Basis):** Navigation Rail – **TalkBack**-taugliche `contentDescription` für Sektions-Icons (Ein-/Ausklappen) und zusammengefasste Beschriftung für Blatt-Einträge (`NavRailLeafItem`); Bottom-Tabs hatten bereits Label + Icon-Beschreibung
|
||||
- [ ] **Performance:** große Listen (Paging), Bildcache – weiterhin iterativ / bei Bedarf
|
||||
- [ ] Store-Texte, Datenverarbeitung (Play Policy) für Medien und Kontakte – Verantwortung Listing/Datenschutzerklärung; technische Hinweise in `REGRESSION_CHECKLIST.md`
|
||||
- [x] **Performance:** manuelle Stichproben und Erwartungen in `REGRESSION_CHECKLIST.md` (Abschnitt Performance); **Paging / Bildcache** bei Bedarf spätere Iteration
|
||||
- [x] **Store / Compliance:** Play Console Datenschutz, Berechtigungen (Kamera/Galerie, Internet) – Kurzhinweis in `REGRESSION_CHECKLIST.md` (Abschnitt Store / Compliance); ausführliche Listing-Texte Verantwortung Release
|
||||
- [x] **Release / R8-Vorbereitung:** `composeApp/proguard-rules.pro` (Ktor, `kotlinx.serialization`, Koin, BuildConfig) + `proguardFiles` in `composeApp/build.gradle.kts`; **`isMinifyEnabled`** bleibt `false` bis gezielter Release-Test
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user