{
  "brand": {
    "name": "Sokko G",
    "homeAriaLabel": "Accueil Sokko G"
  },
  "navigation": {
    "home": "Accueil",
    "toolboxes": "Toolboxes",
    "games": "Jeux",
    "library": "Librairie",
    "about": "C'est quoi Sokko G ?",
    "mobileLibrary": "Lib.",
    "mobileGames": "Infos"
  },
  "sidebar": {
    "badge": "Local only",
    "note": "Données stockées dans ce navigateur."
  },
  "topbar": {
    "dashboard": "Dashboard",
    "toolbox": "Toolboxes",
    "library": "Librairie",
    "games": "Informations jeu"
  },
  "gamesPage": {
    "eyebrow": "Pages informatives",
    "title": "Jeux disponibles",
    "description": "Choisissez un jeu pour consulter ses données maintenues et associer une toolbox locale.",
    "emptyTitle": "Aucun jeu disponible",
    "emptyText": "Ajoutez des entrées dans /data/games.json."
  },
  "library": {
    "eyebrow": "Catalogue des outils",
    "title": "Librairie",
    "description": "Parcourez tous les outils disponibles avec des exemples basiques couvrant les listes simples, les catégories, les contenus sans catégorie, les médias, les tableaux et les suivis de session.",
    "summaryLabel": "Repères de la librairie",
    "tocLabel": "Sommaire des outils",
    "toolsLabel": "Exemples d'outils disponibles",
    "summaryItems": [
      {
        "icon": "toolbox",
        "title": "Tous les outils",
        "text": "Chaque exemple utilise le vrai composant de toolbox pour refléter le comportement réel."
      },
      {
        "icon": "checklist",
        "title": "Formats variés",
        "text": "Les exemples couvrent les catégories, les entrées libres, les relations parent/enfant et les vues en grille."
      },
      {
        "icon": "notepad",
        "title": "Démo locale",
        "text": "Les modifications restent limitées à cette page et ne changent pas vos toolboxes enregistrées."
      }
    ]
  },
  "home": {
    "hero": {
      "eyebrow": "Session gaming efficace",
      "title": "Sokko G",
      "description": "Centralisez vos outils et repères de jeu dans une interface locale, rapide à consulter, pensée pour accompagner vos sessions sans interrompre l’action.",
      "primaryAction": "Voir les toolboxes",
      "secondaryAction": "Voir les jeux"
    },
    "stats": {
      "toolboxSingular": "toolbox créée",
      "toolboxPlural": "toolboxs créées",
      "toolSingular": "outil disponible",
      "toolPlural": "outils disponibles"
    },
    "origin": {
      "eyebrow": "Origine du nom",
      "title": "Pourquoi Sokko G ?",
      "visualAlt": "Dragon Sokko G",
      "dialogueAriaLabel": "Dialogue d’origine du nom Sokko G",
      "caption": "\"G\" c'est pour Gaming",
      "lines": [
        {
          "speaker": "user",
          "text": "Yo !\nComment peut on traduire en un minimum de mots :\n\"faire qqch de manière efficace et rapide\" en japonais ?"
        },
        {
          "speaker": "app",
          "text": "Une traduction concise en japonais serait :\n効率よく素早くやる <i>(Kōritsu yoku subayaku yaru)</i>\nCela signifie littéralement \"le faire efficacement et rapidement.\""
        },
        {
          "speaker": "user",
          "text": "En plus court stp"
        },
        {
          "speaker": "app",
          "text": "迅速効率 <i>(Jinsoku Kōritsu)</i>\nCela signifie \"rapidité et efficacité\" en un minimum de mots."
        },
        {
          "speaker": "user",
          "text": "Encore plus court !"
        },
        {
          "speaker": "app",
          "text": "速効 <i>(Sokkō)</i>\nCela signifie \"efficacité rapide\" ou \"effet immédiat,\" selon le contexte."
        },
        {
          "speaker": "user",
          "text": "Merci ! :)"
        }
      ]
    },
    "aboutLink": "Comprendre Sokko G",
    "legal": {
      "copyright": "© 2026 Shinuwa / Sokko G. Tous droits réservés.",
      "disclaimer": "Sokko G est un projet non officiel. Les noms, logos, images, illustrations et contenus liés aux jeux présentés appartiennent à leurs éditeurs et ayants droit respectifs. Les visuels officiels utilisés sur le site restent la propriété de leurs détenteurs."
    }
  },
  "about": {
    "eyebrow": "À propos",
    "title": "C'est quoi Sokko G ?",
    "description": "Un espace second écran pour garder vos outils, repères et infos de jeu sous la main pendant une session.",
    "sections": [
      {
        "title": "Le but du site",
        "text": "Sokko G sert à regrouper les outils utiles pendant une session : notes, suivis, images, liens et repères de jeu. L’objectif est de garder les informations importantes accessibles rapidement sur un second écran."
      },
      {
        "title": "Fonctionnement",
        "text": "Chaque toolbox est composée d’outils que vous ajoutez selon vos besoins. Elle peut rester indépendante ou être associée à une page jeu pour passer rapidement du guide à vos notes personnelles."
      },
      {
        "title": "Stockage local",
        "text": "Aucun compte, aucune synchronisation cloud et aucune donnée utilisateur envoyée au serveur. Les toolboxes sont enregistrées localement dans le navigateur que vous utilisez."
      },
      {
        "title": "IndexedDB simplement",
        "text": "IndexedDB est un espace de stockage intégré au navigateur. Il permet de conserver des données locales plus riches, comme des images ou des annotations. Ces données restent liées au navigateur et au profil utilisé : un nettoyage, un changement d’appareil ou une réinitialisation peut les supprimer."
      }
    ],
    "toolsTitle": "Outils disponibles",
    "toolsLibraryLink": "Voir la librairie d'outils",
    "contribute": {
      "eyebrow": "Contribuer",
      "title": "Proposer une liste de jeu",
      "description": "Les listes servent à transformer des données de jeu en checklists prêtes à l’emploi : équipements à fabriquer, créatures à capturer, monstres à battre, objets à suivre, etc. Une bonne liste est structurée par catégories, avec des noms clairs, une courte description utile et une quantité uniquement quand elle a du sens.\n\nExemple :",
      "example": "{\n  \"titre\": \"Équipements\",\n  \"armures\": [\n    {\n      \"nom\": \"Set d'armure sombre\",\n      \"description\": \"Obtenir en quête\",\n      \"quantite\": 1\n    }\n  ]\n}",
      "promptTitle": "Prompt utile",
      "promptIntro": "Ajoutez cette précision à votre demande pour obtenir un JSON directement exploitable :",
      "promptText": "Génère uniquement un JSON valide.\nLe JSON doit contenir une propriété racine \"titre\", puis une ou plusieurs catégories.\nChaque catégorie doit être un tableau d’objets.\nChaque objet doit contenir la propriété \"nom\".\nLes propriétés \"description\" et \"quantite\" sont facultatives.\nRegroupe les éléments de manière logique.\nNe renvoie aucun texte, aucune explication et aucun Markdown."
    },
    "tools": [
      {
        "icon": "notepad",
        "name": "Bloc notes",
        "description": "Un espace texte simple pour garder des notes rapides, idées ou rappels pendant une session."
      },
      {
        "icon": "checklist",
        "name": "Checklist",
        "description": "Une liste d’objectifs avec quantités pour suivre crafts, ressources, tâches ou préparatifs."
      },
      {
        "icon": "picture",
        "name": "Images",
        "description": "Un espace pour conserver des images utiles, ajoutées par fichier ou collage depuis le presse-papiers."
      },
      {
        "icon": "map",
        "name": "Annotation d'images",
        "description": "Une image unique annotable avec des marqueurs, pratique pour une carte, un plan ou un image important."
      },
      {
        "icon": "link",
        "name": "Liens",
        "description": "Une liste de raccourcis vers des guides, builds, cartes interactives ou ressources externes."
      },
      {
        "icon": "abacus",
        "name": "Compteurs",
        "description": "Des compteurs personnalisables pour suivre scores, ressources, victoires, essais ou résultats."
      },
      {
        "icon": "calculator",
        "name": "Calculateur",
        "description": "Un calculateur avec résultats enregistrables et arborescence pour préparer des chaînes de craft ou de ressources."
      },
      {
        "icon": "table",
        "name": "Tableau",
        "description": "Une grille compacte avec formules et copie TSV pour comparer ressources, stocks, besoins ou valeurs."
      },
      {
        "icon": "clock",
        "name": "Timer",
        "description": "Un espace pour préparer chronomètres à étapes et comptes à rebours multiples pendant une session."
      },
      {
        "icon": "tasklist",
        "name": "Planificateur de tâches",
        "description": "Un suivi de tâches ponctuelles, quotidiennes ou hebdomadaires avec catégories et dépendances."
      }
    ],
    "limitsTitle": "À retenir",
    "limits": [
      {
        "icon": "toolbox",
        "title": "Données locales",
        "text": "Vos toolboxes restent dans le navigateur et le profil utilisés. Elles ne sont pas synchronisées automatiquement entre plusieurs appareils."
      },
      {
        "icon": "export",
        "title": "Sauvegarde utile",
        "text": "Un export global régulier est recommandé, surtout avant un nettoyage du navigateur, un changement de machine ou une réinstallation."
      },
      {
        "icon": "abacus",
        "title": "Budget conseillé",
        "text": "Le budget affiché dans l’app sert de repère de confort. Ce n’est pas une limite serveur, mais un seuil au-delà duquel l’expérience peut devenir moins fluide."
      },
      {
        "icon": "picture",
        "title": "Médias lourds",
        "text": "Les images et annotations prennent plus de place que du texte. Elles sont pratiques, mais elles doivent être surveillées si vous en ajoutez beaucoup."
      }
    ]
  },
  "toolboxes": {
    "eyebrow": "Données locales",
    "title": "Toolboxes",
    "newButton": "Nouvelle toolbox",
    "libraryLink": "Voir la librairie d'outils",
    "importAll": "Importer tout",
    "exportAll": "Exporter tout",
    "importOne": "Importer une toolbox",
    "preferencesLabel": "Préférences d'interface",
    "toastPositionLabel": "Positionnement des alertes",
    "toastPositionLeft": "Afficher les alertes en bas à gauche",
    "toastPositionRight": "Afficher les alertes en bas à droite",
    "summary": "Créez des espaces modulaires pour regrouper vos outils de session : notes, suivis, références, captures et futurs outils restent accessibles rapidement, en local, par jeu ou par usage.",
    "storageHelp": {
      "title": "Sauvegardes locales",
      "text": "Vos toolboxes restent dans l'IndexedDB de ce navigateur. Rien n’est envoyé sur un serveur.",
      "items": [
        "Un nettoyage du navigateur ou un changement d’appareil peut supprimer les données.",
        "Surveillez le budget recommandé : au-delà, le navigateur peut encore stocker des données, mais l’app peut devenir moins fluide.",
        "Faites un export global régulier pour garder une sauvegarde."
      ]
    },
    "modules": {
      "notepad": {
        "placeholder": "Notes rapides...",
        "toolbarLabel": "Mise en page du bloc notes",
        "textFormatLabel": "Style du texte",
        "boldTitle": "Gras",
        "italicTitle": "Italique",
        "underlineTitle": "Souligné",
        "strikeTitle": "Barré",
        "headingTitle": "Titre",
        "listGroupLabel": "Listes",
        "bulletListTitle": "Liste à puces",
        "numberListTitle": "Liste numérotée",
        "colorGroupLabel": "Couleurs",
        "textColorLabel": "Couleur du texte",
        "highlightColorLabel": "Surlignage",
        "drawingLabel": "Dessin",
        "drawTitle": "Dessiner",
        "eraseTitle": "Gommer",
        "temporaryTitle": "Annotations temporaires",
        "permanentTitle": "Annotations permanentes",
        "undoDrawingTitle": "Annuler le dernier trait",
        "clearDrawingTitle": "Effacer les dessins",
        "drawingColorLabel": "Couleur du dessin",
        "drawingWidthLabel": "Épaisseur du trait",
        "temporaryStatus": "Dessins temporaires",
        "permanentStatus": "Dessins permanents",
        "updatedAtPrefix": "Modifié le",
        "sessionStorageError": "Les annotations temporaires n'ont pas pu être sauvegardées."
      },
      "checklist": {
        "itemPlaceholder": "Nouvel item",
        "sectionPlaceholder": "Catégorie",
        "quantityLabel": "Quantité cible",
        "addButton": "Ajouter",
        "importPlaceholder": "Importer plusieurs items...\n# Potions\nPotion:10\nMéga potion:5\n\n# Armures\nCasque Rey Dau:1",
        "importOpenButton": "Importer du texte",
        "importModalTitle": "Importer une checklist",
        "importButton": "Importer le texte",
        "hideCompletedSectionsTitle": "Réduire les catégories terminées",
        "hideCompletedSectionsFullyTitle": "Cacher les catégories terminées",
        "completedSectionsModeTitle": "Affichage des catégories terminées",
        "completedSectionsVisibleLabel": "Visible quand terminée",
        "completedSectionsReducedLabel": "Réduite quand terminée",
        "completedSectionsHiddenLabel": "Cachée quand terminée",
        "showCompletedSectionTitle": "Afficher cette catégorie terminée",
        "hideCompletedSectionTitle": "Réduire cette catégorie terminée",
        "decrementLabel": "Retirer une quantité",
        "incrementLabel": "Ajouter une quantité",
        "currentQuantityLabel": "Quantité actuelle",
        "reorderTitle": "Déplacer",
        "reorderSectionTitle": "Déplacer la catégorie",
        "sectionEditTitle": "Renommer la catégorie",
        "itemEditLabel": "Libellé",
        "categoryEditLabel": "Catégorie",
        "editTitle": "Modifier",
        "deleteTitle": "Supprimer"
      },
      "images": {
        "addImages": "Ajouter des images",
        "pastePlaceholder": "Coller une image ici",
        "pasteAriaLabel": "Coller une image depuis le presse-papiers",
        "imageAlt": "Image",
        "labelPlaceholder": "Libellé de l'image",
        "labelAriaLabel": "Libellé de l'image",
        "previewAriaLabel": "Agrandir l'image",
        "reorderAriaLabel": "Déplacer l'image",
        "reorderTitle": "Déplacer",
        "annotateAriaLabel": "Annoter l'image",
        "annotateTitle": "Annoter",
        "deleteAriaLabel": "Supprimer l'image",
        "deleteTitle": "Supprimer"
      },
      "links": {
        "titlePlaceholder": "Nom du lien",
        "urlPlaceholder": "https://...",
        "addButton": "Ajouter",
        "importPlaceholder": "Importer plusieurs liens...\nBuild:https://example.com/build?class=rogue\nMap:https://example.com/map",
        "importOpenButton": "Importer du texte",
        "importModalTitle": "Importer des liens",
        "importButton": "Importer le texte",
        "copyTitle": "Copier",
        "copiedTitle": "Copié",
        "deleteTitle": "Supprimer"
      },
      "counters": {
        "labelPlaceholder": "Nom du compteur",
        "addButton": "Ajouter",
        "decrementLabel": "Décrémenter",
        "incrementLabel": "Incrémenter",
        "resetTitle": "Réinitialiser",
        "deleteTitle": "Supprimer"
      },
      "combos": {
        "deviceLabel": "Périphérique",
        "keyboardLayoutLabel": "Disposition clavier",
        "categoryPlaceholder": "Catégorie",
        "targetCategoryLabel": "Catégorie",
        "noCategoryLabel": "Sans catégorie",
        "comboNameLabel": "Nom",
        "comboNamePlaceholder": "Nom du combo",
        "defaultComboName": "Combo",
        "emptyDraft": "Aucune touche sélectionnée.",
        "simultaneousModeTitle": "Ajouter dans l'étape active",
        "successiveModeLabel": "A › B",
        "simultaneousModeLabel": "A + B",
        "holdLabel": "Maintien (s)",
        "holdToggleLabel": "Hold",
        "removeStepTitle": "Supprimer l'étape",
        "removeLastInputTitle": "Retirer la dernière touche",
        "addComboButton": "Ajouter le combo",
        "saveComboButton": "Enregistrer",
        "cancelEditTitle": "Annuler l'édition",
        "cancelEditButton": "Annuler",
        "paletteLabel": "Palette de touches",
        "customKeyPlaceholder": "Touche personnalisée",
        "addCustomKeyButton": "Ajouter touche",
        "emptyCombos": "Aucun combo enregistré.",
        "emptySequence": "Combo sans touches",
        "showCategoryTitle": "Afficher la catégorie",
        "hideCategoryTitle": "Réduire la catégorie",
        "reorderCategoryTitle": "Déplacer la catégorie",
        "reorderComboTitle": "Déplacer le combo",
        "editComboTitle": "Modifier le combo",
        "deleteComboTitle": "Supprimer le combo"
      },
      "calculator": {
        "expressionLabel": "Calcul",
        "expressionPlaceholder": "10*10",
        "resultLabel": "Résultat",
        "labelLabel": "Libellé",
        "labelPlaceholder": "ex: Lingots de fer",
        "saveButton": "Enregistrer",
        "rootButton": "Revenir à la racine",
        "resetTitle": "Réinitialiser",
        "copyTitle": "Copier pour checklist",
        "copiedTitle": "Copié",
        "scrollableTitle": "Liste scrollable",
        "emptyResults": "Aucun résultat enregistré.",
        "readonlyValueTitle": "Quantité non modifiable",
        "useEntryTitle": "Utiliser comme base",
        "renameTitle": "Renommer",
        "deleteTitle": "Supprimer"
      },
      "table": {
        "toolbarLabel": "Actions du tableau",
        "gridLabel": "Tableau",
        "cellLabel": "Cellule",
        "rowActionsLabel": "Lignes",
        "columnActionsLabel": "Colonnes",
        "sizeLabel": "Taille du tableau",
        "addRowTitle": "Ajouter une ligne",
        "removeRowTitle": "Supprimer la dernière ligne",
        "addColumnTitle": "Ajouter une colonne",
        "removeColumnTitle": "Supprimer la dernière colonne",
        "copyTitle": "Copier en TSV",
        "copiedTitle": "Tableau copié",
        "errorTitle": "Formule invalide",
        "columnLabel": "Intitulé de colonne",
        "rowLabel": "Intitulé de ligne",
        "columnFormulaTitle": "Référence conservée dans les formules",
        "rowFormulaTitle": "Référence conservée dans les formules"
      },
      "timer": {
        "stopwatchTab": "Chronomètre",
        "countdownTab": "Compte à rebours",
        "stopwatchTitle": "Chronomètre",
        "countdownTitle": "Compte à rebours",
        "startButton": "Lancer",
        "pauseButton": "Pause",
        "lapButton": "Étape",
        "resetTitle": "Réinitialiser",
        "lapLabelAriaLabel": "Libellé de l'étape",
        "countdownLabel": "Libellé",
        "countdownLabelPlaceholder": "Boss, event, craft...",
        "countdownTypeLabel": "Type",
        "durationType": "Durée",
        "dailyTimeType": "Heure précise",
        "timePatternType": "Pattern horaire",
        "intervalType": "Intervalle",
        "durationLabel": "Durée",
        "dailyTimeLabel": "Heure",
        "timePatternLabel": "Heure / minute / seconde",
        "intervalLabel": "Toutes les",
        "intervalStartNowOption": "Maintenant",
        "intervalStartTimeOption": "Heure précise",
        "intervalStartTimeLabel": "Départ",
        "addCountdownButton": "Ajouter",
        "requiredError": "Valeur requise.",
        "invalidError": "Valeur invalide.",
        "defaultCountdownLabel": "Timer",
        "finishedLabel": "Terminé",
        "targetLabel": "Suivant",
        "stepLabel": "Étape",
        "stepsTitle": "Étapes",
        "countdownsTitle": "Temps restants",
        "scrollableTitle": "Liste scrollable",
        "sortTitle": "Trier par temps restant",
        "autoRefreshTitle": "Répéter automatiquement",
        "alertModeTitle": "Mode d'alerte",
        "alertOffTitle": "Pas d'alerte",
        "alertVisibleTitle": "Alerte quand la toolbox est affichée",
        "alertSiteTitle": "Alerte sur tout le site",
        "alertTooSoonTitle": "Alerte indisponible pour une répétition inférieure à 5 minutes",
        "alertMessage": "{label} est terminé dans {toolbox}.",
        "emptySteps": "Aucune étape enregistrée.",
        "emptyCountdowns": "Aucun compte à rebours configuré.",
        "renameTitle": "Renommer",
        "deleteTitle": "Supprimer"
      },
      "taskPlanner": {
        "settingsTitle": "Réglages du planificateur",
        "settingsButtonLabel": "Paramètres des réinitialisations",
        "hideCompletedTitle": "Masquer les tâches effectuées",
        "globalWeeklyResetDayLabel": "Reset hebdo",
        "resetTimeLabel": "Heure de reset",
        "clearCompletedUniqueTitle": "Nettoyer les tâches ponctuelles effectuées",
        "clearCompletedUniqueButton": "Nettoyer les tâches ponctuelles terminées",
        "titlePlaceholder": "Nouvelle tâche",
        "titleLabel": "Titre",
        "descriptionPlaceholder": "Description",
        "descriptionLabel": "Description",
        "typeLabel": "Type",
        "uniqueType": "Ponctuelle",
        "dailyType": "Quotidienne",
        "weeklyType": "Hebdomadaire",
        "addButton": "Ajouter",
        "reorderTitle": "Déplacer",
        "checkTitle": "Marquer effectué",
        "uncheckTitle": "Marquer non effectué",
        "deleteTitle": "Supprimer",
        "showDescriptionTitle": "Afficher la description",
        "hideDescriptionTitle": "Masquer la description",
        "taskSettingsTitle": "Réglages de la tâche",
        "missingPrerequisiteTitle": "Pré requis non effectué",
        "missingPrerequisiteBadge": "Dépend du parent",
        "missingPrerequisiteNotice": "Pré requis parent non effectué",
        "categoryLabel": "Catégorie",
        "categoryPlaceholder": "Nom de catégorie",
        "categoryReorderTitle": "Déplacer la catégorie",
        "uncategorizedDropTitle": "Sans catégorie",
        "showCategoryTitle": "Afficher cette catégorie",
        "hideCategoryTitle": "Réduire cette catégorie",
        "taskWeeklyResetDayLabel": "Jour hebdo",
        "inheritWeeklyResetDay": "Global",
        "linksLabel": "Parent",
        "emptyLinks": "Aucun parent",
        "addLinkLabel": "Définir un parent",
        "prerequisiteCheckboxLabel": "Pré requis",
        "removeRelationTitle": "Retirer",
        "emptyTasks": "Aucune tâche planifiée."
      },
      "imageAnnotation": {
        "addImage": "Ajouter une image",
        "replaceImage": "Remplacer l'image",
        "pastePlaceholder": "Coller une image ici",
        "pasteAriaLabel": "Coller une image à annoter depuis le presse-papiers",
        "stageAriaLabel": "Ajouter un marqueur sur l'image",
        "addMarkerAriaLabel": "Ajouter un marqueur sur l'image",
        "imageAlt": "Image annotée",
        "previewTitle": "Agrandir",
        "previewAriaLabel": "Agrandir l'image annotée",
        "markerPrefix": "Marqueur",
        "markersSingular": "marqueur",
        "markersPlural": "marqueurs",
        "markerPlaceholder": "Libellé du marqueur",
        "emptyImage": "Ajoutez une image pour commencer l'annotation.",
        "emptyMarkers": "Agrandissez l'image pour ajouter un marqueur.",
        "deleteImageTitle": "Supprimer l'image",
        "deleteMarkerTitle": "Supprimer",
        "drawingLabel": "Dessin",
        "drawTitle": "Dessiner",
        "eraseTitle": "Gommer",
        "undoDrawingTitle": "Annuler le dernier trait",
        "clearDrawingTitle": "Effacer les dessins",
        "drawingColorLabel": "Couleur du dessin",
        "drawingWidthLabel": "Épaisseur du trait",
        "temporaryTitle": "Annotations temporaires",
        "permanentTitle": "Annotations permanentes",
        "sessionStorageError": "Les annotations temporaires n'ont pas pu être sauvegardées."
      }
    },
    "emptyTitle": "Aucune toolbox",
    "emptyText": "Créez une première toolbox pour stocker vos outils dans ce navigateur."
  }
}
