export const musicNetwork = {
  title: 'Music Network',
  desc: 'Scrobble your plays to one or more services. Love, similar artists and listening stats come from your chosen primary.',
  masterToggle: 'Enable scrobbling',
  masterToggleDesc: 'Master switch for sending plays to every connected service.',
  addService: 'Add a service',
  connect: 'Connect',
  connecting: 'Connecting…',
  disconnect: 'Disconnect',
  scrobbleHere: 'Scrobble here',
  primaryLabel: 'Primary service',
  primaryDesc: 'Liked tracks (❤), similar artists and your listening stats come from here — scrobbling goes to all enabled services regardless.',
  primaryNone: 'None',
  statusConnected: 'Connected',
  statusError: 'Reconnect needed',
  scrobbles: '{{n}} scrobbles',
  memberSince: 'Member since {{year}}',
  connectFailed: 'Could not connect — please try again.',
  connectProbeFailed: 'Connected {{provider}}, but it could not be validated: {{message}}',
  fieldRequired: '{{field}} is required.',
  malojaProxyWarning: 'Your Maloja server may forward scrobbles to Last.fm. Disable scrobbling on one side to avoid duplicates.',
  presets: {
    lastfm: { desc: 'The original scrobbling service, with love, similar artists and stats.' },
    librefm: { desc: 'Open-source scrobbling on the Last.fm-compatible Libre.fm.' },
    rocksky: { desc: 'Scrobble-only destination on the AT Protocol.' },
    listenbrainz: { desc: 'Open listening history by MetaBrainz. Scrobble destination.' },
    malojaNative: { desc: 'Self-hosted scrobble server (native API).' },
    malojaCompat: { desc: 'Self-hosted Maloja via its Audioscrobbler (GNU FM) API.' },
    malojaListenbrainz: { desc: 'Self-hosted Maloja via its ListenBrainz-compatible API.' },
    koito: { desc: 'Self-hosted listening tracker via its ListenBrainz-compatible API.' },
    customGnufm: { desc: 'Any self-hosted GNU FM / Last.fm-compatible instance.' },
  },
  fields: {
    lbToken: 'User token',
    malojaUrl: 'Server URL',
    malojaKey: 'API key',
    koitoUrl: 'Server URL',
    koitoToken: 'API key',
    koitoTokenHelp: 'Generate an API key in Koito under Settings → API Keys, then paste it here.',
    rockskySessionKey: 'Session key',
    rockskySessionKeyHelp: 'Rocksky issues this key only via its CLI:\n1. npx -y @rocksky/cli@latest login your-handle\n2. cat ~/.rocksky/token.json\n3. Paste the "token" value here.',
    gnufmUrl: 'Server URL',
    apiKey: 'API key',
    apiSecret: 'Shared secret',
  },
  errors: {
    AUTH_SESSION_INVALID: 'Session expired — reconnect in Settings.',
    AUTH_TIMEOUT: 'Authorization timed out — please try again.',
    PROBE_FAILED: 'This feature is unavailable on this service.',
    CAPABILITY_UNSUPPORTED: 'This service does not support that feature.',
    NETWORK: 'Network error — check your connection or URL.',
    MALOJA_BAD_KEY: 'Invalid Maloja API key.',
    CUSTOM_URL_INVALID: 'The server URL is unreachable.',
  },
};
