{
  "appName": "AqiBoost",
  "navHome": "Accueil",
  "navLogin": "Connexion",
  "navRegister": "Inscription",
  "navDashboard": "Tableau de bord",
  "navLogout": "Déconnexion",
  "loginTitle": "Connexion",
  "registerTitle": "Inscription",
  "emailLabel": "Adresse e-mail",
  "passwordLabel": "Mot de passe",
  "loginButton": "Se connecter",
  "loggingInButton": "Connexion en cours...",
  "registerButton": "S'inscrire",
  "registeringButton": "Inscription en cours...",
  "welcomeMessage": "Bienvenue !",
  "loggedInMessage": "Vous êtes connecté.",
  "registrationSuccess": "Inscription réussie ! Veuillez vous connecter.",
  "emailRequired": "L'email et le mot de passe sont requis.",
  "loginFailed": "La connexion a échoué",
  "registrationFailed": "L'inscription a échoué",
  "unexpectedError": "Une erreur inattendue est survenue.",
  "dashboardTitle": "Tableau de Bord",
  "platformDescription": "Votre plateforme d'apprentissage adaptatif.",
  "dashboardWelcome": "Bon retour",
  "learnerSummaryTitle": "Résumé Apprenant",
  "nextReview": "Prochaine Révision",
  "recentProgress": "Progression Récente",
  "startLearningAction": "Commencer à Apprendre",
  "viewCalendarAction": "Voir mon Calendrier",
  "creatorSummaryTitle": "Résumé Créateur",
  "myCollections": "Mes Collections",
  "collectionsOnline": "Collections en Ligne",
  "quickStats": "Statistiques Rapides",
  "manageCollectionsAction": "Gérer mes Collections",
  "viewStatsAction": "Voir les Statistiques",
  "quickActionsTitle": "Actions Rapides",
  "browseMarketplaceAction": "Explorer la Marketplace",
  "createCollectionAction": "Créer une Collection",
  "placeholderData": "Données indisponibles",
  "reviewsDue": "Révisions dues : {count}",
  "seriesCompleted": "Séries complétées : {count}",
  "collectionsPublished": "Publiées : {count}",
  "viewsToday": "Vues aujourd'hui : {count}",
  "dashboardChartSeriesCompleted": "Séries Complétées (7 derniers jours)",
  "dashboardChartViews": "Vues des Collections (7 derniers jours)",
  "firstNameLabel": "Prénom",
  "lastNameLabel": "Nom",
  "usernameLabel": "Pseudo",
  "allFieldsRequired": "Veuillez remplir tous les champs requis.",
  "navMyAccount": "Mon Compte",
  "forgotPasswordLink": "Mot de passe oublié ?",
  "accountPagePlaceholder": "Les détails et paramètres du compte seront bientôt disponibles ici.",
  "forgotPassword.title": "Mot de passe oublié ?",
  "forgotPassword.instructions": "Saisissez votre adresse e-mail ci-dessous et nous vous enverrons un lien pour réinitialiser votre mot de passe.",
  "forgotPassword.emailSentConfirmation": "Si un compte existe pour {{email}}, vous recevrez sous peu un e-mail avec les instructions de réinitialisation du mot de passe.",
  "forgotPassword.submitButton": "Envoyer le lien de réinitialisation",
  "forgotPassword.submitError": "Échec de l'envoi de l'e-mail de réinitialisation du mot de passe. Veuillez réessayer.",
  "resetPassword.title": "Réinitialiser votre mot de passe",
  "resetPassword.newPasswordLabel": "Nouveau mot de passe",
  "resetPassword.confirmPasswordLabel": "Confirmer le nouveau mot de passe",
  "resetPassword.submitButton": "Réinitialiser le mot de passe",
  "resetPassword.allFieldsRequired": "Veuillez remplir les deux champs de mot de passe.",
  "resetPassword.passwordsDoNotMatch": "Les mots de passe ne correspondent pas.",
  "resetPassword.passwordTooShort": "Le mot de passe doit comporter au moins 8 caractères.",
  "resetPassword.resetError": "Échec de la réinitialisation du mot de passe. Le lien est peut-être invalide ou a expiré.",
  "resetPassword.success": "Votre mot de passe a été réinitialisé avec succès. Vous allez être redirigé vers la page de connexion.",
  "welcome": "Bienvenue !",
  "noAccount": "Vous n'avez pas de compte ?",
  "registerLink": "Inscrivez-vous",
  "seriesEditor.cardAddedSuccess": "Carte ajoutée avec succès !",
  "seriesEditor.cardAddFailed": "Échec de l'ajout de la carte : {{error}}",
  "seriesEditor.cardAddFailedFallback": "Échec de l'ajout de la carte. Une erreur inattendue est survenue.",
  "seriesEditor.cardDeletedSuccess": "Carte supprimée avec succès !",
  "seriesEditor.cardDeleteFailed": "Échec de la suppression de la carte : {{error}}",
  "seriesEditor.cardDeleteFailedFallback": "Échec de la suppression de la carte. Une erreur inattendue est survenue.",
  "seriesEditor.cardUpdatedSuccess": "Carte mise à jour avec succès !",
  "seriesEditor.cardUpdateFailed": "Échec de la mise à jour de la carte : {{error}}",
  "seriesEditor.cardUpdateFailedFallback": "Échec de la mise à jour de la carte. Une erreur inattendue est survenue.",
  "seriesEditor.metadataSavedSuccess": "Métadonnées de la série sauvegardées !",
  "seriesEditor.metadataSaveFailed": "Erreur lors de la sauvegarde des métadonnées : {{error}}",
  "seriesEditor.cardAddFormError": "Erreur dans le formulaire d'ajout de carte. Veuillez vérifier les champs.",
  "seriesEditor.cardUpdateError": "Erreur lors de la mise à jour de la carte",
  "seriesEditor.cardOrderSavedSuccess": "Ordre des cartes sauvegardé avec succès.",
  "seriesEditor.cardOrderSaveFailed": "Échec de la sauvegarde de l'ordre des cartes",
  "seriesEditor.cardDragBetweenListsNotImplemented": "Le glisser-déposer entre différentes listes n'est pas encore implémenté.",
  "seriesEditor.invalidSeriesId": "ID de série invalide.",
  "seriesEditor.noAuthFound": "Aucun jeton d'authentification trouvé, redirection vers la connexion.",
  "seriesEditor.unknownCardType": "Type de carte inconnu rencontré lors de l'adaptation :",
  "seriesEditor.seriesDataFetched": "Données de la série récupérées, categoryId sélectionné :",
  "seriesEditor.fetchSeriesFailed": "Échec du chargement des données de la série",
  "seriesEditor.fetchDataError": "Erreur lors du chargement des données de la série : {{errorDetails}}",
  "seriesEditor.saveMetadataFailed": "Échec de la sauvegarde des métadonnées de la série",
  "seriesEditor.loadingSeriesData": "Chargement des données de la série...",
  "seriesEditor.seriesNotFound": "Série non trouvée.",
  "seriesEditor.renderingSeriesEditorPage": "Rendu de SeriesEditorPage. selectedCategoryId :",
  "seriesEditor.editingSeries": "Édition de la Série",
  "seriesEditor.updateSuccess": "Informations de la série mises à jour !",
  "seriesEditor.updateError": "Échec de la mise à jour des informations de la série : {{errorDetails}}",
  "seriesEditor.seriesId": "ID de la Série",
  "seriesEditor.seriesIdLabel": "ID de la Série",
  "seriesEditor.seriesTitlePlaceholder": "Entrez le titre de la série",
  "seriesEditor.seriesDescriptionPlaceholder": "Entrez la description de la série",
  "seriesEditor.seriesMetadata": "Métadonnées de la Série",
  "seriesEditor.seriesTitle": "Titre de la Série",
  "seriesEditor.seriesDescription": "Description",
  "seriesEditor.category": "Catégorie",
  "seriesEditor.noCategory": "Aucune",
  "seriesEditor.manageCategories": "Gérer les catégories",
  "seriesEditor.saveSeriesMetadata": "Sauvegarder les Métadonnées",
  "seriesEditor.editSeriesTitle": "Éditer les informations de la Série",
  "seriesEditor.filterAll": "Tous",
  "seriesEditor.filterLearn": "Apprendre",
  "seriesEditor.filterReview": "Réviser",
  "seriesEditor.filterEvaluate": "Évaluer",
  "seriesEditor.saveMetadata": "Sauvegarder les Métadonnées",
  "seriesEditor.addNewCardTitle": "Ajouter une Nouvelle Carte",
  "seriesEditor.cardTypeLabel": "Type de Carte",
  "seriesEditor.cardTypeLearn": "Apprendre",
  "seriesEditor.cardTypeReview": "Révision",
  "seriesEditor.cardTypeEvaluate": "Évaluation",
  "seriesEditor.addNewCard": "Ajouter une Nouvelle Carte",
  "seriesEditor.cardType": "Type de Carte",
  "seriesEditor.learnCard": "Apprendre (Recto Simple)",
  "seriesEditor.reviewCard": "Révision (Recto/Verso)",
  "seriesEditor.evaluateCard": "Évaluation (Quiz)",
  "seriesEditor.learnCardContent": "Contenu de la carte 'Apprendre'",
  "seriesEditor.learnContentPlaceholder": "Saisissez le contenu de la carte 'Apprendre'...",
  "seriesEditor.learnCardPlaceholder": "Saisissez le contenu ici...",
  "seriesEditor.reviewCardRecto": "Recto",
  "seriesEditor.reviewCardRectoPlaceholder": "Contenu du recto...",
  "seriesEditor.reviewCardVerso": "Verso",
  "seriesEditor.reviewCardVersoPlaceholder": "Contenu du verso...",
  "seriesEditor.evaluationMatrixType": "Type de Matrice d'Évaluation",
  "seriesEditor.evaluationMatrixTypeLabel": "Type de Matrice d'Évaluation",
  "seriesEditor.evaluationMatrixTypeQuiz": "Quiz (QCM)",
  "seriesEditor.quiz": "Quiz (QCM)",
  "seriesEditor.memoryGameType": "Jeu de mémoire (Simon)",
  "seriesEditor.openQuestionType": "Question ouverte",
  "seriesEditor.dictationType": "Dictée de phrase",
  "seriesEditor.handwrittenType": "Exercice manuscrit",
  "seriesEditor.imageLabelingType": "Légendage d'image",
  "seriesEditor.globeCountriesType": "Globe Interactif",
  "seriesEditor.countriesToLocate": "pays à localiser",
  "seriesEditor.difficultyEasy": "Facile",
  "seriesEditor.difficultyMedium": "Moyen",
  "seriesEditor.difficultyHard": "Difficile",
  "seriesEditor.dictationConfiguration": "Configuration de la dictée",
  "seriesEditor.dictationPhraseLabel": "Phrase à dicter",
  "seriesEditor.dictationPhrasePlaceholder": "Entrez la phrase à dicter...",
  "seriesEditor.generateAudio": "Générer l'audio",
  "seriesEditor.generatingAudio": "Génération en cours...",
  "seriesEditor.playAudio": "Écouter l'audio",
  "seriesEditor.dictationOptions": "Options de dictée",
  "seriesEditor.caseSensitive": "Sensible à la casse",
  "seriesEditor.punctuationMatters": "Tenir compte de la ponctuation",
  "seriesEditor.audioGenerationFailed": "Échec de la génération audio",
  "seriesEditor.audioPlaybackFailed": "Échec de la lecture audio",
  "seriesEditor.audioNotReadyTimeout": "Le fichier audio met trop de temps à être prêt. Veuillez réessayer dans quelques instants.",
  "seriesEditor.dictationPhraseRequired": "La phrase à dicter est requise",
  "seriesEditor.rectoMissing": "Recto non défini",
  "seriesEditor.versoMissing": "Verso non défini",
  "seriesEditor.questionMissing": "Question non définie",
  "seriesEditor.validation.invalidCardType": "Type de carte invalide",
  "seriesEditor.validation.learnContentRequired": "Le contenu de la carte 'Apprendre' est requis",
  "seriesEditor.validation.reviewRectoRequired": "Le recto de la carte 'Révision' est requis",
  "seriesEditor.validation.reviewVersoRequired": "Le verso de la carte 'Révision' est requis",
  "seriesEditor.validation.quizQuestionRequired": "La question du quiz est requise",
  "seriesEditor.validation.quizOptionsRequired": "Au moins une option de réponse est requise",
  "seriesEditor.validation.quizQuestionOptionsRequired": "La question et au moins une option sont requises",
  "seriesEditor.validation.quizCorrectOptionRequired": "Au moins une option doit être marquée comme correcte",
  "seriesEditor.validation.dynamicVariableNamesUnique": "Les noms des variables dynamiques doivent être uniques",
  "seriesEditor.validation.dynamicVariableNameRequired": "Le nom de la variable dynamique est requis",
  "seriesEditor.validation.instructionsRequired": "Les instructions sont requises",
  "seriesEditor.validation.imageRequired": "Une image est requise",
  "seriesEditor.validation.atLeastOneArrow": "Au moins une flèche est requise",
  "seriesEditor.validation.allArrowsNeedText": "Toutes les flèches doivent avoir un texte attendu",
  "seriesEditor.validation.countryCountRequired": "Le nombre de pays doit être au moins 1",
  "seriesEditor.optionsLabel": "Options",
  "seriesEditor.orCreateVideo": "ou créer une carte vidéo",
  "seriesEditor.optionTextMissing": "Texte option manquant",
  "seriesEditor.quizQuestion": "Question",
  "seriesEditor.quizQuestionPlaceholder": "Saisissez la question du quiz...",
  "seriesEditor.quizOptions": "Options de Réponse",
  "seriesEditor.quizOptionPlaceholder": "Texte de l'option {{index}}",
  "seriesEditor.quizOptionIndexError": "Tentative de mise à jour d'une option inexistante à l'index :",
  "seriesEditor.quizOptionFeedback": "Feedback pour l'option {{index}} (optionnel)",
  "seriesEditor.addQuizOption": "Ajouter une option",
  "seriesEditor.addOption": "Ajouter une option",
  "seriesEditor.evaluationType": "Type d'évaluation",
  "seriesEditor.quizConfiguration": "Configuration du Quiz",
  "seriesEditor.globalCorrectFeedback": "Feedback global si correct",
  "seriesEditor.globalIncorrectFeedback": "Feedback global si incorrect",
  "seriesEditor.recto": "Recto",
  "seriesEditor.verso": "Verso",
  "seriesEditor.backToDashboard": "Retour au tableau de bord des séries",
  "seriesEditor.editCardTooltip": "Modifier cette carte",
  "seriesEditor.deleteCardTooltip": "Supprimer cette carte",
  "seriesEditor.testCardTooltip": "Tester cette carte",
  "seriesEditor.testCardDisabledTooltip": "Données d'évaluation manquantes pour tester cette carte.",
  "seriesEditor.learnCardTooltip": "Apprendre cette carte",
  "seriesEditor.dynamicVariablesSectionTitle": "Variables Dynamiques",
  "seriesEditor.dynamicVariablesHelpTitle": "Comment utiliser les variables dynamiques ?",
  "seriesEditor.dynamicVariablesHelpText": "Définissez des variables ci-dessous, puis utilisez-les dans votre question et vos options en les entourant de doubles accolades. Exemple : {{numA}} sera remplacé par une valeur aléatoire à chaque test.",
  "seriesEditor.addVariableButton": "Ajouter une variable",
  "seriesEditor.removeVariableButtonTooltip": "Supprimer cette variable",
  "seriesEditor.variableNamePlaceholder": "Nom de la variable (ex: N)",
  "seriesEditor.variableTypeLabel": "Type",
  "seriesEditor.variableTypeText": "Texte",
  "seriesEditor.variableTypeNumber": "Nombre",
  "seriesEditor.variableTypeFormula": "Formule",
  "seriesEditor.variableDescriptionPlaceholder": "Description (optionnel)",
  "seriesEditor.defaultVariableName": "Variable {{index}}",
  "seriesEditor.variableValueDefinitionTitle": "Définition de la valeur",
  "seriesEditor.textModeLabel": "Mode de texte",
  "seriesEditor.textModeFixed": "Texte fixe",
  "seriesEditor.textModeRandomList": "Liste aléatoire",
  "seriesEditor.textValueLabel": "Valeur du texte",
  "seriesEditor.randomListItemsLabel": "Éléments de la liste",
  "seriesEditor.addRandomListItemButton": "Ajouter un élément",
  "seriesEditor.numberModeLabel": "Mode de nombre",
  "seriesEditor.numberModeFixed": "Nombre fixe",
  "seriesEditor.numberModeRandom": "Nombre aléatoire",
  "seriesEditor.numberMinLabel": "Minimum",
  "seriesEditor.numberMaxLabel": "Maximum",
  "seriesEditor.numberIsIntegerLabel": "Nombre entier",
  "seriesEditor.variableValueDefinitionModeLabel": "Mode de définition de la valeur",
  "seriesEditor.valueModeFixedText": "Texte fixe",
  "seriesEditor.valueModeRandomList": "Texte aléatoire depuis une liste",
  "seriesEditor.valueModeFixedNumber": "Nombre fixe",
  "seriesEditor.valueModeRandomNumber": "Nombre aléatoire",
  "seriesEditor.variableExpressionPlaceholder": "Expression (ex: N * M + 2)",
  "seriesEditor.formulaVariablesHelper": "Utilisez les noms des variables définies ci-dessus.",
  "seriesEditor.variableValuePlaceholder": "Valeur",
  "seriesEditor.variableRandomListItemPlaceholder": "Élément #{{index}}",
  "seriesEditor.variableRandomListAddItem": "Ajouter un élément à la liste",
  "seriesEditor.variableRandomNumberMin": "Min",
  "seriesEditor.variableRandomNumberMax": "Max",
  "seriesEditor.variableRandomNumberIsInteger": "Entier",
  "seriesEditor.variableRandomNumberDecimalPlaces": "Décimales",
  "seriesEditor.quizGlobalFeedbacks": "Feedbacks Globaux",
  "seriesEditor.quizGlobalCorrectFeedback": "Feedback si réponse correcte (optionnel)",
  "seriesEditor.quizGlobalCorrectFeedbackPlaceholder": "Saisissez le feedback si la réponse est correcte...",
  "seriesEditor.quizGlobalIncorrectFeedbackPlaceholder": "Saisissez le feedback si la réponse est incorrecte...",
  "seriesEditor.quizConfigurationTitle": "Configuration du Quiz",
  "seriesEditor.quizQuestionLabel": "Question du Quiz",
  "seriesEditor.quizOptionsLabel": "Options de Réponse",
  "seriesEditor.quizOptionFeedbackLabel": "Feedback pour cette option (optionnel)",
  "seriesEditor.optionFeedbackPlaceholder": "Saisissez un feedback pour cette option (optionnel)...",
  "seriesEditor.addOptionButton": "Ajouter une option",
  "seriesEditor.quizSelectionModeLabel": "Mode de sélection des réponses",
  "seriesEditor.quizSelectionModeSingle": "Une seule bonne réponse",
  "seriesEditor.quizSelectionModeMultiple": "Plusieurs bonnes réponses",
  "seriesEditor.quizDynamicVariablesTitle": "Variables Dynamiques du Quiz",
  "seriesEditor.dynamicVariables.nameLabel": "Nom de la variable",
  "seriesEditor.dynamicVariables.descriptionLabel": "Description (optionnel)",
  "seriesEditor.dynamicVariables.typeLabel": "Type de variable",
  "seriesEditor.dynamicVariables.typeText": "Texte",
  "seriesEditor.dynamicVariables.typeNumber": "Nombre",
  "seriesEditor.dynamicVariables.typeFormula": "Formule",
  "seriesEditor.dynamicVariables.valueDefFixedTextLabel": "Valeur (texte fixe)",
  "seriesEditor.dynamicVariables.valueDefMinLabel": "Valeur minimale",
  "seriesEditor.dynamicVariables.valueDefMaxLabel": "Valeur maximale",
  "seriesEditor.dynamicVariables.valueDefIsIntegerLabel": "Est un entier ?",
  "seriesEditor.dynamicVariables.valueDefFormulaLabel": "Expression de la formule",
  "seriesEditor.dynamicVariables.valueDefFormulaHelper": "Utilisez les noms des variables (ex: var1 + var2). Les variables numériques seront générées aléatoirement dans leurs plages.",
  "seriesEditor.dynamicVariables.addButton": "Ajouter une variable dynamique",
  "seriesEditor.quizGlobalFeedbackTitle": "Feedbacks Globaux du Quiz",
  "seriesEditor.quizSelectionMode": "Type de sélection des réponses",
  "seriesEditor.singleSelection": "Une seule bonne réponse",
  "seriesEditor.multipleSelection": "Plusieurs bonnes réponses",
  "seriesEditor.quizDynamicVariables": "Variables dynamiques",
  "seriesEditor.quizDynamicVariable": "Variable {{index}}",
  "seriesEditor.addQuizDynamicVariable": "Ajouter une variable",
  "seriesEditor.addCard": "Ajouter Carte",
  "seriesEditor.addCardButton": "Ajouter la Carte",
  "seriesEditor.cardsInSeries": "Cartes de la Série",
  "seriesEditor.noCardsInSeries": "Aucune carte dans cette série pour le moment.",
  "seriesEditor.learnCards": "Apprendre",
  "seriesEditor.card": "Carte {{index}}",
  "seriesEditor.noLearnCards": "Aucune carte 'Apprendre'.",
  "seriesEditor.reviewCards": "Révision",
  "seriesEditor.noReviewCards": "Aucune carte 'Révision'.",
  "seriesEditor.evaluateCards": "Évaluation",
  "seriesEditor.noEvaluateCards": "Aucune carte 'Évaluation'.",
  "seriesEditor.learnProgress": "Progression \"Apprendre\"",
  "seriesEditor.startLearning": "Apprendre",
  "seriesEditor.launchSeries": "Lancer la Série",
  "seriesEditor.evaluationCard": "Évaluation (Quiz)",
  "seriesEditor.cardsList": "Liste des Cartes",
  "seriesEditor.BACKTODASHBOARD": "Retour au Tableau de Bord",
  "seriesEditor.editCardTitle": "Modifier la carte",
  "buttons.cancel": "Annuler",
  "buttons.save": "Enregistrer",
  "buttons.addCriterion": "Ajouter un critère",
  "buttons.removeCriterion": "Supprimer le critère",
  "buttons.deleteCriterion": "Supprimer le critère",
  "seriesEditor.reviewRectoLabel": "Recto",
  "seriesEditor.reviewVersoLabel": "Verso",
  "seriesEditor.reviewRectoPlaceholder": "Saisissez le contenu recto...",
  "seriesEditor.reviewVersoPlaceholder": "Saisissez le contenu verso...",
  "seriesEditor.dynamicVariableUsageHint": "Utilisez les variables dynamiques en les entourant de doubles accolades, par exemple {{variable}}.",
  "seriesEditor.selectionModeLabel": "Mode de sélection",
  "seriesEditor.selectionModeSingle": "Une seule réponse",
  "seriesEditor.selectionModeMultiple": "Plusieurs réponses",
  "seriesEditor.globalFeedbacksLabel": "Feedbacks globaux",
  "seriesEditor.correctFeedbackLabel": "Feedback si correct",
  "seriesEditor.incorrectFeedbackLabel": "Feedback si incorrect",
  "seriesEditor.responseOptionsLabel": "Options de réponse",
  "seriesEditor.optionTextPlaceholder": "Texte de l'option",
  "seriesEditor.cardTypeOpen_question": "Question Ouverte",
  "seriesEditor.statementLabel": "Énoncé",
  "seriesEditor.idealAnswerLabel": "Réponse idéale",
  "seriesEditor.criteriaLabel": "Critères d'évaluation",
  "seriesEditor.criterionNameLabel": "Nom du critère",
  "seriesEditor.criterionPointsLabel": "Points",
  "seriesEditor.criterionInstructionsLabel": "Instructions pour l'évaluateur",
  "seriesEditor.pointsLabel": "Points",
  "seriesEditor.instructionsLabel": "Instructions",
  "seriesEditor.optionalPlaceholder": "Optionnel",
  "seriesEditor.correctOptionLabel": "Correct",
  "seriesEditor.openQuestionStatement": "Énoncé",
  "seriesEditor.aiUsageTitle": "Comment l'IA utilise ces champs",
  "seriesEditor.aiUsageCriterionName": "Un titre court pour identifier le point à évaluer (ex: \"Orthographe\", \"Logique du calcul\").",
  "seriesEditor.aiUsagePoints": "Le score maximum pour ce critère.",
  "seriesEditor.aiUsageInstructions": "Des directives claires pour l'IA. Décrivez précisément ce que vous attendez. Plus les instructions sont précises, meilleure sera l'évaluation.",
  "publicCollectionDetailPage": {
    "byAuthor": "Par {{authorName}}",
    "noDescription": "Aucune description fournie.",
    "diffusionModeLabel": "Mode de diffusion:",
    "seriesInThisCollection": "Séries dans cette collection",
    "noSeriesInCollection": "Aucune série dans cette collection pour le moment.",
    "viewSeries": "Voir la série",
    "loginToSubscribe": "Connectez-vous pour vous abonner",
    "cardsCount": "{{count}} cartes",
    "title": "Détail de la Collection Publique",
    "subscribeSuccess": "Vous êtes maintenant abonné à cette collection !"
  },
  "collectionDetailPage": {
    "errorFetchingDetails": "Erreur lors de la récupération des détails de la collection.",
    "noDetails": "Aucun détail de collection trouvé.",
    "noDescription": "Aucune description disponible.",
    "seriesInCollectionTitle": "Séries dans cette collection",
    "noSeriesDescription": "Pas de description pour cette série.",
    "learnButton": "J'apprends",
    "reviewButton": "Je révise",
    "evaluateButton": "Je m'évalue",
    "lastLearnStartDateLabel": "Dernier apprentissage",
    "lastReviewDateLabel": "Dernière révision",
    "lastEvaluationDateLabel": "Dernière évaluation",
    "totalLearnCards": "Cartes à apprendre",
    "understoodLearnCards": "Cartes comprises",
    "srsCardsDueToday": "À réviser aujourd'hui",
    "srsTotalInReview": "En révision (total)",
    "srsNextReviewDate": "Prochaine révision",
    "totalEvaluationCards": "Cartes d'évaluation",
    "startButton": "Démarrer",
    "noSeries": "Aucune série trouvée dans cette collection.",
    "errorSubscribing": "Une erreur est survenue lors de la tentative d'abonnement.",
    "errorUnsubscribing": "Une erreur est survenue lors de la tentative de désabonnement.",
    "alreadySubscribed": "Vous êtes déjà abonné à cette collection.",
    "noCardsToReview": "Aucune carte à réviser pour le moment.",
    "errorStartingReview": "Erreur lors du démarrage de la session de révision."
  },
  "learnSession": {
    "congratulations": "Félicitations !",
    "information": "Information",
    "allCardsCompleted": "Vous avez terminé toutes les cartes \"J'apprends\" de cette session.",
    "noCardsToLearn": "Aucune carte à apprendre dans cette série pour le moment ou vous les avez toutes déjà comprises.",
    "returnToCollection": "Retour à la collection",
    "returnToSeries": "Retour à la série",
    "retry": "Réessayer",
    "back": "Retour",
    "learnTitle": "Apprentissage",
    "series": "Série",
    "learnCardTitle": "Carte \"J'apprends\"",
    "quitSession": "Quitter la session"
  },
  "accountPage": {
    "title": "Mon Compte",
    "userDetails": "Détails de l'utilisateur",
    "userId": "ID Utilisateur :",
    "username": "Nom d'utilisateur :",
    "email": "Email :",
    "firstName": "Prénom :",
    "lastName": "Nom :",
    "subscriptionInfo": "Informations d'abonnement",
    "subscriptionIdHelp": "Pour vous abonner ou gérer votre abonnement, votre ID utilisateur est :",
    "noUserData": "Données utilisateur non trouvées. Veuillez vous reconnecter.",
    "errorParsingUserData": "Erreur lors de la récupération des données utilisateur.",
    "noUserLoggedIn": "Aucun utilisateur n'est actuellement connecté.",
    "updateFormTitle": "Modifier mes informations",
    "saveChanges": "Enregistrer les modifications",
    "errorNoToken": "Jeton d'authentification non trouvé. Veuillez vous reconnecter.",
    "errorUpdating": "Échec de la mise à jour des informations du compte.",
    "updateSuccess": "Informations du compte mises à jour avec succès !",
    "noChanges": "Aucune modification à enregistrer"
  },
  "common": {
    "notProvided": "Non fourni",
    "active": "Actif",
    "inactive": "Inactif",
    "yes": "Oui",
    "no": "Non",
    "loading": "Chargement...",
    "cancel": "Annuler",
    "close": "Fermer",
    "or": "OU"
  },
  "autoGen": {
    "title": "Génération automatique de cartes",
    "chooseFile": "Choisir un fichier (texte / image / PDF)",
    "orPasteText": "Ou collez du texte",
    "learnCount": "Cartes \"J'APPRENDS\"",
    "reviewCount": "Cartes \"JE RÉVISE\"",
    "evaluateCount": "Cartes \"JE M'ÉVALUE\"",
    "schoolLevel": "Niveau scolaire",
    "primary": "Primaire",
    "college": "Collège",
    "lycee": "Lycée",
    "university": "Université",
    "adult": "Adulte / Formation Pro",
    "deepSeekNotice": "Cette fonctionnalité utilise l'API DeepSeek. Des coûts de requêtes peuvent s'appliquer.",
    "generate": "Générer",
    "processing": "Traitement en cours, veuillez patienter...",
    "processingLong": "Génération en cours (jusqu'à 5 minutes)…",
    "finalizing": "Finalisation...",
    "noInputError": "Veuillez fournir un fichier ou un texte source",
    "emptyResult": "Aucune carte générée",
    "success": "Cartes générées avec succès",
    "successAfterRefresh": "Cartes générées avec succès",
    "noNewCards": "Aucune nouvelle carte générée",
    "fallbackMode": "Cartes générées en mode de secours (vérifiez la configuration DeepSeek)",
    "error": "Erreur lors de la génération des cartes",
    "timeoutTitle": "Délai dépassé",
    "timeoutMessage": "L'API met trop de temps à répondre. Voulez-vous annuler et recommencer ?",
    "retry": "Recommencer",
    "progressDetails": "Détails de la progression",
    "learnCards": "Cartes J'APPRENDS",
    "reviewCards": "Cartes JE RÉVISE",
    "evaluateCards": "Cartes JE M'ÉVALUE",
    "processingInfo": "Les cartes apparaissent progressivement au fur et à mesure de leur génération",
    "browseWeb": "Naviguer sur le web (sites protégés)",
    "scrapingBlocked": "Le site bloque l'accès automatique. Utilisez le navigateur web intégré."
  },
  "seriesEditor.autoGenerate": "Génération automatique",
  "seriesEditor.batchGenerate": "Génération par parties",
  "seriesEditor.answerType": "Type de réponse",
  "seriesEditor.singleChoice": "Unique",
  "seriesEditor.multipleChoice": "Multiple",
  "seriesEditor.addDynamicVariable": "Ajouter une variable dynamique",
  "seriesEditor.evaluationCriteria": "Critères d'évaluation",
  "errors": {
    "unknown": "Une erreur inconnue est survenue.",
    "network": "Erreur réseau. Veuillez vérifier votre connexion internet.",
    "noResponse": "Aucune réponse du serveur. Vérifiez votre connexion réseau ou réessayez plus tard.",
    "badRequest": "Requête incorrecte.",
    "unauthorized": "Non autorisé. Veuillez vous reconnecter.",
    "forbidden": "Accès refusé.",
    "notFound": "La ressource demandée n'a pas été trouvée.",
    "validationError": "Erreur de validation des données.",
    "serverError": "Erreur interne du serveur.",
    "requestError": "Erreur lors de la préparation de la requête : {{message}}",
    "unknownError": "Une erreur inconnue est survenue (status: {{status}})."
  },
  "seriesEditor.deleteAllCards": "Supprimer toutes les cartes",
  "autoGen.uploading": "Envoi du fichier",
  "autoGen.generating": "Génération des cartes…",
  "batchGen": {
    "wizardTitle": "Assistant de génération par parties",
    "stepUpload": "Charger le document",
    "stepConfigure": "Configurer les parties",
    "stepGenerate": "Générer les cartes",
    "uploadInfo": "Pour les documents volumineux, le contenu sera découpé en parties pour une génération optimale.",
    "maxChunkSize": "Taille max par partie (caractères)",
    "chunkSizeHelp": "Recommandé: 3000-5000 caractères",
    "analyzing": "Analyse du document...",
    "chunkSuccess": "{{count}} parties détectées",
    "chunkError": "Erreur lors du découpage",
    "configureTitle": "{{count}} parties détectées",
    "totalCards": "Total: {{count}} cartes",
    "applyToAll": "Appliquer à toutes",
    "appliedToAll": "Configuration appliquée à toutes les parties",
    "partTitle": "Partie {{index}}",
    "characters": "caractères",
    "estimatedCards": "cartes estimées",
    "cardsToGenerate": "cartes à générer",
    "moreCharacters": "caractères supplémentaires",
    "analyze": "Analyser",
    "startGeneration": "Démarrer la génération",
    "progressTitle": "Progression de la génération",
    "partsCompleted": "parties terminées",
    "cardsGenerated": "cartes générées",
    "errors": "erreurs",
    "statusCompleted": "Terminé",
    "statusError": "Erreur",
    "statusProcessing": "En cours...",
    "statusPending": "En attente",
    "errorOccurred": "Une erreur est survenue",
    "generationComplete": "{{count}} cartes générées au total",
    "partError": "Erreur partie {{index}}, continuation...",
    "generationError": "Erreur de génération"
  },
  "feedback": {
    "openFeedback": "Ouvrir le système de feedback",
    "feedbackTitle": "Système de Feedback",
    "newTicket": "Nouveau",
    "existingTickets": "Déjà signalé",
    "ticketType": "Type de ticket",
    "bug": "Bug",
    "improvement": "Amélioration",
    "titleLabel": "Titre",
    "descriptionLabel": "Description",
    "screenshot": "Capture d'écran",
    "captureScreen": "Capturer l'écran",
    "recapture": "Recapturer",
    "captureError": "Erreur lors de la capture d'écran",
    "fillAllFields": "Veuillez remplir tous les champs",
    "submit": "Envoyer",
    "submitError": "Erreur lors de l'envoi du ticket",
    "submitSuccess": "Ticket envoyé avec succès !",
    "draw": "Dessiner",
    "arrow": "Flèche",
    "text": "Texte",
    "undo": "Annuler",
    "clear": "Effacer tout",
    "enterText": "Entrez votre texte :",
    "noTicketsForPage": "Aucun ticket ouvert pour cette page",
    "beFirstToReport": "Soyez le premier à signaler un problème !",
    "existingTicketsDescription": "Cliquez sur un ticket pour voir les détails et ajouter un commentaire",
    "reportedBy": "Signalé par",
    "comments": "commentaires",
    "loadError": "Erreur lors du chargement des tickets",
    "ticketDetails": "Détails du ticket",
    "statusOpen": "Ouvert",
    "statusInProgress": "En cours",
    "statusPendingValidation": "En attente de validation",
    "statusResolved": "Résolu",
    "changeStatus": "Changer le statut",
    "statusHintPendingValidation": "Utilisez « En attente de validation » lorsque la correction est prête : le rapporteur devra confirmer avant clôture.",
    "validationTitle": "Votre retour est attendu",
    "validationDescription": "Une correction a été apportée à votre signalement. Merci de confirmer qu'elle répond à votre demande, ou de rouvrir le ticket si ce n'est pas le cas.",
    "validateFix": "Oui, c'est corrigé",
    "rejectFix": "Non, rouvrir le ticket",
    "validationError": "Erreur lors de la validation",
    "actionRequired": "Action requise",
    "editContent": "Modifier le texte",
    "screenshotUnavailable": "Capture non disponible",
    "rowsPerPage": "Lignes par page",
    "noComments": "Aucun commentaire pour le moment",
    "addComment": "Ajouter un commentaire",
    "commentPlaceholder": "Votre commentaire...",
    "commentRequired": "Le commentaire ne peut pas être vide",
    "commentError": "Erreur lors de l'envoi du commentaire",
    "commentSuccess": "Commentaire ajouté avec succès !",
    "submitComment": "Envoyer le commentaire",
    "close": "Fermer",
    "loadTicketError": "Erreur lors du chargement du ticket",
    "consoleTitle": "Console de Tickets de Feedback",
    "refresh": "Actualiser",
    "exportEmail": "Exporter par email",
    "exportEmailSending": "Envoi en cours…",
    "exportEmailSuccess": "Export JSON envoyé à {{email}} ({{count}} ticket(s)).",
    "exportEmailError": "Erreur lors de l'envoi de l'export par email",
    "search": "Rechercher...",
    "searchPlaceholder": "N°, titre, page, auteur…",
    "ticketNumber": "N°",
    "status": "Statut",
    "all": "Tous",
    "ticketTypeLabel": "Type",
    "total": "Total",
    "noTickets": "Aucun ticket trouvé",
    "ticketTitle": "Titre",
    "page": "Page",
    "author": "Auteur",
    "date": "Date",
    "actions": "Actions",
    "view": "Voir",
    "edit": "Modifier",
    "editTicket": "Modifier le ticket",
    "cancel": "Annuler",
    "save": "Enregistrer",
    "updateError": "Erreur lors de la mise à jour du ticket",
    "updateSuccess": "Ticket mis à jour avec succès !",
    "welcomeBack": "Bon retour !",
    "chooseDestination": "Que souhaitez-vous faire ?",
    "useAqiboost": "Utiliser Aqiboost",
    "ticketConsole": "Console de tickets",
    "canAccessLater": "Vous pourrez accéder à la console de tickets à tout moment depuis votre compte",
    "deleteTicket": "Supprimer le ticket",
    "confirmDelete": "Êtes-vous sûr ?",
    "confirm": "Confirmer",
    "deleteError": "Erreur lors de la suppression du ticket",
    "statusUpdateError": "Erreur lors de la mise à jour du statut"
  },
  "handwritten": {
    "createExercise": "Créer un exercice manuscrit",
    "steps": {
      "metadata": "Métadonnées",
      "questions": "Questions",
      "preview": "Prévisualisation"
    },
    "createAndPublish": "Créer et publier",
    "metadata": {
      "title": "Informations générales",
      "exerciseTitle": "Titre de l'exercice",
      "titlePlaceholder": "Ex: Photosynthèse - Mécanismes fondamentaux",
      "description": "Description",
      "descriptionPlaceholder": "Décrivez le contexte et les objectifs pédagogiques...",
      "educationLevel": "Niveau scolaire",
      "subject": "Matière",
      "estimatedDuration": "Durée estimée (minutes)",
      "durationHelp": "Temps recommandé pour compléter l'exercice",
      "globalMaxScore": "Note maximale",
      "toleranceLevel": "Niveau de tolérance",
      "transversalCriteria": "Critères transversaux",
      "criterionName": "Nom du critère",
      "points": "Points",
      "type": "Type",
      "bonus": "Bonus",
      "penalty": "Pénalité",
      "makePublic": "Rendre public"
    },
    "educationLevels": {
      "college_6": "Collège 6ème",
      "college_5": "Collège 5ème",
      "college_4": "Collège 4ème",
      "college_3": "Collège 3ème",
      "lycee_seconde": "Lycée Seconde",
      "lycee_premiere": "Lycée Première",
      "lycee_terminale": "Lycée Terminale",
      "superieur": "Supérieur",
      "concours": "Concours"
    },
    "toleranceLevels": {
      "level1": "Très strict - Formulation exacte requise",
      "level2": "Strict - Variations mineures acceptées",
      "level3": "Modéré - Focus sur les idées principales",
      "level4": "Tolérant - Synonymes et reformulations acceptés",
      "level5": "Très tolérant - Compréhension globale uniquement"
    },
    "questions": {
      "title": "Questions de l'exercice",
      "addQuestion": "Ajouter une question",
      "noQuestions": "Aucune question n'a été ajoutée",
      "addFirstQuestion": "Ajouter la première question",
      "question": "Question",
      "points": "points",
      "summary": "Résumé",
      "totalQuestions": "Nombre de questions",
      "totalPoints": "Total de points",
      "totalWeight": "Poids total",
      "weightWarning": "Devrait être égal au nombre de questions"
    },
    "question": {
      "type": "Type de question",
      "maxScore": "Note maximale",
      "weight": "Poids",
      "weightHelp": "Importance relative (1.0 = normal)",
      "questionText": "Énoncé de la question",
      "questionPlaceholder": "Posez votre question ici...",
      "idealAnswer": "Réponse idéale",
      "idealAnswerPlaceholder": "Décrivez la réponse attendue en détail...",
      "idealAnswerHelp": "Réponse complète servant de référence pour la correction",
      "keyConcepts": "Concepts clés à identifier",
      "scoringGrid": "Grille de notation détaillée",
      "referenceSchemaUrl": "URL du schéma de référence",
      "referenceSchemaHelp": "Lien vers un schéma ou une image de référence",
      "audioInstructionsUrl": "URL des consignes audio",
      "audioInstructionsHelp": "Lien vers un fichier audio avec les consignes"
    },
    "questionTypes": {
      "text_open": "Question ouverte textuelle",
      "schema_annotate": "Schéma à annoter",
      "calculation": "Calcul à développer"
    },
    "keyConcepts": {
      "description": "Listez les concepts essentiels que l'élève doit mentionner",
      "add": "Ajouter un concept",
      "noConcepts": "Aucun concept clé défini",
      "conceptText": "Concept",
      "conceptPlaceholder": "Ex: chlorophylle, photosynthèse...",
      "points": "Points",
      "totalPoints": "Total",
      "exceedsMax": "Dépasse la note maximale !"
    },
    "scoringGrid": {
      "mandatoryElements": "Éléments obligatoires",
      "mandatoryDescription": "Points attribués pour chaque élément présent",
      "noMandatory": "Aucun élément obligatoire défini",
      "elementText": "Élément",
      "elementPlaceholder": "Ex: Mention de l'équation chimique",
      "addMandatory": "Ajouter un élément",
      "commonErrors": "Erreurs courantes",
      "errorsDescription": "Pénalités pour les erreurs fréquentes",
      "noErrors": "Aucune erreur courante définie",
      "errorDescription": "Description de l'erreur",
      "errorPlaceholder": "Ex: Confusion entre CO2 et O2",
      "penalty": "Pénalité",
      "addError": "Ajouter une erreur",
      "bonusPoints": "Points bonus",
      "bonusPointsDescription": "Points supplémentaires pour excellence",
      "noBonus": "Aucun bonus défini",
      "bonusDescriptionLabel": "Description du bonus",
      "bonusPlaceholder": "Ex: Clarté exceptionnelle",
      "points": "Points",
      "addBonus": "Ajouter un bonus"
    },
    "preview": {
      "questions": "Questions",
      "question": "Question",
      "idealAnswer": "Réponse idéale",
      "keyConcepts": "Concepts clés",
      "more": "de plus",
      "type": "Type",
      "weight": "Poids",
      "transversalCriteria": "Critères transversaux",
      "summary": "Résumé",
      "totalQuestions": "Nombre de questions",
      "totalPoints": "Total de points",
      "toleranceLevel": "Niveau de tolérance",
      "visibility": "Visibilité"
    },
    "submission": {
      "title": "Soumettre votre copie",
      "instructions": "Photographiez votre copie manuscrite et soumettez-la pour correction automatique par IA",
      "takePhoto": "Prendre une photo",
      "uploadFile": "Choisir un fichier",
      "acceptedFormats": "Formats acceptés: JPG, PNG (max 10 MB)",
      "submit": "Soumettre pour correction",
      "uploading": "Envoi en cours...",
      "uploadingImage": "Upload de l'image...",
      "processing": "Traitement en cours...",
      "completed": "Terminé !",
      "success": "Copie soumise avec succès ! La correction est en cours.",
      "invalidFileType": "Type de fichier invalide. Veuillez choisir une image.",
      "fileTooLarge": "Fichier trop volumineux (max 10 MB)",
      "noFileSelected": "Aucun fichier sélectionné",
      "uploadFailed": "Échec de l'envoi. Veuillez réessayer.",
      "tips": {
        "title": "Conseils pour une bonne photo",
        "lighting": "Assurez un bon éclairage sans reflets",
        "angle": "Prenez la photo bien perpendiculaire à la feuille",
        "legibility": "Vérifiez que votre écriture est lisible",
        "complete": "Incluez toutes les pages de votre copie"
      }
    },
    "status": {
      "pending": "En attente",
      "processing": "Traitement en cours",
      "corrected": "Corrigé",
      "reviewed": "Révisé par le professeur",
      "rejected": "Rejeté (illisible)"
    },
    "correction": {
      "submittedCopy": "Copie soumise",
      "ocrConfidence": "Confiance OCR",
      "globalFeedback": "Appréciation générale",
      "noFeedback": "Aucun feedback disponible",
      "teacherComments": "Commentaires du professeur",
      "detailsByQuestion": "Détails par question",
      "question": "Question",
      "matchedConcepts": "Concepts identifiés",
      "missedConcepts": "Concepts manquants",
      "errors": "Points à améliorer",
      "scoreHistory": "Historique des modifications",
      "downloadReport": "Télécharger le rapport PDF",
      "teacherAdjusted": "Note ajustée par le professeur (IA: {{aiScore}} → Prof: {{teacherScore}})"
    },
    "appreciation": {
      "0": "Des révisions approfondies sont nécessaires",
      "1": "Travail insuffisant",
      "2": "Travail satisfaisant",
      "3": "Bon travail",
      "4": "Très bon travail",
      "5": "Excellent travail"
    },
    "review": {
      "title": "Révision de la copie",
      "instructions": "Ajustez la note et ajoutez vos commentaires personnalisés",
      "adjustScore": "Ajuster la note",
      "aiScore": "Note IA",
      "resetToAI": "Réinitialiser à la note IA",
      "comments": "Commentaires personnalisés",
      "commentsPlaceholder": "Ajoutez vos remarques et conseils pour l'élève...",
      "commentsHelp": "Ces commentaires seront visibles par l'élève",
      "saveReview": "Enregistrer la révision",
      "saveFailed": "Échec de l'enregistrement",
      "saveSuccess": "Révision enregistrée avec succès !",
      "tips": {
        "title": "Conseils pour une bonne révision",
        "objective": "Restez objectif et cohérent avec vos critères",
        "constructive": "Formulez des critiques constructives",
        "specific": "Soyez spécifique dans vos commentaires",
        "encouraging": "Encouragez les points forts de l'élève"
      }
    },
    "errors": {
      "createFailed": "Échec de la création de l'exercice"
    }
  },
  "seriesEditor.imageLabelingInstructions": "Instructions",
  "seriesEditor.imageLabelingInstructionsPlaceholder": "Ex: Légendez les différentes parties de ce schéma anatomique...",
  "seriesEditor.imageLabelingImageUpload": "Image à légender",
  "seriesEditor.uploadImage": "Charger une image",
  "seriesEditor.uploading": "Upload en cours...",
  "seriesEditor.imageUploadHint": "Formats acceptés : JPG, PNG, GIF, WebP. Taille max : 5MB",
  "seriesEditor.invalidImageFormat": "Format d'image invalide. Utilisez JPG, PNG, GIF ou WebP.",
  "seriesEditor.imageTooLarge": "L'image est trop volumineuse. Taille maximale : 5MB.",
  "seriesEditor.imageUploadFailed": "Échec de l'upload de l'image",
  "seriesEditor.imageLabelingEditHint": "Cliquez sur une flèche dans la liste ci-dessous pour la sélectionner, puis cliquez sur l'image pour la déplacer. Vous pouvez aussi glisser-déposer les points rouges (flèche) et les cartouches (étiquettes).",
  "seriesEditor.imageLabelingArrows": "Flèches et légendes",
  "seriesEditor.addArrow": "Ajouter une flèche",
  "seriesEditor.noArrowsYet": "Aucune flèche ajoutée. Commencez par charger une image puis ajoutez des flèches.",
  "seriesEditor.arrow": "Flèche",
  "seriesEditor.noTextDefined": "Texte non défini",
  "seriesEditor.editArrow": "Éditer la flèche",
  "seriesEditor.expectedText": "Texte attendu (réponse correcte)",
  "seriesEditor.placeholder": "Placeholder (optionnel)",
  "seriesEditor.placeholderHint": "Texte d'aide affiché dans le champ de saisie",
  "seriesEditor.validationOptions": "Options de validation",
  "seriesEditor.minCorrectAnswers": "Nombre minimum de réponses correctes",
  "seriesEditor.minCorrectAnswersHint": "Sur {{count}} légende(s)",
  "seriesEditor.emptyLabel": "[Vide]",
  "learn.imageLabelingExercise": "Exercice de légendage",
  "learn.imageLabelingCorrectFeedback": "Excellent travail !",
  "learn.imageLabelingIncorrectFeedback": "Revoyez les légendes incorrectes.",
  "learn.label": "Légende",
  "learn.noAnswer": "(vide)",
  "learn.passed": "Réussi !",
  "learn.failed": "Non réussi",
  "learn.score": "Score",
  "learn.corrections": "Corrections",
  "learn.validate": "Valider",
  "learn.minCorrectRequired": "{{count}} réponse(s) correcte(s) requise(s) sur {{total}}",
  "learn.questions": "Questions",
  "learn.handwritten.readInstructions": "Lire les instructions",
  "learn.handwritten.submitCopy": "Soumettre votre copie",
  "learn.handwritten.viewCorrection": "Voir la correction",
  "learn.handwritten.startSubmission": "Soumettre ma copie",
  "learn.handwritten.preparing": "Préparation...",
  "learn.handwritten.processingCorrection": "Traitement de votre copie et génération de la correction...",
  "learn.handwritten.correctionError": "Erreur lors du chargement de la correction. Veuillez réessayer.",
  "learn.handwritten.createExerciseError": "Erreur lors de la préparation de l'exercice. Veuillez réessayer.",
  "learn.handwrittenExerciseInfo": "Cet exercice est à réaliser sur papier. Lisez attentivement les questions ci-dessous, répondez sur votre copie, puis prenez-la en photo pour obtenir votre correction automatique.",
  "evaluationMatrix.selectTitle": "Sélectionner un type d'exercice d'évaluation",
  "evaluationMatrix.selectSubtitle": "Choisissez le type d'exercice qui correspond le mieux à votre objectif pédagogique",
  "evaluationMatrix.searchPlaceholder": "Rechercher un type d'exercice...",
  "evaluationMatrix.noResults": "Aucun type d'exercice ne correspond à votre recherche",
  "evaluationMatrix.selectPrompt": "Sélectionner un type d'évaluation...",
  "evaluationMatrix.categories.knowledge": "Évaluation de connaissances",
  "evaluationMatrix.categories.interactive": "Exercices interactifs",
  "evaluationMatrix.categories.linguistic": "Compétences linguistiques",
  "evaluationMatrix.categories.geography": "Géographie",
  "evaluationMatrix.types.quiz": "Quiz (QCM)",
  "evaluationMatrix.types.openQuestion": "Question ouverte",
  "evaluationMatrix.types.memoryGame": "Jeu de mémoire (Simon)",
  "evaluationMatrix.types.imageLabeling": "Légendage d'image",
  "evaluationMatrix.types.handwritten": "Exercice manuscrit",
  "evaluationMatrix.types.dictation": "Dictée de phrase",
  "evaluationMatrix.types.globeCountries": "Globe Interactif - Pays",
  "evaluationMatrix.types.wordMemory": "Memory des Mots",
  "evaluationMatrix.types.wordSearch": "Mots Mêlés",
  "evaluationMatrix.types.spotWord": "SpotWord",
  "evaluationMatrix.types.wordMystery": "Le Mot Mystère",
  "evaluationMatrix.descriptions.quiz": "",
  "evaluationMatrix.descriptions.openQuestion": "",
  "evaluationMatrix.descriptions.memoryGame": "",
  "evaluationMatrix.descriptions.imageLabeling": "",
  "evaluationMatrix.descriptions.handwritten": "",
  "evaluationMatrix.descriptions.dictation": "",
  "evaluationMatrix.descriptions.globeCountries": "",
  "evaluationMatrix.descriptions.wordMemory": "",
  "evaluationMatrix.descriptions.wordSearch": "",
  "evaluationMatrix.descriptions.spotWord": "",
  "evaluationMatrix.descriptions.wordMystery": "",
  "evaluationMatrix.tags.quick": "Rapide",
  "evaluationMatrix.tags.autoGraded": "Auto-corrigé",
  "evaluationMatrix.tags.detailed": "Détaillé",
  "evaluationMatrix.tags.reflective": "Réflexif",
  "evaluationMatrix.tags.fun": "Ludique",
  "evaluationMatrix.tags.memory": "Mémoire",
  "evaluationMatrix.tags.visual": "Visuel",
  "evaluationMatrix.tags.interactive": "Interactif",
  "evaluationMatrix.tags.handwriting": "Manuscrit",
  "evaluationMatrix.tags.practice": "Pratique",
  "evaluationMatrix.tags.listening": "Écoute",
  "evaluationMatrix.tags.spelling": "Orthographe",
  "evaluationMatrix.tags.geography": "Géographie",
  "evaluationMatrix.tags.vocabulary": "Vocabulaire",
  "evaluationMatrix.tags.speed": "Rapidité",
  "evaluationMatrix.tags.logic": "Logique",
  "evaluationMatrix.tags.reasoning": "Raisonnement",
  "evaluationMatrix.tags.patterns": "Patterns",
  "evaluationMatrix.categories.logic": "Raisonnement logique",
  "evaluationMatrix.types.logicalSequence": "Suites Logiques",
  "evaluationMatrix.descriptions.logicalSequence": "",
  "admin.title": "Administration d'Aqiboost",
  "admin.subtitle": "Panneau de contrôle administrateur",
  "admin.warningMessage": "Vous êtes dans l'espace d'administration. Les actions effectuées ici peuvent affecter l'ensemble de la plateforme.",
  "admin.accessPanel": "Administration d'Aqiboost",
  "admin.usersTitle": "Gestion des utilisateurs",
  "admin.usersDescription": "Gérer les comptes utilisateurs, permissions et profils",
  "admin.collections": "Gestion des collections",
  "admin.collectionsDescription": "Superviser les collections et séries de la plateforme",
  "admin.statistics": "Statistiques globales",
  "admin.statisticsDescription": "Consulter les statistiques d'utilisation et de performance",
  "admin.database": "Base de données",
  "admin.databaseDescription": "Outils de maintenance et gestion de la base de données",
  "admin.feedback": "Retours utilisateurs",
  "admin.feedbackDescription": "Consulter et gérer les tickets de bugs et améliorations",
  "admin.settings": "Paramètres système",
  "admin.settingsDescription": "Configuration générale de la plateforme",
  "admin.access": "Accéder",
  "admin.backToApp": "Retour à l'application",
  "admin.users.title": "Gestion des utilisateurs",
  "admin.users.loadError": "Erreur lors du chargement des utilisateurs",
  "admin.users.toggleActiveError": "Erreur lors du changement de statut",
  "admin.users.toggleAdminError": "Erreur lors du changement de statut administrateur",
  "admin.users.changeTypeError": "Erreur lors du changement de type d'utilisateur",
  "admin.users.deleteError": "Erreur lors de la suppression de l'utilisateur",
  "admin.users.search": "Rechercher par email, nom ou prénom",
  "admin.users.refresh": "Actualiser",
  "admin.users.noResults": "Aucun utilisateur trouvé",
  "admin.users.rowsPerPage": "Lignes par page",
  "admin.users.of": "sur",
  "admin.users.activate": "Activer",
  "admin.users.deactivate": "Désactiver",
  "admin.users.makeAdmin": "Promouvoir administrateur",
  "admin.users.removeAdmin": "Retirer les droits admin",
  "admin.users.delete": "Supprimer",
  "admin.users.stats.total": "Total",
  "admin.users.stats.active": "Actifs",
  "admin.users.stats.inactive": "Inactifs",
  "admin.users.stats.admins": "Admins",
  "admin.users.stats.creators": "Créateurs",
  "admin.users.stats.learners": "Apprenants",
  "admin.users.filters.type": "Type",
  "admin.users.filters.status": "Statut",
  "admin.users.filters.admin": "Admin",
  "admin.users.filters.all": "Tous",
  "admin.users.filters.active": "Actifs",
  "admin.users.filters.inactive": "Inactifs",
  "admin.users.filters.adminsOnly": "Admins uniquement",
  "admin.users.filters.nonAdmins": "Non-admins",
  "admin.users.types.learner": "Apprenant",
  "admin.users.types.creator": "Créateur",
  "admin.users.types.admin": "Administrateur",
  "admin.users.table.email": "Email",
  "admin.users.table.username": "Nom d'utilisateur",
  "admin.users.table.name": "Nom complet",
  "admin.users.table.type": "Type",
  "admin.users.table.status": "Statut",
  "admin.users.table.admin": "Admin",
  "admin.users.table.actions": "Actions",
  "admin.users.deleteDialog.title": "Confirmer la suppression",
  "admin.users.deleteDialog.message": "Êtes-vous sûr de vouloir supprimer l'utilisateur {{email}} ?",
  "admin.users.deleteDialog.warning": "Cette action est irréversible. Toutes les données associées à cet utilisateur seront supprimées.",
  "admin.users.deleteDialog.cancel": "Annuler",
  "admin.users.deleteDialog.confirm": "Supprimer",
  "collections": {
    "edit": "Éditer",
    "delete": "Supprimer",
    "noDescription": "Pas de description",
    "deleteConfirmTitle": "Confirmer la suppression",
    "deleteConfirmMessage": "Êtes-vous sûr de vouloir supprimer la collection \"{{title}}\" ? Cette action est irréversible."
  },
  "series": {
    "edit": "Éditer",
    "delete": "Supprimer",
    "noDescription": "Pas de description",
    "deleteConfirmTitle": "Confirmer la suppression",
    "deleteConfirmMessage": "Êtes-vous sûr de vouloir supprimer la série \"{{title}}\" ? Cette action est irréversible.",
    "source": {
      "created": "Créée par vous",
      "subscribed": "Collection abonnée",
      "assigned_learner": "Assignée à vous",
      "assigned_classroom": "Assignée à la classe",
      "purchased": "Achetée"
    }
  },
  "wordSearch": {
    "title": "Mots Mêlés",
    "instructions": "Trouvez tous les mots cachés dans la grille",
    "wordsToFind": "Mots à trouver",
    "wordsFound": "{{found}}/{{total}} mots",
    "timeElapsed": "Temps écoulé",
    "hintsUsed": "{{count}} indices",
    "requestHint": "Demander un indice",
    "hintDialog": {
      "title": "Demander un indice",
      "word": "Mot : {{word}}",
      "penalty": "Pénalité : {{seconds}} secondes par indice",
      "level1": "Indice 1 : Première lettre",
      "level1Desc": "Révèle la première lettre du mot",
      "level2": "Indice 2 : Direction",
      "level2Desc": "Indique la direction du mot",
      "level3": "Indice 3 : Position",
      "level3Desc": "Révèle la position de départ",
      "cancel": "Annuler"
    },
    "infoDialog": {
      "title": "Informations sur l'exercice",
      "difficulty": "Difficulté",
      "duboisRange": "Échelons Dubois",
      "gridSize": "Taille de la grille",
      "timeLimit": "Temps limite",
      "howToPlay": "Comment jouer",
      "instruction1": "Cliquez et glissez pour sélectionner un mot",
      "instruction2": "Les mots peuvent être horizontaux, verticaux ou diagonaux",
      "instruction3": "Certains mots peuvent être écrits à l'envers",
      "instruction4": "Utilisez les indices si vous êtes bloqué (pénalité de temps)",
      "close": "Fermer"
    },
    "completion": {
      "title": "Félicitations ! Vous avez trouvé tous les mots !",
      "time": "Temps",
      "score": "Score"
    },
    "difficulty": {
      "easy": "Facile",
      "medium": "Moyen",
      "hard": "Difficile"
    },
    "level": "Niveau {{level}}"
  },
  "seriesEditor": {
    "wordSearchType": "Mots Mêlés",
    "wordsCount": "mot(s)",
    "spotWordType": "SpotWord",
    "roundsCount": "manche(s)",
    "wordsPerCard": "mots/carte",
    "wordMysteryType": "Le Mot Mystère",
    "quizType": "Quiz (QCM)",
    "memoryGameType": "Jeu de mémoire (Simon)",
    "openQuestionType": "Question ouverte",
    "dictationType": "Dictée de phrase",
    "handwrittenType": "Exercice manuscrit",
    "imageLabelingType": "Légendage d'image",
    "globeCountriesType": "Globe Interactif",
    "wordMemoryType": "Memory des Mots",
    "folder": "Dossier",
    "noFolder": "Aucun dossier (racine)",
    "viewReports": "Voir les signalements",
    "importAnki": "Importer depuis Anki (TXT)",
    "importExport": "Import / Export JSON",
    "reportsTitle": "Signalements de problèmes",
    "noOptionsLabel": "Aucune option",
    "showInMyLearning": "Afficher dans \"Mes Apprentissages\"",
    "showInMyLearningHelp": "Si activé, cette série apparaîtra dans votre page \"Mes Contenus\"",
    "linkedCardsLabel": "Cartes liées à réviser si la réponse est fausse",
    "linkedCardsSelect": "Sélectionner des cartes (learn/review)"
  },
  "importAnki": {
    "title": "Importer depuis Anki (TXT)",
    "preferHeaders": "Essayer de détecter une première ligne en-tête",
    "generatePreview": "Générer l'aperçu",
    "importAction": "Importer"
  },
  "importExport": {
    "title": "Import / Export",
    "seriesLabel": "Série",
    "backToEditor": "Retour à l'éditeur",
    "viewDocumentation": "Voir la documentation",
    "learnCards": "J'apprends",
    "reviewCards": "Je révise",
    "quizCards": "Je m'évalue",
    "exportTab": "Exporter",
    "importTab": "Importer",
    "exportOptions": "Options d'export",
    "selectCardTypes": "Types de cartes à exporter",
    "generateExport": "Générer l'export",
    "exporting": "Export en cours...",
    "exportResult": "Résultat de l'export",
    "noExportYet": "Cliquez sur \"Générer l'export\" pour créer le fichier",
    "exportReady": "Export prêt !",
    "exportStats": "{{total}} carte(s) exportée(s)",
    "downloadFile": "Télécharger",
    "copyToClipboard": "Copier dans le presse-papiers",
    "copiedToClipboard": "Copié dans le presse-papiers",
    "downloadStarted": "Téléchargement démarré",
    "exportSuccess": "Export réussi !",
    "exportError": "Erreur lors de l'export",
    "selectFile": "Sélectionner un fichier",
    "dropFileHere": "Cliquez ou déposez un fichier JSON ici",
    "supportedFormat": "Format supporté : JSON AqiBoost",
    "resetFile": "Changer de fichier",
    "importOptions": "Options d'import",
    "mergeMode": "Mode de fusion",
    "modeAppend": "Ajouter à la fin",
    "modeReplace": "Remplacer tout",
    "preserveOrder": "Conserver l'ordre des cartes",
    "validation": "Validation",
    "selectFileFirst": "Sélectionnez un fichier pour voir la validation",
    "validationSuccess": "Fichier valide",
    "validationFailed": "Fichier invalide",
    "validationErrors": "Erreurs de validation détectées",
    "cardsDetected": "{{count}} carte(s) détectée(s)",
    "errorsCount": "{{count}} erreur(s)",
    "warningsCount": "{{count}} avertissement(s)",
    "startImport": "Lancer l'import",
    "importing": "Import en cours...",
    "importComplete": "Import terminé",
    "importPartial": "Import partiel",
    "importResultStats": "{{created}} créée(s), {{skipped}} ignorée(s)",
    "importSuccess": "{{count}} carte(s) importée(s) avec succès",
    "importPartialSuccess": "Import partiel - voir les détails",
    "importError": "Erreur lors de l'import",
    "fileReadError": "Erreur de lecture du fichier",
    "errorLoadingSeries": "Erreur lors du chargement de la série",
    "documentationTitle": "Documentation du format JSON AqiBoost",
    "formatVersion": "Version du format",
    "cardTypesDoc": "Types de cartes",
    "importOptionsDoc": "Options d'import"
  },
  "srsHistory": {
    "title": "Historique et Algorithme SRS",
    "currentState": "État Actuel de la Carte",
    "nextReview": "Prochaine révision",
    "currentInterval": "Intervalle actuel",
    "easeFactor": "Facteur de facilité",
    "repetitions": "Répétitions",
    "lapses": "Oublis",
    "understood": "Cette carte est marquée comme comprise",
    "notUnderstood": "Cette carte n'est pas encore marquée comme comprise",
    "predictions": "Prédictions selon votre réponse",
    "predictionsDesc": "Voici comment l'algorithme planifiera votre prochaine révision selon votre réponse :",
    "response": "Réponse",
    "nextInterval": "Prochain intervalle",
    "newEF": "Nouveau EF",
    "predictionTip": "Plus vous répondez \"Facile\", plus l'intervalle augmente rapidement. Si vous oubliez, l'intervalle est réinitialisé à 1 jour mais votre facteur de facilité est conservé.",
    "algorithmExplanation": "Comment fonctionne l'algorithme SM-2 ?",
    "algorithmSummary": "L'algorithme adapte automatiquement la fréquence de révision en fonction de votre performance. Plus vous maîtrisez une carte, moins souvent vous la verrez. C'est la répétition espacée optimale pour la mémorisation à long terme !",
    "historyTitle": "Historique des révisions",
    "viewCalculations": "Voir les calculs détaillés",
    "close": "Fermer",
    "tooltipViewHistory": "Voir l'historique SRS de cette carte",
    "days": "jour(s)"
  },
  "videoCard": {
    "createButton": "Créer une carte vidéo",
    "createSuccess": "Carte vidéo créée avec succès",
    "createError": "Erreur lors de la création de la carte vidéo",
    "title": "Titre de la vidéo",
    "description": "Description / Contexte",
    "uploadVideo": "Uploader une vidéo",
    "uploadSuccess": "Vidéo uploadée avec succès",
    "uploadError": "Erreur lors de l'upload de la vidéo",
    "keyPoints": "Points clés à retenir",
    "addKeyPoint": "Ajouter un point clé",
    "chapters": "Chapitres",
    "addChapter": "Ajouter un chapitre",
    "pedagogicalPauses": "Pauses pédagogiques",
    "addPause": "Ajouter une pause",
    "transcript": "Transcription",
    "configuration": "Configuration",
    "allowSpeedControl": "Autoriser le contrôle de vitesse",
    "allowSkip": "Autoriser de sauter des parties",
    "requireFullWatch": "Obliger à regarder entièrement",
    "save": "Enregistrer la carte vidéo",
    "cancel": "Annuler",
    "preview": "Prévisualiser",
    "hidePreview": "Masquer",
    "duration": "Durée",
    "progression": "Progression",
    "pausesCount": "pauses pédagogiques",
    "myNotes": "Mes notes",
    "addNote": "Ajouter une note",
    "notePlaceholder": "Ajouter une note à cet instant...",
    "pauseTitle": "Pause pédagogique",
    "pauseQuestion": "Question",
    "pauseOptions": "Options de réponse",
    "pauseExplanation": "Explication",
    "pauseCorrectAnswer": "Bonne réponse",
    "pauseSkip": "Passer",
    "pauseContinue": "Continuer la vidéo",
    "pauseValidate": "Valider",
    "pauseCorrect": "Bonne réponse !",
    "pauseIncorrect": "Réponse incorrecte",
    "chapterTime": "Temps (secondes)",
    "chapterTitle": "Titre du chapitre",
    "pauseTime": "Temps (secondes)",
    "newPause": "Nouvelle pause pédagogique",
    "videoInfo": "Informations",
    "videoRequired": "Veuillez uploader une vidéo",
    "titleRequired": "Le titre est requis"
  }
}