Add text import export for toolbox modules
This commit is contained in:
parent
a9b5ca423a
commit
117b7b79e1
27 changed files with 1430 additions and 181 deletions
|
|
@ -41,6 +41,9 @@
|
|||
"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",
|
||||
|
|
@ -186,7 +189,11 @@
|
|||
"Les données restent dans la toolbox locale et ne nécessitent pas de compte."
|
||||
]
|
||||
}
|
||||
]
|
||||
],
|
||||
"importFormat": {
|
||||
"text": "Le bloc notes conserve du texte riche et des dessins. Il n'utilise donc pas le format d'import/export texte des outils structurés.",
|
||||
"example": "Le partage du bloc notes passe par l'export JSON de toolbox."
|
||||
}
|
||||
},
|
||||
"checklist": {
|
||||
"controls": [
|
||||
|
|
@ -292,7 +299,6 @@
|
|||
}
|
||||
],
|
||||
"importFormat": {
|
||||
"title": "Import texte",
|
||||
"text": "Une ligne commençant par # crée une catégorie. Une ligne item peut contenir une quantité avec le format Nom:quantité.",
|
||||
"example": "# Potions\nPotion:10\nMéga potion:5\n\n# Armures\nCasque Rey Dau:1"
|
||||
}
|
||||
|
|
@ -354,7 +360,11 @@
|
|||
"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": "Victoires: 12\nDéfaites: -2\nEssais boss: 34"
|
||||
}
|
||||
},
|
||||
"images": {
|
||||
"controls": [
|
||||
|
|
@ -415,7 +425,11 @@
|
|||
"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": "# Map zone nord\ndata:image/webp;base64,UklGRiQAAABXRUJQVlA4...\n\n# Capture boss\ndata:image/png;base64,iVBORw0KGgoAAAANS..."
|
||||
}
|
||||
},
|
||||
"imageAnnotation": {
|
||||
"controls": [
|
||||
|
|
@ -531,7 +545,11 @@
|
|||
"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/webp;base64,UklGRiQAAABXRUJQVlA4...\n@marker: 42.5,68,Entrée\n@drawings: {\"strokes\":[]}"
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
"controls": [
|
||||
|
|
@ -576,7 +594,6 @@
|
|||
}
|
||||
],
|
||||
"importFormat": {
|
||||
"title": "Import texte",
|
||||
"text": "Un lien par ligne. Séparez le titre et l'URL avec deux-points.",
|
||||
"example": "Build:https://example.com/build?class=rogue\nMap:https://example.com/map"
|
||||
}
|
||||
|
|
@ -650,7 +667,11 @@
|
|||
"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": "@scrollResults: true\nLingots: 100\n Minerai: 500\nCristaux: 12"
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"controls": [
|
||||
|
|
@ -726,7 +747,11 @@
|
|||
"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: 2x3\n@columns: Objet\tValeur\tTotal\n@tsv\nOeuf d'or\t20000\t=B1*3\nOeuf d'argent\t5000\t=B2*2"
|
||||
}
|
||||
},
|
||||
"timer": {
|
||||
"controls": [
|
||||
|
|
@ -853,7 +878,11 @@
|
|||
"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=Phase 1 | elapsedMs=90000\ncountdown | label=Boss | type=duration | durationMs=300000\ncountdown | label=Event | type=time_pattern | pattern=X:45:00"
|
||||
}
|
||||
},
|
||||
"taskPlanner": {
|
||||
"controls": [
|
||||
|
|
@ -932,7 +961,11 @@
|
|||
"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": "@resetTime: 06:00\n# Raid\n- daily Préparer la route\n @description: Prendre consommables\n - unique Acheter potions\n @prerequisite: true\n- weekly Coffre hebdo"
|
||||
}
|
||||
},
|
||||
"combos": {
|
||||
"controls": [
|
||||
|
|
@ -1045,7 +1078,11 @@
|
|||
"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": "@device: playstation\n# Neutral\nHadoken | device=playstation | direction:down > direction:right > button:cross\nCharge | button:square[2s] > button:triangle+button:circle"
|
||||
}
|
||||
},
|
||||
"equipmentPlanner": {
|
||||
"controls": [
|
||||
|
|
@ -1106,7 +1143,11 @@
|
|||
"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": "# Armes | icon=sword\n## Épée runique | icon=sword | active=true\nStats\nDégâts | sword | Attaque | 12\nSockets\nJoyau attaque | shape=jewel | color=yellow\n bonus | Compétence | sword | Attaque | 1\nCraft\nMinerai rare: 4"
|
||||
}
|
||||
}
|
||||
},
|
||||
"summaryItems": [
|
||||
|
|
@ -1362,8 +1403,14 @@
|
|||
"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",
|
||||
|
|
@ -1384,6 +1431,17 @@
|
|||
"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",
|
||||
|
|
@ -1404,8 +1462,14 @@
|
|||
"addButton": "Ajouter",
|
||||
"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"
|
||||
|
|
@ -1413,12 +1477,32 @@
|
|||
"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"
|
||||
},
|
||||
"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",
|
||||
|
|
@ -1452,6 +1536,16 @@
|
|||
"deleteComboTitle": "Supprimer le combo"
|
||||
},
|
||||
"calculator": {
|
||||
"importPlaceholder": "@scrollResults: true\nLingots de fer: 100\n Minerais de fer: 500",
|
||||
"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",
|
||||
|
|
@ -1470,6 +1564,16 @@
|
|||
"deleteTitle": "Supprimer"
|
||||
},
|
||||
"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",
|
||||
|
|
@ -1480,7 +1584,7 @@
|
|||
"removeRowTitle": "Supprimer la dernière ligne",
|
||||
"addColumnTitle": "Ajouter une colonne",
|
||||
"removeColumnTitle": "Supprimer la dernière colonne",
|
||||
"copyTitle": "Copier en TSV",
|
||||
"copyTitle": "Copier les valeurs",
|
||||
"copiedTitle": "Tableau copié",
|
||||
"errorTitle": "Formule invalide",
|
||||
"columnLabel": "Intitulé de colonne",
|
||||
|
|
@ -1489,6 +1593,16 @@
|
|||
"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",
|
||||
|
|
@ -1536,6 +1650,16 @@
|
|||
"deleteTitle": "Supprimer"
|
||||
},
|
||||
"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",
|
||||
|
|
@ -1582,6 +1706,16 @@
|
|||
"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",
|
||||
|
|
@ -1651,6 +1785,17 @@
|
|||
"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",
|
||||
|
|
|
|||
3
website/public/static/icons/info.svg
Normal file
3
website/public/static/icons/info.svg
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path fill="currentColor" d="M11 10h2v8h-2v-8Zm0-4h2v2h-2V6Zm1-4a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 209 B |
Loading…
Add table
Add a link
Reference in a new issue