* Add French (fr) language support
- Create app/src/i18n/locales/fr/translation.json with full UI translations
- Register French in SUPPORTED_LANGUAGES and i18next resources
- Wire French locale from date-fns for relative date formatting
* Fix Vite file watcher EBUSY error on Windows by excluding Rust target directory