Kaynağa Gözat

P1-17 Deel A rond: horeca-tabs + scheidingsteken, chip-filter op toestel bewezen

- TabEetgelegenheden "Eatings" -> Restaurants, TabOvernachten "Overnight" ->
  Accommodation (builder, verse export geverifieerd). qqb1howd stond al op
  "Search title" (Bob) - gelaten.
- UitgaantabelKaart p3hbyhqm: EN "," -> ", " (gaf "De Hofnar 10,Valkenswaard").
- Datumfilter in het Engels getest op emulator-5556 met een profile-APK:
  "This weekend" schakelt naar 19 sep, "Today" naar 16 sep. Locale terug op nl-NL.
- Werkblad teruggebracht tot de 55 open regels op de twee aanmaakpagina's.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bob 23 saat önce
ebeveyn
işleme
14a9fe2425
2 değiştirilmiş dosya ile 82 ekleme ve 125 silme
  1. 53 116
      TAAK-P1-17-vertalingen.md
  2. 29 9
      TASKS.md

+ 53 - 116
TAAK-P1-17-vertalingen.md

@@ -1,141 +1,78 @@
-# P1-17 · werkblad Engelse vertalingen
+# P1-17 · werkblad Engelse vertalingen — wat er nog open staat
 
-*Gegenereerd 2026-09-16 door Claude uit `internationalization.dart`, gefilterd op
-schermen die vanaf de startpagina bereikbaar zijn (dode kopieën weggelaten).
-Vul in de builder per widget het globe-icoontje naast **Text** / **Title** /
-**Button Text** → veld **English**. Weggooien zodra de ronde af is.*
-
-## Deel A — nu al te doen (deze schermen veranderen niet meer)
-
-### EvenementHorecagelegenheid
-
-| sleutel | Nederlands | staat nu in EN | zet op |
-|---|---|---|---|
-| `5tdut8bf` | Bezorgen | Bezorgen | **Delivery** |
-
-### SelectStateDropDownComponent
-
-| sleutel | Nederlands | staat nu in EN | zet op |
-|---|---|---|---|
-| `elx7kse2` | Je volgt deze gemeente | Add to favorites | **You follow this municipality** |
-| `nosgkxy0` | Gemeente volgen | Add to favorites | **Follow municipality** |
-
-### drawerComponent
-
-| sleutel | Nederlands | staat nu in EN | zet op |
-|---|---|---|---|
-| `vnwx710y` | Terug | Favorite | **Back** |
-
-### home
-
-| sleutel | Nederlands | staat nu in EN | zet op |
-|---|---|---|---|
-| `8khvlnye` | Alles | *(leeg)* | **All** |
-| `g09d1fb5` | Alles | *(leeg)* | **All** |
-| `gco4jgol` | Dit weekend | *(leeg)* | **This weekend** |
-| `h6ou1q9q` | Deze week | *(leeg)* | **This week** |
-| `iov8u1yi` | Vandaag | *(leeg)* | **Today** |
-
-### horecagelegenhedenOverzichtCurrent
-
-| sleutel | Nederlands | staat nu in EN | zet op |
-|---|---|---|---|
-| `8gwyy71q` | Activiteiten | Activiteiten | **Activities** |
-| `b8oov17m` | Cultuur | Cultuur | **Culture** |
-| `er4hrrph` | Verhuur, catering | Verhuur, catering | **Rental, catering** |
-| `hnnqfnhk` | Eetgelegenheden | Eetgelegenheden | **Restaurants** |
-| `qqb1howd` | Zoek op naam | *(leeg)* | **Search by name** |
-| `waxjo567` | Uitgaan | Uitgaan | **Going out** |
-| `ykjsgvsf` | Overnachten | Overnachten | **Stay** |
-
-### login
-
-| sleutel | Nederlands | staat nu in EN | zet op |
-|---|---|---|---|
-| `n3cyffso` | Wachtwoord tonen/verbergen | Favorite | **Show/hide password** |
-| `pj545url` | Veld wissen | Favorite | **Clear field** |
-
-### selectprovinciegemeente
-
-| sleutel | Nederlands | staat nu in EN | zet op |
-|---|---|---|---|
-| `xsyz36fr` | Kies je gemeente | *(leeg)* | **Choose your municipality** |
-| `z0wynid6` | Je ziet dan het uitgaansnieuws van die gemeente in het menu. | *(leeg)* | **You'll then see that municipality's going-out news in the menu.** |
+*Bijgewerkt 2026-09-16 tegen een verse export. **Deel A is klaar** — Home-chips,
+drawer, login, horeca-overzicht, `Selectprovinciegemeente`, gemeentehartje,
+`wachtwoordVergeten` en het scheidingsteken op `UitgaantabelKaart` zijn allemaal
+vertaald en nagemeten. Wat hieronder staat zit uitsluitend op de twee
+aanmaakpagina's en wacht op P2-29 — anders vertaal je twee keer.*
 
