{
  "pageTitle": "Wallet Lab | Get Started with Web3",
  "pageDesc": "A learner-safe wallet interoperability lab for EIP-6963, network switching, and message signing.",
  "backHome": "Back to home",
  "eyebrow": "Modern Web3 Lab",
  "heading": "Wallet Interoperability Lab",
  "subheading": "A focused lab surface for injected-wallet discovery, network context, and message signing. It uses browser wallet APIs directly so learners can see the moving parts before a heavier wallet stack is introduced.",
  "labSafetyLabel": "Educational lab only",
  "interactiveTitle": "Try the wallet flow",
  "statusIdle": "Ready",
  "statusDiscovering": "Detecting wallets",
  "statusConnecting": "Connecting",
  "statusConnected": "Connected",
  "statusSwitching": "Switching network",
  "statusSigning": "Waiting for signature",
  "refreshWallets": "Refresh wallets",
  "detectedWalletsTitle": "Detected wallets",
  "detectedWalletsCount": "{{count}} detected",
  "noWalletTitle": "No injected wallet detected",
  "noWalletBody": "Open this lab in a browser with an EVM wallet extension to test discovery, connection, network switching, and message signing.",
  "connectWallet": "Connect wallet",
  "disconnectWallet": "Disconnect locally",
  "connectedWallet": "Wallet",
  "connectedAccount": "Account",
  "connectedNetwork": "Network",
  "switchNetworkTitle": "Approved network switch targets",
  "signTitle": "Educational message signing",
  "signMessage": "Sign learning message",
  "signedResultTitle": "Signature returned locally",
  "scopeTitle": "MVP scope",
  "scopeConnect": "Connect and disconnect wallet",
  "scopeNetwork": "Show account, chain name, and chain ID",
  "scopeSwitch": "Switch between an approved set of networks",
  "scopeSign": "Sign one educational message and inspect the result locally",
  "conceptsTitle": "What this lab teaches",
  "conceptEip6963": "EIP-6963 lets multiple injected wallets announce themselves so a page can offer a wallet choice instead of assuming one global window.ethereum provider.",
  "conceptSigning": "A message signature proves control of a wallet for this prompt only. It does not send a transaction, move assets, or create a production login session.",
  "conceptDisconnect": "Browser wallets do not share one universal disconnect API. This lab clears local state and leaves wallet-side permissions under the user's wallet UI.",
  "privacyTitle": "Privacy boundary",
  "privacyBody": "The lab never sends raw wallet addresses, signatures, signed messages, provider objects, or transaction payloads to analytics. Account and signature values are displayed only in this tab, and addresses are shortened in the UI.",
  "nextTitle": "Next implementation slice",
  "nextBody": "Use this dependency-free EIP-6963/EIP-1193 slice as the baseline. Add wagmi, viem, RainbowKit, or Reown AppKit only if a later lab needs their abstractions.",
  "architectureLink": "Wallet lab architecture note",
  "errorNoWallet": "No injected wallet provider was detected in this browser.",
  "errorProviderUnavailable": "The selected wallet provider is unavailable.",
  "errorNoAccount": "The wallet did not return an account.",
  "errorNoConnection": "Connect a wallet before running this action.",
  "errorRejected": "The wallet request was rejected.",
  "errorUnauthorized": "The wallet has not authorized this page.",
  "errorChainNotAdded": "The selected wallet does not know this chain yet. The lab will not add RPC settings automatically.",
  "errorRequestPending": "A wallet request is already pending. Check the wallet popup.",
  "errorGeneric": "The wallet request failed."
}
