Add terms of use translations, sync detection, and refactor book components

- Introduced new translations for terms of use in French and English locales.
- Added sync status detection logic for books in `BookList` and `BookCard` components.
- Refactored `BookCard` to handle additional props and improve layout flexibility.
- Enhanced `TermsOfUse` component with complete localization support and refuse functionality.
- Updated data decryption logic in Rust services to handle optional fields and additional metadata consistently.
- Improved offline/online synchronization workflows with extended context properties.
This commit is contained in:
natreex
2026-03-23 11:56:35 -04:00
parent 64ed90d993
commit a114592ac9
23 changed files with 588 additions and 438 deletions

View File

@@ -1371,7 +1371,29 @@
"passwordUnknown": "Une erreur inconnue est survenue."
}
},
"terms": {
"title": "Termes d'utilisation",
"subtitle": "Acceptation requise pour accéder à ERitors Scribe",
"mandatory": "Acceptation obligatoire",
"mandatoryDesc1": "Pour pouvoir utiliser nos services, tel qu'<strong>ERitors Scribe</strong>, vous devez accepter les termes d'utilisation en cliquant sur <strong>J'accepte</strong>.",
"mandatoryDesc2": "Veuillez lire attentivement la page détaillée des termes et conditions d'utilisation avant de procéder à l'acceptation.",
"mandatoryDesc3": "Si vous n'acceptez pas ces conditions, vous ne pourrez pas accéder à nos services et serez redirigé vers la page d'accueil.",
"fullDoc": "Documentation complète",
"fullDocDesc": "Pour consulter l'intégralité de nos termes et conditions d'utilisation, veuillez visiter notre page dédiée :",
"fullDocLink": "Consulter les termes complets",
"importance": "Importance capitale",
"importanceDesc": "Cette acceptation est obligatoire et constitue un prérequis légal pour l'utilisation de nos services d'édition assistée par intelligence artificielle.",
"required": "Décision requise pour continuer",
"refuse": "Refuser et quitter",
"accept": "J'accepte les termes"
},
"offline": {
"toggle": {
"online": "En ligne",
"offline": "Hors ligne",
"switchToOnline": "Passer en mode en ligne",
"switchToOffline": "Passer en mode hors ligne"
},
"mode": {
"title": "Mode hors-ligne",
"backToOnline": "Retour en ligne"