import type { Translations } from '../types';

const en: Translations = {
  nav: {
    announcements: 'News',
    forum: 'Forum',
    rewards: 'Rewards',
    p2p: 'P2P',
    wallet: 'Wallet',
  },

  common: {
    back: 'Back',
    cancel: 'Cancel',
    continue: 'Continue',
    close: 'Close',
    copy: 'Copy',
    copied: 'Copied!',
    share: 'Share',
    refresh: 'Refresh',
    retry: 'Try again',
    loading: 'Loading...',
    error: 'Error',
    anonymous: 'Anonymous',
    pinned: 'Pinned',
    locked: 'Locked',
    trending: 'Trending',
  },

  announcements: {
    title: 'Announcements',
    readMore: 'Read more',
    reactionAuthRequired: 'You must be in Telegram to vote',
  },

  forum: {
    title: 'Forum',
    newTopic: 'New Topic',
    submitting: 'Submitting...',
    publish: 'Publish',
    category: 'Category',
    topicTitle: 'Title',
    topicTitlePlaceholder: 'Topic title...',
    content: 'Content',
    contentPlaceholder: 'Write the topic content...',
    tagsLabel: 'Tags (separate with comma)',
    tagsPlaceholder: 'blockchain, kurd, pez...',
    searchPlaceholder: 'Search topics...',
    sortRecent: 'New',
    sortPopular: 'Popular',
    sortReplies: 'Replies',
    sortViews: 'Views',
    all: 'All',
    replies: 'Replies',
    noRepliesYet: 'No replies yet',
    beFirstToReply: 'Be the first to reply!',
    replyPlaceholder: 'Write your reply...',
    noTopicsFound: 'No topics found',
    changeFilters: 'Change your filters',
    createNewTopic: 'Create New Topic',
    loginToVote: 'Log in to vote',
    voteError: 'Error voting',
    writeReply: 'Please write your reply',
    topicLocked: 'This topic is locked',
    replyError: 'Error sending reply',
    fillAllFields: 'Please fill in all fields',
    topicCreated: 'Topic created!',
    topicCreateError: 'Error creating topic',
  },

  rewards: {
    title: 'Rewards',
    subtitle: 'Rewards - Referral System',
    connectWalletFirst: 'To see your referrals and rewards, connect your wallet first.',
    overview: 'Overview',
    referral: 'Referral',
    scores: 'Scores',
    referralScore: 'Referral Score',
    maxScore: 'Max score: 500',
    referMoreTitle: 'Refer more, earn more!',
    referMoreDescription:
      'For every person you bring, you receive HEZ and PEZ as rewards. More referrals = more rewards!',
    kycApproved: 'KYC Approved',
    referrer: 'Referrer',
    none: 'None',
    invitedMe: 'Invited me',
    pendingReferral: 'Pending referral',
    completeKyc: 'Complete KYC to approve referral from',
    inviteFriends: 'Invite your friends',
    yourLink: 'Your link',
    copySuccess: 'Copied!',
    copyLink: 'Copy',
    shareLink: 'Share',
    scoreSystem: 'Score system',
    activeStatus: 'Activity Status',
    timeRemaining: 'Time: {time} remaining',
    active: 'Active',
    inactive: 'Inactive',
    activeDescription: 'Click once every 24 hours to stay active and earn more rewards!',
    youAreActive: 'You are Active!',
    iAmActive: 'I am Active!',
    activatedAlert: 'You are now active! Click again after 24 hours.',
    shareText: 'Dear friend, Digital Kurdistan has been established, take your place!',
    referralInstruction: 'Paste this address in the referral field:',
    copyAlert: 'Copied',
    referralCount: '{count} referrals (KYC approved)',
    noReferrals: 'You have no referrals yet',
    shareYourLink: 'Share your link!',
    trustScore: 'Trust Score',
    rank: 'Rank: {rating}',
    citizen: 'Citizen',
    staking: 'Staking',
    stakingNotStarted: 'Not started',
    stakingWaitingData: 'Waiting for data...',
    stakingCountedInTrust: 'Counted in Trust score',
    people: '{count} people',
    tiki: 'Tiki',
    nftRole: 'NFT Role',
    education: 'Education',
    reading: 'Reading',
    stakingRewards: 'Staking Rewards',
    totalRewards: 'Total rewards received',
    recentRewards: 'Recent rewards',
    noRewardsYet: 'No rewards recorded yet',
    scoreFormula: 'Score Formula',
    stakingZeroWarning: 'If Staking is 0, Trust score is also 0. Stake first!',
    refreshScores: 'Refresh Scores',
    points: 'points',
    citizenshipStatus: 'Citizenship Status',
    pendingApproval: 'Pending',
    approved: 'Approved',
    waitingReferrer: 'Waiting for referrer approval...',
    confirmCitizenship: 'Confirm Citizenship',
    confirmingCitizenship: 'Confirming citizenship...',
    signingBlockchain: 'Signing on blockchain',
    citizenshipConfirmed: 'Congratulations! You are now a citizen!',
    citizenshipFailed: 'Confirmation failed',
    startTracking: 'Start Tracking',
    startTrackingDesc: 'Enable staking score tracking',
    startingTracking: 'Starting tracking...',
    trackingStarted: 'Tracking started!',
    trackingFailed: 'Failed to start tracking',
    recordTrustScore: 'Record Trust Score',
    recordTrustDesc: "Record your score for this epoch's rewards",
    recordingTrustScore: 'Recording trust score...',
    trustScoreRecorded: 'Trust score recorded!',
    trustScoreRecordFailed: 'Failed to record score',
    citizenCountTitle: 'Kurds in the World',
    citizenCountDesc: 'Citizens registered on PezkuwiChain',
    beCitizen: 'Be Citizen',
    pezRewardsTitle: 'PEZ Epoch Rewards',
    epoch: 'Epoch',
    claimPeriod: 'Claim Period',
    epochClosed: 'Closed',
    epochOpen: 'Open',
    scoreRecorded: 'Recorded',
    claimablePez: 'Claimable PEZ',
    claim: 'Claim',
    claimAll: 'Claim All',
    claimPez: 'Claim PEZ',
    claimingReward: 'Claiming reward...',
    claimSuccess: 'Reward claimed successfully!',
    claimFailed: 'Failed to claim reward',
    noPezRewards: 'No claimable PEZ rewards',
    unclaimedRewards: 'Unclaimed Rewards',
    claimStakingReward: 'Claim',
    claimAllStaking: 'Claim All',
    claimingStakingReward: 'Claiming staking rewards...',
    stakingClaimSuccess: 'Staking rewards claimed!',
    stakingClaimFailed: 'Failed to claim staking rewards',
    noUnclaimedRewards: 'No unclaimed rewards',
    rewardHistory: 'Reward History',
    era: 'Era',
    pendingApprovals: 'Pending Approvals',
    approveReferral: 'Approve',
    approvingReferral: 'Approving...',
    referralApprovalSuccess: 'Referral approved!',
    referralApprovalFailed: 'Approval failed',
    pendingReferralStatus: 'Awaiting your approval',
  },

  wallet: {
    title: 'Wallet',
    authFailed: 'Authentication Failed',
    authDescription: 'Please make sure you open this app within Telegram',
    retry: 'Try Again',
  },

  walletSetup: {
    officialWallet: 'Official Pezkuwichain wallet',
    createNew: 'Create New Wallet',
    createNewDesc: 'Create a new wallet with seed phrase',
    importWallet: 'Import Wallet',
    importWalletDesc: 'Use your existing seed phrase',
    securityNote:
      'Your wallet is securely stored on your device. We never have access to your keys.',
  },

  walletCreate: {
    setPassword: 'Set Password',
    passwordDescription: 'This password will be used to unlock your wallet',
    passwordLabel: 'Password',
    passwordPlaceholder: 'At least 12 characters',
    confirmPasswordLabel: 'Confirm Password',
    confirmPasswordPlaceholder: 'Confirm your password',
    passwordRequirements: 'Password Requirements:',
    ruleMinLength: 'At least 12 characters',
    ruleLowercase: 'At least 1 lowercase letter (a-z)',
    ruleUppercase: 'At least 1 uppercase letter (A-Z)',
    ruleNumber: 'At least 1 number (0-9)',
    ruleSpecialChar: 'At least 1 special character (!@#$%...)',
    rulePasswordsMatch: 'Passwords match',
    walletServiceNotReady: 'Wallet service is not ready. Please wait.',
    passwordRequirementsNotMet: 'Please meet all password requirements',
    walletCreationFailed: 'Wallet creation failed. Please try again',
    preparing: 'Preparing...',
    creating: 'Creating...',
    meetPasswordRequirements: 'Meet password requirements',
    backupTitle: 'Backup Seed Phrase',
    backupDescription: 'These 12 words are your wallet. Write them in a safe place!',
    backupWarning:
      'Important: These words are shown only once. If you lose them, you cannot access your wallet.',
    copiedMnemonic: 'Copied!',
    copyMnemonic: 'Copy',
    conditionWrittenDown: 'I have written down these 12 words in a safe place',
    conditionNeverShare: 'I understand I must never share these words with anyone',
    conditionLossRisk: 'I understand if I lose these words I cannot access my wallet',
    acceptAllConditions: 'Accept all conditions',
    verifyWords: 'Verify Words',
    reset: 'Reset',
    verifyDescription: 'Please arrange the words in the correct order',
    dropWordsHere: 'Place words here...',
    wrongOrder: 'Wrong word order. Please try again',
    saving: 'Saving...',
    verify: 'Verify',
    wordsCount: '{count}/12 words',
    walletCreated: 'Wallet Created!',
    walletReady: 'Your wallet is ready',
    yourAddress: 'Your address',
    getStarted: 'Get Started',
  },

  walletImport: {
    title: 'Import Wallet',
    description: 'Enter your existing wallet seed phrase',
    seedPhraseLabel: 'Seed Phrase (12 or 24 words)',
    seedPhrasePlaceholder: 'Enter your words separated by spaces...',
    wordsCount: '{count} / 12 words',
    newPassword: 'New Password',
    seedPhraseInvalid: 'Seed phrase must be 12 or 24 words',
    passwordInvalid: 'Password is invalid',
    passwordsMismatch: 'Passwords do not match',
    importFailed: 'Import failed',
    importing: 'Importing...',
    importButton: 'Import',
  },

  walletConnect: {
    deleteTitle: 'Delete Wallet?',
    deleteDescription:
      "This action cannot be undone. If you don't have your seed phrase, you will not be able to access your wallet.",
    deleteButton: 'Delete',
    openWallet: 'Open Wallet',
    passwordLabel: 'Password',
    passwordPlaceholder: 'Enter your password',
    enterPassword: 'Enter your password',
    wrongPassword: 'Wrong password',
    connecting: 'Opening...',
    connect: 'Connect',
    deleteWalletLink: 'Delete wallet',
  },

  deposit: {
    title: 'Deposit USDT',
    subtitle: 'For wUSDT on Asset Hub',
    depositHistory: 'Deposit History',
    noDeposits: 'No deposits yet',
    goBack: 'Go back',
    selectNetwork: 'Select Network',
    recommended: 'Recommended',
    warning: 'Warning!',
    example: 'Example: Send 10 USDT \u2192 Receive 7 wUSDT ($3 fee)',
    acceptTrc20: 'I accept, send via TRC20',
    important: 'Important!',
    minimum: 'Minimum: {amount} USDT',
    memoRequired: 'Write your code in the Memo/Comment field',
    onlyUsdt: 'Only send USDT, other tokens will be lost',
    trc20Fee: '$3 fee will be deducted from your amount',
    depositAddress: 'Deposit Address',
    notAvailable: 'Not available',
    memoLabel: 'Memo / Comment (REQUIRED)',
    memoWarning: 'Write this code in the memo, otherwise your deposit will not be recognized!',
    uniqueAddress: 'This address is uniquely yours. No memo needed.',
    howToDeposit: 'How to Deposit?',
    stepCopyAddress: 'Copy the address',
    stepCopyMemo: 'Copy the memo code',
    stepOpenTon: 'Open Telegram Wallet or your wallet',
    stepOpenPolkadot: 'Open your Polkadot wallet',
    stepOpenTrc20: 'Open TronLink or your wallet',
    stepSendUsdt: 'Send USDT to the address above',
    stepReceive: 'wUSDT will be in your account within a few minutes',
    processingTime: 'Processing time: ~1-5 minutes',
    copyFailed: 'Copy failed',
    statusPending: 'Pending',
    statusConfirming: 'Confirming',
    statusCompleted: 'Completed',
    statusFailed: 'Failed',
    statusExpired: 'Expired',
    viewTx: 'View TX',
    trc20FeeWarning: 'TRC20 network fee is about $3. We recommend TON or Polkadot network.',
  },

  p2p: {
    title: 'P2P Exchange',
    subtitle: 'Trade crypto peer-to-peer',
    firstTime: 'First time using P2P?',
    steps: [
      'Click the button below to open the web app',
      'Create an account or log in',
      'Complete the P2P setup process',
      'After setup, you can access P2P directly',
    ],
    note: 'The web app will open in a new window. Complete the registration process there.',
    button: 'Open P2P Platform',
    buy: 'Buy',
    sell: 'Sell',
    myAds: 'My Ads',
    myTrades: 'My Trades',
    internalBalance: 'P2P Balance',
    available: 'Available',
    locked: 'Locked',
    totalBalance: 'Total',
    noBalance: 'No balance yet. Deposit to start trading.',
    createOffer: 'Create Offer',
    acceptOffer: 'Accept Offer',
    confirmAccept: 'Confirm & Accept',
    noOffers: 'No offers available',
    filters: 'Filters',
    allTokens: 'All Tokens',
    allCurrencies: 'All Currencies',
    prev: 'Previous',
    next: 'Next',
    min: 'Min',
    max: 'Max',
    trades: 'trades',
    token: 'Token',
    fiatCurrency: 'Currency',
    pricePerUnit: 'Price per unit',
    amount: 'Amount',
    fiatTotal: 'Fiat Total',
    paymentMethod: 'Payment Method',
    selectPaymentMethod: 'Select payment method',
    paymentDetails: 'Payment Details',
    paymentDetailsPlaceholder: 'Enter your payment details (bank account, etc.)',
    minOrder: 'Min Order',
    maxOrder: 'Max Order',
    timeLimit: 'Time Limit',
    minutes: 'min',
    insufficientBalance: 'Insufficient balance',
    timeLimitWarning: 'You have {minutes} minutes to complete the payment after accepting.',
    tradeDetails: 'Trade Details',
    tradeNotFound: 'Trade not found',
    role: 'Role',
    buyer: 'Buyer',
    seller: 'Seller',
    cryptoAmount: 'Crypto Amount',
    fiatAmount: 'Fiat Amount',
    timeline: 'Timeline',
    tradeCreated: 'Trade Created',
    paymentSent: 'Payment Sent',
    paymentConfirmed: 'Payment Confirmed',
    tradeCompleted: 'Trade Completed',
    timeRemaining: 'Time remaining',
    expired: 'Expired',
    markPaid: 'I Have Paid',
    confirmReceived: 'Confirm Payment Received',
    cancelTrade: 'Cancel Trade',
    status: {
      open: 'Open',
      paused: 'Paused',
      locked: 'Locked',
      completed: 'Completed',
      cancelled: 'Cancelled',
      pending: 'Pending',
      payment_sent: 'Payment Sent',
      disputed: 'Disputed',
      refunded: 'Refunded',
    },
    chat: 'Chat',
    noMessages: 'No messages yet',
    messagePlaceholder: 'Type a message...',
    openDispute: 'Open Dispute',
    disputeWarning: 'Opening a dispute will freeze the trade. A moderator will review the case.',
    disputeCategory: 'Category',
    selectCategory: 'Select category',
    disputeReason: 'Reason',
    disputeReasonPlaceholder: 'Describe the issue in detail (min 10 characters)',
    minChars: 'Min {count} characters',
    submitDispute: 'Submit Dispute',
    dispute: {
      payment_not_received: 'Payment not received',
      wrong_amount: 'Wrong amount',
      fake_payment_proof: 'Fake payment proof',
      other: 'Other',
    },
    // Deposit / Withdraw
    deposit: 'Deposit',
    withdraw: 'Withdraw',
    platformWallet: 'Platform Wallet Address',
    txHash: 'Transaction Hash',
    txHashPlaceholder: '0x...',
    blockNumber: 'Block Number',
    optional: 'optional',
    verifyDeposit: 'Verify Deposit',
    verifying: 'Verifying...',
    verifyingDesc: 'Checking on-chain transaction. This may take up to 60 seconds.',
    depositSuccess: 'Deposit Successful!',
    depositFailed: 'Deposit Failed',
    depositInstructions:
      'Select a token and enter the amount to deposit to your P2P balance. The transaction will be sent from your wallet automatically.',
    depositInvalidAmount: 'Please enter a valid amount',
    depositSending: 'Sending transaction...',
    depositSendingDesc:
      'Signing and sending your deposit to Asset Hub. This may take up to 30 seconds.',
    walletNotConnected: 'Wallet not connected',
    connectWalletFirst: 'Please unlock your wallet to make deposits.',
    selectToken: 'Select Token',
    withdrawAmount: 'Withdrawal Amount',
    networkFee: 'Network Fee',
    netAmount: 'You Receive',
    withdrawSuccess: 'Withdrawal Requested!',
    withdrawProcessing:
      'Your withdrawal is being processed. Tokens will be sent to your wallet shortly.',
    withdrawing: 'Processing...',
    minWithdraw: 'Min Withdrawal',
    maxAvailable: 'Max',
    walletAddress: 'Wallet Address',
    noTrades: 'No trades yet',
  },

  update: {
    newVersion: 'New version available!',
    description: 'Update for new features and security fixes.',
    later: 'Later',
    updateNow: 'Update',
  },

  social: {
    followUs: 'Follow us',
    stayConnected: 'Stay connected and get the latest news!',
    instagram: 'Photos & Stories',
    tiktok: 'Short videos',
    snapchat: 'Snap us!',
    telegram: 'Official channel',
    twitter: 'Daily news',
    youtube: 'Our videos',
    facebook: 'Official page',
    discord: 'Our community',
  },

  errorBoundary: {
    title: 'Something went wrong',
    description: 'Sorry, a technical error occurred. Please try again.',
    retry: 'Try again',
  },

  loadingScreen: {
    loading: 'Loading...',
  },

  // Dashboard
  dashboard: {
    connected: 'Connected',
    send: 'Send',
    receive: 'Receive',
    presaleMessage: 'Presale is coming! It will open very soon.',
    depositUsdt: 'Add USDT',
    depositUsdtDesc: 'From TON, Polkadot or TRC20 networks',
    recentActivity: 'Recent Activity',
    history: 'History',
    refreshTx: 'Refresh',
    loadingTx: 'Loading...',
    noRecentTx: 'No recent transactions',
    historyAppears: 'Your history will appear here',
    sent: 'Sent',
    received: 'Received',
    selectStaking: 'Select Staking',
    validatorNominate: 'Nominate validators',
    trustScorePlus: 'Trust Score +',
    lpStakeDesc: 'Stake LP tokens',
    pezRewardPlus: 'PEZ Reward +',
    goBack: 'Back',
    stakedNote: 'Staked: {{amount}} HEZ',
  },

  // Send
  send: {
    back: '← Back',
    selectToken: 'Select Token',
    whichToken: 'Which token to send?',
    someChainNotConnected: '⚠️ Some chains are not connected',
    transferSuccess: 'Transfer Successful!',
    wasSent: '{amount} {token} was sent',
    done: 'Done',
    sendToken: 'Send {token}',
    changeToken: 'Change',
    recipientAddress: 'Recipient Address',
    scanQr: 'Scan QR',
    scanQrText: 'Scan wallet address',
    qrNotAvailable: 'QR scanner is not available on this platform',
    invalidAddress: 'Invalid address',
    amount: 'Amount',
    balanceLabel: 'Balance:',
    sending: 'Sending...',
    sendButton: 'Send',
    walletNotReady: 'Wallet is not ready',
    selectTokenFirst: 'Select a token',
    fillAddressAndAmount: 'Enter address and amount',
    insufficientBalance: 'Insufficient balance',
    mainnetApiNotReady: 'Mainnet API is not ready',
    assetHubApiNotReady: 'Asset Hub API is not ready',
    transferFailed: 'Transfer failed',
  },

  // Receive
  receive: {
    title: 'Receive',
    back: '← Back',
    qrFailed: 'QR generation failed',
    shareAddress: 'This is your address. Share it to receive tokens.',
    addressCopied: 'Copied!',
    copyAddress: 'Copy Address',
  },

  // History
  history: {
    title: 'Transaction History',
    back: '← Back',
    loadingTx: 'Loading...',
    noTransactions: 'No transactions',
    historyAppears: 'Your history will appear here',
    sent: 'Sent',
    received: 'Received',
    to: 'To:',
    from: 'From:',
  },

  // Swap
  swap: {
    title: 'Token Swap',
    fromLabel: 'From',
    toLabel: 'To',
    exchangeRate: 'Exchange Rate',
    noPool: 'No pool',
    swapping: 'Swapping...',
    noPoolButton: 'No Pool',
    swapButton: 'Swap',
    swapFailed: 'Swap failed',
    swapSuccess: 'Swap Successful!',
    balanceLabel: 'Balance:',
    insufficientBalance: 'Insufficient balance',
  },

  // Pools
  pools: {
    title: 'Liquidity Pools',
    connectionError: 'Connection error - please retry',
    loadingPools: 'Loading...',
    noPools: 'No pools',
    back: '← Back',
    addLiquidity: 'Add Liquidity',
    removeLiquidity: 'Remove Liquidity',
    yourPosition: 'Your Position',
    addButton: 'Add',
    removeButton: 'Remove',
    reserve: 'Reserve',
    lpBalance: 'LP Balance:',
    lpTokenAmount: 'LP Token Amount',
    amountAuto: '{token} Amount (auto)',
    adding: 'Adding...',
    removing: 'Removing...',
    addFailed: 'Add liquidity failed',
    removeFailed: 'Remove liquidity failed',
    invalidLpAmount: 'Invalid LP amount',
    estimatedReturn: 'Estimated return:',
    success: 'Success!',
    addedLiquidity: '{amount0} {token0} + {amount1} {token1} added',
    removedLiquidity: '{amount} LP tokens returned',
  },

  // Staking
  staking: {
    palletNotFound: 'Staking pallet not found',
    fetchError: 'Failed to fetch staking info',
    statusTab: 'Status',
    bondTab: 'Bond',
    nominateTab: 'Nominate',
    unbondTab: 'Unbond',
    activeStake: 'Active Stake',
    totalBonded: 'Total Bonded',
    nominations: 'Nominations',
    rewardDestination: 'Reward Destination',
    unbondingChunks: 'Unbonding',
    nominatedValidators: 'Nominated Validators',
    stakingTip: 'Staking HEZ increases Trust Score. Stake for at least 1 month for bonus.',
    notStakedYet: 'Not Staked Yet',
    stakeForTrustScore: 'Stake HEZ to earn Trust Score',
    startStaking: 'Start Staking',
    yourBalance: 'Your Balance',
    currentlyStaked: 'Currently Staked',
    amountHez: 'Amount (HEZ)',
    bondWarning: 'Staking requires 28 days for withdrawal.',
    bonding: 'Bonding...',
    bondExtra: 'Add More',
    bondButton: 'Bond',
    bondFirst: 'First bond HEZ, then nominate',
    selectValidators: 'Select validators (max 16): {count}/16',
    commission: 'Commission:',
    nominating: 'Nominating...',
    nominateButton: 'Nominate',
    notStakedUnbond: 'You have not staked yet',
    unbondWarning: 'Unbonding takes 28 days. Then you can withdraw.',
    unbondProcessing: 'Unbonding...',
    unbondButton: 'Unbond',
    bondSuccess: '{amount} HEZ staked successfully!',
    nominateSuccess: '{count} validators nominated successfully!',
    unbondSuccess: '{amount} HEZ unbonded! (28 days waiting)',
    bondFailed: 'Bond failed',
    nominateFailed: 'Nominate failed',
    unbondFailed: 'Unbond failed',
  },

  // LP Staking
  lpStaking: {
    palletNotReady: 'Staking pallet is not ready',
    poolsNotLoaded: 'Failed to load staking pools',
    noPoolsYet: 'No staking pools yet',
    selectPool: 'Select Pool',
    totalStaked: 'Total Staked',
    youStaked: 'You Staked',
    lpBalance: 'LP Balance',
    reward: 'Reward',
    stakeTab: 'Stake',
    unstakeTab: 'Unstake',
    rewardTab: 'Rewards',
    amount: 'Amount ({asset})',
    balanceLabel: 'Balance:',
    stakedLabel: 'Staked:',
    staking: 'Staking...',
    stakeButton: 'Stake',
    unstaking: 'Unstaking...',
    unstakeButton: 'Unstake',
    pendingRewards: 'Pending Rewards',
    claiming: 'Claiming...',
    claimButton: 'Claim Rewards',
    stakeFailed: 'Stake failed',
    stakeSuccess: 'Staked successfully!',
    unstakeFailed: 'Unstake failed',
    unstakeSuccess: 'Unstaked successfully!',
    claimFailed: 'Claim failed',
    claimSuccess: 'Rewards claimed!',
  },

  // Fees
  fees: {
    title: 'Add Fee',
    subtitle: 'HEZ teleport',
    success: 'Success!',
    sentTo: '{amount} HEZ sent to {chain}',
    failed: 'Failed',
    tryAgain: 'Try Again',
    targetChain: 'Target Chain',
    forTransfers: 'For PEZ transfers',
    forIdentity: 'For identity',
    minRecommended: '{description} minimum 0.1 HEZ recommended.',
    amountHez: 'Amount (HEZ)',
    signing: 'Sign the transaction...',
    xcmTeleportPending: 'XCM Teleport in progress...',
    signingButton: 'Signing...',
    processing: 'Processing...',
    sendTo: 'Send to {chain}',
    walletNotConnected: 'Wallet not connected',
    apiNotConnected: 'API not connected',
    enterValidAmount: 'Enter a valid amount',
    chainNotConnected: 'Chain not connected',
    insufficientBalance: 'Insufficient balance',
    xcmPalletNotFound: 'XCM pallet not found',
    teleportFailed: 'Teleport failed',
    errorOccurred: 'An error occurred',
  },

  // Tokens
  tokens: {
    searchPlaceholder: 'Search token...',
    addToken: 'Add Token',
    assetIdPlaceholder: 'Enter Asset ID (e.g. 3)',
    cancel: 'Cancel',
    add: 'Add',
    blockchainConnected: 'Pezkuwichain Connected',
    connectingBlockchain: 'Connecting to Blockchain...',
    connectingRpc: 'Connecting to RPC server...',
    tokenNotFound: 'Token not found',
    total: 'Total',
    loadingBalance: 'Loading...',
  },

  // Errors
  errors: {
    networkError: 'No internet connection. Please check your connection.',
    timeout: 'Operation took too long. Please try again.',
    walletNotFound: 'Wallet not found. Please create or restore a wallet.',
    wrongPassword: 'Wrong password. Please try again.',
    default: 'Something went wrong. Please try again.',
  },

  // Validation
  validation: {
    minLength: 'Password must be at least 12 characters',
    needLowercase: 'Password must contain at least 1 lowercase letter (a-z)',
    needUppercase: 'Password must contain at least 1 uppercase letter (A-Z)',
    needNumber: 'Password must contain at least 1 number (0-9)',
    needSpecialChar: 'Password must contain at least 1 special character (!@#$%...)',
    weakPassword: 'Password is not strong enough. Try a longer password with diverse characters.',
  },

  // Time
  time: {
    now: 'Now',
    minutesAgo: '{count} min ago',
    hoursAgo: '{count} hours ago',
    daysAgo: '{count} days ago',
  },

  // Context
  context: {
    walletInitFailed: 'Wallet initialization failed',
    rpcDisconnected: 'RPC connection lost. Reconnecting...',
    pleaseLoginFirst: 'Please log in first',
    invalidSeedPhrase: 'Invalid seed phrase',
    connectionFailed: 'Connection failed',
    referralStatsError: 'Failed to load referral stats',
    referralApproved: 'Referral approved! Your count: {count}',
    wrongPasswordError: 'Wrong password',
    walletSyncFailed: 'Wallet address sync to DB failed',
  },

  explorer: {
    title: 'Pezkuwi Explorer',
    subtitle: 'Blockchain Explorer',
    search: 'Search block number or address...',
    chainStats: 'Chain Stats',
    latestBlocks: 'Latest Blocks',
    recentTransfers: 'Recent Extrinsics',
    block: 'Block',
    validators: 'Validators',
    era: 'Era',
    blockTime: 'Block Time',
    extrinsics: 'exts',
    noResults: 'No results found',
    connecting: 'Connecting to chain...',
    hash: 'Hash',
    from: 'From',
    to: 'To',
    amount: 'Amount',
    time: 'Time',
    balance: 'Balance',
    seconds: 's ago',
    finalized: 'Finalized Block',
    searchResult: 'Search Result',
  },

  citizen: {
    pageTitle: 'Be Citizen',
    fullName: 'Full Name',
    fullNamePlaceholder: 'Enter your full name',
    fatherName: "Father's Name",
    fatherNamePlaceholder: "Enter your father's name",
    grandfatherName: "Grandfather's Name",
    grandfatherNamePlaceholder: "Enter your grandfather's name",
    motherName: "Mother's Name",
    motherNamePlaceholder: "Enter your mother's name",
    tribe: 'Tribe',
    tribePlaceholder: 'Enter your tribe name',
    maritalStatus: 'Marital Status',
    married: 'Married',
    single: 'Single',
    childrenCount: 'Number of Children',
    childName: 'Child {index} Name',
    childNamePlaceholder: 'Name',
    childBirthYear: 'Birth Year',
    addChild: 'Add child',
    removeChild: 'Remove',
    region: 'Region',
    regionPlaceholder: 'Select your region',
    regionBakur: 'Bakur (Turkey)',
    regionBasur: 'Bashur (Iraq)',
    regionRojava: 'Rojava (Syria)',
    regionRojhelat: 'Rojhelat (Iran)',
    regionKurdistanASor: 'Red Kurdistan',
    regionDiaspora: 'Diaspora',
    email: 'E-mail',
    emailPlaceholder: 'name@mail.com',
    profession: 'Profession',
    professionPlaceholder: 'Enter your profession',
    referrerAddress: 'Referrer Address (Optional)',
    referrerPlaceholder: 'Enter SS58 address - leave empty for auto-assign',
    consentCheckbox: 'My data is protected with ZK-proof, only a hash is stored on the blockchain',
    submit: 'Submit',
    sign: 'Sign',
    openApp: 'Open App',
    preparingData: 'Preparing data...',
    readyToSign: 'Ready to sign',
    signingTx: 'Signing...',
    applicationSubmitted: 'Your application has been submitted!',
    pendingReferral: 'Waiting for referrer approval',
    identityHash: 'Identity Hash',
    applicationInfo: 'Once your referrer approves, you can confirm',
    depositRequired: '1 HEZ deposit required',
    walletAddress: 'Wallet Address',
    privacyNotice:
      'Your personal information is never sent anywhere. Only a hash code is generated and recorded on the blockchain.',
    seedPhrase: 'Seed Phrase',
    seedPhrasePlaceholder: 'Paste your 12 or 24 word seed phrase here...',
    invalidSeedPhrase: 'Invalid seed phrase. Please enter 12 or 24 valid words.',
    connectingChain: 'Connecting to People Chain...',
    stepApplicationSent: 'Application submitted (completed)',
    stepReferrerApproval: 'Waiting for referrer approval',
    stepConfirm: 'After approval, confirm from your wallet',
    nextStepsInfo: 'Follow the next steps from your wallet',
    fillAllFields: 'Please fill in all fields',
    acceptConsent: 'Please accept the consent checkbox',
    walletNotConnected: 'Wallet not connected',
    peopleChainNotConnected: 'People Chain not connected',
    submissionFailed: 'Submission failed',
    alreadyPending: 'You already have a pending application',
    alreadyApproved: 'Your citizenship is already approved!',
    insufficientBalance: 'Insufficient balance (1 HEZ deposit required)',
    applyingCitizenship: 'Applying for citizenship...',
    applicationSuccess: 'Application submitted!',
    selectLanguage: 'Select language',
  },
};

export default en;
