[
  {
    "key": "pstq_admin_page_title",
    "tooltipKey": "pstq_admin_page_title_tooltip",
    "label": {
      "en": "PSTQ ranking score calculator",
      "fr": "Calculateur de pointage PSTQ"
    },
    "tooltip": {
      "en": "Content-management page for MIFI PSTQ (Programme de sélection des travailleurs qualifiés) rulesets that drive the user-portal calculator.",
      "fr": "Page de gestion de contenu des jeux de règles MIFI du PSTQ (Programme de sélection des travailleurs qualifiés) qui alimentent le calculateur du portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_page_subtitle",
    "tooltipKey": "pstq_admin_page_subtitle_tooltip",
    "label": {
      "en": "Manage MIFI-exact rulesets: questions, option points, tooltips, UI copy, French converter, and form assets.",
      "fr": "Gérer les jeux de règles exacts MIFI : questions, points des options, infobulles, textes de l’interface, convertisseur de français et formulaires."
    },
    "tooltip": {
      "en": "Describes the tables you can edit on this page before publishing a ruleset to the user portal.",
      "fr": "Décrit les tableaux que vous pouvez modifier sur cette page avant de publier un jeu de règles dans le portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_lang_en",
    "tooltipKey": "pstq_admin_lang_en_tooltip",
    "label": {
      "en": "EN",
      "fr": "EN"
    },
    "tooltip": {
      "en": "Switch the admin page chrome to English. Ruleset data fields stay bilingual.",
      "fr": "Basculer l’interface d’administration en anglais. Les champs de données du jeu de règles restent bilingues."
    }
  },
  {
    "key": "pstq_admin_lang_fr",
    "tooltipKey": "pstq_admin_lang_fr_tooltip",
    "label": {
      "en": "FR",
      "fr": "FR"
    },
    "tooltip": {
      "en": "Switch the admin page chrome to French. Ruleset data fields stay bilingual.",
      "fr": "Basculer l’interface d’administration en français. Les champs de données du jeu de règles restent bilingues."
    }
  },
  {
    "key": "pstq_admin_ruleset",
    "tooltipKey": "pstq_admin_ruleset_tooltip",
    "label": {
      "en": "Ruleset",
      "fr": "Jeu de règles"
    },
    "tooltip": {
      "en": "Select which PSTQ ruleset to view or edit. The current published ruleset is what the user portal loads.",
      "fr": "Sélectionnez le jeu de règles PSTQ à consulter ou à modifier. Le jeu publié courant est celui chargé par le portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_ruleset_placeholder",
    "tooltipKey": "pstq_admin_ruleset_placeholder_tooltip",
    "label": {
      "en": "Select a ruleset",
      "fr": "Sélectionner un jeu de règles"
    },
    "tooltip": {
      "en": "Choose a draft or published ruleset from the list.",
      "fr": "Choisissez un jeu de règles brouillon ou publié dans la liste."
    }
  },
  {
    "key": "pstq_admin_loading",
    "tooltipKey": "pstq_admin_loading_tooltip",
    "label": {
      "en": "Loading…",
      "fr": "Chargement…"
    },
    "tooltip": {
      "en": "The page is loading ruleset data from the server.",
      "fr": "La page charge les données du jeu de règles depuis le serveur."
    }
  },
  {
    "key": "pstq_admin_refresh",
    "tooltipKey": "pstq_admin_refresh_tooltip",
    "label": {
      "en": "Refresh",
      "fr": "Actualiser"
    },
    "tooltip": {
      "en": "Reload the ruleset list from the server without publishing changes.",
      "fr": "Recharger la liste des jeux de règles depuis le serveur sans publier de changements."
    }
  },
  {
    "key": "pstq_admin_create_draft",
    "tooltipKey": "pstq_admin_create_draft_tooltip",
    "label": {
      "en": "Create draft",
      "fr": "Créer un brouillon"
    },
    "tooltip": {
      "en": "Create an empty draft ruleset. Clone the current ruleset instead if you want a full copy.",
      "fr": "Créer un jeu de règles brouillon vide. Clonez plutôt le jeu courant si vous voulez une copie complète."
    }
  },
  {
    "key": "pstq_admin_clone",
    "tooltipKey": "pstq_admin_clone_tooltip",
    "label": {
      "en": "Clone",
      "fr": "Cloner"
    },
    "tooltip": {
      "en": "Copy this ruleset into a new editable draft, including questions, options, tooltips, occupations, French conversion, regulated professions, and terms.",
      "fr": "Copier ce jeu de règles dans un nouveau brouillon modifiable, y compris questions, options, infobulles, professions, conversion du français, professions réglementées et termes."
    }
  },
  {
    "key": "pstq_admin_publish",
    "tooltipKey": "pstq_admin_publish_tooltip",
    "label": {
      "en": "Publish",
      "fr": "Publier"
    },
    "tooltip": {
      "en": "Make this draft the current published ruleset for the user-portal PSTQ calculator. Published rulesets become read-only.",
      "fr": "Faire de ce brouillon le jeu de règles publié courant pour le calculateur PSTQ du portail utilisateur. Les jeux publiés deviennent en lecture seule."
    }
  },
  {
    "key": "pstq_admin_status_draft",
    "tooltipKey": "pstq_admin_status_draft_tooltip",
    "label": {
      "en": "Draft",
      "fr": "Brouillon"
    },
    "tooltip": {
      "en": "This ruleset is a draft and can be edited. It is not served to the user portal until you publish it.",
      "fr": "Ce jeu de règles est un brouillon et peut être modifié. Il n’est pas servi au portail utilisateur tant que vous ne le publiez pas."
    }
  },
  {
    "key": "pstq_admin_status_published",
    "tooltipKey": "pstq_admin_status_published_tooltip",
    "label": {
      "en": "Published",
      "fr": "Publié"
    },
    "tooltip": {
      "en": "This ruleset is published and read-only. Clone it to a draft to make changes.",
      "fr": "Ce jeu de règles est publié et en lecture seule. Clonez-le en brouillon pour le modifier."
    }
  },
  {
    "key": "pstq_admin_status_current",
    "tooltipKey": "pstq_admin_status_current_tooltip",
    "label": {
      "en": "Current",
      "fr": "Courant"
    },
    "tooltip": {
      "en": "This is the current published ruleset loaded by the user-portal PSTQ calculator.",
      "fr": "Il s’agit du jeu de règles publié courant chargé par le calculateur PSTQ du portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_counts",
    "tooltipKey": "pstq_admin_counts_tooltip",
    "label": {
      "en": "{questions} questions · {options} options · {tooltips} tooltips · {terms} terms · {occupations} occupations · {french} French · {regulated} regulated",
      "fr": "{questions} questions · {options} options · {tooltips} infobulles · {terms} termes · {occupations} professions · {french} français · {regulated} réglementées"
    },
    "tooltip": {
      "en": "Row counts in this ruleset. Publish requires at least one row in each required table.",
      "fr": "Nombre de lignes dans ce jeu de règles. La publication exige au moins une ligne dans chaque tableau requis."
    }
  },
  {
    "key": "pstq_admin_read_only_banner",
    "tooltipKey": "pstq_admin_read_only_banner_tooltip",
    "label": {
      "en": "This ruleset is published and read-only. Clone it to a draft to edit.",
      "fr": "Ce jeu de règles est publié et en lecture seule. Clonez-le en brouillon pour le modifier."
    },
    "tooltip": {
      "en": "Published rulesets cannot be edited in place. Clone first, then publish the draft when ready.",
      "fr": "Les jeux publiés ne peuvent pas être modifiés sur place. Clonez d’abord, puis publiez le brouillon lorsqu’il est prêt."
    }
  },
  {
    "key": "pstq_admin_no_rulesets",
    "tooltipKey": "pstq_admin_no_rulesets_tooltip",
    "label": {
      "en": "No rulesets yet. Create a draft or seed the published ruleset from the backend.",
      "fr": "Aucun jeu de règles pour l’instant. Créez un brouillon ou semez le jeu publié depuis le serveur."
    },
    "tooltip": {
      "en": "The database has no PSTQ rulesets. Use Create draft or run PstqRulesetSeeder.",
      "fr": "La base de données n’a aucun jeu de règles PSTQ. Utilisez Créer un brouillon ou semez via PstqRulesetSeeder."
    }
  },
  {
    "key": "pstq_admin_select_ruleset_hint",
    "tooltipKey": "pstq_admin_select_ruleset_hint_tooltip",
    "label": {
      "en": "Select a ruleset to manage.",
      "fr": "Sélectionnez un jeu de règles à gérer."
    },
    "tooltip": {
      "en": "Choose a ruleset from the dropdown above to load its tables.",
      "fr": "Choisissez un jeu de règles dans la liste ci-dessus pour charger ses tableaux."
    }
  },
  {
    "key": "pstq_admin_loading_ruleset",
    "tooltipKey": "pstq_admin_loading_ruleset_tooltip",
    "label": {
      "en": "Loading ruleset…",
      "fr": "Chargement du jeu de règles…"
    },
    "tooltip": {
      "en": "Fetching the selected ruleset and its row counts.",
      "fr": "Chargement du jeu de règles sélectionné et de ses totaux."
    }
  },
  {
    "key": "pstq_admin_tab_settings",
    "tooltipKey": "pstq_admin_tab_settings_tooltip",
    "label": {
      "en": "Settings",
      "fr": "Paramètres"
    },
    "tooltip": {
      "en": "Disclaimer, provenance, scoring caps, routing, and structured constants for this ruleset.",
      "fr": "Avertissement, provenance, plafonds de pointage, cheminement et constantes structurées de ce jeu de règles."
    }
  },
  {
    "key": "pstq_admin_tab_questions",
    "tooltipKey": "pstq_admin_tab_questions_tooltip",
    "label": {
      "en": "Questions",
      "fr": "Questions"
    },
    "tooltip": {
      "en": "MIFI layout questions (field key, section, French and English wording, routing).",
      "fr": "Questions de la mise en page MIFI (clé de champ, section, libellés français et anglais, cheminement)."
    }
  },
  {
    "key": "pstq_admin_tab_options",
    "tooltipKey": "pstq_admin_tab_options_tooltip",
    "label": {
      "en": "Options / points",
      "fr": "Options / points"
    },
    "tooltip": {
      "en": "Answer choices and points for WITHOUT spouse (ME-0104) and WITH spouse (ME-0120).",
      "fr": "Choix de réponses et points pour SANS personne conjointe (ME-0104) et AVEC personne conjointe (ME-0120)."
    }
  },
  {
    "key": "pstq_admin_tab_tooltips",
    "tooltipKey": "pstq_admin_tab_tooltips_tooltip",
    "label": {
      "en": "Tooltips",
      "fr": "Infobulles"
    },
    "tooltip": {
      "en": "Field help tips shown on the user-portal calculator (French and English).",
      "fr": "Infobulles d’aide affichées sur le calculateur du portail utilisateur (français et anglais)."
    }
  },
  {
    "key": "pstq_admin_tab_terms",
    "tooltipKey": "pstq_admin_tab_terms_tooltip",
    "label": {
      "en": "UI copy",
      "fr": "Textes de l’interface"
    },
    "tooltip": {
      "en": "Bilingual chrome strings for the user-portal calculator (hero, mode cards, toolbar, summary).",
      "fr": "Textes bilingues de l’interface du calculateur du portail utilisateur (bandeau, cartes de mode, barre d’outils, résumé)."
    }
  },
  {
    "key": "pstq_admin_tab_occupations",
    "tooltipKey": "pstq_admin_tab_occupations_tooltip",
    "label": {
      "en": "Occupations",
      "fr": "Professions"
    },
    "tooltip": {
      "en": "Labour-market diagnostics rows: NOC (CNP), titles, and official diagnostic code.",
      "fr": "Lignes de diagnostic du marché du travail : CNP (NOC), titres et code officiel de diagnostic."
    }
  },
  {
    "key": "pstq_admin_tab_french",
    "tooltipKey": "pstq_admin_tab_french_tooltip",
    "label": {
      "en": "French converter",
      "fr": "Convertisseur de français"
    },
    "tooltip": {
      "en": "Score-to-band maps for TEF, TCF, and DELF/DALF used by the French evidence converter.",
      "fr": "Tables de conversion des résultats vers les bandes pour le TEF, le TCF et le DELF/DALF."
    }
  },
  {
    "key": "pstq_admin_tab_regulated",
    "tooltipKey": "pstq_admin_tab_regulated_tooltip",
    "label": {
      "en": "Regulated",
      "fr": "Professions réglementées"
    },
    "tooltip": {
      "en": "Regulated occupation mappings (profession, authority, jobs) for the user-portal references modal.",
      "fr": "Correspondances des professions réglementées (profession, autorité, emplois) pour la fenêtre de références du portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_tab_forms",
    "tooltipKey": "pstq_admin_tab_forms_tooltip",
    "label": {
      "en": "Form assets",
      "fr": "Formulaires"
    },
    "tooltip": {
      "en": "Blank MIFI self-evaluation form codes and PDF filenames (ME-0104 and ME-0120).",
      "fr": "Codes et noms de fichiers PDF des formulaires d’autoévaluation MIFI (ME-0104 et ME-0120)."
    }
  },
  {
    "key": "pstq_admin_option_without",
    "tooltipKey": "pstq_admin_option_without_tooltip",
    "label": {
      "en": "WITHOUT an accompanying spouse (ME-0104)",
      "fr": "SANS une personne conjointe qui vous accompagne dans le projet d’immigration (ME-0104)"
    },
    "tooltip": {
      "en": "Option points for the MIFI self-evaluation form without an accompanying spouse (ME-0104).",
      "fr": "Points des options du formulaire d’autoévaluation MIFI sans personne conjointe qui accompagne (ME-0104)."
    }
  },
  {
    "key": "pstq_admin_option_with",
    "tooltipKey": "pstq_admin_option_with_tooltip",
    "label": {
      "en": "WITH an accompanying spouse (ME-0120)",
      "fr": "AVEC une personne conjointe qui vous accompagne dans le projet d’immigration (ME-0120)"
    },
    "tooltip": {
      "en": "Option points for the MIFI self-evaluation form with an accompanying spouse (ME-0120).",
      "fr": "Points des options du formulaire d’autoévaluation MIFI avec une personne conjointe qui accompagne (ME-0120)."
    }
  },
  {
    "key": "pstq_admin_french_tef",
    "tooltipKey": "pstq_admin_french_tef_tooltip",
    "label": {
      "en": "TEF",
      "fr": "TEF"
    },
    "tooltip": {
      "en": "Test d’évaluation de français (TEF) conversion bands.",
      "fr": "Bandes de conversion du Test d’évaluation de français (TEF)."
    }
  },
  {
    "key": "pstq_admin_french_tcf_comprehension",
    "tooltipKey": "pstq_admin_french_tcf_comprehension_tooltip",
    "label": {
      "en": "TCF comprehension",
      "fr": "TCF compréhension"
    },
    "tooltip": {
      "en": "TCF listening and reading (compréhension) conversion bands.",
      "fr": "Bandes de conversion TCF compréhension orale et écrite."
    }
  },
  {
    "key": "pstq_admin_french_tcf_expression",
    "tooltipKey": "pstq_admin_french_tcf_expression_tooltip",
    "label": {
      "en": "TCF expression",
      "fr": "TCF expression"
    },
    "tooltip": {
      "en": "TCF speaking and writing (expression) conversion bands.",
      "fr": "Bandes de conversion TCF expression orale et écrite."
    }
  },
  {
    "key": "pstq_admin_french_delf_dalf",
    "tooltipKey": "pstq_admin_french_delf_dalf_tooltip",
    "label": {
      "en": "DELF / DALF",
      "fr": "DELF / DALF"
    },
    "tooltip": {
      "en": "DELF and DALF diploma conversion bands.",
      "fr": "Bandes de conversion des diplômes DELF et DALF."
    }
  },
  {
    "key": "pstq_admin_settings_heading",
    "tooltipKey": "pstq_admin_settings_heading_tooltip",
    "label": {
      "en": "Settings",
      "fr": "Paramètres"
    },
    "tooltip": {
      "en": "Ruleset identity, official source provenance, disclaimer, and scoring constants.",
      "fr": "Identité du jeu de règles, provenance des sources officielles, avertissement et constantes de pointage."
    }
  },
  {
    "key": "pstq_admin_settings_hint",
    "tooltipKey": "pstq_admin_settings_hint_tooltip",
    "label": {
      "en": "Disclaimer, provenance, structured constants (caps, groups, routing, forms), and advanced JSON.",
      "fr": "Avertissement, provenance, constantes structurées (plafonds, groupes, cheminement, formulaires) et JSON avancé."
    },
    "tooltip": {
      "en": "Save settings writes metadata and constants for this draft. Row tables are saved separately.",
      "fr": "Enregistrer les paramètres écrit les métadonnées et constantes de ce brouillon. Les tableaux de lignes se sauvegardent séparément."
    }
  },
  {
    "key": "pstq_admin_save_settings",
    "tooltipKey": "pstq_admin_save_settings_tooltip",
    "label": {
      "en": "Save settings",
      "fr": "Enregistrer les paramètres"
    },
    "tooltip": {
      "en": "Save key, provenance, disclaimer, and constants for this draft ruleset.",
      "fr": "Enregistrer la clé, la provenance, l’avertissement et les constantes de ce jeu de règles brouillon."
    }
  },
  {
    "key": "pstq_admin_field_ruleset_key",
    "tooltipKey": "pstq_admin_field_ruleset_key_tooltip",
    "label": {
      "en": "Key",
      "fr": "Clé"
    },
    "tooltip": {
      "en": "Stable identifier for this ruleset (unique). Used in admin lists and clone names.",
      "fr": "Identifiant stable de ce jeu de règles (unique). Utilisé dans les listes d’administration et les noms de clones."
    }
  },
  {
    "key": "pstq_admin_scoring_updated_at",
    "tooltipKey": "pstq_admin_scoring_updated_at_tooltip",
    "label": {
      "en": "Scoring updated at",
      "fr": "Pointage mis à jour le"
    },
    "tooltip": {
      "en": "Official date of the MIFI scoring grid used by this ruleset.",
      "fr": "Date officielle de la grille de pointage MIFI utilisée par ce jeu de règles."
    }
  },
  {
    "key": "pstq_admin_scoring_source_title",
    "tooltipKey": "pstq_admin_scoring_source_title_tooltip",
    "label": {
      "en": "Scoring source title",
      "fr": "Titre de la source de pointage"
    },
    "tooltip": {
      "en": "Official title of the MIFI scoring source document.",
      "fr": "Titre officiel du document source de pointage MIFI."
    }
  },
  {
    "key": "pstq_admin_scoring_source_url",
    "tooltipKey": "pstq_admin_scoring_source_url_tooltip",
    "label": {
      "en": "Scoring source URL",
      "fr": "URL de la source de pointage"
    },
    "tooltip": {
      "en": "Official URL of the MIFI scoring grid or instructions.",
      "fr": "URL officielle de la grille ou des instructions de pointage MIFI."
    }
  },
  {
    "key": "pstq_admin_scoring_last_checked",
    "tooltipKey": "pstq_admin_scoring_last_checked_tooltip",
    "label": {
      "en": "Scoring last checked",
      "fr": "Dernière vérification du pointage"
    },
    "tooltip": {
      "en": "Date this scoring source was last verified against the official page.",
      "fr": "Date de la dernière vérification de cette source de pointage par rapport à la page officielle."
    }
  },
  {
    "key": "pstq_admin_sources_catalog",
    "tooltipKey": "pstq_admin_sources_catalog_tooltip",
    "label": {
      "en": "Sources catalog",
      "fr": "Catalogue des sources"
    },
    "tooltip": {
      "en": "Provenance for French conversion, regulated professions, Stream 3 documents, and labour-market diagnostics.",
      "fr": "Provenance de la conversion du français, des professions réglementées, des documents du volet 3 et des diagnostics du marché du travail."
    }
  },
  {
    "key": "pstq_admin_french_source_title",
    "tooltipKey": "pstq_admin_french_source_title_tooltip",
    "label": {
      "en": "French source title",
      "fr": "Titre de la source de français"
    },
    "tooltip": {
      "en": "Official title of the French language conversion table source.",
      "fr": "Titre officiel de la source de la table de conversion du français."
    }
  },
  {
    "key": "pstq_admin_french_table_version",
    "tooltipKey": "pstq_admin_french_table_version_tooltip",
    "label": {
      "en": "French table version",
      "fr": "Version de la table de français"
    },
    "tooltip": {
      "en": "Official version identifier of the French conversion table.",
      "fr": "Identifiant de version officiel de la table de conversion du français."
    }
  },
  {
    "key": "pstq_admin_french_source_url",
    "tooltipKey": "pstq_admin_french_source_url_tooltip",
    "label": {
      "en": "French source URL",
      "fr": "URL de la source de français"
    },
    "tooltip": {
      "en": "Official URL of the French conversion table.",
      "fr": "URL officielle de la table de conversion du français."
    }
  },
  {
    "key": "pstq_admin_french_last_checked",
    "tooltipKey": "pstq_admin_french_last_checked_tooltip",
    "label": {
      "en": "French last checked",
      "fr": "Dernière vérification du français"
    },
    "tooltip": {
      "en": "Date the French conversion source was last verified.",
      "fr": "Date de la dernière vérification de la source de conversion du français."
    }
  },
  {
    "key": "pstq_admin_regulated_version",
    "tooltipKey": "pstq_admin_regulated_version_tooltip",
    "label": {
      "en": "Regulated professions version",
      "fr": "Version des professions réglementées"
    },
    "tooltip": {
      "en": "Official version of the regulated occupations list.",
      "fr": "Version officielle de la liste des professions réglementées."
    }
  },
  {
    "key": "pstq_admin_regulated_source_title",
    "tooltipKey": "pstq_admin_regulated_source_title_tooltip",
    "label": {
      "en": "Regulated source title",
      "fr": "Titre de la source des professions réglementées"
    },
    "tooltip": {
      "en": "Official title of the regulated occupations source.",
      "fr": "Titre officiel de la source des professions réglementées."
    }
  },
  {
    "key": "pstq_admin_regulated_source_url",
    "tooltipKey": "pstq_admin_regulated_source_url_tooltip",
    "label": {
      "en": "Regulated source URL",
      "fr": "URL de la source des professions réglementées"
    },
    "tooltip": {
      "en": "Official URL of the regulated occupations list.",
      "fr": "URL officielle de la liste des professions réglementées."
    }
  },
  {
    "key": "pstq_admin_regulated_last_checked",
    "tooltipKey": "pstq_admin_regulated_last_checked_tooltip",
    "label": {
      "en": "Regulated last checked",
      "fr": "Dernière vérification des professions réglementées"
    },
    "tooltip": {
      "en": "Date the regulated occupations source was last verified.",
      "fr": "Date de la dernière vérification de la source des professions réglementées."
    }
  },
  {
    "key": "pstq_admin_documents_version",
    "tooltipKey": "pstq_admin_documents_version_tooltip",
    "label": {
      "en": "Stream 3 documents version",
      "fr": "Version des documents du volet 3"
    },
    "tooltip": {
      "en": "Official version of the Stream 3 regulatory documents list.",
      "fr": "Version officielle de la liste des documents réglementaires du volet 3."
    }
  },
  {
    "key": "pstq_admin_documents_source_title",
    "tooltipKey": "pstq_admin_documents_source_title_tooltip",
    "label": {
      "en": "Stream 3 documents source title",
      "fr": "Titre de la source des documents du volet 3"
    },
    "tooltip": {
      "en": "Official title of the Stream 3 documents source.",
      "fr": "Titre officiel de la source des documents du volet 3."
    }
  },
  {
    "key": "pstq_admin_documents_source_url",
    "tooltipKey": "pstq_admin_documents_source_url_tooltip",
    "label": {
      "en": "Stream 3 documents source URL",
      "fr": "URL de la source des documents du volet 3"
    },
    "tooltip": {
      "en": "Official URL of the Stream 3 documents source.",
      "fr": "URL officielle de la source des documents du volet 3."
    }
  },
  {
    "key": "pstq_admin_documents_last_checked",
    "tooltipKey": "pstq_admin_documents_last_checked_tooltip",
    "label": {
      "en": "Stream 3 documents last checked",
      "fr": "Dernière vérification des documents du volet 3"
    },
    "tooltip": {
      "en": "Date the Stream 3 documents source was last verified.",
      "fr": "Date de la dernière vérification de la source des documents du volet 3."
    }
  },
  {
    "key": "pstq_admin_diagnostics_version",
    "tooltipKey": "pstq_admin_diagnostics_version_tooltip",
    "label": {
      "en": "Diagnostics version",
      "fr": "Version des diagnostics"
    },
    "tooltip": {
      "en": "Internal version of the labour-market diagnostics dataset used by this ruleset.",
      "fr": "Version interne du jeu de données de diagnostic du marché du travail utilisé par ce jeu de règles."
    }
  },
  {
    "key": "pstq_admin_diagnostics_dataset",
    "tooltipKey": "pstq_admin_diagnostics_dataset_tooltip",
    "label": {
      "en": "Diagnostics dataset",
      "fr": "Jeu de données des diagnostics"
    },
    "tooltip": {
      "en": "Dataset identifier for labour-market diagnostics (occupation diagnostic codes).",
      "fr": "Identifiant du jeu de données de diagnostic du marché du travail (codes de diagnostic des professions)."
    }
  },
  {
    "key": "pstq_admin_diagnostics_source_title",
    "tooltipKey": "pstq_admin_diagnostics_source_title_tooltip",
    "label": {
      "en": "Diagnostics source title",
      "fr": "Titre de la source des diagnostics"
    },
    "tooltip": {
      "en": "Official title of the labour-market diagnostics source.",
      "fr": "Titre officiel de la source des diagnostics du marché du travail."
    }
  },
  {
    "key": "pstq_admin_diagnostics_source_url",
    "tooltipKey": "pstq_admin_diagnostics_source_url_tooltip",
    "label": {
      "en": "Diagnostics source URL",
      "fr": "URL de la source des diagnostics"
    },
    "tooltip": {
      "en": "Official URL of the labour-market diagnostics source.",
      "fr": "URL officielle de la source des diagnostics du marché du travail."
    }
  },
  {
    "key": "pstq_admin_diagnostics_official_version",
    "tooltipKey": "pstq_admin_diagnostics_official_version_tooltip",
    "label": {
      "en": "Diagnostics official version",
      "fr": "Version officielle des diagnostics"
    },
    "tooltip": {
      "en": "Official published version of the labour-market diagnostics source.",
      "fr": "Version officielle publiée de la source des diagnostics du marché du travail."
    }
  },
  {
    "key": "pstq_admin_diagnostics_last_checked",
    "tooltipKey": "pstq_admin_diagnostics_last_checked_tooltip",
    "label": {
      "en": "Diagnostics last checked",
      "fr": "Dernière vérification des diagnostics"
    },
    "tooltip": {
      "en": "Date the diagnostics source was last verified.",
      "fr": "Date de la dernière vérification de la source des diagnostics."
    }
  },
  {
    "key": "pstq_admin_disclaimer_en",
    "tooltipKey": "pstq_admin_disclaimer_en_tooltip",
    "label": {
      "en": "Disclaimer (EN)",
      "fr": "Avertissement (EN)"
    },
    "tooltip": {
      "en": "English disclaimer shown on the user-portal PSTQ calculator. Always edit both languages.",
      "fr": "Avertissement anglais affiché sur le calculateur PSTQ du portail utilisateur. Modifiez toujours les deux langues."
    }
  },
  {
    "key": "pstq_admin_disclaimer_fr",
    "tooltipKey": "pstq_admin_disclaimer_fr_tooltip",
    "label": {
      "en": "Disclaimer (FR)",
      "fr": "Avertissement (FR)"
    },
    "tooltip": {
      "en": "French disclaimer shown on the user-portal PSTQ calculator. Always edit both languages.",
      "fr": "Avertissement français affiché sur le calculateur PSTQ du portail utilisateur. Modifiez toujours les deux langues."
    }
  },
  {
    "key": "pstq_admin_constants_heading",
    "tooltipKey": "pstq_admin_constants_heading_tooltip",
    "label": {
      "en": "Constants",
      "fr": "Constantes"
    },
    "tooltip": {
      "en": "Structured scoring layout: group caps, field maxima, score groups, routing, and form codes.",
      "fr": "Mise en page structurée du pointage : plafonds de groupe, maxima par champ, groupes, cheminement et codes de formulaire."
    }
  },
  {
    "key": "pstq_admin_constants_hint",
    "tooltipKey": "pstq_admin_constants_hint_tooltip",
    "label": {
      "en": "Structured editors are primary. Use advanced JSON only for provenance blobs and uncommon keys.",
      "fr": "Les éditeurs structurés sont prioritaires. Utilisez le JSON avancé seulement pour les blocs de provenance et les clés peu courantes."
    },
    "tooltip": {
      "en": "Prefer the form editors below. Raw JSON is for keys the structured editors do not cover.",
      "fr": "Préférez les éditeurs ci-dessous. Le JSON brut sert aux clés non couvertes par les éditeurs structurés."
    }
  },
  {
    "key": "pstq_admin_group_caps",
    "tooltipKey": "pstq_admin_group_caps_tooltip",
    "label": {
      "en": "Group caps",
      "fr": "Plafonds de groupe"
    },
    "tooltip": {
      "en": "Official ceilings and applicable caps for human capital, Québec needs, and adaptation factors.",
      "fr": "Plafonds officiels et plafonds applicables pour le capital humain, les besoins du Québec et les facteurs d’adaptation."
    }
  },
  {
    "key": "pstq_admin_group_caps_hint",
    "tooltipKey": "pstq_admin_group_caps_hint_tooltip",
    "label": {
      "en": "Official ceilings and applicable caps by spouse mode.",
      "fr": "Plafonds officiels et plafonds applicables selon le mode conjoint."
    },
    "tooltip": {
      "en": "Official caps are MIFI maxima. Applicable caps may be lower depending on form routing.",
      "fr": "Les plafonds officiels sont les maxima MIFI. Les plafonds applicables peuvent être inférieurs selon le cheminement du formulaire."
    }
  },
  {
    "key": "pstq_admin_official_group_caps",
    "tooltipKey": "pstq_admin_official_group_caps_tooltip",
    "label": {
      "en": "Official group caps",
      "fr": "Plafonds de groupe officiels"
    },
    "tooltip": {
      "en": "MIFI official maximums: human capital, Québec’s labour market needs and government priorities, and adaptation factors.",
      "fr": "Maxima officiels MIFI : capital humain, réponse aux besoins du Québec et aux priorités gouvernementales, et facteurs d’adaptation."
    }
  },
  {
    "key": "pstq_admin_applicable_without",
    "tooltipKey": "pstq_admin_applicable_without_tooltip",
    "label": {
      "en": "Applicable — without spouse",
      "fr": "Applicables — sans personne conjointe"
    },
    "tooltip": {
      "en": "Applicable group caps on the ME-0104 form (WITHOUT an accompanying spouse).",
      "fr": "Plafonds de groupe applicables au formulaire ME-0104 (SANS une personne conjointe qui accompagne)."
    }
  },
  {
    "key": "pstq_admin_applicable_with",
    "tooltipKey": "pstq_admin_applicable_with_tooltip",
    "label": {
      "en": "Applicable — with spouse",
      "fr": "Applicables — avec personne conjointe"
    },
    "tooltip": {
      "en": "Applicable group caps on the ME-0120 form (WITH an accompanying spouse).",
      "fr": "Plafonds de groupe applicables au formulaire ME-0120 (AVEC une personne conjointe qui accompagne)."
    }
  },
  {
    "key": "pstq_admin_cap_human_capital",
    "tooltipKey": "pstq_admin_cap_human_capital_tooltip",
    "label": {
      "en": "Human capital",
      "fr": "Capital humain"
    },
    "tooltip": {
      "en": "Maximum points for the human capital group.",
      "fr": "Maximum de points pour le groupe capital humain."
    }
  },
  {
    "key": "pstq_admin_cap_quebec_needs",
    "tooltipKey": "pstq_admin_cap_quebec_needs_tooltip",
    "label": {
      "en": "Québec’s labour market needs and government priorities",
      "fr": "Réponse aux besoins du Québec et aux priorités gouvernementales"
    },
    "tooltip": {
      "en": "Maximum points for Québec’s labour market needs and government priorities.",
      "fr": "Maximum de points pour la réponse aux besoins du Québec et aux priorités gouvernementales."
    }
  },
  {
    "key": "pstq_admin_cap_adaptation",
    "tooltipKey": "pstq_admin_cap_adaptation_tooltip",
    "label": {
      "en": "Adaptation factors",
      "fr": "Facteurs d’adaptation"
    },
    "tooltip": {
      "en": "Maximum points for other criteria linked to adaptation factors.",
      "fr": "Maximum de points pour les autres critères liés aux facteurs d’adaptation."
    }
  },
  {
    "key": "pstq_admin_field_max_points",
    "tooltipKey": "pstq_admin_field_max_points_tooltip",
    "label": {
      "en": "Field max points",
      "fr": "Maximum de points par champ"
    },
    "tooltip": {
      "en": "Per-field ceilings for WITHOUT and WITH spouse modes (for example LD1, LD19).",
      "fr": "Plafonds par champ pour les modes SANS et AVEC personne conjointe (par exemple LD1, LD19)."
    }
  },
  {
    "key": "pstq_admin_field_max_hint",
    "tooltipKey": "pstq_admin_field_max_hint_tooltip",
    "label": {
      "en": "Per-field ceilings for without / with spouse modes.",
      "fr": "Plafonds par champ pour les modes sans / avec personne conjointe."
    },
    "tooltip": {
      "en": "Each key is a MIFI field key (LD…). The value is the maximum points for that field.",
      "fr": "Chaque clé est une clé de champ MIFI (LD…). La valeur est le maximum de points pour ce champ."
    }
  },
  {
    "key": "pstq_admin_field_max_without",
    "tooltipKey": "pstq_admin_field_max_without_tooltip",
    "label": {
      "en": "Without spouse",
      "fr": "Sans personne conjointe"
    },
    "tooltip": {
      "en": "Field maxima for ME-0104 (WITHOUT an accompanying spouse).",
      "fr": "Maxima par champ pour le ME-0104 (SANS une personne conjointe qui accompagne)."
    }
  },
  {
    "key": "pstq_admin_field_max_with",
    "tooltipKey": "pstq_admin_field_max_with_tooltip",
    "label": {
      "en": "With spouse",
      "fr": "Avec personne conjointe"
    },
    "tooltip": {
      "en": "Field maxima for ME-0120 (WITH an accompanying spouse).",
      "fr": "Maxima par champ pour le ME-0120 (AVEC une personne conjointe qui accompagne)."
    }
  },
  {
    "key": "pstq_admin_kv_key",
    "tooltipKey": "pstq_admin_kv_key_tooltip",
    "label": {
      "en": "Key",
      "fr": "Clé"
    },
    "tooltip": {
      "en": "Field or section key (for example LD1 or human_capital).",
      "fr": "Clé de champ ou de section (par exemple LD1 ou human_capital)."
    }
  },
  {
    "key": "pstq_admin_kv_field_name",
    "tooltipKey": "pstq_admin_kv_field_name_tooltip",
    "label": {
      "en": "Field name",
      "fr": "Nom du champ"
    },
    "tooltip": {
      "en": "Human-readable MIFI field or section name for this key, from the Questions table.",
      "fr": "Nom lisible du champ ou de la section MIFI pour cette clé, tiré du tableau Questions."
    }
  },
  {
    "key": "pstq_admin_kv_points",
    "tooltipKey": "pstq_admin_kv_points_tooltip",
    "label": {
      "en": "Points",
      "fr": "Points"
    },
    "tooltip": {
      "en": "Maximum points for this key.",
      "fr": "Maximum de points pour cette clé."
    }
  },
  {
    "key": "pstq_admin_kv_text",
    "tooltipKey": "pstq_admin_kv_text_tooltip",
    "label": {
      "en": "Text",
      "fr": "Texte"
    },
    "tooltip": {
      "en": "Display string for this section ceiling.",
      "fr": "Texte affiché pour le plafond de cette section."
    }
  },
  {
    "key": "pstq_admin_add_kv_row",
    "tooltipKey": "pstq_admin_add_kv_row_tooltip",
    "label": {
      "en": "Add row",
      "fr": "Ajouter une ligne"
    },
    "tooltip": {
      "en": "Add a key/value row to this constants table.",
      "fr": "Ajouter une ligne clé/valeur à ce tableau de constantes."
    }
  },
  {
    "key": "pstq_admin_remove_kv_row",
    "tooltipKey": "pstq_admin_remove_kv_row_tooltip",
    "label": {
      "en": "Remove row",
      "fr": "Supprimer la ligne"
    },
    "tooltip": {
      "en": "Remove this key/value row from the constants table.",
      "fr": "Supprimer cette ligne clé/valeur de ce tableau de constantes."
    }
  },
  {
    "key": "pstq_admin_score_groups",
    "tooltipKey": "pstq_admin_score_groups_tooltip",
    "label": {
      "en": "Score groups",
      "fr": "Groupes de pointage"
    },
    "tooltip": {
      "en": "Comma-separated MIFI field keys that belong to each scoring group.",
      "fr": "Clés de champ MIFI séparées par des virgules appartenant à chaque groupe de pointage."
    }
  },
  {
    "key": "pstq_admin_score_groups_hint",
    "tooltipKey": "pstq_admin_score_groups_hint_tooltip",
    "label": {
      "en": "Comma-separated field keys per scoring group.",
      "fr": "Clés de champ séparées par des virgules pour chaque groupe de pointage."
    },
    "tooltip": {
      "en": "These keys decide which questions add to human capital, Québec needs, or adaptation factors.",
      "fr": "Ces clés déterminent quelles questions s’ajoutent au capital humain, aux besoins du Québec ou aux facteurs d’adaptation."
    }
  },
  {
    "key": "pstq_admin_score_group_hc",
    "tooltipKey": "pstq_admin_score_group_hc_tooltip",
    "label": {
      "en": "Human capital",
      "fr": "Capital humain"
    },
    "tooltip": {
      "en": "Field keys scored under human capital (for example LD1, LD19, LD2).",
      "fr": "Clés de champ pointées dans le capital humain (par exemple LD1, LD19, LD2)."
    }
  },
  {
    "key": "pstq_admin_score_group_qn",
    "tooltipKey": "pstq_admin_score_group_qn_tooltip",
    "label": {
      "en": "Québec’s labour market needs and government priorities",
      "fr": "Réponse aux besoins du Québec et aux priorités gouvernementales"
    },
    "tooltip": {
      "en": "Field keys scored under Québec’s labour market needs and government priorities.",
      "fr": "Clés de champ pointées dans la réponse aux besoins du Québec et aux priorités gouvernementales."
    }
  },
  {
    "key": "pstq_admin_score_group_ad",
    "tooltipKey": "pstq_admin_score_group_ad_tooltip",
    "label": {
      "en": "Adaptation factors",
      "fr": "Facteurs d’adaptation"
    },
    "tooltip": {
      "en": "Field keys scored under other criteria linked to adaptation factors.",
      "fr": "Clés de champ pointées dans les autres critères liés aux facteurs d’adaptation."
    }
  },
  {
    "key": "pstq_admin_section_meta",
    "tooltipKey": "pstq_admin_section_meta_tooltip",
    "label": {
      "en": "Section meta",
      "fr": "Métadonnées de section"
    },
    "tooltip": {
      "en": "Section keys with French and English headings used to group calculator questions.",
      "fr": "Clés de section avec titres français et anglais utilisés pour grouper les questions du calculateur."
    }
  },
  {
    "key": "pstq_admin_section_meta_hint",
    "tooltipKey": "pstq_admin_section_meta_hint_tooltip",
    "label": {
      "en": "Section keys with French and English headings.",
      "fr": "Clés de section avec titres français et anglais."
    },
    "tooltip": {
      "en": "Each section key maps to a French heading and an English heading. Keep both languages.",
      "fr": "Chaque clé de section correspond à un titre français et un titre anglais. Conservez les deux langues."
    }
  },
  {
    "key": "pstq_admin_section_key",
    "tooltipKey": "pstq_admin_section_key_tooltip",
    "label": {
      "en": "Key",
      "fr": "Clé"
    },
    "tooltip": {
      "en": "Internal section key used by the calculator layout.",
      "fr": "Clé interne de section utilisée par la mise en page du calculateur."
    }
  },
  {
    "key": "pstq_admin_section_fr",
    "tooltipKey": "pstq_admin_section_fr_tooltip",
    "label": {
      "en": "French",
      "fr": "Français"
    },
    "tooltip": {
      "en": "Official French section heading.",
      "fr": "Titre officiel de section en français."
    }
  },
  {
    "key": "pstq_admin_section_en",
    "tooltipKey": "pstq_admin_section_en_tooltip",
    "label": {
      "en": "English",
      "fr": "Anglais"
    },
    "tooltip": {
      "en": "Official English section heading.",
      "fr": "Titre officiel de section en anglais."
    }
  },
  {
    "key": "pstq_admin_add_section",
    "tooltipKey": "pstq_admin_add_section_tooltip",
    "label": {
      "en": "Add section",
      "fr": "Ajouter une section"
    },
    "tooltip": {
      "en": "Add a section heading row.",
      "fr": "Ajouter une ligne de titre de section."
    }
  },
  {
    "key": "pstq_admin_remove_section",
    "tooltipKey": "pstq_admin_remove_section_tooltip",
    "label": {
      "en": "Remove section",
      "fr": "Supprimer la section"
    },
    "tooltip": {
      "en": "Remove this section heading.",
      "fr": "Supprimer ce titre de section."
    }
  },
  {
    "key": "pstq_admin_section_max_text",
    "tooltipKey": "pstq_admin_section_max_text_tooltip",
    "label": {
      "en": "Section max text",
      "fr": "Texte des maxima de section"
    },
    "tooltip": {
      "en": "Display strings for section ceilings by spouse mode.",
      "fr": "Textes affichés pour les plafonds de section selon le mode conjoint."
    }
  },
  {
    "key": "pstq_admin_section_max_hint",
    "tooltipKey": "pstq_admin_section_max_hint_tooltip",
    "label": {
      "en": "Display strings for section ceilings by mode.",
      "fr": "Textes affichés pour les plafonds de section selon le mode."
    },
    "tooltip": {
      "en": "Shown next to section totals on the user-portal calculator.",
      "fr": "Affichés à côté des totaux de section sur le calculateur du portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_routing_heading",
    "tooltipKey": "pstq_admin_routing_heading_tooltip",
    "label": {
      "en": "Routing & unset sentinel",
      "fr": "Cheminement et sentinelle non définie"
    },
    "tooltip": {
      "en": "Rules that disable fields, plus the unset display string and disabled-field hint.",
      "fr": "Règles qui désactivent des champs, plus le texte « non défini » et l’indice des champs désactivés."
    }
  },
  {
    "key": "pstq_admin_routing_hint",
    "tooltipKey": "pstq_admin_routing_hint_tooltip",
    "label": {
      "en": "constants.routing.rules, disabled_hint, and unset_display.",
      "fr": "constants.routing.rules, disabled_hint et unset_display."
    },
    "tooltip": {
      "en": "When a field matches a “when” value, listed fields are disabled on the calculator.",
      "fr": "Lorsqu’un champ correspond à une valeur « when », les champs listés sont désactivés sur le calculateur."
    }
  },
  {
    "key": "pstq_admin_unset_display",
    "tooltipKey": "pstq_admin_unset_display_tooltip",
    "label": {
      "en": "Unset display sentinel",
      "fr": "Sentinelle d’affichage non définie"
    },
    "tooltip": {
      "en": "Placeholder shown when a MIFI question has no selection yet (for example Veuillez choisir).",
      "fr": "Texte affiché lorsqu’une question MIFI n’a pas encore de sélection (par exemple Veuillez choisir)."
    }
  },
  {
    "key": "pstq_admin_disabled_hint_en",
    "tooltipKey": "pstq_admin_disabled_hint_en_tooltip",
    "label": {
      "en": "Disabled hint (EN)",
      "fr": "Indice de champ désactivé (EN)"
    },
    "tooltip": {
      "en": "English hint shown when form routing disables a field.",
      "fr": "Indice anglais affiché lorsqu’un champ est désactivé par le cheminement du formulaire."
    }
  },
  {
    "key": "pstq_admin_disabled_hint_fr",
    "tooltipKey": "pstq_admin_disabled_hint_fr_tooltip",
    "label": {
      "en": "Disabled hint (FR)",
      "fr": "Indice de champ désactivé (FR)"
    },
    "tooltip": {
      "en": "French hint shown when form routing disables a field.",
      "fr": "Indice français affiché lorsqu’un champ est désactivé par le cheminement du formulaire."
    }
  },
  {
    "key": "pstq_admin_routing_rules",
    "tooltipKey": "pstq_admin_routing_rules_tooltip",
    "label": {
      "en": "Routing rules",
      "fr": "Règles de cheminement"
    },
    "tooltip": {
      "en": "If the named field matches the JSON “when” object, disable the listed fields.",
      "fr": "Si le champ nommé correspond à l’objet JSON « when », désactiver les champs listés."
    }
  },
  {
    "key": "pstq_admin_when_field",
    "tooltipKey": "pstq_admin_when_field_tooltip",
    "label": {
      "en": "When field",
      "fr": "Champ déclencheur"
    },
    "tooltip": {
      "en": "MIFI field key that triggers this routing rule (for example LD6).",
      "fr": "Clé de champ MIFI qui déclenche cette règle de cheminement (par exemple LD6)."
    }
  },
  {
    "key": "pstq_admin_disable_fields",
    "tooltipKey": "pstq_admin_disable_fields_tooltip",
    "label": {
      "en": "Disable fields (comma-separated)",
      "fr": "Champs à désactiver (séparés par des virgules)"
    },
    "tooltip": {
      "en": "Field keys to disable when the rule matches (for example LD7, LD8).",
      "fr": "Clés de champ à désactiver lorsque la règle s’applique (par exemple LD7, LD8)."
    }
  },
  {
    "key": "pstq_admin_when_json",
    "tooltipKey": "pstq_admin_when_json_tooltip",
    "label": {
      "en": "When (JSON)",
      "fr": "Condition (JSON)"
    },
    "tooltip": {
      "en": "JSON object describing the trigger value. Changes apply only when the JSON is valid.",
      "fr": "Objet JSON décrivant la valeur déclencheur. Les changements s’appliquent seulement si le JSON est valide."
    }
  },
  {
    "key": "pstq_admin_add_routing_rule",
    "tooltipKey": "pstq_admin_add_routing_rule_tooltip",
    "label": {
      "en": "Add routing rule",
      "fr": "Ajouter une règle de cheminement"
    },
    "tooltip": {
      "en": "Add a rule that disables fields when another field matches a value.",
      "fr": "Ajouter une règle qui désactive des champs lorsqu’un autre champ correspond à une valeur."
    }
  },
  {
    "key": "pstq_admin_remove_routing_rule",
    "tooltipKey": "pstq_admin_remove_routing_rule_tooltip",
    "label": {
      "en": "Remove rule",
      "fr": "Supprimer la règle"
    },
    "tooltip": {
      "en": "Remove this routing rule.",
      "fr": "Supprimer cette règle de cheminement."
    }
  },
  {
    "key": "pstq_admin_forms_constants",
    "tooltipKey": "pstq_admin_forms_constants_tooltip",
    "label": {
      "en": "Forms",
      "fr": "Formulaires"
    },
    "tooltip": {
      "en": "Blank form codes and PDF filenames stored in constants.forms (same as Form assets).",
      "fr": "Codes de formulaire et noms de fichiers PDF enregistrés dans constants.forms (identiques à Formulaires)."
    }
  },
  {
    "key": "pstq_admin_forms_constants_hint",
    "tooltipKey": "pstq_admin_forms_constants_hint_tooltip",
    "label": {
      "en": "Blank form codes and PDF filenames (constants.forms).",
      "fr": "Codes de formulaire et noms de fichiers PDF (constants.forms)."
    },
    "tooltip": {
      "en": "Must match the blank ME-0104 / ME-0120 PDFs used for prefill.",
      "fr": "Doit correspondre aux PDF vierges ME-0104 / ME-0120 utilisés pour le préremplissage."
    }
  },
  {
    "key": "pstq_admin_advanced_json",
    "tooltipKey": "pstq_admin_advanced_json_tooltip",
    "label": {
      "en": "Advanced: raw constants JSON",
      "fr": "Avancé : JSON brut des constantes"
    },
    "tooltip": {
      "en": "Secondary editor for provenance blobs and keys not covered by the structured editors.",
      "fr": "Éditeur secondaire pour les blocs de provenance et les clés non couvertes ci-dessus."
    }
  },
  {
    "key": "pstq_admin_advanced_json_hint",
    "tooltipKey": "pstq_admin_advanced_json_hint_tooltip",
    "label": {
      "en": "Secondary editor for provenance blobs and any keys not covered above. Prefer the structured editors for caps, groups, routing, and forms.",
      "fr": "Éditeur secondaire pour les blocs de provenance et les clés non couvertes. Préférez les éditeurs structurés pour les plafonds, groupes, cheminement et formulaires."
    },
    "tooltip": {
      "en": "Invalid JSON blocks Save settings until it is a JSON object.",
      "fr": "Un JSON invalide bloque Enregistrer les paramètres tant que ce n’est pas un objet JSON."
    }
  },
  {
    "key": "pstq_admin_questions_title",
    "tooltipKey": "pstq_admin_questions_title_tooltip",
    "label": {
      "en": "Questions",
      "fr": "Questions"
    },
    "tooltip": {
      "en": "MIFI layout rows: section, number, question_fr, short_fr, question_en, routing.",
      "fr": "Lignes de mise en page MIFI : section, numéro, question_fr, short_fr, question_en, cheminement."
    }
  },
  {
    "key": "pstq_admin_questions_description",
    "tooltipKey": "pstq_admin_questions_description_tooltip",
    "label": {
      "en": "LD rows: section, num, question_fr, short_fr, question_en, routing",
      "fr": "Lignes LD : section, num, question_fr, short_fr, question_en, cheminement"
    },
    "tooltip": {
      "en": "Each row is one MIFI question. Keep French and English wording. Routing JSON is optional.",
      "fr": "Chaque ligne est une question MIFI. Conservez les libellés français et anglais. Le JSON de cheminement est facultatif."
    }
  },
  {
    "key": "pstq_admin_options_description",
    "tooltipKey": "pstq_admin_options_description_tooltip",
    "label": {
      "en": "mode={mode} · display / display_en / export / points (nullable for LD13)",
      "fr": "mode={mode} · display / display_en / export / points (nullable pour LD13)"
    },
    "tooltip": {
      "en": "Answer labels, PDF export codes, and points. Points may be empty for some LD13 rows.",
      "fr": "Libellés de réponse, codes d’export PDF et points. Les points peuvent être vides pour certaines lignes LD13."
    }
  },
  {
    "key": "pstq_admin_tooltips_title",
    "tooltipKey": "pstq_admin_tooltips_title_tooltip",
    "label": {
      "en": "Tooltips",
      "fr": "Infobulles"
    },
    "tooltip": {
      "en": "Help text shown beside user-portal questions. Maintain both languages.",
      "fr": "Texte d’aide affiché à côté des questions du portail utilisateur. Maintenez les deux langues."
    }
  },
  {
    "key": "pstq_admin_tooltips_description",
    "tooltipKey": "pstq_admin_tooltips_description_tooltip",
    "label": {
      "en": "field_key → tip_fr, tip_en",
      "fr": "field_key → tip_fr, tip_en"
    },
    "tooltip": {
      "en": "One tooltip row per calculator field key.",
      "fr": "Une ligne d’infobulle par clé de champ du calculateur."
    }
  },
  {
    "key": "pstq_admin_ui_copy_title",
    "tooltipKey": "pstq_admin_ui_copy_title_tooltip",
    "label": {
      "en": "UI copy",
      "fr": "Textes de l’interface"
    },
    "tooltip": {
      "en": "Hero, mode cards, toolbar, summary, and other bilingual chrome strings.",
      "fr": "Bandeau, cartes de mode, barre d’outils, résumé et autres textes bilingues de l’interface."
    }
  },
  {
    "key": "pstq_admin_ui_copy_description",
    "tooltipKey": "pstq_admin_ui_copy_description_tooltip",
    "label": {
      "en": "Hero, mode cards, toolbar, summary, and other bilingual chrome strings",
      "fr": "Bandeau, cartes de mode, barre d’outils, résumé et autres textes bilingues de l’interface"
    },
    "tooltip": {
      "en": "These terms override user-portal chrome when published.",
      "fr": "Ces termes remplacent les textes de l’interface du portail utilisateur une fois publiés."
    }
  },
  {
    "key": "pstq_admin_occupations_title",
    "tooltipKey": "pstq_admin_occupations_title_tooltip",
    "label": {
      "en": "Occupations",
      "fr": "Professions"
    },
    "tooltip": {
      "en": "Labour-market diagnostics rows (NOC, titles, official_code). CSV import supported.",
      "fr": "Lignes de diagnostic du marché du travail (CNP, titres, official_code). Import CSV pris en charge."
    }
  },
  {
    "key": "pstq_admin_occupations_description",
    "tooltipKey": "pstq_admin_occupations_description_tooltip",
    "label": {
      "en": "Labour-market diagnostics rows (NOC, titles, official_code). CSV import supported.",
      "fr": "Lignes de diagnostic du marché du travail (CNP, titres, official_code). Import CSV pris en charge."
    },
    "tooltip": {
      "en": "official_code values: deficit, slight_deficit, equilibrium, slight_surplus, surplus, unpublished.",
      "fr": "Valeurs official_code : deficit, slight_deficit, equilibrium, slight_surplus, surplus, unpublished."
    }
  },
  {
    "key": "pstq_admin_regulated_title",
    "tooltipKey": "pstq_admin_regulated_title_tooltip",
    "label": {
      "en": "Regulated occupations",
      "fr": "Professions réglementées"
    },
    "tooltip": {
      "en": "Authority and profession mappings for the references modal.",
      "fr": "Correspondances autorité et profession pour la fenêtre de références."
    }
  },
  {
    "key": "pstq_admin_regulated_description",
    "tooltipKey": "pstq_admin_regulated_description_tooltip",
    "label": {
      "en": "Authority and profession mappings for the refs modal",
      "fr": "Correspondances autorité et profession pour la fenêtre de références"
    },
    "tooltip": {
      "en": "Used when consultants look up regulated occupations on the user-portal calculator.",
      "fr": "Utilisé lorsque les consultants consultent les professions réglementées sur le calculateur du portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_french_exam_description",
    "tooltipKey": "pstq_admin_french_exam_description_tooltip",
    "label": {
      "en": "exam_key={exam}",
      "fr": "exam_key={exam}"
    },
    "tooltip": {
      "en": "Conversion rows for this French test family.",
      "fr": "Lignes de conversion pour cette famille de tests de français."
    }
  },
  {
    "key": "pstq_admin_form_assets_heading",
    "tooltipKey": "pstq_admin_form_assets_heading_tooltip",
    "label": {
      "en": "Form assets",
      "fr": "Formulaires"
    },
    "tooltip": {
      "en": "ME-0104 / ME-0120 blank form codes and PDF filenames (same draft as Settings → constants.forms).",
      "fr": "Codes et noms de fichiers PDF des formulaires vierges ME-0104 / ME-0120 (identiques à Paramètres → constants.forms)."
    }
  },
  {
    "key": "pstq_admin_form_assets_hint",
    "tooltipKey": "pstq_admin_form_assets_hint_tooltip",
    "label": {
      "en": "ME-0104 / ME-0120 blank form codes and PDF filenames (same draft as Settings → constants.forms). Save persists the full constants draft.",
      "fr": "Codes et noms de fichiers PDF des formulaires vierges ME-0104 / ME-0120 (identiques à Paramètres → constants.forms). Enregistrer persiste tout le brouillon des constantes."
    },
    "tooltip": {
      "en": "Save settings here writes the same constants object as the Settings tab.",
      "fr": "Enregistrer les paramètres ici écrit le même objet constants que l’onglet Paramètres."
    }
  },
  {
    "key": "pstq_admin_form_without_code",
    "tooltipKey": "pstq_admin_form_without_code_tooltip",
    "label": {
      "en": "Without spouse — form code",
      "fr": "Sans personne conjointe — code de formulaire"
    },
    "tooltip": {
      "en": "MIFI form identifier for WITHOUT an accompanying spouse (for example ME-0104-2608).",
      "fr": "Identifiant du formulaire MIFI SANS une personne conjointe qui accompagne (par exemple ME-0104-2608)."
    }
  },
  {
    "key": "pstq_admin_form_without_pdf",
    "tooltipKey": "pstq_admin_form_without_pdf_tooltip",
    "label": {
      "en": "Without spouse — PDF filename",
      "fr": "Sans personne conjointe — nom du fichier PDF"
    },
    "tooltip": {
      "en": "Blank PDF filename for ME-0104 used by PDF prefill.",
      "fr": "Nom du fichier PDF vierge ME-0104 utilisé pour le préremplissage."
    }
  },
  {
    "key": "pstq_admin_form_with_code",
    "tooltipKey": "pstq_admin_form_with_code_tooltip",
    "label": {
      "en": "With spouse — form code",
      "fr": "Avec personne conjointe — code de formulaire"
    },
    "tooltip": {
      "en": "MIFI form identifier for WITH an accompanying spouse (for example ME-0120-2608).",
      "fr": "Identifiant du formulaire MIFI AVEC une personne conjointe qui accompagne (par exemple ME-0120-2608)."
    }
  },
  {
    "key": "pstq_admin_form_with_pdf",
    "tooltipKey": "pstq_admin_form_with_pdf_tooltip",
    "label": {
      "en": "With spouse — PDF filename",
      "fr": "Avec personne conjointe — nom du fichier PDF"
    },
    "tooltip": {
      "en": "Blank PDF filename for ME-0120 used by PDF prefill.",
      "fr": "Nom du fichier PDF vierge ME-0120 utilisé pour le préremplissage."
    }
  },
  {
    "key": "pstq_admin_export_csv",
    "tooltipKey": "pstq_admin_export_csv_tooltip",
    "label": {
      "en": "Export CSV",
      "fr": "Exporter CSV"
    },
    "tooltip": {
      "en": "Download all rows in this table (respecting the current search) as a CSV file.",
      "fr": "Télécharger toutes les lignes de ce tableau (selon la recherche actuelle) en fichier CSV."
    }
  },
  {
    "key": "pstq_admin_import_csv",
    "tooltipKey": "pstq_admin_import_csv_tooltip",
    "label": {
      "en": "Import CSV",
      "fr": "Importer CSV"
    },
    "tooltip": {
      "en": "Replace this table with rows from a CSV file. You will preview before confirming.",
      "fr": "Remplacer ce tableau par les lignes d’un fichier CSV. Un aperçu s’affiche avant confirmation."
    }
  },
  {
    "key": "pstq_admin_add_row",
    "tooltipKey": "pstq_admin_add_row_tooltip",
    "label": {
      "en": "Add row",
      "fr": "Ajouter une ligne"
    },
    "tooltip": {
      "en": "Create a new row in this table.",
      "fr": "Ajouter une nouvelle ligne à ce tableau."
    }
  },
  {
    "key": "pstq_admin_search_rows",
    "tooltipKey": "pstq_admin_search_rows_tooltip",
    "label": {
      "en": "Search rows…",
      "fr": "Rechercher des lignes…"
    },
    "tooltip": {
      "en": "Filter rows by text in this table.",
      "fr": "Filtrer les lignes de ce tableau par texte."
    }
  },
  {
    "key": "pstq_admin_per_page",
    "tooltipKey": "pstq_admin_per_page_tooltip",
    "label": {
      "en": "Per page",
      "fr": "Par page"
    },
    "tooltip": {
      "en": "Number of rows shown on each page of this table.",
      "fr": "Nombre de lignes affichées sur chaque page de ce tableau."
    }
  },
  {
    "key": "pstq_admin_actions",
    "tooltipKey": "pstq_admin_actions_tooltip",
    "label": {
      "en": "Actions",
      "fr": "Actions"
    },
    "tooltip": {
      "en": "Edit or delete the selected row. Published rulesets hide these actions.",
      "fr": "Modifier ou supprimer la ligne sélectionnée. Les jeux publiés masquent ces actions."
    }
  },
  {
    "key": "pstq_admin_edit_row",
    "tooltipKey": "pstq_admin_edit_row_tooltip",
    "label": {
      "en": "Edit",
      "fr": "Modifier"
    },
    "tooltip": {
      "en": "Edit this row.",
      "fr": "Modifier cette ligne."
    }
  },
  {
    "key": "pstq_admin_delete_row",
    "tooltipKey": "pstq_admin_delete_row_tooltip",
    "label": {
      "en": "Delete",
      "fr": "Supprimer"
    },
    "tooltip": {
      "en": "Delete this row. This cannot be undone.",
      "fr": "Supprimer cette ligne. Cette action est irréversible."
    }
  },
  {
    "key": "pstq_admin_rows_count",
    "tooltipKey": "pstq_admin_rows_count_tooltip",
    "label": {
      "en": "{total} row · showing {from}–{to}",
      "fr": "{total} ligne · affichage {from}–{to}"
    },
    "tooltip": {
      "en": "How many rows match the current search and which slice is visible.",
      "fr": "Nombre de lignes correspondant à la recherche et plage actuellement affichée."
    }
  },
  {
    "key": "pstq_admin_rows_count_plural",
    "tooltipKey": "pstq_admin_rows_count_plural_tooltip",
    "label": {
      "en": "{total} rows · showing {from}–{to}",
      "fr": "{total} lignes · affichage {from}–{to}"
    },
    "tooltip": {
      "en": "How many rows match the current search and which slice is visible.",
      "fr": "Nombre de lignes correspondant à la recherche et plage actuellement affichée."
    }
  },
  {
    "key": "pstq_admin_rows_count_empty",
    "tooltipKey": "pstq_admin_rows_count_empty_tooltip",
    "label": {
      "en": "0 rows",
      "fr": "0 ligne"
    },
    "tooltip": {
      "en": "This table has no rows yet.",
      "fr": "Ce tableau n’a pas encore de lignes."
    }
  },
  {
    "key": "pstq_admin_no_rows_search",
    "tooltipKey": "pstq_admin_no_rows_search_tooltip",
    "label": {
      "en": "No rows match this search.",
      "fr": "Aucune ligne ne correspond à cette recherche."
    },
    "tooltip": {
      "en": "Clear or change the search to see rows again.",
      "fr": "Effacez ou modifiez la recherche pour revoir les lignes."
    }
  },
  {
    "key": "pstq_admin_no_rows_empty",
    "tooltipKey": "pstq_admin_no_rows_empty_tooltip",
    "label": {
      "en": "No rows yet — add a row or import a CSV.",
      "fr": "Aucune ligne pour l’instant — ajoutez une ligne ou importez un CSV."
    },
    "tooltip": {
      "en": "Use Add row or Import CSV to populate this table.",
      "fr": "Utilisez Ajouter une ligne ou Importer CSV pour remplir ce tableau."
    }
  },
  {
    "key": "pstq_admin_no_rows_empty_readonly",
    "tooltipKey": "pstq_admin_no_rows_empty_readonly_tooltip",
    "label": {
      "en": "No rows yet.",
      "fr": "Aucune ligne pour l’instant."
    },
    "tooltip": {
      "en": "This published ruleset has no rows in this table. Clone to a draft to add some.",
      "fr": "Ce jeu publié n’a aucune ligne dans ce tableau. Clonez-le en brouillon pour en ajouter."
    }
  },
  {
    "key": "pstq_admin_page_of",
    "tooltipKey": "pstq_admin_page_of_tooltip",
    "label": {
      "en": "Page {current} of {last}",
      "fr": "Page {current} sur {last}"
    },
    "tooltip": {
      "en": "Current table page.",
      "fr": "Page actuelle du tableau."
    }
  },
  {
    "key": "pstq_admin_previous",
    "tooltipKey": "pstq_admin_previous_tooltip",
    "label": {
      "en": "Previous",
      "fr": "Précédent"
    },
    "tooltip": {
      "en": "Go to the previous page of rows.",
      "fr": "Aller à la page précédente de lignes."
    }
  },
  {
    "key": "pstq_admin_next",
    "tooltipKey": "pstq_admin_next_tooltip",
    "label": {
      "en": "Next",
      "fr": "Suivant"
    },
    "tooltip": {
      "en": "Go to the next page of rows.",
      "fr": "Aller à la page suivante de lignes."
    }
  },
  {
    "key": "pstq_admin_add_row_dialog",
    "tooltipKey": "pstq_admin_add_row_dialog_tooltip",
    "label": {
      "en": "Add row",
      "fr": "Ajouter une ligne"
    },
    "tooltip": {
      "en": "Fill the fields and save to create a new row.",
      "fr": "Remplissez les champs et enregistrez pour créer une nouvelle ligne."
    }
  },
  {
    "key": "pstq_admin_edit_row_dialog",
    "tooltipKey": "pstq_admin_edit_row_dialog_tooltip",
    "label": {
      "en": "Edit row",
      "fr": "Modifier la ligne"
    },
    "tooltip": {
      "en": "Update this row and save. French and English data fields stay visible together.",
      "fr": "Mettez à jour cette ligne et enregistrez. Les champs de données français et anglais restent visibles ensemble."
    }
  },
  {
    "key": "pstq_admin_cancel",
    "tooltipKey": "pstq_admin_cancel_tooltip",
    "label": {
      "en": "Cancel",
      "fr": "Annuler"
    },
    "tooltip": {
      "en": "Close this dialog without saving.",
      "fr": "Fermer cette fenêtre sans enregistrer."
    }
  },
  {
    "key": "pstq_admin_save",
    "tooltipKey": "pstq_admin_save_tooltip",
    "label": {
      "en": "Save",
      "fr": "Enregistrer"
    },
    "tooltip": {
      "en": "Save this row to the draft ruleset.",
      "fr": "Enregistrer cette ligne dans le jeu de règles brouillon."
    }
  },
  {
    "key": "pstq_admin_delete_title",
    "tooltipKey": "pstq_admin_delete_title_tooltip",
    "label": {
      "en": "Delete this row?",
      "fr": "Supprimer cette ligne?"
    },
    "tooltip": {
      "en": "Confirm deletion. This cannot be undone.",
      "fr": "Confirmez la suppression. Cette action est irréversible."
    }
  },
  {
    "key": "pstq_admin_delete_description",
    "tooltipKey": "pstq_admin_delete_description_tooltip",
    "label": {
      "en": "This cannot be undone.",
      "fr": "Cette action est irréversible."
    },
    "tooltip": {
      "en": "The row is removed from this draft immediately.",
      "fr": "La ligne est retirée de ce brouillon immédiatement."
    }
  },
  {
    "key": "pstq_admin_import_preview_title",
    "tooltipKey": "pstq_admin_import_preview_title_tooltip",
    "label": {
      "en": "Import CSV preview",
      "fr": "Aperçu de l’import CSV"
    },
    "tooltip": {
      "en": "Review parsed rows. Confirming replaces the current table (or the current mode / exam subset).",
      "fr": "Vérifiez les lignes analysées. La confirmation remplace le tableau actuel (ou le sous-ensemble mode / examen)."
    }
  },
  {
    "key": "pstq_admin_import_preview_body",
    "tooltipKey": "pstq_admin_import_preview_body_tooltip",
    "label": {
      "en": "{count} row will replace the current table{scope}.",
      "fr": "{count} ligne remplacera le tableau actuel{scope}."
    },
    "tooltip": {
      "en": "Confirm only after checking the preview. This replaces existing rows in this scoped table.",
      "fr": "Confirmez seulement après avoir vérifié l’aperçu. Cela remplace les lignes existantes de ce tableau ciblé."
    }
  },
  {
    "key": "pstq_admin_import_preview_body_plural",
    "tooltipKey": "pstq_admin_import_preview_body_plural_tooltip",
    "label": {
      "en": "{count} rows will replace the current table{scope}.",
      "fr": "{count} lignes remplaceront le tableau actuel{scope}."
    },
    "tooltip": {
      "en": "Review parsed rows. Confirming replaces the current table (or the current mode / exam subset).",
      "fr": "Vérifiez les lignes analysées. La confirmation remplace le tableau actuel (ou le sous-ensemble mode / examen)."
    }
  },
  {
    "key": "pstq_admin_showing_first_n",
    "tooltipKey": "pstq_admin_showing_first_n_tooltip",
    "label": {
      "en": "Showing first 40 of {count} rows.",
      "fr": "Affichage des 40 premières lignes sur {count}."
    },
    "tooltip": {
      "en": "Preview is truncated. All parsed rows will be imported.",
      "fr": "L’aperçu est tronqué. Toutes les lignes analysées seront importées."
    }
  },
  {
    "key": "pstq_admin_import_n_rows",
    "tooltipKey": "pstq_admin_import_n_rows_tooltip",
    "label": {
      "en": "Import {count} rows",
      "fr": "Importer {count} lignes"
    },
    "tooltip": {
      "en": "Replace the table with these CSV rows.",
      "fr": "Remplacer le tableau par ces lignes CSV."
    }
  },
  {
    "key": "pstq_admin_select_placeholder",
    "tooltipKey": "pstq_admin_select_placeholder_tooltip",
    "label": {
      "en": "Select…",
      "fr": "Sélectionner…"
    },
    "tooltip": {
      "en": "Choose a value from the list.",
      "fr": "Choisissez une valeur dans la liste."
    }
  },
  {
    "key": "pstq_admin_boolean_yes",
    "tooltipKey": "pstq_admin_boolean_yes_tooltip",
    "label": {
      "en": "Yes",
      "fr": "Oui"
    },
    "tooltip": {
      "en": "Boolean true.",
      "fr": "Valeur booléenne vraie."
    }
  },
  {
    "key": "pstq_admin_boolean_no",
    "tooltipKey": "pstq_admin_boolean_no_tooltip",
    "label": {
      "en": "No",
      "fr": "Non"
    },
    "tooltip": {
      "en": "Boolean false.",
      "fr": "Valeur booléenne fausse."
    }
  },
  {
    "key": "pstq_admin_col_field_key",
    "tooltipKey": "pstq_admin_col_field_key_tooltip",
    "label": {
      "en": "Field key",
      "fr": "Clé de champ"
    },
    "tooltip": {
      "en": "MIFI field key (for example LD1). Links questions, options, and tooltips.",
      "fr": "Clé de champ MIFI (par exemple LD1). Relie questions, options et infobulles."
    }
  },
  {
    "key": "pstq_admin_col_section",
    "tooltipKey": "pstq_admin_col_section_tooltip",
    "label": {
      "en": "Section",
      "fr": "Section"
    },
    "tooltip": {
      "en": "Layout section key this question belongs to.",
      "fr": "Clé de section de mise en page à laquelle appartient cette question."
    }
  },
  {
    "key": "pstq_admin_col_num",
    "tooltipKey": "pstq_admin_col_num_tooltip",
    "label": {
      "en": "Num",
      "fr": "N°"
    },
    "tooltip": {
      "en": "Question number as printed on the MIFI form.",
      "fr": "Numéro de question tel qu’imprimé sur le formulaire MIFI."
    }
  },
  {
    "key": "pstq_admin_col_question_fr",
    "tooltipKey": "pstq_admin_col_question_fr_tooltip",
    "label": {
      "en": "Question (FR)",
      "fr": "Question (FR)"
    },
    "tooltip": {
      "en": "Official French question text. Keep this even when the admin UI is in English.",
      "fr": "Texte officiel de la question en français. Conservez-le même si l’interface d’administration est en anglais."
    }
  },
  {
    "key": "pstq_admin_col_short_fr",
    "tooltipKey": "pstq_admin_col_short_fr_tooltip",
    "label": {
      "en": "Short (FR)",
      "fr": "Court (FR)"
    },
    "tooltip": {
      "en": "Short French label used in compact calculator views.",
      "fr": "Libellé français court utilisé dans les vues compactes du calculateur."
    }
  },
  {
    "key": "pstq_admin_col_question_en",
    "tooltipKey": "pstq_admin_col_question_en_tooltip",
    "label": {
      "en": "Question (EN)",
      "fr": "Question (EN)"
    },
    "tooltip": {
      "en": "Official English question text. Keep this even when the admin UI is in French.",
      "fr": "Texte officiel de la question en anglais. Conservez-le même si l’interface d’administration est en français."
    }
  },
  {
    "key": "pstq_admin_col_routing",
    "tooltipKey": "pstq_admin_col_routing_tooltip",
    "label": {
      "en": "Routing (JSON)",
      "fr": "Cheminement (JSON)"
    },
    "tooltip": {
      "en": "Optional per-question routing JSON. Prefer Settings → routing rules for global rules.",
      "fr": "JSON de cheminement facultatif par question. Préférez Paramètres → règles de cheminement pour les règles globales."
    }
  },
  {
    "key": "pstq_admin_col_sort_order",
    "tooltipKey": "pstq_admin_col_sort_order_tooltip",
    "label": {
      "en": "Sort order",
      "fr": "Ordre de tri"
    },
    "tooltip": {
      "en": "Display order in tables and on the calculator. Lower numbers appear first.",
      "fr": "Ordre d’affichage dans les tableaux et sur le calculateur. Les plus petits numéros apparaissent en premier."
    }
  },
  {
    "key": "pstq_admin_col_mode",
    "tooltipKey": "pstq_admin_col_mode_tooltip",
    "label": {
      "en": "Mode",
      "fr": "Mode"
    },
    "tooltip": {
      "en": "Spouse mode: without (ME-0104) or with (ME-0120).",
      "fr": "Mode conjoint : without (ME-0104) ou with (ME-0120)."
    }
  },
  {
    "key": "pstq_admin_col_display_fr",
    "tooltipKey": "pstq_admin_col_display_fr_tooltip",
    "label": {
      "en": "Display (FR)",
      "fr": "Affichage (FR)"
    },
    "tooltip": {
      "en": "French answer label as printed on the MIFI form.",
      "fr": "Libellé français de la réponse tel qu’imprimé sur le formulaire MIFI."
    }
  },
  {
    "key": "pstq_admin_col_display_en",
    "tooltipKey": "pstq_admin_col_display_en_tooltip",
    "label": {
      "en": "Display (EN)",
      "fr": "Affichage (EN)"
    },
    "tooltip": {
      "en": "English answer label. Keep both languages.",
      "fr": "Libellé anglais de la réponse. Conservez les deux langues."
    }
  },
  {
    "key": "pstq_admin_col_export",
    "tooltipKey": "pstq_admin_col_export_tooltip",
    "label": {
      "en": "Export",
      "fr": "Export"
    },
    "tooltip": {
      "en": "Code written into the prefilled MIFI PDF for this option.",
      "fr": "Code écrit dans le PDF MIFI prérempli pour cette option."
    }
  },
  {
    "key": "pstq_admin_col_points",
    "tooltipKey": "pstq_admin_col_points_tooltip",
    "label": {
      "en": "Points",
      "fr": "Points"
    },
    "tooltip": {
      "en": "Points awarded for this option. May be empty for some LD13 rows.",
      "fr": "Points attribués pour cette option. Peut être vide pour certaines lignes LD13."
    }
  },
  {
    "key": "pstq_admin_col_tip_fr",
    "tooltipKey": "pstq_admin_col_tip_fr_tooltip",
    "label": {
      "en": "Tip (FR)",
      "fr": "Infobulle (FR)"
    },
    "tooltip": {
      "en": "French help text shown beside this field on the user-portal calculator.",
      "fr": "Texte d’aide français affiché à côté de ce champ sur le calculateur du portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_col_tip_en",
    "tooltipKey": "pstq_admin_col_tip_en_tooltip",
    "label": {
      "en": "Tip (EN)",
      "fr": "Infobulle (EN)"
    },
    "tooltip": {
      "en": "English help text shown beside this field on the user-portal calculator.",
      "fr": "Texte d’aide anglais affiché à côté de ce champ sur le calculateur du portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_col_diploma",
    "tooltipKey": "pstq_admin_col_diploma_tooltip",
    "label": {
      "en": "Diploma",
      "fr": "Diplôme"
    },
    "tooltip": {
      "en": "Diploma or test family this conversion row applies to.",
      "fr": "Diplôme ou famille de test auquel s’applique cette ligne de conversion."
    }
  },
  {
    "key": "pstq_admin_col_oral_written",
    "tooltipKey": "pstq_admin_col_oral_written_tooltip",
    "label": {
      "en": "Oral / written",
      "fr": "Oral / écrit"
    },
    "tooltip": {
      "en": "Whether this band applies to oral or written skills.",
      "fr": "Indique si cette bande s’applique aux compétences orales ou écrites."
    }
  },
  {
    "key": "pstq_admin_col_min_score",
    "tooltipKey": "pstq_admin_col_min_score_tooltip",
    "label": {
      "en": "Min score",
      "fr": "Note minimale"
    },
    "tooltip": {
      "en": "Inclusive minimum score for this conversion band.",
      "fr": "Note minimale inclusive pour cette bande de conversion."
    }
  },
  {
    "key": "pstq_admin_col_max_score",
    "tooltipKey": "pstq_admin_col_max_score_tooltip",
    "label": {
      "en": "Max score",
      "fr": "Note maximale"
    },
    "tooltip": {
      "en": "Inclusive maximum score for this conversion band.",
      "fr": "Note maximale inclusive pour cette bande de conversion."
    }
  },
  {
    "key": "pstq_admin_col_band",
    "tooltipKey": "pstq_admin_col_band_tooltip",
    "label": {
      "en": "Band",
      "fr": "Bande"
    },
    "tooltip": {
      "en": "Resulting French band or level for this score range.",
      "fr": "Bande ou niveau de français résultant pour cette plage de notes."
    }
  },
  {
    "key": "pstq_admin_col_band_labels",
    "tooltipKey": "pstq_admin_col_band_labels_tooltip",
    "label": {
      "en": "Band labels (JSON)",
      "fr": "Libellés de bande (JSON)"
    },
    "tooltip": {
      "en": "Optional bilingual labels for this band.",
      "fr": "Libellés bilingues facultatifs pour cette bande."
    }
  },
  {
    "key": "pstq_admin_col_page",
    "tooltipKey": "pstq_admin_col_page_tooltip",
    "label": {
      "en": "Page",
      "fr": "Page"
    },
    "tooltip": {
      "en": "Source page number in the official regulated occupations document.",
      "fr": "Numéro de page dans le document officiel des professions réglementées."
    }
  },
  {
    "key": "pstq_admin_col_noc",
    "tooltipKey": "pstq_admin_col_noc_tooltip",
    "label": {
      "en": "NOC",
      "fr": "CNP"
    },
    "tooltip": {
      "en": "National Occupational Classification (NOC / CNP) code.",
      "fr": "Code de la Classification nationale des professions (CNP / NOC)."
    }
  },
  {
    "key": "pstq_admin_col_profession",
    "tooltipKey": "pstq_admin_col_profession_tooltip",
    "label": {
      "en": "Profession",
      "fr": "Profession"
    },
    "tooltip": {
      "en": "Regulated profession title.",
      "fr": "Titre de la profession réglementée."
    }
  },
  {
    "key": "pstq_admin_col_authority",
    "tooltipKey": "pstq_admin_col_authority_tooltip",
    "label": {
      "en": "Authority",
      "fr": "Autorité de réglementation"
    },
    "tooltip": {
      "en": "Regulatory authority for this profession.",
      "fr": "Autorité de réglementation de cette profession."
    }
  },
  {
    "key": "pstq_admin_col_jobs",
    "tooltipKey": "pstq_admin_col_jobs_tooltip",
    "label": {
      "en": "Jobs",
      "fr": "Emplois"
    },
    "tooltip": {
      "en": "Which jobs in the occupation are regulated (all or some).",
      "fr": "Emplois de la profession qui sont réglementés (tous ou certains)."
    }
  },
  {
    "key": "pstq_admin_col_full",
    "tooltipKey": "pstq_admin_col_full_tooltip",
    "label": {
      "en": "Full",
      "fr": "Tous les emplois"
    },
    "tooltip": {
      "en": "When checked, all jobs in this occupation are regulated.",
      "fr": "Lorsque coché, tous les emplois de cette profession sont réglementés."
    }
  },
  {
    "key": "pstq_admin_col_title_en",
    "tooltipKey": "pstq_admin_col_title_en_tooltip",
    "label": {
      "en": "Title (EN)",
      "fr": "Titre (EN)"
    },
    "tooltip": {
      "en": "English occupation title. Keep both languages.",
      "fr": "Titre anglais de la profession. Conservez les deux langues."
    }
  },
  {
    "key": "pstq_admin_col_title_fr",
    "tooltipKey": "pstq_admin_col_title_fr_tooltip",
    "label": {
      "en": "Title (FR)",
      "fr": "Titre (FR)"
    },
    "tooltip": {
      "en": "French occupation title. Keep both languages.",
      "fr": "Titre français de la profession. Conservez les deux langues."
    }
  },
  {
    "key": "pstq_admin_col_official_code",
    "tooltipKey": "pstq_admin_col_official_code_tooltip",
    "label": {
      "en": "Official code",
      "fr": "Code officiel"
    },
    "tooltip": {
      "en": "Labour-market diagnostic code: deficit, slight_deficit, equilibrium, slight_surplus, surplus, or unpublished.",
      "fr": "Code de diagnostic du marché du travail : deficit, slight_deficit, equilibrium, slight_surplus, surplus ou unpublished."
    }
  },
  {
    "key": "pstq_admin_col_term_key",
    "tooltipKey": "pstq_admin_col_term_key_tooltip",
    "label": {
      "en": "Term key",
      "fr": "Clé de terme"
    },
    "tooltip": {
      "en": "Stable chrome term key used by the user-portal calculator.",
      "fr": "Clé stable du terme d’interface utilisée par le calculateur du portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_col_text_en",
    "tooltipKey": "pstq_admin_col_text_en_tooltip",
    "label": {
      "en": "Text (EN)",
      "fr": "Texte (EN)"
    },
    "tooltip": {
      "en": "English chrome string. Keep official MIFI English wording.",
      "fr": "Texte anglais de l’interface. Conservez le libellé anglais officiel MIFI."
    }
  },
  {
    "key": "pstq_admin_col_text_fr",
    "tooltipKey": "pstq_admin_col_text_fr_tooltip",
    "label": {
      "en": "Text (FR)",
      "fr": "Texte (FR)"
    },
    "tooltip": {
      "en": "French chrome string. Keep official MIFI French wording.",
      "fr": "Texte français de l’interface. Conservez le libellé français officiel MIFI."
    }
  },
  {
    "key": "pstq_admin_official_code_placeholder",
    "tooltipKey": "pstq_admin_official_code_placeholder_tooltip",
    "label": {
      "en": "Select diagnostic code…",
      "fr": "Sélectionner le code de diagnostic…"
    },
    "tooltip": {
      "en": "Labour-market diagnostic code for this NOC (CNP).",
      "fr": "Code de diagnostic du marché du travail pour ce CNP (NOC)."
    }
  },
  {
    "key": "pstq_admin_mode_without_value",
    "tooltipKey": "pstq_admin_mode_without_value_tooltip",
    "label": {
      "en": "without",
      "fr": "without"
    },
    "tooltip": {
      "en": "WITHOUT an accompanying spouse (ME-0104). Stored value is without.",
      "fr": "SANS une personne conjointe qui accompagne (ME-0104). La valeur stockée est without."
    }
  },
  {
    "key": "pstq_admin_mode_with_value",
    "tooltipKey": "pstq_admin_mode_with_value_tooltip",
    "label": {
      "en": "with",
      "fr": "with"
    },
    "tooltip": {
      "en": "WITH an accompanying spouse (ME-0120). Stored value is with.",
      "fr": "AVEC une personne conjointe qui accompagne (ME-0120). La valeur stockée est with."
    }
  },
  {
    "key": "pstq_admin_code_deficit",
    "tooltipKey": "pstq_admin_code_deficit_tooltip",
    "label": {
      "en": "deficit",
      "fr": "deficit"
    },
    "tooltip": {
      "en": "Diagnostic: labour-market deficit.",
      "fr": "Diagnostic : déficit du marché du travail."
    }
  },
  {
    "key": "pstq_admin_code_slight_deficit",
    "tooltipKey": "pstq_admin_code_slight_deficit_tooltip",
    "label": {
      "en": "slight_deficit",
      "fr": "slight_deficit"
    },
    "tooltip": {
      "en": "Diagnostic: slight labour-market deficit.",
      "fr": "Diagnostic : léger déficit du marché du travail."
    }
  },
  {
    "key": "pstq_admin_code_equilibrium",
    "tooltipKey": "pstq_admin_code_equilibrium_tooltip",
    "label": {
      "en": "equilibrium",
      "fr": "equilibrium"
    },
    "tooltip": {
      "en": "Diagnostic: labour-market equilibrium.",
      "fr": "Diagnostic : équilibre du marché du travail."
    }
  },
  {
    "key": "pstq_admin_code_slight_surplus",
    "tooltipKey": "pstq_admin_code_slight_surplus_tooltip",
    "label": {
      "en": "slight_surplus",
      "fr": "slight_surplus"
    },
    "tooltip": {
      "en": "Diagnostic: slight labour-market surplus.",
      "fr": "Diagnostic : léger surplus du marché du travail."
    }
  },
  {
    "key": "pstq_admin_code_surplus",
    "tooltipKey": "pstq_admin_code_surplus_tooltip",
    "label": {
      "en": "surplus",
      "fr": "surplus"
    },
    "tooltip": {
      "en": "Diagnostic: labour-market surplus.",
      "fr": "Diagnostic : surplus du marché du travail."
    }
  },
  {
    "key": "pstq_admin_code_unpublished",
    "tooltipKey": "pstq_admin_code_unpublished_tooltip",
    "label": {
      "en": "unpublished",
      "fr": "unpublished"
    },
    "tooltip": {
      "en": "Diagnostic: unpublished.",
      "fr": "Diagnostic : non publié."
    }
  },
  {
    "key": "pstq_admin_create_draft_title",
    "tooltipKey": "pstq_admin_create_draft_title_tooltip",
    "label": {
      "en": "Create draft ruleset",
      "fr": "Créer un jeu de règles brouillon"
    },
    "tooltip": {
      "en": "Creates an empty draft. Optional key; otherwise a key is generated.",
      "fr": "Crée un brouillon vide. Clé facultative; sinon une clé est générée."
    }
  },
  {
    "key": "pstq_admin_create_draft_key",
    "tooltipKey": "pstq_admin_create_draft_key_tooltip",
    "label": {
      "en": "Key (optional)",
      "fr": "Clé (facultatif)"
    },
    "tooltip": {
      "en": "Optional unique key. Leave empty to auto-generate.",
      "fr": "Clé unique facultative. Laissez vide pour la générer automatiquement."
    }
  },
  {
    "key": "pstq_admin_create_draft_placeholder",
    "tooltipKey": "pstq_admin_create_draft_placeholder_tooltip",
    "label": {
      "en": "Auto-generated if empty",
      "fr": "Générée automatiquement si vide"
    },
    "tooltip": {
      "en": "Leave blank to let the server generate a draft key.",
      "fr": "Laissez vide pour laisser le serveur générer une clé de brouillon."
    }
  },
  {
    "key": "pstq_admin_create_confirm",
    "tooltipKey": "pstq_admin_create_confirm_tooltip",
    "label": {
      "en": "Create",
      "fr": "Créer"
    },
    "tooltip": {
      "en": "Create the empty draft ruleset.",
      "fr": "Créer le jeu de règles brouillon vide."
    }
  },
  {
    "key": "pstq_admin_clone_title",
    "tooltipKey": "pstq_admin_clone_title_tooltip",
    "label": {
      "en": "Clone ruleset",
      "fr": "Cloner le jeu de règles"
    },
    "tooltip": {
      "en": "Creates a new draft with a full copy of all tables.",
      "fr": "Crée un nouveau brouillon avec une copie complète de tous les tableaux."
    }
  },
  {
    "key": "pstq_admin_clone_description",
    "tooltipKey": "pstq_admin_clone_description_tooltip",
    "label": {
      "en": "Creates a new draft with a full copy of questions, options, tooltips, occupations, French conversion, regulated professions, and terms.",
      "fr": "Crée un nouveau brouillon avec une copie complète des questions, options, infobulles, professions, conversion du français, professions réglementées et termes."
    },
    "tooltip": {
      "en": "Use this when MIFI updates scoring: clone current, edit the draft, then publish.",
      "fr": "Utilisez ceci lorsque le MIFI met à jour le pointage : clonez le courant, modifiez le brouillon, puis publiez."
    }
  },
  {
    "key": "pstq_admin_clone_key",
    "tooltipKey": "pstq_admin_clone_key_tooltip",
    "label": {
      "en": "New key (optional)",
      "fr": "Nouvelle clé (facultatif)"
    },
    "tooltip": {
      "en": "Optional unique key for the cloned draft.",
      "fr": "Clé unique facultative pour le brouillon cloné."
    }
  },
  {
    "key": "pstq_admin_clone_confirm",
    "tooltipKey": "pstq_admin_clone_confirm_tooltip",
    "label": {
      "en": "Clone",
      "fr": "Cloner"
    },
    "tooltip": {
      "en": "Create the cloned draft and open it.",
      "fr": "Créer le brouillon cloné et l’ouvrir."
    }
  },
  {
    "key": "pstq_admin_publish_title",
    "tooltipKey": "pstq_admin_publish_title_tooltip",
    "label": {
      "en": "Publish this ruleset?",
      "fr": "Publier ce jeu de règles?"
    },
    "tooltip": {
      "en": "Publishing marks this draft as the current published ruleset for the user portal.",
      "fr": "La publication fait de ce brouillon le jeu de règles publié courant pour le portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_publish_description",
    "tooltipKey": "pstq_admin_publish_description_tooltip",
    "label": {
      "en": "Publishing marks this draft as the current published ruleset for the user portal. Required tables: questions, options, tooltips, French conversion, occupations, regulated professions, and terms.",
      "fr": "La publication fait de ce brouillon le jeu de règles publié courant pour le portail utilisateur. Tableaux requis : questions, options, infobulles, conversion du français, professions, professions réglementées et termes."
    },
    "tooltip": {
      "en": "The previous current ruleset remains published but is no longer current. This draft becomes read-only.",
      "fr": "Le jeu courant précédent reste publié mais n’est plus courant. Ce brouillon devient en lecture seule."
    }
  },
  {
    "key": "pstq_admin_publish_confirm",
    "tooltipKey": "pstq_admin_publish_confirm_tooltip",
    "label": {
      "en": "Publish",
      "fr": "Publier"
    },
    "tooltip": {
      "en": "Publish this draft to the user-portal PSTQ calculator.",
      "fr": "Publier ce brouillon comme calculateur PSTQ du portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_toast_settings_saved",
    "tooltipKey": "pstq_admin_toast_settings_saved_tooltip",
    "label": {
      "en": "Settings saved",
      "fr": "Paramètres enregistrés"
    },
    "tooltip": {
      "en": "Draft settings were saved.",
      "fr": "Les paramètres du brouillon ont été enregistrés."
    }
  },
  {
    "key": "pstq_admin_toast_constants_object",
    "tooltipKey": "pstq_admin_toast_constants_object_tooltip",
    "label": {
      "en": "Constants must be a JSON object",
      "fr": "Les constantes doivent être un objet JSON"
    },
    "tooltip": {
      "en": "Fix the advanced JSON so it is a JSON object, not an array or primitive.",
      "fr": "Corrigez le JSON avancé pour qu’il s’agisse d’un objet JSON, et non d’un tableau ou d’une primitive."
    }
  },
  {
    "key": "pstq_admin_toast_constants_json",
    "tooltipKey": "pstq_admin_toast_constants_json_tooltip",
    "label": {
      "en": "Constants must be valid JSON",
      "fr": "Les constantes doivent être un JSON valide"
    },
    "tooltip": {
      "en": "The advanced constants editor contains invalid JSON.",
      "fr": "Le JSON avancé des constantes est invalide."
    }
  },
  {
    "key": "pstq_admin_toast_failed_save_settings",
    "tooltipKey": "pstq_admin_toast_failed_save_settings_tooltip",
    "label": {
      "en": "Failed to save settings",
      "fr": "Échec de l’enregistrement des paramètres"
    },
    "tooltip": {
      "en": "The server rejected the settings save. Check the draft and try again.",
      "fr": "Le serveur a refusé l’enregistrement des paramètres. Vérifiez le brouillon et réessayez."
    }
  },
  {
    "key": "pstq_admin_toast_failed_load_rulesets",
    "tooltipKey": "pstq_admin_toast_failed_load_rulesets_tooltip",
    "label": {
      "en": "Failed to load rulesets",
      "fr": "Échec du chargement des jeux de règles"
    },
    "tooltip": {
      "en": "Could not load the ruleset list.",
      "fr": "Impossible de charger la liste des jeux de règles."
    }
  },
  {
    "key": "pstq_admin_toast_failed_load_ruleset",
    "tooltipKey": "pstq_admin_toast_failed_load_ruleset_tooltip",
    "label": {
      "en": "Failed to load ruleset",
      "fr": "Échec du chargement du jeu de règles"
    },
    "tooltip": {
      "en": "Could not load the selected ruleset.",
      "fr": "Impossible de charger le jeu de règles sélectionné."
    }
  },
  {
    "key": "pstq_admin_toast_draft_created",
    "tooltipKey": "pstq_admin_toast_draft_created_tooltip",
    "label": {
      "en": "Draft ruleset created",
      "fr": "Jeu de règles brouillon créé"
    },
    "tooltip": {
      "en": "An empty draft was created.",
      "fr": "Un brouillon vide a été créé."
    }
  },
  {
    "key": "pstq_admin_toast_failed_create",
    "tooltipKey": "pstq_admin_toast_failed_create_tooltip",
    "label": {
      "en": "Failed to create draft",
      "fr": "Échec de la création du brouillon"
    },
    "tooltip": {
      "en": "The server could not create a draft ruleset.",
      "fr": "Le serveur n’a pas pu créer de jeu de règles brouillon."
    }
  },
  {
    "key": "pstq_admin_toast_cloned",
    "tooltipKey": "pstq_admin_toast_cloned_tooltip",
    "label": {
      "en": "Cloned to new draft",
      "fr": "Cloné dans un nouveau brouillon"
    },
    "tooltip": {
      "en": "A full copy of this ruleset was created as a draft.",
      "fr": "Une copie complète de ce jeu de règles a été créée en brouillon."
    }
  },
  {
    "key": "pstq_admin_toast_failed_clone",
    "tooltipKey": "pstq_admin_toast_failed_clone_tooltip",
    "label": {
      "en": "Failed to clone ruleset",
      "fr": "Échec du clonage du jeu de règles"
    },
    "tooltip": {
      "en": "The server could not clone this ruleset.",
      "fr": "Le serveur n’a pas pu cloner ce jeu de règles."
    }
  },
  {
    "key": "pstq_admin_toast_published",
    "tooltipKey": "pstq_admin_toast_published_tooltip",
    "label": {
      "en": "Ruleset published",
      "fr": "Jeu de règles publié"
    },
    "tooltip": {
      "en": "This ruleset is now the current published ruleset for the user portal.",
      "fr": "Ce jeu de règles est maintenant le jeu publié courant pour le portail utilisateur."
    }
  },
  {
    "key": "pstq_admin_toast_failed_publish",
    "tooltipKey": "pstq_admin_toast_failed_publish_tooltip",
    "label": {
      "en": "Failed to publish ruleset",
      "fr": "Échec de la publication du jeu de règles"
    },
    "tooltip": {
      "en": "Publish requires non-empty questions, options, tooltips, French conversion, occupations, regulated professions, and terms.",
      "fr": "La publication exige des questions, options, infobulles, conversion du français, professions, professions réglementées et termes non vides."
    }
  },
  {
    "key": "pstq_admin_toast_field_required",
    "tooltipKey": "pstq_admin_toast_field_required_tooltip",
    "label": {
      "en": "{field} is required",
      "fr": "{field} est obligatoire"
    },
    "tooltip": {
      "en": "Fill this required field before saving the row.",
      "fr": "Remplissez ce champ obligatoire avant d’enregistrer la ligne."
    }
  },
  {
    "key": "pstq_admin_toast_row_updated",
    "tooltipKey": "pstq_admin_toast_row_updated_tooltip",
    "label": {
      "en": "Row updated",
      "fr": "Ligne mise à jour"
    },
    "tooltip": {
      "en": "The row was saved.",
      "fr": "La ligne a été enregistrée."
    }
  },
  {
    "key": "pstq_admin_toast_row_created",
    "tooltipKey": "pstq_admin_toast_row_created_tooltip",
    "label": {
      "en": "Row created",
      "fr": "Ligne créée"
    },
    "tooltip": {
      "en": "The new row was saved.",
      "fr": "La nouvelle ligne a été enregistrée."
    }
  },
  {
    "key": "pstq_admin_toast_failed_save_row",
    "tooltipKey": "pstq_admin_toast_failed_save_row_tooltip",
    "label": {
      "en": "Failed to save row",
      "fr": "Échec de l’enregistrement de la ligne"
    },
    "tooltip": {
      "en": "The server rejected this row.",
      "fr": "Le serveur a refusé cette ligne."
    }
  },
  {
    "key": "pstq_admin_toast_row_deleted",
    "tooltipKey": "pstq_admin_toast_row_deleted_tooltip",
    "label": {
      "en": "Row deleted",
      "fr": "Ligne supprimée"
    },
    "tooltip": {
      "en": "The row was deleted from this draft.",
      "fr": "La ligne a été supprimée de ce brouillon."
    }
  },
  {
    "key": "pstq_admin_toast_failed_delete",
    "tooltipKey": "pstq_admin_toast_failed_delete_tooltip",
    "label": {
      "en": "Failed to delete row",
      "fr": "Échec de la suppression de la ligne"
    },
    "tooltip": {
      "en": "The server could not delete this row.",
      "fr": "Le serveur n’a pas pu supprimer cette ligne."
    }
  },
  {
    "key": "pstq_admin_toast_failed_load_rows",
    "tooltipKey": "pstq_admin_toast_failed_load_rows_tooltip",
    "label": {
      "en": "Failed to load rows",
      "fr": "Échec du chargement des lignes"
    },
    "tooltip": {
      "en": "Could not load this table.",
      "fr": "Impossible de charger les lignes de ce tableau."
    }
  },
  {
    "key": "pstq_admin_toast_failed_export",
    "tooltipKey": "pstq_admin_toast_failed_export_tooltip",
    "label": {
      "en": "Failed to export CSV",
      "fr": "Échec de l’export CSV"
    },
    "tooltip": {
      "en": "Could not download the CSV.",
      "fr": "Impossible de télécharger le CSV."
    }
  },
  {
    "key": "pstq_admin_toast_csv_invalid",
    "tooltipKey": "pstq_admin_toast_csv_invalid_tooltip",
    "label": {
      "en": "CSV must have a header row and at least one data row",
      "fr": "Le CSV doit avoir une ligne d’en-tête et au moins une ligne de données"
    },
    "tooltip": {
      "en": "Fix the CSV and try importing again.",
      "fr": "Corrigez le CSV et réessayez l’import."
    }
  },
  {
    "key": "pstq_admin_toast_imported",
    "tooltipKey": "pstq_admin_toast_imported_tooltip",
    "label": {
      "en": "Imported {count} rows",
      "fr": "{count} lignes importées"
    },
    "tooltip": {
      "en": "The table was replaced with the imported rows.",
      "fr": "Le tableau a été remplacé par les lignes importées."
    }
  },
  {
    "key": "pstq_admin_toast_import_failed",
    "tooltipKey": "pstq_admin_toast_import_failed_tooltip",
    "label": {
      "en": "Import failed",
      "fr": "Échec de l’import"
    },
    "tooltip": {
      "en": "The server rejected the CSV import.",
      "fr": "Le serveur a refusé l’import CSV."
    }
  },
  {
    "key": "pstq_admin_invalid_json_for",
    "tooltipKey": "pstq_admin_invalid_json_for_tooltip",
    "label": {
      "en": "Invalid JSON for {field}",
      "fr": "JSON invalide pour {field}"
    },
    "tooltip": {
      "en": "Fix the JSON in this field before saving.",
      "fr": "Corrigez le JSON de ce champ avant d’enregistrer."
    }
  },
  {
    "key": "pstq_admin_routing_json_error",
    "tooltipKey": "pstq_admin_routing_json_error_tooltip",
    "label": {
      "en": "One or more routing rule “when” blocks have invalid JSON. Changes apply when JSON is valid.",
      "fr": "Un ou plusieurs blocs « when » des règles de cheminement ont un JSON invalide. Les changements s’appliquent lorsque le JSON est valide."
    },
    "tooltip": {
      "en": "Correct the When (JSON) field so it parses as an object.",
      "fr": "Corrigez le champ Condition (JSON) pour qu’il soit un objet analysable."
    }
  }
]
