export const en = {
  // General
  loading: 'Loading hero...',
  close: 'Close',
  cancel: 'Cancel',
  confirm: 'Confirm',
  empty: 'Empty',
  none: 'None',
  error: 'Error',
  back: 'Back',

  // Stats
  hp: 'HP',
  atk: 'ATK',
  def: 'DEF',
  spd: 'Speed',
  moveSpd: 'Move SPD',
  str: 'STR',
  con: 'CON',
  agi: 'AGI',
  luck: 'LUCK',
  xp: 'XP',
  gold: 'Gold',
  level: 'Lv',
  stat: 'STAT',

  // Hero Panel
  heroStats: 'Hero Stats',
  experience: 'Experience',
  activeBuffs: 'Active Buffs',
  activeDebuffs: 'Active Debuffs',

  // Equipment
  equipment: 'Equipment',
  slotWeapon: 'Weapon',
  slotOffHand: 'Off Hand',
  slotHead: 'Head',
  slotChest: 'Chest',
  slotLegs: 'Legs',
  slotFeet: 'Feet',
  slotCloak: 'Cloak',
  slotNeck: 'Neck',
  slotRing: 'Ring',
  slotWrist: 'Wrist',
  slotHands: 'Hands',
  slotQuiver: 'Quiver',
  inventory: 'Inventory',

  // Rarity
  common: 'Common',
  uncommon: 'Uncommon',
  rare: 'Rare',
  epic: 'Epic',
  legendary: 'Legendary',

  // Buff names
  buffRush: 'Rush',
  buffRage: 'Rage',
  buffShield: 'Shield',
  buffLuck: 'Luck',
  buffResurrection: 'Resurrect',
  buffHeal: 'Heal',
  buffPowerPotion: 'Power',
  buffWarCry: 'War Cry',

  // Buff descriptions
  buffRushDesc: '+50% movement speed',
  buffRageDesc: '+100% damage',
  buffShieldDesc: '-50% incoming damage',
  buffLuckDesc: 'x2.5 loot drops',
  buffResurrectionDesc: 'Revive at 50% HP',
  buffHealDesc: '+50% HP instant',
  buffPowerPotionDesc: '+150% damage',
  buffWarCryDesc: '+100% attack speed',

  // Buff UI
  charges: 'Charges',
  refillsAt: 'Refills at',
  refill: 'Refill',
  refillQuestion: 'Refill {label}?',
  noChargesLeft: 'No charges left for {label}',

  // Debuff names
  debuffPoison: 'Poison',
  debuffFreeze: 'Freeze',
  debuffBurn: 'Burn',
  debuffStun: 'Stun',
  debuffSlow: 'Slow',
  debuffWeaken: 'Weaken',

  // Quest system
  questLog: 'Quest Log',
  noActiveQuests: 'No active quests. Visit an NPC to accept quests!',
  claimRewards: 'Claim Rewards',
  abandon: 'Abandon',
  acceptQuest: 'Accept',
  questAccepted: 'Quest accepted!',
  questRewardsClaimed: 'Quest rewards claimed!',
  questAbandoned: 'Quest abandoned',
  failedToAcceptQuest: 'Failed to accept quest',
  failedToClaimRewards: 'Failed to claim rewards',
  failedToAbandonQuest: 'Failed to abandon quest',
  completed: 'Completed',

  // NPC
  questGiver: 'Quest Giver',
  merchant: 'Merchant',
  healer: 'Healer',
  npc: 'NPC',
  buyPotion: 'Buy Potion',
  healToFull: 'Heal to Full',
  boughtPotion: 'Bought a potion for {cost} gold',
  healedToFull: 'Healed to full HP!',
  notEnoughGold: 'Not enough gold!',
  failedToBuyPotion: 'Failed to buy potion',
  failedToHeal: 'Failed to heal',

  // Wandering NPC
  giveGoldForItem: 'Give {cost} gold for a mysterious item?',
  accept: 'Accept',
  decline: 'Decline',
  giving: 'Giving...',

  // Death screen
  youDied: 'YOU DIED',
  reviveNow: 'REVIVE NOW',
  freeRevivesLeft: 'Free revives left: {count}',
  autoReviveIn: 'Auto-revive in {timer}s',
  noFreeRevives: 'No free revives left \u2014 subscription required',

  // Name entry
  chooseHeroName: 'Choose Your Hero Name',
  enterName: 'Enter a name...',
  continue: 'Continue',
  saving: 'Saving...',
  nameTaken: 'Name already taken, try another',
  invalidName: 'Invalid name',
  serverError: 'Server error ({status})',
  connectionFailed: 'Connection failed, please retry',

  // Offline report
  whileYouWereAway: 'While you were away...',
  killedMonsters: 'Killed {count} monster(s)',
  gainedXP: '+{xp} XP',
  gainedGold: '+{gold} gold',
  gainedLevels: 'Gained {levels} level(s)!',
  tapToDismiss: 'Tap anywhere to dismiss',

  // Toasts
  levelUp: 'Level up! Now level {level}',
  heroRevived: 'Hero revived!',
  entering: 'Entering {townName}',
  newEquipment: 'New {slot}: {itemName}',
  potionsCollected: '+{count} potion(s)',
  questProgress: '{title} ({current}/{target})',
  questCompleted: 'Quest completed: {title}!',
  buffLimitReached: 'Buff limit reached',
  reviveNotAllowed: 'Revive not allowed',
  dailyTaskClaimed: 'Daily task reward claimed!',
  failedToClaimReward: 'Failed to claim reward',

  // Minimap
  map: 'MAP',

  // Adventure log
  noEventsYet: 'No events yet...',

  // Misc
  adventureLog: 'Adventure Log',
  shopLabel: 'Shop',
  healerLabel: 'Healer',
  questLabel: 'Quest',

  // Hero Sheet tabs
  heroSheetQuestBadgeAria: 'Quests ready to turn in: {count}',
  stats: 'Stats',
  character: 'Char',
  journal: 'Journal',
  quests: 'Quests',
  hero: 'Hero',

  // Settings
  settings: 'Settings',
  language: 'Language',
  english: 'English',
  russian: 'Russian',
} as const;

export type TranslationKey = keyof typeof en;
export type Translations = Record<TranslationKey, string>;
