Files
BirthList/.github/copilot-instructions.md
T
Arne Moerman b59ad6e5ab
Build and Push Docker Image / build-and-push (push) Successful in 27s
Add localization support and UI enhancements
Introduced centralized RESX localization with hierarchical keys for multi-language support. Added resource files for English, French, Dutch (Belgium), and pseudo-localization.

Replaced hardcoded strings in Razor components with localized string references. Added a `PreferredCulture` property to `ApplicationUser` with a migration to store user-specific culture preferences.

Implemented `LocalizationService` to manage supported cultures and user preferences. Added a language picker in `TopBar.razor` and configured `RequestLocalizationOptions` for culture detection.

Localized registry-related components and error messages. Enhanced UI elements to dynamically display localized content. Added pseudo-localization to identify hardcoded strings during development.
2026-05-19 23:30:30 +02:00

1.6 KiB

Copilot Instructions

Project Guidelines

  • Use Blazor Web App (.NET 8) with an interactive server and CSS isolation; split components into code-behind files when component parameter count grows beyond a few.
  • Support partial quantities in the purchase flow and display purchased/desired progress; guests must log in before reserving/purchasing.
  • Authentication must support local accounts plus Microsoft and Google login; admin invite links are single-use and not email-locked.
  • Money participation defaults to EUR and tracks fulfilled amount per item via bank-transfer contributions with item-linked messages.
  • Registry visibility is public-by-link initially, but logged-in users who visited a registry should be able to rediscover it in-app.
  • Identities must be hidden from non-admin users for privacy; only admins and the user who purchased/contributed can see that he did so. Other users may see a generic indication that a contribution/purchase was made but never a name/email of another user.
  • Use SQL Server as the default provider and set RequireConfirmedAccount=false for MVP testing; the first registered account should be the owner with full access.

Technical Specifications

  • Use SMTP via Google initially for email functionalities.
  • Support registry type theming from day one to enhance user experience.
  • URL autofetch should utilize OpenGraph/meta tags for better link previews.
  • Use Blazored.TextEditor for rich text editing.
  • Use centralized RESX localization with hierarchical keys (not sentence keys); prefer a shared resource file over per-component files, and use pseudo-localization (qps-Ploc) to catch hardcoded strings.