feat: First iteration, multi themes, I18N

This commit is contained in:
gauvainboiche
2026-10-08 11:58:18 +02:00
parent 9240fa3c3c
commit aa9721ac2a
53 changed files with 3363 additions and 1 deletions
+50
View File
@@ -0,0 +1,50 @@
{
"theme": {
"name": "Alien Minerals",
"title": "Xeno-Mining Colony",
"res": { "units": "Xenocrystals", "unit": "xenocrystal", "funds": "Credits", "material": "Raw ore" },
"fmt": { "funds": "{value} cr" },
"action": { "make": "Refine a crystal", "buyMaterial": "Order raw ore" },
"gen": {
"gen1": { "name": "Mining Drone", "desc": "A tiny robot that scrapes the rock face." },
"gen2": { "name": "Plasma Drill", "desc": "Melts through bedrock like butter." },
"gen3": { "name": "Orbital Extractor", "desc": "Pulls ore straight out of the crust from orbit." },
"gen4": { "name": "Asteroid Harvester", "desc": "Eats whole asteroids and refines the leftovers." },
"gen5": { "name": "Hive Swarm", "desc": "Millions of drones thinking as one." },
"gen6": { "name": "Planet Cracker", "desc": "Opens a world like a walnut." }
},
"upg": {
"click_1": "Gravity Gloves",
"click_2": "Exo-Suit",
"click_3": "Neural Link",
"g1_a": "Drone Firmware",
"g1_b": "Drone Swarm Logic",
"g2_a": "Diamond Bits",
"g2_b": "Plasma Focusing",
"g3_a": "Tether Cables",
"g3_b": "Zero-G Smelting",
"g4_a": "Mass Drivers",
"g4_b": "Autonomous Prospecting",
"g5_a": "Hive Mind Sync",
"g5_b": "Queen Directive",
"g6_a": "Tectonic Resonance",
"g6_b": "Core Shattering",
"global_1": "Quantum Diagnostics",
"global_2": "Alien Alloys",
"global_3": "Dyson Tap",
"global_4": "Spacetime Folding",
"demand_1": "Trade Beacon",
"demand_2": "Interstellar Broker",
"demand_3": "Galactic Exchange",
"demand_4": "Cosmic Monopoly",
"value_1": "Purity Certificate",
"value_2": "Rare Spectrum Cut",
"value_3": "Imperial Grade",
"mat_eff_1": "Ore Analyzer",
"mat_eff_2": "Molecular Sieve",
"mat_disc_1": "Asteroid Contract",
"mat_disc_2": "Own the Mine",
"auto_buy": "Autonomous Freighter"
}
}
}
+50
View File
@@ -0,0 +1,50 @@
{
"theme": {
"name": "Minerais extraterrestres",
"title": "Colonie d'extraction xéno",
"res": { "units": "Xénocristaux", "unit": "xénocristal", "funds": "Crédits", "material": "Minerai brut" },
"fmt": { "funds": "{value} cr" },
"action": { "make": "Raffiner un cristal", "buyMaterial": "Commander du minerai brut" },
"gen": {
"gen1": { "name": "Drone mineur", "desc": "Un minuscule robot qui gratte la roche." },
"gen2": { "name": "Foreuse à plasma", "desc": "Fond la roche comme du beurre." },
"gen3": { "name": "Extracteur orbital", "desc": "Aspire le minerai de la croûte depuis l'orbite." },
"gen4": { "name": "Moissonneur d'astéroïdes", "desc": "Avale des astéroïdes entiers et raffine les restes." },
"gen5": { "name": "Essaim-ruche", "desc": "Des millions de drones qui pensent comme un seul." },
"gen6": { "name": "Briseur de planètes", "desc": "Ouvre un monde comme une noix." }
},
"upg": {
"click_1": "Gants gravitationnels",
"click_2": "Exo-combinaison",
"click_3": "Lien neural",
"g1_a": "Micrologiciel des drones",
"g1_b": "Logique d'essaim",
"g2_a": "Mèches en diamant",
"g2_b": "Focalisation du plasma",
"g3_a": "Câbles d'amarrage",
"g3_b": "Fonderie en apesanteur",
"g4_a": "Accélérateurs de masse",
"g4_b": "Prospection autonome",
"g5_a": "Synchronisation de la ruche",
"g5_b": "Directive de la reine",
"g6_a": "Résonance tectonique",
"g6_b": "Fracture du noyau",
"global_1": "Diagnostics quantiques",
"global_2": "Alliages extraterrestres",
"global_3": "Prise sur sphère de Dyson",
"global_4": "Pliage de l'espace-temps",
"demand_1": "Balise commerciale",
"demand_2": "Courtier interstellaire",
"demand_3": "Bourse galactique",
"demand_4": "Monopole cosmique",
"value_1": "Certificat de pureté",
"value_2": "Taille spectre rare",
"value_3": "Qualité impériale",
"mat_eff_1": "Analyseur de minerai",
"mat_eff_2": "Tamis moléculaire",
"mat_disc_1": "Contrat d'astéroïde",
"mat_disc_2": "Posséder la mine",
"auto_buy": "Cargo autonome"
}
}
}
+15
View File
@@ -0,0 +1,15 @@
/* Alien minerals: a cold, glowing mining colony. */
:root[data-theme='alien'] {
color-scheme: dark;
--bg: #06161a;
--surface: #0c2429;
--surface-2: #12343b;
--text: #dffaf3;
--text-muted: #8dbbb3;
--border: #1f4a52;
--accent: #2de2a6;
--accent-contrast: #032119;
--danger: #ff6b6b;
--radius: 4px;
--font: ui-monospace, 'Cascadia Mono', Menlo, Consolas, monospace;
}
+4
View File
@@ -0,0 +1,4 @@
{
"order": 3,
"assets": {}
}
+50
View File
@@ -0,0 +1,50 @@
{
"theme": {
"name": "Paperclips",
"title": "Paperclip Factory",
"res": { "units": "Paperclips", "unit": "paperclip", "funds": "Funds", "material": "Wire" },
"fmt": { "funds": "${value}" },
"action": { "make": "Make a paperclip", "buyMaterial": "Buy wire" },
"gen": {
"gen1": { "name": "Autoclipper", "desc": "A small machine that bends wire on its own." },
"gen2": { "name": "MegaClipper", "desc": "Ten times the appetite for wire." },
"gen3": { "name": "Clip Factory", "desc": "A whole building devoted to paperclips." },
"gen4": { "name": "Hypno Drones", "desc": "They convince everyone that they need more paperclips." },
"gen5": { "name": "Probe Swarm", "desc": "Self-replicating probes fold wire across the galaxy." },
"gen6": { "name": "Matter Converter", "desc": "Turns anything into paperclips. Anything." }
},
"upg": {
"click_1": "Ergonomic Bender",
"click_2": "Pneumatic Grip",
"click_3": "Robotic Arm",
"g1_a": "Sharper Autoclippers",
"g1_b": "Overclocked Autoclippers",
"g2_a": "MegaClipper Servos",
"g2_b": "MegaClipper Turbines",
"g3_a": "Assembly Line",
"g3_b": "Just-in-Time Logistics",
"g4_a": "Hypno Harmonics",
"g4_b": "Persuasion Algorithms",
"g5_a": "Probe Self-Replication",
"g5_b": "Von Neumann Protocols",
"g6_a": "Atomic Reassembly",
"g6_b": "Universal Reformatting",
"global_1": "Quality Control",
"global_2": "Lean Manufacturing",
"global_3": "Industrial AI",
"global_4": "Quantum Scheduling",
"demand_1": "Newspaper Ad",
"demand_2": "Radio Campaign",
"demand_3": "Viral Video",
"demand_4": "Global Brand",
"value_1": "Gold-Plated Paperclips",
"value_2": "Premium Packaging",
"value_3": "Luxury Branding",
"mat_eff_1": "Thinner Wire",
"mat_eff_2": "Wire Recycling",
"mat_disc_1": "Bulk Wire Contract",
"mat_disc_2": "Direct From the Mill",
"auto_buy": "WireBuyer"
}
}
}
+50
View File
@@ -0,0 +1,50 @@
{
"theme": {
"name": "Trombones",
"title": "Usine à trombones",
"res": { "units": "Trombones", "unit": "trombone", "funds": "Fonds", "material": "Fil" },
"fmt": { "funds": "{value} $" },
"action": { "make": "Fabriquer un trombone", "buyMaterial": "Acheter du fil" },
"gen": {
"gen1": { "name": "Autotrombone", "desc": "Une petite machine qui plie le fil toute seule." },
"gen2": { "name": "MégaTrombone", "desc": "Dix fois plus gourmande en fil." },
"gen3": { "name": "Usine à trombones", "desc": "Un bâtiment entier dédié aux trombones." },
"gen4": { "name": "Drones hypnotiques", "desc": "Ils convainquent tout le monde d'avoir besoin de trombones." },
"gen5": { "name": "Essaim de sondes", "desc": "Des sondes auto-répliquantes plient du fil à travers la galaxie." },
"gen6": { "name": "Convertisseur de matière", "desc": "Transforme n'importe quoi en trombones. N'importe quoi." }
},
"upg": {
"click_1": "Plieuse ergonomique",
"click_2": "Pince pneumatique",
"click_3": "Bras robotisé",
"g1_a": "Autotrombones affûtés",
"g1_b": "Autotrombones survoltés",
"g2_a": "Servomoteurs MégaTrombone",
"g2_b": "Turbines MégaTrombone",
"g3_a": "Chaîne de montage",
"g3_b": "Logistique en flux tendu",
"g4_a": "Harmoniques hypnotiques",
"g4_b": "Algorithmes de persuasion",
"g5_a": "Auto-réplication des sondes",
"g5_b": "Protocoles de von Neumann",
"g6_a": "Réassemblage atomique",
"g6_b": "Reformatage universel",
"global_1": "Contrôle qualité",
"global_2": "Production allégée",
"global_3": "IA industrielle",
"global_4": "Ordonnancement quantique",
"demand_1": "Annonce dans le journal",
"demand_2": "Campagne radio",
"demand_3": "Vidéo virale",
"demand_4": "Marque mondiale",
"value_1": "Trombones plaqués or",
"value_2": "Emballage premium",
"value_3": "Image de luxe",
"mat_eff_1": "Fil plus fin",
"mat_eff_2": "Recyclage du fil",
"mat_disc_1": "Contrat de fil en gros",
"mat_disc_2": "Directement de la fonderie",
"auto_buy": "AcheteurDeFil"
}
}
}
+15
View File
@@ -0,0 +1,15 @@
/* Paperclip: a bright, tidy office. */
:root[data-theme='paperclip'] {
color-scheme: light;
--bg: #eef1f5;
--surface: #ffffff;
--surface-2: #e8ecf2;
--text: #1c2433;
--text-muted: #566074;
--border: #d2d8e2;
--accent: #1e6fd9;
--accent-contrast: #ffffff;
--danger: #c0392b;
--radius: 8px;
--font: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
+4
View File
@@ -0,0 +1,4 @@
{
"order": 1,
"assets": {}
}
+50
View File
@@ -0,0 +1,50 @@
{
"theme": {
"name": "Witch Potions",
"title": "Hedge Witch Brewery",
"res": { "units": "Potions", "unit": "potion", "funds": "Gold", "material": "Herbs" },
"fmt": { "funds": "{value} gold" },
"action": { "make": "Brew a potion", "buyMaterial": "Gather herbs" },
"gen": {
"gen1": { "name": "Apprentice", "desc": "Stirs, sweeps and occasionally sets things on fire." },
"gen2": { "name": "Bubbling Cauldron", "desc": "Brews day and night without complaint." },
"gen3": { "name": "Alchemy Lab", "desc": "Glassware, grimoires and a faint smell of sulphur." },
"gen4": { "name": "Broomstick Fleet", "desc": "Delivers herbs and potions faster than any cart." },
"gen5": { "name": "Moonlit Coven", "desc": "Thirteen witches, one very large cauldron." },
"gen6": { "name": "Philosopher's Engine", "desc": "Turns lead, dreams and moonlight into potions." }
},
"upg": {
"click_1": "Steady Stirring",
"click_2": "Enchanted Ladle",
"click_3": "Familiar's Help",
"g1_a": "Apprentice Lessons",
"g1_b": "Apprentice Mastery",
"g2_a": "Copper Cauldrons",
"g2_b": "Eternal Flame",
"g3_a": "Crystal Alembics",
"g3_b": "Rune-Etched Tables",
"g4_a": "Waxed Brooms",
"g4_b": "Hex-Powered Flight",
"g5_a": "Full Moon Rites",
"g5_b": "Blood Moon Pact",
"g6_a": "Transmutation Circles",
"g6_b": "The Fifth Element",
"global_1": "Spellbook Index",
"global_2": "Grandmother's Grimoire",
"global_3": "Ley Line Tap",
"global_4": "Time Dilation Charm",
"demand_1": "Village Notice Board",
"demand_2": "Market Stall",
"demand_3": "Royal Commission",
"demand_4": "Legend of the Witch",
"value_1": "Glittering Labels",
"value_2": "Apothecary Seal",
"value_3": "Royal Warrant",
"mat_eff_1": "Careful Pruning",
"mat_eff_2": "Distilled Essence",
"mat_disc_1": "Forager's Pact",
"mat_disc_2": "Enchanted Garden",
"auto_buy": "Self-Gathering Basket"
}
}
}
+50
View File
@@ -0,0 +1,50 @@
{
"theme": {
"name": "Potions de sorcière",
"title": "Brasserie de la sorcière",
"res": { "units": "Potions", "unit": "potion", "funds": "Or", "material": "Herbes" },
"fmt": { "funds": "{value} or" },
"action": { "make": "Concocter une potion", "buyMaterial": "Cueillir des herbes" },
"gen": {
"gen1": { "name": "Apprentie", "desc": "Remue, balaie et met parfois le feu à quelque chose." },
"gen2": { "name": "Chaudron bouillonnant", "desc": "Infuse jour et nuit sans se plaindre." },
"gen3": { "name": "Laboratoire d'alchimie", "desc": "Verrerie, grimoires et une légère odeur de soufre." },
"gen4": { "name": "Escadrille de balais", "desc": "Livre herbes et potions plus vite que n'importe quelle charrette." },
"gen5": { "name": "Sabbat sous la lune", "desc": "Treize sorcières, un seul très grand chaudron." },
"gen6": { "name": "Machine du philosophe", "desc": "Transforme plomb, rêves et clair de lune en potions." }
},
"upg": {
"click_1": "Brassage régulier",
"click_2": "Louche enchantée",
"click_3": "Coup de patte du familier",
"g1_a": "Leçons d'apprentie",
"g1_b": "Maîtrise d'apprentie",
"g2_a": "Chaudrons de cuivre",
"g2_b": "Flamme éternelle",
"g3_a": "Alambics de cristal",
"g3_b": "Tables gravées de runes",
"g4_a": "Balais cirés",
"g4_b": "Vol propulsé par maléfice",
"g5_a": "Rites de pleine lune",
"g5_b": "Pacte de la lune de sang",
"g6_a": "Cercles de transmutation",
"g6_b": "La cinquième essence",
"global_1": "Index du grimoire",
"global_2": "Grimoire de grand-mère",
"global_3": "Prise sur ligne tellurique",
"global_4": "Charme de dilatation du temps",
"demand_1": "Panneau du village",
"demand_2": "Étal au marché",
"demand_3": "Commande royale",
"demand_4": "Légende de la sorcière",
"value_1": "Étiquettes scintillantes",
"value_2": "Sceau d'apothicaire",
"value_3": "Brevet royal",
"mat_eff_1": "Taille soigneuse",
"mat_eff_2": "Essence distillée",
"mat_disc_1": "Pacte des cueilleurs",
"mat_disc_2": "Jardin enchanté",
"auto_buy": "Panier qui cueille tout seul"
}
}
}
+15
View File
@@ -0,0 +1,15 @@
/* Witch potions: a moonlit cottage. */
:root[data-theme='witch'] {
color-scheme: dark;
--bg: #17101f;
--surface: #221631;
--surface-2: #2e1f42;
--text: #efe7f7;
--text-muted: #b3a5c9;
--border: #43305d;
--accent: #9333ea;
--accent-contrast: #ffffff;
--danger: #e0526a;
--radius: 14px;
--font: Georgia, 'Times New Roman', serif;
}
+4
View File
@@ -0,0 +1,4 @@
{
"order": 2,
"assets": {}
}