mirror of
https://github.com/DrizzleTime/Foxel.git
synced 2026-09-05 23:57:19 +08:00
678 lines
28 KiB
TypeScript
678 lines
28 KiB
TypeScript
export const en = {
|
|
// General
|
|
'All Files': 'All Files',
|
|
'Manage': 'Manage',
|
|
// 'System' defined above for navigation
|
|
'Follow System': 'System',
|
|
'Automation': 'Automation',
|
|
'My Shares': 'My Shares',
|
|
'Offline Downloads': 'Offline Downloads',
|
|
'Adapters': 'Adapters',
|
|
'Plugins': 'App Center',
|
|
'System Settings': 'System Settings',
|
|
'Backup & Restore': 'Backup & Restore',
|
|
'System Logs': 'System Logs',
|
|
|
|
// Top header
|
|
'Search files / tags / types': 'Search files / tags / types',
|
|
'Log Out': 'Log Out',
|
|
'Admin': 'Admin',
|
|
'Profile': 'Profile',
|
|
'Account Settings': 'Account Settings',
|
|
'Language': 'Language',
|
|
'Chinese': '中文',
|
|
'English': 'English',
|
|
'Full Name': 'Full Name',
|
|
'Email': 'Email',
|
|
'Change Password': 'Change Password',
|
|
'Old Password': 'Old Password',
|
|
'New Password': 'New Password',
|
|
'Please fill both old and new password': 'Please fill both old and new password',
|
|
|
|
// Auth / Login
|
|
'Welcome Back': 'Welcome Back',
|
|
'Sign in to your Foxel account': 'Sign in to your Foxel account',
|
|
'Username / Email': 'Username / Email',
|
|
'Password': 'Password',
|
|
'Sign In': 'Sign In',
|
|
'Please enter username and password': 'Please enter username and password',
|
|
'Login failed': 'Login failed',
|
|
'Your next-generation file manager': 'Your next-generation file manager',
|
|
'Cross-platform sync, access anywhere': 'Cross-platform sync, access anywhere',
|
|
'AI-powered search for quick find': 'AI-powered search for quick find',
|
|
'Flexible sharing and collaboration': 'Flexible sharing and collaboration',
|
|
'Powerful automation to simplify tasks': 'Powerful automation to simplify tasks',
|
|
'Join our community:': 'Join our community:',
|
|
|
|
// Share page
|
|
'Refresh': 'Refresh',
|
|
'Copy': 'Copy',
|
|
// 'Cancel' already defined above
|
|
'Copied link': 'Link copied',
|
|
'Share canceled': 'Share canceled',
|
|
'Cancel failed': 'Cancel failed',
|
|
'Load failed': 'Load failed',
|
|
'Are you sure to cancel share?': 'Are you sure to cancel share?',
|
|
'Clear expired shares': 'Clear expired shares',
|
|
'Confirm clear expired shares?': 'Confirm clear expired shares?',
|
|
'Cleared {count} expired shares': 'Cleared {count} expired shares',
|
|
|
|
'Share Name': 'Share Name',
|
|
'Share Content': 'Share Content',
|
|
'Created At': 'Created At',
|
|
'Expires At': 'Expires At',
|
|
'Forever': 'Forever',
|
|
'Access': 'Access',
|
|
'Public': 'Public',
|
|
'By Password': 'By Password',
|
|
|
|
// Public share page
|
|
'Password Required': 'Password Required',
|
|
'Please enter password': 'Please enter password',
|
|
'Confirm': 'Confirm',
|
|
'Unable to load share info': 'Unable to load share info',
|
|
'Share load failed': 'Failed to load share',
|
|
'Wrong password': 'Wrong password',
|
|
'Root': 'All Files',
|
|
'Created on {date}': 'Created on {date}',
|
|
'Expires on {date}': 'Expires on {date}',
|
|
'Download File': 'Download File',
|
|
'Preview not supported for this file type': 'Preview not supported for this file type',
|
|
'Back': 'Back',
|
|
'Download': 'Download',
|
|
|
|
// Offline download
|
|
'No offline download tasks': 'No offline download tasks',
|
|
'Create Offline Download': 'Create Offline Download',
|
|
'Offline Download Tasks': 'Offline Download Tasks',
|
|
'URL': 'URL',
|
|
'Please input URL': 'Please input URL',
|
|
'Destination Folder': 'Destination Folder',
|
|
'Select destination': 'Select destination',
|
|
'Filename': 'Filename',
|
|
'Please input filename': 'Please input filename',
|
|
'Start Download': 'Start Download',
|
|
'Stage': 'Stage',
|
|
'Progress': 'Progress',
|
|
'Bytes': 'Bytes',
|
|
'Save Path': 'Save Path',
|
|
'Queued': 'Queued',
|
|
'Downloading': 'Downloading',
|
|
'Transferring': 'Transferring',
|
|
'Completed': 'Completed',
|
|
'Pending': 'Pending',
|
|
'Running': 'Running',
|
|
'Success': 'Success',
|
|
'Failed': 'Failed',
|
|
// Header/File Explorer
|
|
'Home': 'Home',
|
|
'File Manager': 'File Manager',
|
|
'New Folder': 'New Folder',
|
|
'Upload': 'Upload',
|
|
'Name': 'Name',
|
|
'Size': 'Size',
|
|
'Modified Time': 'Modified Time',
|
|
'Grid': 'Grid',
|
|
'List': 'List',
|
|
'Mount Point': 'Mount Point',
|
|
'Move': 'Move',
|
|
'Move to': 'Move to',
|
|
'Copy to': 'Copy to',
|
|
'Destination path': 'Destination path',
|
|
'Move task queued': 'Move task queued',
|
|
'Move completed': 'Move completed',
|
|
'Copy task queued': 'Copy task queued',
|
|
'Copy completed': 'Copy completed',
|
|
'Please input destination path': 'Please input destination path',
|
|
|
|
// Context menu
|
|
'Upload File': 'Upload File',
|
|
'Upload Files': 'Upload Files',
|
|
'Upload Folder': 'Upload Folder',
|
|
'Open': 'Open',
|
|
'Open With': 'Open With',
|
|
'Default': 'Default',
|
|
'Processor': 'Processor',
|
|
'Share': 'Share',
|
|
'Rename': 'Rename',
|
|
'Delete': 'Delete',
|
|
'Details': 'Details',
|
|
'Get Direct Link': 'Get Direct Link',
|
|
|
|
// Upload modal
|
|
'Total progress': 'Total progress',
|
|
'Upload bytes summary': '{uploaded} / {total}',
|
|
'Upload task summary': 'Tasks: {completed} / {total} completed, {pending} pending, {failures} failed',
|
|
'Overwrite confirmation required': 'Overwrite confirmation required',
|
|
'Target already exists: {path}': 'Target already exists: {path}',
|
|
'Overwrite': 'Overwrite',
|
|
'Skip': 'Skip',
|
|
'Overwrite All': 'Overwrite All',
|
|
'Skip All': 'Skip All',
|
|
'Directory': 'Directory',
|
|
'Creating directory...': 'Creating directory...',
|
|
'Directory ready': 'Directory ready',
|
|
'Create directory failed': 'Create directory failed',
|
|
'Waiting to create': 'Waiting to create',
|
|
'Waiting for overwrite decision': 'Waiting for overwrite decision',
|
|
'Waiting to upload': 'Waiting to upload',
|
|
'Skipped': 'Skipped',
|
|
'Upload succeeded': 'Upload succeeded',
|
|
'Upload failed': 'Upload failed',
|
|
'No items selected for upload': 'No items selected for upload',
|
|
'No uploadable files or directories found': 'No uploadable files or directories found',
|
|
'Missing file content': 'Missing file content',
|
|
'Directory conflicts with existing file': 'A file with the same name already exists at the target location',
|
|
|
|
// Side nav modals
|
|
'Join Community': 'Join Community',
|
|
'Scan to join WeChat group': 'Scan to join WeChat group',
|
|
'If QR expires, add drizzle2001 to join': 'If QR expires, add drizzle2001 to join',
|
|
'Version Info': 'Version Info',
|
|
'Current Version': 'Current Version',
|
|
'Latest Version': 'Latest Version',
|
|
'New version found: {version}': 'New version found: {version}',
|
|
'Please update to the latest for features and fixes': 'Please update to the latest for features and fixes',
|
|
'Open Releases': 'Open Releases',
|
|
'Changelog': 'Changelog',
|
|
'Fetching latest version...': 'Fetching latest version...',
|
|
'Update available': 'Update available',
|
|
'You are on the latest: {version}': 'You are on the latest: {version}',
|
|
'Up to date': 'Up to date',
|
|
|
|
// Share modal
|
|
'Share {count} items': 'Share {count} items',
|
|
'Share link created': 'Share link created',
|
|
'Create failed': 'Create failed',
|
|
'Copied to clipboard': 'Copied to clipboard',
|
|
'Expiration (days)': 'Expiration (days)',
|
|
'Set 0 or negative for forever': 'Set 0 or negative for forever',
|
|
'Share link created successfully!': 'Share link created successfully!',
|
|
'Share Link': 'Share Link',
|
|
'Share created': 'Share created',
|
|
'Create Share': 'Create Share',
|
|
'Done': 'Done',
|
|
'Create': 'Create',
|
|
|
|
// Direct link modal
|
|
'Failed to generate link': 'Failed to generate link',
|
|
'Markdown copied to clipboard': 'Markdown copied to clipboard',
|
|
'Generate a direct link for {name}': 'Generate a direct link for {name}',
|
|
'1 hour': '1 hour',
|
|
'1 day': '1 day',
|
|
'7 days': '7 days',
|
|
'Generating link...': 'Generating link...',
|
|
'Link will appear here': 'Link will appear here',
|
|
'Copy Markdown': 'Copy Markdown',
|
|
'Close': 'Close',
|
|
|
|
// Task queue
|
|
'Task Queue': 'Task Queue',
|
|
'Last updated at {time}': 'Last updated at {time}',
|
|
'Total Tasks': 'Total Tasks',
|
|
'Running Tasks': 'Running Tasks',
|
|
'Waiting Tasks': 'Waiting Tasks',
|
|
'Failed Tasks': 'Failed Tasks',
|
|
'Active Workers': 'Active Workers',
|
|
'Task Type': 'Task Type',
|
|
'Search by name or ID': 'Search by name or ID',
|
|
'Filter by status': 'Filter by status',
|
|
'Queue Concurrency': 'Queue Concurrency',
|
|
'Settings saved': 'Settings saved',
|
|
'Expand': 'Expand',
|
|
'Adjust worker concurrency immediately': 'Adjust worker concurrency immediately',
|
|
'Auto': 'Auto',
|
|
'Manual': 'Manual',
|
|
|
|
// File detail
|
|
'Camera Make': 'Camera Make',
|
|
'Camera Model': 'Camera Model',
|
|
'Capture Time': 'Capture Time',
|
|
'X Resolution': 'X Resolution',
|
|
'Y Resolution': 'Y Resolution',
|
|
'Exposure Time': 'Exposure Time',
|
|
'Aperture': 'Aperture',
|
|
'Focal Length': 'Focal Length',
|
|
'Width': 'Width',
|
|
'Height': 'Height',
|
|
'No common EXIF info': 'No common EXIF info',
|
|
'File Properties': 'File Properties',
|
|
'Loading file info...': 'Loading file info...',
|
|
'Basic Info': 'Basic Info',
|
|
'Type': 'Type',
|
|
'Folder': 'Folder',
|
|
'File': 'File',
|
|
'Path': 'Path',
|
|
'Path copied to clipboard': 'Path copied to clipboard',
|
|
'Copy failed': 'Copy failed',
|
|
'Permissions': 'Permissions',
|
|
'EXIF Info': 'EXIF Info',
|
|
'Index Info': 'Index Info',
|
|
'Indexed Items': 'Indexed Items',
|
|
'Indexed Types': 'Indexed Types',
|
|
'No index data': 'No index data',
|
|
'Indexed Chunks': 'Indexed Chunks',
|
|
'More Indexed Chunks': 'More Indexed Chunks',
|
|
'Chunk ID': 'Chunk ID',
|
|
'Offset Range': 'Offset Range',
|
|
'Vector ID': 'Vector ID',
|
|
'Preview': 'Preview',
|
|
'Showing first {count} entries': 'Showing first {count} entries',
|
|
|
|
// Search dialog
|
|
'Smart Search': 'Smart Search',
|
|
'Name Search': 'Name Search',
|
|
'Search Results': 'Search Results',
|
|
'No files found': 'No files found',
|
|
'Relevance': 'Relevance',
|
|
|
|
// System settings
|
|
'Saved successfully': 'Saved successfully',
|
|
'Save failed': 'Save failed',
|
|
'Loading...': 'Loading...',
|
|
'Appearance Settings': 'Appearance Settings',
|
|
'Theme': 'Theme',
|
|
'Theme Mode': 'Theme Mode',
|
|
'Light': 'Light',
|
|
'Dark': 'Dark',
|
|
// 'Follow System' used for theme mode
|
|
'Primary Color': 'Primary Color',
|
|
'Border Radius': 'Border Radius',
|
|
'Advanced': 'Advanced',
|
|
'Override AntD Tokens (JSON)': 'Override AntD Tokens (JSON)',
|
|
'e.g. {"colorText": "#222"}': 'e.g. {"colorText": "#222"}',
|
|
'Custom CSS': 'Custom CSS',
|
|
'Save': 'Save',
|
|
'App Settings': 'App Settings',
|
|
'Email Settings': 'Email Settings',
|
|
'AI Settings': 'AI Settings',
|
|
'Vision Model': 'Vision Model',
|
|
'Embedding Model': 'Embedding Model',
|
|
'Embedding Dimension': 'Embedding Dimension',
|
|
'Vector Database': 'Vector Database',
|
|
'Vector Database Settings': 'Vector Database Settings',
|
|
'Current Statistics': 'Current Statistics',
|
|
'Collections': 'Collections',
|
|
'Vectors': 'Vectors',
|
|
'Database Size': 'Database Size',
|
|
'Estimated Memory': 'Estimated Memory',
|
|
'No collections': 'No collections',
|
|
'Dimension': 'Dimension',
|
|
'Non-vector collection': 'Non-vector collection',
|
|
'Estimated memory': 'Estimated memory',
|
|
'Indexes': 'Indexes',
|
|
'Unnamed index': 'Unnamed index',
|
|
'Indexed rows': 'Indexed rows',
|
|
'Pending rows': 'Pending rows',
|
|
'Estimated memory is calculated as vectors x dimension x 4 bytes (float32).': 'Estimated memory is calculated as vectors x dimension x 4 bytes (float32).',
|
|
'Database Provider': 'Database Provider',
|
|
'Please select a provider': 'Please select a provider',
|
|
'Coming soon': 'Coming soon',
|
|
'This provider is not available yet': 'This provider is not available yet',
|
|
'Database file path': 'Database file path',
|
|
'Server URI': 'Server URI',
|
|
'Token': 'Token',
|
|
'Server URL': 'Server URL',
|
|
'API Key': 'API Key',
|
|
'Embedded Milvus Lite (local file storage).': 'Embedded Milvus Lite (local file storage).',
|
|
'Remote Milvus instance accessed via URI.': 'Remote Milvus instance accessed via URI.',
|
|
'Qdrant vector database (HTTP API).': 'Qdrant vector database (HTTP API).',
|
|
'Database Type': 'Database Type',
|
|
'Confirm embedding dimension change': 'Confirm embedding dimension change',
|
|
'Changing the embedding dimension will clear the vector database automatically. You will need to rebuild indexes afterwards. Continue?': 'Changing the embedding dimension will clear the vector database automatically. You will need to rebuild indexes afterwards. Continue?',
|
|
'Confirm clear vector database?': 'Confirm clear vector database?',
|
|
'This will delete all collections irreversibly.': 'This will delete all collections irreversibly.',
|
|
'Confirm Clear': 'Confirm Clear',
|
|
// 'Cancel' defined above
|
|
'Vector database cleared': 'Vector database cleared',
|
|
'Clear failed': 'Clear failed',
|
|
'Clear Vector DB': 'Clear Vector DB',
|
|
'App Name': 'App Name',
|
|
'Logo URL': 'Logo URL',
|
|
'Favicon URL': 'Favicon URL',
|
|
'App Domain': 'App Domain',
|
|
'File Domain': 'File Domain',
|
|
'SMTP Settings': 'SMTP Settings',
|
|
'SMTP Host': 'SMTP Host',
|
|
'Please input SMTP host': 'Please input SMTP host',
|
|
'SMTP Port': 'SMTP Port',
|
|
'Please input SMTP port': 'Please input SMTP port',
|
|
'Security': 'Security',
|
|
'None': 'None',
|
|
'SSL': 'SSL',
|
|
'STARTTLS': 'STARTTLS',
|
|
'Timeout (seconds)': 'Timeout (seconds)',
|
|
'Sender': 'Sender',
|
|
'Sender Name': 'Sender Name',
|
|
'Sender Email': 'Sender Email',
|
|
'Please input sender email': 'Please input sender email',
|
|
'Authentication': 'Authentication',
|
|
'SMTP Username': 'SMTP Username',
|
|
'SMTP Password': 'SMTP Password',
|
|
'Test Email': 'Test Email',
|
|
'Current Configuration': 'Current Configuration',
|
|
'Available variables': 'Available variables',
|
|
'Not set': 'Not set',
|
|
'Password Reset Template': 'Password Reset Template',
|
|
'Live Preview': 'Live Preview',
|
|
'Foxel Mail Test': 'Foxel Mail Test',
|
|
'Recipient Address': 'Recipient Address',
|
|
'Please input recipient email': 'Please input recipient email',
|
|
'Test Subject': 'Test Subject',
|
|
'Test User Name': 'Test User Name',
|
|
'Optional': 'Optional',
|
|
'Send Test Email': 'Send Test Email',
|
|
'Please complete all required fields': 'Please complete all required fields',
|
|
'SMTP port must be a positive number': 'SMTP port must be a positive number',
|
|
'Test email queued (task {{taskId}})': 'Test email queued (task {{taskId}})',
|
|
'Test email failed': 'Test email failed',
|
|
|
|
// Auth reset
|
|
'Forgot Password?': 'Forgot password?',
|
|
'Reset Your Password': 'Reset Your Password',
|
|
'Enter the email linked to your account and we will send a reset link.': 'Enter the email linked to your account and we will send a reset link.',
|
|
'If the email exists, a reset link has been sent.': 'If the email exists, a reset link has been sent.',
|
|
'Send Reset Link': 'Send Reset Link',
|
|
'Resend Link': 'Resend Link',
|
|
'Back to login': 'Back to login',
|
|
'Request failed': 'Request failed',
|
|
'Reset link is invalid': 'Reset link is invalid',
|
|
'Reset link is invalid or expired': 'Reset link is invalid or expired',
|
|
'Reset failed': 'Reset failed',
|
|
'Try again': 'Try again',
|
|
'Set a new password': 'Set a new password',
|
|
'Please enter new password': 'Please enter new password',
|
|
'Confirm Password': 'Confirm Password',
|
|
'Please confirm new password': 'Please confirm new password',
|
|
'Update Password': 'Update Password',
|
|
'Passwords do not match': 'Passwords do not match',
|
|
'Password updated, please login again.': 'Password updated, please login again.',
|
|
'Failed to reset password': 'Failed to reset password',
|
|
'Vision API URL': 'Vision API URL',
|
|
'Vision API Key': 'Vision API Key',
|
|
'Embedding API URL': 'Embedding API URL',
|
|
'Embedding API Key': 'Embedding API Key',
|
|
'AI Providers & Models': 'AI Providers & Models',
|
|
'Manage AI providers, synchronize compatible models, and configure default capabilities across the system.': 'Manage AI providers, synchronize compatible models, and configure default capabilities across the system.',
|
|
'Add Provider': 'Add Provider',
|
|
'Edit Provider': 'Edit Provider',
|
|
'Pull Models': 'Pull Models',
|
|
'Manual Add': 'Manual Add',
|
|
'Clear Remote List': 'Clear Remote List',
|
|
'Select models from the list to add them automatically': 'Select models from the list to add them automatically',
|
|
'No remote models': 'No remote models',
|
|
'No remote models found': 'No remote models found',
|
|
'No remote models match search': 'No remote models match search',
|
|
'Search fetched models': 'Search fetched models',
|
|
'Already Added': 'Already Added',
|
|
'Add Selected Models': 'Add Selected Models',
|
|
'Fetch failed': 'Fetch failed',
|
|
'Select models to add': 'Select models to add',
|
|
'Added {count} models': 'Added {count} models',
|
|
'Choose Template': 'Choose Template',
|
|
'Configure Provider': 'Configure Provider',
|
|
'Back to Templates': 'Back to Templates',
|
|
'View Docs': 'View Docs',
|
|
'Custom Provider': 'Custom Provider',
|
|
'Custom Provider Description': 'Bring your own endpoint compatible with OpenAI or Gemini formats.',
|
|
'OpenAI Provider': 'OpenAI',
|
|
'OpenAI Provider Description': 'Access GPT-4o, GPT-4.1, GPT-3.5 and more models from OpenAI.',
|
|
'Azure OpenAI Provider': 'Azure OpenAI',
|
|
'Azure OpenAI Provider Description': 'Use OpenAI models deployed on Microsoft Azure.',
|
|
'Google AI Provider': 'Google AI',
|
|
'Google AI Provider Description': 'Gemini series models served via the Google AI platform.',
|
|
'SiliconFlow Provider': 'SiliconFlow',
|
|
'SiliconFlow Provider Description': 'High-performance inference platform with OpenAI-compatible APIs.',
|
|
'OpenRouter Provider': 'OpenRouter',
|
|
'OpenRouter Provider Description': 'Connect to multiple AI providers through a single OpenAI-style endpoint.',
|
|
'Anthropic Provider': 'Anthropic',
|
|
'Anthropic Provider Description': 'Claude 3 family models exposed through the Claude API.',
|
|
'DeepSeek Provider': 'DeepSeek',
|
|
'DeepSeek Provider Description': 'DeepSeek language models via OpenAI-compatible API.',
|
|
'Grok Provider': 'Grok (xAI)',
|
|
'Grok Provider Description': 'Grok models powered by xAI with OpenAI-style routes.',
|
|
'Ollama Provider': 'Ollama',
|
|
'Ollama Provider Description': 'Self-host and run models locally with Ollama\'s OpenAI bridge.',
|
|
'Voyage Provider': 'Voyage AI',
|
|
'Voyage Provider Description': 'High-quality embeddings and rerankers from Voyage AI.',
|
|
'Delete provider?': 'Delete provider?',
|
|
'Deleting this provider will also remove all associated models. Continue?': 'Deleting this provider will also remove all associated models. Continue?',
|
|
'Deleted successfully': 'Deleted successfully',
|
|
'Sync Models': 'Sync Models',
|
|
'Sync completed: {created} created, {updated} updated': 'Sync completed: {created} created, {updated} updated',
|
|
'Sync failed': 'Sync failed',
|
|
'Add Model': 'Add Model',
|
|
'Edit Model': 'Edit Model',
|
|
'Delete model?': 'Delete model?',
|
|
'This operation cannot be undone. Continue?': 'This operation cannot be undone. Continue?',
|
|
'No models yet': 'No models yet',
|
|
'Add your first AI provider to get started': 'Add your first AI provider to get started',
|
|
'Default Models Configuration': 'Default Models Configuration',
|
|
'Main Chat Model': 'Main Chat Model',
|
|
'Primary assistant for conversations, reasoning, and tool calls.': 'Primary assistant for conversations, reasoning, and tool calls.',
|
|
'Handles multimodal perception such as image understanding.': 'Handles multimodal perception such as image understanding.',
|
|
'Transforms content into dense vectors for search and retrieval.': 'Transforms content into dense vectors for search and retrieval.',
|
|
'Optimises ranking quality for search candidates.': 'Optimises ranking quality for search candidates.',
|
|
'Covers text-to-speech and speech understanding scenarios.': 'Covers text-to-speech and speech understanding scenarios.',
|
|
'Supports function calling, orchestration, and automation.': 'Supports function calling, orchestration, and automation.',
|
|
'Select a model': 'Select a model',
|
|
'Template': 'Template',
|
|
'Select a template': 'Select a template',
|
|
'Display Name': 'Display Name',
|
|
'Enter name': 'Enter name',
|
|
'Identifier': 'Identifier',
|
|
'Enter identifier': 'Enter identifier',
|
|
'Only lowercase letters, numbers, dash, dot and underscore are allowed': 'Only lowercase letters, numbers, dash, dot and underscore are allowed',
|
|
'API Format': 'API Format',
|
|
'Base URL': 'Base URL',
|
|
'Enter base url': 'Enter base URL',
|
|
'Optional, can also be provided per request': 'Optional, can also be provided per request',
|
|
'Model Identifier': 'Model Identifier',
|
|
'Enter model identifier': 'Enter model identifier',
|
|
'Description': 'Description',
|
|
'Capabilities': 'Capabilities',
|
|
'Context Window': 'Context Window',
|
|
'Embedding Dimensions': 'Embedding Dimensions',
|
|
'Price /1K input tokens': 'Price /1K input tokens',
|
|
'Price /1K output tokens': 'Price /1K output tokens',
|
|
|
|
// Adapters
|
|
'Missing required config:': 'Missing required config:',
|
|
'Updated successfully': 'Updated successfully',
|
|
'Created successfully': 'Created successfully',
|
|
'Operation failed': 'Operation failed',
|
|
'Deleted': 'Deleted',
|
|
'Delete failed': 'Delete failed',
|
|
'Status updated': 'Status updated',
|
|
'Update failed': 'Update failed',
|
|
'Mount Path': 'Mount Path',
|
|
'Sub Path': 'Sub Path',
|
|
'Sub Path (optional)': 'Sub Path (optional)',
|
|
'Sub directory inside adapter': 'Sub directory inside adapter',
|
|
'Enabled': 'Enabled',
|
|
'Actions': 'Actions',
|
|
'Edit': 'Edit',
|
|
'Confirm delete?': 'Confirm delete?',
|
|
'No config fields': 'No config fields',
|
|
'Please input {label}': 'Please input {label}',
|
|
'Storage Adapters': 'Storage Adapters',
|
|
'Create Adapter': 'Create Adapter',
|
|
'Unique name': 'Unique name',
|
|
'Select adapter type': 'Select adapter type',
|
|
'/ or /drive': '/ or /drive',
|
|
'Adapter Config': 'Adapter Config',
|
|
|
|
// Tasks
|
|
'Automation Tasks': 'Automation Tasks',
|
|
'Create Task': 'Create Task',
|
|
'Edit Task': 'Edit Task',
|
|
'Create Automation Task': 'Create Automation Task',
|
|
'Task Name': 'Task Name',
|
|
'Trigger Event': 'Trigger Event',
|
|
'File Written': 'File Written',
|
|
'File Deleted': 'File Deleted',
|
|
'Matching Rules': 'Matching Rules',
|
|
'Path Prefix (optional)': 'Path Prefix (optional)',
|
|
'Filename Regex (optional)': 'Filename Regex (optional)',
|
|
'Action': 'Action',
|
|
'Current Task Queue': 'Current Task Queue',
|
|
'Params': 'Params',
|
|
'Status': 'Status',
|
|
|
|
// Logs
|
|
'Confirm clear logs?': 'Confirm clear logs?',
|
|
'This will delete logs in selected range irreversibly.': 'This will delete logs in selected range irreversibly.',
|
|
'Cleared {count} logs': 'Cleared {count} logs',
|
|
'Time': 'Time',
|
|
'Level': 'Level',
|
|
'Source': 'Source',
|
|
'Message': 'Message',
|
|
'Search source': 'Search source',
|
|
'Clear': 'Clear',
|
|
'Log Details': 'Log Details',
|
|
|
|
// Backup
|
|
'Export started, check your downloads.': 'Export started, check your downloads.',
|
|
'Export failed': 'Export failed',
|
|
'Confirm import backup?': 'Confirm import backup?',
|
|
'Are you sure to import from this file?': 'Are you sure to import from this file?',
|
|
'Warning: This will overwrite all data including users (with passwords), settings, storages and tasks. Irreversible!': 'Warning: This will overwrite all data including users (with passwords), settings, storages and tasks. Irreversible!',
|
|
'Confirm Import': 'Confirm Import',
|
|
'Import succeeded! The page will refresh.': 'Import succeeded! The page will refresh.',
|
|
'Import failed': 'Import failed',
|
|
'Export': 'Export',
|
|
'Import': 'Import',
|
|
'Export all data (adapters, users, tasks, shares) into a JSON file.': 'Export all data (adapters, users, tasks, shares) into a JSON file.',
|
|
'Keep your backup file safe.': 'Keep your backup file safe.',
|
|
'Export Backup': 'Export Backup',
|
|
'Restore data from a previously exported JSON file.': 'Restore data from a previously exported JSON file.',
|
|
'Warning: This will clear and overwrite existing data.': 'Warning: This will clear and overwrite existing data.',
|
|
'Choose File and Restore': 'Choose File and Restore',
|
|
|
|
// Empty state
|
|
'No files yet here': 'No files yet here',
|
|
'This folder is empty': 'This folder is empty',
|
|
'Start uploading files or create folders to organize your content': 'Start uploading files or create folders to organize your content',
|
|
'You can create folders or upload files here': 'You can create folders or upload files here',
|
|
|
|
// File actions
|
|
'Please input name': 'Please input name',
|
|
'Confirm delete {name}?': 'Confirm delete {name}?',
|
|
'items': 'items',
|
|
'Downloading folders is not supported': 'Downloading folders is not supported',
|
|
'Download failed': 'Download failed',
|
|
'Please select files or folders to share': 'Please select files or folders to share',
|
|
'Direct links for folders are not supported': 'Direct links for folders are not supported',
|
|
|
|
// Processor flow
|
|
'Processing finished': 'Processing finished',
|
|
'Processing failed': 'Processing failed',
|
|
'Processors': 'Processors',
|
|
'Processor List': 'Processor List',
|
|
'Reload': 'Reload',
|
|
'Run Processor': 'Run Processor',
|
|
'Target Path': 'Target Path',
|
|
'Please select a path': 'Please select a path',
|
|
'Select Directory': 'Select Directory',
|
|
'Overwrite original': 'Overwrite original',
|
|
'Save To': 'Save To',
|
|
'Optional output path': 'Optional output path',
|
|
'Run': 'Run',
|
|
'Select a processor': 'Select a processor',
|
|
'No module path': 'No module path',
|
|
'Source saved': 'Source saved',
|
|
'Processors reloaded': 'Processors reloaded',
|
|
'Unsaved changes': 'Unsaved changes',
|
|
'Switching processor will discard unsaved changes. Continue?': 'Switching processor will discard unsaved changes. Continue?',
|
|
'Task submitted': 'Task submitted',
|
|
'Supported Extensions': 'Supported Extensions',
|
|
'All': 'All',
|
|
'Produces File': 'Produces File',
|
|
'Yes': 'Yes',
|
|
'No': 'No',
|
|
'Please select a processor': 'Please select a processor',
|
|
'Select a path': 'Select a path',
|
|
'Source Editor': 'Source Editor',
|
|
'Module Path': 'Module Path',
|
|
'Directory processing always overwrites original files': 'Directory processing always overwrites original files',
|
|
'No data': 'No data',
|
|
|
|
// Path selector
|
|
'Select File': 'Select File',
|
|
'Select Path': 'Select Path',
|
|
'Select Folder': 'Select Folder',
|
|
'Select': 'Select',
|
|
'Current': 'Current',
|
|
'Up': 'Up',
|
|
'Select Current Folder': 'Select Current Folder',
|
|
'Please select a file': 'Please select a file',
|
|
|
|
// Plugins page
|
|
'Installed successfully': 'Installed successfully',
|
|
'Plugin': 'Plugin',
|
|
'Open Link': 'Open Link',
|
|
'Link copied': 'Link copied',
|
|
'Copy Link': 'Copy Link',
|
|
'Confirm delete this plugin?': 'Confirm delete this plugin?',
|
|
'Author': 'Author',
|
|
'Website': 'Website',
|
|
'Install App': 'Install App',
|
|
'Search name/author/url/extension': 'Search name/author/url/extension',
|
|
'No plugins': 'No plugins',
|
|
'Install': 'Install',
|
|
'App URL': 'App URL',
|
|
'Please input a valid URL': 'Please input a valid URL',
|
|
'Installed': 'Installed',
|
|
'Discover': 'Discover',
|
|
'Search apps': 'Search apps',
|
|
'Sort by': 'Sort by',
|
|
'Downloads': 'Downloads',
|
|
'Created (newest)': 'Created (newest)',
|
|
'Installed already': 'Installed',
|
|
'No results': 'No results',
|
|
|
|
// Setup page
|
|
'Initialization succeeded! Logging you in...': 'Initialization succeeded! Logging you in...',
|
|
'Initialization failed, please try later': 'Initialization failed, please try later',
|
|
'Database Setup': 'Database Setup',
|
|
'Choose database driver': 'Choose database driver',
|
|
'Select database and vector database for system data': 'Select database and vector database for system data',
|
|
'Database Driver': 'Database Driver',
|
|
'Vector DB Driver': 'Vector DB Driver',
|
|
'Initialize Mount': 'Initialize Mount',
|
|
'Configure initial storage': 'Configure initial storage',
|
|
'Create the first storage mount for your files': 'Create the first storage mount for your files',
|
|
'Mount Name': 'Mount Name',
|
|
'Local Storage': 'Local Storage',
|
|
'Please input mount name!': 'Please input mount name!',
|
|
'Storage Type': 'Storage Type',
|
|
'Please input mount path!': 'Please input mount path!',
|
|
'Root Directory': 'Root Directory',
|
|
'Please input root directory!': 'Please input root directory!',
|
|
'e.g., data/ or /var/foxel/data': 'e.g., data/ or /var/foxel/data',
|
|
'Optional, used for external links. Leave empty to use the current site.': 'Optional, used for external links. Leave empty to use the current site.',
|
|
'Create Admin': 'Create Admin',
|
|
'Create admin account': 'Create admin account',
|
|
'This is the first account with full permissions': 'This is the first account with full permissions',
|
|
'Username': 'Username',
|
|
'Please input a valid email!': 'Please input a valid email!',
|
|
'Please confirm your password!': 'Please confirm your password!',
|
|
'Passwords do not match!': 'Passwords do not match!',
|
|
'System Initialization': 'System Initialization',
|
|
'Previous': 'Previous',
|
|
'Next': 'Next',
|
|
'Finish Initialization': 'Finish Initialization',
|
|
|
|
// Plugin host
|
|
'Plugin run failed': 'Plugin run failed',
|
|
'Plugin Error': 'Plugin Error',
|
|
'Cannot open file: no available app': 'Cannot open file: no available app',
|
|
'Error': 'Error',
|
|
'App "{key}" not found.': 'App "{key}" not found.',
|
|
'Open with {app}': 'Open with {app}',
|
|
'Set as default for .{ext}': 'Set as default for .{ext}',
|
|
'Advanced tokens must be valid JSON': 'Advanced tokens must be valid JSON',
|
|
} as const;
|
|
|
|
export type EnKeys = keyof typeof en;
|