2668 lines
117 KiB
JSON
2668 lines
117 KiB
JSON
{
|
||
"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",
|
||
"tocTitle": "Sommaire",
|
||
"docTocTitle": "Catalogue des outils",
|
||
"tocDescription": "Accédez directement à un exemple d’outil dans la page.",
|
||
"toolsLabel": "Exemples d'outils disponibles",
|
||
"categoryLabel": "Usage",
|
||
"featureHeading": "Fonctionnalités détaillées",
|
||
"advancedHeading": "Import par texte",
|
||
"copyExampleLabel": "Copier l'exemple",
|
||
"copyExampleSuccess": "Exemple copié.",
|
||
"controlLegendHeading": "Repères",
|
||
"categories": {
|
||
"notesTracking": "Notes & suivi",
|
||
"references": "Références",
|
||
"calculationData": "Calcul & données",
|
||
"timeRoutines": "Temps & routines",
|
||
"buildsCommands": "Builds & commandes"
|
||
},
|
||
"categoryDescriptions": {
|
||
"notesTracking": "Les outils pour noter rapidement une information, suivre des objectifs et garder un état de session lisible.",
|
||
"references": "Les outils pour centraliser cartes, captures, images annotées et liens externes utiles pendant une partie.",
|
||
"calculationData": "Les outils pour manipuler des valeurs, comparer des données et structurer des informations en tableau.",
|
||
"timeRoutines": "Les outils pour gérer les temps de session, les resets, les tâches récurrentes et les routines quotidiennes ou hebdomadaires.",
|
||
"buildsCommands": "Les outils pour documenter des builds, organiser des équipements et conserver des séquences de commandes."
|
||
},
|
||
"toolDocs": {
|
||
"memos": {
|
||
"controls": [
|
||
{
|
||
"group": "Mémos",
|
||
"icon": "add",
|
||
"title": "Ajouter un mémo",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "add"
|
||
}
|
||
},
|
||
{
|
||
"group": "Mémos",
|
||
"icon": "drag",
|
||
"title": "Déplacer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "drag"
|
||
}
|
||
},
|
||
{
|
||
"group": "Mémos",
|
||
"icon": "dropdown",
|
||
"title": "Couleur du mémo",
|
||
"preview": {
|
||
"kind": "color"
|
||
}
|
||
},
|
||
{
|
||
"group": "Bande",
|
||
"icon": "eye-open",
|
||
"title": "Afficher la bande déroulante",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "eye-open"
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Infos courtes",
|
||
"text": "Post-it rapides pour garder une consigne, une route ou un rappel visible dans la toolbox.",
|
||
"details": [
|
||
"Chaque mémo reste volontairement court pour compléter le Bloc Note sans le remplacer.",
|
||
"L'édition se fait directement dans la carte du mémo."
|
||
]
|
||
},
|
||
{
|
||
"title": "Bande déroulante",
|
||
"text": "Tous les mémos apparaissent dans une bande compacte quand la bande est active.",
|
||
"details": [
|
||
"La bande peut être masquée sans retirer les mémos.",
|
||
"Les couleurs restent des accents localisés pour conserver une lecture calme."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Chaque ligne crée un mémo. Le suffixe color=#f6c453 conserve la couleur de la carte.",
|
||
"example": "- Pour la reproduction, combine Pierre Stase + Nœud Destin pour transmettre nature et IV. | color=#f6c453\n- Les IV obtenus par Hyper Training ne sont pas transmis aux oeufs. | color=#8b5cf6\n- Pour une équipe Distorsion, vise 0 IV en Vitesse sur les Pokémon lents. | color=#22d3ee\n- Utilise les objets Pouvoir pour cibler précisément les EV à entraîner. | color=#d946ef"
|
||
}
|
||
},
|
||
"notepad": {
|
||
"controls": [
|
||
{
|
||
"group": "Pages",
|
||
"icon": "pages",
|
||
"title": "Affiche le menu des pages",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "pages"
|
||
}
|
||
},
|
||
{
|
||
"group": "Édition de texte",
|
||
"icon": "edit",
|
||
"title": "Styles de texte",
|
||
"preview": {
|
||
"kind": "textFormats"
|
||
}
|
||
},
|
||
{
|
||
"group": "Édition de texte",
|
||
"icon": "edit",
|
||
"title": "Titre",
|
||
"text": "S’applique a toute la ligne courante.",
|
||
"preview": {
|
||
"kind": "textButton",
|
||
"label": "T"
|
||
}
|
||
},
|
||
{
|
||
"group": "Édition de texte",
|
||
"icon": "dropdown",
|
||
"title": "Liste à puces / Liste numérotée",
|
||
"preview": {
|
||
"kind": "listDropdown"
|
||
}
|
||
},
|
||
{
|
||
"group": "Édition de texte",
|
||
"icon": "dropdown",
|
||
"title": "Couleur / surlignage",
|
||
"preview": {
|
||
"kind": "color"
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "edit",
|
||
"title": "Dessiner",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "edit"
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "rubber",
|
||
"title": "Gommer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "rubber"
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "dropdown",
|
||
"title": "Couleur du trait",
|
||
"preview": {
|
||
"kind": "color"
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "dropdown",
|
||
"title": "Épaisseur du trait",
|
||
"preview": {
|
||
"kind": "drawingWidth",
|
||
"width": 4
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "back",
|
||
"title": "Annuler le dernier trait",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "back"
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "trash",
|
||
"title": "Effacer les dessins",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "save",
|
||
"title": "Sauvegarde du dessin",
|
||
"preview": {
|
||
"kind": "switch",
|
||
"icon": "save",
|
||
"active": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Mise en page de texte",
|
||
"text": "Rédaction riche avec gras, italique, souligné, barré, titres, listes à puces, listes numérotées, couleurs de texte et surlignage.",
|
||
"details": [
|
||
"Les boutons de mise en forme agissent sur le texte sélectionné ou sur le mot en cours de saisie.",
|
||
"Le menu listes regroupe les listes simples et numérotées pour éviter d'avoir deux boutons permanents.",
|
||
"Les couleurs de texte et de surlignage sont séparées pour distinguer une information importante d'un simple repère visuel."
|
||
]
|
||
},
|
||
{
|
||
"title": "Dessin manuel",
|
||
"text": "Ajout de traits au-dessus de la note, avec couleur, épaisseur, gomme, annulation et mode temporaire ou permanent.",
|
||
"details": [
|
||
"Le mode dessin place un calque transparent au-dessus de la note sans remplacer le texte.",
|
||
"La gomme retire les traits dessinés, tandis que l'annulation retire le dernier tracé.",
|
||
"Le mode temporaire sert aux annotations de session; le mode permanent sauvegarde les traits avec la note."
|
||
]
|
||
},
|
||
{
|
||
"title": "Sauvegarde locale",
|
||
"text": "Le contenu est nettoyé puis gardé dans le navigateur, avec une date de modification visible dans l'outil.",
|
||
"details": [
|
||
"La note conserve le texte riche autorisé, pas du HTML libre non contrôlé.",
|
||
"La date de dernière modification permet de vérifier si une note a bien été mise à jour.",
|
||
"Les données restent dans la toolbox locale et ne nécessitent pas de compte."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Le Bloc Note utilise des pages avec blocs HTML nettoyés, puis une ligne dessins en JSON compact si nécessaire.",
|
||
"example": "@notepad\n@page: Infos: Obtenir Mew\n@html\n<h3><span style=\"color: #f5f7ff\">Obtenir Mew :</span></h3><div><ul><li>Obtenir la CS <span style=\"color: #f6c453\">Coupe </span>à l'intérieur du bateau le <span style=\"color: #d946ef\">S.S. Anne</span>.</li><li>Faire exprès de perdre un combat (tomber K.O.) pour réapparaître au Centre Pokémon sans faire partir le navire.</li><li>Revenir sur les quais de <span style=\"color: #d946ef\">Carmin-sur-Mer</span> après avoir débloqué et appris la compétence <span style=\"color: #f6c453\">Surf</span>.</li><li>Naviguer sur l'eau pour atteindre la zone cachée où repose le véhicule.</li></ul><div><br></div></div><p></p>\n@endhtml\n@drawingMode: permanent\n@drawings: {\"strokes\":[...]}\n@page: Infos: Obtenir Celebi\n@html\n<h3><span style=\"color: #f5f7ff\">Obtenir Celebi :</span></h3><p></p><ul><li>Avoir battu la <span style=\"color: #d946ef\">Ligue Pokémon</span> au moins une fois et posséder le Pokédex National.</li><li>Mettre un Pokémon de type Plante (comme <span style=\"color: #22d3ee\">Florizarre</span> ou <span style=\"color: #22d3ee\">Meganium</span>) au niveau 100 en première position de votre équipe.</li><li>Avoir un Pokémon connaissant la CS <span style=\"color: #f6c453\">Flash</span> et un autre connaissant la CS <span style=\"color: #f6c453\">Coupe</span>.</li><li>Se rendre devant l'autel du <span style=\"color: #d946ef\">Bois aux Chênes</span> la nuit (le jeu doit être dans sa phase nocturne).</li><li>Utiliser la capacité <span style=\"color: #f6c453\">Flash</span> juste devant l'autel pour éclairer l'écran.</li><li>Appuyer sur A face à l'autel</li></ul><div><span style=\"color: #b4bdd3\"><br></span></div><div><span style=\"color: #b4bdd3\"><br></span></div>\n@endhtml\n@drawingMode: permanent\n@drawings: {\"strokes\":[...]}"
|
||
}
|
||
},
|
||
"checklist": {
|
||
"controls": [
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "settings",
|
||
"title": "Décrémenter / Incrémenter",
|
||
"preview": {
|
||
"kind": "buttonGroup",
|
||
"buttons": [
|
||
{
|
||
"label": "-"
|
||
},
|
||
{
|
||
"label": "+"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "eye-open",
|
||
"title": "Visible quand terminée",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "eye-open"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "hide",
|
||
"title": "Réduit quand terminée",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "hide"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "eye-closed",
|
||
"title": "Masqué quand terminée",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "eye-closed"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "drag",
|
||
"title": "Déplacer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "drag"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "edit",
|
||
"title": "Modifier",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "edit"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Objectifs et quantités",
|
||
"text": "Chaque item possède une quantité cible et une quantité actuelle. Les boutons + et - font progresser l'item jusqu'à validation complète.",
|
||
"details": [
|
||
"Un item sans quantité spéciale utilise 1 comme objectif.",
|
||
"Un item de type Potion:10 demande dix validations avant d'être terminé.",
|
||
"La case reflète la progression réelle : cocher complète l'objectif, les boutons + et - ajustent le nombre atteint."
|
||
]
|
||
},
|
||
{
|
||
"title": "Catégories terminées",
|
||
"text": "Une catégorie est considérée comme terminée quand tous ses items atteignent leur quantité cible. Elle peut rester visible, passer en mode réduit ou être masquée.",
|
||
"details": [
|
||
"Visible garde tous les items affichés, même terminés.",
|
||
"Réduit conserve le titre de catégorie pour garder un repère sans occuper toute la hauteur.",
|
||
"Caché retire les catégories terminées de la vue courante pour se concentrer sur ce qui reste à faire."
|
||
]
|
||
},
|
||
{
|
||
"title": "Réorganisation",
|
||
"text": "Déplacement des catégories et des items par drag & drop pour garder la liste dans l'ordre voulu.",
|
||
"details": [
|
||
"Une catégorie peut être déplacée avant ou après une autre catégorie.",
|
||
"Un item peut être déplacé dans la même catégorie ou envoyé dans une autre catégorie.",
|
||
"Les zones de dépôt apparaissent pendant le déplacement pour montrer où l'item sera placé."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Une ligne commençant par # crée une catégorie. Une ligne item peut contenir une quantité avec le format Nom:quantité.",
|
||
"example": "# Equipements\nEpee de diamant: 1\nBouclier: 1\nArc: 1\nCasque en diamant: 1\nArmure en diamant: 1\nGants en diamant: 1\nBottes en diamant: 1\n\nFleches: 64\nPotion de soin renforcée: 20\nPerle de l'Ender: 16"
|
||
}
|
||
},
|
||
"counters": {
|
||
"controls": [
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "settings",
|
||
"title": "Décrémenter / Incrémenter",
|
||
"preview": {
|
||
"kind": "buttonGroup",
|
||
"buttons": [
|
||
{
|
||
"label": "-"
|
||
},
|
||
{
|
||
"label": "+"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "rubber",
|
||
"title": "Remettre à zéro",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "rubber"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Compteurs rapides",
|
||
"text": "Ajout de compteurs nommés pour suivre essais, ressources, scores, victoires ou stocks.",
|
||
"details": [
|
||
"Chaque compteur a son propre nom et sa propre valeur.",
|
||
"Les compteurs sont utiles pour suivre des essais de drop, des morts, des ressources ou des manches.",
|
||
"L'outil reste volontairement simple : pas de catégorie, pas de configuration obligatoire."
|
||
]
|
||
},
|
||
{
|
||
"title": "Actions immédiates",
|
||
"text": "Chaque compteur peut être incrémenté, décrémenté, réinitialisé ou supprimé sans configuration avancée.",
|
||
"details": [
|
||
"Le bouton + ajoute une unité au compteur.",
|
||
"Le bouton - retire une unité si une valeur a été ajoutée par erreur.",
|
||
"Réinitialiser remet la valeur à zéro sans supprimer le compteur; supprimer retire le compteur entier."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Un compteur par ligne. Le libellé est séparé de la valeur avec deux-points.",
|
||
"example": "Top 1: 3\nTop 2: 6\nTop 3: 2\nTop 4: 1"
|
||
}
|
||
},
|
||
"randomizer": {
|
||
"controls": [
|
||
{
|
||
"group": "Tirage",
|
||
"icon": "play-circle",
|
||
"title": "Lancer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "play-circle"
|
||
}
|
||
},
|
||
{
|
||
"group": "Paramètres",
|
||
"icon": "dice",
|
||
"title": "Faces, poids et scores",
|
||
"preview": {
|
||
"kind": "textButton",
|
||
"label": "N"
|
||
}
|
||
},
|
||
{
|
||
"group": "Historique",
|
||
"icon": "rubber",
|
||
"title": "Supprimer les simulations",
|
||
"preview": {
|
||
"kind": "button",
|
||
"label": "Effacer"
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Trois modes fixes",
|
||
"text": "Dé numérique, roue pondérée et équipes équilibrées restent disponibles dans le même outil.",
|
||
"details": [
|
||
"Le dé tire une ou plusieurs valeurs entre 1 et le nombre de faces.",
|
||
"La roue utilise des poids pour rendre certaines valeurs plus probables.",
|
||
"Les équipes répartissent les joueurs actifs en équilibrant les scores."
|
||
]
|
||
},
|
||
{
|
||
"title": "Contraintes d'équipes",
|
||
"text": "Les exclusions paire-à-paire empêchent deux joueurs de tomber dans la même équipe quand une solution existe.",
|
||
"details": [
|
||
"Chaque joueur peut être désactivé sans être supprimé.",
|
||
"Le score sert uniquement à équilibrer les équipes.",
|
||
"Si les contraintes sont impossibles, le dernier résultat valide reste affiché."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Le format texte contient les sections [dice], [wheel] et [teams]. Les exclusions d'équipes commencent par !.",
|
||
"example": "@activeTab: teams\n[dice]\nfaces: 6\nrolls: 5\n\n[wheel]\ndraws: 3\n\n- Oui | weight=2\n- Non | weight=2\n- Peut etre | weight=1\n\n[teams]\nteamCount: 4\nplayerSelectionMode: all\nplayerSelectionCount: 6\n\n- Dracaufeu | score=0\n- Tortank | score=0\n- Florizarre | score=0\n- Dracolosse | score=0\n- Ectoplasma | score=0\n- Alakazam | score=0\n- Mackogneur | score=0\n- Cizayox | score=0\n- Tyranocif | score=0\n- Gardevoir | score=0\n- Drattak | score=0\n- Métalosse | score=0\n- Carchacrok | score=0\n- Lucario | score=0\n- Trioxhydre | score=0\n- Amphinobi | score=0\n- Archéduc | score=0\n- Félinferno | score=0\n- Corvaillus | score=0\n- Lanssorien | score=0\n- Raichu | score=0\n- Artikodin | score=0\n- Électhor | score=0\n- Sulfura | score=0\n! Dracolosse / Drattak / Carchacrok / Lanssorien | mode=group\n! Artikodin / Électhor / Sulfura | mode=group"
|
||
}
|
||
},
|
||
"rngSimulator": {
|
||
"controls": [
|
||
{
|
||
"group": "Taux",
|
||
"icon": "clover",
|
||
"title": "Enregistrer un taux",
|
||
"preview": {
|
||
"kind": "textButton",
|
||
"label": "%"
|
||
}
|
||
},
|
||
{
|
||
"group": "Simulation",
|
||
"icon": "play-circle",
|
||
"title": "Simuler",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "play-circle"
|
||
}
|
||
},
|
||
{
|
||
"group": "Historique",
|
||
"icon": "rubber",
|
||
"title": "Effacer l'historique",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "rubber"
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Taux sauvegardés",
|
||
"text": "Chaque taux possède un libellé et garde la précision saisie, même pour des probabilités très faibles.",
|
||
"details": [
|
||
"La saisie par défaut utilise trois décimales, mais le stockage conserve la chaîne exacte normalisée.",
|
||
"Un taux comme 0.000004% reste disponible tel quel pour les calculs et les simulations.",
|
||
"La sélection active permet de comparer rapidement plusieurs drops ou chances de réussite."
|
||
]
|
||
},
|
||
{
|
||
"title": "Lecture probabiliste",
|
||
"text": "L'outil affiche la moyenne d'essais avant réussite, le temps moyen selon votre rythme et les paliers de chance cumulée.",
|
||
"details": [
|
||
"Les occurrences par heure, jour et mois sont indépendantes pour s'adapter à différents usages.",
|
||
"Les paliers 50%, 90%, 95% et 99% donnent un repère concret sur la variance.",
|
||
"La simulation agrège réussites, échecs et pire série d'échecs sans stocker chaque tirage."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Le format texte contient les sections [rates] et [settings]. Les taux sont exprimés en pourcentage.",
|
||
"example": "@activeRateId: fnn88zy\n[rates]\n- Elten Piece | rate=0.000004 | active=true | multiplier=320 | perHour=60 | perDay=0 | perMonth=0\n- Pen Eklecta | rate=20.02 | multiplier=0 | perHour=0 | perDay=0 | perMonth=0\n\n[settings]\nsimulationDraws: 1000"
|
||
}
|
||
},
|
||
"images": {
|
||
"controls": [
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "zoom",
|
||
"title": "Agrandir",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "zoom"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "map",
|
||
"title": "Envoyer vers annotation d’image",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "map"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Galerie locale",
|
||
"text": "Ajout de captures, cartes ou références visuelles depuis un fichier ou par collage.",
|
||
"details": [
|
||
"Le bouton d'ajout accepte des fichiers image depuis l'appareil.",
|
||
"La zone de collage permet d'ajouter rapidement une capture copiée depuis le presse-papiers.",
|
||
"Plusieurs images peuvent cohabiter dans la même galerie de toolbox."
|
||
]
|
||
},
|
||
{
|
||
"title": "Prévisualisation",
|
||
"text": "Chaque image peut être ouverte en grand et renommée pour retrouver rapidement la bonne référence.",
|
||
"details": [
|
||
"Le bouton d'aperçu ouvre l'image sans sortir de l'application.",
|
||
"Le libellé peut être modifié pour remplacer un nom de fichier peu lisible.",
|
||
"La suppression retire seulement l'image concernée de l'outil courant."
|
||
]
|
||
},
|
||
{
|
||
"title": "Annotation rapide",
|
||
"text": "Une image peut être envoyée vers l'outil d'annotation pour ajouter marqueurs et dessins.",
|
||
"details": [
|
||
"Annoter copie l'image vers l'outil Annotation d'images de la même toolbox.",
|
||
"L'image devient alors le support de marqueurs, libellés et dessins.",
|
||
"La galerie garde l'image originale pour conserver la référence source."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Chaque image est exportée comme un bloc avec un libellé optionnel puis une data URL base64 complète.",
|
||
"example": "# Heal composition strategy\ndata:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABA...\n# Healers counters\ndata:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABA..."
|
||
}
|
||
},
|
||
"imageAnnotation": {
|
||
"controls": [
|
||
{
|
||
"group": "Image et marqueurs",
|
||
"icon": "zoom",
|
||
"title": "Plein écran",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "zoom"
|
||
}
|
||
},
|
||
{
|
||
"group": "Image et marqueurs",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "edit",
|
||
"title": "Dessiner",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "edit"
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "rubber",
|
||
"title": "Gommer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "rubber"
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "dropdown",
|
||
"title": "Couleur du trait",
|
||
"preview": {
|
||
"kind": "color"
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "dropdown",
|
||
"title": "Épaisseur du trait",
|
||
"preview": {
|
||
"kind": "drawingWidth",
|
||
"width": 4
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "back",
|
||
"title": "Annuler le dernier trait",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "back"
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "trash",
|
||
"title": "Effacer les dessins",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
},
|
||
{
|
||
"group": "Dessin",
|
||
"icon": "save",
|
||
"title": "Sauvegarde du dessin",
|
||
"preview": {
|
||
"kind": "switch",
|
||
"icon": "save",
|
||
"active": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Image unique annotable",
|
||
"text": "Préparation d'une carte ou d'un plan avec une image principale, des marqueurs et des libellés.",
|
||
"details": [
|
||
"Une seule image sert de plan de travail pour éviter de mélanger plusieurs cartes.",
|
||
"Les marqueurs sont placés relativement à l'image et suivent son redimensionnement.",
|
||
"Chaque marqueur peut porter un libellé court pour nommer une zone, un objectif ou un repère."
|
||
]
|
||
},
|
||
{
|
||
"title": "Dessin plein écran",
|
||
"text": "Les traits sont ajoutés en édition plein écran et restent alignés avec l'image redimensionnée.",
|
||
"details": [
|
||
"Le plein écran donne plus de précision pour tracer sur une carte ou une capture.",
|
||
"Les traits utilisent des coordonnées proportionnelles pour rester au bon endroit après redimensionnement.",
|
||
"La couleur et l'épaisseur permettent de distinguer plusieurs types d'information."
|
||
]
|
||
},
|
||
{
|
||
"title": "Annotations temporaires ou permanentes",
|
||
"text": "Les dessins peuvent rester limités à la session ou être sauvegardés dans l'outil.",
|
||
"details": [
|
||
"Le mode temporaire sert aux notes rapides qui ne doivent pas polluer l'image à long terme.",
|
||
"Le mode permanent sauvegarde les traits dans l'outil.",
|
||
"La gomme, l'annulation et l'effacement permettent de corriger la carte pendant l'édition."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Le format contient l'image en base64, puis les marqueurs et les dessins permanents.",
|
||
"example": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABA...\n@marker: 63.849429339290076,49.45757170456234,Niv. 1-20\n@marker: 47.654532128023455,31.930025688385026,Niv. 10-20\n@marker: 55.91951415308366,41.03347982081821,Niv. 20-30\n@marker: 68.87543192209696,28.397341995202,Niv. 30-40\n@marker: 54.6909357439531,19.97325011145787,Niv. 30-50\n@marker: 40.95319535094761,50.136933953251386,Niv. 30-50\n@marker: 42.51684059893198,25.136403201494595,Niv. 50-60\n@marker: 32.46483543331821,70.51780141392268,Niv. 60-70\n@marker: 46.425953718892885,80.70823514425832,Niv. 60-70\n@marker: 36.59732644584831,9.91868883086003,Niv. 70-80\n@drawings: {\"strokes\":[...]}"
|
||
}
|
||
},
|
||
"links": {
|
||
"controls": [
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "copy",
|
||
"title": "Copier",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "copy"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Raccourcis de session",
|
||
"text": "Regroupement de guides, builds, cartes interactives et ressources externes avec titres lisibles.",
|
||
"details": [
|
||
"Chaque lien associe un titre lisible et une URL.",
|
||
"Le domaine est affiché pour identifier rapidement la source.",
|
||
"L'outil sert à garder les ressources externes accessibles depuis la toolbox sans rechercher à nouveau."
|
||
]
|
||
},
|
||
{
|
||
"title": "Copie rapide",
|
||
"text": "Chaque URL peut être copiée directement depuis la liste.",
|
||
"details": [
|
||
"Copier envoie l'URL complète dans le presse-papiers.",
|
||
"Supprimer retire uniquement le lien concerné.",
|
||
"L'import texte permet de préparer plusieurs liens hors de l'application puis de les coller en une seule fois."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Un lien par ligne. Séparez le titre et l'URL avec deux-points.",
|
||
"example": "Sokko G: https://sokkog.shinuwa.fr/#/\nC'est quoi ?: https://sokkog.shinuwa.fr/#/about"
|
||
}
|
||
},
|
||
"calculator": {
|
||
"controls": [
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "rubber",
|
||
"title": "Tout effacer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "rubber",
|
||
"danger": true
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "copy",
|
||
"title": "Copie pour créer une checklist",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "copy"
|
||
}
|
||
},
|
||
{
|
||
"group": "Formule",
|
||
"icon": "parent",
|
||
"title": "Parent",
|
||
"text": "Insère la valeur du parent dans la formule.",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "parent"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "edit",
|
||
"title": "Renommer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "edit"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Calculs enregistrés",
|
||
"text": "Saisie d'une expression, calcul du résultat et sauvegarde avec un libellé.",
|
||
"details": [
|
||
"Le champ expression accepte les opérations de base et calcule le résultat avant sauvegarde.",
|
||
"Le libellé sert à nommer un coût, une ressource, un total ou une conversion.",
|
||
"Un résultat enregistré peut être renommé ou supprimé."
|
||
]
|
||
},
|
||
{
|
||
"title": "Arborescence",
|
||
"text": "Un résultat peut servir de base à des calculs enfants pour décomposer coûts, crafts ou conversions.",
|
||
"details": [
|
||
"Utiliser comme base crée un lien parent/enfant entre le résultat choisi et les calculs suivants.",
|
||
"La racine revient au niveau principal pour recommencer une autre branche.",
|
||
"Ce fonctionnement aide à détailler un craft ou un total en plusieurs sous-calculs."
|
||
]
|
||
},
|
||
{
|
||
"title": "Copie checklist",
|
||
"text": "Les résultats peuvent être copiés dans un format exploitable par l'import texte de checklist.",
|
||
"details": [
|
||
"La copie génère un texte de type Nom:quantité.",
|
||
"Ce texte peut être collé directement dans l'import de l'outil Checklist.",
|
||
"Le calculateur sert donc à préparer des objectifs chiffrés avant de les suivre comme tâches."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Une ligne par résultat. L'indentation de deux espaces conserve les liens parent/enfant.",
|
||
"example": "Lingot de champignite: 100\n Lingot de chlorophyte: 100 | formula=base\n Champignon luisant: 1500 | formula=base*15\nLingot de chlorophyte: 100\n Minerai de chlorophyte: 500 | formula=base*5"
|
||
}
|
||
},
|
||
"goalTree": {
|
||
"controls": [
|
||
{
|
||
"group": "Arbre",
|
||
"icon": "rotate",
|
||
"title": "Changer le mode d'affichage",
|
||
"preview": {
|
||
"kind": "switch",
|
||
"icon": "rotate",
|
||
"active": true
|
||
}
|
||
},
|
||
{
|
||
"group": "Arbre",
|
||
"icon": "chevron-down",
|
||
"title": "Déployer l'objectif",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "chevron-down"
|
||
}
|
||
},
|
||
{
|
||
"group": "Objectifs",
|
||
"icon": "edit",
|
||
"title": "Éditer l'objectif",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "edit"
|
||
}
|
||
},
|
||
{
|
||
"group": "Formule",
|
||
"icon": "parent",
|
||
"title": "Parent",
|
||
"text": "Insère la valeur du parent dans une quantité ou formule.",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "parent"
|
||
}
|
||
},
|
||
{
|
||
"group": "Objectifs",
|
||
"icon": "trash",
|
||
"title": "Supprimer l'objectif et ces étapes",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Décomposition visuelle",
|
||
"text": "Un objectif peut être ouvert en étapes, sous-étapes et ressources finales.",
|
||
"details": [
|
||
"Chaque bloc peut être sélectionné pour éditer ses quantités et son type.",
|
||
"Les branches se replient pour garder une vue lisible quand l'arbre grandit.",
|
||
"Le même outil peut représenter un craft, une route de farm ou un objectif long."
|
||
]
|
||
},
|
||
{
|
||
"title": "Quantités liées",
|
||
"text": "Les sous-étapes peuvent utiliser une formule basée sur la quantité du parent.",
|
||
"details": [
|
||
"La variable base référence la cible calculée du parent.",
|
||
"Les feuilles suivent leur quantité actuelle, tandis que les parents affichent une progression agrégée.",
|
||
"Les formules restent limitées aux opérations numériques simples."
|
||
]
|
||
},
|
||
{
|
||
"title": "Resets optionnels",
|
||
"text": "Un nœud peut être ponctuel, quotidien ou hebdomadaire sans imposer un reset à tout l'arbre.",
|
||
"details": [
|
||
"Les resets remettent seulement la quantité actuelle à zéro.",
|
||
"Le jour hebdomadaire et l'heure de reset se règlent au niveau de l'outil.",
|
||
"La structure de l'arbre reste inchangée après une réinitialisation."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Une ligne par nœud avec indentation de deux espaces. Utilisez xN pour une quantité simple ou = base * N pour une formule.",
|
||
"example": "@lastResetAt: 1787263200000\n- Potion d'invincibilité\n - Potion de vie\n - Ingredients | kind=checklist | items=%5B%7B%22id%22%3A%22xn2okr5%22%2C%22label%22%3A%22Herbe%20magique%22%2C%22formula%22%3A%22base%22%2C%22qtyTarget%22%3A10%2C%22qtyCurrent%22%3A7%7D%2C%7B%22id%22%3A%22xm5h5uu%22%2C%22label%22%3A%22Eau%20rajeunissante%22%2C%22formula%22%3A%22base%22%2C%22qtyTarget%22%3A10%2C%22qtyCurrent%22%3A5%7D%5D\n - Potion de résistance\n - Ingredients supp. | kind=checklist | items=%5B%7B%22id%22%3A%22x3mlygm%22%2C%22label%22%3A%22Poudre%20magique%22%2C%22formula%22%3A%22base%22%2C%22qtyTarget%22%3A10%7D%2C%7B%22id%22%3A%22x1dqx6w%22%2C%22label%22%3A%22Herbe%20magique%22%2C%22formula%22%3A%22base*2%22%2C%22qtyTarget%22%3A20%7D%5D\n- Parler a l'alchimiste | collapsed=true\n - Acheter une station d'alchimie | collapsed=true\n - Apprendre la recette de potion d'invicibilité | collapsed=true\n - S'inscrire à l'academie d'alchimie | collapsed=true"
|
||
}
|
||
},
|
||
"table": {
|
||
"controls": [
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "add-row",
|
||
"title": "Ajouter / Supprimer ligne",
|
||
"preview": {
|
||
"kind": "buttonGroup",
|
||
"buttons": [
|
||
{
|
||
"icon": "add-row"
|
||
},
|
||
{
|
||
"icon": "remove-row",
|
||
"danger": true
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "add-column",
|
||
"title": "Ajouter / Supprimer colonne",
|
||
"preview": {
|
||
"kind": "buttonGroup",
|
||
"buttons": [
|
||
{
|
||
"icon": "add-column"
|
||
},
|
||
{
|
||
"icon": "remove-column",
|
||
"danger": true
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "copy",
|
||
"title": "Exporter au format TSV",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "copy"
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Grille éditable",
|
||
"text": "Ajout et retrait de lignes ou colonnes, édition des en-têtes, sélection, déplacement et copier-coller de cellules.",
|
||
"details": [
|
||
"Les boutons ligne et colonne modifient la taille de la grille sans recréer le tableau.",
|
||
"Les en-têtes peuvent être renommés pour donner un sens aux données.",
|
||
"Une cellule ou une sélection peut être déplacée par glisser-déposer, puis copiée-collée vers une autre zone du tableau."
|
||
]
|
||
},
|
||
{
|
||
"title": "Formules",
|
||
"text": "Les cellules peuvent contenir des formules avec références à d'autres cellules.",
|
||
"details": [
|
||
"Une formule peut agréger ou transformer les valeurs d'une ligne, d'une colonne ou d'une cellule.",
|
||
"Les références de cellules permettent de construire des calculs liés à d'autres données du tableau.",
|
||
"Les erreurs de formule sont signalées dans la grille au lieu d'être ignorées silencieusement."
|
||
]
|
||
},
|
||
{
|
||
"title": "Export TSV",
|
||
"text": "Le tableau peut être copié en TSV pour être collé dans un tableur.",
|
||
"details": [
|
||
"Le format TSV sépare les colonnes par tabulation et les lignes par retour à la ligne.",
|
||
"Il peut être collé dans un tableur externe en conservant la structure de grille.",
|
||
"Cette copie sert d'export rapide, sans modifier le stockage local de la toolbox."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Un TSV pur peut être importé. L'export TSV du panneau d'ajout ajoute des lignes @ pour préserver dimensions, intitulés et formules.",
|
||
"example": "@size: 4x4\n@columns: Objet\tValeur\tQuantité\tValeur\n@tsv\nOeuf d'acier\t1000\t563\t=B1*C1\nOeuf d'argent\t5000\t153\t=B2*C2\nOeuf d'or\t20000\t69\t=B3*C3\n\t\t\t=(D1+D2+D3)"
|
||
}
|
||
},
|
||
"timer": {
|
||
"controls": [
|
||
{
|
||
"group": "Chronomètre",
|
||
"icon": "play-circle",
|
||
"title": "Démarrer / Pause / Stop",
|
||
"preview": {
|
||
"kind": "buttonGroup",
|
||
"buttons": [
|
||
{
|
||
"icon": "play-circle"
|
||
},
|
||
{
|
||
"icon": "pause-circle"
|
||
},
|
||
{
|
||
"icon": "stop-circle"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"group": "Chronomètre",
|
||
"icon": "record-circle",
|
||
"title": "Étape",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "record-circle"
|
||
}
|
||
},
|
||
{
|
||
"group": "Chronomètre",
|
||
"icon": "rubber",
|
||
"title": "Tout effacer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "rubber",
|
||
"danger": true
|
||
}
|
||
},
|
||
{
|
||
"group": "Compte à rebours",
|
||
"icon": "refresh",
|
||
"title": "Réinitialiser",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "refresh"
|
||
}
|
||
},
|
||
{
|
||
"group": "Compte à rebours",
|
||
"icon": "refresh",
|
||
"title": "Reset / relance automatique",
|
||
"preview": {
|
||
"kind": "switch",
|
||
"icon": "refresh",
|
||
"active": true
|
||
}
|
||
},
|
||
{
|
||
"group": "Compte à rebours",
|
||
"icon": "sound-mute",
|
||
"title": "Alerte désactivée",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "sound-mute"
|
||
}
|
||
},
|
||
{
|
||
"group": "Compte à rebours",
|
||
"icon": "sound-min",
|
||
"title": "Alerte sur la page",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "sound-min"
|
||
}
|
||
},
|
||
{
|
||
"group": "Compte à rebours",
|
||
"icon": "sound-max",
|
||
"title": "Alerte sur le site",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "sound-max"
|
||
}
|
||
},
|
||
{
|
||
"group": "Compte à rebours",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Chronomètre",
|
||
"text": "Suivi d'un temps avec pause, reset et étapes nommées.",
|
||
"details": [
|
||
"Démarrer lance le chrono, pause suspend le temps, reset remet le chrono à zéro.",
|
||
"Le bouton étape enregistre un temps intermédiaire avec un libellé.",
|
||
"Les étapes permettent de comparer des runs, phases ou rotations dans une session."
|
||
]
|
||
},
|
||
{
|
||
"title": "Comptes à rebours",
|
||
"text": "Création de timers par durée, heure précise, pattern horaire ou intervalle.",
|
||
"details": [
|
||
"Durée lance un timer simple, par exemple 00:30:00.",
|
||
"Heure précise cible une heure donnée de la journée.",
|
||
"Pattern horaire et Intervalle servent aux resets ou événements récurrents."
|
||
]
|
||
},
|
||
{
|
||
"title": "Alertes",
|
||
"text": "Les alertes peuvent rester liées à l'outil affiché ou être actives sur tout le site.",
|
||
"details": [
|
||
"Aucune alerte garde le timer silencieux.",
|
||
"Alerte visible prévient seulement quand la toolbox concernée est ouverte.",
|
||
"Alerte globale site peut prévenir depuis une autre page de Sokko G, avec garde-fou sur les répétitions trop fréquentes."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Les étapes et comptes à rebours sont exportés en lignes lisibles. Les échéances sont recalculées à l'import.",
|
||
"example": "@activeTab: countdown\nlap | label=Fosse 110 | elapsedMs=1046475\nlap | label=Fosse 55 | elapsedMs=50019\ncountdown | label=Fin de vague infernale | type=time_pattern | pattern=X:55:X\ncountdown | label=Boss Mondial | type=daily_time | time=14:00:00\ncountdown | label=Legion | type=interval | autoRefresh=true | intervalMs=1800000 | startMode=now\ncountdown | label=Durée | type=duration | durationMs=1800000"
|
||
}
|
||
},
|
||
"calendar": {
|
||
"controls": [
|
||
{
|
||
"group": "Événement",
|
||
"icon": "calendar",
|
||
"title": "Sélection de créneaux",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "calendar"
|
||
}
|
||
},
|
||
{
|
||
"group": "Événement",
|
||
"icon": "copy",
|
||
"title": "Copier un événement",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "copy"
|
||
}
|
||
},
|
||
{
|
||
"group": "Alertes",
|
||
"icon": "sound-max",
|
||
"title": "Alerte site",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "sound-max"
|
||
}
|
||
},
|
||
{
|
||
"group": "Événement",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Vue hebdomadaire",
|
||
"text": "Une grille jours par créneaux de 30 minutes pour planifier les événements de session.",
|
||
"details": [
|
||
"Les heures peuvent être saisies à 5 minutes près.",
|
||
"La grille reste lisible dans la toolbox complète et dans le panneau latéral.",
|
||
"Les plages vides peuvent être masquées sans retirer l'indicateur de tranche horaire."
|
||
]
|
||
},
|
||
{
|
||
"title": "Vue mensuelle",
|
||
"text": "Une grille semaines par jours affiche les numéros du mois courant sans nommer le mois.",
|
||
"details": [
|
||
"Les événements mensuels peuvent cibler un numéro du jour ou un jour de semaine.",
|
||
"Les événements multi-jours s'affichent en barre horizontale.",
|
||
"Les jours hors mois courant ne sont pas sélectionnables."
|
||
]
|
||
},
|
||
{
|
||
"title": "Création rapide",
|
||
"text": "Un événement peut être saisi au formulaire ou prérempli en sélectionnant des cellules.",
|
||
"details": [
|
||
"Un événement peut être ponctuel ou avoir une durée.",
|
||
"Dans un calendrier hebdomadaire, les événements se répètent automatiquement chaque semaine.",
|
||
"Un événement copié peut être collé sur un autre créneau en conservant durée, couleur et alerte.",
|
||
"La couleur permet de distinguer rapidement les catégories d'événements."
|
||
]
|
||
},
|
||
{
|
||
"title": "Alertes",
|
||
"text": "Les alertes utilisent les mêmes modes que le timer, avec un délai de 5 ou 10 minutes.",
|
||
"details": [
|
||
"Aucune alerte garde l'événement silencieux.",
|
||
"Alerte visible prévient seulement quand la toolbox concernée est ouverte.",
|
||
"Alerte site fonctionne sur toute l'application et signale aussi une session déjà en cours une seule fois."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Le calendrier s'échange en lignes texte : une meta @viewMode puis une ligne event par entrée.",
|
||
"example": "@viewMode: week\nevent | title=Raid hebdo | day=vendredi | start=18:00 | end=20:00 | color=gold | alertMode=site | alerts=10,5\n\n@viewMode: month\nevent | title=Week-end Double EXP | repeatBy=monthDay | repeat=monthly | startDate=2026-08-07 | endDate=2026-08-09\nevent | title=Maintenance | repeatBy=weekday | repeat=weekly | startDate=2026-08-06 | color=pink"
|
||
}
|
||
},
|
||
"taskPlanner": {
|
||
"controls": [
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "eye-closed",
|
||
"title": "Masquer terminé",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "eye-closed"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "settings",
|
||
"title": "Paramètres",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "settings"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "drag",
|
||
"title": "Déplacer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "drag"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "edit",
|
||
"title": "Modifier",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "edit"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Tâches de routine",
|
||
"text": "Gestion de tâches ponctuelles, quotidiennes ou hebdomadaires avec resets configurables.",
|
||
"details": [
|
||
"Une tâche unique se coche une fois et peut être nettoyée manuellement.",
|
||
"Une tâche quotidienne se réactive selon l'heure de reset configurée.",
|
||
"Une tâche hebdomadaire se réactive selon le jour et l'heure choisis."
|
||
]
|
||
},
|
||
{
|
||
"title": "Sous-tâches et prérequis",
|
||
"text": "Une tâche peut dépendre d'un parent et signaler les prérequis non effectués.",
|
||
"details": [
|
||
"Le lien parent/enfant permet de regrouper une tâche sous une autre.",
|
||
"Les prérequis indiquent qu'une tâche ne devrait pas être faite avant une autre.",
|
||
"Les avertissements de prérequis restent visibles pour éviter de valider une routine dans le mauvais ordre."
|
||
]
|
||
},
|
||
{
|
||
"title": "Catégories",
|
||
"text": "Les tâches se regroupent par catégories réorganisables pour suivre une routine de session.",
|
||
"details": [
|
||
"Les catégories peuvent être renommées et déplacées.",
|
||
"Une tâche peut changer de catégorie pendant la réorganisation.",
|
||
"Masquer les tâches terminées réduit la vue aux objectifs restants."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Les catégories commencent par #. Les tâches utilisent leur type et l'indentation de deux espaces crée les sous-tâches. Les états cochés ne sont pas repris.",
|
||
"example": "@hideCompleted: true\n# To craft\n- unique Essence de liqueur\n- unique Bière\n- unique Vinaigre\n- weekly Faire les boss du Sanctuaire Noir (Groupe)\n @weeklyResetDay: 0\n- weekly Faire les boss du Sanctuaire Noir (Solo)\n @weeklyResetDay: 0\n- weekly Faire la fosse aux immortels\n- unique Ameliorer le bateau\n - daily Faire du troc\n @prerequisite: true"
|
||
}
|
||
},
|
||
"combos": {
|
||
"controls": [
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "settings",
|
||
"title": "Successif / Simultané",
|
||
"preview": {
|
||
"kind": "buttonGroup",
|
||
"buttons": [
|
||
{
|
||
"label": "A › B"
|
||
},
|
||
{
|
||
"label": "A + B"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "add",
|
||
"title": "Ajouter input",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "add"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "clock",
|
||
"title": "Hold",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "clock"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "back",
|
||
"title": "Retirer touche / étape",
|
||
"preview": {
|
||
"kind": "buttonGroup",
|
||
"buttons": [
|
||
{
|
||
"icon": "back"
|
||
},
|
||
{
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "edit",
|
||
"title": "Modifier",
|
||
"text": "Ouvre la fiche d'une pièce pour ajuster stats, craft, source et sockets.",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "edit"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Séquences de touches",
|
||
"text": "Un combo est une suite d'étapes. Une étape peut contenir une seule touche ou plusieurs touches simultanées, affichées ensemble avec un +.",
|
||
"details": [
|
||
"Cliquer sur une touche de la palette ajoute une nouvelle étape à la fin de la séquence.",
|
||
"En mode successif, A puis B crée deux étapes séparées : A, puis B.",
|
||
"En mode simultané, A puis B crée une seule étape groupée : A + B."
|
||
]
|
||
},
|
||
{
|
||
"title": "Création successive ou simultanée",
|
||
"text": "Le mode par défaut ajoute les inputs les uns après les autres. Le mode simultané ajoute les prochains inputs dans la même étape; le drag & drop permet aussi de fusionner deux étapes déjà créées.",
|
||
"details": [
|
||
"Le switch A + B sert à décider si les prochaines touches doivent entrer dans l'étape active.",
|
||
"Déposer une touche sur une étape existante transforme cette étape en combinaison simultanée.",
|
||
"Ce geste permet de corriger une séquence après coup sans supprimer puis recréer tout le combo."
|
||
]
|
||
},
|
||
{
|
||
"title": "Catégories de combos",
|
||
"text": "Les combos peuvent être regroupés, édités, déplacés et supprimés par catégorie.",
|
||
"details": [
|
||
"Le champ catégorie place automatiquement le combo dans le bon groupe.",
|
||
"Les catégories se replient pour masquer des groupes déjà connus.",
|
||
"Les poignées de déplacement servent à réordonner les catégories ou les combos dans une catégorie."
|
||
]
|
||
},
|
||
{
|
||
"title": "Périphériques et touches personnalisées",
|
||
"text": "La palette change selon la manette ou le clavier. Une touche personnalisée peut être ajoutée quand la commande du jeu n'existe pas dans la palette.",
|
||
"details": [
|
||
"Les palettes PlayStation, Xbox, Switch et Nintendo 64 affichent les boutons propres à chaque manette.",
|
||
"Le mode clavier/souris propose les touches courantes, la souris et une bascule AZERTY/QWERTY.",
|
||
"Le champ touche personnalisée accepte une commande courte pour documenter une touche absente de la palette."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Les catégories commencent par #. Un combo décrit son périphérique et ses étapes avec >, tandis que + groupe des inputs simultanés.",
|
||
"example": "# Ryu\nHadoken | device=playstation | direction:down > direction:down-right > direction:right+button:square\nShoryken | device=playstation | direction:right > direction:down > direction:down-right > direction:right+button:fist\n# Chun Li\nKikoken | device=playstation | direction:left[hold] > direction:right+button:fist\nHundred Lightning Kicks | device=playstation | direction:down > direction:down-right > direction:right+button:foot"
|
||
}
|
||
},
|
||
"equipmentPlanner": {
|
||
"controls": [
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "edit",
|
||
"title": "Modifier",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "edit"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "drag",
|
||
"title": "Déplacer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "drag"
|
||
}
|
||
},
|
||
{
|
||
"group": "Contrôles",
|
||
"icon": "trash",
|
||
"title": "Supprimer",
|
||
"preview": {
|
||
"kind": "iconButton",
|
||
"icon": "trash",
|
||
"danger": true
|
||
}
|
||
}
|
||
],
|
||
"features": [
|
||
{
|
||
"title": "Build d'équipement",
|
||
"text": "Organisation d'équipements par type avec icônes, état actif et détails d'obtention.",
|
||
"details": [
|
||
"Chaque équipement appartient à un type, par exemple arme, casque ou anneau.",
|
||
"L'état actif décide si la pièce compte dans le résumé du build.",
|
||
"Les détails d'obtention servent à noter où récupérer ou fabriquer l'équipement."
|
||
]
|
||
},
|
||
{
|
||
"title": "Stats et matériaux",
|
||
"text": "Suivi des caractéristiques, bonus, matériaux de craft et totaux agrégés.",
|
||
"details": [
|
||
"Les statistiques numériques sont additionnées dans le résumé.",
|
||
"Les bonus textuels restent listés à part pour ne pas perdre les effets non chiffrés.",
|
||
"Les matériaux de craft permettent de préparer une liste de ressources à récupérer."
|
||
]
|
||
},
|
||
{
|
||
"title": "Sertissages",
|
||
"text": "Ajout d'objets sertis, bonus associés et liens entre sockets.",
|
||
"details": [
|
||
"Les sockets décrivent les emplacements disponibles sur une pièce.",
|
||
"Un objet serti peut ajouter des stats ou des bonus propres.",
|
||
"Les totaux de sockets aident à vérifier rapidement ce qui est déjà prévu dans le build."
|
||
]
|
||
}
|
||
],
|
||
"importFormat": {
|
||
"text": "Le format est découpé par type, équipement et sous-sections Stats, Sockets et Craft.",
|
||
"example": "# Casque | icon=helmet\n## Nu Udra γ | icon=helmet | active=true\nStats\n | shield | Défense | 68\n | shield | Resistance au feu | 5\n | shield | Resistance a l'eau | -4\n | shield | Resistance à la foudre | 0\n | shield | Resistance à la glace | 1\n | shield | Resistance au dragon | 0\nSockets\nJoyau antivirus | shape=jewel | color=violet\n bonus | | sword | Antivirus | 1\nJoyau antivirus | shape=jewel | color=violet\n bonus | | sword | Antivirus | 1\nJoyau antivirus | shape=jewel | color=violet\n bonus | | sword | Antivirus | 1\nCraft\n@obtain: Avoir un certificat Alpha supreme\n## Nu Udra γ | icon=chest-armor | active=true\nStats\n | shield | Défense | 68\n | shield | Resistance au feu | 5\n | shield | Resistance a l'eau | -4\n | shield | Resistance à la foudre | 0\n | shield | Resistance à la glace | 1\n | shield | Resistance au dragon | 0\nSockets\nJoyau Mise a mort | shape=jewel | color=indigo\n bonus | | sword | Mise a mort | 1\nJoyau Attaque | shape=jewel | color=red\n bonus | | sword | Attaque | 2"
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
},
|
||
"onboarding": {
|
||
"eyebrow": "Prise en main",
|
||
"title": "Votre première toolbox",
|
||
"description": "Une toolbox est votre espace personnel pour garder vos notes, listes, images, liens et outils utiles dans ce navigateur.",
|
||
"primaryAction": "Créer ma première toolbox",
|
||
"stepsTitle": "Les étapes",
|
||
"sliderTitle": "Aperçu",
|
||
"sliderLabel": "Aperçu de la prise en main",
|
||
"slideButtonLabel": "Afficher l'aperçu",
|
||
"steps": [
|
||
{
|
||
"title": "Créez une toolbox",
|
||
"text": "Donnez-lui un nom simple, par exemple le nom du jeu ou de votre build."
|
||
},
|
||
{
|
||
"title": "Ajoutez vos outils",
|
||
"text": "Choisissez seulement ce dont vous avez besoin : Mémos, Bloc Note, checklist, images, liens, timer ou compteur."
|
||
},
|
||
{
|
||
"title": "Importez une sauvegarde si vous en avez une",
|
||
"text": "Une sauvegarde est un fichier partagé ou exporté depuis Sokko G. Elle permet de récupérer une toolbox déjà prête, mais elle n'est pas obligatoire."
|
||
},
|
||
{
|
||
"title": "Exportez pour sauvegarder",
|
||
"text": "Les données restent dans ce navigateur. Exportez vos toolboxes avant un nettoyage, un changement de machine ou une réinstallation."
|
||
}
|
||
],
|
||
"slides": [
|
||
{
|
||
"src": "/static/img/onboarding/toolbox-overview.png",
|
||
"alt": "Aperçu d'une toolbox Sokko G",
|
||
"title": "Un espace unique",
|
||
"text": "Regroupez les informations utiles à votre session dans une interface locale."
|
||
},
|
||
{
|
||
"src": "/static/img/onboarding/toolbox-tools.png",
|
||
"alt": "Aperçu des outils disponibles dans une toolbox",
|
||
"title": "Des outils à choisir",
|
||
"text": "Ajoutez seulement les outils dont vous avez besoin pour votre jeu ou votre objectif."
|
||
},
|
||
{
|
||
"src": "/static/img/onboarding/toolbox-save.png",
|
||
"alt": "Aperçu d'une sauvegarde de toolbox",
|
||
"title": "Des sauvegardes simples",
|
||
"text": "Exportez vos toolboxes pour les conserver ou les partager."
|
||
},
|
||
{
|
||
"src": "/static/img/onboarding/toolbox-game-link.png",
|
||
"alt": "Aperçu d'une toolbox associée à une page jeu",
|
||
"title": "Jeu et notes côte à côte",
|
||
"text": "Associez une toolbox à une page jeu pour garder vos repères personnels à proximité."
|
||
}
|
||
],
|
||
"cards": [
|
||
{
|
||
"icon": "toolbox",
|
||
"image": "/static/img/dragon-toolbox.png",
|
||
"title": "Toolboxes",
|
||
"text": "Votre espace personnel : notes, listes, images, liens et outils pratiques enregistrés dans ce navigateur.",
|
||
"action": "Gérer mes toolboxes",
|
||
"href": "#/toolboxes"
|
||
},
|
||
{
|
||
"icon": "controller",
|
||
"image": "/static/img/dragon-gameguide.png",
|
||
"title": "Guides de jeux",
|
||
"text": "Les pages de référence disponibles. Vous pouvez ensuite y associer votre toolbox pour garder vos infos à côté.",
|
||
"action": "Voir les jeux",
|
||
"href": "#/games"
|
||
}
|
||
]
|
||
},
|
||
"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": "Sokko G est un espace local pour organiser vos notes, outils et repères de jeu. Il est pensé pour rester ouvert à côté de votre partie, sans compte et sans synchronisation obligatoire.",
|
||
"sectionsEyebrow": "Concept",
|
||
"sectionsTitle": "Faciliter vos sessions gaming",
|
||
"sections": [
|
||
{
|
||
"icon": "controller",
|
||
"image": "/static/img/dragon-session-tools.png",
|
||
"title": "Un support pour jouer plus efficacement",
|
||
"text": "Sokko G garde vos informations utiles à portée de main :",
|
||
"bullets": ["Objectifs", "Notes", "Images", "Timers", "Liens", "Calculs", "Suivis"],
|
||
"afterText": "L’idée est simple : limiter les allers-retours et retrouver rapidement ce dont vous avez besoin."
|
||
},
|
||
{
|
||
"icon": "picture",
|
||
"image": "/static/img/dragon-dual-monitor.png",
|
||
"title": "Pensé pour le second écran",
|
||
"text": "De plus en plus de joueurs utilisent deux écrans.\nSokko G profite de cet espace pour garder l’essentiel visible pendant que le jeu reste au premier plan : un guide, une checklist, une carte annotée ou un timer.\nVous consultez vos repères d’un coup d’œil, sans interrompre la partie."
|
||
},
|
||
{
|
||
"icon": "toolbox",
|
||
"image": "/static/img/dragon-game-guides.png",
|
||
"title": "Guides de jeux et toolboxes",
|
||
"text": "Le site propose des pages de jeux qui servent de guides ou de références.\nVos toolboxes restent personnelles, mais elles peuvent être associées à un jeu.\nCela permet de garder les informations générales d’un côté, et vos notes, outils ou suivis de session juste à côté."
|
||
},
|
||
{
|
||
"icon": "export",
|
||
"image": "/static/img/dragon-local-data.png",
|
||
"title": "Stockage local : avantages et limites",
|
||
"text": "Vos toolboxes restent dans le navigateur utilisé :",
|
||
"bullets": ["Pas de compte", "Pas de configuration serveur", "Pas de synchronisation imposée"],
|
||
"bulletsColumns": 1,
|
||
"warning": "En échange, vous risquez de perdre vos données si vous videz le navigateur, changez de profil, changez de machine ou réinstallez le système. Pensez à exporter une sauvegarde avant ces actions."
|
||
}
|
||
],
|
||
"toolsTitle": "Outils disponibles",
|
||
"toolsIntro": "Les outils sont là pour gérer différents types d’informations. Vous choisissez seulement les groupes utiles à votre session, puis la librairie détaille chaque outil disponible.",
|
||
"toolsLibraryLink": "Voir la librairie d'outils",
|
||
"toolGroups": [
|
||
{
|
||
"icon": "memos",
|
||
"title": "Notes et suivi",
|
||
"text": "Écrire des rappels courts, garder un Bloc Note multi-pages, suivre des objectifs simples ou compter des ressources.",
|
||
"examples": ["Mémos", "Bloc Note", "Checklist", "Compteurs"]
|
||
},
|
||
{
|
||
"icon": "picture",
|
||
"title": "Médias et repères visuels",
|
||
"text": "Conserver des captures, cartes, images annotées ou liens utiles visibles pendant la session.",
|
||
"examples": ["Images", "Annotation d'images", "Liens"]
|
||
},
|
||
{
|
||
"icon": "table",
|
||
"title": "Données et calculs",
|
||
"text": "Comparer des valeurs, préparer des tableaux, calculer des besoins de craft, structurer des objectifs ou tirer des choix aléatoires.",
|
||
"examples": ["Calculateur", "Tableau", "Arbre d'objectifs", "Randomizer"]
|
||
},
|
||
{
|
||
"icon": "clock",
|
||
"title": "Temps et actions",
|
||
"text": "Gérer des timers, calendriers, routines et tâches récurrentes sans perdre le fil.",
|
||
"examples": ["Timer", "Calendrier", "Planificateur de tâches"]
|
||
},
|
||
{
|
||
"icon": "controller",
|
||
"title": "Builds et commandes",
|
||
"text": "Documenter des builds, organiser des équipements et conserver des séquences de commandes.",
|
||
"examples": ["Combos", "Planificateur d'équipements"]
|
||
}
|
||
],
|
||
"contribute": {
|
||
"eyebrow": "Contribuer",
|
||
"title": "Proposer une liste de données",
|
||
"image": "/static/img/dragon-contribution-data.png",
|
||
"imageAlt": "Mascotte dragon préparant une liste de données structurée",
|
||
"description": "Les contributions attendues sont des listes de données, pas des guides complets. Une liste bien préparée permet de mettre à disposition une checklist complète, prête à être utilisée dans une toolbox.",
|
||
"blocks": [
|
||
{
|
||
"icon": "checklist",
|
||
"title": "Pourquoi contribuer ?",
|
||
"text": "Une bonne liste fait gagner du temps aux joueurs : ils peuvent importer une checklist déjà structurée au lieu de tout recopier à la main."
|
||
},
|
||
{
|
||
"icon": "tasklist",
|
||
"title": "Quels éléments proposer ?",
|
||
"text": "Tout ce qui se suit facilement en checklist : armures, matériaux, monstres, objets à récupérer, routes de farm ou objectifs de jeu.",
|
||
"bullets": ["Catégories", "Quantités à compléter", "Noms clairs"],
|
||
"note": "La propriété description peut servir de renseignement supplémentaire sur une page de liste, mais elle n’est pas affichée dans la checklist importée."
|
||
},
|
||
{
|
||
"icon": "export",
|
||
"title": "Comment contribuer ?",
|
||
"text": "Vous pouvez préparer la liste vous-même ou demander à une IA de générer le fichier. Le format final est un JSON : c’est ce qui permet à Sokko G de créer la checklist automatiquement."
|
||
}
|
||
],
|
||
"exampleIntro": "Exemple de liste exploitable :",
|
||
"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": "Se faire aider par une IA",
|
||
"promptIntro": "Si vous utilisez une IA pour préparer la liste, vous pouvez lui donner cette consigne afin d’obtenir un fichier 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."
|
||
},
|
||
"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": "Positionner les alertes en bas à gauche",
|
||
"toastPositionRight": "Positionner 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.",
|
||
"creationTemplate": {
|
||
"memos": {
|
||
"title": "Mémos",
|
||
"text": "Profite bien de ta nouvelle toolbox."
|
||
},
|
||
"links": {
|
||
"moduleTitle": "Liens utiles",
|
||
"title": "Librairie des outils"
|
||
}
|
||
},
|
||
"tutorial": {
|
||
"eyebrow": "Premiers repères",
|
||
"title": "Votre toolbox est prête",
|
||
"text": "Avant d’ajouter du contenu, voici les actions principales à connaître.",
|
||
"dismissLabel": "Masquer les repères",
|
||
"nextLabel": "Suivant",
|
||
"doneLabel": "Terminer",
|
||
"items": [
|
||
{
|
||
"target": "icon",
|
||
"icon": "picture",
|
||
"title": "Changer l’icône",
|
||
"text": "Cliquez sur l’icône de la toolbox pour choisir une image plus reconnaissable."
|
||
},
|
||
{
|
||
"target": "title",
|
||
"icon": "edit",
|
||
"title": "Renommer la toolbox",
|
||
"text": "Cliquez sur son nom pour le modifier directement."
|
||
},
|
||
{
|
||
"target": "addTool",
|
||
"icon": "add",
|
||
"title": "Ajouter un outil",
|
||
"text": "Utilisez le bouton Ajouter un outil pour choisir ce dont vous avez besoin."
|
||
},
|
||
{
|
||
"target": "moduleTitle",
|
||
"icon": "edit",
|
||
"title": "Renommer un outil",
|
||
"text": "Cliquez sur le titre d’un outil, comme Mémos, pour l’adapter à votre usage."
|
||
},
|
||
{
|
||
"target": "deleteTool",
|
||
"icon": "trash",
|
||
"title": "Retirer un outil",
|
||
"text": "Chaque outil ajouté peut être retiré de la toolbox avec sa corbeille."
|
||
},
|
||
{
|
||
"target": "exportAll",
|
||
"placement": "right",
|
||
"icon": "export",
|
||
"title": "Sauvegarder régulièrement",
|
||
"text": "Pensez à exporter vos toolboxes avant un nettoyage du navigateur, un changement de machine ou une réinstallation."
|
||
}
|
||
]
|
||
},
|
||
"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": "Bloc Note...",
|
||
"pagesMenuLabel": "Pages du Bloc Note",
|
||
"pagesToggleLabel": "Afficher les pages du Bloc Note",
|
||
"pagesToggleText": "Afficher les pages du Bloc Note",
|
||
"addPageLabel": "Ajouter une page",
|
||
"renamePageLabel": "Renommer",
|
||
"deletePageLabel": "Supprimer la page",
|
||
"toolbarLabel": "Mise en page du Bloc Note",
|
||
"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.",
|
||
"importPlaceholder": "@notepad\n@page: Page 1\n@html\n<h3>Route boss</h3>\n<p><strong style=\"color: #f6c453\">Préparer les consommables</strong></p>\n@endhtml\n@drawingMode: permanent\n@drawings: {\"strokes\":[]}",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer un Bloc Note",
|
||
"exportModalTitle": "Exporter un Bloc Note",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import Bloc Note terminé.",
|
||
"exportSuccess": "Export Bloc Note copié.",
|
||
"importError": "Format de Bloc Note invalide.",
|
||
"exportInfo": "Le HTML est nettoyé à l'import. Les dessins permanents sont exportés en JSON compact."
|
||
},
|
||
"memos": {
|
||
"defaultText": "Nouveau mémo",
|
||
"placeholder": "Mémo court...",
|
||
"addButton": "Ajouter",
|
||
"emptyLabel": "Ajouter un premier mémo",
|
||
"editLabel": "Modifier le mémo",
|
||
"deleteTitle": "Supprimer le mémo",
|
||
"colorLabel": "Couleur du mémo",
|
||
"reorderTitle": "Déplacer",
|
||
"tickerLabel": "Mémos",
|
||
"hideTickerTitle": "Masquer la bande",
|
||
"showTickerTitle": "Afficher la bande",
|
||
"importPlaceholder": "- Pour la reproduction, combine Pierre Stase + Nœud Destin pour transmettre nature et IV. | color=#f6c453\n- Les IV obtenus par Hyper Training ne sont pas transmis aux oeufs. | color=#8b5cf6\n- Pour une équipe Distorsion, vise 0 IV en Vitesse sur les Pokémon lents. | color=#22d3ee\n- Utilise les objets Pouvoir pour cibler précisément les EV à entraîner. | color=#d946ef",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer des mémos",
|
||
"exportModalTitle": "Exporter des mémos",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import mémos terminé.",
|
||
"exportSuccess": "Export mémos copié.",
|
||
"importError": "Format de mémos invalide.",
|
||
"exportInfo": "Chaque ligne est exportée avec la couleur du mémo au format color=#hex."
|
||
},
|
||
"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",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer une checklist",
|
||
"exportModalTitle": "Exporter une checklist",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import checklist terminé.",
|
||
"exportSuccess": "Export checklist copié.",
|
||
"importError": "Format de checklist invalide.",
|
||
"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": {
|
||
"importPlaceholder": "# Map zone nord\ndata:image/webp;base64,...",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer des images",
|
||
"exportModalTitle": "Exporter des images",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import d'images terminé.",
|
||
"exportSuccess": "Export d'images copié.",
|
||
"importError": "Format d'images invalide.",
|
||
"exportInfo": "Les images sont exportées en base64 complet. Le texte peut donc être très long.",
|
||
"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://...",
|
||
"categoryPlaceholder": "Catégorie",
|
||
"addButton": "Ajouter",
|
||
"reorderCategoryTitle": "Déplacer la catégorie",
|
||
"showCategoryTitle": "Afficher la catégorie",
|
||
"hideCategoryTitle": "Réduire la catégorie",
|
||
"deleteCategoryTitle": "Supprimer la catégorie",
|
||
"importPlaceholder": "Importer plusieurs liens...\nBuild:https://example.com/build?class=rogue\nMap:https://example.com/map",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer des liens",
|
||
"exportModalTitle": "Exporter des liens",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import de liens terminé.",
|
||
"exportSuccess": "Export de liens copié.",
|
||
"importError": "Format de liens invalide.",
|
||
"copyTitle": "Copier",
|
||
"copiedTitle": "Copié",
|
||
"deleteTitle": "Supprimer"
|
||
},
|
||
"counters": {
|
||
"labelPlaceholder": "Nom du compteur",
|
||
"addButton": "Ajouter",
|
||
"importPlaceholder": "Victoire: 12\nDéfaite: -2",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer des compteurs",
|
||
"exportModalTitle": "Exporter des compteurs",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import de compteurs terminé.",
|
||
"exportSuccess": "Export de compteurs copié.",
|
||
"importError": "Format de compteurs invalide.",
|
||
"decrementLabel": "Décrémenter",
|
||
"incrementLabel": "Incrémenter",
|
||
"resetTitle": "Réinitialiser",
|
||
"deleteTitle": "Supprimer"
|
||
},
|
||
"randomizer": {
|
||
"diceTab": "Dé",
|
||
"wheelTab": "Roue",
|
||
"teamsTab": "Équipes",
|
||
"facesLabel": "Faces",
|
||
"rollsLabel": "Lancers",
|
||
"rollButton": "Lancer",
|
||
"stopButton": "Arrêter",
|
||
"totalLabel": "Total",
|
||
"drawsLabel": "Tirages",
|
||
"drawButton": "Tirer",
|
||
"valuesTitle": "Valeurs",
|
||
"valuePlaceholder": "Valeur",
|
||
"savedValuesLabel": "Valeurs enregistrées",
|
||
"weightLabel": "Poids",
|
||
"addButton": "Ajouter",
|
||
"clearValuesButton": "Supprimer toutes les valeurs",
|
||
"teamCountLabel": "Équipes",
|
||
"createTeamsButton": "Créer les équipes",
|
||
"playerSelectionModeLabel": "Répartition",
|
||
"playerSelectionAll": "Tous",
|
||
"playerSelectionCount": "Nombre défini",
|
||
"playerSelectionCountLabel": "Nombre",
|
||
"nameLabel": "Nom",
|
||
"namesImportLabel": "Liste de noms",
|
||
"namesImportPlaceholder": "Un nom par ligne",
|
||
"importNamesButton": "Ajouter",
|
||
"clearNamesButton": "Supprimer tous les noms",
|
||
"valuesImportLabel": "Liste de valeurs",
|
||
"valuesImportPlaceholder": "Une valeur par ligne",
|
||
"scoreLabel": "Score",
|
||
"activeLabel": "Actif",
|
||
"firstPlayerLabel": "Nom source",
|
||
"secondPlayerLabel": "Noms exclus",
|
||
"selectNamesButton": "Choisir",
|
||
"selectedNamesLabel": "noms",
|
||
"exclusionModeLabel": "Type",
|
||
"exclusionModeSource": "Exclusions granulaires",
|
||
"exclusionModeGroup": "Tous séparés",
|
||
"addExclusionButton": "Exclure",
|
||
"exclusionsListLabel": "Combinaisons exclues",
|
||
"teamsSingularLabel": "équipe",
|
||
"teamsPluralLabel": "équipes",
|
||
"teamScoreLabel": "Score",
|
||
"emptyTeams": "Aucune équipe générée.",
|
||
"historyTitle": "Historique",
|
||
"emptyHistory": "Aucun historique.",
|
||
"clearHistoryButton": "Effacer tout",
|
||
"deleteTitle": "Supprimer",
|
||
"wheelInvalid": "Ajoutez au moins deux valeurs.",
|
||
"notEnoughPlayers": "Pas assez de joueurs actifs.",
|
||
"constraintsImpossible": "Contraintes impossibles à satisfaire.",
|
||
"importPlaceholder": "@activeTab: teams\n[dice]\nfaces: 6\nrolls: 5\n\n[wheel]\ndraws: 3\n\n- Oui | weight=2\n- Non | weight=2\n- Peut etre | weight=1\n\n[teams]\nteamCount: 4\nplayerSelectionMode: all\nplayerSelectionCount: 6\n\n- Dracaufeu | score=0\n- Tortank | score=0\n- Florizarre | score=0\n- Dracolosse | score=0\n- Ectoplasma | score=0\n- Alakazam | score=0\n- Mackogneur | score=0\n- Cizayox | score=0\n- Tyranocif | score=0\n- Gardevoir | score=0\n- Drattak | score=0\n- Métalosse | score=0\n- Carchacrok | score=0\n- Lucario | score=0\n- Trioxhydre | score=0\n- Amphinobi | score=0\n- Archéduc | score=0\n- Félinferno | score=0\n- Corvaillus | score=0\n- Lanssorien | score=0\n- Raichu | score=0\n- Artikodin | score=0\n- Électhor | score=0\n- Sulfura | score=0\n! Dracolosse / Drattak / Carchacrok / Lanssorien | mode=group\n! Artikodin / Électhor / Sulfura | mode=group",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer un randomizer",
|
||
"exportModalTitle": "Exporter un randomizer",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import randomizer terminé.",
|
||
"exportSuccess": "Export randomizer copié.",
|
||
"importError": "Format de randomizer invalide.",
|
||
"exportInfo": "Le format texte conserve les paramètres du dé, de la roue et des équipes."
|
||
},
|
||
"rngSimulator": {
|
||
"ratesTitle": "Taux enregistrés",
|
||
"addRateTitle": "Ajouter un taux",
|
||
"editRateTitle": "Modifier un taux",
|
||
"emptyRates": "Aucun taux enregistré.",
|
||
"labelLabel": "Libellé",
|
||
"labelPlaceholder": "Drop rare",
|
||
"rateLabel": "Taux (%)",
|
||
"rateLabelRequired": "Libellé requis.",
|
||
"rateInvalid": "Taux invalide. Utilisez une valeur supérieure à 0 et inférieure ou égale à 100.",
|
||
"addRateButton": "Ajouter",
|
||
"saveRateButton": "Enregistrer",
|
||
"cancelButton": "Annuler",
|
||
"deleteTitle": "Supprimer",
|
||
"noActiveRateTitle": "Aucun taux actif",
|
||
"simulationDrawsLabel": "Tirages simulés",
|
||
"perHourLabel": "Par heure",
|
||
"perDayLabel": "Par jour",
|
||
"perMonthLabel": "Par mois",
|
||
"probabilitySectionTitle": "Probabilités avec multiplicateur",
|
||
"multiplierLabel": "Multiplicateur (%)",
|
||
"clearMultiplierButton": "Réinitialiser le multiplicateur",
|
||
"averageDrawsLabel": "Moyenne avant réussite après multiplicateur",
|
||
"simulationChanceLabel": "Chance sur les tirages saisis après multiplicateur",
|
||
"averageTimeTitle": "Temps moyen avant réussite",
|
||
"occurrenceCountLabel": "Nombre d'occurrences",
|
||
"hourTimeLabel": "En heures",
|
||
"dayTimeLabel": "En jours",
|
||
"monthTimeLabel": "En mois",
|
||
"chanceTargetsTitle": "Tirages pour atteindre une chance cumulée",
|
||
"drawsUnit": "tirages",
|
||
"hoursUnit": "h",
|
||
"daysUnit": "j",
|
||
"monthsUnit": "mois",
|
||
"emptySummary": "Ajoutez un taux pour afficher les calculs.",
|
||
"simulationTitle": "Résultats simulés",
|
||
"simulateButton": "Simuler",
|
||
"clearHistoryButton": "Supprimer les simulations",
|
||
"emptyHistory": "Aucune simulation.",
|
||
"successesLabel": "Réussites",
|
||
"failsLabel": "Fails",
|
||
"observedRateLabel": "Taux de réussite",
|
||
"multiplierShortLabel": "Bonus",
|
||
"longestFailStreakLabel": "Pire série",
|
||
"importPlaceholder": "@activeRateId: fnn88zy\n[rates]\n- Elten Piece | rate=0.000004 | active=true | multiplier=320 | perHour=60 | perDay=0 | perMonth=0\n- Pen Eklecta | rate=20.02 | multiplier=0 | perHour=0 | perDay=0 | perMonth=0\n\n[settings]\nsimulationDraws: 1000",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer un simulateur de chance",
|
||
"exportModalTitle": "Exporter un simulateur de chance",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import du simulateur de chance terminé.",
|
||
"exportSuccess": "Export du simulateur de chance copié.",
|
||
"importError": "Format de simulateur de chance invalide.",
|
||
"exportInfo": "Le format texte conserve les taux enregistrés et les paramètres."
|
||
},
|
||
"combos": {
|
||
"importPlaceholder": "@device: playstation\n# Neutral\nHadoken | device=playstation | direction:down > direction:right > button:cross",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer des combos",
|
||
"exportModalTitle": "Exporter des combos",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import de combos terminé.",
|
||
"exportSuccess": "Export de combos copié.",
|
||
"importError": "Format de combos invalide.",
|
||
"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": {
|
||
"importPlaceholder": "@scrollResults: true\nLingots de fer: 100 | formula=100\n Minerais de fer: 500 | formula=base*5",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer des résultats",
|
||
"exportModalTitle": "Exporter des résultats",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import calculateur terminé.",
|
||
"exportSuccess": "Export calculateur copié.",
|
||
"importError": "Format de calculateur invalide.",
|
||
"expressionLabel": "Calcul",
|
||
"expressionPlaceholder": "10*10",
|
||
"resultLabel": "Résultat",
|
||
"labelLabel": "Libellé",
|
||
"labelPlaceholder": "ex: Lingots de fer",
|
||
"saveButton": "Enregistrer",
|
||
"updateButton": "Mettre à jour",
|
||
"newButton": "Nouveau calcul",
|
||
"rootButton": "Revenir à la racine",
|
||
"resetTitle": "Réinitialiser",
|
||
"copyTitle": "Copier pour checklist",
|
||
"copiedTitle": "Copié",
|
||
"scrollableTitle": "Liste scrollable",
|
||
"emptyResults": "Aucun résultat enregistré.",
|
||
"baseTokenLabel": "Valeur du parent",
|
||
"insertBaseTitle": "Ajouter la valeur du parent",
|
||
"editTitle": "Modifier",
|
||
"addChildTitle": "Ajouter un calcul enfant",
|
||
"deleteTitle": "Supprimer"
|
||
},
|
||
"goalTree": {
|
||
"importPlaceholder": "- Breuvage de rage x10\n - Élixir de destruction = base * 3\n - Poudre de flamme x5\n - Sève de cèdre x7\n - Catalyseur magique x10",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer un arbre d'objectifs",
|
||
"exportModalTitle": "Exporter un arbre d'objectifs",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import d'arbre terminé.",
|
||
"exportSuccess": "Export d'arbre copié.",
|
||
"importError": "Format d'arbre d'objectifs invalide.",
|
||
"editorTitle": "Édition de l'arbre d'objectifs",
|
||
"treeTitle": "Arbre d'objectifs",
|
||
"addRootButton": "Objectif",
|
||
"addRootSchemaButton": "Ajouter un objectif a la racine",
|
||
"addChildButton": "Sous-étape",
|
||
"addChildTitle": "Ajouter une sous-étape",
|
||
"addContentItemTitle": "Ajouter une entrée",
|
||
"addContentItemTooltip": "Ajouter une entrée interne à cette carte.",
|
||
"verticalViewTitle": "Afficher verticalement",
|
||
"horizontalViewTitle": "Afficher horizontalement",
|
||
"cardActionsLabel": "Actions de l'objectif",
|
||
"editTitle": "Modifier",
|
||
"baseTab": "Base",
|
||
"contentTab": "Contenu",
|
||
"advancedTab": "Avancé",
|
||
"defaultRootTitle": "Nouvel objectif",
|
||
"defaultChildTitle": "Nouvelle étape",
|
||
"resetTimeLabel": "Heure de reset",
|
||
"weeklyResetDayLabel": "Jour de reset",
|
||
"titleLabel": "Titre de l'objectif",
|
||
"listTitleLabel": "Titre de la liste",
|
||
"kindLabel": "Type de l'objectif",
|
||
"stepKind": "Étape",
|
||
"textKind": "Texte",
|
||
"checklistKind": "Checklist",
|
||
"iconLabel": "Icône",
|
||
"iconColorLabel": "Couleur de l'icône",
|
||
"iconcube": "Cube",
|
||
"iconfire": "Feu",
|
||
"iconflask": "Fiole",
|
||
"icongrass": "Herbe",
|
||
"iconleaf": "Feuille",
|
||
"iconmeat": "Viande",
|
||
"iconpowder": "Poudre",
|
||
"icontear": "Goutte",
|
||
"iconball": "Boule",
|
||
"colorgold": "Or",
|
||
"colorcyan": "Cyan",
|
||
"colorviolet": "Violet",
|
||
"colorpink": "Rose",
|
||
"colorgreen": "Vert",
|
||
"colorgray": "Gris",
|
||
"colorred": "Rouge",
|
||
"colororange": "Orange",
|
||
"coloryellow": "Jaune",
|
||
"colorblue": "Bleu",
|
||
"colorindigo": "Indigo",
|
||
"targetQuantityLabel": "Cible",
|
||
"quantitySectionTitle": "Quantité",
|
||
"progressSectionTitle": "Progression",
|
||
"autoProgressLabel": "Automatique",
|
||
"manualProgressLabel": "Manuelle",
|
||
"autoProgressTitle": "Progression automatique",
|
||
"manualProgressTitle": "Mise à jour manuelle",
|
||
"autoProgressHint": "Calcule la progression depuis les enfants.",
|
||
"manualProgressHint": "Affiche une checkbox ou une quantité à mettre à jour directement.",
|
||
"contentSectionTitle": "Contenu",
|
||
"itemLabelLabel": "Libellé",
|
||
"itemLabelPlaceholder": "Élément",
|
||
"itemCheckedLabel": "État",
|
||
"itemTotalLabel": "Total",
|
||
"itemTotalPlaceholder": "base",
|
||
"itemTotalHelp": "Saisissez un nombre ou une formule avec 'base' pour référencer la cible du parent.",
|
||
"prerequisitesSectionTitle": "Prérequis supplémentaires",
|
||
"contentTabHint": "Le contenu se modifie dans l'onglet Contenu.",
|
||
"stepContentUnavailable": "Les étapes n'ont pas de contenu interne.",
|
||
"decrementItemTitle": "Retirer",
|
||
"incrementItemTitle": "Ajouter",
|
||
"addContentItemButton": "Ajouter une ligne",
|
||
"formulaPlaceholder": "base * 3",
|
||
"formulaHelp": "Utilisez base pour référencer la cible du parent.",
|
||
"baseTokenLabel": "Valeur du parent",
|
||
"insertBaseTitle": "Ajouter la valeur du parent",
|
||
"resetTypeLabel": "Type de reset",
|
||
"noneReset": "Aucun",
|
||
"dailyReset": "Quotidien",
|
||
"weeklyReset": "Hebdomadaire",
|
||
"closeButton": "Fermer",
|
||
"deleteButton": "Supprimer la branche",
|
||
"deleteTitle": "Supprimer",
|
||
"reorderTitle": "Déplacer",
|
||
"showChildrenTitle": "Afficher la branche",
|
||
"hideChildrenTitle": "Réduire la branche",
|
||
"emptySelection": "Sélectionnez ou créez un objectif.",
|
||
"emptyTree": "Aucun objectif."
|
||
},
|
||
"table": {
|
||
"importPlaceholder": "Collez un TSV pur ou un TSV exporté par Sokko G.",
|
||
"importOpenButton": "Importer TSV",
|
||
"exportOpenButton": "Exporter TSV",
|
||
"importModalTitle": "Importer un tableau TSV",
|
||
"exportModalTitle": "Exporter un tableau TSV",
|
||
"importButton": "Importer le TSV",
|
||
"exportButton": "Copier le TSV",
|
||
"importSuccess": "Import TSV terminé.",
|
||
"exportSuccess": "Export TSV copié.",
|
||
"importError": "Format TSV invalide.",
|
||
"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 les valeurs",
|
||
"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": {
|
||
"importPlaceholder": "@activeTab: countdown\ncountdown | label=Boss | type=duration | durationMs=300000",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer un timer",
|
||
"exportModalTitle": "Exporter un timer",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import timer terminé.",
|
||
"exportSuccess": "Export timer copié.",
|
||
"importError": "Format de timer invalide.",
|
||
"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"
|
||
},
|
||
"calendar": {
|
||
"init": {
|
||
"title": "Créer un calendrier",
|
||
"weekly": "Hebdomadaire",
|
||
"weeklyDescription": "Grille jours par créneaux de 30 minutes.",
|
||
"monthly": "Mensuel",
|
||
"monthlyDescription": "Grille mensuelle datée avec navigation.",
|
||
"soon": "À venir"
|
||
},
|
||
"gridLabel": "Calendrier hebdomadaire",
|
||
"monthGridLabel": "Calendrier mensuel",
|
||
"titleLabel": "Titre",
|
||
"titlePlaceholder": "Raid, reset, event...",
|
||
"dayLabel": "Jour",
|
||
"startDayLabel": "Date début",
|
||
"endDayLabel": "Date fin",
|
||
"startLabel": "Début",
|
||
"endLabel": "Fin",
|
||
"alertModeTitle": "Mode d'alerte",
|
||
"alertTypeLabel": "Type d'alertes",
|
||
"alertOffTitle": "Pas d'alerte",
|
||
"alertVisibleTitle": "Alerte quand la toolbox est affichée",
|
||
"alertSiteTitle": "Alerte sur tout le site",
|
||
"alertOffsetLabel": "Alerte",
|
||
"alertOffset10": "10 min avant",
|
||
"alertOffset5": "5 min avant",
|
||
"alertOffset0": "Au début et pendant",
|
||
"alertMessage": "{label} commence bientôt dans {toolbox}.",
|
||
"resumeAlertMessage": "{label} est en cours dans {toolbox}.",
|
||
"hideEmptyHoursLabel": "Masquer les heures vides",
|
||
"colorLabel": "Couleur",
|
||
"colorViolet": "Violet",
|
||
"colorGold": "Or",
|
||
"colorCyan": "Cyan",
|
||
"colorPink": "Rose",
|
||
"colorGreen": "Vert",
|
||
"colorGray": "Gris",
|
||
"repeatableTitle": "Répétable",
|
||
"repeatLabel": "Répétition",
|
||
"repeatNone": "Aucune",
|
||
"repeatWeekly": "Chaque semaine",
|
||
"repeatMonthly": "Chaque mois",
|
||
"monthlyRepeatLabel": "Règle mensuelle",
|
||
"monthlyRepeatMonthDay": "Numéro du jour",
|
||
"monthlyRepeatWeekday": "Jour de semaine",
|
||
"monthDatePickerLabel": "Choisir une date",
|
||
"previousMonthTitle": "Mois précédent",
|
||
"nextMonthTitle": "Mois suivant",
|
||
"currentMonthTitle": "Mois courant",
|
||
"previousShortLabel": "Prec.",
|
||
"nextShortLabel": "Suiv.",
|
||
"importPlaceholder": "@viewMode: week\nevent | title=Raid hebdo | day=vendredi | start=18:00 | end=20:00 | color=gold | alertMode=site | alerts=10,5\n\n@viewMode: month\nevent | title=Maintenance | repeatBy=weekday | repeat=monthly | startDate=2026-08-03 | endDate=2026-08-05 | color=pink",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer un calendrier",
|
||
"exportModalTitle": "Exporter un calendrier",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"exportInfo": "Format calendrier texte compatible avec les vues hebdomadaire et mensuelle.",
|
||
"importSuccess": "Import calendrier terminé.",
|
||
"exportSuccess": "Export calendrier copié.",
|
||
"importError": "Format de calendrier invalide.",
|
||
"addButton": "Ajouter",
|
||
"saveButton": "Enregistrer",
|
||
"cancelButton": "Annuler",
|
||
"editTitle": "Modifier",
|
||
"copyTitle": "Copier",
|
||
"copiedTitle": "Événement copié.",
|
||
"pastedTitle": "Événement collé.",
|
||
"deleteTitle": "Supprimer",
|
||
"deleteOccurrenceTitle": "Supprimer cette occurrence",
|
||
"deleteSeriesTitle": "Supprimer toutes les répétitions",
|
||
"requiredError": "Titre, date et heure de début requis.",
|
||
"invalidRangeError": "La fin doit être après le début."
|
||
},
|
||
"taskPlanner": {
|
||
"importPlaceholder": "@resetTime: 06:00\n# Raid\n- daily Préparer la route\n @description: Notes rapides\n - unique Sous-tâche",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer des tâches",
|
||
"exportModalTitle": "Exporter des tâches",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import de tâches terminé.",
|
||
"exportSuccess": "Export de tâches copié.",
|
||
"importError": "Format de tâches invalide.",
|
||
"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",
|
||
"taskDailyResetTimeLabel": "Heure quotidienne",
|
||
"inheritResetTime": "Utiliser l'heure globale",
|
||
"taskResetLabel": "Réinitialisation",
|
||
"noTaskResetLabel": "Aucun reset",
|
||
"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."
|
||
},
|
||
"equipmentPlanner": {
|
||
"importPlaceholder": "# Équipements | icon=shield\n## Épée runique | icon=sword | active=true\nStats\nDégâts | sword | Attaque | 12\nCraft\nMinerai rare: 4",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer des équipements",
|
||
"exportModalTitle": "Exporter des équipements",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import d'équipements terminé.",
|
||
"exportSuccess": "Export d'équipements copié.",
|
||
"importError": "Format d'équipements invalide.",
|
||
"equipmentIconLabel": "Type",
|
||
"typePlaceholder": "Type d'équipement",
|
||
"equipmentPlaceholder": "Nouvel équipement",
|
||
"addEquipmentButton": "Ajouter",
|
||
"summaryTitle": "Résumé",
|
||
"activeEquipmentsSingular": "équipement actif",
|
||
"activeEquipmentsPlural": "équipements actifs",
|
||
"numericTotalsTitle": "Totaux",
|
||
"equipmentTotalsTitle": "Statistiques de l'équipement",
|
||
"socketTotalsTitle": "Objets sertis",
|
||
"mixedTotalsTitle": "Totaux fusionnés",
|
||
"summaryTooltipTitle": "Provenance",
|
||
"textBonusesTitle": "Bonus",
|
||
"emptyTotals": "Aucun total numérique.",
|
||
"emptyTextBonuses": "Aucun bonus non numérique.",
|
||
"emptyEquipments": "Aucun équipement planifié.",
|
||
"activeLabel": "Actif",
|
||
"includeInSummaryLabel": "Inclure dans le résumé",
|
||
"reorderTypeTitle": "Déplacer le type",
|
||
"renameTypeTitle": "Renommer le type",
|
||
"showTypeTitle": "Afficher ce type",
|
||
"hideTypeTitle": "Réduire ce type",
|
||
"reorderEquipmentTitle": "Déplacer",
|
||
"renameEquipmentTitle": "Renommer",
|
||
"showDetailsTitle": "Afficher les détails",
|
||
"hideDetailsTitle": "Masquer les détails",
|
||
"deleteEquipmentTitle": "Supprimer",
|
||
"tabsLabel": "Ajout de caractéristiques",
|
||
"statsTab": "Stats / affixe",
|
||
"socketsTab": "Objets à sertir",
|
||
"craftTab": "Craft",
|
||
"displayStatsTitle": "Statistiques",
|
||
"displaySocketTitle": "Objets sertis",
|
||
"editModeTitle": "Mode édition",
|
||
"viewModeTitle": "Mode affichage",
|
||
"editModeButton": "Éditer",
|
||
"viewModeButton": "Affichage",
|
||
"obtainLabel": "Obtention",
|
||
"obtainPlaceholder": "Comment obtenir ou créer cet équipement",
|
||
"emptyObtain": "Aucune obtention renseignée.",
|
||
"characteristicsTitle": "Caractéristiques",
|
||
"traitIconLabel": "Icône",
|
||
"categoryPlaceholder": "Catégorie",
|
||
"traitNamePlaceholder": "Nom",
|
||
"traitValuePlaceholder": "Valeur",
|
||
"addTraitButton": "Ajouter",
|
||
"reorderTraitTitle": "Déplacer",
|
||
"reorderCategoryTitle": "Déplacer la catégorie",
|
||
"deleteTraitTitle": "Supprimer",
|
||
"emptyCharacteristics": "Aucune caractéristique.",
|
||
"materialsTitle": "Matériaux",
|
||
"materialNamePlaceholder": "Matériau",
|
||
"materialQtyLabel": "Quantité",
|
||
"addMaterialButton": "Ajouter",
|
||
"deleteMaterialTitle": "Supprimer",
|
||
"socketItemsTitle": "Objets sertis",
|
||
"emptySocketItems": "Aucun objet serti.",
|
||
"socketNamePlaceholder": "Joyau, materia...",
|
||
"socketShapeLabel": "Forme",
|
||
"socketColorLabel": "Couleur",
|
||
"addSocketButton": "Ajouter",
|
||
"bonusNamePlaceholder": "Bonus",
|
||
"addBonusButton": "Ajouter",
|
||
"deleteSocketTitle": "Supprimer",
|
||
"deleteBonusTitle": "Supprimer",
|
||
"addSocketLinkLabel": "Lier à",
|
||
"deleteSocketLinkTitle": "Retirer le lien"
|
||
},
|
||
"imageAnnotation": {
|
||
"importPlaceholder": "data:image/webp;base64,...\n@marker: 42.5,68,Entrée\n@drawings: {\"strokes\":[]}",
|
||
"importOpenButton": "Importer du texte",
|
||
"exportOpenButton": "Exporter en format texte",
|
||
"importModalTitle": "Importer une annotation",
|
||
"exportModalTitle": "Exporter une annotation",
|
||
"importButton": "Importer le texte",
|
||
"exportButton": "Copier le texte",
|
||
"importSuccess": "Import d'annotation terminé.",
|
||
"exportSuccess": "Export d'annotation copié.",
|
||
"importError": "Format d'annotation invalide.",
|
||
"exportInfo": "L'image annotée est exportée en base64 complet. Le texte peut donc être très long.",
|
||
"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."
|
||
}
|
||
}
|