- Replace hardcoded strings in EditRom.vue and DeleteRom.vue with i18n calls
- Add 20 new translation keys to all 14 locales:
- Manual upload/delete messages
- ROM unmatch/update success messages
- Delete confirmation dialogs
- Filesystem warning messages
- Fix dual-count plural handling with invariable phrasing
- Use consistent parentheses format (remove conjunctions)
- Add pluralization support for delete dialogs
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Address code review feedback from Gemini Code Assist by extracting
complex nested ternary operators into dedicated helper methods:
- getSourceStatusText() for status text display
- getConnectionStatusTooltip() for tooltip text
This improves code readability and maintainability while matching
the existing patterns used throughout the RomM codebase (e.g.,
Personal.vue, GameInfo.vue).
No functional changes - all translation logic remains identical.
- Add 8 new translation keys to scan.json for all locales
- French translations for API key and connection status messages
- English placeholders for other locales (community can improve)
- Update MetadataSources.vue to use t() function for all hardcoded strings
- Fix tooltip logic to show correct message when source is disabled
Translation keys added:
- api-key-invalid
- api-key-missing-or-disabled
- api-key-missing-short
- api-key-set
- api-key-valid
- connection-failed
- connection-in-progress
- connection-successful
🤖 This PR was written with assistance from Claude Code.
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated .gitignore to exclude copilot-instructions.md
- Added migration script 0055_multi_notes.py to convert single note fields to a multi-note JSON structure in the database.
- Refactored RomUserSchema to replace note_raw_markdown and note_is_public with a notes dictionary.
- Introduced UserNoteSchema for representing individual notes.
- Created MultiNoteManager.vue component for managing user notes in the frontend.
- Integrated MultiNoteManager into Personal.vue for displaying and editing notes.
- Updated API service to include multi-note management functions.
- Enhanced NoteDialog.vue to display multiple notes.
- Updated localization files to include new strings related to notes.
- Adjusted Vite configuration to allow additional host for development.