2026-03-10 18:24:01 +01:00
{
2026-03-11 18:33:10 +01:00
"game.title" : "OUVRE LA BOÎTE" ,
2026-03-10 18:24:01 +01:00
"game.subtitle" : "Qu'est-ce qu'il y a dedans ? Un seul moyen de le savoir." ,
"game.version" : "v0.1.0" ,
"menu.new_game" : "Nouvelle Partie" ,
"menu.load_game" : "Charger une Partie" ,
"menu.language" : "Langue" ,
"menu.quit" : "Quitter" ,
"menu.back" : "Retour" ,
"menu.continue" : "Continuer" ,
"menu.save" : "Sauvegarder" ,
2026-03-11 18:33:10 +01:00
"menu.settings" : "Paramètres" ,
2026-03-10 18:24:01 +01:00
2026-03-11 18:33:10 +01:00
"action.open_box" : "Ouvrir une boîte" ,
2026-03-10 18:24:01 +01:00
"action.inventory" : "Voir l'inventaire" ,
"action.craft" : "Fabriquer" ,
2026-03-11 18:33:10 +01:00
"action.adventure" : "Partir à l'aventure" ,
2026-03-10 18:24:01 +01:00
"action.appearance" : "Changer d'apparence" ,
"action.save" : "Sauvegarder" ,
"action.quit" : "Retourner au menu" ,
2026-03-11 18:33:10 +01:00
"prompt.name" : "Quel est ton nom, brave ouvreur de boîtes ?" ,
2026-03-10 18:24:01 +01:00
"prompt.choose_action" : "Que veux-tu faire ?" ,
2026-03-11 18:33:10 +01:00
"prompt.choose_box" : "Quelle boîte veux-tu ouvrir ?" ,
2026-03-10 18:24:01 +01:00
"prompt.choose_interaction" : "Plusieurs interactions possibles ! Choisis-en une :" ,
"prompt.press_key" : "Appuie sur une touche pour continuer..." ,
"box.opening" : "Ouverture de {0}..." ,
2026-03-11 18:33:10 +01:00
"box.opened" : "{0} ouverte ! (Rareté : {1})" ,
2026-03-10 20:31:46 +01:00
"box.opened_short" : "{0} ouverte !" ,
"box.shimmer" : "Quelque chose scintille..." ,
2026-03-11 18:33:10 +01:00
"box.found" : "Tu as trouvé : {0} !" ,
"box.found_box" : "À l'intérieur il y avait... une autre boîte ! {0} !" ,
"box.empty" : "La boîte est vide ! Philosophique." ,
"box.no_boxes" : "Tu n'as aucune boîte. Comment t'as fait ?" ,
2026-03-10 18:24:01 +01:00
"box.auto_open" : "{0} s'ouvre automatiquement !" ,
2026-03-11 18:33:10 +01:00
"loot.received" : "Tu as reçu :" ,
2026-03-10 20:31:46 +01:00
"loot.title" : "Butin !" ,
"loot.name" : "Nom" ,
2026-03-11 18:33:10 +01:00
"loot.rarity" : "Rareté" ,
"loot.category" : "Catégorie" ,
"ui.feature_unlocked" : "NOUVELLE FONCTIONNALITÉ : {0}" ,
"ui.completion" : "Complétion : {0}%" ,
2026-03-10 20:31:46 +01:00
"prompt.what_do" : "Que fais-tu ?" ,
"prompt.invalid_choice" : "Entre un nombre entre 1 et {0}." ,
2026-03-10 18:24:01 +01:00
2026-03-11 18:33:10 +01:00
"box.starter" : "Boîte de départ" ,
"box.starter.desc" : "Ta première boîte. Le début de tout. Ou de rien. Probablement de quelque chose quand même." ,
"box.box_of_boxes" : "Boîte à boîte" ,
"box.box_of_boxes.desc" : "Une boîte qui contient... des boîtes. C'est des boîtes jusqu'en bas." ,
"box.not_great" : "Boîte pas ouf" ,
"box.not_great.desc" : "Elle est pas géniale. Elle est pas terrible. Elle... est." ,
"box.ok_tier" : "Boîte ok tiers" ,
"box.ok_tier.desc" : "La médiocrité n'a jamais été aussi carrée." ,
"box.cool" : "Boîte coolos" ,
"box.cool.desc" : "Là on commence à causer. À causer cool." ,
"box.epic" : "Boîte épique" ,
"box.epic.desc" : "L'orchestre s'intensifie. La foule retient son souffle. C'est... une boîte." ,
"box.legendhair" : "Boîte legend'hair" ,
2026-03-14 08:56:22 +01:00
"box.legendhair.desc" : "Il y a une épreuve de jeu de mot au BTS coiffure. C'est obligé." ,
2026-03-11 18:33:10 +01:00
"box.legendary" : "Boîte légendaire" ,
"box.legendary.desc" : "Les légendes parlent de cette boîte. Doucement quand même, c'est une boîte." ,
"box.adventure" : "Boîte aventure" ,
"box.adventure.desc" : "Contient la clé de l'aventure ! Littéralement, parfois." ,
"box.style" : "Boîte stylée" ,
"box.style.desc" : "La mode est éphémère. Le style sorti d'une boîte est éternel." ,
"box.improvement" : "Boîte d'amélioration" ,
"box.improvement.desc" : "On peut toujours s'améliorer. Surtout avec des boîtes." ,
"box.supply" : "Boîte de fourniture" ,
"box.supply.desc" : "Des fournitures ! Le sang vital de tout passionné d'ouverture de boîtes." ,
"box.meta_basics" : "Boîte Méta - Les Bases" ,
"box.meta_basics.desc" : "Couleurs, flèches, animations. Le fondement de la vision." ,
"box.meta_interface" : "Boîte Méta - L'Interface" ,
"box.meta_interface.desc" : "Panneaux, ressources, stats. Les outils de la compréhension." ,
"box.meta_deep" : "Boîte Méta - Personnalisation" ,
"box.meta_deep.desc" : "Couleurs étendues, artisanat, chat, portrait. Exprime-toi." ,
"box.meta_resources" : "Boîte Méta - Ressources" ,
"box.meta_resources.desc" : "Déverrouille la capacité de voir ce que tu as. Et ce qui te manque." ,
"box.meta_mastery" : "Boîte Méta - La Maîtrise" ,
2026-03-13 21:37:09 +01:00
"box.meta_mastery.desc" : "Mise en page et stats. Les touches finales d'un vrai maître des boîtes." ,
2026-03-11 18:33:10 +01:00
"box.black" : "Boîte noire" ,
"box.black.desc" : "Personne ne sait ce qu'il y a dedans. Même pas la boîte." ,
"box.story" : "Boîte à histoire" ,
"box.story.desc" : "Chaque boîte a une histoire. Celle-ci plus que les autres." ,
"box.music" : "Boîte à musique" ,
"box.music.desc" : "Do do do do. La musique de boîte c'est la meilleure musique." ,
"box.cookie" : "Boîte à Cookies" ,
"box.cookie.desc" : "La fortune sourit aux audacieux. Et à ceux qui ouvrent des boîtes." ,
"box.adventure.space" : "Boîte d'aventure spatiale" ,
"box.adventure.space.desc" : "Vers l'infini et au-delà ! (Boîte non incluse dans l'infini)" ,
"box.adventure.medieval" : "Boîte d'aventure médiévale" ,
"box.adventure.medieval.desc" : "Oyez, oyez ! Une boîte d'aventure d'antan !" ,
"box.adventure.pirate" : "Boîte d'aventure pirate" ,
"box.adventure.pirate.desc" : "Arr ! X marque la boîte !" ,
"box.adventure.contemporary" : "Boîte d'aventure contemporaine" ,
"box.adventure.contemporary.desc" : "Une boîte pour les temps modernes. Livrée avec l'anxiété du WiFi." ,
"box.adventure.sentimental" : "Boîte d'aventure sentimentale" ,
"box.adventure.sentimental.desc" : "Cette boîte te fait ressentir des choses. Surtout de la curiosité." ,
"box.adventure.prehistoric" : "Boîte d'aventure préhistorique" ,
"box.adventure.prehistoric.desc" : "Ouga bouga boîte. Très vieille. Beaucoup mystère." ,
"box.adventure.cosmic" : "Boîte d'aventure cosmique" ,
"box.adventure.cosmic.desc" : "L'univers est une boîte. Cette boîte est un univers." ,
"box.adventure.microscopic" : "Boîte d'aventure microscopique" ,
2026-03-10 18:24:01 +01:00
"box.adventure.microscopic.desc" : "La taille ne compte pas. Sauf quand si. Zoom !" ,
2026-03-11 18:33:10 +01:00
"box.adventure.darkfantasy" : "Boîte d'aventure dark fantasy" ,
"box.adventure.darkfantasy.desc" : "Les ténèbres t'attendent. Et aussi une boîte. Une boîte sombre." ,
2026-03-10 18:24:01 +01:00
2026-03-11 18:33:10 +01:00
"meta.unlocked" : "NOUVELLE FONCTIONNALITÉ : {0} !" ,
2026-03-10 18:24:01 +01:00
"meta.colors" : "Couleurs de texte" ,
2026-03-11 18:33:10 +01:00
"meta.extended_colors" : "Palette de couleurs étendue" ,
"meta.arrows" : "Navigation avec les flèches" ,
2026-03-10 18:24:01 +01:00
"meta.inventory" : "Panneau d'inventaire" ,
2026-03-14 20:21:18 +01:00
"meta.resources" : "Panneau de caractéristiques" ,
2026-03-10 18:24:01 +01:00
"meta.stats" : "Panneau de statistiques" ,
"meta.portrait" : "Panneau portrait" ,
"meta.chat" : "Panneau de discussion" ,
2026-03-11 18:33:10 +01:00
"meta.layout" : "Mise en page complète" ,
2026-03-10 18:24:01 +01:00
"meta.shortcuts" : "Raccourcis clavier" ,
2026-03-11 18:33:10 +01:00
"meta.animation" : "Animation d'ouverture de boîte" ,
2026-03-10 18:24:01 +01:00
"meta.crafting" : "Panneau de fabrication" ,
2026-03-11 18:33:10 +01:00
"meta.completion" : "Suivi de complétion" ,
2026-03-10 18:24:01 +01:00
"item.rarity.common" : "Commun" ,
"item.rarity.uncommon" : "Peu commun" ,
"item.rarity.rare" : "Rare" ,
2026-03-11 18:33:10 +01:00
"item.rarity.epic" : "Épique" ,
"item.rarity.legendary" : "Légendaire" ,
2026-03-10 18:24:01 +01:00
"item.rarity.mythic" : "Mythique" ,
2026-03-11 18:33:10 +01:00
"resource.health" : "Santé" ,
2026-03-10 18:24:01 +01:00
"resource.mana" : "Mana" ,
"resource.food" : "Nourriture" ,
"resource.stamina" : "Endurance" ,
"resource.blood" : "Sang" ,
"resource.gold" : "Or" ,
2026-03-11 18:33:10 +01:00
"resource.oxygen" : "Oxygène" ,
"resource.energy" : "Énergie" ,
2026-03-10 18:24:01 +01:00
"stat.strength" : "Force" ,
"stat.intelligence" : "Intelligence" ,
"stat.luck" : "Chance" ,
"stat.charisma" : "Charisme" ,
2026-03-11 18:33:10 +01:00
"stat.dexterity" : "Dextérité" ,
2026-03-10 18:24:01 +01:00
"stat.wisdom" : "Sagesse" ,
"cosmetic.hair.none" : "Chauve" ,
"cosmetic.hair.short" : "Cheveux courts" ,
"cosmetic.hair.long" : "Cheveux longs" ,
"cosmetic.hair.ponytail" : "Queue de cheval" ,
"cosmetic.hair.braided" : "Tresses" ,
2026-03-11 18:33:10 +01:00
"cosmetic.hair.cyberpunk" : "Cheveux néon cyberpunk" ,
2026-03-10 18:24:01 +01:00
"cosmetic.hair.fire" : "Cheveux en feu" ,
2026-03-11 18:33:10 +01:00
"cosmetic.hair.stardust" : "Coiffure Poussière d'Étoile légendaire" ,
"cosmetic.eyes.none" : "Pas d'yeux (mystérieux !)" ,
2026-03-10 18:24:01 +01:00
"cosmetic.eyes.blue" : "Yeux bleus" ,
"cosmetic.eyes.green" : "Yeux verts" ,
"cosmetic.eyes.redorange" : "Yeux rouge-orange" ,
"cosmetic.eyes.brown" : "Yeux marron" ,
"cosmetic.eyes.black" : "Yeux noirs" ,
"cosmetic.eyes.sunglasses" : "Lunettes de soleil" ,
"cosmetic.eyes.pilotglasses" : "Lunettes d'aviateur" ,
"cosmetic.eyes.aircraftglasses" : "Lunettes de pilote de chasse" ,
2026-03-11 18:33:10 +01:00
"cosmetic.eyes.cybernetic" : "Yeux cybernétiques" ,
2026-03-10 18:24:01 +01:00
"cosmetic.eyes.magician" : "Lunettes de magicien" ,
"cosmetic.body.naked" : "Torse nu" ,
"cosmetic.body.regulartshirt" : "T-shirt basique" ,
"cosmetic.body.sexytshirt" : "T-shirt sexy" ,
"cosmetic.body.suit" : "Costume" ,
"cosmetic.body.armored" : "Armure" ,
2026-03-11 18:33:10 +01:00
"cosmetic.body.robotic" : "Châssis robotique" ,
2026-03-10 18:24:01 +01:00
"cosmetic.legs.none" : "Flottant (pas de jambes !)" ,
"cosmetic.legs.naked" : "Jambes nues" ,
"cosmetic.legs.slip" : "Slip" ,
"cosmetic.legs.short" : "Short" ,
"cosmetic.legs.panty" : "Culotte" ,
2026-03-11 18:33:10 +01:00
"cosmetic.legs.rocketboots" : "Bottes à réaction" ,
2026-03-10 18:24:01 +01:00
"cosmetic.legs.pegleg" : "Jambe de bois" ,
"cosmetic.legs.tentacles" : "Tentacules" ,
"cosmetic.arms.none" : "Pas de bras (mode T-Rex)" ,
"cosmetic.arms.short" : "Bras courts" ,
"cosmetic.arms.regular" : "Bras normaux" ,
"cosmetic.arms.long" : "Bras longs extensibles" ,
2026-03-11 18:33:10 +01:00
"cosmetic.arms.mechanical" : "Bras mécaniques" ,
2026-03-10 18:24:01 +01:00
"cosmetic.arms.wings" : "Ailes" ,
"cosmetic.arms.extrapair" : "Quatre bras" ,
2026-03-11 18:33:10 +01:00
"cosmetic.gender_error" : "Nouveau genre (ERREUR : les boîtes n'ont pas de genre. La boîte s'excuse pour la confusion.)" ,
2026-03-10 18:24:01 +01:00
"tint.none" : "Naturel" ,
"tint.cyan" : "Cyan" ,
"tint.orange" : "Orange" ,
"tint.purple" : "Violet" ,
"tint.warmpink" : "Rose chaud" ,
"tint.light" : "Clair" ,
"tint.dark" : "Sombre" ,
"tint.rainbow" : "Arc-en-ciel" ,
2026-03-11 18:33:10 +01:00
"tint.neon" : "Néon" ,
2026-03-10 18:24:01 +01:00
"tint.silver" : "Argent" ,
"tint.gold" : "Or" ,
2026-03-11 18:33:10 +01:00
"tint.void" : "Néant" ,
2026-03-10 18:24:01 +01:00
"material.wood" : "Bois" ,
"material.bronze" : "Bronze" ,
"material.iron" : "Fer" ,
"material.steel" : "Acier" ,
"material.titanium" : "Titane" ,
"material.diamond" : "Diamant" ,
"material.carbonfiber" : "Fibre de carbone" ,
"material.form.raw" : "Brut" ,
2026-03-11 18:33:10 +01:00
"material.form.refined" : "Raffiné" ,
2026-03-10 18:24:01 +01:00
"material.form.nail" : "Clou" ,
"material.form.plank" : "Planche" ,
"material.form.ingot" : "Lingot" ,
"material.form.sheet" : "Feuille" ,
"material.form.thread" : "Fil" ,
"material.form.dust" : "Poudre" ,
"material.form.gem" : "Gemme" ,
2026-03-11 18:33:10 +01:00
"item.health_potion_small" : "Petite Potion de Santé" ,
"item.health_potion_medium" : "Potion de Santé Moyenne" ,
"item.health_potion_large" : "Grande Potion de Santé" ,
2026-03-10 18:24:01 +01:00
"item.mana_crystal_small" : "Petit Cristal de Mana" ,
"item.mana_crystal_medium" : "Cristal de Mana Moyen" ,
"item.food_ration" : "Ration alimentaire" ,
"item.stamina_drink" : "Boisson d'endurance" ,
"item.blood_vial" : "Fiole de sang" ,
"item.gold_pouch" : "Bourse d'or" ,
2026-03-11 18:33:10 +01:00
"item.oxygen_tank" : "Réservoir d'oxygène" ,
"item.energy_cell" : "Cellule d'énergie" ,
2026-03-10 18:24:01 +01:00
"item.space.badge" : "Badge d'astronaute" ,
2026-03-11 18:33:10 +01:00
"item.space.phone" : "Numéro de téléphone alien" ,
"item.space.key" : "Clé d'accès au sas" ,
2026-03-10 18:24:01 +01:00
"item.space.map" : "Carte stellaire" ,
2026-03-11 18:33:10 +01:00
"item.space.coordinates" : "Coordonnées mystérieuses" ,
2026-03-10 18:24:01 +01:00
"item.space.helmet" : "Casque spatial" ,
"item.medieval.crest" : "Blason de chevalier" ,
2026-03-11 18:33:10 +01:00
"item.medieval.sword" : "Réplique d'Excalibur" ,
2026-03-10 18:24:01 +01:00
"item.medieval.scroll" : "Parchemin ancien" ,
"item.medieval.seal" : "Sceau royal" ,
2026-03-11 18:33:10 +01:00
"item.medieval.key" : "Clé du donjon" ,
"item.pirate.map" : "Carte au trésor" ,
"item.pirate.compass" : "Boussole enchantée" ,
2026-03-10 18:24:01 +01:00
"item.pirate.feather" : "Plume de perroquet" ,
"item.pirate.rum" : "Bouteille de rhum" ,
"item.pirate.flag" : "Jolly Roger" ,
2026-03-11 18:33:10 +01:00
"item.pirate.key" : "Clé du coffre" ,
2026-03-10 18:24:01 +01:00
"item.contemporary.phone" : "Smartphone" ,
2026-03-11 18:33:10 +01:00
"item.contemporary.card" : "Carte de crédit" ,
"item.contemporary.ticket" : "Ticket de métro" ,
"item.contemporary.usb" : "Clé USB suspecte" ,
"item.contemporary.key" : "Clé d'appartement" ,
2026-03-10 18:24:01 +01:00
"item.contemporary.badge" : "Badge d'entreprise" ,
"item.sentimental.letter" : "Lettre d'amour" ,
2026-03-11 18:33:10 +01:00
"item.sentimental.flower" : "Fleur séchée" ,
2026-03-10 18:24:01 +01:00
"item.sentimental.album" : "Album photo" ,
2026-03-11 18:33:10 +01:00
"item.sentimental.melody" : "Mélodie de boîte à musique" ,
2026-03-10 18:24:01 +01:00
"item.sentimental.teddy" : "Vieil ours en peluche" ,
2026-03-11 18:33:10 +01:00
"item.sentimental.phone" : "Numéro de l'ex" ,
2026-03-10 18:24:01 +01:00
"item.prehistoric.tooth" : "Dent de dinosaure" ,
"item.prehistoric.painting" : "Fragment de peinture rupestre" ,
"item.prehistoric.amber" : "Pierre d'ambre" ,
"item.prehistoric.club" : "Massue en os" ,
"item.prehistoric.fossil" : "Fossile de trilobite" ,
2026-03-11 18:33:10 +01:00
"item.cosmic.shard" : "Éclat de nébuleuse" ,
2026-03-10 18:24:01 +01:00
"item.cosmic.fragment" : "Fragment de trou noir" ,
"item.cosmic.crystal" : "Cristal de quasar" ,
2026-03-11 18:33:10 +01:00
"item.cosmic.dust" : "Poussière cosmique" ,
"item.cosmic.core" : "Cœur d'étoile" ,
"item.microscopic.bacteria" : "Échantillon de bactérie sentiente" ,
2026-03-10 18:24:01 +01:00
"item.microscopic.dna" : "Brin d'ADN luminescent" ,
2026-03-11 18:33:10 +01:00
"item.microscopic.membrane" : "Membrane cellulaire renforcée" ,
2026-03-10 18:24:01 +01:00
"item.microscopic.mitochondria" : "Mitochondrie hyperactive" ,
"item.microscopic.prion" : "Prion amical (probablement)" ,
"item.darkfantasy.ring" : "Anneau maudit" ,
"item.darkfantasy.rune" : "Rune de sang" ,
"item.darkfantasy.cloak" : "Cape d'ombre" ,
2026-03-11 18:33:10 +01:00
"item.darkfantasy.grimoire" : "Grimoire du nécromancien" ,
"item.darkfantasy.gem" : "Gemme d'âme" ,
"item.darkfantasy.key" : "Clé en os" ,
2026-03-10 18:24:01 +01:00
"item.resource_max_up" : "{0} Max +1" ,
"item.resource_up" : "{0} +1" ,
"item.stat_boost" : "{0} +1" ,
2026-03-11 18:33:10 +01:00
"item.resource_max_health" : "Amélioration Capacité Santé" ,
"item.resource_max_mana" : "Amélioration Capacité Mana" ,
"item.resource_max_food" : "Amélioration Capacité Nourriture" ,
"item.resource_max_stamina" : "Amélioration Capacité Endurance" ,
"item.resource_max_gold" : "Amélioration Capacité Or" ,
"item.resource_max_blood" : "Amélioration Capacité Sang" ,
"item.resource_max_oxygen" : "Amélioration Capacité Oxygène" ,
"item.resource_max_energy" : "Amélioration Capacité Énergie" ,
"item.music_melody" : "Mélodie de boîte" ,
Add complete content: recipes, French translations, music/cookie events
- Add 34 crafting recipes (materials, consumables, cosmetics, adventures, boxes)
- Add French translations for all 8 remaining adventures
- Add missing item definitions (resource_max_*, music_melody, cookie_fortune)
- Add MusicPlayedEvent and CookieFortuneEvent for special box types
- Make box_story, box_cookie, box_music reachable from box_of_boxes
- Fix content file copying in csproj (None -> Content)
- Add global.json pinning .NET 10 SDK
- Add graceful Console.Clear() error handling
- Add recipe localization keys (EN/FR)
- Add adventure localization keys (EN/FR)
2026-03-10 18:45:54 +01:00
"item.cookie_fortune" : "Fortune Cookie" ,
2026-03-11 18:33:10 +01:00
"item.mysterious_key" : "Clé mystérieuse" ,
"item.mysterious_key.desc" : "Une clé pour... quelque chose. La boîte sait, mais la boîte ne parle pas." ,
"lore.fragment_1" : "Au commencement, il y avait une boîte. La boîte contenait une autre boîte. Et c'est ainsi que ça a été, et que ça sera." ,
"lore.fragment_2" : "L'Ancien Ordre des Ouvreurs de Boîtes n'a qu'un seul commandement : Tu ouvriras tes boîtes." ,
"lore.fragment_3" : "Certains disent que l'univers lui-même est une boîte, attendant d'être ouverte par quelqu'un d'assez curieux." ,
"lore.fragment_4" : "La première boîte a été ouverte par Farah, qui a trouvé à l'intérieur le concept d'« intérieur »." ,
"lore.fragment_5" : "Malkith a un jour ouvert une boîte contenant le son d'une seule main qui applaudit. Personne ne sait ce que ça veut dire." ,
"lore.fragment_6" : "La légende dit qu'il existe une boîte qui contient toutes les autres boîtes. L'ouvrir causerait un paradoxe. Ou un remboursement." ,
"lore.fragment_7" : "Duncan a essayé de fermer une boîte un jour. Le syndicat des boîtes s'est mis en grève pendant trois semaines." ,
"lore.fragment_8" : "Pierrick a construit une machine à ouvrir des boîtes. Elle s'est ouverte elle-même. Puis elle a ouvert la machine. Puis elle a ouvert le concept d'ouverture." ,
"lore.fragment_9" : "Samuel a écrit le premier manuel d'ouverture de boîtes. Chapitre 1 : Ouvre la boîte. Chapitre 2 : Voir Chapitre 1." ,
"lore.fragment_10" : "La Boîte Noire contient un chat. Ou pas. Jusqu'à ce que tu l'ouvres, elle en contient et n'en contient pas. Le chat est aussi une boîte." ,
2026-03-13 23:30:04 +01:00
"lore.name_1" : "Fragment : Genèse" ,
"lore.name_2" : "Fragment : L'Ordre" ,
"lore.name_3" : "Fragment : L'Univers" ,
"lore.name_4" : "Fragment : Première Ouverture" ,
"lore.name_5" : "Fragment : Le Son" ,
"lore.name_6" : "Fragment : Le Paradoxe" ,
"lore.name_7" : "Fragment : La Grève" ,
"lore.name_8" : "Fragment : La Machine" ,
"lore.name_9" : "Fragment : Le Manuel" ,
"lore.name_10" : "Fragment : Schrödinger" ,
"log.title" : "Journal d'événements" ,
2026-03-11 18:33:10 +01:00
"cookie.1" : "Une boîte dans une boîte reste une boîte." ,
"cookie.2" : "ERREUR : Ce cookie ne contient aucune fortune. Réessayez." ,
"cookie.3" : "Vous ouvrirez beaucoup de boîtes. Cette prédiction a un taux de précision de 100%." ,
"cookie.4" : "Le vrai trésor, c'était les boîtes qu'on a ouvertes en chemin." ,
"cookie.5" : "ATTENTION : Les effets secondaires de l'ouverture de boîtes incluent la joie, la confusion et des bras-tentacules." ,
"cookie.6" : "Demain tu trouveras une boîte. Puis une autre. Puis une autre. Envoyez de l'aide." ,
"cookie.7" : "Ton nombre porte-bonheur est le nombre de boîtes que tu as ouvertes. Donc... beaucoup." ,
"cookie.8" : "Confucius dit : celui qui ouvre boîte trouve boîte. Celui qui n'ouvre pas boîte trouve aussi boîte. Boîte est inévitable." ,
"cookie.9" : "Un voyage de mille boîtes commence par une seule ouverture." ,
"cookie.10" : "Si tu lis ceci, tu as passé trop de temps à ouvrir des boîtes. Je rigole, ça n'existe pas." ,
"cookie.11" : "La boîte donne, et la boîte redonne des boîtes." ,
"cookie.12" : "En Russie soviétique, c'est la boîte qui t'ouvre." ,
"cookie.13" : "Au secours je suis piégé dans une usine à fortune cookies à l'intérieur d'une boîte." ,
"cookie.14" : "Cette fortune a été intentionnellement laissée vide. Je rigole. Ou pas ?" ,
"cookie.15" : "Tu es l'élu. Celui qui ouvre les boîtes. Vraiment une noble vocation." ,
"cookie.16" : "Plot twist : la boîte c'était les amis qu'on s'est faits en chemin." ,
"cookie.17" : "Schrödinger a appelé. Il veut récupérer son concept de boîte." ,
"cookie.18" : "Si tu ouvres une boîte et que personne n'est là pour l'entendre, est-ce que ça fait un loot ?" ,
"cookie.19" : "Aujourd'hui est un bon jour pour ouvrir des boîtes. Demain aussi. Tous les jours, en fait." ,
"cookie.20" : "Ton animal totem est une boîte. Ton pouvoir spécial c'est l'ouverture." ,
2026-03-10 18:24:01 +01:00
"character.farah" : "Farah" ,
"character.malkith" : "Malkith" ,
"character.linu" : "Linu" ,
"character.chenda" : "Chenda" ,
"character.duncan" : "Duncan" ,
"character.sandrea" : "Sandrea" ,
"character.samuel" : "Samuel" ,
"character.pierrick" : "Pierrick" ,
"character.nova" : "Capitaine Nova" ,
"character.aria" : "ARIA" ,
2026-03-11 18:33:10 +01:00
"character.blackbeard" : "Barbe-Noire l'Indéboîtable" ,
"character.mordecai" : "Mordecaï le Sinistre" ,
"character.zephyr" : "Zéphyr" ,
2026-03-10 18:24:01 +01:00
"character.quantum" : "Dr. Quantum" ,
"adventure.start" : "Commencer l'aventure {0}" ,
"adventure.resume" : "Reprendre l'aventure {0}" ,
2026-03-11 18:33:10 +01:00
"adventure.completed" : "Aventure terminée ! Tu es maintenant un aventurier de boîtes certifié." ,
"adventure.item_granted" : "Reçu : {0} x{1}" ,
Add complete content: recipes, French translations, music/cookie events
- Add 34 crafting recipes (materials, consumables, cosmetics, adventures, boxes)
- Add French translations for all 8 remaining adventures
- Add missing item definitions (resource_max_*, music_melody, cookie_fortune)
- Add MusicPlayedEvent and CookieFortuneEvent for special box types
- Make box_story, box_cookie, box_music reachable from box_of_boxes
- Fix content file copying in csproj (None -> Content)
- Add global.json pinning .NET 10 SDK
- Add graceful Console.Clear() error handling
- Add recipe localization keys (EN/FR)
- Add adventure localization keys (EN/FR)
2026-03-10 18:45:54 +01:00
"adventure.item_removed" : "Perdu : {0}" ,
"adventure.resource_added" : "{0} +{1}" ,
2026-03-10 18:24:01 +01:00
2026-03-11 18:33:10 +01:00
"interaction.key_chest" : "La clé rentre ! Le coffre s'ouvre automatiquement !" ,
"interaction.key_no_match" : "Cette clé semble ouvrir quelque chose... mais tu ne l'as pas encore. Peut-être qu'une future boîte le fournira." ,
2026-03-11 22:19:25 +01:00
"interaction.treasure_located" : "La carte et la boussole s'alignent ! Trésor localisé !" ,
"interaction.map_coordinates" : "La carte révèle des coordonnées mystérieuses..." ,
2026-03-11 18:33:10 +01:00
"interaction.craft_available" : "Nouvelle recette disponible à {0} !" ,
2026-03-10 18:24:01 +01:00
"save.saving" : "Sauvegarde en cours..." ,
2026-03-11 18:33:10 +01:00
"save.saved" : "Partie sauvegardée dans l'emplacement '{0}'." ,
2026-03-10 18:24:01 +01:00
"save.loading" : "Chargement..." ,
2026-03-11 18:33:10 +01:00
"save.loaded" : "Partie chargée depuis l'emplacement '{0}'." ,
"save.no_saves" : "Aucune sauvegarde trouvée." ,
2026-03-10 18:24:01 +01:00
"save.choose_slot" : "Choisis un emplacement de sauvegarde :" ,
2026-03-11 18:33:10 +01:00
"error.invalid_input" : "Entrée invalide. Réessaie, brave ouvreur de boîtes." ,
"error.no_boxes" : "Tu n'as aucune boîte à ouvrir. Comment t'as fait ? Ouvre plus de boîtes pour avoir des boîtes." ,
2026-03-10 18:24:01 +01:00
"error.not_enough_resources" : "Pas assez de {0}. Il t'en manque {1}." ,
2026-03-11 18:33:10 +01:00
"misc.boxes_opened" : "Total de boîtes ouvertes : {0}" ,
2026-03-10 18:24:01 +01:00
"misc.play_time" : "Temps de jeu : {0}" ,
2026-03-11 18:33:10 +01:00
"misc.welcome_back" : "Bon retour, {0} ! Tes boîtes se sont ennuyées." ,
2026-03-14 09:33:47 +01:00
"misc.welcome_back_50" : "Bon retour, {0} ! Les boîtes t'attendaient." ,
"misc.welcome_back_200" : "Bon retour, {0} ! Ta réputation te précède. {1} boîtes ouvertes !" ,
"misc.welcome_back_500" : "Bon retour, {0} ! La légende marche parmi nous. {1} boîtes et ça continue..." ,
Add complete content: recipes, French translations, music/cookie events
- Add 34 crafting recipes (materials, consumables, cosmetics, adventures, boxes)
- Add French translations for all 8 remaining adventures
- Add missing item definitions (resource_max_*, music_melody, cookie_fortune)
- Add MusicPlayedEvent and CookieFortuneEvent for special box types
- Make box_story, box_cookie, box_music reachable from box_of_boxes
- Fix content file copying in csproj (None -> Content)
- Add global.json pinning .NET 10 SDK
- Add graceful Console.Clear() error handling
- Add recipe localization keys (EN/FR)
- Add adventure localization keys (EN/FR)
2026-03-10 18:45:54 +01:00
"recipe.refine_wood" : "Raffiner le bois" ,
"recipe.smelt_bronze_ingot" : "Fondre un lingot de bronze" ,
"recipe.smelt_iron_ingot" : "Fondre un lingot de fer" ,
"recipe.smelt_steel_ingot" : "Fondre un lingot d'acier" ,
"recipe.smelt_titanium_ingot" : "Fondre un lingot de titane" ,
"recipe.forge_carbonfiber_sheet" : "Presser une feuille de fibre de carbone" ,
2026-03-11 18:33:10 +01:00
"recipe.brew_health_potion_medium" : "Brasser une potion de santé moyenne" ,
Add complete content: recipes, French translations, music/cookie events
- Add 34 crafting recipes (materials, consumables, cosmetics, adventures, boxes)
- Add French translations for all 8 remaining adventures
- Add missing item definitions (resource_max_*, music_melody, cookie_fortune)
- Add MusicPlayedEvent and CookieFortuneEvent for special box types
- Make box_story, box_cookie, box_music reachable from box_of_boxes
- Fix content file copying in csproj (None -> Content)
- Add global.json pinning .NET 10 SDK
- Add graceful Console.Clear() error handling
- Add recipe localization keys (EN/FR)
- Add adventure localization keys (EN/FR)
2026-03-10 18:45:54 +01:00
"recipe.brew_mana_crystal_medium" : "Raffiner un cristal de mana moyen" ,
2026-03-11 18:33:10 +01:00
"recipe.synthesize_energy_cell" : "Synthétiser une cellule d'énergie" ,
"recipe.pressurize_oxygen_tank" : "Pressuriser un réservoir d'oxygène" ,
Add complete content: recipes, French translations, music/cookie events
- Add 34 crafting recipes (materials, consumables, cosmetics, adventures, boxes)
- Add French translations for all 8 remaining adventures
- Add missing item definitions (resource_max_*, music_melody, cookie_fortune)
- Add MusicPlayedEvent and CookieFortuneEvent for special box types
- Make box_story, box_cookie, box_music reachable from box_of_boxes
- Fix content file copying in csproj (None -> Content)
- Add global.json pinning .NET 10 SDK
- Add graceful Console.Clear() error handling
- Add recipe localization keys (EN/FR)
- Add adventure localization keys (EN/FR)
2026-03-10 18:45:54 +01:00
"recipe.craft_pilot_glasses" : "Fabriquer des lunettes d'aviateur" ,
"recipe.forge_armored_plate" : "Forger une armure" ,
2026-03-11 18:33:10 +01:00
"recipe.engineer_rocket_boots" : "Concevoir des bottes à réaction" ,
Add complete content: recipes, French translations, music/cookie events
- Add 34 crafting recipes (materials, consumables, cosmetics, adventures, boxes)
- Add French translations for all 8 remaining adventures
- Add missing item definitions (resource_max_*, music_melody, cookie_fortune)
- Add MusicPlayedEvent and CookieFortuneEvent for special box types
- Make box_story, box_cookie, box_music reachable from box_of_boxes
- Fix content file copying in csproj (None -> Content)
- Add global.json pinning .NET 10 SDK
- Add graceful Console.Clear() error handling
- Add recipe localization keys (EN/FR)
- Add adventure localization keys (EN/FR)
2026-03-10 18:45:54 +01:00
"recipe.chart_star_navigation" : "Cartographier la navigation stellaire" ,
"recipe.engrave_royal_seal" : "Graver un sceau royal" ,
"recipe.enchant_dark_grimoire" : "Enchanter le grimoire sombre" ,
"recipe.fuse_cosmic_crystal" : "Fusionner un cristal cosmique" ,
2026-03-11 18:33:10 +01:00
"recipe.splice_glowing_dna" : "Épisser de l'ADN luminescent" ,
Add complete content: recipes, French translations, music/cookie events
- Add 34 crafting recipes (materials, consumables, cosmetics, adventures, boxes)
- Add French translations for all 8 remaining adventures
- Add missing item definitions (resource_max_*, music_melody, cookie_fortune)
- Add MusicPlayedEvent and CookieFortuneEvent for special box types
- Make box_story, box_cookie, box_music reachable from box_of_boxes
- Fix content file copying in csproj (None -> Content)
- Add global.json pinning .NET 10 SDK
- Add graceful Console.Clear() error handling
- Add recipe localization keys (EN/FR)
- Add adventure localization keys (EN/FR)
2026-03-10 18:45:54 +01:00
"recipe.preserve_amber" : "Conserver une pierre d'ambre" ,
2026-03-11 18:33:10 +01:00
"recipe.craft_box_ok_tier" : "Fabriquer une boîte ok tiers" ,
"recipe.craft_box_cool" : "Fabriquer une boîte coolos" ,
"recipe.craft_box_supply" : "Fabriquer une boîte de fourniture" ,
"recipe.craft_box_epic" : "Fabriquer une boîte épique" ,
"action.collect_crafting" : "Récupérer les fabrications" ,
"craft.started" : "Fabrication auto : {0} à l'atelier {1}" ,
"craft.completed" : "{0} a terminé la fabrication !" ,
"craft.done" : "Terminé" ,
2026-03-11 17:50:37 +01:00
"craft.panel.title" : "Ateliers" ,
2026-03-11 18:33:10 +01:00
"craft.panel.empty" : "Aucun atelier en activité." ,
2026-03-11 17:50:37 +01:00
"item.blueprint.foundry" : "Plan de Fonderie" ,
2026-03-11 18:33:10 +01:00
"item.blueprint.workbench" : "Plan d'Établi" ,
2026-03-11 17:50:37 +01:00
"item.blueprint.furnace" : "Plan de Fourneau" ,
"item.blueprint.forge" : "Plan de Forge" ,
"item.blueprint.alchemy" : "Plan de Table d'Alchimie" ,
2026-03-11 18:33:10 +01:00
"item.blueprint.engineer" : "Plan de Bureau d'Ingénieur" ,
"item.blueprint.drawing" : "Plan de Table à Dessin" ,
2026-03-11 17:50:37 +01:00
"item.blueprint.engraving" : "Plan de Banc de Gravure" ,
"item.blueprint.pentacle" : "Plan de Pentacle de Transformation" ,
"item.blueprint.printer" : "Plan d'Imprimante 3D" ,
2026-03-11 18:33:10 +01:00
"item.blueprint.synthesizer" : "Plan de Synthétiseur de Matière" ,
"item.blueprint.genetic" : "Plan de Station de Modification Génétique" ,
2026-03-11 17:50:37 +01:00
"item.blueprint.stasis" : "Plan de Chambre de Stase" ,
2026-03-11 18:33:10 +01:00
"box.endgame" : "La Boîte Finale" ,
"box.endgame.desc" : "Tu as trouvé toutes les ressources. C'est la dernière boîte. Es-tu prêt ?" ,
2026-03-11 17:50:37 +01:00
"item.endgame_crown" : "Couronne d'Accomplissement" ,
"item.destiny_token" : "Jeton du Destin" ,
2026-03-11 18:33:10 +01:00
"adventure.secret_branch_found" : "Tu sens un chemin secret se révéler..." ,
"meta.autosave" : "Sauvegarde automatique" ,
Fix adventure parsing, add French accents, fix cosmetic translation bug
- Fix Loreline parsing: escape quotes in dialogue, remove [if] bracket
syntax, remove # in text conflicting with tags
- Add French accents to all 9 .fr.lor translation files (hundreds of fixes)
- Fix cosmetic equip display: use item nameKey lookup instead of
constructing key from cosmeticValue (fixes StardustLegendary MISSING)
- Deduplicate cosmetics in appearance menu
- Localize all hardcoded strings (welcome, inventory, adventure, cosmetic)
- Add new tests: Loreline parsing (19), cosmetic slot keys, slot+value
uniqueness (302 total, 0 failures)
2026-03-11 20:40:07 +01:00
"save.autosaved" : "Partie sauvegardée automatiquement." ,
"cosmetic.slot.hair" : "Cheveux" ,
"cosmetic.slot.eyes" : "Yeux" ,
"cosmetic.slot.body" : "Corps" ,
"cosmetic.slot.legs" : "Jambes" ,
"cosmetic.slot.arms" : "Bras" ,
"cosmetic.equipped" : "{0} équipé : {1}" ,
"cosmetic.no_cosmetics" : "Aucun cosmétique disponible. Ouvre des Boîtes Stylées !" ,
"inventory.empty" : "Ton inventaire est vide. Ouvre plus de boîtes !" ,
"adventure.none_available" : "Aucune aventure disponible. Continue à ouvrir des boîtes !" ,
"adventure.coming_soon" : "L'aventure '{0}' arrive bientôt ! Les boîtes sont encore en cours d'assemblage." ,
"adventure.done" : "Terminée" ,
2026-03-11 20:47:20 +01:00
"adventure.unlocked" : "🎉 Nouvelle aventure débloquée ! Découvre '{0}' dans « Partir à l'aventure » !" ,
2026-03-11 22:19:25 +01:00
"adventure.name.Space" : "Odyssée stellaire" ,
"adventure.name.Medieval" : "Château Carton" ,
"adventure.name.Pirate" : "Crique du Corsaire" ,
"adventure.name.Contemporary" : "Boîte au bureau" ,
"adventure.name.Sentimental" : "La Boîte à nous" ,
"adventure.name.Prehistoric" : "Première Boîte" ,
"adventure.name.Cosmic" : "Effondrement infini" ,
"adventure.name.Microscopic" : "Division cellulaire" ,
"adventure.name.DarkFantasy" : "Terres Cendrées" ,
"adventure.name.Destiny" : "Galerie des Échos" ,
2026-03-13 21:37:09 +01:00
"ui.inventory" : "Inventaire" ,
2026-03-11 22:19:25 +01:00
"stats.boxes_opened" : "Boîtes ouvertes" ,
"stats.title" : "Stats" ,
2026-03-14 20:21:18 +01:00
"resource.title" : "Caractéristiques" ,
2026-03-13 21:37:09 +01:00
"misc.welcome" : "Bienvenue, {0} !" ,
"destiny.epilogue" : "Le couvercle se referme. La boîte se souvient." ,
"destiny.continue" : "Continuer à ouvrir des boîtes (jeu libre)" ,
"destiny.quit" : "Refermer la boîte pour de bon" ,
2026-03-13 23:30:04 +01:00
"destiny.thanks" : "Merci d'avoir joué à Open The Box." ,
"inventory.controls" : "↑↓ Naviguer | Entrée : Sélectionner | Échap/Q : Retour" ,
"inventory.controls_use" : "↑↓ Naviguer | Entrée : Utiliser | Échap/Q : Retour" ,
"inventory.controls_lore" : "↑↓ Naviguer | Entrée : Lire | Échap/Q : Retour" ,
"inventory.details" : "Détails" ,
"inventory.effect" : "Effet" ,
"inventory.press_enter_use" : "Appuyer sur Entrée pour utiliser" ,
"inventory.item_used" : "{0} utilisé !" ,
2026-03-13 23:47:12 +01:00
"inventory.item_used_qty" : "{0} utilisé ! ({1} restant)" ,
2026-03-13 23:36:50 +01:00
"inventory.cosmetic_slot" : "Emplacement" ,
"inventory.lore_progress" : "Collectés" ,
2026-03-13 23:47:12 +01:00
"inventory.adventure" : "Aventure" ,
"inventory.col.name" : "Nom" ,
"inventory.col.rarity" : "Rareté" ,
"inventory.col.qty" : "Qté" ,
2026-03-13 23:36:50 +01:00
"rarity.common" : "Commun" ,
"rarity.uncommon" : "Peu commun" ,
"rarity.rare" : "Rare" ,
"rarity.epic" : "Épique" ,
"rarity.legendary" : "Légendaire" ,
2026-03-13 23:42:51 +01:00
"rarity.mythic" : "Mythique" ,
"meta.colors.desc" : "Débloque les couleurs de texte dans le terminal." ,
"meta.extended_colors.desc" : "Plus de couleurs ! Plus de variété !" ,
"meta.arrows.desc" : "Navigue dans les menus avec les flèches au lieu de taper des chiffres." ,
"meta.inventory.desc" : "Affiche un panneau listant tous tes objets." ,
2026-03-14 20:21:18 +01:00
"meta.resources.desc" : "Affiche les caractéristiques de ton personnage (santé, mana, etc.)." ,
"meta.stats.desc" : "Affiche ta progression et les attributs de ton personnage." ,
2026-03-13 23:42:51 +01:00
"meta.portrait.desc" : "Affiche l'apparence visuelle de ton personnage." ,
"meta.chat.desc" : "Affiche un journal des événements récents." ,
"meta.layout.desc" : "Organise tous les panneaux en tableau de bord complet." ,
"meta.shortcuts.desc" : "Active les raccourcis clavier pour des actions rapides." ,
"meta.animation.desc" : "Ajoute des animations d'ouverture de boîtes." ,
"meta.crafting.desc" : "Affiche le panneau d'artisanat et les travaux en cours." ,
"meta.autosave.desc" : "Ta partie se sauvegarde automatiquement. Plus de progression perdue !" ,
"meta.completion.desc" : "Suit ton pourcentage de complétion du jeu." ,
"material.form.raw" : "Brut" ,
"material.form.refined" : "Raffiné" ,
"material.form.nail" : "Clou" ,
"material.form.plank" : "Planche" ,
"material.form.ingot" : "Lingot" ,
"material.form.sheet" : "Feuille" ,
"material.form.thread" : "Fil" ,
"material.form.dust" : "Poudre" ,
2026-03-14 09:33:47 +01:00
"material.form.gem" : "Gemme" ,
2026-03-14 20:21:18 +01:00
"resource.empty_hint" : "Les caractéristiques apparaîtront au fil de tes découvertes..." ,
2026-03-14 09:33:47 +01:00
"inventory.box_teaser" : "Quels mystères se cachent à l'intérieur ?" ,
"inventory.cookie_teaser" : "Ouvre-le pour une sagesse..." ,
"stats.items_discovered" : "Objets découverts" ,
"stats.play_time" : "Temps de jeu" ,
"panel.locked.stats" : "Ouvre plus de boîtes pour débloquer..." ,
"panel.locked.resources" : "Des découvertes t'attendent..." ,
2026-03-14 09:40:49 +01:00
"panel.locked.inventory" : "Ta collection grandit..." ,
"inventory.equipped" : "Équipé" ,
"inventory.not_equipped" : "Non équipé" ,
"inventory.crafting_hint" : "Utilisé en artisanat" ,
2026-03-14 22:25:20 +01:00
"inventory.recipes_available" : "Recettes" ,
"inventory.material_desc" : "Matériau de fabrication — {0}" ,
"category.box" : "Boîtes" ,
"category.key" : "Clés" ,
"category.consumable" : "Consommables" ,
"category.lorefragment" : "Fragments de Lore" ,
"category.cosmetic" : "Cosmétiques" ,
"category.material" : "Matériaux" ,
"category.meta" : "Améliorations" ,
"category.adventuretoken" : "Aventure" ,
"category.cookie" : "Cookies" ,
"category.music" : "Musique" ,
"category.crafteditem" : "Objets fabriqués" ,
"category.workstationblueprint" : "Plans" ,
"category.badge" : "Badges" ,
"category.map" : "Cartes" ,
"category.storyitem" : "Objets d'histoire" ,
"category.questitem" : "Objets de quête"
2026-03-10 18:24:01 +01:00
}