export const aiUsageEn = {
  nav: {
    title: 'AI Coding Usage',
    overview: 'Overview',
    devices: 'Devices',
    tokens: 'Tokens',
    dlq: 'DLQ',
    me: 'My Usage',
    myTokens: 'My Tokens',
  },
  kpi: {
    totalCost: 'Total Cost (USD)',
    totalTokens: 'Total Tokens',
    activeUsers: 'Active Users',
    activeProjects: 'Active Projects',
    activeDevices: 'Active Devices',
  },
  trend: {
    title: 'Usage Trend',
    granularity: { day: 'Day', week: 'Week', month: 'Month' },
    groupBy: { none: 'Total', tool: 'By Tool', model: 'By Model', topUser: 'By Top User' },
  },
  breakdown: {
    tab: { user: 'User', project: 'Project', tool: 'Tool', model: 'Model' },
    column: { name: 'Name', tokens: 'Tokens', cost: 'Cost (USD)', share: 'Share', deltaPct: 'Δ%' },
  },
  filter: {
    periodLabel: 'Period',
  },
  block: {
    activeTitle: 'Current 5h Quota Window',
    recentTitle: 'Recent 5h Quota Windows',
    active: ' (active)',
    elapsed: 'Elapsed',
    remaining: 'Remaining',
    burnRate: 'Burn rate',
    colStarted: 'Started',
    colDuration: 'Duration',
    colEvents: 'Events',
    colTokens: 'Tokens',
    colCost: 'Cost',
  },
  period: {
    today: 'Today',
    week: 'This Week',
    month: 'This Month',
    year: 'This Year',
    last7d: 'Last 7 Days',
    last30d: 'Last 30 Days',
    last60d: 'Last 60 Days',
    last90d: 'Last 90 Days',
  },
  empty: {
    inviteToInstall: 'No employees have installed ffctk yet. Invite them to start tracking.',
    copyInstallCmd: 'Copy install command',
    noOwnToken: "You don't have any tokens yet. Generate your first to start.",
    createFirst: 'Generate My First Token',
    waitingFirstEvent: 'Waiting for first event from client (usually within 30s)',
  },
  token: {
    listTitle: 'My Tokens',
    createButton: 'Generate New Token',
    createDialogTitle: 'Generate New Token',
    nameLabel: 'Token name (to distinguish machines)',
    namePlaceholder: 'e.g. My MacBook',
    warningVisibleOnce: '⚠️ This token is shown ONCE. After closing, you cannot view it again.',
    copyAll: 'Copy All Commands',
    copyToken: 'Copy Token',
    savedClose: 'I have saved the token, close',
    savedConfirm: 'Have you saved the token? It will not be shown again.',
    revokeConfirmTitle: 'Revoke Token',
    revokeConfirmBody: 'Revoking this token will invalidate it immediately. The user must generate a new one.',
    revokeReasonLabel: 'Revoke reason (optional)',
    columnName: 'Name',
    columnPrefix: 'Prefix',
    columnLastUsed: 'Last Used',
    columnCreated: 'Created',
    columnStatus: 'Status',
    columnActions: 'Actions',
    statusActive: 'Active',
    statusRevoked: 'Revoked',
    actionRevoke: 'Revoke',
  },
  device: {
    listTitle: 'Device Management',
    blockConfirmTitle: 'Block Device',
    blockReasonLabel: 'Block reason (required)',
    blockReasonPlaceholder: 'e.g. employee left / unknown device',
    unblockNoteLabel: 'Note (optional)',
    columnHostname: 'Hostname',
    columnUser: 'Owner',
    columnPlatform: 'Platform',
    columnLastSeen: 'Last Seen',
    columnStatus: 'Status',
    columnActions: 'Actions',
    statusActive: 'Active',
    statusBlocked: 'Blocked',
    actionBlock: 'Block',
    actionUnblock: 'Unblock',
    filterAll: 'All',
    filterActive: 'Active',
    filterBlocked: 'Blocked',
  },
  privacy: {
    faqTitle: 'Privacy',
    whatCollected: 'Collected: token counts / model / project path / timestamp.',
    whatNotCollected: 'Never collected: message content / prompts / tool results / code.',
    exportMyData: 'Export my data',
    requestDeletion: 'Request data deletion',
  },
  toast: {
    tokenCreated: 'Token created',
    tokenRevoked: 'Token revoked',
    deviceBlocked: 'Device blocked',
    deviceUnblocked: 'Device unblocked',
    copied: 'Copied',
  },
  errors: {
    invalidToken: 'Invalid or revoked token',
    deviceBlocked: 'Device is blocked',
    rateLimitExceeded: 'Too many requests, please retry',
    batchTooLarge: 'Batch size exceeds limit',
    invalidPayload: 'Invalid payload format',
    networkUnreachable: 'Network unreachable',
    tokenNotFound: 'Token not found',
    deviceNotFound: 'Device not found',
    tokenAlreadyRevoked: 'Token already revoked',
    deviceAlreadyBlocked: 'Device already blocked',
  },
  rich: {
    toolFrequency: 'Tool Call Frequency (Top 10)',
    useCount: 'Use Count',
    sessionDuration: 'Session Duration Distribution',
    sessionCount: 'Sessions',
    avgDuration: 'Avg Duration',
    avgTurns: 'Avg Turns',
    turnGap: 'Turn Gap Distribution (Thinking Density)',
    avgGap: 'Avg Gap',
    medianGap: 'Median Gap',
    serviceTier: 'Service Tier Cost Share',
    stopReason: 'Stop Reason Distribution',
    eventCount: 'Events',
    gitBranchHeatmap: 'Branches by Tokens (Top 10)',
    tokens: 'Tokens',
  },
};
