{
  "PF2E_VISIONER": {
    "ENVIRONMENT": {},
    "MODULE_TITLE": "PF2E Visioner",
    "TOKEN_MANAGER": {
      "TITLE": "Gestionnaire de visibilité de jeton",
      "OBSERVER": "Jeton observateur",
      "TARGET": "Jeton cible",
      "VISIBILITY_STATE": "État de visibilité",
      "COVER_STATE": "État d'abri",
      "NO_TOKENS": "Aucun jeton disponible sur cette scène",
      "APPLY": "Appliquer l'actuel",
      "APPLY_BOTH": "Appliquer les deux",
      "CANCEL": "Effacer",
      "RESET": "Mode de réinitialisation",
      "BULK_ACTIONS": "Actions de masse",
      "VISIBILITY_TAB": "Visibilité",
      "COVER_TAB": "Abri"
    },
    "VISIBILITY_STATES": {
      "avs": "AVS",
      "observed": "Observé",
      "hidden": "Caché",
      "undetected": "Non détecté",
      "concealed": "Masqué"
    },
    "COVER_STATES": {
      "none": "Pas d'abri",
      "lesser": "Abri inférieur",
      "standard": "Abri standard",
      "greater": "Abri supérieur"
    },
    "SENSES": {
      "LIGHT-PERCEPTION": "(FR TODO) Light Perception",
      "LIGHT-PERCEPTION_DESC": "(FR TODO) You can perceive light and darkness. This sense allows you to see in natural darkness but is affected by magical darkness.",
      "VISION": "(FR TODO) Vision",
      "VISION_DESC": "(FR TODO) Your standard visual sense used to perceive your surroundings.",
      "DARKVISION": "(FR TODO) Darkvision",
      "DARKVISION_DESC": "(FR TODO) You can see in darkness and dim light just as well as in bright light, though you can't distinguish color in darkness.",
      "GREATER-DARKVISION": "(FR TODO) Greater Darkvision",
      "GREATER-DARKVISION_DESC": "(FR TODO) You can see in darkness and dim light as if it were bright light—colors included.",
      "HEARING": "(FR TODO) Hearing",
      "HEARING_DESC": "(FR TODO) You can detect creatures and events via sound within range (imprecise).",
      "TREMORSENSE": "(FR TODO) Tremorsense",
      "TREMORSENSE_DESC": "(FR TODO) You can sense vibrations through the ground within range (imprecise).",
      "SCENT": "(FR TODO) Scent",
      "SCENT_DESC": "(FR TODO) You have an enhanced sense of smell, allowing you to detect living creatures within range (imprecise).",
      "ECHOLOCATION": "(FR TODO) Echolocation",
      "ECHOLOCATION_DESC": "(FR TODO) You can use sound to navigate and detect objects within range (precise).",
      "LIFESENSE": "(FR TODO) Lifesense",
      "LIFESENSE_DESC": "(FR TODO) You can sense the life force of living and undead creatures within range (imprecise)."
    },
    "VISUAL_EFFECTS": {
      "CONCEALED_OVERLAY": "Ce jeton vous est masqué",
      "CONCEALED_FLAT_CHECK": "(FR TODO) DC 5 flat check required for targeting",
      "UNDETECTED_CONDITION": "(FR TODO) Undetected condition applied with full mechanical effects",
      "CONCEALED_TOOLTIP": "(FR TODO) Concealed: You must succeed at a DC 5 flat check when targeting with an attack, spell, or other effect",
      "UNDETECTED_TOOLTIP": "(FR TODO) Undetected: You don't know the target's location. You are off-guard to the target and you can't easily target it. Using the Seek action can help find an undetected creature",
      "DAZZLED_OVERRIDE": "(FR TODO) All creatures appear Concealed due to Dazzled condition",
      "NO_COVER_TOOLTIP": "(FR TODO) No Cover: No bonuses or penalties",
      "GREATER_COVER_TOOLTIP": "(FR TODO) Greater Cover: +4 circumstance bonus to AC, Reflex saves, and Stealth checks. Can Hide behind this cover."
    },
    "SPECIAL_SENSES": {
      "vision": "(FR TODO) Vision",
      "vision_description": "(FR TODO) Standard visual sense.",
      "low_light_vision": "(FR TODO) Vision en faible luminosité",
      "low_light_vision_description": "(FR TODO) Vous voyez en faible luminosité comme en pleine lumière.",
      "infrared_vision": "(FR TODO) Vision infrarouge",
      "infrared_vision_description": "(FR TODO) Vous percevez les signatures thermiques.",
      "truesight": "(FR TODO) Vision véritable",
      "truesight_description": "(FR TODO) Vous voyez les choses telles qu'elles sont réellement.",
      "see_the_unseen": "(FR TODO) Voir l'invisible",
      "see_the_unseen_description": "(FR TODO) Vous percevez des phénomènes autrement invisibles.",
      "bloodsense": "(FR TODO) Sens du sang",
      "bloodsense_description": "(FR TODO) Vous détectez le sang à proximité.",
      "magicsense": "(FR TODO) Sens de la magie",
      "magicsense_description": "(FR TODO) Vous sentez les auras magiques.",
      "motion_sense": "(FR TODO) Sens du mouvement",
      "motion_sense_description": "(FR TODO) Vous détectez les mouvements à proximité.",
      "spiritsense": "(FR TODO) Sens des esprits",
      "spiritsense_description": "(FR TODO) Vous percevez les esprits et morts-vivants.",
      "thoughtsense": "(FR TODO) Sens de la pensée",
      "thoughtsense_description": "(FR TODO) Vous détectez les créatures pensantes.",
      "wavesense": "(FR TODO) Sens des ondes",
      "wavesense_description": "(FR TODO) Vous percevez les vibrations/ondes dans un médium.",
      "lifesense": "(FR TODO) Lifesense",
      "lifesense_description": "(FR TODO) You have a limited ability to sense life force. You gain lifesense as an imprecise sense. This allows you to sense the life force of living and undead creatures within the listed range. The sense can distinguish between the vitality energy animating living creatures and the void energy animating undead creatures.",
      "echolocation": "(FR TODO) Echolocation",
      "echolocation_description": "(FR TODO) You can use sound to navigate and detect objects. You gain echolocation as a precise sense. This allows you to detect all creatures and objects within range through sound reflection.",
      "tremorsense": "(FR TODO) Tremorsense",
      "tremorsense_description": "(FR TODO) You can sense vibrations through the ground. You gain tremorsense as an imprecise sense. This allows you to detect creatures and objects in contact with the ground within range.",
      "scent": "(FR TODO) Scent",
      "scent_description": "(FR TODO) You have an enhanced sense of smell. You gain scent as an imprecise sense. This allows you to detect living creatures by their scent within range.",
      "darkvision": "(FR TODO) Darkvision",
      "darkvision_description": "(FR TODO) You can see in darkness and dim light just as well as in bright light, though you can’t distinguish color in darkness.",
      "greater_darkvision": "(FR TODO) Greater Darkvision",
      "greater_darkvision_description": "(FR TODO) You can see in darkness and dim light as if it were bright light—colors included.",
      "hearing": "(FR TODO) Hearing",
      "hearing_description": "(FR TODO) You can detect creatures and events via sound within range (imprecise)."
    },
    "MECHANICAL_EFFECTS": {
      "HIDDEN_FLAT_CHECK": "un test nu DD 11 est requis pour cibler",
      "CONCEALED_FLAT_CHECK": "Un test nu DD 5 est requis pour cibler",
      "UNDETECTED_CONDITION": "État Non détecté est appliqué avec la totalité des effets mécaniques",
      "VISIBLE_NO_EFFECTS": "Ni pénalité pour cibler, ni effet",
      "HIDDEN_TOOLTIP": "Caché : Vous êtes Pris au dépourvu par la cible et vous devez réussir un test nu DD 11 lorsque vous la ciblez avec une attaque, un sort ou un autre effet",
      "CONCEALED_TOOLTIP": "Masqué : Vous devez réussir un test nu DD 5 pour cibler avec une attaque, un sort ou un autre effet",
      "UNDETECTED_TOOLTIP": "Non détecté : Vous ignorez l'emplacement de la cible. Vous êtes Pris au dépourvu par la cible et vous ne pouvez facilement la cibler. Utiliser l'action Chercher peut aider à trouver une créature Non détectée",
      "VISIBLE_TOOLTIP": "Visible : Ni pénalité, ni effet",
      "BLINDED_OVERRIDE": "Toutes les créatures vous sont Cachées à cause de l'état Aveugle",
      "DAZZLED_OVERRIDE": "Toutes les créatures vous sont Masquées à cause de l'état Ébloui",
      "NO_COVER_TOOLTIP": "Pas d'abri : Ni pénalité, ni effet",
      "LESSER_COVER_TOOLTIP": "Abri inférieur : bonus de circonstances de +1 à la CA",
      "STANDARD_COVER_TOOLTIP": "Abri standard : bonus de circonstances de +2 à la CA, aux jets de Réflexes et aux tests de Discrétion. Peut se cacher derrière cet abri.",
      "GREATER_COVER_TOOLTIP": "Abri supérieur : bonus de circonstances de +4 à la CA, aux jets de Réflexes et aux tests de Discrétion. Peut se cacher derrière cet abri."
    },
    "NOTIFICATIONS": {
      "NO_OBSERVER_SELECTED": "Svp, choisissez d'abor un jeton observateur",
      "MULTIPLE_OBSERVERS": "Plusieurs jetons observateurs sélectionnés. Svp, choissez en un seul",
      "NO_SOCKETLIB_INSTALLED": "PF2E Visioner a besoin de fonctionner avec le module socketlib pour être actif en vue de rafraichir automatiquement les écrans du client. Activez le svp.",
      "PERMISSION_DENIED": "Only GMs can manage token visibility and cover (FR TODO)",
      "SNEAK_CLEAR_GM_ONLY": "Only GMs can clear sneak flags (FR TODO)",
      "SCENE_CLEAR_GM_ONLY": "Only GMs can clear Visioner scene data (FR TODO)",
      "DATA_CLEAR_GM_ONLY": "Only GMs can clear Visioner data (FR TODO)",
      "NO_ACTIVE_SCENE": "No active scene. (FR TODO)",
      "NO_TOKENS_PROVIDED": "No tokens provided for cleanup (FR TODO)",
      "SNEAK_CLEARED": "PF2E Visioner: Cleared all sneak flags. (FR TODO)",
      "SNEAK_CLEAR_FAILED": "PF2E Visioner: Failed to clear sneak flags. See console. (FR TODO)",
      "SCENE_DATA_CLEARED": "PF2E Visioner: Cleared all scene data. (FR TODO)",
      "SCENE_CLEAR_FAILED": "PF2E Visioner: Failed to clear scene data. See console. (FR TODO)",
      "TOKEN_DATA_CLEARED": "PF2E Visioner: Cleared all token data. (FR TODO)",
      "TOKEN_CLEAR_FAILED": "PF2E Visioner: Failed to clear token data. See console. (FR TODO)",
      "CACHE_CLEARED": "Light-emitting tokens cache cleared (FR TODO)",
      "CACHE_UNAVAILABLE": "Cache clearing not available (FR TODO)",
      "VISION_CACHE_UNAVAILABLE": "Vision cache clearing not available (FR TODO)",
      "ALL_CACHES_CLEARED": "All caches cleared and visibility recalculated (FR TODO)",
      "SELECT_TWO_TOKENS": "Select exactly 2 tokens: observer and target (FR TODO)",
      "SCENE_CONFIG_RESET": "Scene Config flag reset - updates should resume (FR TODO)",
      "AVS_UNAVAILABLE": "PF2E Visioner | Auto-visibility system not available (FR TODO)",
      "NEED_BOTH_TOKENS": "Need both observer and target tokens (FR TODO)",
      "SELECT_TWO_TOKENS_OR_PARAMS": "Select exactly 2 tokens or provide observer and target parameters (FR TODO)",
      "NO_DEFERRED_TOKENS": "No deferred tokens found to undefer. (FR TODO)",
      "NO_UNDEFERRED_TOKENS": "No undeferred tokens found to restore to deferred state. (FR TODO)",
      "NO_SNEAK_DIALOG": "No active sneak dialog found (FR TODO)",
      "NO_TOKEN_ID": "No token ID found on button (FR TODO)",
      "END_TURN_FAILED": "Failed to apply end-of-turn visibility changes. (FR TODO)",
      "NO_DEFERRED_POSITIONS": "No deferred position checks to validate. (FR TODO)",
      "NO_DEFERRED_OUTCOMES": "No deferred outcomes found to validate. (FR TODO)",
      "VALIDATION_FAILED": "Failed to process end-of-turn validation. (FR TODO)",
      "PARTY_RESTORE_FAILED": "PF2E Visioner: Failed to restore party tokens (FR TODO)",
      "OVERRIDE_CLEAR_FAILED": "Failed to clear overrides for this table (FR TODO)",
      "OVERRIDE_KEEP_FAILED": "Failed to keep override (FR TODO)",
      "AVS_ACCEPT_FAILED": "Failed to accept AVS change (FR TODO)",
      "AVS_REJECTED_ALL": "Rejected all AVS changes (FR TODO)",
      "AVS_REJECTED": "Rejected AVS changes (FR TODO)",
      "PARTY_RESTORE_SUCCESS": "PF2E Visioner: Restored state for {count} party tokens (FR TODO)",
      "AVS_REJECTED_SINGLE": "Rejected AVS change: {observerName} → {targetName} (FR TODO)",
      "AVS_ACCEPTED_SINGLE": "Accepted AVS change: {observerName} → {targetName} (FR TODO)",
      "AVS_ACCEPTED_COUNT": "Accepted {count} change(s) (FR TODO)",
      "AVS_ACCEPTED_IN_TABLE": "Accepted {count} change(s) in {group} table (FR TODO)",
      "AVS_ACCEPTED_PLURAL": "Accepted {count} AVS change{plural} (FR TODO)",
      "AVS_CLEARED_PLURAL": "Accepted {count} AVS change{plural} (FR TODO)",
      "SNEAK_APPLY_FAILED": "Failed to apply sneak changes: {errors} (FR TODO)",
      "INIT_FAILED": "PF2E Visioner failed to initialize: {error} (FR TODO)",
      "NO_ENCOUNTER_TOKENS": "{moduleId}: No encounter tokens found. Filter disabled. (FR TODO)",
      "NO_VALID_CONSEQUENCES": "No valid targets found for Attack Consequences. you can only see consequences if you are Hidden or Undetected from at least one observer. (FR TODO)"
    },
    "MACROS": {},
    "SEEK_AUTOMATION": {
      "BUTTON_APPLY": "Appliquer les résultats de Chercher",
      "BUTTON_PREVIEW": "Aperçu des résultats",
      "BUTTON_PROCESSED": "Résultats appliqués",
      "BUTTON_TOOLTIP": "Appliquer les changements de visibilité en fonction des résultats de Chercher",
      "NO_UNDETECTED_TOKENS": "Aucun jeton caché ou non détecté n'a été trouvé par l'action chercher de {name}",
      "NO_CHANGES": "Aucun changement de visibilité n'est nécessaire après l'action Chercher de {name}",
      "RESULTS_APPLIED": "Changement de l'action Chercher appliqués automatiquement : {changes}",
      "ERROR_PROCESSING": "Erreur en calculant les résultats de Chercher. Ouvrez la console pour les détails.",
      "PROCESSING": "Calcul des résultats de Chercher...",
      "PREVIEW_TITLE": "Aperçu des résultats de Chercher",
      "PREVIEW_HINT": "Analyse des résultat de l'action Chercher",
      "ROLL_VS_DC": "Lancer les dés contre le DD de Discrétion",
      "OUTCOME": "Résultat",
      "VISIBILITY_CHANGE": "Changement de visibilité",
      "OPEN_RESULTS": "Ouvrir les résultats de Chercher",
      "OPEN_RESULTS_TOOLTIP": "Ouvrir la boite de dialogue des résultats de Chercher pour appliquer les changements individuels ou de masse",
      "SETUP_TEMPLATE": "Définir le gabarit de Chercher",
      "REMOVE_TEMPLATE": "Retirer le gabatit de Chercher",
      "SETUP_TEMPLATE_TOOLTIP": "Cliquer pour placer une explosion de 4,50 mètres quelque part. Chercher ne s'appliquera qu'aux jetons à l'intérieur de la zone",
      "ENCOUNTER_ONLY": "Montrer seulement les jetons de la rencontre",
      "SETTING_NAME": "Activer l'automatisation de Chercher",
      "SETTING_HINT": "Ajoute automatiquement les boutons Chercher aux messages de la conversation pour appliquer les changements de visibilité",
      "OUT_OF_RANGE": "Hors de portée",
      "RANGE_LIMIT_ACTIVE": "La limite de portée est active : Montre seulement les cibles dans un rayon de 9 mètres",
      "RANGE_LIMIT_ACTIVE_CUSTOM": "Limite de portée active : Montre seumement les cibles dans les {distance} pieds ",
      "NO_TARGETS_IN_RANGE": "PAs de cibles valides dans la portée de 9 mètres",
      "NO_TARGETS_IN_RANGE_CUSTOM": "Pas de cibles valides dans la portée de {distance} pieds",
      "ECHOLOCATION_LABEL": "Écholocalisation",
      "ECHOLOCATION_TOOLTIP": "Ouïe précise active jusqu'au début de votre prochain tour",
      "PREVIEW_AVAILABLE_SENSES": "(FR TODO) Available Senses",
      "LIFESENSE_LABEL": "(FR TODO) Lifesense",
      "LIFESENSE_TOOLTIP": "(FR TODO) Can sense living and undead creatures within range (imprecise sense)",
      "UNMET_CONDITIONS": "(FR TODO) Unmet Conditions",
      "SENSE_UNSEEN_BUTTON": "(FR TODO) Sense the Unseen (Reaction)",
      "SENSE_UNSEEN_TOOLTIP": "(FR TODO) Use your Sense the Unseen feat to make undetected creatures hidden",
      "SENSE_UNSEEN_APPLIED": "(FR TODO) Sense the Unseen Applied"
    },
    "SENSE_PRECISION": {
      "PRECISE": "(FR TODO) Precise",
      "IMPRECISE": "(FR TODO) Imprecise"
    },
    "HIDE_AUTOMATION": {
      "BUTTON_APPLY": "Applique les résultats de Se cacher",
      "BUTTON_PREVIEW": "Aperçu des résultats",
      "BUTTON_PROCESSED": "Résultats Appliqués",
      "BUTTON_TOOLTIP": "Applique les changements de visibilité en fonction des résultats de Se Cacher",
      "NO_OBSERVERS": "Aucun observateur n'a été trouvé par l'action Se Cacher de {name}",
      "NO_CHANGES": "Aucun changement de visibilité n'est nécessaire pour l'action Se Cacher de {name}",
      "RESULTS_APPLIED": "Changements de l'automatisation de Se Cacher appliqués : {changes}",
      "ERROR_PROCESSING": "Erreur en calculant les résultats de Se Cacher. Ouvrez la console pour les détails.",
      "PROCESSING": "calcul des résultats de Se Cacher...",
      "PREVIEW_TITLE": "Aperçu des résultats de Se Cacher",
      "PREVIEW_HINT": "Analyse des résultats de l'action Se Cacher",
      "ROLL_VS_DC": "Lancer les dés contre le DD de Perception",
      "OUTCOME": "résultat",
      "VISIBILITY_CHANGE": "Changement de visibilité",
      "OPEN_RESULTS": "Ouvrir les résultats de Se Cacher",
      "OPEN_RESULTS_TOOLTIP": "Ouvrir la boite de dialogue des résultats de Se Cacher pour appliquer les changements individuels ou de masse",
      "ENCOUNTER_ONLY": "Montrer seulement les jetons de la rencontre",
      "SETTING_NAME": "Activer l'automatisation de Se Cacher",
      "SETTING_HINT": "Ajouter automatiquement des boutons pour Se Cacher dans les messages de la conversation pour appliquer les changements de visibilité",
      "BADGES": {
        "TERRAIN_STALKER_LABEL": "(FR TODO) Terrain Stalker",
        "TERRAIN_STALKER_TOOLTIP": "(FR TODO) Chosen terrains active: {selection} (Region: {environments})",
        "VANISH_INTO_THE_LAND_LABEL": "(FR TODO) Vanish into the Land",
        "VANISH_INTO_THE_LAND_TOOLTIP": "(FR TODO) You can Hide and Sneak even without cover or concealment in your chosen difficult terrain",
        "VERY_VERY_SNEAKY_LABEL": "(FR TODO) Very, Very Sneaky",
        "VERY_VERY_SNEAKY_TOOLTIP": "(FR TODO) Cover/concealment requirement is bypassed",
        "LEGENDARY_SNEAK_LABEL": "(FR TODO) Legendary Sneak",
        "LEGENDARY_SNEAK_TOOLTIP": "(FR TODO) Cover/concealment requirement is bypassed",
        "CEASELESS_SHADOWS_LABEL": "(FR TODO) Ceaseless Shadows",
        "CEASELESS_SHADOWS_TOOLTIP": "(FR TODO) Cover/concealment prerequisites are removed",
        "CAMOUFLAGE_LABEL": "(FR TODO) Camouflage",
        "CAMOUFLAGE_TOOLTIP": "(FR TODO) Cover/concealment requirement is bypassed in natural terrain",
        "DISTRACTING_SHADOWS_LABEL": "(FR TODO) Distracting Shadows",
        "DISTRACTING_SHADOWS_TOOLTIP": "(FR TODO) You may use larger creatures as cover for Hide/Sneak prerequisites"
      }
    },
    "SNEAK_AUTOMATION": {
      "BUTTON_APPLY": "Appliquer les résultats d'Être furtif",
      "BUTTON_PREVIEW": "Aperçu des résultats",
      "BUTTON_PROCESSED": "Résultats appliqués",
      "BUTTON_TOOLTIP": "Appliquer les changements de visibiliten fonction des résultats d'Être furtif",
      "NO_OBSERVERS": "Aucun jeton ne peut voir {actor} - pas besoin d'Être furtif",
      "NO_CHANGES": "Être furtif n'a eu aucun effet sur la visibilité",
      "ERROR_PROCESSING": "Erreur en appliquant les résultats d'Être furtif",
      "PROCESSING": "Calcul des résultats d'Être furtif...",
      "PREVIEW_TITLE": "Aperçu des résultats d'Être furtif",
      "PREVIEW_HINT": "Analyse des résultats de l'action Être furtif",
      "ROLL_VS_DC": "Lancer les dés contre le DD de Perception",
      "OUTCOME": "Résultat",
      "VISIBILITY_CHANGE": "Changement de visibilité",
      "OPEN_RESULTS": "Ouvrir les résultats d'Être furtif",
      "OPEN_RESULTS_TOOLTIP": "Ouvrir la boite de dialogue des résultats d'Être furtif pour appliquer les changements individuels ou de masse",
      "ENCOUNTER_ONLY": "Montrer seulement les jetons de la rencontre",
      "SETTING_NAME": "Activer l'automatisation d'Être furtif",
      "SETTING_HINT": "Ajouter automatiquement des boutons pour Être furtif dans les messages de la conversation pour appliquer les changements de visibilité",
      "BADGES": {
        "TERRAIN_STALKER_LABEL": "(FR TODO) Terrain Stalker",
        "TERRAIN_STALKER_TOOLTIP": "(FR TODO) Chosen terrains active: {selection} (Region: {environments})",
        "VANISH_INTO_THE_LAND_LABEL": "(FR TODO) Vanish into the Land",
        "VANISH_INTO_THE_LAND_TOOLTIP": "(FR TODO) You can Sneak even without cover or concealment in your chosen difficult terrain",
        "VERY_VERY_SNEAKY_LABEL": "(FR TODO) Very, Very Sneaky",
        "VERY_VERY_SNEAKY_TOOLTIP": "(FR TODO) Cover/concealment requirement is bypassed",
        "LEGENDARY_SNEAK_LABEL": "(FR TODO) Legendary Sneak",
        "LEGENDARY_SNEAK_TOOLTIP": "(FR TODO) Cover/concealment requirement is bypassed",
        "CEASELESS_SHADOWS_LABEL": "(FR TODO) Ceaseless Shadows",
        "CEASELESS_SHADOWS_TOOLTIP": "(FR TODO) Cover/concealment prerequisites are removed",
        "CAMOUFLAGE_LABEL": "(FR TODO) Camouflage",
        "CAMOUFLAGE_TOOLTIP": "(FR TODO) Cover/concealment requirement is bypassed in natural terrain",
        "DISTRACTING_SHADOWS_LABEL": "(FR TODO) Distracting Shadows",
        "DISTRACTING_SHADOWS_TOOLTIP": "(FR TODO) You may use larger creatures as cover for Hide/Sneak prerequisites"
      }
    },
    "CREATE_A_DIVERSION_AUTOMATION": {
      "BUTTON_APPLY": "Appliquer les résultats de la Diversion ",
      "BUTTON_TOOLTIP": "Appliquer les changements de visibilité de l'action Créer une diversion",
      "NO_OBSERVERS": "Aucun jeton ne peut voir {actor} - aucune diversion n'est nécessaire",
      "NO_CHANGES": "Créer une Diversion n'a pas eu d'effet sur la visibilité",
      "ERROR_PROCESSING": "Erreur en calculant les résultats de Créer une diversion",
      "PROCESSING": "Caclul des résultats de Créer une diversion...",
      "PREVIEW_TITLE": "Aperçu des résultats de Créer une diversion",
      "PREVIEW_HINT": "Analyse des résultats de l'action de diversion",
      "ROLL_VS_DC": "Lancer les dés contre le DD de Perception",
      "OUTCOME": "résultat",
      "VISIBILITY_CHANGE": "Changement de visibilité",
      "OPEN_RESULTS": "Ouvrir les résultats de la diversion",
      "OPEN_RESULTS_TOOLTIP": "Ouvrir la boite de dialogue des résultats de la Diversion pour appliquer les changements individuels ou de masse",
      "ENCOUNTER_ONLY": "Montrer seulement les jetons de la rencontre",
      "SETTING_NAME": "Activer l'automatisation de Créer une diversion",
      "SETTING_HINT": "Ajouter automatiquement des boutons pour Créer une diversion dans les messages de la conversation pour appliquer les changements de visibilité"
    },
    "SETTINGS": {
      "ENABLE_HOVER_TOOLTIPS": {
        "name": "Activer les infobulles au survol",
        "hint": "Montre les infobulles du statut de visibilité au survol des jetons (nécessite un redémarrage)"
      },
      "TOKEN_HUD_BUTTON": {
        "name": "(FR) Bouton HUD du jeton",
        "hint": "(FR) Affiche un bouton Visioner dans le HUD du jeton"
      },
      "VISIONER_SCENE_CONTROLS": {
        "name": "(FR) Contrôles de scène Visioner",
        "hint": "(FR) Affiche les boutons Visioner dans les barres d'outils Scènes"
      },
      "AVS_CHANGES_INDICATOR_SIZE": {
        "name": "(FR) Taille de l'indicateur de changements AVS",
        "hint": "(FR) Contrôle la taille du bouton flottant de l'indicateur de changements AVS et de son info-bulle.",
        "CHOICES": {
          "small": "(FR) Petit",
          "medium": "(FR) Moyen",
          "large": "(FR) Grand",
          "xlarge": "(FR) Très grand"
        }
      },
      "REMOVE_PLAYER_TARGET_TOOLTIPS": {
        "name": "(FR) Retirer les infobulles de cible des joueurs",
        "hint": "(FR) Empêche les joueurs de voir les infobulles de cible"
      },
      "MANAGER_ROLL_COMPARISON": {
        "name": "(FR) Comparaison des jets dans le gestionnaire",
        "hint": "(FR) Affiche la dernière comparaison jet vs DD"
      },
      "TOKEN_INTERSECTION_MODE": {
        "name": "(FR) Mode d'intersection des jetons",
        "hint": "(FR) Comment évaluer les bloqueurs de jetons",
        "CHOICES": {
          "any": "(FR) N'importe lequel",
          "length10": "(FR) 10%",
          "coverage": "(FR) Couverture latérale",
          "tactical": "(FR) Tactique"
        }
      },
      "AUTO_COVER_IGNORE_UNDETECTED": {
        "name": "(FR) Ignorer les jetons non détectés",
        "hint": "(FR) Les jetons non détectés ne bloquent pas l'abri"
      },
      "AUTO_COVER_VISUALIZATION_COMBAT_ONLY": {
        "name": "(FR) Visualisation d'abri seulement en combat",
        "hint": "(FR) N'afficher l'abri automatique qu'en combat"
      },
      "AUTO_COVER_GM_RESPECT_FOG": {
        "name": "(FR) Le MJ respecte le brouillard pour l'abri",
        "hint": "(FR) Le MJ voit l'abri comme les joueurs (respect du brouillard)"
      },
      "AUTO_COVER_IGNORE_DEAD": {
        "name": "(FR) Ignorer les jetons morts",
        "hint": "(FR) Les jetons à 0 PV ne bloquent pas l'abri"
      },
      "AUTO_COVER_IGNORE_ALLIES": {
        "name": "(FR) Ignorer les alliés pour l'abri",
        "hint": "(FR) Les alliés ne bloquent pas l'abri"
      },
      "WALL_STANDARD_THRESHOLD": {
        "name": "(FR) Seuil standard d'abri par mur (%)",
        "hint": "(FR) Pourcentage de blocage pour obtenir un abri standard"
      },
      "WALL_GREATER_THRESHOLD": {
        "name": "(FR) Seuil supérieur d'abri par mur (%)",
        "hint": "(FR) Pourcentage de blocage pour obtenir un abri supérieur"
      },
      "WALLS_ALLOW_GREATER": {
        "name": "(FR) Les murs peuvent donner un abri supérieur",
        "hint": "(FR) Quand désactivé, les murs ne donnent jamais un abri supérieur"
      },
      "IGNORE_PRONE_TOKENS": {
        "name": "(FR) Ignorer les jetons à terre",
        "hint": "(FR) Les jetons à terre ne bloquent pas l'abri"
      },
      "KEYBIND_OPEN_MANAGER_TARGET_MODE": {
        "name": "(FR) Raccourci ouvre le gestionnaire en mode Cible",
        "hint": "(FR) Ouvrir par défaut en mode Cible"
      },
      "VISIONER_QUICK_EDIT_TOOL": {
        "name": "(FR) Outil d'édition rapide Visioner",
        "hint": "(FR) Affiche l'outil d'édition rapide sur la barre"
      },
      "ALLOW_PLAYER_TOOLTIPS": {
        "name": "Permet les infobulles pour les joueurs",
        "hint": "Lorsque c'est activé, les joueurs euvent vois les indications de visibilité de leur perspective au survol des jetons (nécessite un redémarrage)"
      },
      "TOOLTIP_FONT_SIZE": {
        "name": "Taille de l'infobulle",
        "hint": "Choisissez la taille de l'infobulle (affecte la taille de l'icône et de la bordure. Le texte s'ajuste en conséquence)",
        "CHOICES": {
          "tiny": "Très petit",
          "small": "Petit",
          "medium": "Moyen",
          "large": "Grand",
          "xlarge": "Très grand"
        }
      },
      "COLORBLIND_MODE": {
        "name": "Mode daltonisme",
        "hint": "Choisissez un mode daltonisme pour ajuster les couleurs pour une meilleure visibilité (réglage côté client)",
        "CHOICES": {
          "none": "Pas de mode daltonisme",
          "protanopia": "Protanopie (rouge non perçu)",
          "deuteranopia": "Deutéranopie (Vert non perçu)",
          "tritanopia": "Tritanopie (Bleu non perçu)",
          "achromatopsia": "Achromatopsie (Couleurs complètement non perçues)"
        }
      },
      "IGNORE_ALLIES_DEFAULT": {
        "name": "Ignorer les alliés (défaut)",
        "hint": "Définit l'état par défaut de la case 'Ignorer les alliés' dans les dialogues Visioner et le gestionnaire de jetons. Modifiable à la volée dans chaque dialogue."
      },
      "HIDE_FOUNDRY_HIDDEN_TOKENS": {
        "name": "Masquer les jetons cachés Foundry dans l'UI",
        "hint": "Si activé, les jetons marqués cachés via le drapeau natif Foundry sont filtrés des dialogues/gestionnaires Visioner (sauf besoins explicites). Filtre visuel côté client uniquement."
      },
      "ENABLE_ALL_TOKENS_VISION": {
        "name": "Activer Vision pour tous les jetons",
        "hint": "S'il est activé, tous les jetons auront la vision activée par défaut."
      },
      "DEFAULT_ENCOUNTER_FILTER": {
        "name": "État du filtre de rencontre par défaut",
        "hint": "S'il est activé, la case à cocher du filtre de rencontre dans les boîtes de dialogue sera cochée par défaut lorsqu'il y a une rencontre active."
      },
      "LIMIT_SEEK_RANGE": {
        "name": "Limiter la Portée de Chercher en combat",
        "hint": "S'il est activé, les actions Chercher en combat ne détecteront les cibles que dans la distance spécifiée"
      },
      "SEEK_USE_TEMPLATE": {
        "name": "Utiliser le gabarit Chercher (explosion de 4,50 mètres)",
        "hint": "S'il est activé, il sera possible de fixer un gabarit d'une explosion de 4,50 mètres et de ne prendre en compte que les cibles au sein du gabarit"
      },
      "LIMIT_SEEK_RANGE_OUT_OF_COMBAT": {
        "name": "Limiter la portée de Chercher en dehors du combat",
        "hint": "S'il est activé, les actions Chercher en dehors du combat ne détecteront les cibles dans que la distance spécifiée"
      },
      "CUSTOM_SEEK_DISTANCE": {
        "name": "Valeur de la portée de Chercher",
        "hint": "Fixer la distance maximale (en pieds) pour les actions Chercher lorsque la limite de portée est active."
      },
      "CUSTOM_SEEK_DISTANCE_OOC": {
        "name": "valeur de la portée de Chercher (En dehors du combat)",
        "hint": "Fixer la distance maximale (en pieds) pour les actions Chercher lorsque la limite de portée en dehors du combat est active."
      },
      "USE_HUD_BUTTON": {
        "name": "Utiliser le bouton du HUD du jeton",
        "hint": "S'il est activé, ajoute un bouton de visibilité au HUD du jeton. S'il est désactivé, il utilise un bouton flottant lorsque les jetons sont sélectionnés."
      },
      "BLOCK_PLAYER_TARGET_TOOLTIPS": {
        "name": "Bloquer l'infobulle cible pour les joueurs",
        "hint": "S'il est activé, les joueurs ne verront pas les infobulles en survolant les jetons en mode cible (comment les autres voient le jeton survolé). Ils peuvent toujours voir les infobulles en pressant la clé O ou en pressant Alt."
      },
      "INTEGRATE_COVER_VISIBILITY": {
        "name": "Intégration des règles d'abri avec la visibilité",
        "hint": "S'il est activé, certaines actions obéissent aux prérequis d'abri. Par exemple, Se Cacher n'est permis que si le jeton qui agit bénéficie d'au moins un abri standard par rapport à un observateur."
      },
      "INTEGRATE_ROLL_OUTCOME": {
        "name": "Intégration de l'issue du jet dans le gestionnaire de jeton",
        "hint": "Ajoute une colonne au gestionnaire du jeton pour montrer le dernier résultat du jet contre le DD actuel et l'issue."
      },
      "ENFORCE_RAW": {
        "name": "Appliquer les règles telles qu'elles sont écrites",
        "hint": "S'il est activé, certaines actions obéissent aux prérequis des actions. Par exemple, Se Cacher n'est permis que si le jeton qui agit est Masqué ou bénéficie d'un abri standard par rapport à l'observateur."
      },
      "DEBUG": {
        "name": "Mode de débogage",
        "hint": "Active le journal détaillé dans la console pour repérer les problèmes de fonctionnement"
      },
      "LOOT_PERCEPTION_DC": {
        "name": "DD de perception par défaut pour les acteurs butin",
        "hint": "Utilisé lorsqu'un jeton de butin a besoin d'un DD de Perception et ne possède pas une statistique dans le système."
      },
      "LOOT_STEALTH_DC": {
        "name": "DD de Discrétion par défaut pour les acteurs butin",
        "hint": "Le DD utilisé lorsque vous prenez en compte les jetons de butin comme cibles de Chercher."
      },
      "WALL_STEALTH_DC": {
        "name": "DD de Discrétion par dédfaut des murs",
        "hint": "DD utilisé pour prendre en compte les murs cachés comme cibles de Chercher (lorsqu'un mur ne s'est pas vu attribuer un DD explicite)."
      },
      "INCLUDE_LOOT_ACTORS": {
        "name": "Inclure les acteurs butin dans le gestionnaire de visibilité",
        "hint": "Permet de configuer les états de visibilité des acteurs butin (coffres, contenants) par observateur. Seulement visuel. Aucun état PF2E n'est appliqué."
      },
      "INCLUDE_WALLS": {
        "name": "Inclure les murs comme objets dissimulables (expérimental)",
        "hint": "Montre les murs dans le gestionnaire pour les marquer comme visibles/cachés en fonction de l'observateur. L'implémentation actuelle est cosmétique uniquement et ne change ni l'occlusion ni la collision."
      },
      "HIDDEN_WALLS": {
        "name": "Activer les murs cachés",
        "hint": "Active les indicateurs Cachés et les indicateurs joueur par mur. Si un mur caché est une porte, il ne bloquera pas la vue."
      },
      "AUTO_COVER": {
        "name": "Abri automatique",
        "hint": "S'il est activé, le module appliquera automatiquement l'abri aux jetons en fonction du chemin bloquant le jeton."
      },
      "EXPERIMENTAL_SEE_THROUGH_WALLS": {
        "name": "Expérimental : Vision à travers les murs par jeton (Client seulement)",
        "hint": "Lorsque cette option est activée sur votre client, les jetons sélectionnés ignoreront les murs que vous avez marqués comme Observés dans la liste des Murs cachés. Fonctionnalité purement cosmétique et hautement expérimentale."
      },
      "SNEAK_RAW_ENFORCEMENT": {
        "name": "Sneak Raw Enforcement",
        "hint": "Si activé, Être furtif suivra les règles telles qu'écrites. Si désactivé, Être furtif sera plus indulgent."
      },
      "AUTO_VISIBILITY_ENABLED": {
        "name": "(FR TODO) Enable Auto-Visibility System",
        "hint": "(FR TODO) Automatically set visibility flags based on lighting conditions and creature senses. This system will analyze scene lighting, token positions, and creature abilities to determine appropriate visibility states (observed, concealed, hidden, undetected)."
      },
      "AVS_GM_VISION_WARNING_SUPPRESS": {
        "name": "(FR TODO) Suppress GM Vision warning",
        "hint": "(FR TODO) Client-only: Don't show the 'GM Vision active' warning banner when GM Vision prevents AVS."
      },
      "AUTO_VISIBILITY_DEBUG_MODE": {
        "name": "(FR TODO) Auto-Visibility Debug Mode",
        "hint": "(FR TODO) Enable detailed console logging for the auto-visibility system. Useful for troubleshooting visibility calculations."
      },
      "AVS_ONLY_IN_COMBAT": {
        "name": "(FR TODO) AVS Only Active in Combat",
        "hint": "(FR TODO) When enabled, the Auto-Visibility System will only be active during encounters and will only track visibility for tokens in the encounter. Visibility will be reset when combat ends."
      },
      "DISABLE_LINE_OF_SIGHT": {
        "name": "(FR TODO) Disable Line of Sight Calculations",
        "hint": "(FR TODO) Disable line-of-sight calculations for visibility. When enabled, visibility will be determined solely by distance and senses, ignoring walls and obstacles. Useful for performance optimization or specific game styles."
      },
      "GDV_VISUAL_OVERRIDE_ENABLED": {
        "name": "(FR TODO) Greater Darkvision Visual Override",
        "hint": "(FR TODO) Client-only: When your selected token has Greater Darkvision, lighten darkness areas so visuals match Visioner rules."
      },
      "GDV_OVERLAY_ALPHA": {
        "name": "(FR TODO) GDV Overlay Intensity",
        "hint": "(FR TODO) Client-only: How strongly to counteract darkness tint for Greater Darkvision (0–1)."
      },
      "GDV_TOKEN_GRAYSCALE": {
        "name": "(FR TODO) GDV: Black & White Tokens",
        "hint": "(FR TODO) Client-only: When seeing via (greater) darkvision, render tokens in grayscale to match rules text (black and white vision)."
      },
      "REMOVE_PLAYER_OBSERVER_TOOLTIPS": {
        "name": "(FR TODO) Remove Observer Hover Tooltips from Players",
        "hint": "(FR TODO) Stops players from seeing observer-perspective hover tooltips (O key / observer mode)"
      },
      "HIDE_QUICK_EDIT_TOOL": {
        "name": "(FR TODO) Hide Quick Edit Tool",
        "hint": "(FR TODO) If enabled, the Quick Edit tool will be hidden from the token controls toolbar."
      },
      "DISABLE_AVS_PER_SCENE": {
        "name": "(FR TODO) Disable AVS for this Scene",
        "hint": "(FR TODO) When enabled, the Auto-Visibility System will be disabled for this scene even if the global AVS is enabled."
      }
    },
    "UI": {
      "ENCOUNTER_FILTER_TEXT": "Montrer seulement les jetons de la rencontre",
      "COVER_OVERRIDE": "Outrepasser l'abri",
      "ROLL": "Lancer",
      "FILTER_BY_DETECTION_LABEL": "(FR TODO) Filter By Viewport",
      "FILTER_BY_DETECTION_TOOLTIP": "(FR TODO) Only show tokens that are within the current viewport",
      "CEASELESS_SHADOWS_UPGRADE_TOOLTIP": "(FR TODO) {FEAT}: {FROM} → {TO} (feat upgrade)",
      "APPLY_ALL": "(FR TODO) Apply All",
      "REVERT_ALL": "(FR TODO) Revert All",
      "REMOVE_OVERRIDES": "(FR TODO) Remove Overrides",
      "BULK_SET_VISIBILITY": "(FR TODO) Bulk Set Visibility",
      "CLEAR_BULK_OVERRIDES": "(FR TODO) Clear Bulk Overrides",
      "ATTEMPTING_TO_HIDE": "(FR TODO) Attempting to hide from observers",
      "IGNORE_ALLIES": "(FR TODO) Ignore allies",
      "IGNORE_ALLIES_TOOLTIP": "(FR TODO) Hide allies from the results list",
      "HIDE_FOUNDRY_HIDDEN": "(FR TODO) Hide Foundry-hidden tokens",
      "HIDE_FOUNDRY_HIDDEN_TOOLTIP": "(FR TODO) Visually hide tokens that are Foundry-hidden (document.hidden)",
      "SHOW_ONLY_CHANGES": "(FR TODO) Show only changes",
      "SHOW_ONLY_CHANGES_TOOLTIP": "(FR TODO) Show only rows with visibility changes",
      "ENCOUNTER_FILTER_TOOLTIP": "(FR TODO) Only show tokens in the current encounter",
      "CONCEALED_TOOLTIP_SHORT": "(FR TODO) Concealed",
      "STANDARD_OR_GREATER_TOOLTIP": "(FR TODO) Standard or Greater",
      "FOUNDRY_HIDDEN": "(FR TODO) Foundry Hidden",
      "COVER_OVERRIDDEN_POPUP": "(FR TODO) Cover overridden via keybind popup",
      "COVER_OVERRIDDEN_DIALOG": "(FR TODO) in roll dialog",
      "COVER_OVERRIDDEN_MANUALLY": "(FR TODO) manually",
      "NO_COVER_STEALTH": "(FR TODO) No Cover (+0 Stealth)",
      "END_POSITION_NOT_AVAILABLE": "(FR TODO) End position data not available",
      "START_POSITION_NOT_AVAILABLE": "(FR TODO) Start position data not available",
      "AVS_CONTROLLED": "(FR TODO) Controlled by Auto-Visibility System",
      "ORIGINAL_COVER": "(FR TODO) Original Cover: {state}",
      "APPLY_VISIBILITY_CHANGE": "(FR TODO) Apply this visibility change",
      "REVERT_TO_ORIGINAL": "(FR TODO) Revert to original visibility",
      "APPLY_ALL_CHANGES": "(FR TODO) Apply all visibility changes",
      "REVERT_ALL_CHANGES": "(FR TODO) Revert all changes to original state",
      "ATTACK_CONSEQUENCES": "(FR TODO) Attack consequences for hidden/undetected attacker",
      "TOKEN": "(FR TODO) Token",
      "NAME": "(FR TODO) Name",
      "VISIBILITY_CHANGE": "(FR TODO) Visibility Change",
      "ACTIONS": "(FR TODO) Actions",
      "HIDE_WALLS": "(FR TODO) Hide walls from the results list",
      "IGNORE_WALLS": "(FR TODO) Hide walls from the results list",
      "OVERRIDE_TO_STATE": "(FR TODO) Override to {label}",
      "HIDDEN_OR_UNDETECTED": "(FR TODO) Hidden or Undetected",
      "NO_COVER_BONUS": "(FR TODO) No cover bonus (+0)",
      "STANDARD_COVER_BONUS": "(FR TODO) Standard cover bonus (+2)",
      "GREATER_COVER_BONUS": "(FR TODO) Greater cover bonus (+4)",
      "DEFER_TO_END_OF_TURN": "(FR TODO) Defer end position check to end of turn (Sneaky feat)",
      "CURRENTLY_DEFERRED": "(FR TODO) Currently deferred to end of turn (Sneaky feat)",
      "DEFERRED_ACTIONS_DISABLED": "(FR TODO) Actions disabled - deferred to end of turn",
      "REMOVE_DEFER_PROCESS_NOW": "(FR TODO) Remove defer and process this check now",
      "ACKNOWLEDGE_END_TURN": "(FR TODO) Acknowledge end-of-turn position validation results",
      "CLOSE_DIALOG": "(FR TODO) Close dialog (results are automatically applied)",
      "UNDEFER_ALL": "(FR TODO) Undefer all currently deferred tokens and restore their original state",
      "DEFER_ALL_ELIGIBLE": "(FR TODO) Defer all eligible position checks to end of turn",
      "PROCESS_DEFERRED_CHECKS": "(FR TODO) Process {count} deferred position check{s} for end-of-turn validation",
      "APPLY_NO_COVER_ALL": "(FR TODO) Apply no cover bonus to all observers",
      "APPLY_STANDARD_COVER_ALL": "(FR TODO) Apply standard cover bonus to all observers",
      "APPLY_GREATER_COVER_ALL": "(FR TODO) Apply greater cover bonus to all observers",
      "AVS_CHANGE_INFO": "(FR TODO) Movement or lighting changes can invalidate previously set visibility overrides. Review each AVS change below to decide whether to accept or reject it.",
      "ACCEPT_ALL_CHANGES": "(FR TODO) Accept all changes",
      "REJECT_ALL_CHANGES": "(FR TODO) Reject all changes",
      "ACCEPT_THIS_CHANGE": "(FR TODO) Accept this change",
      "REJECT_THIS_CHANGE": "(FR TODO) Reject this change",
      "ACCEPT_ALL_IN_TABLE": "(FR TODO) Accept all changes in this table",
      "CLICK_TO_SWITCH_MODE": "(FR TODO) Click to switch between Observer and Target modes",
      "WALL_COVER_AUTO": "(FR TODO) Automatic Detection - Wall provides cover based on coverage thresholds",
      "WALL_COVER_NONE": "(FR TODO) No Cover - Wall never provides cover regardless of thresholds",
      "WALL_COVER_STANDARD_MAX": "(FR TODO) Standard Cover Maximum - Wall provides up to standard cover based on thresholds",
      "WALL_COVER_GREATER_MAX": "(FR TODO) Greater Cover Maximum - Wall provides up to greater cover based on thresholds",
      "MARK_WALL_HIDDEN": "(FR TODO) Mark this wall as hidden from players",
      "SET_ALL_PCS_AS": "(FR TODO) Set all PCs as {state}",
      "SET_ALL_NPCS_AS": "(FR TODO) Set all NPCs as {state}",
      "SET_ALL_HAZARDS_OBSERVED": "(FR TODO) Set all Hazards as Observed",
      "SET_ALL_HAZARDS_HIDDEN": "(FR TODO) Set all Hazards as Hidden",
      "SET_ALL_LOOT_OBSERVED": "(FR TODO) Set all Loot as Observed",
      "SET_ALL_LOOT_HIDDEN": "(FR TODO) Set all Loot as Hidden",
      "SET_ALL_WALLS_OBSERVED": "(FR TODO) Set all listed walls as Observed",
      "SET_ALL_WALLS_HIDDEN": "(FR TODO) Set all listed walls as Hidden",
      "SELECT_ALL_PARTY": "(FR TODO) Select all party tokens",
      "SELECT_ALL_ENEMIES": "(FR TODO) Select all enemy tokens",
      "SWAP_OBSERVER_TARGET": "(FR TODO) Swap Observer/Target mode",
      "TARGET_ALL_PARTY": "(FR TODO) Target all party tokens",
      "TARGET_ALL_ENEMIES": "(FR TODO) Target all enemy tokens",
      "CLEAR_ALL_SELECTIONS": "(FR TODO) Clear all selections and targets",
      "PF2E_VISIONER": "(FR TODO) PF2E Visioner",
      "CONFIGURE_SETTINGS_BELOW": "(FR TODO) Configure settings below.",
      "APPLY_COVER_CHANGE": "(FR TODO) Apply this cover change",
      "REVERT_TO_ORIGINAL_COVER": "(FR TODO) Revert to original cover",
      "APPLY_ALL_COVER_CHANGES": "(FR TODO) Apply all cover changes",
      "REVERT_ALL_COVER_CHANGES": "(FR TODO) Revert all changes",
      "SHOW_ONLY_COVER_CHANGES_TOOLTIP": "(FR TODO) Show only rows with cover/visibility changes",
      "SET_ALL_WALLS_HIDDEN_BULK": "(FR TODO) Set all walls to Hidden",
      "SET_ALL_WALLS_NON_HIDDEN_BULK": "(FR TODO) Set all walls to Non-Hidden",
      "SET_ALL_WALLS_AUTO_COVER": "(FR TODO) Set all walls to Auto Cover",
      "SET_ALL_WALLS_NO_COVER": "(FR TODO) Set all walls to No Cover",
      "SET_ALL_WALLS_LESSER_COVER": "(FR TODO) Set all walls to Lesser Cover",
      "SET_ALL_WALLS_STANDARD_COVER": "(FR TODO) Set all walls to Standard Cover",
      "SET_ALL_WALLS_GREATER_COVER": "(FR TODO) Set all walls to Greater Cover",
      "WALL_TYPE_CYCLE_TOOLTIP": "(FR TODO) Left-click: next type | Right-click: previous type",
      "SELECT_WALL_AND_PAN": "(FR TODO) Select wall and pan to it",
      "WALL_COVER_AUTO_SHORT": "(FR TODO) Automatic Detection",
      "WALL_COVER_NONE_SHORT": "(FR TODO) No Cover",
      "WALL_COVER_LESSER_SHORT": "(FR TODO) Lesser Cover",
      "WALL_COVER_STANDARD_SHORT": "(FR TODO) Standard Cover",
      "WALL_COVER_GREATER_SHORT": "(FR TODO) Greater Cover",
      "COVER_OVERRIDDEN_VIA": "(FR TODO) Cover overridden {source}: {originalLabel} → {finalLabel}",
      "START_POS_PREVIOUS_SNEAK": "(FR TODO) Start position qualification from previous sneak action",
      "START_POS_QUALIFIES": "(FR TODO) Start position qualifies for sneak",
      "START_POS_NOT_QUALIFIES": "(FR TODO) Start position does not qualify for sneak",
      "END_POS_CHECK_END_TURN": "(FR TODO) End position will be checked at end of turn (consecutive sneak)",
      "END_POS_QUALIFIES": "(FR TODO) End position qualifies for sneak",
      "END_POS_NOT_QUALIFIES": "(FR TODO) End position does not qualify for sneak",
      "AVS_RECOMMENDED": "(FR TODO) AVS Recommended: {label}",
      "TOGGLE_MODE_TOOLTIP": "(FR TODO) Click to switch between Observer and Target modes",
      "ONLY_SHOW_ENCOUNTER_TOOLTIP": "(FR TODO) Only show tokens in the current encounter",
      "HIDE_FOUNDRY_HIDDEN_DOCUMENT_TOOLTIP": "(FR TODO) Visually hide tokens that are Foundry-hidden (document.hidden)",
      "SHOW_ONLY_VISIBILITY_CHANGES": "(FR TODO) Show only rows with visibility changes",
      "SET_ALL_AS": "(FR TODO) Set all {type} as {state}",
      "SET_ALL_WALLS_AS": "(FR TODO) Set all listed walls as {state}",
      "WALL_COVER_AUTO_TOOLTIP": "(FR TODO) Automatic Detection - Wall provides cover based on coverage thresholds",
      "WALL_COVER_NONE_TOOLTIP": "(FR TODO) No Cover - Wall never provides cover regardless of thresholds",
      "WALL_COVER_LESSER_TOOLTIP": "(FR TODO) Lesser Cover Maximum - Wall provides up to lesser cover based on thresholds",
      "WALL_COVER_STANDARD_TOOLTIP": "(FR TODO) Standard Cover Maximum - Wall provides up to standard cover based on thresholds",
      "WALL_COVER_GREATER_TOOLTIP": "(FR TODO) Greater Cover Maximum - Wall provides up to greater cover based on thresholds",
      "WALL_HIDDEN_TOOLTIP": "(FR TODO) Mark this wall as hidden from players",
      "SWAP_MODE": "(FR TODO) Swap Observer/Target mode",
      "AVS_CHANGE_INFO_TOOLTIP": "(FR TODO) Movement or lighting changes can invalidate previously set visibility overrides. Review each AVS change below to decide whether to accept or reject it.",
      "ACCEPT_ALL_CHANGES_IN_TABLE": "(FR TODO) Accept all changes in this table",
      "PREVIEW_POINT_OUT_CHANGES": "(FR TODO) Preview and apply Point Out visibility changes",
      "APPLY_WITHOUT_DIALOG": "(FR TODO) Apply all calculated changes without opening the dialog",
      "TOKEN_COVER_AUTO_TOOLTIP": "(FR TODO) Automatic Detection - Token provides cover based on coverage thresholds",
      "TOKEN_COVER_NONE_TOOLTIP": "(FR TODO) No Cover - Token never provides cover regardless of thresholds",
      "TOKEN_COVER_LESSER_TOOLTIP": "(FR TODO) Lesser Cover - Token always provides lesser cover",
      "TOKEN_COVER_STANDARD_TOOLTIP": "(FR TODO) Standard Cover - Token always provides standard cover",
      "TOKEN_COVER_GREATER_TOOLTIP": "(FR TODO) Greater Cover - Token always provides greater cover",
      "SNIPING_DUO_SPOTTER_LABEL": "(FR TODO) Sniping Duo Spotter",
      "SNIPING_DUO_SPOTTER_TOOLTIP": "(FR TODO) Choose your Sniping Duo spotter (the ally who should not provide cover for Strikes between you).",
      "SNIPING_DUO_SPOTTER_CHOOSE": "(FR TODO) Choose Spotter...",
      "SNIPING_DUO_DIALOG_TITLE": "(FR TODO) Select Sniping Duo Spotter",
      "SNIPING_DUO_NONE": "(FR TODO) None",
      "SNIPING_DUO_PAN": "(FR TODO) Pan to token",
      "SNIPING_DUO_SPOTTER_NOT_FOUND": "(FR TODO) Sniping Duo: selected spotter not found.",
      "SNIPING_DUO_COVER_IGNORE_TOOLTIP": "(FR TODO) {FEAT}: {ALLY} does not provide cover for this Strike.",
      "SNIPING_DUO_COVER_OVERRIDE_UNAVAILABLE": "(FR TODO) {FEAT}: cover override unavailable.",
      "FROM_LINKED_DARKNESS": "(FR TODO) From linked Darkness template",
      "NO_POSITION_CHANGE": "(FR TODO) No position change",
      "SEARCH_WALL_PLACEHOLDER": "(FR TODO) Search by identifier or wall ID...",
      "WALL_IDENTIFIER_PLACEHOLDER": "(FR TODO) Hidden Wall",
      "WALL_DC_PLACEHOLDER": "(FR TODO) DC",
      "CONNECTED_IDENTIFIERS_PLACEHOLDER": "(FR TODO) comma-separated identifiers",
      "START_SNEAK_TOOLTIP": "(FR TODO) Start sneaking: capture current visibility and cover states",
      "APPLY_COVER_CHANGES_WITHOUT_DIALOG": "(FR TODO) Apply all calculated cover changes without opening the dialog",
      "NO_CHANGE_LABEL": "(FR TODO) No Change",
      "APPLY_ALL_COVER_LABEL": "(FR TODO) Apply All Cover:",
      "COVER": "(FR TODO) Cover",
      "OUTCOME": "(FR TODO) Outcome",
      "ROLL_VS_PERCEPTION_DC": "(FR TODO) Roll vs Perception DC",
      "STEALTH_VS_PERCEPTION": "(FR TODO) Stealth vs Perception",
      "COVER_BONUS": "(FR TODO) Cover Bonus",
      "ROLL_OUTCOME": "(FR TODO) Roll Outcome",
      "ALLY": "(FR TODO) Ally",
      "OBSERVER_HEADER": "(FR TODO) Observer",
      "TARGET_HEADER": "(FR TODO) Target",
      "CURRENT_STATE": "(FR TODO) Current State",
      "EFFECTS": "(FR TODO) Effects",
      "STATUS": "(FR TODO) Status",
      "SOURCE": "(FR TODO) Source",
      "DC": "(FR TODO) DC",
      "WALL_HEADER": "(FR TODO) Wall",
      "IDENTIFIER": "(FR TODO) Identifier",
      "TYPE": "(FR TODO) Type",
      "HIDDEN_HEADER": "(FR TODO) Hidden",
      "STEALTH_DC": "(FR TODO) Stealth DC",
      "SELECT": "(FR TODO) Select",
      "WALL_ID": "(FR TODO) Wall Id",
      "VS_DC": "(FR TODO) vs DC",
      "AVAILABLE_SENSES": "(FR TODO) Available Senses",
      "POINT_OUT_INDICATOR": "(FR TODO) Point Out",
      "DEFER_ALL_ELIGIBLE_LABEL": "(FR TODO) Defer All Eligible",
      "FAILURE_LABEL": "(FR TODO) Failure",
      "SUCCESS_LABEL": "(FR TODO) Success",
      "PLAYER_CHARACTERS": "(FR TODO) Player Characters",
      "NPCS_LABEL": "(FR TODO) NPCs",
      "HAZARDS_LABEL": "(FR TODO) Hazards",
      "LOOT_LABEL": "(FR TODO) Loot",
      "HIDDEN_WALLS_LABEL": "(FR TODO) Hidden Walls",
      "TAKING_COVER_HINT": "(FR TODO) Taking cover against observers",
      "SHOW_ONLY_CHANGES_LABEL": "(FR TODO) Show only changes",
      "CHANGES_AS_OBSERVER": "(FR TODO) Changes as Observer",
      "CHANGES_AS_TARGET": "(FR TODO) Changes as Target",
      "BULK_ACTION_INFO": "(FR TODO) Apply action to all changes at once",
      "PREREQUISITE": "(FR TODO) Prerequisite",
      "COVER_CHANGE": "(FR TODO) Cover Change",
      "COVER_LABEL": "(FR TODO) Cover",
      "HIDDEN_WALL_LABEL": "(FR TODO) Hidden Wall",
      "WALL_IDENTIFIER_LABEL": "(FR TODO) Wall Identifier",
      "WALL_STEALTH_DC_LABEL": "(FR TODO) Wall Stealth DC",
      "ALL_TYPES": "(FR TODO) All Types",
      "WALLS": "(FR TODO) Walls",
      "DOORS": "(FR TODO) Doors",
      "SECRET_DOORS": "(FR TODO) Secret Doors",
      "ALL": "(FR TODO) All",
      "HIDDEN_ONLY": "(FR TODO) Hidden Only",
      "ALL_COVER_TYPES": "(FR TODO) All Cover Types",
      "AUTO_DETECTION": "(FR TODO) Auto Detection",
      "NO_COVER_OPTION": "(FR TODO) No Cover",
      "LESSER_MAX": "(FR TODO) Lesser Max",
      "STANDARD_MAX": "(FR TODO) Standard Max",
      "GREATER_MAX": "(FR TODO) Greater Max",
      "VISIBILITY_LEGEND": "(FR TODO) Visibility",
      "COVER_LEGEND": "(FR TODO) Cover",
      "TARGET_DC": "(FR TODO) Target DC",
      "START_POS": "(FR TODO) Start Pos",
      "END_POS": "(FR TODO) End Pos",
      "END_TURN_VALIDATION": "(FR TODO) End Turn Validation",
      "ORIGINAL_CHANGE": "(FR TODO) Original Change:",
      "NON_HIDDEN_ONLY": "(FR TODO) Non-Hidden Only",
      "APPLY_ALL_BUTTON": "(FR TODO) Apply All",
      "REVERT_ALL_BUTTON": "(FR TODO) Revert All",
      "APPLIED_BUTTON": "(FR TODO) Applied",
      "REVERTED_BUTTON": "(FR TODO) Reverted",
      "PROCESSING": "(FR TODO) Processing...",
      "UNDEFER_ALL_BUTTON": "(FR TODO) Undefer All",
      "RESTORE_DEFERS_BUTTON": "(FR TODO) Restore Defers",
      "REJECTED_LABEL": "(FR TODO) Rejected",
      "ACCEPTED_LABEL": "(FR TODO) Accepted",
      "APPLY_BUTTON_LABEL": "(FR TODO) Apply",
      "REVERT_BUTTON_LABEL": "(FR TODO) Revert",
      "HIDDEN_REACTION_LABEL": "(FR TODO) Hidden (Reaction)",
      "HIDDEN_SENSE_UNSEEN_LABEL": "(FR TODO) Hidden (Sense the Unseen)"
    },
    "WALL": {
      "VISIBLE_TO_YOU": "Mur caché",
      "observed": "Observé",
      "hidden": "Caché"
    },
    "KEYBINDINGS": {
      "OPEN_TOKEN_MANAGER": {
        "name": "Ouvrir le gestionnaire du jeton",
        "hint": "Ouvre le gestionnaire du jeton pour les jetons sélectionnés"
      },
      "OPEN_QUICK_PANEL": {
        "name": "(FR) Ouvrir le panneau rapide Visioner",
        "hint": "(FR) Ouvre le panneau d'édition rapide compact"
      },
      "OPEN_VISIBILITY_MANAGER": {
        "name": "Ouvrir le gestionnaire de visibilité du jeton",
        "hint": "Ouvre le gestionnaire de visibilité pour les jetons sélectionnés"
      },
      "HOLD_COVER_OVERRIDE": {
        "name": "Maintenez enfoncé pour outrepasser l'abri sur les jets rapides",
        "hint": "Lorsqu'il est pressé en cliquant sur une frappe/attaque (pas de dialogue), utilise Outrepasser l'abri de Visioner à la place de l'abri calculé automatiquement. Pas de clé par défaut - configurer votre propre clé."
      },
      "TOGGLE_OBSERVER_MODE": {
        "name": "Activer/Désactiver le mode observateur pour les infobulles au survol",
        "hint": "Maintenir enfoncé cette clé pour passer de l'infobulle au survol au mode observateur (comment le jeton survolé voit les autres)"
      },
      "SHOW_AUTO_COVER_OVERLAY": {
        "name": "(FR) Afficher la superposition d'abri auto",
        "hint": "(FR) Maintenir pour afficher les badges d'abri automatique"
      },
      "HOLD_COVER_VISUALIZATION": {
        "name": "(FR) Maintenir pour la visualisation d'abri",
        "hint": "(FR) Maintenir pour visualiser les zones d'abri"
      },
      "OPEN_WALL_MANAGER": {
        "name": "(FR) Ouvrir le gestionnaire de murs",
        "hint": "(FR) Ouvre la boîte de gestion des murs Visioner"
      },
      "SHOW_VISIBILITY_FACTORS": {
        "name": "(FR TODO) Show Visibility Factors",
        "hint": "(FR TODO) Press to show detailed reasons for visibility states from controlled tokens to all other tokens."
      }
    },
    "VISIBILITY_FACTORS": {
      "NO_TOKEN_SELECTED": "(FR TODO) Select at least one token to show visibility factors",
      "STATE_LABEL": "(FR TODO) State",
      "LIGHTING_LABEL": "(FR TODO) Lighting",
      "UNKNOWN_STATE": "(FR TODO) Unknown State",
      "STORED_STATE": "(FR TODO) Visibility state is {state} (stored state - reason not captured)",
      "LIGHTING": {
        "bright": "(FR TODO) Bright Light",
        "dim": "(FR TODO) Dim Light",
        "darkness": "(FR TODO) Darkness",
        "magicalDarkness": "(FR TODO) Magical Darkness",
        "greaterMagicalDarkness": "(FR TODO) Greater Magical Darkness"
      },
      "REASONS": {
        "OBSERVER_BLINDED": "(FR TODO) Observer is blinded (cannot use visual senses)",
        "OBSERVER_DEAFENED_INVISIBLE": "(FR TODO) Observer is deafened (cannot hear invisible target)",
        "OBSERVER_DAZZLED": "(FR TODO) Observer is dazzled in bright light",
        "TARGET_INVISIBLE": "(FR TODO) Target is invisible",
        "TARGET_UNDETECTED_CONDITION": "(FR TODO) Target has undetected condition",
        "TARGET_HIDDEN_CONDITION": "(FR TODO) Target has hidden condition",
        "TARGET_CONCEALED_CONDITION": "(FR TODO) Target has concealed condition)",
        "TARGET_IN_GREATER_DARKNESS_WITH_GREATER_DARKVISION": "(FR TODO) Target is in greater magical darkness ({templates}), but observer has greater darkvision",
        "TARGET_IN_GREATER_DARKNESS_WITH_DARKVISION": "(FR TODO) Target is in greater magical darkness ({templates}) - concealed even with darkvision",
        "TARGET_IN_GREATER_DARKNESS_NO_DARKVISION": "(FR TODO) Target is in greater magical darkness ({templates}), observer lacks darkvision",
        "TARGET_IN_MAGICAL_DARKNESS_WITH_DARKVISION": "(FR TODO) Target is in magical darkness ({templates}), but observer has darkvision",
        "TARGET_IN_MAGICAL_DARKNESS_NO_DARKVISION": "(FR TODO) Target is in magical darkness ({templates}), observer lacks darkvision",
        "TARGET_IN_DARKNESS_WITH_DARKVISION": "(FR TODO) Target is in darkness ({templates}), but observer has darkvision",
        "TARGET_IN_DARKNESS_NO_DARKVISION": "(FR TODO) Target is in darkness ({templates}), observer lacks darkvision",
        "OBSERVER_IN_GREATER_DARKNESS_WITH_GREATER_DARKVISION": "(FR TODO) Observer is in greater magical darkness ({templates}), but has greater darkvision",
        "OBSERVER_IN_GREATER_DARKNESS_WITH_DARKVISION": "(FR TODO) Observer is in greater magical darkness ({templates}) - limits vision even with darkvision",
        "OBSERVER_IN_GREATER_DARKNESS_NO_DARKVISION": "(FR TODO) Observer is in greater magical darkness ({templates}), lacks darkvision",
        "OBSERVER_IN_MAGICAL_DARKNESS_WITH_DARKVISION": "(FR TODO) Observer is in magical darkness ({templates}), but has darkvision",
        "OBSERVER_IN_MAGICAL_DARKNESS_NO_DARKVISION": "(FR TODO) Observer is in magical darkness ({templates}), lacks darkvision",
        "OBSERVER_IN_DARKNESS_WITH_DARKVISION": "(FR TODO) Observer is in darkness ({templates}), but has darkvision",
        "OBSERVER_IN_DARKNESS_NO_DARKVISION": "(FR TODO) Observer is in darkness ({templates}), lacks darkvision",
        "DARKNESS_BETWEEN_WITH_GREATER_DARKVISION": "(FR TODO) Greater magical darkness between observer and target ({templates}), but observer has greater darkvision",
        "DARKNESS_BETWEEN_WITH_DARKVISION": "(FR TODO) Greater magical darkness between observer and target ({templates}) - obscures vision even with darkvision",
        "DARKNESS_BETWEEN_NO_DARKVISION": "(FR TODO) Greater magical darkness between observer and target ({templates}), observer lacks darkvision",
        "MAGICAL_DARKNESS_BETWEEN_WITH_DARKVISION": "(FR TODO) Magical darkness between observer and target ({templates}), but observer has darkvision",
        "MAGICAL_DARKNESS_BETWEEN_NO_DARKVISION": "(FR TODO) Magical darkness between observer and target ({templates}), observer lacks darkvision",
        "REGULAR_DARKNESS_BETWEEN_WITH_DARKVISION": "(FR TODO) Darkness between observer and target ({templates}), but observer has darkvision",
        "REGULAR_DARKNESS_BETWEEN_NO_DARKVISION": "(FR TODO) Darkness between observer and target ({templates}), observer lacks darkvision",
        "AFFECTED_BY_DARKNESS": "(FR TODO) Affected by Darkness spell ({templates})",
        "REGION_CONCEALMENT": "(FR TODO) Ray crosses concealment region boundary (e.g., magical darkness template)",
        "RAY_GREATER_DARKNESS_WITH_DARKVISION": "(FR TODO) Ray passes through greater magical darkness (rank {rank}) - concealed even with darkvision",
        "RAY_GREATER_DARKNESS_NO_DARKVISION": "(FR TODO) Ray passes through magical darkness (rank {rank}), observer lacks darkvision",
        "RAY_MAGICAL_DARKNESS_NO_DARKVISION": "(FR TODO) Ray passes through magical darkness (rank {rank}), observer lacks darkvision",
        "GREATER_MAGICAL_DARKNESS_WITH_DARKVISION": "(FR TODO) Greater magical darkness (rank {rank}) concealed even with darkvision",
        "TARGET_MAGICAL_DARKNESS_NO_DARKVISION": "(FR TODO) Target is in magical darkness (rank {rank}), observer lacks darkvision",
        "TARGET_IN_DARKNESS_NO_DARKVISION_SIMPLE": "(FR TODO) Target is in darkness, observer lacks darkvision",
        "TARGET_IN_DIM_NO_LOW_LIGHT": "(FR TODO) Target is in dim light, observer lacks low-light vision",
        "DETECTED_BY_LIFESENSE": "(FR TODO) Detected by lifesense ({acuity})",
        "DETECTED_BY_TREMORSENSE": "(FR TODO) Detected by tremorsense ({acuity})",
        "DETECTED_BY_SENSE": "(FR TODO) Detected by {sense} (precise)",
        "DETECTED_BY_SENSE_IMPRECISE": "(FR TODO) Detected by {sense} (imprecise)",
        "HEARD_INVISIBLE_HIDDEN": "(FR TODO) Heard with hearing (imprecise) - invisible creature is hidden",
        "DETECTED_BY_SCENT": "(FR TODO) Detected by scent (imprecise)",
        "BRIGHT_LIGHT_NORMAL_VISION": "(FR TODO) Target is in bright light with normal vision",
        "LOW_LIGHT_VISION_DIM": "(FR TODO) Low-light vision sees clearly in dim light",
        "DARKVISION_THROUGH_MAGICAL_DARKNESS": "(FR TODO) Darkvision sees through magical darkness (rank {rank})",
        "GREATER_DARKVISION_THROUGH_MAGICAL_DARKNESS": "(FR TODO) Greater darkvision sees through magical darkness (rank {rank})",
        "DARKVISION_IN_DARKNESS": "(FR TODO) Darkvision sees clearly in darkness",
        "TARGET_INVISIBLE_OBSERVER_DEAFENED": "(FR TODO) Target is invisible and observer is deafened",
        "TARGET_INVISIBLE_NO_SENSES": "(FR TODO) Target is invisible and cannot be detected by available senses",
        "TARGET_NO_SENSES": "(FR TODO) Target cannot be detected by any available senses"
      }
    },
    "AVS_OVERRIDE_DIALOG": {
      "NO_OVERRIDES": "(FR TODO) No AVS overrides are currently active for this token.",
      "CLOSE": "(FR TODO) Close",
      "CLEAR_ALL": "(FR TODO) Clear All Overrides",
      "CLEAR_ALL_CONFIRM_TITLE": "(FR TODO) Clear All AVS Overrides",
      "OVERRIDE_REMOVED": "(FR TODO) AVS override removed: {observer} → {target}",
      "ALL_OVERRIDES_CLEARED": "(FR TODO) All AVS overrides cleared for {token}",
      "ERROR_REMOVING_OVERRIDE": "(FR TODO) Error removing AVS override",
      "ERROR_CLEARING_OVERRIDES": "(FR TODO) Error clearing AVS overrides"
    },
    "AVS_GM_VISION_WARNING": {
      "TITLE": "(FR TODO) GM Vision active",
      "BODY": "(FR TODO) AVS needs a vision polygon; GM Vision does not generate one. Disable GM Vision to enable AVS.",
      "CLOSE": "(FR TODO) Dismiss",
      "DONT_SHOW_AGAIN": "(FR TODO) Don't show again"
    },
    "OVERRIDE_INDICATOR": {
      "TOOLTIP_HEADER": "(FR TODO) change(s) to validate",
      "TOOLTIP_NEXT": "(FR TODO) Next:",
      "TOOLTIP_LEFT_CLICK": "(FR TODO) Left-click: open details",
      "TOOLTIP_RIGHT_CLICK": "(FR TODO) Right-click: accept all",
      "TOOLTIP_SHIFT_RIGHT_CLICK": "(FR TODO) Shift+Right-click: reject all",
      "QUEUE_POSITION": "(FR TODO) {current} of {total}"
    },
    "REGION_BEHAVIOR": {
      "TYPE_LABEL": "(FR TODO) PF2e Visioner Visibility",
      "TYPES": {
        "CONCEALMENT": {
          "label": "(FR TODO) Visioner Concealment"
        },
        "VISIBILITY": {
          "label": "(FR TODO) Visioner Visibility"
        }
      },
      "VISIBILITY_STATE": {
        "label": "(FR TODO) Visibility State",
        "hint": "(FR TODO) The visibility state to apply between tokens inside and outside the region"
      },
      "APPLY_TO_INSIDE_TOKENS": {
        "label": "(FR TODO) Apply to Inside Tokens",
        "hint": "(FR TODO) If enabled, tokens inside the region will have the visibility state applied to other tokens inside the region as well"
      },
      "TWO_WAY_REGION": {
        "label": "(FR TODO) Two-Way Region",
        "hint": "(FR TODO) If enabled, tokens outside the region will also have the visibility state applied to tokens inside the region"
      },
      "VISIBILITY_UPDATED": "(FR TODO) Region visibility updated for {count} token relationships",
      "UPDATE_ERROR": "(FR TODO) Failed to update region visibility relationships",
      "CONCEALMENT_ENABLED": {
        "label": "(FR TODO) Enable Concealment",
        "hint": "(FR TODO) If enabled, rays that cross this region's boundaries will grant concealment to the target"
      }
    },
    "COVER_OVERRIDE": {
      "POPUP_OVERRIDE": "(FR TODO) Cover overridden via keybind popup: {original} → {final}"
    },
    "FEAT": {
      "CEASELESS_SHADOWS": "(FR TODO) Ceaseless Shadows",
      "SNIPING_DUO_DEDICATION": "(FR TODO) Sniping Duo Dedication"
    },
    "UI_ACTIONS": {
      "MANAGE_VISIBILITY": "(FR TODO) Manage Token Visibility",
      "MANAGE_COVER": "(FR TODO) Manage Token Cover",
      "QUICK_CONCEALED": "(FR TODO) Set as Concealed",
      "QUICK_OBSERVED": "(FR TODO) Set as Observed",
      "QUICK_NO_COVER": "(FR TODO) Set No Cover",
      "QUICK_LESSER_COVER": "(FR TODO) Set Lesser Cover",
      "QUICK_STANDARD_COVER": "(FR TODO) Set Standard Cover",
      "QUICK_GREATER_COVER": "(FR TODO) Set Greater Cover"
    },
    "MOVEMENT": {
      "walk": "(FR TODO) Walk",
      "stride": "(FR TODO) Stride",
      "leap": "(FR TODO) Leap",
      "climb": "(FR TODO) Climb",
      "fly": "(FR TODO) Fly",
      "swim": "(FR TODO) Swim",
      "burrow": "(FR TODO) Burrow",
      "teleport": "(FR TODO) Teleport",
      "deploy": "(FR TODO) Deploy",
      "travel": "(FR TODO) Travel"
    },
    "REACTIONS": {
      "BUTTON_LABEL": "(FR TODO) Reactions",
      "BUTTON_TOOLTIP": "(FR TODO) Available reactions for this action",
      "NO_REACTIONS": "(FR TODO) No reactions available",
      "DROPDOWN_TITLE": "(FR TODO) Available Reactions",
      "SENSE_THE_UNSEEN": {
        "name": "(FR TODO) Sense the Unseen",
        "applied": "(FR TODO) Sense the Unseen Applied",
        "description": "(FR TODO) Even though you failed at the triggering check, you automatically sense any Undetected creatures in the area where you're Seeking, making them merely Hidden to you.",
        "trigger": "(FR TODO) You fail a Seek to find an undetected creature",
        "effect": "(FR TODO) Make undetected creatures hidden to you"
      }
    },
    "SNEAKY_FEAT": {
      "VISIBILITY_CAPPED": "(FR TODO) Sneaky Feat",
      "TOOLTIP": "(FR TODO) Visibility capped at Hidden due to Sneaky feat effect. This creature successfully sneaked against you."
    },
    "SNEAK_ADEPT_FEAT": {
      "OUTCOME_UPGRADED": "(FR TODO) Sneak Adept",
      "TOOLTIP": "(FR TODO) Failure upgraded to Success due to Sneak Adept feat. It's almost impossible to spot this creature."
    },
    "DIALOG_TITLES": {
      "HIDE_RESULTS": "Hide Results (FR TODO)",
      "POINT_OUT_RESULTS": "Point Out Results (FR TODO)",
      "POINT_OUT_ACTION": "PF2E Visioner - Point Out Action (FR TODO)",
      "SEEK_RESULTS": "Seek Results (FR TODO)",
      "ACTION_RESULTS": "Action Results (FR TODO)",
      "TAKE_COVER_RESULTS": "Take Cover Results (FR TODO)",
      "COVER_OVERRIDE": "Cover Override (FR TODO)",
      "WALL_SETTINGS": "PF2E Visioner: Wall Settings (FR TODO)",
      "TOGGLE_HIDDEN_WALL": "Toggle Hidden Wall (Selected Walls) (FR TODO)",
      "QUICK_EDIT": "PF2E Visioner: Quick Edit (Selected ↔ Targeted) (FR TODO)",
      "PURGE_DATA": "PF2E Visioner: Purge Data (Scene/Selected Tokens) (FR TODO)",
      "VISIONER_QUICK_PANEL": "Visioner Quick Edit (FR TODO)",
      "APPLYING_CHANGES": "Applying Changes (FR TODO)",
      "WALL_QUICK": "PF2E Visioner: Wall Settings (FR TODO)",
      "AVS_VALIDATION": "AVS Changes Validation (FR TODO)",
      "DARKNESS_MODE": "PF2E Visioner: Set Darkness Mode (FR TODO)",
      "OVERRIDE_VALIDATION": "Override Validation (FR TODO)",
      "ATTACK_CONSEQUENCES": "Attack Consequences Results (FR TODO)",
      "CREATE_DIVERSION_RESULTS": "Create a Diversion Results (FR TODO)",
      "END_TURN_POSITION": "End-of-Turn Position Validation - {name} (FR TODO)",
      "END_TURN_STEALTH": "End-of-Turn Stealth Validation - {name} (FR TODO)",
      "RECOMMENDATIONS": {
        "HEAL_CHARACTER": "Heal Character (FR TODO)",
        "REMOVE_CONDITIONS": "Remove Conditions (FR TODO)",
        "USE_HIDE_FIRST": "Use Hide Action First (FR TODO)",
        "CHECK_SCENE_SETUP": "Check Scene Setup (FR TODO)",
        "PROCEED_CAUTION": "Proceed with Caution (FR TODO)",
        "REPOSITION_BEFORE_SNEAK": "Reposition Before Sneaking (FR TODO)",
        "IMPROVE_POSITION": "Improve Position (FR TODO)",
        "PROCEED_AWARENESS": "Proceed with Awareness (FR TODO)",
        "PROCEED_SNEAK": "Proceed with Sneak (FR TODO)",
        "EXCELLENT_POSITION": "Excellent Position (FR TODO)",
        "GOOD_POSITION": "Good Position (FR TODO)",
        "HIDE_ACTION": "Hide Action (FR TODO)",
        "TAKE_COVER": "Take Cover (FR TODO)",
        "REPOSITION": "Reposition (FR TODO)",
        "CREATE_DIVERSION": "Create a Diversion (FR TODO)",
        "POINT_OUT": "Point Out (FR TODO)",
        "SEEK_ACTION": "Seek Action (FR TODO)",
        "INCREASE_DISTANCE": "Increase Distance (FR TODO)",
        "GOOD_DISTANCE": "Good Distance (FR TODO)",
        "SEEK_DARKNESS": "Seek Darkness (FR TODO)",
        "EXCELLENT_LIGHTING": "Excellent Lighting (FR TODO)",
        "FIND_COVER": "Find Cover (FR TODO)",
        "MAINTAIN_COVER": "Maintain Cover (FR TODO)",
        "BREAK_LINE_SIGHT": "Break Line of Sight (FR TODO)",
        "BEST_COVER_DIRECTION": "Best Cover Direction (FR TODO)",
        "AVOID_EXPOSURE": "Avoid Exposure (FR TODO)",
        "SUGGESTED_MOVEMENT": "Suggested Movement (FR TODO)",
        "MAINTAIN_POSITION": "Maintain Position (FR TODO)",
        "RELOCATE_IMMEDIATELY": "Relocate Immediately (FR TODO)",
        "MAINTAIN_BENEFICIAL": "Maintain Beneficial Conditions (FR TODO)",
        "REMOVE_HARMFUL": "Remove Harmful Conditions (FR TODO)",
        "ACQUIRE_BENEFICIAL": "Acquire Beneficial Conditions (FR TODO)",
        "ALTERNATIVE_ACTIONS": "Alternative Actions (FR TODO)",
        "TACTICAL_ADVICE": "Tactical Advice (FR TODO)",
        "POSITIONING": "Positioning (FR TODO)",
        "CONDITIONS": "Conditions (FR TODO)"
      }
    },
    "BUTTONS": {
      "KEEN_EYES": "Keen Eyes (FR TODO)",
      "THAT": "That (FR TODO)",
      "OBSERVED": "Observed (FR TODO)",
      "CONCEALED": "Concealed (FR TODO)",
      "HIDDEN": "Hidden (FR TODO)",
      "UNDETECTED": "Undetected (FR TODO)",
      "NO_COVER": "No Cover (FR TODO)",
      "LESSER_COVER": "Lesser Cover (FR TODO)",
      "STANDARD_COVER": "Standard Cover (FR TODO)",
      "GREATER_COVER": "Greater Cover (FR TODO)",
      "BRIGHT_LIGHT": "Bright Light (FR TODO)",
      "DIM_LIGHT": "Dim Light (FR TODO)",
      "DARKNESS": "Darkness (FR TODO)",
      "IMPROVED": "Improved (FR TODO)",
      "WORSENED": "Worsened (FR TODO)",
      "UNCHANGED": "Unchanged (FR TODO)",
      "APPLY_CHANGE": "Apply Change (FR TODO)",
      "CANCEL": "Cancel (FR TODO)",
      "CHOOSE_DIFFERENT": "Choose Different State (FR TODO)",
      "POSITION_DATA": {
        "EXCELLENT": "Excellent position data (FR TODO)",
        "GOOD": "Good position data (FR TODO)",
        "FAIR": "Fair position data (FR TODO)",
        "POOR": "Poor position data (FR TODO)",
        "UNRELIABLE": "Unreliable position data (FR TODO)"
      }
    },
    "TOOLTIPS": {
      "AUTO_COVER_DETECTION": "Automatic Cover Detection (FR TODO)",
      "KEEN_EYES": "You gain a +2 circumstance bonus when using Seek (System application). Undetected creatures treated as Hidden, Hidden creatures treated as Observed when you Seek. (FR TODO)",
      "THAT_FEATURE": "You spot hidden doors, traps, and hazards more easily (failure will become a success). (FR TODO)"
    },
    "SETTINGS_MENU": {
      "TITLE": "PF2E Visioner Settings (FR TODO)",
      "OPEN_BUTTON": "Open (FR TODO)",
      "HINT": "Grouped settings by category (FR TODO)",
      "SECTIONS": {
        "GENERAL_UI": "General UI (FR TODO)",
        "MANAGER_SETTINGS": "Visioner Manager Settings (FR TODO)",
        "VISION": "Vision (FR TODO)",
        "HIDDEN_LOOT": "Hidden Loot Actors (FR TODO)",
        "HIDDEN_WALLS": "Hidden Walls (FR TODO)",
        "ADVANCED_SEEK": "Advanced Seek Options (FR TODO)",
        "COVER": "Cover (FR TODO)",
        "TOKEN_AUTO_COVER": "Token Auto Cover Settings (FR TODO)",
        "WALL_AUTO_COVER": "Wall Auto Cover Settings (FR TODO)",
        "AVS_SETTINGS": "A.V.S. Settings (FR TODO)",
        "ADVANCED": "Advanced (FR TODO)"
      }
    },
    "RULE_ELEMENTS": {
      "LABELS": {
        "SUBJECT": "Subject (FR TODO)",
        "OBSERVERS": "Observers (FR TODO)",
        "DIRECTION": "Direction (FR TODO)",
        "MODE": "Mode (FR TODO)",
        "STATUS": "Status (FR TODO)",
        "STEPS": "Steps (FR TODO)",
        "DURATION": "Duration (Rounds) (FR TODO)",
        "REQUIRES_INITIATIVE": "Requires Initiative (FR TODO)",
        "RANGE": "Range (feet) (FR TODO)"
      }
    }
  }
}
