// English dictionary.
window.I18N_EN = {
  dateJoiner: '',
  weekdaysLong:  ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],
  weekdaysShort: ['Mon','Tue','Wed','Thu','Fri','Sat','Sun'],
  monthsLong:    ['January','February','March','April','May','June','July','August','September','October','November','December'],
  monthsShort:   ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],

  relative: {
    daysAgo: '{n} days ago',
    yesterday: 'yesterday',
    today: 'today',
    tomorrow: 'tomorrow',
    inDays: 'in {n} days',
    nextWeek: 'next week',
    inMonth: 'in ~1 month',
    inMonths: 'in ~{n} months',
  },

  cat: { feina: 'Work', estudi: 'Studies', personal: 'Personal', salut: 'Health', casa: 'Home', social: 'Social' },

  header: {
    greetingMorning: 'Good morning', greetingAfternoon: 'Good day', greetingEvening: 'Good evening', greetingNight: 'Good night',
    toggleTheme: 'Toggle theme', add: 'Add',
    viewAgenda: 'Agenda', viewCalendar: 'Calendar', viewProjects: 'Projects', viewAriaLabel: 'View',
    account: 'Account', help: 'Help', logout: 'Log out',
  },

  sync: { local: 'local', idle: 'synced', syncing: 'syncing', saving: 'saving', offline: 'offline', auth: 'logged out', statusLabel: 'Sync status: {s}' },

  filter: { hidePast: 'Hide past', hideDone: 'Hide done' },

  agendaView: {
    today: 'Today', tomorrow: 'Tomorrow', later: 'Later', overdue: 'Overdue',
    emptyToday: 'Nothing for today. Enjoy the free day.', add: 'Add',
    itemsThisDay: '{n, plural, 1:1 item|other:# items} this day',
  },

  card: { markDone: 'Mark as done', markPending: 'Mark as pending', delete: 'Delete', openMaps: 'Open "{name}" in Google Maps' },

  cal: { prevMonth: 'Previous month', nextMonth: 'Next month', today: 'today', addHere: 'Add here', itemsThisDay: '{n} item(s) this day', itemsThisWeek: '{n} item(s) this week', addOnDate: 'Add on the {day}' },

  daypanel: { close: 'Close', empty: 'Nothing for this day.', add: 'Add', addOnDay: 'Add on this day' },

  editor: {
    newTitle: 'New item', editTitle: 'Edit',
    titleLabel: 'Title', titlePlaceholder: 'What do you want to remember?',
    dateLabel: 'Date', timeLabel: 'Time', timeEndLabel: 'Until', optional: '(optional)',
    categoryLabel: 'Category',
    noteLabel: 'Note', notePlaceholder: 'Details, reminders, anything…',
    locationNameLabel: 'Place name', locationNamePlaceholder: 'e.g. Dentist clinic',
    locationAddressLabel: 'Address for Maps', locationAddressHint: '(optional, if different from the name)', locationAddressPlaceholder: 'e.g. Main St 1, City',
    attachmentsLabel: 'Attachments',
    addLink: 'Link', addFile: 'File', uploading: 'Uploading…',
    linkNamePlaceholder: 'Link name (optional)', linkUrlPlaceholder: 'https://…', confirmAdd: 'Add',
    removeAttachment: 'Remove attachment',
    cancel: 'Cancel', save: 'Save', add: 'Add', delete: 'Delete',
    uploadError: 'Error uploading the file', close: 'Close',
  },

  fab: { add: 'Add item' },

  demo: { welcomeTitle: 'Welcome to your new agenda', welcomeNote: 'Tap + to add your first event, or check Help for how to connect Claude.' },

  proj: {
    priority: { high: 'High', orange: 'Medium-high', yellow: 'Medium', cyan: 'Medium-low', violet: 'Low' },
    defaultName: 'New project', untitled: 'Untitled', defaultState: 'Not started',
    add: 'Add project',
    panel: {
      namePlaceholder: 'Project name', close: 'Close',
      priorityLabel: 'Priority', progressLabel: 'Progress',
      stateLabel: 'State', statePlaceholder: 'Type the status…',
      todosLabel: 'Tasks', todoPlaceholder: 'Add a task…', todosEmpty: 'No tasks', addTodo: 'Add',
      notesLabel: 'Notes', notesPlaceholder: 'Next step, last update…',
      delete: 'Delete', save: 'Save',
    },
  },

  auth: {
    appName: 'jsagenda',
    login: {
      title: 'Log in', username: 'Username', password: 'Password',
      submit: 'Log in', noAccount: "Don't have an account?", registerLink: 'Create one',
      forgot: 'Forgot your password?', error: 'Incorrect username or password.',
    },
    register: {
      title: 'Create your free account', username: 'Username', usernameHint: '3-32 characters, letters/numbers/_/-, no email needed',
      password: 'Password', passwordHint: 'Minimum 8 characters', language: 'Language',
      submit: 'Create account', haveAccount: 'Already have an account?', loginLink: 'Log in',
      usernameTaken: 'That username is already taken.', error: 'Could not create the account, please check your details.',
      recoverySaveTitle: 'Save your recovery code', recoverySaveBody: "This is the only way to recover your account if you forget your password. We won't show it again.",
      recoveryContinue: "I've saved it, continue",
      mcpTitle: 'Your personal MCP URL', mcpBody: 'Use this URL to connect your own Claude to your agenda. You can find it again anytime in Account settings → Connect Claude.',
      finish: 'Go to my agenda',
    },
    recover: {
      title: 'Recover account', username: 'Username', recoveryCode: 'Recovery code', newPassword: 'New password',
      submit: 'Reset password', backToLogin: 'Back to log in', error: 'Invalid username or recovery code.',
      success: 'Password reset. Save your new recovery code below.',
    },
    honeypotLabel: 'Website', // hidden field, never shown to real users
  },

  account: {
    title: 'Account settings', username: 'Username',
    changeLanguage: 'Language', changeLanguageSaved: 'Language updated.',
    changePasswordTitle: 'Change password', currentPassword: 'Current password', newPassword: 'New password', changePasswordSubmit: 'Update password',
    changePasswordSuccess: 'Password updated. Other devices were logged out.', changePasswordError: 'Current password is incorrect.',
    mcpTitle: 'Connect Claude (MCP)', mcpBody: 'This URL is personal — anyone with it can read and edit your agenda. Regenerating it invalidates the old one immediately.',
    mcpRegenerate: 'Regenerate URL', mcpRegenerateConfirm: 'This will invalidate your current MCP URL on every device where it is connected. Continue?',
    mcpCopy: 'Copy',
    logout: 'Log out',
  },

  help: {
    title: 'Help & connecting Claude',
    intro: 'Use this personal URL to connect your own Claude (Claude Code, Claude Desktop or claude.ai) to your agenda. Treat it like a password — anyone with this URL can read and edit your agenda.',
    cliTitle: 'Claude Code (CLI)',
    desktopTitle: 'Claude Desktop / claude.ai',
    desktopBody: 'Add a custom connector with this URL as a Streamable HTTP MCP server.',
    toolsTitle: 'What can it do?',
    toolsBody: 'List, add, update, delete and search your agenda items and projects — entirely in natural language.',
    sectionsTitle: 'Agenda, Calendar and Projects',
    sectionsAgendaTitle: 'Agenda',
    sectionsAgendaBody: 'A simple list of your events and tasks, grouped by Today, Tomorrow, Later and Overdue. The fastest way to see what\'s next and add new items.',
    sectionsCalendarTitle: 'Calendar',
    sectionsCalendarBody: 'A month view of the same events. Click any day to see or add items for that date, and get a quick overview of busy weeks.',
    sectionsProjectsTitle: 'Projects',
    sectionsProjectsBody: 'A separate tracker for longer-running personal projects: priority, progress, status and a checklist of to-dos for each one. Independent from your agenda events.',
  },

  landing: {
    title: 'jsagenda — your free public agenda',
    tagline: 'A simple, private agenda for everyone. Free account, your own login, connect your own Claude.',
    cta: 'Create your free account',
    loginCta: 'Already have an account? Log in',
    feature1Title: 'Private by default', feature1Body: 'Your account, your data. Nobody else can see your agenda or projects.',
    feature2Title: 'Connect Claude', feature2Body: 'Manage your agenda by chatting with your own Claude via MCP.',
    feature3Title: 'Your language', feature3Body: 'Available in English, Spanish, Catalan and Dutch.',
  },
};