-### wachtwoordVergeten
-
-| sleutel | Nederlands | staat nu in EN | zet op |
-|---|---|---|---|
-| `503u6v73` | Vul je gebruikersnaam of e-mailadres in. … | Use your username or password to recieve an email to reset your password. | **Enter your username or email address. You'll receive an email to reset your password.** |
-
-## Deel B — pas ná P2-29 (de twee aanmaakpagina's zijn nog in bewerking)
+*Invullen via het globe-icoontje in het rechterpaneel naast **Text** / **Title** /
+**Button Text** → veld **English**. Weggooien zodra de ronde af is.*
 
-### stadsactiviteitAanmaken
+## stadsactiviteit_aanmaken  (31 regels)
 
 | sleutel | Nederlands | staat nu in EN | zet op |
 |---|---|---|---|
+| `g6cr9u4n` | Activiteit indienen | Activiteit indienen | **Submit activity** |
+| `5ehouxlk` | Adres | Adres | **Address** |
+| `4czd99zl` | Adres | Adres | **Address** |
 | `06lh8r3a` | Contact | *(leeg)* | **Contact** |
-| `0brx7n79` | Toelichting Entree | Toelichting Entree | **Admission notes** |
+| `p3rwq60m` | Contact email/telefoon | Contact email/telefoon | **Contact email/phone** |
 | `1k52hayg` | Datum eind | Datum eind | **End date** |
+| `mfaz1x8u` | Entree | Entree | **Admission** |
+| `tq77j4hk` | Entreeprijs | Entreeprijs | **Admission price** |
+| `pftju36e` | Entreeprijs | Entreeprijs | **Admission price** |
+| `fyltb801` | Entreeprijs | Entreeprijs | **Admission price** |
 | `41moeajb` | Foto\'s kiezen | Foto\'s kiezen | **Choose photos** |
-| `4czd99zl` | Adres | Adres | **Address** |
-| `5ehouxlk` | Adres | Adres | **Address** |
-| `71z3uvd8` | Datum eind | Datum eind | **End date** |
+| `r6ckp0e0` | Logo kiezen | Logo kiezen | **Choose logo** |
+| `nfxdqk4i` | Media | Media | **Media** |
+| `ls6do5d5` | Mijn gemeenten | *(leeg)* | **My municipalities** |
+| `sv5qajjt` | Of kies zelf een plaats | *(leeg)* | **Or pick a town yourself** |
+| `90c9lm1u` | Organisatie | *(leeg)* | **Organisation** |
 | `7dy1oyjr` | Organisator | Organisator | **Organiser** |
-| `7vogkwoh` | Datum | Datum | **Date** |
+| `nxfif83l` | Organisator van de activiteit | Organisator van de activiteit | **Organiser of the activity** |
 | `825wzmk4` | Plaats | Plaats | **Town** |
