139 lines
9.2 KiB
JSON
139 lines
9.2 KiB
JSON
{
|
|
"gameSystems": {
|
|
"heroTitle": "Systèmes de JDR",
|
|
"heroSubtitle": "Les règles que l'IA connaîtra pour vos campagnes",
|
|
"noDescription": "(Pas de description)",
|
|
"byAuthor": "par {{author}}",
|
|
"public": "public",
|
|
"newSystem": "Nouveau système",
|
|
"newSystemSubtitle": "Saisir les règles d'un JDR (markdown)",
|
|
"tip": "💡 Astuce : organisez vos règles par sections avec des titres <code>## Combat</code>, <code>## Classes</code>, <code>## Lore</code>… Le système injectera les sections pertinentes selon ce que l'IA doit générer.",
|
|
"deleteTitle": "Supprimer le système",
|
|
"deleteMessage": "Supprimer le système \"{{name}}\" ?",
|
|
"deleteDetail": "Les campagnes qui l'utilisent ne seront plus associées à aucun système."
|
|
},
|
|
"gameSystemEdit": {
|
|
"backToList": "Retour à la liste",
|
|
"editTitle": "Éditer le système",
|
|
"createTitle": "Nouveau système de JDR",
|
|
"nameLabel": "Nom *",
|
|
"namePlaceholder": "Ex: Nimble, D&D 5.1 SRD, Mon Homebrew...",
|
|
"descriptionLabel": "Description courte",
|
|
"descriptionPlaceholder": "En une ligne, de quoi parle ce système ?",
|
|
"authorLabel": "Auteur",
|
|
"authorPlaceholder": "Ex: Hasbro, Homebrew, moi-même...",
|
|
"rulesTitle": "Règles du système",
|
|
"rulesHint": "Une section = un thème. L'IA injectera automatiquement les sections pertinentes selon ce qu'elle génère (combat → Combat/Monstres, PNJ → Classes, arc → Lore/Factions).",
|
|
"importButton": "Importer un PDF de règles",
|
|
"importInProgress": "Import en cours…",
|
|
"importHint": "L'IA propose un découpage en sections — vous révisez avant d'enregistrer.",
|
|
"sectionsFound": "Sections trouvées : {{titles}}",
|
|
"sectionTitlePlaceholder": "Nom de la section (ex: Combat)",
|
|
"removeSection": "Supprimer cette section",
|
|
"sectionContentPlaceholder": "Décrivez les règles de cette section...",
|
|
"noSections": "Aucune section pour l'instant — ajoutez-en une avec les boutons ci-dessous.",
|
|
"addSection": "Ajouter une section :",
|
|
"addOther": "Autre…",
|
|
"charactersTitle": "Fiches de personnages",
|
|
"charactersHint": "Définissez la structure des fiches PJ et PNJ pour ce système. Les champs universels (nom, portrait, header) sont automatiques — ne rajoutez ici que les champs spécifiques au système (Histoire, PV, Stats…).",
|
|
"pcFieldsLabel": "Champs de la fiche PJ",
|
|
"pcFieldsHint": "Affichés lors de la création/édition d'un personnage joueur.",
|
|
"npcFieldsLabel": "Champs de la fiche PNJ",
|
|
"npcFieldsHint": "Affichés lors de la création/édition d'un personnage non-joueur.",
|
|
"enemyFieldsLabel": "Champs de la fiche Ennemi",
|
|
"enemyFieldsHint": "Affichés lors de la création/édition d'un ennemi (bestiaire). Nom, niveau, dossier, portrait et bandeau sont automatiques.",
|
|
"importExtracting": "Extraction du texte…",
|
|
"importAnalyzing": "Analyse des règles… ({{current}}/{{total}})",
|
|
"importFailed": "Échec de l'import du PDF.",
|
|
"importFailedReason": "Échec de l'import : {{reason}}",
|
|
"importNoRules": "Aucune règle exploitable n'a été extraite de ce PDF (scan sans OCR, ou contenu non reconnu).",
|
|
"importOcrSuffix": " (dont {{count}} page(s) via OCR)",
|
|
"importNote": "{{added}} section(s) proposée(s) depuis {{pages}} page(s){{ocr}}. Relisez et ajustez ci-dessous avant d'enregistrer."
|
|
},
|
|
"ollamaModelManager": {
|
|
"installedModels": "Modèles installés",
|
|
"deleteModelTitle": "Supprimer {{name}}",
|
|
"pullDialogTitle": "Télécharger un modèle Ollama",
|
|
"modelNameLabel": "Nom du modèle",
|
|
"suggestions": "Suggestions :",
|
|
"libraryHint": "La liste complète est sur <a href=\"https://ollama.com/library\" target=\"_blank\" rel=\"noopener\">ollama.com/library</a>.",
|
|
"preparing": "Préparation...",
|
|
"connecting": "connexion...",
|
|
"cancelled": "annulé",
|
|
"pullEventError": "Échec : {{error}}",
|
|
"pullFailed": "Échec du téléchargement de {{name}}.",
|
|
"pullInterrupted": "Téléchargement de {{name}} interrompu avant la fin. Relancez pour reprendre.",
|
|
"pullDone": "Modèle {{name}} téléchargé.",
|
|
"deleteTitle": "Supprimer le modèle",
|
|
"deleteMessage": "Supprimer le modèle '{{name}}' ?",
|
|
"deleteDetail": "L'espace disque sera libéré.",
|
|
"deleteDone": "Modèle {{name}} supprimé.",
|
|
"deleteFailed": "Échec de la suppression de {{name}}."
|
|
},
|
|
"updatesSection": {
|
|
"title": "Mises à jour",
|
|
"hint": "Vérifie auprès du registry Docker si une nouvelle version des conteneurs (core, brain, web) est disponible. Postgres et MinIO sont exclus — ils sont mis à jour manuellement.",
|
|
"stableChannel": "Canal stable",
|
|
"checking": "Vérification...",
|
|
"checkNow": "Vérifier maintenant",
|
|
"featureNotConfigured": "Feature non configurée (WATCHTOWER_TOKEN absent).",
|
|
"updateAvailable": "Une mise à jour est disponible.",
|
|
"checkImpossible": "Vérification impossible (baseline absente ou registry injoignable).",
|
|
"upToDate": "Tout est à jour (vérifié le {{date}}).",
|
|
"applying": "Mise à jour en cours...",
|
|
"applyNow": "Mettre à jour maintenant",
|
|
"betaChannelTitle": "Canal beta — réservé aux patrons",
|
|
"betaChannelIntro": "Soutiens LoreMind sur Patreon pour accéder aux nouvelles features en avant-première. Le tier <strong>Compagnon</strong> (7€/mois) ou supérieur débloque ce canal.",
|
|
"connectPatreon": "Connecter mon compte Patreon",
|
|
"connectInstructions": "Une nouvelle fenêtre va s'ouvrir vers Patreon. Après autorisation, copie le token affiché et colle-le ci-dessous.",
|
|
"patreonToken": "Token Patreon",
|
|
"activateLicense": "Activer la licence",
|
|
"licenseValid": "Compte Patreon connecté. Tier {{tier}} actif.",
|
|
"licenseGrace": "Connexion Patreon expirée, mais accès beta maintenu pendant la période de tolérance. Vérifie que ton abonnement Patreon est toujours actif et clique sur \"Vérifier maintenant\".",
|
|
"licenseExpired": "Connexion Patreon expirée depuis trop longtemps. Reconnecte-toi pour retrouver l'accès beta.",
|
|
"licenseUnverifiable": "Le token installé ne peut plus être vérifié. Reconnecte-toi.",
|
|
"infoTier": "<strong>Tier :</strong> {{tier}}",
|
|
"infoValidity": "<strong>Validité :</strong> jusqu'au {{date}}",
|
|
"renewalDay": "(renouvellement dans {{n}} jour)",
|
|
"renewalDays": "(renouvellement dans {{n}} jours)",
|
|
"infoLastRefresh": "<strong>Dernier refresh :</strong> {{date}}",
|
|
"refreshOk": "OK",
|
|
"refreshFailed": "échec",
|
|
"enableBetaChannel": "Activer le canal beta",
|
|
"disconnectPatreon": "Déconnecter Patreon",
|
|
"checkingBetaImages": "Vérification des images beta...",
|
|
"betaUnavailable": "Indisponible : {{reason}}",
|
|
"betaCheckImpossible": "Vérification beta impossible (registry beta injoignable ou baseline absente).",
|
|
"currentChannel": "Canal actuel :",
|
|
"channelBeta": "Bêta",
|
|
"channelStable": "Stable",
|
|
"switchToBeta": "Passer sur le canal beta",
|
|
"switchToStable": "Repasser sur le canal stable",
|
|
"switching": "Bascule en cours...",
|
|
"switchInProgressNotice": "Bascule en cours. L'application va être indisponible 10 à 30 secondes — la page se rechargera automatiquement quand le nouveau Core sera prêt.",
|
|
"switcherUnavailable": "Le sidecar de bascule n'est pas installé. Pour bénéficier du switch automatique, récupère le dernier <code>docker-compose.yml</code> du repo et fais <code>docker compose pull && docker compose up -d</code> une fois. Sinon, bascule manuellement en éditant <code>IMAGE_NAMESPACE</code> dans ton <code>.env</code> (<code>igmlcreation/loremind-</code> pour stable, <code>igmlcreation/loremind-beta-</code> pour beta).",
|
|
"connectUrlError": "Impossible de générer l'URL de connexion. Vérifie ta config.",
|
|
"pasteTokenFirst": "Colle d'abord le token reçu après connexion Patreon.",
|
|
"patreonConnectedSuccess": "Compte Patreon connecté. L'accès beta est actif.",
|
|
"disconnectTitle": "Déconnecter Patreon",
|
|
"disconnectMessage": "Déconnecter ton compte Patreon ?",
|
|
"disconnectDetail": "Tu perdras l'accès au canal beta.",
|
|
"disconnectConfirm": "Déconnecter",
|
|
"patreonDisconnected": "Compte Patreon déconnecté.",
|
|
"switchToBetaMessage": "Basculer LoreMind sur le canal beta ? Les containers core/brain/web vont être recréés avec les images beta. L'application sera indisponible 10-30 secondes.",
|
|
"switchToStableMessage": "Repasser LoreMind sur le canal stable ? Les containers core/brain/web vont être recréés avec les images stables. L'application sera indisponible 10-30 secondes.",
|
|
"switchToBetaTitle": "Passer en beta ?",
|
|
"switchToStableTitle": "Repasser en stable ?",
|
|
"switchDetailData": "Les données (DB, images) sont préservées.",
|
|
"switchDetailReversible": "Tu pourras refaire le chemin inverse à tout moment depuis cet écran.",
|
|
"switchToBetaConfirm": "Passer en beta",
|
|
"switchToStableConfirm": "Repasser en stable",
|
|
"switchFailed": "Échec du switch",
|
|
"applyTitle": "Mettre à jour",
|
|
"applyMessage": "Télécharger et redémarrer les conteneurs maintenant ?",
|
|
"applyDetail": "L'app sera indisponible quelques secondes.",
|
|
"applyConfirm": "Mettre à jour",
|
|
"applyTriggered": "Mise à jour déclenchée. Rechargez la page dans 30s."
|
|
}
|
|
}
|