Files
gh-christianlouis-docuelevate/frontend/translations/fr.json
T
copilot-swe-agent[bot] ff76855f29 feat(i18n): add internationalization framework with 10 languages
- Create i18n utility module (app/utils/i18n.py) with translation loading,
  browser language detection, AI fallback, and l10n helpers
- Add JSON translation files for EN, DE, FR, ES, IT, PT, NL, PL, ZH, RU
- Add preferred_language column to UserProfile model with migration
- Register _() translation function as Jinja2 global
- Update base.html with translated navigation, footer, cookie notice
- Add language selector dropdown in nav bar (desktop + mobile)
- Create API endpoints for language preference (POST/GET /api/i18n/)
- Support language detection: user profile > cookie > Accept-Language > default

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-09 23:28:02 +00:00

191 lines
7.0 KiB
JSON

{
"app.name": "DocuElevate",
"nav.dashboard": "Tableau de bord",
"nav.upload": "Téléverser",
"nav.files": "Fichiers",
"nav.search": "Recherche",
"nav.pipelines": "Pipelines",
"nav.integrations": "Intégrations",
"nav.help": "Aide",
"nav.notifications": "Notifications",
"nav.pricing": "Tarifs",
"nav.about": "À propos",
"nav.admin": "Admin",
"nav.settings": "Paramètres",
"nav.users": "Utilisateurs",
"nav.plan_designer": "Concepteur de plans",
"nav.credentials": "Identifiants",
"nav.file_manager": "Gestionnaire de fichiers",
"nav.duplicates": "Doublons",
"nav.similarity": "Similarité",
"nav.queue_monitor": "File d'attente",
"nav.scheduled_jobs": "Tâches planifiées",
"nav.backup_restore": "Sauvegarde et restauration",
"nav.status": "Statut",
"nav.api_docs": "Documentation API",
"nav.developer_docs": "Documentation développeur",
"nav.dark_mode": "Mode sombre",
"nav.light_mode": "Mode clair",
"nav.toggle_dark_mode": "Basculer le mode sombre",
"nav.toggle_nav": "Basculer le menu de navigation",
"nav.open_main_menu": "Ouvrir le menu principal",
"nav.skip_to_content": "Aller au contenu principal",
"nav.main_navigation": "Navigation principale",
"nav.admin_menu": "Menu admin",
"nav.admin_actions": "Actions admin",
"nav.help_center": "Centre d'aide",
"auth.login": "Se connecter",
"auth.logout": "Se déconnecter",
"auth.signup": "S'inscrire",
"auth.my_account": "Mon compte",
"auth.profile": "Profil",
"footer.copyright": "DocuElevate {year}",
"footer.privacy": "Confidentialité",
"footer.imprint": "Mentions légales",
"footer.terms": "Conditions",
"footer.cookies": "Cookies",
"footer.license": "Licence",
"footer.attributions": "Attributions",
"footer.version": "Version {version}",
"footer.navigation": "Navigation du pied de page",
"cookie.notice": "DocuElevate utilise uniquement des cookies de session essentiels nécessaires à l'authentification et au fonctionnement du service. Aucun cookie de suivi ou d'analyse n'est utilisé.",
"cookie.policy_link": "Politique de cookies",
"cookie.privacy_link": "Avis de confidentialité",
"cookie.accept": "Compris",
"cookie.notice_label": "Avis relatif aux cookies",
"common.save": "Enregistrer",
"common.cancel": "Annuler",
"common.delete": "Supprimer",
"common.edit": "Modifier",
"common.close": "Fermer",
"common.confirm": "Confirmer",
"common.back": "Retour",
"common.next": "Suivant",
"common.loading": "Chargement...",
"common.error": "Erreur",
"common.success": "Succès",
"common.warning": "Avertissement",
"common.info": "Info",
"common.yes": "Oui",
"common.no": "Non",
"common.search": "Rechercher",
"common.filter": "Filtrer",
"common.reset": "Réinitialiser",
"common.refresh": "Actualiser",
"common.download": "Télécharger",
"common.actions": "Actions",
"common.details": "Détails",
"common.name": "Nom",
"common.description": "Description",
"common.type": "Type",
"common.status": "Statut",
"common.date": "Date",
"common.size": "Taille",
"common.created": "Créé",
"common.updated": "Mis à jour",
"common.enabled": "Activé",
"common.disabled": "Désactivé",
"common.active": "Actif",
"common.inactive": "Inactif",
"common.all": "Tout",
"common.none": "Aucun",
"common.select": "Sélectionner",
"common.upload": "Téléverser",
"common.processing": "En cours de traitement",
"common.completed": "Terminé",
"common.failed": "Échoué",
"common.pending": "En attente",
"common.retry": "Réessayer",
"common.view": "Voir",
"common.copy": "Copier",
"common.copied": "Copié !",
"language.selector": "Langue",
"language.en": "English",
"language.de": "Deutsch",
"language.fr": "Français",
"language.es": "Español",
"language.it": "Italiano",
"language.pt": "Português",
"language.nl": "Nederlands",
"language.pl": "Polski",
"language.zh": "中文",
"language.ru": "Русский",
"language.changed": "Langue changée en {language}",
"dashboard.title": "Tableau de bord",
"dashboard.total_files": "Total des fichiers",
"dashboard.files_today": "Fichiers aujourd'hui",
"dashboard.files_this_month": "Fichiers ce mois-ci",
"dashboard.ocr_processed": "OCR traités",
"dashboard.active_integrations": "Intégrations actives",
"dashboard.storage_targets": "Destinations de stockage",
"dashboard.recent_activity": "Activité récente",
"dashboard.quick_actions": "Actions rapides",
"dashboard.welcome": "Bienvenue sur DocuElevate",
"upload.title": "Téléverser un document",
"upload.drag_drop": "Glissez-déposez vos fichiers ici ou cliquez pour parcourir",
"upload.select_file": "Sélectionner un fichier",
"upload.uploading": "Téléversement en cours...",
"upload.success": "Fichier téléversé avec succès",
"upload.error": "Échec du téléversement",
"upload.max_size": "Taille maximale du fichier : {size}",
"files.title": "Fichiers",
"files.no_files": "Aucun fichier trouvé",
"files.filename": "Nom du fichier",
"files.document_title": "Titre du document",
"files.uploaded": "Téléversé",
"files.file_size": "Taille du fichier",
"files.ocr_status": "Statut OCR",
"files.tags": "Étiquettes",
"search.title": "Rechercher des documents",
"search.placeholder": "Rechercher par nom, contenu, étiquettes...",
"search.no_results": "Aucun résultat trouvé",
"search.results_count": "{count} résultats trouvés",
"settings.title": "Paramètres",
"settings.save_success": "Paramètre enregistré avec succès",
"settings.save_error": "Échec de l'enregistrement du paramètre",
"settings.reset_confirm": "Êtes-vous sûr de vouloir réinitialiser ce paramètre ?",
"integrations.title": "Intégrations",
"integrations.connect": "Connecter",
"integrations.disconnect": "Déconnecter",
"integrations.connected": "Connecté",
"integrations.not_connected": "Non connecté",
"integrations.configure": "Configurer",
"pipelines.title": "Pipelines de traitement",
"pipelines.create": "Créer un pipeline",
"pipelines.edit": "Modifier le pipeline",
"help.title": "Centre d'aide",
"help.getting_started": "Premiers pas",
"help.faq": "Questions fréquentes",
"help.documentation": "Documentation",
"help.support": "Support",
"error.not_found": "Page non trouvée",
"error.not_found_message": "La page que vous recherchez n'existe pas.",
"error.server_error": "Erreur interne du serveur",
"error.server_error_message": "Quelque chose s'est mal passé. Veuillez réessayer plus tard.",
"error.unauthorized": "Non autorisé",
"error.unauthorized_message": "Vous devez vous connecter pour accéder à cette page.",
"error.forbidden": "Interdit",
"error.forbidden_message": "Vous n'avez pas la permission d'accéder à cette page.",
"notifications.title": "Notifications",
"notifications.mark_read": "Marquer comme lu",
"notifications.mark_all_read": "Tout marquer comme lu",
"notifications.no_notifications": "Aucune notification",
"notifications.unread_count": "{count} notifications non lues"
}