-| `90c9lm1u` | Organisatie | *(leeg)* | **Organisation** |
-| `a2582hfp` | Toelichting Entree | Toelichting Entree | **Admission notes** |
-| `ajotnz1f` | Select... | *(leeg)* | **Select...** |
-| `bhydpd6h` | Website van de activiteit | Website van de activiteit | **Website of the activity** |
-| `dfa8vusy` | Datum | Datum | **Date** |
-| `dq3j79df` | Wanneer | Wanneer | **When** |
-| `dqeuq7t8` | Select... | *(leeg)* | **Select...** |
-| `fyltb801` | Entreeprijs | Entreeprijs | **Admission price** |
-| `g6cr9u4n` | Activiteit indienen | Activiteit indienen | **Submit activity** |
-| `go2ky4mu` | Waar | *(leeg)* | **Where** |
-| `i66ori1d` | WebsiteURL | *(leeg)* | **Website URL** |
-| `j9h65a88` | Postcode | Postcode | **Postal code** |
-| `l9f37oxb` | Select... | *(leeg)* | **Select...** |
-| `ls6do5d5` | Mijn gemeenten | *(leeg)* | **My municipalities** |
-| `mfaz1x8u` | Entree | Entree | **Admission** |
-| `nfxdqk4i` | Media | Media | **Media** |
 | `np527mil` | Plaats activiteit | Plaats activiteit | **Activity town** |
-| `nxfif83l` | Organisator van de activiteit | Organisator van de activiteit | **Organiser of the activity** |
 | `oo7z1mp8` | Postcode | *(leeg)* | **Postal code** |
-| `p3rwq60m` | Contact email/telefoon | Contact email/telefoon | **Contact email/phone** |
-| `pftju36e` | Entreeprijs | Entreeprijs | **Admission price** |
-| `r6ckp0e0` | Logo kiezen | Logo kiezen | **Choose logo** |
-| `sv5qajjt` | Of kies zelf een plaats | *(leeg)* | **Or pick a town yourself** |
-| `tq77j4hk` | Entreeprijs | Entreeprijs | **Admission price** |
+| `j9h65a88` | Postcode | Postcode | **Postal code** |
+| `dqeuq7t8` | Select... | *(leeg)* | **Select...** |
 | `xiba4gka` | Select... | *(leeg)* | **Select...** |
+| `l9f37oxb` | Select... | *(leeg)* | **Select...** |
+| `ajotnz1f` | Select... | *(leeg)* | **Select...** |
+| `a2582hfp` | Toelichting Entree | Toelichting Entree | **Admission notes** |
+| `0brx7n79` | Toelichting Entree | Toelichting Entree | **Admission notes** |
+| `go2ky4mu` | Waar | *(leeg)* | **Where** |
+| `bhydpd6h` | Website van de activiteit | Website van de activiteit | **Website of the activity** |
+| `i66ori1d` | WebsiteURL | *(leeg)* | **Website URL** |
 
-### uitgaansevenementAanmaken
+## uitgaansevenement_aanmaken  (24 regels)
 
 | sleutel | Nederlands | staat nu in EN | zet op |
 |---|---|---|---|
-| `2hitlrxa` | Select... | *(leeg)* | **Select...** |
-| `3h3k4jh2` | Entreeprijs | Entreeprijs | **Admission price** |
-| `4a28vwlf` | Media | Media | **Media** |
-| `9qx16tm9` | Evenement indienen | Activiteit indienen | **Submit event** |
-| `df4oowbq` | Logo kiezen | Logo kiezen | **Choose logo** |
+| `p0xm7daj` | Categorie evenement | *(leeg)* | **Event category** |
+| `xceonmpt` | Datum | Datum | **Date** |
+| `nws4h1nz` | Datum | Datum | **Date** |
+| `wkn1mu1d` | Datum eind | Datum eind | **End date** |
 | `e42lwmdh` | Datum eind | Datum eind | **End date** |
-| `e9n6cj1o` | WebsiteURL | *(leeg)* | **Website URL** |
+| `obaet4ky` | Entree | Entree | **Admission** |
+| `r9s46lo7` | Entreeprijs | Entreeprijs | **Admission price** |
+| `3h3k4jh2` | Entreeprijs | Entreeprijs | **Admission price** |
 | `ge5o3gf7` | Entreeprijs | Entreeprijs | **Admission price** |
-| `gysg1wwq` | Wanneer | Wanneer | **When** |
+| `9qx16tm9` | Evenement indienen | Activiteit indienen | **Submit event** |
 | `hqwm9set` | Foto\'s kiezen | Foto\'s kiezen | **Choose photos** |
