Lang/Loc.English.cs
using System.Collections.Generic;

namespace Science;

public static partial class Loc
{
	// The master table: every key the game uses, and the fallback for any key a translation lacks.
	static Dictionary<string, string> English() => new()
	{
		// general
		["on"] = "On",
		["off"] = "Off",
		["back"] = "Back",

		// sidebar
		["brand.tagline"] = "Falling-sand sandbox",

		// material categories
		["cat.powders"] = "Powders",
		["cat.liquids"] = "Liquids",
		["cat.gases"] = "Gases",
		["cat.energy"] = "Energy",
		["cat.life"] = "Life",
		["cat.explosives"] = "Explosives",
		["cat.solids"] = "Solids",
		["cat.tools"] = "Tools",

		// materials
		["el.empty"] = "Empty",
		["el.wall"] = "Wall",
		["el.sand"] = "Sand",
		["el.water"] = "Water",
		["el.oil"] = "Oil",
		["el.fire"] = "Fire",
		["el.smoke"] = "Smoke",
		["el.steam"] = "Steam",
		["el.gas"] = "Gas",
		["el.cloud"] = "Cloud",
		["el.tnt"] = "TNT",
		["el.c4"] = "C4",
		["el.bomb"] = "Bomb",
		["el.nitro"] = "Nitro",
		["el.spark"] = "Spark",
		["el.acid"] = "Acid",
		["el.plant"] = "Plant",
		["el.seed"] = "Seed",
		["el.vine"] = "Vine",
		["el.fuse"] = "Fuse",
		["el.metal"] = "Metal",
		["el.stone"] = "Stone",
		["el.glass"] = "Glass",
		["el.ice"] = "Ice",
		["el.salt"] = "Salt",
		["el.mud"] = "Mud",
		["el.lava"] = "Lava",
		["el.mercury"] = "Mercury",
		["el.virus"] = "Virus",
		["el.clone"] = "Clone",
		["el.eraser"] = "Erase",

		// material tooltips
		["desc.sand"] = "Granular powder. Piles into slopes; bakes to glass near heat.",
		["desc.water"] = "Flows and levels out. Boils to steam, makes mud with sand.",
		["desc.oil"] = "Floats on water and ignites on contact with heat.",
		["desc.fire"] = "Spreads to fuels, boils water, arms explosives, fades to smoke.",
		["desc.smoke"] = "Rises and dissipates after fire burns out.",
		["desc.steam"] = "Hot vapour from boiled water; condenses back to water.",
		["desc.gas"] = "Flammable vapour that explodes when it touches heat.",
		["desc.cloud"] = "Drifts upward and occasionally rains water below.",
		["desc.spark"] = "Skittering energy that ignites fuels then becomes fire.",
		["desc.acid"] = "Dissolves most materials; bursts explosives.",
		["desc.plant"] = "Grows toward water; burns readily.",
		["desc.seed"] = "Falls like sand, sprouts into plant or vine near water.",
		["desc.vine"] = "Climbing growth that creeps toward water.",
		["desc.salt"] = "Powder that dissolves in water and melts ice.",
		["desc.mud"] = "Heavy sludge that bakes into stone when heated.",
		["desc.ice"] = "Frozen solid; melts to water near heat or salt.",
		["desc.lava"] = "Molten rock. Cools to stone, quenches to steam in water.",
		["desc.mercury"] = "Dense liquid metal that pools and flows.",
		["desc.tnt"] = "Classic explosive. Arms from heat or fuse, then detonates.",
		["desc.c4"] = "High-yield charge with a larger blast radius.",
		["desc.bomb"] = "Massive payload for the biggest explosions.",
		["desc.nitro"] = "Volatile liquid that detonates the instant it touches heat.",
		["desc.fuse"] = "Burns along its length to trigger distant charges.",
		["desc.metal"] = "Sturdy barrier that mostly resists blasts.",
		["desc.stone"] = "Solid rock that tumbles and piles.",
		["desc.glass"] = "Transparent solid formed when sand is superheated.",
		["desc.virus"] = "Infects and converts nearby matter; killed by fire.",
		["desc.clone"] = "Copies whatever material touches it into empty space.",
		["desc.wall"] = "Indestructible boundary that nothing can pass.",
		["desc.eraser"] = "Removes material from the canvas.",

		// stat chips (keep short: the chips are narrow)
		["stat.particles"] = "Particles",
		["stat.reactions"] = "Reactions",
		["stat.found"] = "Found",

		// lab notebook and milestones
		["nb.title"] = "Lab notebook",
		["nb.empty"] = "Mix materials to discover reactions...",
		["ms.title"] = "Milestones",
		["ms.empty"] = "Load an experiment or discover reactions.",

		// reactions, as listed in the lab notebook
		["rx.ignition"] = "Ignition",
		["rx.oil_burn"] = "Oil burn",
		["rx.plant_burn"] = "Plant burn",
		["rx.seed_burn"] = "Seed burn",
		["rx.vine_burn"] = "Vine burn",
		["rx.virus_burn"] = "Virus burn",
		["rx.fuse"] = "Fuse lit",
		["rx.steam"] = "Steam",
		["rx.quench"] = "Quench",
		["rx.melt"] = "Melt",
		["rx.salt_melt"] = "Salt melt",
		["rx.warm_cloud"] = "Warm cloud",
		["rx.salt_dissolve"] = "Salt dissolve",
		["rx.mud_baked"] = "Mud baked",
		["rx.mud"] = "Mud",
		["rx.rain"] = "Rain",
		["rx.growth"] = "Growth",
		["rx.sprout"] = "Sprout",
		["rx.vine"] = "Vine",
		["rx.virus"] = "Infection",
		["rx.clone"] = "Clone",
		["rx.acid_burst"] = "Acid burst",
		["rx.dissolve"] = "Dissolve",
		["rx.glass"] = "Glass",
		["rx.armed"] = "Armed",
		["rx.boom"] = "Boom",
		["rx.tnt_armed"] = "TNT armed",
		["rx.c4_armed"] = "C4 armed",
		["rx.bomb_armed"] = "Bomb armed",

		// milestones; {0} is an experiment name
		["ms.loaded"] = "Loaded {0}",
		["ms.complete"] = "{0} complete",
		["ms.first_findings"] = "First findings",
		["ms.reaction_catalog"] = "Reaction catalog",
		["ms.advanced_chemistry"] = "Advanced chemistry",
		["ms.full_notebook"] = "Full notebook",
		["ms.chain_reactor"] = "Chain reactor",
		["ms.unstable_lab"] = "Unstable lab",
		["ms.dense_world"] = "Dense world",

		// experiments
		["exp.open_lab"] = "Open Lab",
		["exp.mixed_lab"] = "Mixed Lab",
		["exp.volcano"] = "Volcano",
		["exp.garden"] = "Garden",
		["exp.demolition"] = "Demolition",

		// toolbar (button labels must stay short)
		["tb.brush_size"] = "Brush size",
		["tip.brush_smaller"] = "Smaller brush",
		["tip.brush_larger"] = "Larger brush",
		["tb.run"] = "Run",
		["tb.pause"] = "Pause",
		["tb.step"] = "Step",
		["tip.step"] = "Advance one frame",
		["tb.speed"] = "{0}x",
		["tip.speed"] = "Cycle simulation speed",
		["tb.lab"] = "Lab",
		["tip.lab"] = "Starter reaction board",
		["tb.volcano"] = "Volcano",
		["tip.volcano"] = "Heat and pressure chain",
		["tb.garden"] = "Garden",
		["tip.garden"] = "Growth and water system",
		["tb.demo"] = "Demo",
		["tip.demo"] = "Fuse and explosives test",
		["tb.save"] = "Save",
		["tip.save"] = "Save sandbox",
		["tb.load"] = "Load",
		["tip.load"] = "Load sandbox",
		["tb.grid"] = "Grid",
		["tip.grid"] = "Toggle grid",
		["tb.sound"] = "Sound",
		["tb.muted"] = "Muted",
		["tip.sound"] = "Toggle sound",
		["tb.clear"] = "Clear",
		["tip.clear"] = "Clear canvas",
		["tip.help"] = "How to play",

		// how to play
		["help.title"] = "How to play",
		["help.controls"] = "Controls",
		["help.left_drag"] = "Left drag",
		["help.left_drag_do"] = "Paint selected material",
		["help.right_drag"] = "Right drag",
		["help.right_drag_do"] = "Erase",
		["help.pause_step"] = "Pause / Step",
		["help.pause_step_do"] = "Freeze and advance one frame",
		["help.speed"] = "Speed",
		["help.speed_do"] = "0.5x to 4x simulation",
		["help.keys_do"] = "Quick-select common materials",
		["help.esc_do"] = "Pause menu",
		["help.try"] = "Try these reactions",
		["help.rx_lava"] = "Stone and steam",
		["help.rx_oil"] = "Burns fast",
		["help.rx_acid"] = "Eats almost anything",
		["help.rx_seed"] = "Grows a plant",
		["help.rx_fuse"] = "Carries fire to the charge",
		["help.rx_clone"] = "Copies the material beside it",
		["help.got_it"] = "Got it",

		// main menu
		["menu.sub"] = "A reactive falling-sand sandbox",
		["menu.hint"] = "30 materials / live reactions / build, burn, dissolve, grow",
		["menu.new"] = "New lab",
		["menu.continue"] = "Continue lab",
		["menu.quit"] = "Quit to games list",

		// pause menu
		["pause.title"] = "Paused",
		["pause.sub"] = "The lab is frozen until you resume.",
		["pause.resume"] = "Resume",
		["pause.main_menu"] = "Main menu",
		["pause.foot"] = "Esc to resume",

		// settings
		["settings.title"] = "Settings",
		["settings.language"] = "Language",
		["settings.language_auto"] = "Same as s&box",
		["settings.audio"] = "Audio",
		["settings.volume"] = "Volume",
		["settings.percent"] = "{0}%",
		["settings.sound"] = "Sound effects",
		["settings.display"] = "Display",
		["settings.grid"] = "Grid lines",
		["settings.engine"] = "More s&box settings",
		["settings.engine_hint"] = "Graphics, display and key bindings",
		["settings.reset"] = "Reset to defaults",
	};
}