import { defineMessages } from 'react-intl';

export const labels = defineMessages({
  unknown: { id: 'label.unknown', defaultMessage: 'Unknown' },
  required: { id: 'label.required', defaultMessage: 'Required' },
  save: { id: 'label.save', defaultMessage: 'Save' },
  cancel: { id: 'label.cancel', defaultMessage: 'Cancel' },
  continue: { id: 'label.continue', defaultMessage: 'Continue' },
  delete: { id: 'label.delete', defaultMessage: 'Delete' },
  leave: { id: 'label.leave', defaultMessage: 'Leave' },
  users: { id: 'label.users', defaultMessage: 'Users' },
  createUser: { id: 'label.create-user', defaultMessage: 'Create user' },
  deleteUser: { id: 'label.delete-user', defaultMessage: 'Delete user' },
  username: { id: 'label.username', defaultMessage: 'Username' },
  password: { id: 'label.password', defaultMessage: 'Password' },
  role: { id: 'label.role', defaultMessage: 'Role' },
  user: { id: 'label.user', defaultMessage: 'User' },
  viewOnly: { id: 'label.view-only', defaultMessage: 'View only' },
  admin: { id: 'label.admin', defaultMessage: 'Administrator' },
  confirm: { id: 'label.confirm', defaultMessage: 'Confirm' },
  details: { id: 'label.details', defaultMessage: 'Details' },
  website: { id: 'label.website', defaultMessage: 'Website' },
  websites: { id: 'label.websites', defaultMessage: 'Websites' },
  created: { id: 'label.created', defaultMessage: 'Created' },
  edit: { id: 'label.edit', defaultMessage: 'Edit' },
  name: { id: 'label.name', defaultMessage: 'Name' },
  members: { id: 'label.members', defaultMessage: 'Members' },
  accessCode: { id: 'label.access-code', defaultMessage: 'Access code' },
  teamId: { id: 'label.team-id', defaultMessage: 'Team ID' },
  team: { id: 'label.team', defaultMessage: 'Team' },
  regenerate: { id: 'label.regenerate', defaultMessage: 'Regenerate' },
  remove: { id: 'label.remove', defaultMessage: 'Remove' },
  join: { id: 'label.join', defaultMessage: 'Join' },
  createTeam: { id: 'label.create-team', defaultMessage: 'Create team' },
  joinTeam: { id: 'label.join-team', defaultMessage: 'Join team' },
  settings: { id: 'label.settings', defaultMessage: 'Settings' },
  owner: { id: 'label.owner', defaultMessage: 'Owner' },
  teamOwner: { id: 'label.team-owner', defaultMessage: 'Team owner' },
  teamMember: { id: 'label.team-member', defaultMessage: 'Team member' },
  teamGuest: { id: 'label.team-guest', defaultMessage: 'Team guest' },
  enableShareUrl: { id: 'label.enable-share-url', defaultMessage: 'Enable share URL' },
  data: { id: 'label.data', defaultMessage: 'Data' },
  trackingCode: { id: 'label.tracking-code', defaultMessage: 'Tracking code' },
  shareUrl: { id: 'label.share-url', defaultMessage: 'Share URL' },
  actions: { id: 'label.actions', defaultMessage: 'Actions' },
  domain: { id: 'label.domain', defaultMessage: 'Domain' },
  websiteId: { id: 'label.website-id', defaultMessage: 'Website ID' },
  resetWebsite: { id: 'label.reset-website', defaultMessage: 'Reset website' },
  deleteWebsite: { id: 'label.delete-website', defaultMessage: 'Delete website' },
  reset: { id: 'label.reset', defaultMessage: 'Reset' },
  addWebsite: { id: 'label.add-website', defaultMessage: 'Add website' },
  addDescription: { id: 'label.add-description', defaultMessage: 'Add description' },
  changePassword: { id: 'label.change-password', defaultMessage: 'Change password' },
  currentPassword: { id: 'label.current-password', defaultMessage: 'Current password' },
  newPassword: { id: 'label.new-password', defaultMessage: 'New password' },
  confirmPassword: { id: 'label.confirm-password', defaultMessage: 'Confirm password' },
  timezone: { id: 'label.timezone', defaultMessage: 'Timezone' },
  defaultDateRange: { id: 'label.default-date-range', defaultMessage: 'Default date range' },
  language: { id: 'label.language', defaultMessage: 'Language' },
  theme: { id: 'label.theme', defaultMessage: 'Theme' },
  profile: { id: 'label.profile', defaultMessage: 'Profile' },
  dashboard: { id: 'label.dashboard', defaultMessage: 'Dashboard' },
  more: { id: 'label.more', defaultMessage: 'More' },
  realtime: { id: 'label.realtime', defaultMessage: 'Realtime' },
  queries: { id: 'label.queries', defaultMessage: 'Queries' },
  teams: { id: 'label.teams', defaultMessage: 'Teams' },
  analytics: { id: 'label.analytics', defaultMessage: 'Analytics' },
  login: { id: 'label.login', defaultMessage: 'Login' },
  logout: { id: 'label.logout', defaultMessage: 'Logout' },
  singleDay: { id: 'label.single-day', defaultMessage: 'Single day' },
  dateRange: { id: 'label.date-range', defaultMessage: 'Date range' },
  viewDetails: { id: 'label.view-details', defaultMessage: 'View details' },
  deleteTeam: { id: 'label.delete-team', defaultMessage: 'Delete team' },
  leaveTeam: { id: 'label.leave-team', defaultMessage: 'Leave team' },
  refresh: { id: 'label.refresh', defaultMessage: 'Refresh' },
  pages: { id: 'label.pages', defaultMessage: 'Pages' },
  referrers: { id: 'label.referrers', defaultMessage: 'Referrers' },
  screens: { id: 'label.screens', defaultMessage: 'Screens' },
  browsers: { id: 'label.browsers', defaultMessage: 'Browsers' },
  os: { id: 'label.operating-systems', defaultMessage: 'Operating systems' },
  devices: { id: 'label.devices', defaultMessage: 'Devices' },
  countries: { id: 'label.countries', defaultMessage: 'Countries' },
  languages: { id: 'label.languages', defaultMessage: 'Languages' },
  events: { id: 'label.events', defaultMessage: 'Events' },
  query: { id: 'label.query', defaultMessage: 'Query' },
  queryParameters: { id: 'label.query-parameters', defaultMessage: 'Query parameters' },
  back: { id: 'label.back', defaultMessage: 'Back' },
  visitors: { id: 'label.visitors', defaultMessage: 'Visitors' },
  filterCombined: { id: 'label.filter-combined', defaultMessage: 'Combined' },
  filterRaw: { id: 'label.filter-raw', defaultMessage: 'Raw' },
  views: { id: 'label.views', defaultMessage: 'Views' },
  none: { id: 'label.none', defaultMessage: 'None' },
  clearAll: { id: 'label.clear-all', defaultMessage: 'Clear all' },
  today: { id: 'label.today', defaultMessage: 'Today' },
  lastHours: { id: 'label.last-hours', defaultMessage: 'Last {x} hours' },
  yesterday: { id: 'label.yesterday', defaultMessage: 'Yesterday' },
  thisWeek: { id: 'label.this-week', defaultMessage: 'This week' },
  lastDays: { id: 'label.last-days', defaultMessage: 'Last {x} days' },
  thisMonth: { id: 'label.this-month', defaultMessage: 'This month' },
  thisYear: { id: 'label.this-year', defaultMessage: 'This year' },
  allTime: { id: 'label.all-time', defaultMessage: 'All time' },
  customRange: { id: 'label.custom-range', defaultMessage: 'Custom range' },
  selectWebsite: { id: 'label.select-website', defaultMessage: 'Select website' },
  selectDate: { id: 'label.select-date', defaultMessage: 'Select date' },
  all: { id: 'label.all', defaultMessage: 'All' },
  sessions: { id: 'label.sessions', defaultMessage: 'Sessions' },
  pageNotFound: { id: 'message.page-not-found', defaultMessage: 'Page not found' },
  activityLog: { id: 'label.activity-log', defaultMessage: 'Activity log' },
  dismiss: { id: 'label.dismiss', defaultMessage: 'Dismiss' },
  poweredBy: { id: 'label.powered-by', defaultMessage: 'Powered by {name}' },
  pageViews: { id: 'label.page-views', defaultMessage: 'Page views' },
  uniqueVisitors: { id: 'label.unique-visitors', defaultMessage: 'Unique visitors' },
  bounceRate: { id: 'label.bounce-rate', defaultMessage: 'Bounce rate' },
  averageVisitTime: { id: 'label.average-visit-time', defaultMessage: 'Average visit time' },
  desktop: { id: 'label.desktop', defaultMessage: 'Desktop' },
  laptop: { id: 'label.laptop', defaultMessage: 'Laptop' },
  tablet: { id: 'label.tablet', defaultMessage: 'Tablet' },
  mobile: { id: 'label.mobile', defaultMessage: 'Mobile' },
  toggleCharts: { id: 'label.toggle-charts', defaultMessage: 'Toggle charts' },
  editDashboard: { id: 'label.edit-dashboard', defaultMessage: 'Edit dashboard' },
  title: { id: 'label.title', defaultMessage: 'Title' },
  view: { id: 'label.view', defaultMessage: 'View' },
  cities: { id: 'label.cities', defaultMessage: 'Cities' },
  regions: { id: 'label.regions', defaultMessage: 'Regions' },
  reports: { id: 'label.reports', defaultMessage: 'Reports' },
  eventData: { id: 'label.event-data', defaultMessage: 'Event data' },
  funnel: { id: 'label.funnel', defaultMessage: 'Funnel' },
  url: { id: 'label.url', defaultMessage: 'URL' },
  urls: { id: 'label.urls', defaultMessage: 'URLs' },
  add: { id: 'label.add', defaultMessage: 'Add' },
  window: { id: 'label.window', defaultMessage: 'Window' },
  runQuery: { id: 'label.run-query', defaultMessage: 'Run query' },
  field: { id: 'label.field', defaultMessage: 'Field' },
  fields: { id: 'label.fields', defaultMessage: 'Fields' },
  createReport: { id: 'labels.create-report', defaultMessage: 'Create report' },
  description: { id: 'labels.description', defaultMessage: 'Description' },
  untitled: { id: 'labels.untitled', defaultMessage: 'Untitled' },
  type: { id: 'labels.type', defaultMessage: 'Type' },
  filters: { id: 'labels.filters', defaultMessage: 'Filters' },
  breakdown: { id: 'labels.breakdown', defaultMessage: 'Breakdown' },
  true: { id: 'labels.true', defaultMessage: 'True' },
  false: { id: 'labels.false', defaultMessage: 'False' },
  equals: { id: 'labels.equals', defaultMessage: 'Equals' },
  doesNotEqual: { id: 'labels.does-not-equal', defaultMessage: 'Does not equal' },
  greaterThan: { id: 'labels.greater-than', defaultMessage: 'Greater than' },
  lessThan: { id: 'labels.less-than', defaultMessage: 'Less than' },
  greaterThanEquals: { id: 'labels.greater-than-equals', defaultMessage: 'Greater than or equals' },
  lessThanEquals: { id: 'labels.less-than-equals', defaultMessage: 'Less than or equals' },
  contains: { id: 'labels.contains', defaultMessage: 'Contains' },
  doesNotContain: { id: 'labels.does-not-contain', defaultMessage: 'Does not contain' },
  before: { id: 'labels.before', defaultMessage: 'Before' },
  after: { id: 'labels.after', defaultMessage: 'After' },
  total: { id: 'labels.total', defaultMessage: 'Total' },
  sum: { id: 'labels.sum', defaultMessage: 'Sum' },
  average: { id: 'labels.average', defaultMessage: 'Average' },
  min: { id: 'labels.min', defaultMessage: 'Min' },
  max: { id: 'labels.max', defaultMessage: 'Max' },
  unique: { id: 'labels.unique', defaultMessage: 'Unique' },
  value: { id: 'labels.value', defaultMessage: 'Value' },
  overview: { id: 'labels.overview', defaultMessage: 'Overview' },
  totalRecords: { id: 'labels.total-records', defaultMessage: 'Total records' },
});