-| `ht4toe4o` | Select... | *(leeg)* | **Select...** |
-| `nws4h1nz` | Datum | Datum | **Date** |
 | `nzaqrq0w` | Link om kaarten te kopen | Website van de activiteit | **Ticket link** |
-| `obaet4ky` | Entree | Entree | **Admission** |
-| `p0xm7daj` | Categorie evenement | *(leeg)* | **Event category** |
-| `qlzcyn78` | Toelichting Entree | Toelichting Entree | **Admission notes** |
-| `qsf2va25` | Website van het evenement | Website van de activiteit | **Event website** |
-| `qtnlg7nd` | Search... | *(leeg)* | **Search...** |
-| `r9s46lo7` | Entreeprijs | Entreeprijs | **Admission price** |
-| `taujsjo7` | Toelichting Entree | Toelichting Entree | **Admission notes** |
+| `df4oowbq` | Logo kiezen | Logo kiezen | **Choose logo** |
+| `4a28vwlf` | Media | Media | **Media** |
 | `vkyrmq6a` | Organisatie | *(leeg)* | **Organisation** |
-| `wkn1mu1d` | Datum eind | Datum eind | **End date** |
-| `xceonmpt` | Datum | Datum | **Date** |
+| `qtnlg7nd` | Search... | *(leeg)* | **Search...** |
+| `2hitlrxa` | Select... | *(leeg)* | **Select...** |
+| `ht4toe4o` | Select... | *(leeg)* | **Select...** |
 | `zfofdq9a` | TicketsURL | *(leeg)* | **Tickets URL** |
+| `qlzcyn78` | Toelichting Entree | Toelichting Entree | **Admission notes** |
+| `taujsjo7` | Toelichting Entree | Toelichting Entree | **Admission notes** |
+| `gysg1wwq` | Wanneer | Wanneer | **When** |
+| `qsf2va25` | Website van het evenement | Website van de activiteit | **Event website** |
+| `e9n6cj1o` | WebsiteURL | *(leeg)* | **Website URL** |
+
 
+*Totaal 55 regels. Zonder voorstel: geen.*

+ 29 - 9
TASKS.md

@@ -216,6 +216,26 @@ taalonafhankelijke vorm in `custom_functions.dart`. De Home-chips staan op
 `All` / `Today` / `This weekend` / `This week`, dus de koppeling klopt en het
 datumfilter werkt in beide talen. De code hieronder blijft staan als referentie.
 
+**✅ En het is nu ook op een toestel bewezen, in het Engels** (Claude, profile-APK
+van de export van 16 sep op `emulator-5556`, locale tijdelijk `en-US`, daarna
+terug op `nl-NL`): chip **This weekend** schakelt de lijst van de events van
+vandaag naar "zaterdag 19 sep, 12:00"; **Today** toont alleen 16 sep. Vóór deze
+wijziging deed elke Engelse chip niets.
+⚠️ *Blijvend aandachtspunt: de Engelse chip-teksten moeten "today", "weekend" of
+"week" blijven bevatten. Een formulering als "Upcoming" laat de chip stil niets
+filteren.*
+
+**Nog twee dingen uit deze ronde:**
+- **Scheidingsteken tussen adres en plaats** op `UitgaantabelKaart`
+  (`p3hbyhqm`) stond in het Engels op `","` zónder spatie → "De Hofnar
+  10,Valkenswaard". Nu `", "`, gelijk aan het Nederlands. Dat component staat
+  live op **Favorieten** en de provinciepagina.
+- **Beperking van de vertaal-audit, goed om te weten:** het meetscript vindt
+  *lege*, *nog-Nederlandse* en *over meerdere sleutels hergebruikte* vertalingen.
+  Het kan géén slecht Engels herkennen — "Eatings" en "Overnight" telden als
+  "vertaald". Een menselijke blik over de labels blijft dus nodig; de audit
+  vervangt dat niet.
+
 **1 · `filterDatumVan` / `filterDatumTot` taalonafhankelijk — code klaar, moet
 nog in de Custom Code-editor.** Dit blokkeerde Bob's taak 3 (vertaalronde): de
 functies matchten letterlijk op `Vandaag`/`Dit weekend`/`Deze week`, dus zodra
