{ "bootstrap_note": "IC à 95% sur le CER moyen par moteur (1000 itérations bootstrap).", "btn_customize": "⚙ Avancé", "btn_present": "⊞ Présentation", "cdd_help_axis": "L'axe horizontal montre le rang moyen de chaque moteur (1 = meilleur, k = pire).", "cdd_help_bars": "Les barres horizontales épaisses relient les moteurs statistiquement indiscernables au seuil α = 0,05 (test post-hoc de Nemenyi).", "cdd_help_cd": "La barre rouge CD en haut à gauche donne la distance critique de référence : deux moteurs dont les rangs moyens diffèrent de moins que CD ne peuvent pas être distingués.", "cdd_help_ref": "Référence : Demšar (2006), Statistical Comparisons of Classifiers over Multiple Data Sets, JMLR 7:1-30.", "cdd_help_title": "Comment lire ce diagramme ?", "cdd_title": "Test multi-moteurs — Friedman & Nemenyi", "char_engine_label": "Moteur :", "class_col": "Classe", "col_anchor": "Ancrage", "col_anchor_title": "Score d'ancrage : proportion des trigrammes de la sortie trouvant un ancrage dans le GT — faible score = hallucinations probables (LLM/VLM)", "col_cer": "CER exact", "col_cer_diplo": "CER diplo.", "col_cer_diplo_title": "CER après normalisation diplomatique (ſ=s, u=v, i=j…) — mesure les erreurs substantielles en ignorant les variantes graphiques codifiées", "col_cer_max": "CER max", "col_cer_median": "CER médian", "col_cer_min": "CER min", "col_diacritics": "Diacritiques", "col_diacritics_title": "Taux de conservation des diacritiques (accents, cédilles, trémas…)", "col_docs": "Docs", "col_engine": "Concurrent", "col_gini": "Gini", "col_gini_title": "Coefficient de Gini des erreurs CER par ligne — 0 = erreurs uniformes, 1 = erreurs concentrées. Un bon moteur a CER bas ET Gini bas.", "col_ligatures": "Ligatures", "col_ligatures_title": "Taux de reconnaissance des ligatures (fi, fl, œ, æ, ff…)", "col_mer": "MER", "col_overnorm": "Sur-norm.", "col_overnorm_title": "Classe 10 — Sur-normalisation LLM : taux de mots corrects dégradés par le LLM", "col_rank": "#", "col_wer": "WER", "col_wil": "WIL", "corr_engine_label": "Moteur :", "corr_note": "Coefficient de Pearson entre les métriques CER, WER, qualité image, ligatures, diacritiques. Vert = corrélation positive, Rouge = corrélation négative.", "customize_columns": "Colonnes visibles", "customize_composite_col": "Score", "customize_filters": "Filtres par strate", "customize_filters_empty": "Aucune strate détectée dans les métadonnées du corpus.", "customize_reset": "Réinitialiser la vue", "customize_title": "Mode avancé — personnalisation", "customize_weights": "Score composite personnel", "customize_weights_disable": "Désactiver", "customize_weights_enable": "Activer", "customize_weights_none": "Aucun poids non nul — score composite inactif.", "customize_weights_warning": "Ces poids reflètent votre cas d'usage. Il n'existe pas de pondération universellement valide — Picarones ne suggère aucune pondération par défaut.", "date_locale": "fr-FR", "doc_sidebar_header": "Documents", "doc_title_default": "Sélectionner un document", "errors_classified": "erreurs classifiées.", "footer_by": "par Picarones", "footer_generated": "Rapport généré le", "gallery_empty": "Aucun document ne correspond aux filtres.", "gallery_filter_all": "Tous", "gallery_filter_cer_label": "Filtrer CER >", "gallery_filter_engine_label": "Moteur :", "gallery_sort_best": "Meilleur moteur", "gallery_sort_cer": "CER moyen", "gallery_sort_difficulty": "Difficulté", "gallery_sort_id": "Identifiant", "gallery_sort_label": "Trier par :", "gini_cer_ideal": "— idéal : bas-gauche", "gini_cer_note": "Axe X = CER moyen, Axe Y = coefficient de Gini. Un moteur idéal a CER bas ET Gini bas (erreurs rares et uniformes).", "glossary_definition": "Définition", "glossary_empty": "Aucune entrée pour ce terme.", "glossary_limits": "Limites", "glossary_measures": "Ce que la métrique mesure", "glossary_reference": "Référence", "glossary_tooltip": "Définition", "glossary_usage": "Cas d'usage", "h_bootstrap": "Intervalles de confiance à 95 % (bootstrap)", "h_cer_dist": "Distribution du CER par moteur", "h_cer_doc": "CER par document (tous moteurs)", "h_characters": "Analyse des caractères", "h_clusters": "Clustering des patterns d'erreurs", "h_correlation": "Matrice de corrélation entre métriques", "stratification_caption": "Classement par strate (script_type)", "stratification_description": "Le tableau global classe sur l'ensemble du corpus. Quand le corpus est hétérogène, certains moteurs dominent sur un type de document et perdent sur un autre — la vue stratifiée le révèle.", "stratification_median_label": "Médiane CER", "stratification_mean_label": "Moyenne CER", "stratification_docs_label": "Documents", "stratification_no_data_label": "—", "stratification_n_docs_label": "documents", "stratification_gap_summary": "Écart inter-strate du leader {leader} : {gap_pct} points de CER médian (entre « {min_stratum} » et « {max_stratum} »).", "h_calibration": "Calibration des moteurs", "calibration_note": "ECE (Expected Calibration Error) : moyenne pondérée des écarts |confiance − précision| par bin. Plus l'ECE est bas, plus le moteur est honnête sur sa fiabilité — la diagonale du diagramme représente la calibration parfaite. Un ECE élevé signale qu'on ne peut pas se fier au score de confiance pour cibler la relecture humaine.", "calibration_summary_caption": "Calibration des moteurs (ECE, MCE)", "calibration_engine_label": "Moteur", "calibration_ece_label": "ECE", "calibration_mce_label": "MCE", "calibration_n_label": "Prédictions", "calibration_acc_label": "Précision moyenne", "calibration_conf_label": "Confiance moyenne", "calibration_docs_label": "Docs évalués", "reliability_diagram_title": "Diagramme de fiabilité", "reliability_x_axis": "Confiance", "reliability_y_axis": "Précision", "h_ner": "Précision sur entités nommées", "ner_note": "F1 calculé par alignement IoU ≥ 0,5 sur les spans (labels case-insensitive). Plus le F1 est haut, plus le moteur restitue fidèlement les entités nommées (personnes, lieux, dates) — ce qui prédit l'utilité aval pour l'indexation prosopographique. Cette métrique mesure conjointement OCR + extracteur NER ; le modèle d'extraction lui-même peut halluciner.", "ner_summary_caption": "Précision sur entités nommées", "ner_per_category_caption": "F1 par catégorie d'entité (heatmap)", "ner_engine_label": "Moteur", "ner_f1_label": "F1 global", "ner_precision_label": "Précision", "ner_recall_label": "Rappel", "ner_doc_count_label": "Docs évalués", "ner_hallucinated_label": "Hallucinations", "ner_missed_label": "Entités manquées", "ner_no_data_label": "—", "h_inter_engine": "Analyse inter-moteurs", "inter_engine_note": "Plus la divergence est élevée, plus deux moteurs se trompent sur des classes d'erreurs différentes — ils sont alors candidats à un voting ensemble. L'oracle est la borne supérieure du recall token-level atteignable par ce voting (proxy bag-of-words).", "divergence_caption": "Divergence taxonomique entre moteurs", "divergence_metric_label": "Métrique", "divergence_max_pair_label": "Paire la plus divergente", "divergence_diagonal_label": "(identité)", "oracle_caption": "Complémentarité — gain potentiel d'un voting majoritaire", "oracle_best_engine": "Meilleur moteur seul", "oracle_best_recall": "Tokens préservés", "oracle_recall": "Oracle (au moins un moteur)", "oracle_gap": "Gain potentiel d'un ensemble", "oracle_doc_count": "Documents évalués", "oracle_recoverable": "récupérable", "oracle_explanation": "L'oracle est la borne supérieure du recall token-level atteignable par un voting majoritaire entre les moteurs (proxy bag-of-words).", "h_diff": "Sorties OCR — diff par moteur", "h_duration": "Temps d'exécution moyen (secondes/document)", "h_gallery": "Galerie des documents", "h_gini_cer": "Gini vs CER moyen", "h_gt": "Vérité terrain (GT)", "h_hallucination": "Analyse des hallucinations", "h_image": "Image originale", "h_line_metrics": "Distribution des erreurs par ligne", "h_pairwise": "Tests de Wilcoxon — comparaisons par paires", "h_pareto": "Compromis qualité / coût", "h_quality_cer": "Qualité image ↔ CER (scatter plot)", "h_radar": "Profil des moteurs (radar)", "h_ranking": "Classement des moteurs", "h_ratio_anchor": "Ratio longueur vs ancrage", "h_reliability": "Courbes de fiabilité", "h_taxonomy": "Taxonomie des erreurs par moteur", "h_venn": "Erreurs communes / exclusives (Venn)", "hall_block_label": "Bloc halluciné", "hall_blocks_title": "Blocs sans ancrage dans le GT :", "hall_detected": "⚠️ Hallucinations détectées", "hall_more_blocks": "bloc(s) supplémentaire(s)", "hall_ok": "✓ Ancrage satisfaisant", "heatmap_end": "Fin", "heatmap_mid": "Milieu", "heatmap_start": "Début", "heatmap_title": "CARTE THERMIQUE (position)", "html_lang": "fr", "lines": "lignes", "nav_report": "rapport OCR", "no_gini": "Données Gini non disponibles.", "no_hall_blocks": "Aucun bloc halluciné détecté.", "no_hall_metrics": "Aucune métrique d'hallucination disponible.", "no_line_metrics": "Aucune métrique de ligne disponible.", "no_scatter": "Données non disponibles.", "pairwise_note": "Test signé-rangé de Wilcoxon (non-paramétrique). Seuil α = 0.05.", "pareto_assumptions_summary": "Hypothèses détaillées par moteur", "pareto_axis_co2": "Carbone (g CO₂)", "pareto_axis_cost": "Coût € / 1000 pages", "pareto_axis_speed": "Vitesse (s / page)", "pareto_dominated_label": "Dominés", "pareto_empty": "Données insuffisantes pour cette vue.", "pareto_front_label": "Front Pareto", "pareto_note": "Les moteurs sur la frontière de Pareto (en évidence) sont ceux pour lesquels aucun autre moteur n'offre simultanément un meilleur CER ET un meilleur coût. Prix indicatifs (table interne, datée). Le mode carbone est expérimental.", "percentile_title": "PERCENTILES CER", "proportion_col": "Proportion", "quality_cer_note": "Chaque point = un document. Axe X = score qualité image [0–1]. Axe Y = CER. Corrélation négative attendue.", "radar_note": "Axe radar : CER, WER, MER, WIL — valeurs inversées (plus c'est haut, meilleur est le moteur).", "ratio_anchor_note": "Axe X = score d'ancrage trigrammes [0–1]. Axe Y = ratio longueur sortie/GT. Zone ⚠️ : ancrage < 0.5 ou ratio > 1.2 → hallucinations probables.", "ratio_anchor_subtitle": "— hallucinations VLM", "reliability_note": "Pour les X% documents les plus faciles (triés par CER croissant), quel est le CER moyen cumulé ? Une courbe basse = moteur performant même sur les documents faciles.", "synth_cases_link": "Pour comprendre comment d'autres équipes ont raisonné sur des problèmes similaires, voir les études de cas.", "synth_hint": "Générée mécaniquement depuis les résultats — aucun LLM, reproductible.", "synth_title": "Synthèse factuelle", "tab_analyses": "Analyses", "tab_characters": "Caractères", "tab_document": "Document", "tab_gallery": "Galerie", "tab_ranking": "Classement", "taxonomy_engine_label": "Moteur :", "taxonomy_note": "Distribution des classes d'erreurs (classes 1–9 de la taxonomie Picarones).", "total_errors": "Total :", "venn_note": "Intersection des ensembles d'erreurs entre les 2 ou 3 premiers concurrents. Erreurs communes = segments partagés.", "philo_profile_title": "Profil philologique", "philo_profile_note": "Données brutes par catégorie de marqueur philologique. L'outil ne classifie pas la convention adoptée par chaque moteur — c'est au chercheur de lire les chiffres et de conclure selon ses critères éditoriaux.", "philo_engine_label": "Moteur", "philo_global_label": "Global", "philo_strict_label": "Strict", "philo_expansion_label": "Expansion", "philo_n_total_label": "n total", "philo_unicode_blocks_title": "Précision par bloc Unicode", "philo_unicode_blocks_note": "Pourcentage de caractères correctement restitués par bloc Unicode rencontré dans la GT (hors Basic Latin).", "philo_abbreviations_title": "Abréviations médiévales (Capelli)", "philo_abbreviations_note": "Strict = forme abrégée (ꝑ, ꝓ, ⁊…) préservée telle quelle ; Expansion = abrégée OU forme développée (per, pro, et…) présente. Le ratio strict/expansion par moteur indique la convention adoptée (diplomatique / modernisante).", "philo_mufi_title": "Couverture MUFI (Medieval Unicode Font Initiative)", "philo_mufi_note": "Taux de caractères MUFI de la GT (þ, ð, ƿ, ſ, æ, lettres PUA…) correctement restitués dans l'OCR. Critère éditorial central pour les médiévistes.", "philo_mufi_coverage_label": "Couverture", "philo_early_modern_title": "Marqueurs typographiques imprimé ancien (XVIᵉ-XVIIIᵉ)", "philo_early_modern_note": "Préservation des ligatures (fi fl ff), s long (ſ), i sans point (ı), esperluette (&) et tildes nasaux (ã õ ñ). Une ligne par moteur, une colonne par catégorie.", "philo_modern_archives_title": "Abréviations des archives modernes (XIXᵉ-XXᵉ)", "philo_modern_archives_note": "Strict = abrégé préservé (Mme, S.A.R., bd, vol., …) ; Expansion = abrégé OU forme développée. Affiché par catégorie : civilité, ordinaux, monnaie, administratif, état civil, ponctuation typo, latin, biblio, adresse.", "philo_roman_numerals_title": "Numéraux romains : restitution par statut", "philo_roman_numerals_note": "Pour chaque numéral romain de la GT, statut de restitution : strict (forme exacte), case_changed (casse modifiée), j_dropped (j médiéval normalisé), converted_to_arabic, lost. Le breakdown indique la convention : majoritaire strict → diplomatique ; majoritaire arabic → modernisation profonde.", "philo_roman_status_strict_preserved": "Strict", "philo_roman_status_case_changed": "Casse", "philo_roman_status_j_dropped": "j supprimé", "philo_roman_status_converted_to_arabic": "→ arabe", "philo_roman_status_lost": "Perdu", "pipeline_report_title": "Rapport de pipeline composée", "pipeline_report_note": "Données brutes par étape. L'outil mesure et agrège — il ne classe pas la pipeline « bonne » ou « mauvaise ». C'est au chercheur de juger les chiffres selon ses critères.", "pipeline_summary_title": "Résumé du benchmark", "pipeline_name_label": "Pipeline", "pipeline_corpus_label": "Corpus", "pipeline_n_docs_label": "Documents", "pipeline_succeeded_label": "Pipelines réussies", "pipeline_failed_label": "Pipelines échouées", "pipeline_duration_label": "Durée totale", "pipeline_steps_title": "Détail par étape", "pipeline_step_name_label": "Étape", "pipeline_success_rate_label": "Taux succès", "pipeline_duration_mean_label": "Durée moyenne", "pipeline_duration_median_label": "Durée médiane", "pipeline_junction_metrics_label": "Métriques aux jonctions", "pipeline_error_breakdown_label": "Erreurs", "pipeline_docs_short": "docs", "pipeline_comparison_report_title": "Rapport de comparaison de pipelines", "pipeline_comparison_report_note": "Données comparatives brutes. L'outil mesure et classe — il ne tranche pas le débat éditorial. C'est au chercheur de lire les chiffres et de conclure selon ses critères.", "pipeline_comparison_summary_title": "Résumé de la comparaison", "pipeline_n_pipelines_label": "Pipelines comparées", "pipeline_n_pipelines_short": "pipelines", "pipeline_per_pipeline_label": "Par pipeline", "pipeline_ranking_title": "Classement par {label}", "pipeline_rank_label": "Rang", "pipeline_value_label": "Valeur", "pipeline_gain_title": "Gain vs {baseline} sur {label}", "pipeline_gain_absolute_label": "Gain absolu", "pipeline_gain_relative_label": "Gain relatif", "pipeline_baseline_marker": "(référence)", "baseline_corpus_title": "Ce corpus est-il habituel ?", "baseline_corpus_harder": "Difficulté observée {current:.2f} — au {percentile:.0f}ᵉ percentile des {n_runs} corpus précédents de votre institution. Ce corpus est plus difficile que la moyenne.", "baseline_corpus_easier": "Difficulté observée {current:.2f} — au {percentile:.0f}ᵉ percentile des {n_runs} corpus précédents. Ce corpus est plus facile que la moyenne.", "baseline_corpus_usual": "Difficulté observée {current:.2f} — au {percentile:.0f}ᵉ percentile des {n_runs} corpus précédents. Ce corpus est dans la moyenne.", "taxocooc_title": "Co-occurrence des classes d'erreur", "taxocooc_note": "Indice de Jaccard au niveau document : 1,00 = ces deux classes apparaissent toujours ensemble ; 0,00 = jamais. Lecture par paires co-occurrentes ci-dessous.", "taxocooc_n_docs": "Calculé sur {n_docs} documents.", "taxocooc_pair_label": "Paire", "taxocooc_jaccard_label": "Jaccard", "intradoc_title": "Évolution intra-document des classes d'erreur", "intradoc_note": "Heatmap class × position : densité relative par classe (plus foncé = concentré). Une classe concentrée dans la première colonne suggère une erreur de marge ; une distribution uniforme suggère une erreur de scribe.", "intradoc_n_words": "Calculé sur {n_words_gt} mots GT, répartis en {n_bins} tranches.", "taxocomp_title": "Profil taxonomique : {engine_a} vs {engine_b}", "taxocomp_note": "Diagramme miroir des proportions d'erreurs par classe. Couleur selon récupérabilité éditoriale (vert = corrigeable, rouge = irrécupérable). À CER global égal, un moteur dont les erreurs sont majoritairement vertes est préférable pour une édition critique.", "taxocomp_level_label": "Catégorie", "taxocomp_recoverable": "Récupérable", "taxocomp_difficult": "Difficile", "taxocomp_irrecoverable": "Irrécupérable", "lexmod_title": "Modernisation lexicale (top tokens)", "lexmod_note": "Tokens GT que le moteur réécrit le plus souvent. Lecture : « maistre → maître modernisé dans 85 % des cas » indique de quoi corriger dans le prompt pour préserver l'orthographe historique.", "lexmod_gt_label": "Forme historique GT", "lexmod_hyp_label": "Variantes OCR", "lexmod_n_label": "n GT", "lexmod_rate_label": "% modernisé", "levers_title": "Leviers d'amélioration", "levers_note": "Observations factuelles synthétisées depuis les modules d'analyse. Aucune recommandation imposée — c'est au chercheur de juger ce qui est exploitable selon son workflow.", "levers_top_classes": "Principales classes :", "levers_importance_high": "Important", "levers_importance_medium": "À noter", "levers_importance_low": "Mineur", "levers_label_dominant_recoverable_class": "Erreurs majoritairement récupérables", "levers_label_pareto_concentration": "Concentration Pareto du CER", "levers_label_complementarity_observation": "Complémentarité inter-moteurs", "levers_label_lexical_modernization_observation": "Modernisation lexicale systématique", "levers_label_robustness_projection_observation": "Déficit projeté sur le corpus réel", "levers_dominant_recoverable_phrase": "{pct}% des erreurs de {engine} ({n_recov}/{n_total}) sont classifiées récupérables (case_error, ligature_error, abbreviation_error).", "levers_pareto_phrase": "Sur {engine}, {n_top} documents ({top_pct}% du corpus) concentrent {cer_pct}% du CER cumulé (sur {n_total} documents au total).", "levers_complementarity_phrase": "L'oracle bag-of-words atteint un rappel supérieur de {abs_pct} points (+{rel_pct}% relatif) à celui du meilleur moteur seul.", "levers_complementarity_phrase_with_engine": "L'oracle bag-of-words atteint un rappel supérieur de {abs_pct} points (+{rel_pct}% relatif) à celui du meilleur moteur seul ({best_engine}).", "levers_lexical_phrase": "Top tokens GT systématiquement modernisés par {engine} : {items}.", "levers_robustness_phrase": "Déficit projeté de {engine} sur le corpus réel : {deficit_pct} points de CER cumulés sur {n_types} dégradations.", "levers_robustness_phrase_with_worst": "Déficit projeté de {engine} sur le corpus réel : {deficit_pct} points de CER cumulés sur {n_types} dégradations — pire dégradation : {worst_type} ({worst_pct} points).", "search_title": "Recherchabilité fuzzy", "search_note": "Proportion de tokens GT retrouvés dans la sortie OCR à distance de Levenshtein ≤ 2 — proxy direct de la qualité pour la recherche plein-texte (Elastic, Solr, Gallica).", "search_engine": "Moteur", "search_recall": "Rappel", "search_count": "Tokens retrouvés / total", "search_docs": "Docs", "numseq_title": "Précision sur séquences numériques", "numseq_note": "Score strict (forme préservée) — la valeur entre parenthèses est le score sur la valeur (XIV ↔ 14 accepté). Foliotation : recto/verso non interchangeables.", "numseq_engine": "Moteur", "numseq_global": "Global", "numseq_cat_year": "Année", "numseq_cat_roman": "Romain", "numseq_cat_foliation": "Foliation", "numseq_cat_currency": "Montant", "numseq_cat_regnal": "Régnal", "readability_title": "Lisibilité (delta Flesch)", "readability_note": "Différence de lisibilité Flesch entre la sortie OCR et la GT. Δ > +5 : over-normalisation (typique des LLM qui modernisent un texte ancien). Δ < -5 : dégradation brutale. Δ ≈ 0 : fidélité au registre linguistique.", "readability_engine": "Moteur", "readability_delta_mean": "Δ moyen", "readability_delta_median": "Δ médian", "readability_over_norm_rate": "% over-normalisé", "readability_under_norm_count": "Docs under-normalisés", "readability_docs": "Docs", "robproj_title": "Déficit projeté de robustesse sur le corpus réel", "robproj_note": "Projection des courbes de dégradation synthétique sur les caractéristiques d'image réelles. Le déficit total suppose l'indépendance des dégradations — approximation utile pour le diagnostic, pas un verdict.", "robproj_summary": "Résumé par moteur", "robproj_detail": "Détail par couple (moteur × dégradation)", "robproj_engine": "Moteur", "robproj_total": "Déficit total (pts CER)", "robproj_n_types": "Types évalués", "robproj_worst": "Pire dégradation", "robproj_deg_type": "Dégradation", "robproj_n_docs": "Docs", "robproj_n_with_data": "Docs avec data", "robproj_deficit": "Δ CER projeté (pts)", "robproj_above": "Docs ≥ seuil critique", "specialization_title": "Spécialisation inter-moteurs", "specialization_note": "Score de divergence Jensen-Shannon entre les profils taxonomiques de chaque paire de moteurs (0 = profils identiques, 1 = totalement disjoints). Une paire très spécialisée signale des erreurs de natures différentes — c'est au chercheur d'en tirer parti, pas à l'outil de prescrire un ensemble.", "specialization_engine_a": "Moteur A", "specialization_engine_b": "Moteur B", "specialization_score": "Score", "specialization_category": "Lecture", "specialization_cat_similar": "Profils similaires", "specialization_cat_distinct": "Profils distincts", "specialization_cat_highly_specialized": "Forte spécialisation", "stability_title": "Stabilité multi-runs", "stability_note": "Quand un moteur LLM/VLM est non déterministe, la variance entre runs successifs sur les mêmes documents est un proxy de la fiabilité scientifique. Un CV élevé ou un faible taux de runs identiques discrédite l'interprétation du CER moyen.", "stability_engine": "Moteur", "stability_n_runs": "Runs", "stability_cer": "CER moyen ± σ", "stability_cv": "CV (%)", "stability_identical": "% runs identiques", "stability_distinct": "Sorties distinctes", "throughput_title": "Throughput effectif", "throughput_note": "Pages traitables par heure en intégrant le temps de correction humaine post-OCR. Discrimine entre un cloud rapide mais imprécis et un local lent mais fiable. Constante de correction : {time_per_error}s par erreur (défaut HTR-United, surchargeable).", "throughput_engine": "Moteur", "throughput_raw": "Pages/h brut", "throughput_effective": "Pages/h utilisable", "throughput_drag": "% correction", "throughput_pages": "Pages", "throughput_errors": "Erreurs", "longitudinal_title": "Évolution dans le temps", "longitudinal_note": "Tendance et points de rupture sur l'historique SQLite des runs précédents. Une variation positive signale une dégradation cumulée — utile pour relier une régression à un changement de pipeline ou de modèle.", "longitudinal_engine": "Moteur", "longitudinal_n_runs": "Runs", "longitudinal_first": "Premier CER", "longitudinal_last": "Dernier CER", "longitudinal_delta": "Δ cumulé (pts)", "longitudinal_slope": "Pente annuelle (pts/an)", "longitudinal_r2": "R²", "longitudinal_change": "Rupture", "imgpred_title": "Profil d'image du corpus", "imgpred_note": "Score de complexité paléographique combinant bruit, flou, faible contraste et rotation. Le score d'homogénéité signale si la moyenne globale est fiable (corpus uniforme) ou trompeuse (corpus hétérogène — voir alors la vue stratifiée).", "imgpred_complexity": "Complexité paléographique", "imgpred_homogeneity": "Homogénéité du corpus", "imgpred_score": "Score", "imgpred_mean": "Moyenne", "imgpred_median": "Médiane", "imgpred_min": "Min", "imgpred_max": "Max", "imgpred_stdev": "Écart-type", "imgpred_docs": "Docs", "imgpred_feature": "Feature", "imgpred_feat_mean": "Moyenne", "imgpred_feat_stdev": "Écart-type", "imgpred_feat_norm": "Contribution normalisée", "imgpred_feat_noise": "Niveau de bruit", "imgpred_feat_sharpness": "Netteté", "imgpred_feat_contrast": "Contraste", "imgpred_feat_rotation": "Rotation", "absorption_title": "Absorption d'erreur par jonction", "absorption_note": "À chaque jonction du pipeline, deux flux sont mesurés indépendamment : combien d'erreurs sont corrigées et combien sont introduites. Une jonction qui corrige beaucoup mais introduit aussi beaucoup absorbe les différences amont au lieu de les améliorer.", "absorption_junction": "Jonction", "absorption_errors_before": "Erreurs avant", "absorption_errors_after": "Erreurs après", "absorption_corrected": "Corrigées", "absorption_introduced": "Introduites", "absorption_corr_rate": "% corrigées", "absorption_intro_rate": "% introduites", "absorption_net": "Amélioration nette", "absorption_sample": "Échantillon (intro)", "dag_title": "Pipeline DAG", "dag_note": "Graphe orienté du pipeline composé. Chaque arête porte le type d'artefact transmis et la métrique calculée à la jonction. Code couleur vert/orange/rouge selon le seuil. Outil d'inspection — le YAML reste source de vérité.", "dag_legend": "Lecture", "dag_legend_green": "qualité élevée", "dag_legend_yellow": "qualité moyenne", "dag_legend_red": "qualité faible", "incr_title": "Comparaison contrôlée par slot", "incr_note": "Effet isolé du module variant sur les pipelines en contrôlant les autres slots. Pour chaque valeur du slot, moyenne ± écart-type, rang moyen sur les groupes fixes, et nombre d'observations. Type design d'expérience pour des comparaisons honnêtes.", "incr_slot_label": "Slot variant", "incr_value": "Valeur", "incr_mean": "Score moyen", "incr_stdev": "± σ", "incr_rank": "Rang moyen", "incr_n_obs": "Observations", "incr_groups": "Groupes fixes", "audit_title": "Modules audités", "audit_note": "Récapitulatif des modules utilisés dans la pipeline composée. Un module qui ne passe pas l'audit n'est pas exécutable. Métadonnées issues du manifest fourni par le contributeur (auteur, licence, citation).", "audit_pass": "audit OK", "audit_fail": "checks échoués", "audit_module": "Module", "audit_status": "Audit", "audit_version": "Version", "audit_author": "Auteur", "audit_license": "Licence", "audit_io": "Entrée → sortie", "audit_citation": "Citation", "audit_homepage": "Page projet" }