feat: New features (research, invest, gambling, new game+, trophies)

This commit is contained in:
gauvainboiche
2026-10-08 14:03:00 +02:00
parent 1caa4d92b9
commit fc0d5e3ba4
56 changed files with 4332 additions and 249 deletions
+221 -3
View File
@@ -35,7 +35,8 @@
"hintDemandOnly": "At this price customers want {demand}/s.",
"marketShort": "Demand outpaces your output: you are selling too cheap.",
"marketLong": "You make more than customers want: stock piles up. Try a lower price.",
"marketBalanced": "Supply and demand are about even."
"marketBalanced": "Supply and demand are about even.",
"menu": "Menu"
},
"effect": {
"click_mult": "Manual work ×{value}",
@@ -46,7 +47,17 @@
"material_efficiency": "{@theme.res.material} goes ×{value} further",
"batch_discount": "{@theme.res.material} is {percent}% cheaper",
"auto_buy_material": "Restocks {@theme.res.material} automatically",
"batch_size_mult": "{@theme.res.material}: ×{value} per purchase"
"batch_size_mult": "{@theme.res.material}: ×{value} per purchase",
"dividend_mult": "Investment dividends ×{value}",
"reliability_add": "Gamble reliability +{percent}%",
"offline_add": "Offline efficiency +{percent}%",
"contract_mult": "Contract rewards ×{value}",
"rp_mult": "{@theme.res.research} ×{value}",
"generator_cost_mult": "Automation costs {percent}% less",
"start_funds": "Each run starts with {funds}",
"price_advisor": "Reveals the balanced price",
"material_price_mult": "{@theme.res.material} price ×{value}",
"legacy_gain_mult": "{@theme.res.legacy} gains ×{value}"
},
"time": {
"seconds": "{value} s",
@@ -76,7 +87,14 @@
"imported": "Save imported.",
"copied": "Copied to the clipboard.",
"copyFailed": "Could not copy. Select the text and copy it manually.",
"reset": "Progress reset."
"reset": "Progress reset.",
"tabUnlocked": "New section unlocked: {name}",
"contractDone": "Contract complete! {reward}",
"contractFailed": "Contract failed: time ran out.",
"eventOpportunity": "Opportunity: {title}! Seize it in the Contracts tab.",
"eventIncident": "Incident: {title}",
"achievement": "Achievement: {title}",
"restarted": "A new run begins! +{gain} {@theme.res.legacy}"
},
"error": {
"import": {
@@ -84,5 +102,205 @@
"invalid": "This is not a valid save.",
"wrong_game": "This file is not an Idle Clicker save."
}
},
"tab": {
"main": "Production",
"contracts": "Contracts",
"invest": "Investments",
"research": "Research",
"legacy": "Legacy",
"achievements": "Achievements"
},
"invest": {
"intro": "Prices change every {seconds} s and drift back towards their fair value. Holdings pay a dividend each time. Every trade costs a {fee}% fee.",
"tier": {
"low": "Low risk",
"mid": "Medium risk",
"high": "High risk"
},
"tierInfo": "Moves up to ±{swing}% per update · {dividend}% dividend",
"portfolio": "Portfolio value",
"invested": "Invested",
"profit": "Profit",
"amountLabel": "Amount per trade (share of your funds when buying, of the holding when selling)",
"amount": "Amount per trade",
"nextUpdate": "Next price update in {seconds} s",
"buy": "Buy",
"sell": "Sell",
"priceLine": "Price {price} ({gap} vs fair value)",
"heldLine": "Held: {value} ({profit})",
"heldNone": "Nothing held"
},
"gamble": {
"intro": "{@theme.res.chips} are hard to buy and harder to keep. Stake some on a cycle: win and the stake doubles, hit a jackpot and it multiplies, lose and it is gone, crash and you lose even more. They also boost demand.",
"bonus": "Demand ×{bonus}",
"buyChip": "Buy one · {cost}",
"reliability": "Improve reliability ({level}/{max}) · {cost}",
"reliabilityMax": "Reliability at maximum ({level})",
"play": "Play",
"stake": "Stake",
"stakeOne": "1",
"stakePercent": "{percent}%",
"stakeAll": "All",
"odds": "Win {win}% · Jackpot ×{multiplier} {jackpot}% · Crash {crash}% · Lose {lose}%",
"cooldown": "Recharging… {seconds} s",
"log": "Last results",
"logEmpty": "No cycle played yet.",
"result": {
"win": "Win! +{amount} {@theme.res.chips}",
"jackpot": "JACKPOT! +{amount} {@theme.res.chips}",
"lose": "Lost {amount} {@theme.res.chips}",
"crash": "CRASH! Lost {amount} {@theme.res.chips}"
}
},
"research": {
"intro": "Labs produce research slowly, even while you are away. Spend it on permanent upgrades; research survives a legacy restart.",
"rate": "{rate}/s",
"labs": "Labs: {count} · {perLab}/s each",
"buyLab": "Build a lab · {cost}",
"labMax": "Labs at maximum",
"cost": "{cost}",
"owned": "Researched",
"requires": "Requires: {names}",
"branch": {
"prod": "Production",
"mkt": "Market",
"log": "Logistics",
"fin": "Finance",
"ins": "Insight"
},
"node": {
"r_prod_1": "Optimised Workflows",
"r_prod_2": "Automation Suite",
"r_prod_3": "Total Integration",
"r_mkt_1": "Market Analysis",
"r_mkt_2": "Brand Strategy",
"r_mkt_3": "Premium Positioning",
"r_log_1": "Resource Efficiency",
"r_log_2": "Bulk Procurement",
"r_log_3": "Lean Manufacturing",
"r_fin_1": "Portfolio Management",
"r_fin_2": "Risk Modelling",
"r_fin_3": "Negotiation Training",
"r_ins_1": "Research Methods",
"r_ins_2": "Remote Operations",
"r_ins_3": "Price Oracle"
}
},
"contracts": {
"events": "Opportunities",
"eventNone": "Nothing right now. Opportunities show up from time to time: be quick.",
"claim": "Seize it!",
"timeLeft": "{time} left",
"effects": "Active effects",
"buff": {
"demand": "Demand ×{value}",
"production": "Production ×{value}",
"material": "{@theme.res.material} price ×{value}"
},
"active": "Contract",
"activeNone": "No contract in progress. Accept an offer below.",
"abandon": "Abandon",
"progress": "{done} / {target} sold · {time} left",
"board": "Offers",
"boardInfo": "A new offer appears every {seconds} s; the oldest one expires. Sell the target amount in time to earn the reward.",
"offersNone": "No offers yet.",
"accept": "Accept",
"template": {
"sprint": "Sprint",
"steady": "Steady order",
"marathon": "Marathon"
},
"goal": "Sell {target} {@theme.res.units} within {duration}",
"reward": {
"funds": "Reward: {amount}",
"research": "Reward: {amount} {@theme.res.research}",
"chips": "Reward: {amount} {@theme.res.chips}",
"boost": "Reward: production ×{value} for {duration}"
}
},
"event": {
"surge": {
"title": "Demand surge",
"text": "Customers flock to you: demand ×{value} for {seconds} s."
},
"rush": {
"title": "Production rush",
"text": "Everyone works overtime: production ×{value} for {seconds} s."
},
"windfall": {
"title": "Windfall",
"text": "An unexpected buyer pays a lot, right now."
},
"crash": {
"title": "Supply crash",
"text": "{@theme.res.material} costs ×{value} for {seconds} s."
}
},
"legacy": {
"intro": "Start over for permanent {@theme.res.legacy}. Every point also gives +{passive}% production and demand, forever. You keep research, perks, achievements and statistics.",
"earned": "Earned in total",
"restarts": "Restarts",
"passive": "Passive bonus",
"passiveValue": "×{bonus}",
"restartTitle": "Start a new run",
"gain": "Restarting now earns {gain} {@theme.res.legacy}.",
"need": "Reach {need} {@theme.res.units} in this run ({have} so far).",
"ready": "You can restart now. The bigger the run, the bigger the reward.",
"restart": "Restart",
"confirm": "Start a new run? You keep research, legacy, achievements and statistics. You lose this run's production, funds, upgrades, investments and chips.",
"perks": "Perks",
"perk": {
"lg_prod": "Industrial Memory",
"lg_demand": "Brand Heritage",
"lg_cost": "Lean Blueprints",
"lg_start": "Head Start",
"lg_offline": "Night Shift",
"lg_rp": "Research Archive"
},
"level": "{level}/{max}",
"perkCost": "{cost} {@theme.res.legacy}",
"maxed": "Maxed"
},
"ach": {
"summary": "{done} / {total} achieved · bonus ×{bonus}",
"done": "Achieved",
"cond": {
"lifetimeProduced": "Produce {value} {@theme.res.units} in total",
"generatorsOwned": "Own {value} automation units",
"upgradesOwned": "Buy {value} upgrades",
"investProfit": "Make {value} profit from investments",
"gambleWins": "Win {value} gamble cycles",
"chips": "Hold {value} {@theme.res.chips}",
"contractsDone": "Complete {value} contracts",
"researchOwned": "Complete {value} research",
"prestiges": "Restart {value} times",
"eventsClaimed": "Seize {value} opportunities"
},
"title": {
"a_prod_1": "First Steps",
"a_prod_2": "Getting Serious",
"a_prod_3": "Industrial Scale",
"a_prod_4": "Beyond Imagination",
"a_prod_5": "Cosmic Output",
"a_gen_1": "Small Team",
"a_gen_2": "Big Operation",
"a_gen_3": "Endless Workforce",
"a_upg_1": "Tinkerer",
"a_upg_2": "Perfectionist",
"a_inv_1": "Pocket Money",
"a_inv_2": "Smart Money",
"a_inv_3": "Tycoon",
"a_gam_1": "Beginner's Luck",
"a_gam_2": "High Roller",
"a_gam_3": "Chip Collector",
"a_con_1": "Deal Maker",
"a_con_2": "Reliable Partner",
"a_res_1": "Curious Mind",
"a_res_2": "Master Scientist",
"a_leg_1": "Fresh Start",
"a_leg_2": "Eternal Return",
"a_evt_1": "Quick Hands"
}
}
}
+221 -3
View File
@@ -35,7 +35,8 @@
"hintDemandOnly": "À ce prix, les clients veulent {demand}/s.",
"marketShort": "La demande dépasse votre production : vous vendez trop bon marché.",
"marketLong": "Vous produisez plus que la demande : le stock s'accumule. Essayez un prix plus bas.",
"marketBalanced": "L'offre et la demande sont à peu près égales."
"marketBalanced": "L'offre et la demande sont à peu près égales.",
"menu": "Menu"
},
"effect": {
"click_mult": "Travail manuel ×{value}",
@@ -46,7 +47,17 @@
"material_efficiency": "{@theme.res.material} : rendement ×{value}",
"batch_discount": "{@theme.res.material} : {percent} % moins cher",
"auto_buy_material": "Réapprovisionnement automatique : {@theme.res.material}",
"batch_size_mult": "{@theme.res.material} : ×{value} par achat"
"batch_size_mult": "{@theme.res.material} : ×{value} par achat",
"dividend_mult": "Dividendes des investissements ×{value}",
"reliability_add": "Fiabilité du jeu de hasard +{percent} %",
"offline_add": "Efficacité hors ligne +{percent} %",
"contract_mult": "Récompenses de contrats ×{value}",
"rp_mult": "{@theme.res.research} ×{value}",
"generator_cost_mult": "Automatisation {percent} % moins chère",
"start_funds": "Chaque partie démarre avec {funds}",
"price_advisor": "Révèle le prix d'équilibre",
"material_price_mult": "Prix : {@theme.res.material} ×{value}",
"legacy_gain_mult": "{@theme.res.legacy} gagnés ×{value}"
},
"time": {
"seconds": "{value} s",
@@ -76,7 +87,14 @@
"imported": "Sauvegarde importée.",
"copied": "Copié dans le presse-papiers.",
"copyFailed": "Copie impossible. Sélectionnez le texte et copiez-le manuellement.",
"reset": "Progression réinitialisée."
"reset": "Progression réinitialisée.",
"tabUnlocked": "Nouvelle section débloquée : {name}",
"contractDone": "Contrat terminé ! {reward}",
"contractFailed": "Contrat échoué : le temps est écoulé.",
"eventOpportunity": "Opportunité : {title} ! Saisissez-la dans l'onglet Contrats.",
"eventIncident": "Incident : {title}",
"achievement": "Succès : {title}",
"restarted": "Une nouvelle partie commence ! +{gain} ({@theme.res.legacy})"
},
"error": {
"import": {
@@ -84,5 +102,205 @@
"invalid": "Ceci n'est pas une sauvegarde valide.",
"wrong_game": "Ce fichier n'est pas une sauvegarde d'Idle Clicker."
}
},
"tab": {
"main": "Production",
"contracts": "Contrats",
"invest": "Investissements",
"research": "Recherche",
"legacy": "Héritage",
"achievements": "Succès"
},
"invest": {
"intro": "Les prix changent toutes les {seconds} s et reviennent peu à peu vers leur valeur juste. Les titres détenus versent un dividende à chaque fois. Chaque transaction coûte {fee} % de frais.",
"tier": {
"low": "Risque faible",
"mid": "Risque moyen",
"high": "Risque élevé"
},
"tierInfo": "Varie jusqu'à ±{swing} % par mise à jour · {dividend} % de dividende",
"portfolio": "Valeur du portefeuille",
"invested": "Investi",
"profit": "Profit",
"amountLabel": "Montant par transaction (part de vos fonds à l'achat, du titre détenu à la vente)",
"amount": "Montant par transaction",
"nextUpdate": "Prochaine mise à jour des prix dans {seconds} s",
"buy": "Acheter",
"sell": "Vendre",
"priceLine": "Prix {price} ({gap} par rapport à la valeur juste)",
"heldLine": "Détenu : {value} ({profit})",
"heldNone": "Rien de détenu"
},
"gamble": {
"intro": "{@theme.res.chips} : difficiles à acheter, plus difficiles encore à garder. Misez-en sur un cycle : gagnez et la mise double, tirez le jackpot et elle se multiplie, perdez et elle disparaît, plantez-vous et vous perdez encore plus. Ils augmentent aussi la demande.",
"bonus": "Demande ×{bonus}",
"buyChip": "En acheter un · {cost}",
"reliability": "Améliorer la fiabilité ({level}/{max}) · {cost}",
"reliabilityMax": "Fiabilité au maximum ({level})",
"play": "Jouer",
"stake": "Mise",
"stakeOne": "1",
"stakePercent": "{percent} %",
"stakeAll": "Tout",
"odds": "Gain {win} % · Jackpot ×{multiplier} {jackpot} % · Crash {crash} % · Perte {lose} %",
"cooldown": "Recharge… {seconds} s",
"log": "Derniers résultats",
"logEmpty": "Aucun cycle joué pour l'instant.",
"result": {
"win": "Gagné ! +{amount} {@theme.res.chips}",
"jackpot": "JACKPOT ! +{amount} {@theme.res.chips}",
"lose": "Perdu : {amount} {@theme.res.chips}",
"crash": "CRASH ! Perdu : {amount} {@theme.res.chips}"
}
},
"research": {
"intro": "Les laboratoires produisent de la recherche lentement, même en votre absence. Dépensez-la en améliorations permanentes ; la recherche survit à un redémarrage d'héritage.",
"rate": "{rate}/s",
"labs": "Laboratoires : {count} · {perLab}/s chacun",
"buyLab": "Construire un laboratoire · {cost}",
"labMax": "Laboratoires au maximum",
"cost": "{cost}",
"owned": "Recherché",
"requires": "Nécessite : {names}",
"branch": {
"prod": "Production",
"mkt": "Marché",
"log": "Logistique",
"fin": "Finance",
"ins": "Intuition"
},
"node": {
"r_prod_1": "Flux optimisés",
"r_prod_2": "Suite d'automatisation",
"r_prod_3": "Intégration totale",
"r_mkt_1": "Étude de marché",
"r_mkt_2": "Stratégie de marque",
"r_mkt_3": "Positionnement premium",
"r_log_1": "Efficacité des ressources",
"r_log_2": "Achats groupés",
"r_log_3": "Production allégée",
"r_fin_1": "Gestion de portefeuille",
"r_fin_2": "Modélisation du risque",
"r_fin_3": "Formation à la négociation",
"r_ins_1": "Méthodes de recherche",
"r_ins_2": "Opérations à distance",
"r_ins_3": "Oracle des prix"
}
},
"contracts": {
"events": "Opportunités",
"eventNone": "Rien pour l'instant. Des opportunités apparaissent de temps en temps : soyez rapide.",
"claim": "Saisir !",
"timeLeft": "Reste {time}",
"effects": "Effets actifs",
"buff": {
"demand": "Demande ×{value}",
"production": "Production ×{value}",
"material": "Prix : {@theme.res.material} ×{value}"
},
"active": "Contrat",
"activeNone": "Aucun contrat en cours. Acceptez une offre ci-dessous.",
"abandon": "Abandonner",
"progress": "{done} / {target} vendus · reste {time}",
"board": "Offres",
"boardInfo": "Une nouvelle offre apparaît toutes les {seconds} s ; la plus ancienne expire. Vendez la quantité demandée à temps pour toucher la récompense.",
"offersNone": "Aucune offre pour l'instant.",
"accept": "Accepter",
"template": {
"sprint": "Sprint",
"steady": "Commande régulière",
"marathon": "Marathon"
},
"goal": "Vendre {target} ({@theme.res.units}) en {duration}",
"reward": {
"funds": "Récompense : {amount}",
"research": "Récompense : {amount} ({@theme.res.research})",
"chips": "Récompense : {amount} ({@theme.res.chips})",
"boost": "Récompense : production ×{value} pendant {duration}"
}
},
"event": {
"surge": {
"title": "Pic de demande",
"text": "Les clients affluent : demande ×{value} pendant {seconds} s."
},
"rush": {
"title": "Coup de collier",
"text": "Tout le monde fait des heures sup : production ×{value} pendant {seconds} s."
},
"windfall": {
"title": "Aubaine",
"text": "Un acheteur inattendu paie très cher, tout de suite."
},
"crash": {
"title": "Crise d'approvisionnement",
"text": "Prix : {@theme.res.material} ×{value} pendant {seconds} s."
}
},
"legacy": {
"intro": "Recommencez de zéro pour obtenir des {@theme.res.legacy} permanents. Chaque point donne aussi +{passive} % de production et de demande, pour toujours. Vous gardez la recherche, les avantages, les succès et les statistiques.",
"earned": "Gagnés au total",
"restarts": "Redémarrages",
"passive": "Bonus passif",
"passiveValue": "×{bonus}",
"restartTitle": "Lancer une nouvelle partie",
"gain": "Redémarrer maintenant rapporte {gain} ({@theme.res.legacy}).",
"need": "Atteignez {need} ({@theme.res.units}) dans cette partie ({have} pour l'instant).",
"ready": "Vous pouvez redémarrer. Plus la partie est grosse, plus la récompense l'est.",
"restart": "Redémarrer",
"confirm": "Lancer une nouvelle partie ? Vous gardez la recherche, l'héritage, les succès et les statistiques. Vous perdez la production, les fonds, les améliorations, les investissements et les jetons de cette partie.",
"perks": "Avantages",
"perk": {
"lg_prod": "Mémoire industrielle",
"lg_demand": "Héritage de marque",
"lg_cost": "Plans optimisés",
"lg_start": "Départ lancé",
"lg_offline": "Équipe de nuit",
"lg_rp": "Archives de recherche"
},
"level": "{level}/{max}",
"perkCost": "{cost} ({@theme.res.legacy})",
"maxed": "Au maximum"
},
"ach": {
"summary": "{done} / {total} obtenus · bonus ×{bonus}",
"done": "Obtenu",
"cond": {
"lifetimeProduced": "Produire {value} ({@theme.res.units}) au total",
"generatorsOwned": "Posséder {value} unités d'automatisation",
"upgradesOwned": "Acheter {value} améliorations",
"investProfit": "Gagner {value} de profit en investissant",
"gambleWins": "Gagner {value} cycles de jeu",
"chips": "Détenir {value} ({@theme.res.chips})",
"contractsDone": "Terminer {value} contrats",
"researchOwned": "Terminer {value} recherches",
"prestiges": "Redémarrer {value} fois",
"eventsClaimed": "Saisir {value} opportunités"
},
"title": {
"a_prod_1": "Premiers pas",
"a_prod_2": "On se met au sérieux",
"a_prod_3": "Échelle industrielle",
"a_prod_4": "Au-delà de l'imaginable",
"a_prod_5": "Production cosmique",
"a_gen_1": "Petite équipe",
"a_gen_2": "Grosse opération",
"a_gen_3": "Main-d'œuvre infinie",
"a_upg_1": "Bricoleur",
"a_upg_2": "Perfectionniste",
"a_inv_1": "Argent de poche",
"a_inv_2": "Placements malins",
"a_inv_3": "Magnat",
"a_gam_1": "Chance du débutant",
"a_gam_2": "Flambeur",
"a_gam_3": "Collectionneur de jetons",
"a_con_1": "Sens des affaires",
"a_con_2": "Partenaire fiable",
"a_res_1": "Esprit curieux",
"a_res_2": "Maître savant",
"a_leg_1": "Nouveau départ",
"a_leg_2": "Éternel recommencement",
"a_evt_1": "Bons réflexes"
}
}
}