@@ -374,20 +394,20 @@ telefoon-emulator bekeken (zie screenshots in `~/uk-shots/2026-09-16/na-*.png`).
 - **P1-53 · ✅ afgerond 2026-09-16 (Claude, in de builder).** `thuisBezorgen`
   AppBar stond op `backgroundColor: info`; nu **Primary Text** (leisteen), gelijk
   aan de rest. Export-geverifieerd: 0× `.info`, 1× `.primaryText`.
-- **P1-54 · `EvenementInfo`: adresregels met iconen · Eigenaar: Claude
+- **P1-54 · `EvenementInfo`: adresregels met iconen · Eigenaar: Claude — bezig (sessie 2026-09-16 avond, nameten + bouwen)
   (toegewezen door Bob, 2026-09-16: "zet klaar als taak voor volgende keer").**
   Op `EventCurrent` staan adres en plaats als kale tekst, en "Plaats" springt in
   omdat er een lege `Column` vóór staat (`evenement_info_widget.dart` r.~126-160).
   Doel: dezelfde opbouw als de kaarten — `Row` met speldje-icoon + "adres,
   plaats" op één regel, en de datum een kalender-icoon. Rechtsklik `TextAdres` →
   Wrap Widget → Row, dan Insert Widget → Icon vooraan (landt op positie 0).
-- **P1-17 Deel A · laatste 3 regels · Eigenaar: Claude (toegewezen door Bob,
-  2026-09-16).** Deel A is verder helemaal af; dit is wat er nog ligt, alle drie
-  op `horecagelegenhedenOverzichtCurrent`, via het globe-icoontje:
-  `qqb1howd` "Zoek op naam" is nog **leeg** → **Search by name**; `hnnqfnhk`
-  staat op "Eatings" (geen Engels) → **Restaurants**; `ykjsgvsf` staat op
-  "Overnight" → **Accommodation**. Daarna is Deel A rond en blijft alleen Deel B
-  (de twee aanmaakpagina's) over, dat op P2-29 wacht.
+- **P1-17 Deel A · laatste 3 regels · ✅ AF 2026-09-16 (Claude, builder +
+  verse export).** `hnnqfnhk` "Eatings" → **Restaurants** en `ykjsgvsf`
+  "Overnight" → **Accommodation** zijn gezet. De derde (`qqb1howd`) bleek niet
+  meer leeg: die had je zelf al op **"Search title"** gezet — gelaten zoals hij
+  staat, want dat sluit aan bij "Select on title" op Home. **Deel A is hiermee
+  rond**; alleen Deel B (de twee aanmaakpagina's) wacht nog op P2-29, zie
+  `TAAK-P1-17-vertalingen.md`.
 - **P2-34 · ✅ afgerond 2026-09-16 (Claude, optie A, Bob's akkoord).**
   `HorecagelegenheidoverzichtKaart`: de `Row` is in een `Column` gewrapt en de
   `Wrap` met labels staat er nu onder, over de volle kaartbreedte (spacing 6).
@@ -398,7 +418,7 @@ telefoon-emulator bekeken (zie screenshots in `~/uk-shots/2026-09-16/na-*.png`).
   Export-geverifieerd (geen `Align(` meer rond de labels, `List.generate`
   intact), `dart analyze` 0 errors, op de telefoon-emulator nagekeken
   (`~/uk-shots/2026-09-16/na3-horeca-ovz.png`).
-- **P2-35 · `HorecagelegenheidCurrent`: "Geen evenementen"-strook · Eigenaar:
+- **P2-35 · `HorecagelegenheidCurrent`: "Geen evenementen"-strook · Eigenaar: Claude — bezig (sessie 2026-09-16 avond, eerst nameten) —
   Claude — eerst NAMETEN op een toestel vóór je gaat bouwen.** De
   oorspronkelijke bevinding was "staat permanent onderin, ook als de zaak events
   heeft". In de export van 2026-09-16 klopt dat maar half: de events-tabel