export const messages = defineMessages({
  error: { id: 'message.error', defaultMessage: 'Something went wrong.' },
  saved: { id: 'message.saved', defaultMessage: 'Saved.' },
  noUsers: { id: 'message.no-users', defaultMessage: 'There are no users.' },
  userDeleted: { id: 'message.user-deleted', defaultMessage: 'User deleted.' },
  noDataAvailable: { id: 'message.no-data-available', defaultMessage: 'No data available.' },
  confirmReset: {
    id: 'message.confirm-reset',
    defaultMessage: 'Are you sure you want to reset {target}?',
  },
  confirmDelete: {
    id: 'message.confirm-delete',
    defaultMessage: 'Are you sure you want to delete {target}?',
  },
  confirmLeave: {
    id: 'message.confirm-leave',
    defaultMessage: 'Are you sure you want to leave {target}?',
  },
  minPasswordLength: {
    id: 'message.min-password-length',
    defaultMessage: 'Minimum length of {n} characters',
  },
  noTeams: {
    id: 'message.no-teams',
    defaultMessage: 'You have not created any teams.',
  },
  shareUrl: {
    id: 'message.share-url',
    defaultMessage: 'Your website stats are publically available at the following URL:',
  },
  trackingCode: {
    id: 'message.tracking-code',
    defaultMessage:
      'To track stats for this website, place the following code in the <head>...</head> section of your HTML.',
  },
  joinTeamWarning: {
    id: 'message.team-already-member',
    defaultMessage: 'You are already a member of the team.',
  },
  deleteAccount: {
    id: 'message.delete-account',
    defaultMessage: 'To delete this account, type {confirmation} in the box below to confirm.',
  },
  deleteWebsite: {
    id: 'message.delete-website',
    defaultMessage: 'To delete this website, type {confirmation} in the box below to confirm.',
  },
  resetWebsite: {
    id: 'message.reset-website',
    defaultMessage: 'To reset this website, type {confirmation} in the box below to confirm.',
  },
  invalidDomain: {
    id: 'message.invalid-domain',
    defaultMessage: 'Invalid domain. Do not include http/https.',
  },
  resetWebsiteWarning: {
    id: 'message.reset-website-warning',
    defaultMessage:
      'All statistics for this website will be deleted, but your settings will remain intact.',
  },
  deleteWebsiteWarning: {
    id: 'message.delete-website-warning',
    defaultMessage: 'All website data will be deleted.',
  },
  noResultsFound: {
    id: 'messages.no-results-found',
    defaultMessage: 'No results were found.',
  },
  noWebsitesConfigured: {
    id: 'messages.no-websites-configured',
    defaultMessage: 'You do not have any websites configured.',
  },
  noTeamWebsites: {
    id: 'messages.no-team-websites',
    defaultMessage: 'This team does not have any websites.',
  },
  teamWebsitesInfo: {
    id: 'messages.team-websites-info',
    defaultMessage: 'Websites can be viewed by anyone on the team.',
  },
  noMatchPassword: { id: 'message.no-match-password', defaultMessage: 'Passwords do not match.' },
  goToSettings: {
    id: 'message.go-to-settings',
    defaultMessage: 'Go to settings',
  },
  activeUsers: {
    id: 'message.active-users',
    defaultMessage: '{x} current {x, plural, one {visitor} other {visitors}}',
  },
  teamNotFound: {
    id: 'message.team-not-found',
    defaultMessage: 'Team not found.',
  },
  visitorLog: {
    id: 'message.visitor-log',
    defaultMessage: 'Visitor from {country} using {browser} on {os} {device}',
  },
  eventLog: {
    id: 'message.event-log',
    defaultMessage: '{event} on {url}',
  },
  incorrectUsernamePassword: {
    id: 'message.incorrect-username-password',
    defaultMessage: 'Incorrect username and/or password.',
  },
  noEventData: {
    id: 'message.no-event-data',
    defaultMessage: 'No event data is available.',
  },
});
