b59ad6e5ab
Build and Push Docker Image / build-and-push (push) Successful in 27s
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.
1.6 KiB
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=falsefor 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.