// constants/locales.ts export const locales = { de: { UI: { GAME_TITLE: "Smuggler's Run", SUBTITLE: "Fast Ships, faster credits!", START_BUTTON: "Initialize Systems", RESTART_BUTTON: "Klon-Zylinder aktivieren", JUMP_BUTTON: "Initiate Jump", ATTACK_BUTTON: "Feuer frei", ESCAPE_BUTTON: "Fluchtversuch", }, SYSTEM: { LOADING: "INITIALIZING HOLONET LINK...", DEEP_SPACE: "Deep Space", }, START_SCREEN: { SUBTITLE: "Fast Ships, faster credits!", INTRO_TEXT: "Smuggler's Run is a minimalist space adventure game, where you, the player, are an unlicensed space trader, flying cargo from planet to planet while trying not to be blown to pieces by bounty hunters, imperial forces or rebel do-gooders. Your mission is simple:", MISSION_HIGHLIGHT: "Survive and earn credits", FEATURE_NAV_TITLE: "Navigation:", FEATURE_NAV_DESC: "Jump between sectors to deliver cargo.", FEATURE_RISK_TITLE: "Risk:", FEATURE_RISK_DESC: "Hyperspace is treacherous. Imperial patrols are everywhere.", FEATURE_COMBAT_TITLE: "Combat:", FEATURE_COMBAT_DESC: "Use your 2D6 cannons to survive interceptions.", FOOTER_ENGINE: "Star Wars API v1.0 // Engine: Tunnel Goons", }, ACTION_PANEL: { MODES: { HOSTILE: "Hostile", AQUATIC: "Aquatic", VERDANT: "Verdant", ARID: "Arid", CRYO: "Cryo", ECUMENOPOLIS: "Ecumenopolis", STANDARD: "Standard", }, LABELS: { CLASS: "Class", CREW: "Crew", SECTOR: "Sector", MANUFACTURER: "Manufacturer", POPULATION: "Population", COST: "Cost", GRAVITY: "Gravity", }, STATUS: { COMBAT_WARNING: "WARNING: Hostile contact confirmed. Weapons emitters charging.", PLANET_SCAN: "Receiving encrypted signals from sector. Landing clearance pending...", ENGAGING: "Engaging...", }, BUTTONS: { FIRE: "Open Fire", JUMP: "Initiate Jump", ESCAPE: "Evasive Maneuvers", }, }, GAME_OVER: { TITLE: "Wasted in Space", SUBTITLE: "Your ship has been reduced to stardust.", SCORE_LABEL: "Final Profit", RESTART_BUTTON: "Activate Clone Cylinder", }, EVENT_LOG: { TITLE: "Event Log", EMPTY_STATE: "Waiting for signals...", }, HUD: { SECTOR_LABEL: "Current Sector", HULL_LABEL: "Hull Integrity", GOAL_LABEL: "Credits to Freedom", // Oder "Credits to Falcon" }, GALAXY_MAP: { SCAN_STATUS: "Sector Scan: Active", OBJECTS_DETECTED: (count: number) => `Objects Detected: ${count}`, HOLONET_STATUS: "HoloNet Status: Connected", }, ENGINE: { BOOT: { SUCCESS: "HoloNet connection stable. Nav-computer ready.", ERROR: "Critical error loading galaxy data!", WELCOME: "Engines on standby. Nav-computer online. Welcome, Commander.", RESTART: "Systems rebooting... A new journey begins.", }, JUMP: { INIT: (target: string) => `Hyperspace jump to ${target} initiated...`, INTERCEPTION: (ship: string) => `INTERCEPTION! A ${ship} has pulled us out of hyperspace!`, SUCCESS: (target: string, reward: number) => `Safe exit in the ${target} system. +${reward} Credits earned.`, }, ESCAPE: { INIT: "Emergency maneuvers initiated!", FAIL: (ship: string, dmg: number) => `Escape failed! The ${ship} hits us hard. -${dmg} HP`, SUCCESS: "Jump successful! We've shaken off the pursuer.", }, COMBAT: { INIT: (ship: string) => `Weapon systems synchronized. Opening fire on ${ship}!`, VICTORY: (ship: string, loot: number) => `Direct hit! The ${ship} has been obliterated. +${loot} Credits salvaged.`, COUNTER: (ship: string, dmg: number) => `Shields holding! The ${ship} counters. -${dmg} HP`, }, SYSTEMS: { CRITICAL_FAILURE: "CRITICAL STRUCTURAL DAMAGE! The ship is breaking apart...", }, DICE: { ROLLING_1W6: "[Rolling 1D6...]", ROLLING_2W6: "[Rolling 2D6...]", RESULT_1W6: (res: number) => `[Roll: ${res}]`, RESULT_2W6: (d1: number, d2: number, total: number) => `[Roll: ${d1} + ${d2} = ${total}]`, }, }, }, // Später einfach erweiterbar: // en: { ... } }; // Aktuelle Sprache festlegen (könnte später aus einem State kommen) export const t = locales.de;