// Log analysis page (admin) — registered via i18n/domains.ts; page entry imports '@/i18n/domains' export default { title: 'Log Analysis', subtitle: 'Log volume, errors and trends by app and namespace — identify the highest-volume workloads', adminOnly: { title: 'Admin only', desc: 'Log analysis provides platform-wide statistics for administrators. Contact an administrator for access.', }, emptySource: { title: 'No Loki data source yet', desc: 'Connect a data source on the log query page, then view the aggregate analysis here.', goLogs: 'Go to log query', }, filter: { source: 'Source', sourceEmpty: 'No data sources', namespace: 'Namespace', namespaceEmpty: 'Loading namespaces…', namespaceAll: 'All namespaces (slow)', refresh: 'Refresh', pendingApply: 'Filters changed — click Refresh to apply', }, stats: { total: 'Total logs', totalVolume: 'Volume (index)', totalEntries: 'Entries (index)', errors: 'Error lines', warnings: 'Warning lines', apps: 'Active apps', }, trend: { title: 'Log volume trend', subtitle: 'Log volume per time bucket (from index stats, instant)', peak: 'Peak', avg: 'Avg', unitHint: 'Unit: volume per bucket', seriesTotal: 'Total', seriesVolume: 'Volume', seriesError: 'Errors', seriesWarn: 'Warnings', empty: 'No log data in this time range', }, stream: { title: 'App volume stream', subtitle: 'Stacked distribution over time for the top {{count}} apps by volume', empty: 'No app-dimension data', }, pie: { title: 'Top 5 apps by volume', subtitle: 'Top 5 apps by log lines, the rest grouped as Other', empty: 'No app-dimension data', other: 'Other', }, daily: { notRetained: 'Not retained', missingHint: '{{count}} day(s) have no retained snapshot (grey bars) — that does NOT mean zero logs on those days.', fixedBadge: 'Platform history', badge: 'Platform history', title: 'Daily volume', subtitle: 'Daily log volume — history kept by the platform', empty: 'No history yet — the platform records one snapshot per day', lastDays: '{{count}}d', oneYear: '1y', coverage: '{{count}} days captured', seriesVolume: 'Volume', inProgress: 'today: in progress', }, table: { pagerInfo: '{{total}} apps · page {{page}}/{{pages}}', prevPage: 'Prev', nextPage: 'Next', subtitleHistory: 'This {{range}}-minute range exceeds live-scan limits, so this reads the platform\'s hourly pre-aggregated snapshots ({{hours}} hours retained) — returns in milliseconds, sorted by volume, without error counts or trends.', bytesCoverage: 'Only {{bytesHours}} of {{hours}} hours have volume data (earlier snapshots stored entries only), so volume may be understated.', title: 'App volume ranking', computing: 'Computing per-app volume (reads log content, usually 20–30s)…', subtitle: 'Fetches the top 50 apps once (share is computed against those 50), 10 rows per page; click "View logs" to open the query page', rank: '#', app: 'App', appWithKey: 'App ({{key}})', volume: 'Volume', bytes: 'Volume', entries: 'Entries', share: 'Share', errors: 'Errors', errorRate: 'Error rate', trend: 'Trend', actions: 'Actions', viewLogs: 'View logs', untagged: '(untagged)', empty: 'No app-dimension data', }, ingress: { title: 'Ingress access analysis', noIngress: 'No ingress-nginx / ingress namespace access logs found on this source', empty: 'No parseable ingress access logs in this time range', loading: 'Loading ingress access logs…', notDetected: 'No ingress-nginx detected', toggleAria: 'Expand / collapse Ingress access analysis', loadFailed: 'Failed to load ingress access logs', }, }