<?php
/**
 * Demo Oracle — traductions (fr).
 *
 * Les libelles des rapports portes depuis le module Oracle reprennent ses
 * traductions telles quelles : les ecrans sont les memes, les retraduire
 * n'aurait fait que creer de la divergence.
 */
return [
    'demo_oracle.admin_actions_none'               => 'Aucune action n\'est possible sur les bases.',
    'demo_oracle.admin_actions_none_help'          => 'Les commandes d\'écriture — arrêt de session, ALTER SYSTEM, redimensionnement de fichier, calcul de statistiques, profils SQL, points de restauration, politiques d\'audit — ne sont pas désactivées dans l\'interface : elles sont absentes du module. Le serveur ne sait pas les exécuter.',
    'demo_oracle.admin_ash_limit'                  => 'Amplitude maximale d\'un rapport ASH',
    'demo_oracle.admin_db_count'                   => 'Bases déclarées',
    'demo_oracle.admin_history_limit'              => 'Profondeur d\'historique',
    'demo_oracle.admin_intro'                      => 'Cette page règle le seul paramètre de la démonstration : le lien vers lequel renvoient les mentions « version complète ». Les limites, elles, sont fixées dans le code et ne se règlent pas.',
    'demo_oracle.admin_limits'                     => 'Limites de la démonstration',
    'demo_oracle.admin_preview'                    => 'Aperçu :',
    'demo_oracle.admin_title'                      => 'Configuration de la démonstration',
    'demo_oracle.admin_url_help'                   => 'Laissez vide pour que les mentions restent de simples explications, sans lien. La démonstration s\'installe alors sans renvoi commercial.',
    'demo_oracle.admin_url_invalid'                => 'URL invalide. Attendu : une adresse http:// ou https:// complète.',
    'demo_oracle.admin_url_label'                  => 'URL',
    'demo_oracle.admin_url_title'                  => 'Lien « version complète »',
    'demo_oracle.alertlog_title'                   => 'Journal d\'alerte',
    'demo_oracle.ash_1d'                           => '24 h',
    'demo_oracle.ash_30d'                          => '30 jours',
    'demo_oracle.ash_7d'                           => '7 jours',
    'demo_oracle.ash_bad_period'                   => 'Période invalide.',
    'demo_oracle.ash_chart_title'                  => 'Sessions actives par classe d\'attente',
    'demo_oracle.ash_days_label'                   => 'Période :',
    'demo_oracle.ash_detail_apply'                 => 'Afficher',
    'demo_oracle.ash_detail_from'                  => 'Du :',
    'demo_oracle.ash_detail_nav'                   => 'Rapport ASH',
    'demo_oracle.ash_detail_title'                 => 'ASH',
    'demo_oracle.ash_detail_to'                    => 'Au :',
    'demo_oracle.ash_dim_category'                 => 'Classe d\'attente',
    'demo_oracle.ash_dim_event'                    => 'Top événements',
    'demo_oracle.ash_dim_machine'                  => 'Top machines',
    'demo_oracle.ash_dim_module'                   => 'Top modules',
    'demo_oracle.ash_dim_object'                   => 'Top objets',
    'demo_oracle.ash_dim_plsql'                    => 'Top PL/SQL',
    'demo_oracle.ash_dim_service'                  => 'Top services',
    'demo_oracle.ash_dim_sql'                      => 'Top SQL',
    'demo_oracle.ash_dimension'                    => 'Dimension',
    'demo_oracle.ash_filter_all_classes'           => 'Toutes les classes',
    'demo_oracle.ash_filter_all_services'          => 'Tous les services',
    'demo_oracle.ash_filter_service'               => 'Service',
    'demo_oracle.ash_filter_wait_class'            => 'Classe d\'attente',
    'demo_oracle.ash_no_data'                      => 'Aucune donnée ASH pour cette période.',
    'demo_oracle.ash_no_license'                   => 'Diagnostics Pack non licencié. L\'accès aux vues DBA_HIST_* requiert la licence Oracle Diagnostics Pack.',
    'demo_oracle.ash_title'                        => 'Historique d\'activité (ASH / AWR)',
    'demo_oracle.ash_topn_title'                   => 'Top consommateurs',
    'demo_oracle.ash_window_hint'                  => '— l\'amplitude est plafonnée à {hours} h ; au-delà, la fin est ramenée',
    'demo_oracle.ash_y_label'                      => 'Sessions actives (échantillons)',
    'demo_oracle.back_home'                        => 'Retour au module',
    'demo_oracle.bash_install_link'                => 'Installer sw$bash_snapper pour échantillonner les sessions sans licence Diagnostic Pack.',
    'demo_oracle.bksum_end'                        => 'Fin',
    'demo_oracle.bksum_no_data'                    => 'Aucun backup set trouvé dans V$BACKUP_SET.',
    'demo_oracle.bksum_sets'                       => 'Backup sets',
    'demo_oracle.bksum_start'                      => 'Début',
    'demo_oracle.bksum_type'                       => 'Type',
    'demo_oracle.cancel'                           => 'Annuler',
    'demo_oracle.cfg_edit_hint'                    => '— la version complète permet de modifier une valeur et de la remettre par défaut',
    'demo_oracle.cfg_edit_param'                   => 'Modifier un paramètre',
    'demo_oracle.cfgaudit_title'                   => 'Piste d\'audit',
    'demo_oracle.cfgsqlt_autotask'                 => 'Tâche automatique SQL Tuning',
    'demo_oracle.cfgsqlt_created'                  => 'Créé le',
    'demo_oracle.cfgsqlt_drop_profile'             => 'Supprimer le profil SQL',
    'demo_oracle.cfgsqlt_executions'               => 'Dernières exécutions',
    'demo_oracle.cfgsqlt_hint'                     => 'SQL Tuning Advisor automatique : paramètres, SQL Profiles, historique des exécutions.',
    'demo_oracle.cfgsqlt_history'                  => 'Historique autotask',
    'demo_oracle.cfgsqlt_params'                   => 'Paramètres Auto SQL Tuning',
    'demo_oracle.cfgsqlt_title'                    => 'Optimisation SQL',
    'demo_oracle.cfgstats_autotask'                => 'Tâche automatique',
    'demo_oracle.cfgstats_col_last'                => 'Dernier calcul',
    'demo_oracle.cfgstats_dict'                    => 'Statistiques dictionnaire (SYS)',
    'demo_oracle.cfgstats_disable'                 => 'Désactiver',
    'demo_oracle.cfgstats_enable'                  => 'Activer',
    'demo_oracle.cfgstats_hint'                    => 'Configuration des statistiques Oracle : préférences globales, statistiques par schéma, système, dictionnaire et tâche automatique.',
    'demo_oracle.cfgstats_pref_name'               => 'Paramètre',
    'demo_oracle.cfgstats_pref_value'              => 'Valeur',
    'demo_oracle.cfgstats_prefs'                   => 'Préférences globales DBMS_STATS',
    'demo_oracle.cfgstats_schedule_btn'            => 'Planifier',
    'demo_oracle.cfgstats_schema'                  => 'Statistiques par schéma',
    'demo_oracle.cfgstats_schema_hint'             => 'Dernier calcul par type d\'objet. # = nombre d\'objets, ⚠ = obsolètes ou jamais analysés. Schémas Oracle système exclus.',
    'demo_oracle.cfgstats_schema_owner'            => 'Schéma',
    'demo_oracle.cfgstats_sysstats'                => 'Statistiques système (AUX_STATS$)',
    'demo_oracle.cfgstats_title'                   => 'Calcul des statistiques',
    'demo_oracle.cloud_alias_required'             => 'L\'alias TNS est obligatoire pour une connexion Oracle Cloud.',
    'demo_oracle.cloud_no_wallet'                  => 'Wallet introuvable sur le serveur. Veuillez le déposer à nouveau.',
    'demo_oracle.cloud_test_after_save'            => 'Enregistrez d\'abord la base : le portefeuille doit être extrait avant de pouvoir tester.',
    'demo_oracle.cloud_wallet_required'            => 'Le portefeuille est obligatoire à la création d\'une base Oracle Cloud.',
    'demo_oracle.col_actions'                      => 'Actions',
    'demo_oracle.col_instance'                     => 'Instance',
    'demo_oracle.col_isdefault'                    => 'Défaut',
    'demo_oracle.col_param'                        => 'Paramètre',
    'demo_oracle.col_type'                         => 'Type',
    'demo_oracle.col_value'                        => 'Valeur',
    'demo_oracle.config_dbinfo_title'              => 'Identité de la base',
    'demo_oracle.config_instances_title'           => 'Instances',
    'demo_oracle.config_params'                    => 'Paramètres de configuration',
    'demo_oracle.conn_cloud'                       => 'Oracle Cloud (portefeuille)',
    'demo_oracle.conn_standard'                    => 'Directe (hôte, port, service)',
    'demo_oracle.conn_type'                        => 'Type de connexion',
    'demo_oracle.connect'                          => 'Se connecter',
    'demo_oracle.connect_error'                    => 'Connexion impossible :',
    'demo_oracle.ctx_copy_sql_id'                  => 'Copier le SQL_ID',
    'demo_oracle.ctx_open_sql_detail'              => 'Ouvrir le détail SQL',
    'demo_oracle.currently_connected'              => 'Base actuellement sélectionnée :',
    'demo_oracle.dash_bksum_hint'                  => 'Les 10 derniers backups de base (FULL / INCR 0), regroupés par îlots de 2 h (V$BACKUP_SET).',
    'demo_oracle.dash_bksum_title'                 => 'Synthèse des sauvegardes',
    'demo_oracle.dash_exports_dirs'                => 'Directories Oracle',
    'demo_oracle.dash_exports_dp_jobs'             => 'Jobs Data Pump',
    'demo_oracle.dash_exports_extables'            => 'Tables externes',
    'demo_oracle.dash_exports_extables_hint'       => 'access_type ORACLE_LOADER ≈ SQL*Loader ; ORACLE_DATAPUMP = fichier .dmp consommé en SELECT.',
    'demo_oracle.dash_exports_hint'                => 'Data Pump, directories, tables externes (couvre ORACLE_LOADER / SQL*Loader, ORACLE_DATAPUMP, etc.).',
    'demo_oracle.dash_exports_long_ops'            => 'Opérations Data Pump en cours',
    'demo_oracle.dash_exports_no_dp'               => 'Aucun job Data Pump actif ou en attente.',
    'demo_oracle.dash_exports_title'               => 'Exports, imports, tables externes',
    'demo_oracle.dash_licenses_title'              => 'Licences',
    'demo_oracle.dash_menu'                        => 'Tableaux de bord',
    'demo_oracle.dash_scheduler_title'             => 'Ordonnanceur et travaux',
    'demo_oracle.dash_stats_title'                 => 'Statistiques système',
    'demo_oracle.dash_tde_algorithm'               => 'Algorithme',
    'demo_oracle.dash_tde_autologin'               => 'Auto-login',
    'demo_oracle.dash_tde_backed_up'               => 'Sauvegardé',
    'demo_oracle.dash_tde_config'                  => 'Configuration TDE',
    'demo_oracle.dash_tde_enc_ts'                  => 'Tablespaces chiffrés',
    'demo_oracle.dash_tde_hint'                    => 'Chiffrement transparent (TDE) : emplacement des wallets, auto-login, mode d\'ouverture, par instance (GV$ENCRYPTION_WALLET), configuration et tablespaces chiffrés.',
    'demo_oracle.dash_tde_keys'                    => 'Clés maîtres (MEK)',
    'demo_oracle.dash_tde_keys_count'              => 'Nombre de clés',
    'demo_oracle.dash_tde_keys_last'               => 'Dernière activation',
    'demo_oracle.dash_tde_keys_unavailable'        => 'Non disponible (privilège SYSDBA/SYSKM requis ou aucune clé).',
    'demo_oracle.dash_tde_location'                => 'Emplacement',
    'demo_oracle.dash_tde_make_autologin'          => 'Passer en auto-login',
    'demo_oracle.dash_tde_no_enc_ts'               => 'Aucun tablespace chiffré.',
    'demo_oracle.dash_tde_no_wallet'               => 'Aucun wallet TDE configuré (GV$ENCRYPTION_WALLET vide).',
    'demo_oracle.dash_tde_status'                  => 'Mode d\'ouverture',
    'demo_oracle.dash_tde_title'                   => 'TDE et portefeuilles',
    'demo_oracle.dash_tde_type'                    => 'Type',
    'demo_oracle.dash_tde_wallets'                 => 'Wallets par instance',
    'demo_oracle.databases'                        => 'Bases de démonstration',
    'demo_oracle.db_add'                           => 'Ajouter une base',
    'demo_oracle.db_delete_confirm'                => 'Supprimer cette base de la démonstration ?',
    'demo_oracle.db_description'                   => 'Description',
    'demo_oracle.db_edit'                          => 'Modifier la base',
    'demo_oracle.db_host'                          => 'Hôte',
    'demo_oracle.db_host_required'                 => 'L\'hôte est obligatoire.',
    'demo_oracle.db_limit_hint'                    => 'la démonstration est limitée à {max} bases',
    'demo_oracle.db_limit_reached'                 => 'La démonstration est limitée à {max} bases de données.',
    'demo_oracle.db_manage'                        => 'Gérer les bases',
    'demo_oracle.db_name'                          => 'Nom',
    'demo_oracle.db_name_required'                 => 'Le nom est obligatoire.',
    'demo_oracle.db_new'                           => 'Nouvelle base',
    'demo_oracle.db_not_found'                     => 'Base introuvable.',
    'demo_oracle.db_password'                      => 'Mot de passe',
    'demo_oracle.db_port'                          => 'Port',
    'demo_oracle.db_port_invalid'                  => 'Le port doit être compris entre 1 et 65535.',
    'demo_oracle.db_service'                       => 'Service',
    'demo_oracle.db_service_required'              => 'Le nom de service est obligatoire.',
    'demo_oracle.db_sysdba'                        => 'SYSDBA',
    'demo_oracle.db_user'                          => 'Utilisateur',
    'demo_oracle.delete'                           => 'Supprimer',
    'demo_oracle.diag_levers'                      => 'Principaux leviers',
    'demo_oracle.diag_menu'                        => 'Diagnostic',
    'demo_oracle.diag_ora1555_config'              => 'Paramétrage UNDO',
    'demo_oracle.diag_ora1555_errors'              => 'Erreurs ORA-01555',
    'demo_oracle.diag_ora1555_hint'                => 'Diagnostic « snapshot too old » : taille de l\'UNDO vs durée des requêtes longues. V$UNDOSTAT garde ~7 jours d\'échantillons 10 min.',
    'demo_oracle.diag_ora1555_lever_app'           => 'Découper les FETCH en transactions plus courtes, ou utiliser des read-only snapshots / Flashback Data Archive.',
    'demo_oracle.diag_ora1555_lever_long_queries'  => 'Identifier les requêtes longues (maxquerylen) et réduire leur durée — index, parallèle, batch.',
    'demo_oracle.diag_ora1555_lever_retention'     => 'Augmenter UNDO_RETENTION (en secondes) — c\'est la durée minimale visée par Oracle.',
    'demo_oracle.diag_ora1555_lever_undo_size'     => 'Élargir l\'UNDO tablespace : retention non garantie si l\'UNDO manque de place.',
    'demo_oracle.diag_ora1555_longest'             => 'Requête la plus longue',
    'demo_oracle.diag_ora1555_samples'             => 'Échantillons récents',
    'demo_oracle.diag_ora1555_title'               => 'ORA-01555',
    'demo_oracle.diag_ora1555_window_hint'         => 'cumul sur la fenêtre V$UNDOSTAT (~7 j)',
    'demo_oracle.diag_ora4030_by_category'         => 'PGA par catégorie',
    'demo_oracle.diag_ora4030_config'              => 'Paramétrage PGA',
    'demo_oracle.diag_ora4030_hint'                => 'Diagnostic « out of process memory » (PGA, mémoire allouée par un processus serveur). Sources : V$PGASTAT, V$PROCESS, V$PROCESS_MEMORY.',
    'demo_oracle.diag_ora4030_lever_limit'         => 'PGA_AGGREGATE_LIMIT plafonne la PGA totale — vérifier qu\'il n\'est pas trop bas.',
    'demo_oracle.diag_ora4030_lever_sql'           => 'Optimiser les requêtes consommatrices : ORDER BY/HASH JOIN massifs, work areas saturées.',
    'demo_oracle.diag_ora4030_lever_target'        => 'Augmenter PGA_AGGREGATE_TARGET (cf. V$PGA_TARGET_ADVICE dans la page Indicateurs).',
    'demo_oracle.diag_ora4030_lever_topproc'       => 'Identifier la session top PGA et killer si elle est anormale.',
    'demo_oracle.diag_ora4030_overalloc_hint'      => 'depuis startup — > 0 indique des dépassements de pga_aggregate_target',
    'demo_oracle.diag_ora4030_title'               => 'ORA-04030',
    'demo_oracle.diag_ora4030_top_proc'            => 'Top processus en mémoire PGA',
    'demo_oracle.diag_ora4031_config'              => 'Paramétrage shared pool',
    'demo_oracle.diag_ora4031_free'                => 'free memory',
    'demo_oracle.diag_ora4031_high_version'        => 'SQL à VERSION_COUNT élevé (cursor non-sharing)',
    'demo_oracle.diag_ora4031_hint'                => 'Diagnostic « unable to allocate memory in shared pool ». Sources : V$SGASTAT, V$LIBRARYCACHE, V$SQLAREA (high VERSION_COUNT).',
    'demo_oracle.diag_ora4031_lever_bind'          => 'Bind variables côté appli — VERSION_COUNT élevé = curseurs non partagés à cause de littéraux.',
    'demo_oracle.diag_ora4031_lever_keep'          => 'DBMS_SHARED_POOL.KEEP sur les packages/curseurs critiques pour éviter leur éviction.',
    'demo_oracle.diag_ora4031_lever_reserved'      => 'SHARED_POOL_RESERVED_SIZE absorbe les grosses allocations en cas de fragmentation.',
    'demo_oracle.diag_ora4031_lever_size'          => 'Augmenter SHARED_POOL_SIZE (ou SGA_TARGET en mode ASMM).',
    'demo_oracle.diag_ora4031_libcache'            => 'Library cache',
    'demo_oracle.diag_ora4031_no_high_version'     => 'Aucun curseur à VERSION_COUNT ≥ 10 — le cursor sharing est correct.',
    'demo_oracle.diag_ora4031_reserved_free'       => 'reserved free',
    'demo_oracle.diag_ora4031_title'               => 'ORA-04031',
    'demo_oracle.diag_ora4031_top_alloc'           => 'Top allocations',
    'demo_oracle.diag_slowdown_active_link'        => 'voir détails',
    'demo_oracle.diag_slowdown_active_sessions'    => 'Sessions actives',
    'demo_oracle.diag_slowdown_hint'               => 'Diagnostic généraliste — passe en revue les 4 angles d\'attaque pour identifier l\'origine du ralentissement.',
    'demo_oracle.diag_slowdown_history_hint'       => 'tendance sur les 7 derniers jours (Diagnostic Pack).',
    'demo_oracle.diag_slowdown_indicators_hint'    => 'ratios classiques + advisors mémoire.',
    'demo_oracle.diag_slowdown_locks_hint'         => 'arborescence des sessions bloquantes / bloquées.',
    'demo_oracle.diag_slowdown_longops'            => 'Opérations longues en cours',
    'demo_oracle.diag_slowdown_next'               => 'Pour creuser :',
    'demo_oracle.diag_slowdown_title'              => 'Ralentissement',
    'demo_oracle.diag_slowdown_top_sql'            => 'Top SQL par elapsed_time',
    'demo_oracle.diag_slowdown_top_waits'          => 'Top wait events (depuis startup)',
    'demo_oracle.disconnect'                       => 'Se déconnecter',
    'demo_oracle.edit'                             => 'Modifier',
    'demo_oracle.filter_all_types'                 => 'Tous les types',
    'demo_oracle.filter_isbasic'                   => 'Basique uniquement',
    'demo_oracle.filter_mod_instance'              => 'INSTANCE',
    'demo_oracle.filter_mod_label'                 => 'Modification',
    'demo_oracle.filter_mod_pdb'                   => 'PDB',
    'demo_oracle.filter_mod_session'               => 'SESSION',
    'demo_oracle.filter_mod_system'                => 'SYSTÈME',
    'demo_oracle.filter_modified'                  => 'Modifiés uniquement',
    'demo_oracle.filter_name_placeholder'          => 'Le paramètre contient…',
    'demo_oracle.filter_reset'                     => 'Réinitialiser les filtres',
    'demo_oracle.full_more'                        => 'En savoir plus',
    'demo_oracle.full_only'                        => 'Disponible seulement dans la version complète',
    'demo_oracle.full_page_intro'                  => 'Cette page ne fait pas partie de la démonstration. La version complète du module Oracle la fournit intégralement, sur vos propres bases.',
    'demo_oracle.go_to_reports'                    => 'Voir les rapports',
    'demo_oracle.heat_clipped'                     => 'Le dégradé s\'arrête avant le maximum pour qu\'un pic isolé n\'aplatisse pas les autres heures : celles au-delà partagent le ton le plus foncé.',
    'demo_oracle.heat_hint'                        => 'Une ligne par heure, une colonne par jour, dans le fuseau du serveur de base. L\'intensité est propre à chaque grille : ne comparez pas une case d\'une heatmap à une case d\'une autre. L\'interrupteur lin/log à côté de chaque légende commute l\'échelle de couleur de cette grille — le logarithmique est retenu par défaut quand quelques pics écraseraient toutes les autres heures. Cliquez une case pour ouvrir le détail ASH de cette heure.',
    'demo_oracle.heat_max'                         => 'max',
    'demo_oracle.heat_scale_auto'                  => 'retenu par défaut pour cette grille',
    'demo_oracle.heat_scale_hint'                  => 'Échelle de couleur de cette grille. Le logarithmique est choisi par défaut quand beaucoup d\'heures faibles côtoient quelques pics (maximum au moins 5 fois l\'heure médiane), le linéaire sinon. Le choix ne vaut que pour l\'affichage courant.',
    'demo_oracle.heat_scale_lin'                   => 'Échelle linéaire : la teinte est proportionnelle au nombre d\'échantillons',
    'demo_oracle.heat_scale_log'                   => 'Échelle logarithmique : détaille les heures peu chargées, écrasées par les pics en linéaire',
    'demo_oracle.history_days_hint'                => '— la profondeur est figée à {days} jours',
    'demo_oracle.indicators_advisors'              => 'Advisors mémoire',
    'demo_oracle.indicators_fetch_error'           => 'Lecture de V$SYSSTAT impossible : les ratios ne peuvent pas etre calcules.',
    'demo_oracle.indicators_goal'                  => 'Objectif',
    'demo_oracle.indicators_help'                  => 'Aide',
    'demo_oracle.indicators_levers'                => 'Principaux leviers',
    'demo_oracle.indicators_no_advisor'            => 'Aucun advisor mémoire actif sur cette base.',
    'demo_oracle.indicators_ratios'                => 'Ratios classiques (cumulés depuis le startup)',
    'demo_oracle.indicators_title'                 => 'Indicateurs',
    'demo_oracle.intro'                            => 'Démonstration du module Oracle. Les rapports de consultation sont identiques à ceux de la version complète ; aucune action sur la base n\'est possible, et certaines pages sont réservées à la version complète.',
    'demo_oracle.locks_blocked'                    => 'Bloquée',
    'demo_oracle.locks_blocked_by'                 => 'bloquée par',
    'demo_oracle.locks_blocker'                    => 'Bloqueur',
    'demo_oracle.locks_hint'                       => 'Sessions impliquées dans un blocage (auto-rafraîchi 10 s, RAC-aware). Cliquer sur un SQL_ID ouvre le détail SQL ; le bouton 🗡 kill ne s\'affiche qu\'avec un droit DBA / oracle_admin.',
    'demo_oracle.locks_holds_blocking'             => 'détient un lock bloquant',
    'demo_oracle.locks_no_blocking'                => 'Aucune session bloquante en cours.',
    'demo_oracle.locks_title'                      => 'Diagnostic des verrous',
    'demo_oracle.locks_wait'                       => 'attente',
    'demo_oracle.mem_col_component'                => 'Composant',
    'demo_oracle.mem_col_current'                  => 'Taille actuelle',
    'demo_oracle.mem_col_last_op'                  => 'Dernière opération',
    'demo_oracle.mem_col_max'                      => 'Max. historique',
    'demo_oracle.mem_col_min'                      => 'Min. historique',
    'demo_oracle.mem_col_resizes'                  => 'Redimensionnements',
    'demo_oracle.mem_col_specified'                => 'Valeur configurée',
    'demo_oracle.mem_pga_allocated'                => 'PGA allouée',
    'demo_oracle.mem_pga_auto_target'              => 'Cible auto (ASMM)',
    'demo_oracle.mem_pga_cache_hit'                => 'Taux de cache',
    'demo_oracle.mem_pga_disabled'                 => 'Gestion manuelle active (PGA_AGGREGATE_TARGET = 0)',
    'demo_oracle.mem_pga_freeable'                 => 'PGA libérable',
    'demo_oracle.mem_pga_inuse'                    => 'En cours d\'utilisation',
    'demo_oracle.mem_pga_max'                      => 'Maximum historique',
    'demo_oracle.mem_pga_processes'                => 'Processus',
    'demo_oracle.mem_pga_target'                   => 'Cible PGA',
    'demo_oracle.mem_pga_title'                    => 'PGA — Program Global Area',
    'demo_oracle.mem_sga_composition'              => 'Composition de la SGA',
    'demo_oracle.mem_sga_dynamic'                  => 'Composants dynamiques',
    'demo_oracle.mem_sga_free'                     => 'Mémoire libre',
    'demo_oracle.mem_sga_title'                    => 'SGA — Shared Global Area',
    'demo_oracle.mem_sga_total'                    => 'Total SGA',
    'demo_oracle.mem_title'                        => 'Mémoire PGA / SGA',
    'demo_oracle.nav_readonly'                     => 'lecture seule',
    'demo_oracle.nav_reports'                      => 'Menu des rapports',
    'demo_oracle.nls_col_db'                       => 'Base de données',
    'demo_oracle.nls_col_instance'                 => 'Instance',
    'demo_oracle.nls_col_param'                    => 'Paramètre',
    'demo_oracle.nls_col_session'                  => 'Session',
    'demo_oracle.nls_filter_diff'                  => 'Différences uniquement',
    'demo_oracle.nls_filter_placeholder'           => 'Le paramètre contient…',
    'demo_oracle.nls_params'                       => 'Paramètres NLS',
    'demo_oracle.no'                               => 'Non',
    'demo_oracle.no_db'                            => 'Aucune base déclarée. Demandez à un administrateur d\'en ajouter une.',
    'demo_oracle.no_db_manager'                    => 'Aucune base déclarée. Ajoutez-en une pour commencer.',
    'demo_oracle.no_params'                        => 'Aucun paramètre trouvé.',
    'demo_oracle.oci8_missing'                     => 'L\'extension PHP oci8 n\'est pas chargée. Le module ne peut pas se connecter à Oracle.',
    'demo_oracle.overview_connection'              => 'Base connectée',
    'demo_oracle.overview_intro'                   => 'Les rapports accessibles ci-dessus fonctionnent réellement, sur la base connectée. Trois différences avec la version complète :',
    'demo_oracle.overview_limit'                   => 'Les fenêtres d\'analyse et les filtres sont plafonnés.',
    'demo_oracle.overview_locked'                  => 'Les sections marquées d\'un cadenas présentent la fonction sans l\'exécuter.',
    'demo_oracle.overview_readonly'                => 'Consultation seule : aucune action n\'est exécutable sur la base.',
    'demo_oracle.overview_scope'                   => 'Ce que couvre la démonstration',
    'demo_oracle.param_type_1'                     => 'Booléen',
    'demo_oracle.param_type_2'                     => 'Chaîne',
    'demo_oracle.param_type_3'                     => 'Entier',
    'demo_oracle.param_type_4'                     => 'Fichier paramètre',
    'demo_oracle.param_type_5'                     => 'Réservé',
    'demo_oracle.param_type_6'                     => 'Grand entier',
    'demo_oracle.reco_action_grow'                 => 'Agrandir',
    'demo_oracle.reco_action_shrink'               => 'Réduire',
    'demo_oracle.reco_col_action'                  => 'Action',
    'demo_oracle.reco_col_command'                 => 'Commande proposée',
    'demo_oracle.reco_col_reason'                  => 'Motif',
    'demo_oracle.reco_col_tablespace'              => 'Tablespace',
    'demo_oracle.reco_disclaimer'                  => 'Ces recommandations sont indicatives. Validez avec votre politique de capacité avant exécution.',
    'demo_oracle.reco_redo_cmd'                    => 'Recréer chaque groupe avec : ALTER DATABASE ADD LOGFILE GROUP <n> SIZE %s;',
    'demo_oracle.reco_redo_infrequent'             => '%.2f switches/heure (dernières 24 h) — les logs sont surdimensionnés',
    'demo_oracle.reco_redo_resize'                 => 'Redimensionnement recommandé',
    'demo_oracle.reco_redo_target'                 => 'Taille cible recommandée : %s par groupe',
    'demo_oracle.reco_redo_title'                  => 'Redimensionnement des redo logs',
    'demo_oracle.reco_redo_too_frequent'           => '%.1f switches/heure (dernières 24 h) — les logs sont trop petits',
    'demo_oracle.reco_thread_explain'              => 'Ces threads n\'ont aucune instance RAC active. Les groupes de redo correspondants peuvent être supprimés après vérification.',
    'demo_oracle.reco_thread_groups'               => 'groupes à supprimer : %s',
    'demo_oracle.reco_thread_inactive'             => 'Threads sans instance active détectés',
    'demo_oracle.reco_thread_title'                => 'Threads de redo inactifs',
    'demo_oracle.reco_title'                       => 'Recommandations',
    'demo_oracle.reco_ts_full'                     => 'Utilisation à %d %% — espace libre insuffisant',
    'demo_oracle.reco_ts_full_maxreached'          => 'Utilisation ≥ 85 % et maxsize bientôt atteint',
    'demo_oracle.reco_ts_full_noautoext'           => 'Utilisation ≥ 85 % et autoextend désactivé',
    'demo_oracle.reco_ts_oversized'                => 'Seulement %d %% utilisé — tablespace surdimensionné',
    'demo_oracle.reco_ts_title'                    => 'Redimensionnement des tablespaces',
    'demo_oracle.redo_col_archived'                => 'Archivé',
    'demo_oracle.redo_col_files'                   => 'Fichiers membres',
    'demo_oracle.redo_col_group'                   => 'Groupe',
    'demo_oracle.redo_col_members'                 => 'Membres',
    'demo_oracle.redo_col_size'                    => 'Taille',
    'demo_oracle.redo_col_status'                  => 'Statut',
    'demo_oracle.redo_col_thread'                  => 'Thread',
    'demo_oracle.redo_groups'                      => 'Groupes',
    'demo_oracle.redo_log_size'                    => 'Taille d\'un log',
    'demo_oracle.redo_members_per_group'           => 'Membres / groupe',
    'demo_oracle.redo_switches_24h'                => 'Switches (24 h)',
    'demo_oracle.redo_switches_per_hour'           => 'Switches / heure',
    'demo_oracle.redo_threads'                     => 'Threads',
    'demo_oracle.report_config'                    => 'Configuration',
    'demo_oracle.report_history'                   => 'Historique',
    'demo_oracle.report_overview'                  => 'Vue d\'ensemble',
    'demo_oracle.report_realtime'                  => 'Temps réel',
    'demo_oracle.reports_ash'                      => 'Rapport ASH Oracle',
    'demo_oracle.reports_awr'                      => 'Rapport AWR',
    'demo_oracle.reports_menu'                     => 'Rapports Oracle',
    'demo_oracle.reports_sqlmon'                   => 'SQL Monitor',
    'demo_oracle.restorepoints_title'              => 'Points de restauration',
    'demo_oracle.rt_all_services'                  => 'Tous les services',
    'demo_oracle.rt_dim_event'                     => 'Événement',
    'demo_oracle.rt_dim_inst_id'                   => 'Instance',
    'demo_oracle.rt_dim_module'                    => 'Module',
    'demo_oracle.rt_dim_program'                   => 'Programme',
    'demo_oracle.rt_dim_session_state'             => 'État de session',
    'demo_oracle.rt_dim_sql_id'                    => 'SQL ID',
    'demo_oracle.rt_dim_wait_class'                => 'Classe d\'attente',
    'demo_oracle.rt_state_active'                  => 'Actives',
    'demo_oracle.rt_state_all'                     => 'Toutes',
    'demo_oracle.rt_state_inactive'                => 'Inactives',
    'demo_oracle.rt_window_hint'                   => '— la fenêtre est figée à 30 minutes',
    'demo_oracle.save'                             => 'Enregistrer',
    'demo_oracle.section_wip'                      => 'Cette section n\'est pas encore disponible dans cette version de la démonstration.',
    'demo_oracle.select_db_first'                  => 'Sélectionnez d\'abord une base de données.',
    'demo_oracle.sess_active'                      => 'Sessions actives',
    'demo_oracle.sess_active_hint'                 => 'gv$session — status=ACTIVE, type=USER',
    'demo_oracle.sess_duration'                    => 'Durée',
    'demo_oracle.sess_eta'                         => 'Fin estimée',
    'demo_oracle.sess_inst'                        => 'Inst.',
    'demo_oracle.sess_kill'                        => 'Killer',
    'demo_oracle.sess_kill_demo'                   => 'Disponible seulement dans la version complète, pour les profils DBA et DEV',
    'demo_oracle.sess_longops'                     => 'Opérations longues en cours',
    'demo_oracle.sess_longops_hint'                => 'gv$session_longops — sofar < totalwork',
    'demo_oracle.sess_no_data'                     => 'Aucune session active',
    'demo_oracle.sess_no_longops'                  => 'Aucune opération longue en cours',
    'demo_oracle.sess_op_name'                     => 'Opération',
    'demo_oracle.sess_progress'                    => 'Avancement',
    'demo_oracle.sess_refresh'                     => 'Refresh',
    'demo_oracle.sess_schema'                      => 'Schéma',
    'demo_oracle.sess_sid_ser'                     => 'SID, Serial',
    'demo_oracle.sess_sql_id'                      => 'SQL ID',
    'demo_oracle.sess_sql_preview'                 => 'SQL en cours',
    'demo_oracle.sess_started'                     => 'Début',
    'demo_oracle.sess_target'                      => 'Cible',
    'demo_oracle.sess_title'                       => 'Sessions actives',
    'demo_oracle.sess_updated'                     => 'Mise à jour',
    'demo_oracle.sess_wait_class'                  => 'Classe d\'attente',
    'demo_oracle.sess_wait_event'                  => 'Événement',
    'demo_oracle.sqld_bad_id'                      => 'SQL_ID absent ou mal formé.',
    'demo_oracle.sqld_in_memory'                   => 'En mémoire',
    'demo_oracle.sqld_no_awr'                      => 'AWR indisponible',
    'demo_oracle.sqld_not_found'                   => 'SQL non trouvé',
    'demo_oracle.sqld_objects_detail'              => 'La version complète liste les tables et index touchés par le plan, avec leurs statistiques, leurs colonnes projetées, jointes et filtrées, et les index réellement empruntés.',
    'demo_oracle.sqld_planhist_detail'             => 'La version complète montre quel plan a été utilisé à quel instantané AWR, ce qui met en évidence les changements de plan et leur effet sur les temps de réponse.',
    'demo_oracle.sqld_stats_detail'                => 'La version complète croise l\'efficacité en mémoire et l\'historique AWR pour donner, par plan, les exécutions, le temps écoulé, le CPU, les lectures logiques et physiques.',
    'demo_oracle.sqld_tab_efficiency'              => 'Efficacité des plans',
    'demo_oracle.sqld_tab_loadhist'                => 'Historique des charges',
    'demo_oracle.sqld_tab_objects'                 => 'Objets liés',
    'demo_oracle.sqld_tab_planhist'                => 'Historique des plans',
    'demo_oracle.sqld_tab_plans'                   => 'Plans d\'exécution',
    'demo_oracle.sqld_tab_sqlmon'                  => 'SQL Monitoring',
    'demo_oracle.sqld_tab_stats'                   => 'Statistiques d\'exécution',
    'demo_oracle.sqld_tab_text'                    => 'Texte SQL',
    'demo_oracle.sqld_title'                       => 'Détail SQL',
    'demo_oracle.test_absent_readonly'             => 'absent — lecture seule, ce qui suffit à la démonstration',
    'demo_oracle.test_bash_snapper'                => 'sw$bash_snapper',
    'demo_oracle.test_connection'                  => 'Tester la connexion',
    'demo_oracle.test_dba_role'                    => 'Rôle DBA',
    'demo_oracle.test_decrypt_failed'              => 'Le mot de passe enregistré n\'a pas pu être déchiffré (extension PHP sodium absente ?). Ressaisissez-le pour tester.',
    'demo_oracle.test_diag_pack'                   => 'Diagnostic Pack',
    'demo_oracle.test_failed'                      => 'Échec de la connexion',
    'demo_oracle.test_installed'                   => 'installé',
    'demo_oracle.test_licensed'                    => 'sous licence',
    'demo_oracle.test_missing_params'              => 'Paramètres de connexion incomplets.',
    'demo_oracle.test_no_ash_source'               => 'Sans Diagnostic Pack ni sw$bash_snapper, les rapports temps réel et historique n\'auront aucune donnée à montrer.',
    'demo_oracle.test_not_installed'               => 'non installé',
    'demo_oracle.test_not_licensed'                => 'non licencié',
    'demo_oracle.test_oci8_missing'                => 'L\'extension OCI8 n\'est pas installée sur ce serveur.',
    'demo_oracle.test_present'                     => 'présent',
    'demo_oracle.test_success'                     => 'Connexion réussie',
    'demo_oracle.test_testing'                     => 'Test en cours…',
    'demo_oracle.title'                            => 'Démo Oracle',
    'demo_oracle.tns_alias'                        => 'Alias TNS',
    'demo_oracle.ts_allocated'                     => 'Alloué',
    'demo_oracle.ts_data_title'                    => 'Tablespaces de données',
    'demo_oracle.ts_encrypted'                     => 'Tablespace chiffré (TDE)',
    'demo_oracle.ts_free'                          => 'Libre',
    'demo_oracle.ts_no_data'                       => 'Aucune donnée disponible.',
    'demo_oracle.ts_redo_title'                    => 'Redo Logs',
    'demo_oracle.ts_report'                        => 'Tablespaces et redo logs',
    'demo_oracle.ts_sort_by'                       => 'Trier par :',
    'demo_oracle.ts_sort_free'                     => 'Espace libre',
    'demo_oracle.ts_sort_hint'                     => '— le tri du graphique est figé sur la taille totale',
    'demo_oracle.ts_sort_name'                     => 'Nom',
    'demo_oracle.ts_sort_total'                    => 'Taille totale',
    'demo_oracle.ts_temp_no_usage'                 => 'Utilisation réelle non disponible (accès à V$TEMP_SPACE_HEADER requis) — taille allouée affichée.',
    'demo_oracle.ts_temp_title'                    => 'Tablespaces temporaires',
    'demo_oracle.ts_used'                          => 'Utilisé',
    'demo_oracle.wallet'                           => 'Portefeuille (.zip)',
    'demo_oracle.wallet_bad_zip'                   => 'Archive illisible : ce fichier n\'est pas un ZIP valide.',
    'demo_oracle.wallet_current'                   => 'Portefeuille en place',
    'demo_oracle.wallet_extracted'                 => 'Portefeuille extrait.',
    'demo_oracle.wallet_hint'                      => 'L\'archive téléchargée depuis la console OCI. Seuls tnsnames.ora, sqlnet.ora et les fichiers de clés en sont extraits, hors arborescence web.',
    'demo_oracle.wallet_mkdir_failed'              => 'Le répertoire du portefeuille n\'a pas pu être créé sous securite/.',
    'demo_oracle.wallet_no_tnsnames'               => 'Archive refusée : aucun tnsnames.ora. Ce n\'est pas un portefeuille Oracle Cloud.',
    'demo_oracle.wallet_no_zip_ext'                => 'L\'extension PHP zip n\'est pas installée : le portefeuille ne peut pas être extrait.',
    'demo_oracle.wallet_replace'                   => 'choisissez un fichier pour le remplacer',
    'demo_oracle.wallet_too_big'                   => 'Archive refusée : contenu décompressé trop volumineux pour un portefeuille.',
    'demo_oracle.wallet_unsafe_entry'              => 'Archive refusée : elle contient une entrée dont le chemin sort du répertoire d\'extraction.',
    'demo_oracle.yes'                              => 'Oui',
    'role.demo_oracle_admin'                       => 'Administrateur Démo Oracle',
    'role.demo_oracle_user'                        => 'Utilisateur Démo Oracle',

    // SQL Monitor natif — sans licence Oracle
    'demo_oracle.sqlmon_filter'                     => 'Filtrer',
    'demo_oracle.sqlmon_updated'                    => 'à jour à',
    'demo_oracle.sqlmon_refresh_in'                 => 'rafraîchissement dans',
    'demo_oracle.sqlmon_refresh_hint'               => 'La version complète rafraîchit toutes les 5 secondes, et accumule donc deux fois plus d\'échantillons.',
    'demo_oracle.sqlmon_restart'                    => 'Relancer le suivi',
    'demo_oracle.sqlmon_finished'                   => 'Exécution terminée — suivi arrêté.',
    'demo_oracle.sqlmon_abandoned'                  => 'Suivi arrêté : plus rien ne change.',
    'demo_oracle.sqlmon_samples'                    => 'relevés',
    'demo_oracle.sqlmon_src_session'                => 'Sans licence',
    'demo_oracle.sqlmon_src_hint_session'           => 'Plan estimé, activité échantillonnée depuis GV$SESSION — aucun pack Oracle requis.',
    'demo_oracle.sqlmon_licensed_note'              => 'Cette base est licenciée Tuning Pack : la version complète y lirait le vrai Real-Time SQL Monitoring, avec les lignes réellement produites et les démarrages par opération.',
    'demo_oracle.sqlmon_activity_partial'           => 'La ligne de plan active n\'est pas exploitable sur cette base : l\'activité est présentée globalement, sans attribution ligne à ligne.',
    'demo_oracle.sqlmon_activity_unattributed'      => 'Échantillons sans ligne de plan connue',
    'demo_oracle.sqlmon_counter_rtsm_only'          => 'Ce compteur n\'existe que sous Real-Time SQL Monitoring (Tuning Pack).',
    'demo_oracle.sqlmon_status_deduced'             => '(fin déduite de la disparition des sessions)',
    'demo_oracle.sqlmon_exec_running'               => 'En cours',
    'demo_oracle.sqlmon_exec_done'                  => 'Terminée',
    'demo_oracle.sqlmon_exec_none'                  => 'Aucune exécution en cours pour ce SQL.',
    'demo_oracle.sqlmon_exec_loading'               => 'Chargement…',
    'demo_oracle.sqlmon_exec_sessions'              => 'sessions',
    'demo_oracle.sqlmon_exec_open'                  => 'Suivre',
    'demo_oracle.sqlmon_exec_begin'                 => 'Début',
    'demo_oracle.sqlmon_exec_status'                => 'Statut',
    'demo_oracle.sqlmon_exec_list'                  => 'Exécutions',
    'demo_oracle.sqlmon_exec_pick'                  => 'Choisir une exécution pour la suivre en continu.',
    'demo_oracle.sqlmon_running_only'               => 'Sans licence Oracle, il n\'existe aucun inventaire persistant : seules les exécutions EN COURS sont visibles. Une exécution terminée ne laisse aucune trace.',
    'demo_oracle.sqlmon_limit_hint'                 => 'La version complète liste 100 exécutions, et retrouve aussi celles qui sont terminées.',
    'demo_oracle.sqlmon_col_line'                   => 'ID',
    'demo_oracle.sqlmon_col_operation'              => 'Opération',
    'demo_oracle.sqlmon_col_object'                 => 'Objet',
    'demo_oracle.sqlmon_col_est_rows'               => 'Lignes est.',
    'demo_oracle.sqlmon_col_act_rows'               => 'Lignes réelles',
    'demo_oracle.sqlmon_col_starts'                 => 'Démarrages',
    'demo_oracle.sqlmon_col_mem'                    => 'Mémoire',
    'demo_oracle.sqlmon_col_temp'                   => 'Temporaire',
    'demo_oracle.sqlmon_col_activity'               => 'Activité',
    'demo_oracle.sqlmon_plan_title'                 => 'Plan d\'exécution',
    'demo_oracle.sqlmon_plan_hint'                  => 'La version complète n\'a pas de plafond de lignes de plan, et affiche les lignes réellement produites.',
    'demo_oracle.sqlmon_plan_none'                  => 'Aucun plan disponible pour cette exécution.',
    'demo_oracle.sqlmon_plan_truncated'             => 'Plan tronqué : seules les 200 premières lignes sont affichées.',
    'demo_oracle.sqlmon_longops_title'              => 'Opérations longues',
    'demo_oracle.sqlmon_longops_none'               => 'Aucune opération longue déclarée pour cette exécution.',
    'demo_oracle.sqlmon_longops_eta'                => 'reste',
    'demo_oracle.sqlmon_tot_elapsed'                => 'Écoulé',
    'demo_oracle.sqlmon_tot_cpu'                    => 'CPU',
    'demo_oracle.sqlmon_tot_io'                     => 'E/S',
    'demo_oracle.sqlmon_tot_lio'                    => 'Lectures logiques',
    'demo_oracle.sqlmon_tot_pio'                    => 'Lectures physiques',
    'demo_oracle.sqlmon_tot_read'                   => 'Lu',
    'demo_oracle.sqlmon_scope_exec'                 => 'Totaux de cette exécution.',
    'demo_oracle.sqlmon_scope_delta'                => 'Totaux déduits du delta des statistiques de session depuis le premier relevé.',
    'demo_oracle.sqlmon_bad_sqlid'                  => 'SQL_ID invalide (13 caractères alphanumériques attendus).',

    // Provenance des donnees historisees
    'demo_oracle.sqld_src_memory'                   => 'Mémoire',
    'demo_oracle.sqld_src_awr'                      => 'AWR',
    'demo_oracle.sqld_src_bash'                     => 'sw$bash_snapper',
    'demo_oracle.sqld_src_none'                     => 'aucune',
    'demo_oracle.sqld_src_none_detail'              => 'Aucune source historique : ni Diagnostic Pack, ni sw$bash_snapper.',
    'demo_oracle.sqld_src_empty'                    => 'Aucune donnée historisée pour ce SQL_ID (source : {src}).',
    'demo_oracle.sqld_src_history'                  => 'Onglets historiques :',
    'demo_oracle.sqld_src_basis_cloud'              => 'connexion Oracle Cloud : pack présumé acquis, le paramètre d\'instance n\'est pas lu',
    'demo_oracle.sqld_src_basis_param'              => 'control_management_pack_access = {param}',
    'demo_oracle.sqld_src_bash_zeros'               => 'sw$bash_snapper échantillonne les sessions : lectures logiques, lectures physiques, lignes, parses et fetches ne sont pas mesurés et restent à zéro.',
    'demo_oracle.sqld_src_basis_unreadable'         => 'control_management_pack_access illisible depuis ce compte : aucun pack presume',
];
