{ "auth": { "errors": { "account_inactive": "Account inactive. Please contact the administrator.", "registration_disabled": "SSO registration is disabled.", "token_expired": "Token expired. Please try again.", "config_error": "Configuration error. Please contact support.", "auth_failed": "Authentication failed. Please try again." } }, "authProviders": { "title": "Authentication Providers", "description": "Configure external authentication providers for SSO", "enabledCount": "{count} enabled", "loadingProviders": "Loading providers...", "providersConfigured": "{count} providers configured", "enabledOfTotal": "{enabled} enabled of {total} providers", "hideDisabledProviders": "Hide disabled providers", "addProvider": "Add Provider", "addProviderTitle": "Add Provider", "editProvider": "Edit Provider", "deleteProvider": "Delete Provider", "enabled": "Enabled", "disabled": "Disabled", "officialProvider": "Official Provider", "dragToReorder": "Drag to reorder", "dragDisabledMessage": "Drag and drop is disabled when filtering providers. Show all providers to reorder them.", "dragEnabledMessage": "Drag providers to reorder them. This order will be reflected on the login page.", "noProvidersEnabled": "No enabled authentication providers", "noProvidersConfigured": "No authentication providers configured", "form": { "providerName": "Provider Name", "providerNamePlaceholder": "e.g., mycompany", "displayName": "Display Name", "displayNamePlaceholder": "e.g., My Company SSO", "type": "Type", "typeOidc": "OIDC (OpenID Connect)", "typeOauth2": "OAuth 2.0", "icon": "Icon", "iconPlaceholder": "Select an icon", "clientId": "Client ID", "clientIdPlaceholder": "Your OAuth client ID", "clientSecret": "Client Secret", "clientSecretPlaceholder": "Your OAuth client secret", "oauthScopes": "OAuth Scopes", "scopesPlaceholder": "Enter scopes (e.g., openid, profile, email)", "scopesHelpOidc": "Scopes auto-suggested based on Provider URL. Common OIDC scopes: openid, profile, email, groups", "scopesHelpOauth2": "Scopes auto-suggested based on Provider URL. Common OAuth2 scopes depend on the provider", "providerUrl": "Provider URL", "providerUrlPlaceholder": "https://auth.example.com", "providerUrlAutoPlaceholder": "https://your-provider.com (endpoints will be discovered automatically)", "providerUrlManualPlaceholder": "https://your-provider.com", "autoDiscoveryHelp": "The system will automatically discover authorization, token, and userinfo endpoints", "manualConfigurationHelp": "Base URL of your provider (endpoints will be relative to this)", "authorizationEndpoint": "Authorization Endpoint", "authorizationEndpointPlaceholder": "https://auth.example.com/auth", "tokenEndpoint": "Token Endpoint", "tokenEndpointPlaceholder": "https://auth.example.com/token", "userInfoEndpoint": "User Info Endpoint", "userInfoEndpointPlaceholder": "https://auth.example.com/userinfo", "configurationMethod": "Configuration Method", "autoDiscovery": "Auto-discovery", "autoDiscoveryDescription": "Automatically discover endpoints from Provider URL", "manualEndpoints": "Manual Endpoints (Recommended)", "manualEndpointsDescription": "Manually configure authorization, token, and user info endpoints", "callbackUrl": "Callback URL", "callbackUrlDescription": "Use this URL in your OAuth provider configuration", "copyCallbackUrl": "Copy Callback URL", "callbackUrlCopied": "Callback URL copied to clipboard!", "adminEmailDomains": "Admin Email Domains", "adminEmailDomainsPlaceholder": "Enter domains (e.g., admin.company.com)", "adminEmailDomainsHelp": "Users with emails from these domains will be granted admin privileges", "autoRegister": "Auto-register new users", "officialProviderUrlPlaceholder": "Replace placeholder with your {displayName} URL", "officialProviderHelp": "This is an official provider. Endpoints are pre-configured. You can edit just this URL.", "officialProviderIconHelp": "You can customize the icon for this official provider." }, "buttons": { "cancel": "Cancel", "save": "Save", "saving": "Saving...", "adding": "Adding...", "updating": "Updating...", "saveProvider": "Save Provider", "delete": "Delete", "deleting": "Deleting...", "edit": "Edit", "enable": "Enable", "disable": "Disable" }, "messages": { "providerAdded": "Provider added successfully", "providerUpdated": "Provider updated successfully", "providerDeleted": "Provider deleted successfully", "providerOrderUpdated": "Provider order updated successfully", "fillRequiredFields": "Please fill in all required fields (name, display name, client ID, client secret)", "provideUrlOrEndpoints": "Either provide a Provider URL for automatic discovery OR all three custom endpoints", "chooseDiscoveryOrManual": "Choose either automatic discovery (Provider URL) OR manual endpoints, not both", "loadFailed": "Failed to load providers", "addFailed": "Failed to add provider", "updateFailed": "Failed to update provider", "deleteFailed": "Failed to delete provider", "orderUpdateFailed": "Failed to update provider order" }, "info": { "title": "Information", "officialProvidersRecommended": "For better functionality, consider using official providers. If you have issues with a custom provider, consider opening an issue on", "github": "GitHub", "officialProvider": "Official Provider", "officialProviderDescription": "This provider is optimized by Palmr. Only credentials and configuration can be modified.", "manualConfigTitle": "Manual Configuration", "manualConfigDescription": "You're providing all endpoints manually. Make sure they're correct for your provider." }, "deleteModal": { "title": "Delete Authentication Provider", "confirmMessage": "Are you sure you want to delete the \"{displayName}\" provider? This action cannot be undone.", "providerId": "Provider ID: {name}", "cancel": "Cancel", "delete": "Delete Provider", "deleting": "Deleting..." } }, "bulkDownload": { "title": "Bulk Download", "zipNameLabel": "ZIP file name", "zipNamePlaceholder": "Enter file name", "description": "{count, plural, =1 {1 file will be compressed} other {# files will be compressed}}", "download": "Download ZIP" }, "common": { "loading": "Loading, please wait...", "loadingSimple": "Loading...", "cancel": "Cancel", "save": "Save", "saving": "Saving...", "update": "Update", "updating": "Updating...", "delete": "Delete", "deleting": "Deleting...", "close": "Close", "download": "Download", "unexpectedError": "An unexpected error occurred. Please try again.", "yes": "Yes", "no": "No", "dashboard": "Dashboard", "back": "Back", "click": "Click to", "creating": "Creating...", "create": "Create", "rename": "Rename", "move": "Move", "share": "Share", "search": "Search", "copy": "Copy", "copied": "Copied" }, "createShare": { "title": "Create Share", "nameLabel": "Share Name", "namePlaceholder": "Enter a name for your share", "descriptionLabel": "Description", "descriptionPlaceholder": "Enter a description (optional)", "expirationLabel": "Expiration Date", "expirationPlaceholder": "MM/DD/YYYY HH:MM", "maxViewsLabel": "Max Views", "maxViewsPlaceholder": "Leave empty for unlimited", "passwordProtection": "Password Protected", "passwordLabel": "Password", "create": "Create Share", "success": "Share created successfully", "error": "Failed to create share", "tabs": { "shareDetails": "Share Details", "selectFiles": "Select Files" }, "nextSelectFiles": "Next: Select Files", "searchLabel": "Search" }, "customization": { "breadcrumb": "Customization", "colors": { "title": "Theme Colors", "description": "Choose your preferred primary color theme", "presets": "Available Colors", "presetsDescription": "Select from available color themes", "reset": "Reset to Default" }, "fonts": { "title": "Typography", "description": "Choose your preferred font family", "available": "Available Fonts", "availableDescription": "Select from available font families", "reset": "Reset to Default" }, "radius": { "title": "Border Radius", "description": "Customize the roundness of interface elements", "available": "Roundness Options", "availableDescription": "Choose how rounded corners should appear", "reset": "Reset to Default" }, "background": { "title": "Background Colors", "description": "Customize background colors for light and dark modes", "lightMode": "Light Mode", "darkMode": "Dark Mode", "availableDescription": "Choose background colors for both light and dark themes", "reset": "Reset to Default" }, "theme": { "title": "Theme Mode", "description": "Choose between light, dark, or system theme", "selectTheme": "Theme Preference", "availableDescription": "Select your preferred theme mode", "reset": "Reset to System" }, "pageTitle": "Customization" }, "dashboard": { "loadError": "Failed to load dashboard data", "linkCopied": "Link copied to clipboard", "pageTitle": "Dashboard", "breadcrumb": "Dashboard", "recentFiles": { "title": "Recent Files", "description": "Your most recently uploaded files" } }, "deleteConfirmation": { "filesToDelete": "Files to be deleted", "foldersToDelete": "Folders to be deleted", "itemsToDelete": "Items to be deleted", "sharesToDelete": "Shares to be deleted" }, "downloadQueue": { "downloadQueued": "Download queued: {fileName}", "queuedDescription": "Your download will start automatically when a slot becomes available", "queuePosition": "Download queued at position {position}: {fileName}", "estimatedWait": "Estimated wait time: {time}", "queueFull": "Download queue is full", "queueFullDescription": "Please try again in a few minutes when the queue has space", "cancelSuccess": "Download cancelled successfully", "cancelError": "Failed to cancel download: {error}", "status": { "pending": "Preparing...", "queued": "In queue", "downloading": "Downloading", "completed": "Completed", "failed": "Failed" }, "waitTime": { "seconds": "{seconds}s", "minutes": "{minutes}m", "hoursMinutes": "{hours}h {minutes}m" }, "indicator": { "title": "Downloads", "downloads": "Download Queue", "active": "Active", "queued": "Queued", "position": "Position {position}", "estimatedWait": "Wait: {time}", "unknownFile": "Unknown file", "noDownloads": "No downloads in progress", "refresh": "Refresh Queue" } }, "emptyState": { "noFiles": "No files uploaded yet", "uploadFile": "Upload File" }, "errors": { "invalidCredentials": "Invalid email or password", "userNotFound": "User not found", "accountLocked": "Account locked. Please try again later", "unexpectedError": "An unexpected error occurred. Please try again", "Invalid verification code": "Invalid verification code", "Two-factor authentication is already enabled": "Two-factor authentication is already enabled", "Two-factor authentication is not enabled": "Two-factor authentication is not enabled", "Invalid password": "Invalid password", "Password verification required": "Password verification required", "Invalid two-factor authentication code": "Invalid two-factor authentication code", "Two-factor authentication required": "Two-factor authentication required", "noUserData": "No user data" }, "fileActions": { "editFile": "Edit File", "nameLabel": "Name", "namePlaceholder": "Enter new name", "extension": "Extension", "descriptionLabel": "Description", "descriptionPlaceholder": "Enter file description", "addDescriptionPlaceholder": "Add description...", "deleteFile": "Delete File", "deleteConfirmation": "Are you sure you want to delete this file?", "deleteWarning": "This action cannot be undone." }, "fileManager": { "downloadError": "Failed to download file", "updateSuccess": "File updated successfully", "updateError": "Failed to update file", "deleteSuccess": "File deleted successfully", "deleteError": "Failed to delete file" }, "filePreview": { "title": "Preview File", "description": "Preview and download file", "loading": "Loading...", "notAvailable": "Preview not available for this file type", "downloadToView": "Use the download button to view this file", "loadError": "Error loading file preview", "downloadError": "Error downloading file", "audioNotSupported": "Your browser doesn't support audio playback", "videoNotSupported": "Your browser doesn't support video playback", "pdfPreviewNotAvailable": "PDF preview unavailable. Try alternative view or download", "tryAlternativeView": "Try Alternative View", "loadingAlternative": "Loading alternative view...", "loadingAudio": "Loading audio..." }, "fileSelector": { "availableFiles": "Available Files ({count})", "shareFiles": "Shared Files ({count})", "shareFilesDescription": "Files currently in this share", "availableFilesDescription": "Select files to add to this share", "searchPlaceholder": "Search files...", "searchSelectedFiles": "Search selected files...", "noMatchingFiles": "No matching files found", "noAvailableFiles": "No files available", "noFilesInShare": "No files in this share", "noFilesFound": "No files found", "noFilesFoundWith": "No files found matching \"{query}\"", "addFilesFromList": "Add files from the list below", "tryDifferentSearch": "Try different search terms", "allFilesInShare": "All files are already in this share", "uploadNewFiles": "Upload new files to add them", "fileCount": "{count, plural, =1 {file} other {files}}", "filesSelected": "{count, plural, =0 {No files selected} =1 {1 file selected} other {# files selected}}", "editFile": "Edit file", "editFolder": "Edit folder", "previewFile": "Preview file", "addToShare": "Add to share", "removeFromShare": "Remove from share", "saveChanges": "Save Changes" }, "files": { "title": "All Files", "uploadFile": "Upload File", "loadError": "Failed to load files", "pageTitle": "My Files", "breadcrumb": "My Files", "downloadStart": "Download started", "downloadError": "Failed to download file", "updateSuccess": "File updated successfully", "updateError": "Failed to update file", "deleteSuccess": "File deleted successfully", "deleteError": "Failed to delete file", "bulkDownloadSuccess": "Files download started successfully", "bulkDownloadError": "Error creating ZIP file", "bulkDownloadFileError": "Error downloading file {fileName}", "bulkDeleteSuccess": "{count, plural, =1 {1 item deleted successfully} other {# items deleted successfully}}", "bulkDeleteError": "Error deleting selected items", "bulkDeleteTitle": "Delete Selected Items", "bulkDeleteConfirmation": "Are you sure you want to delete {count, plural, =1 {1 item} other {# items}}? This action cannot be undone.", "totalFiles": "{count, plural, =0 {No files} =1 {1 file} other {# files}}", "empty": { "title": "No files or folders yet", "description": "Upload your first file or create a folder to get started" }, "files": "files", "folders": "folders", "actions": { "open": "Open", "rename": "Rename", "delete": "Delete" }, "viewMode": { "table": "Table", "grid": "Grid" } }, "filesTable": { "ariaLabel": "Files table", "selectAll": "Select all", "selectFile": "Select file {fileName}", "columns": { "name": "NAME", "description": "DESCRIPTION", "size": "SIZE", "createdAt": "CREATED AT", "updatedAt": "UPDATED AT", "actions": "ACTIONS" }, "actions": { "menu": "File actions menu", "preview": "Preview", "edit": "Edit", "share": "Share", "download": "Download", "delete": "Delete" }, "bulkActions": { "selected": "{count, plural, =1 {1 file selected} other {# files selected}}", "actions": "Actions", "download": "Download Selected", "share": "Share Selected", "delete": "Delete Selected" } }, "folderActions": { "editFolder": "Edit Folder", "folderName": "Folder Name", "folderNamePlaceholder": "Enter folder name", "folderDescription": "Description", "folderDescriptionPlaceholder": "Enter folder description (optional)", "createFolder": "Create Folder", "renameFolder": "Rename Folder", "moveFolder": "Move Folder", "shareFolder": "Share Folder", "deleteFolder": "Delete Folder", "moveTo": "Move to", "selectDestination": "Select destination folder", "rootFolder": "Root", "folderCreated": "Folder created successfully", "folderRenamed": "Folder renamed successfully", "folderMoved": "Folder moved successfully", "folderDeleted": "Folder deleted successfully", "folderShared": "Folder shared successfully", "createFolderError": "Error creating folder", "renameFolderError": "Error renaming folder", "moveFolderError": "Error moving folder", "deleteFolderError": "Error deleting folder", "shareFolderError": "Error sharing folder", "deleteConfirmation": "Are you sure you want to delete this folder?", "deleteWarning": "This action cannot be undone." }, "footer": { "poweredBy": "Powered by", "kyanHomepage": "Kyantech homepage" }, "forgotPassword": { "emailLabel": "Email Address", "emailPlaceholder": "Enter your email", "sending": "Sending...", "submit": "Send Reset Instructions", "backToLogin": "Back to Login", "title": "Forgot Password", "description": "Enter your email address and we'll send you instructions to reset your password", "resetInstructions": "Reset instructions sent to your email", "pageTitle": "Forgot Password", "passwordAuthDisabled": "Password authentication is disabled. Please contact your administrator or use an external authentication provider." }, "generateShareLink": { "generateTitle": "Generate Share Link", "updateTitle": "Update Share Link", "generateDescription": "Generate a custom link for this share. You can customize the URL to make it more memorable.", "updateDescription": "Update the custom link for this share. You can customize the URL to make it more memorable.", "aliasPlaceholder": "Custom ID for link", "linkReady": "Your share link is ready. You can copy it now.", "readyDescription": "Your share link is ready. You can scan the QR code directly, download it for later use, or copy the link below.", "generateButton": "Generate Link", "updateButton": "Update Link", "copyButton": "Copy Link", "success": "Link generated successfully", "error": "Failed to generate link", "copied": "Link copied to clipboard", "tabs": { "link": "Link", "qrcode": "QR Code" } }, "home": { "description": "The open-source alternative to WeTransfer. Share files securely, without tracking or limitations.", "documentation": "Documentation", "starOnGithub": "Star on GitHub", "privacyMessage": "Built with privacy in mind. Your files are only accessible to those with the sharing link before upload. Forever free and open source.", "header": { "fileSharing": "File sharing", "tagline": "made simple and free" }, "pageTitle": "Home" }, "iconPicker": { "title": "Select Icon", "placeholder": "Select an icon", "searchPlaceholder": "Search icons...", "loadingMore": "Loading more icons...", "allIconsLoaded": "All {count} icons loaded", "noIconsFound": "No icons found for \"{search}\"", "tabs": { "all": "All Icons", "popular": "Popular", "auth": "Auth Providers" }, "stats": "{iconCount} icons from {libraryCount} libraries", "categoryBadge": "{category} ({count} icons)" }, "imageEdit": { "title": "Edit Image", "rotate": "Rotate", "zoom": "Zoom", "cropInstructions": "Drag to reposition, resize corners to adjust crop area" }, "login": { "welcome": "Welcome to", "signInToContinue": "Sign in to continue", "emailOrUsernameLabel": "Email or Username", "emailOrUsernamePlaceholder": "Enter your email or username", "emailLabel": "Email Address", "emailPlaceholder": "Enter your email", "passwordLabel": "Password", "passwordPlaceholder": "Enter your password", "signIn": "Sign In", "signingIn": "Signing in...", "forgotPassword": "Forgot password?", "pageTitle": "Login", "or": "or", "continueWithSSO": "Continue with SSO", "processing": "Processing authentication..." }, "logo": { "labels": { "appLogo": "App Logo" }, "buttons": { "upload": "Upload Logo", "remove": "Remove Logo" }, "messages": { "uploadSuccess": "Logo uploaded successfully", "removeSuccess": "Logo removed successfully" }, "errors": { "uploadFailed": "Failed to upload logo", "removeFailed": "Failed to remove logo" } }, "moveItems": { "itemsToMove": "Items to move:", "movingTo": "Moving to:", "title": "Move {count, plural, =1 {Item} other {Items}}", "description": "Move {count, plural, =1 {item} other {items}} to a new location", "success": "Successfully moved {count} {count, plural, =1 {item} other {items}}" }, "navbar": { "logoAlt": "App Logo", "profileMenu": "Profile Menu", "profile": "Profile", "customization": "Customization", "settings": "Settings", "usersManagement": "User Management", "logout": "Log Out" }, "navigation": { "dashboard": "Dashboard" }, "notifications": { "permissionGranted": "Download notifications enabled", "permissionDenied": "Download notifications disabled", "downloadComplete": { "title": "Download Complete", "body": "{fileName} has finished downloading" }, "downloadFailed": { "title": "Download Failed", "body": "Failed to download {fileName}: {error}", "unknownError": "Unknown error" }, "queueProcessing": { "title": "Download Starting", "body": "{fileName} is now downloading{position}", "position": " (was #{position} in queue)" } }, "profile": { "password": { "title": "Change Password", "newPassword": "New Password", "confirmPassword": "Confirm New Password", "updateButton": "Update Password" }, "form": { "title": "Profile Information", "firstName": "First Name", "lastName": "Last Name", "username": "Username", "email": "Email", "updateButton": "Update Profile" }, "header": { "title": "Profile", "subtitle": "Manage your personal information and password" }, "picture": { "title": "Profile Picture", "description": "Click the camera icon to change your profile picture", "uploadPhoto": "Upload Photo", "removePhoto": "Remove Photo" }, "errors": { "loadFailed": "Failed to load user data", "updateFailed": "Failed to update profile", "passwordFailed": "Failed to update password", "imageFailed": "Failed to update profile image", "imageRemoveFailed": "Failed to remove profile image" }, "messages": { "noChanges": "No changes to save", "updateSuccess": "Profile updated successfully", "fillPasswords": "Please fill in both password fields", "passwordSuccess": "Password updated successfully", "imageSuccess": "Profile image updated successfully", "imageRemoved": "Profile image removed successfully" }, "pageTitle": "Profile" }, "qrCodeModal": { "title": "Share QR Code", "description": "Scan this QR code to access the link.", "download": "Download QR Code" }, "quickAccess": { "files": { "title": "My Files", "description": "Access and manage your uploaded files" }, "shares": { "title": "My Shares", "description": "View and manage your shared files" }, "reverseShares": { "title": "Receive Files", "description": "Create links for others to send files to you" } }, "recentFiles": { "title": "Recent Uploads", "viewAll": "View All", "upload": "Upload", "uploadFile": "Upload File", "noFiles": "No files uploaded yet" }, "recentShares": { "title": "Recent Shares", "viewAll": "View All", "createShare": "Create Share", "noShares": "No shares created yet", "createFirst": "Create your first share" }, "recipientSelector": { "emailPlaceholder": "Enter recipient email", "add": "Add", "recipients": "Recipients ({count})", "notifyAll": "Notify All", "noRecipients": "No recipients added yet", "addSuccess": "Recipient added successfully", "addError": "Failed to add recipient", "removeSuccess": "Recipient removed successfully", "removeError": "Failed to remove recipient", "sendingNotifications": "Sending notifications...", "notifySuccess": "Recipients notified successfully", "notifyError": "Failed to notify recipients", "selectAll": "Select all", "selectedCount": "{count} selected", "selectRecipient": "Select {email}", "notifySelected": "Notify Selected", "removeSelected": "Remove Selected", "notifySingle": "Notify this recipient", "removeSingle": "Remove this recipient", "bulkRemoveSuccess": "{count} recipients removed successfully", "bulkRemoveError": "Failed to remove selected recipients", "bulkNotifySuccess": "Notifications sent to {count} recipients", "bulkNotifyError": "Failed to notify selected recipients", "singleNotifySuccess": "Notification sent to {email}", "singleNotifyError": "Failed to notify recipient", "modalDescription": "Add and manage recipients for this share. You can notify all or specific recipients when SMTP is configured.", "addRecipient": "Add Recipient", "invalidEmail": "Please enter a valid email address", "duplicateEmail": "This recipient has already been added", "noRecipientsDescription": "Add recipients to share this content via email" }, "register": { "validation": { "firstNameRequired": "First name is required", "lastNameRequired": "Last name is required", "usernameMinLength": "Username must be at least 3 characters", "invalidEmail": "Invalid email", "passwordMinLength": "Password must be at least 8 characters", "success": "Administrator user created successfully!", "error": "Error creating administrator user" }, "labels": { "firstName": "First Name", "lastName": "Last Name", "username": "Username", "email": "Email", "password": "Password" }, "buttons": { "creating": "Creating...", "createAdmin": "Create Admin Account" } }, "resetPassword": { "pageTitle": "Reset Password", "header": { "title": "Reset Password", "description": "Enter your new password below" }, "form": { "newPassword": "New Password", "newPasswordPlaceholder": "Enter your new password", "confirmPassword": "Confirm New Password", "confirmPasswordPlaceholder": "Confirm your new password", "resetting": "Resetting Password...", "submit": "Reset Password", "backToLogin": "Back to Login" }, "messages": { "success": "Password reset successfully" }, "errors": { "serverError": "Failed to reset password. Please try again.", "invalidToken": "Invalid or missing reset token" } }, "reverseShares": { "pageTitle": "Receive Files", "search": { "title": "Manage Receive Links", "createButton": "Create Link", "placeholder": "Search receive links...", "results": "Found {filtered} of {total} receive links" }, "labels": { "files": "files", "size": "size", "status": "status", "access": "access", "description": "Description", "pageLayout": "Page Layout", "security": "Security & Status", "limits": "Limits", "maxFiles": "Maximum Files", "maxFileSize": "Maximum Size", "allowedTypes": "Allowed Types", "filesReceived": "Files Received", "fileLimit": "File Limit", "noLimit": "No limit", "noLinkCreated": "No link created", "publicAccess": "Public Access", "protectedByPassword": "Password Protected", "configureProtection": "Click to configure protection", "enterPassword": "Enter password", "thisLinkProtected": "This link will be password protected", "thisLinkPublic": "This link will be publicly available", "configureExpiration": "Configure Expiration", "configureLimits": "Configure File Limits", "protectWithPassword": "Protect with Password", "layoutOptions": { "default": "Default", "wetransfer": "WeTransfer" }, "noFilesLimit": "No file limit", "noSizeLimit": "No size limit", "allFileTypes": "All file types", "fileTypesHelp": "Enter extensions without dots, separated by space, comma, dash or pipe", "fieldRequirements": "Field Requirements", "nameFieldRequired": "Name Field", "emailFieldRequired": "Email Field", "fieldOptions": { "hidden": "Hidden", "optional": "Optional", "required": "Required" } }, "card": { "untitled": "Untitled Link", "noDescription": "No description", "addDescriptionPlaceholder": "Add description...", "files": "files", "progress": "Progress", "created": "Created", "expired": "Expired", "expires": "Expires", "viewDetails": "View details", "viewQrCode": "View QR Code", "copyLink": "Copy Link", "openInNewTab": "Open in New Tab", "editLink": "Edit Link", "createLink": "Create Link", "delete": "Delete", "copyLinkTitle": "Copy link", "createLinkCTA": "Create Receive Link" }, "status": { "active": "Active", "inactive": "Inactive", "expired": "Expired", "protected": "Protected", "public": "Public" }, "actions": { "copyLink": "Copy Link", "editAlias": "Edit Alias", "createAlias": "Create Alias", "viewDetails": "View Details", "edit": "Edit", "delete": "Delete", "viewFiles": "Received Files", "viewQrCode": "View QR Code" }, "empty": { "title": "No receive links created", "description": "Create custom links for others to send files directly to you securely and organized.", "createButton": "Create First Link" }, "modals": { "create": { "title": "Create Receive Link", "description": "Configure a custom link to receive files from others" }, "edit": { "title": "Edit Receive Link", "description": "Update the settings for this receive link", "updating": "Updating...", "saveChanges": "Save Changes" }, "details": { "title": "Link Details", "description": "View and edit your receive link information", "pageLayout": "Page Layout", "linkSection": "Receive Link", "noLinkCreated": "No link created", "limits": "Limits", "maxFiles": "Maximum Files", "maxFileSize": "Maximum Size", "allowedTypes": "Allowed Types", "noLimit": "No limit", "security": "Security", "status": "Status", "password": "Password", "files": "Received Files", "noFiles": "No files received yet", "copyLink": "Copy Link", "openLink": "Open Link", "editAlias": "Edit Alias", "createAlias": "Create Alias", "editPassword": "Edit Password Protection", "basicInfo": "Basic Information", "securityAndStatus": "Security & Status", "protection": "Protection", "protectedByPassword": "Password Protected", "publicAccess": "Public Access", "active": "Active", "inactive": "Inactive", "deactivate": "Deactivate", "activate": "Activate", "expiration": "Expiration", "dates": "Dates", "createdAt": "Created at", "updatedAt": "Updated at", "allTypes": "All types", "placeholderTypes": ".pdf,.jpg,.png (comma separated)", "downloadSuccess": "Download started", "downloadError": "Error downloading file", "editSuccess": "File updated successfully", "editError": "Error updating file", "previewNotAvailable": "Preview not available", "notAvailable": "Not available", "invalidDate": "Invalid date" }, "alias": { "editTitle": "Edit Alias", "createTitle": "Create Alias", "editDescription": "Update the alias for this receive link", "createDescription": "Create a custom alias for this receive link", "aliasLabel": "Link Alias", "aliasPlaceholder": "my-custom-link", "preview": "Preview:", "currentLink": "Current Link:", "copyCurrentLink": "Copy current link", "randomTooltip": "Generate random alias", "cancel": "Cancel", "creating": "Creating...", "updating": "Updating...", "create": "Create Alias", "update": "Update Alias", "validation": { "required": "Alias is required", "minLength": "Alias must be at least 3 characters", "maxLength": "Alias must be at most 50 characters", "pattern": "Alias must contain only letters, numbers, hyphens and underscores" }, "help": "3-50 characters. Spaces will be automatically converted to hyphens." }, "password": { "title": "Edit Password Protection", "description": "Configure password protection for this link", "hasPassword": "Password Protected", "password": "Password", "cancel": "Cancel", "save": "Save", "saving": "Saving..." }, "receivedFiles": { "title": "Received Files", "description": "View and manage files sent to this link", "noFiles": "No files received yet", "noFilesDescription": "Files sent through this link will appear here", "fileCount": "{count, plural, =0 {No files} =1 {1 file} other {# files}}", "invalidDate": "Invalid date", "totalSize": "Total size: {size}", "columns": { "file": "File", "size": "Size", "sender": "Sent by", "date": "Date", "actions": "Actions" }, "actions": { "preview": "Preview", "download": "Download", "copyToMyFiles": "Copy to my files", "copying": "Copying..." }, "uploadedBy": "Uploaded by {name}", "anonymous": "Anonymous", "downloadSuccess": "Download started", "downloadError": "Error downloading file", "editSuccess": "File updated successfully", "editError": "Error updating file", "previewNotAvailable": "Preview not available", "copySuccess": "File copied to your files successfully", "copyError": "Error copying file to your files", "deleteSuccess": "File deleted successfully", "deleteError": "Error deleting file", "bulkCopySuccess": "{count, plural, =1 {1 file copied to your files successfully} other {# files copied to your files successfully}}", "bulkDeleteSuccess": "{count, plural, =1 {1 file deleted successfully} other {# files deleted successfully}}", "bulkCopyProgress": "Copying {count, plural, =1 {1 file} other {# files}} to your files...", "bulkDeleteProgress": "Deleting {count, plural, =1 {1 file} other {# files}}...", "bulkDeleteConfirmTitle": "Delete Selected Files", "bulkDeleteConfirmMessage": "Are you sure you want to delete {count, plural, =1 {this file} other {these # files}}? This action cannot be undone.", "bulkDeleteConfirmButton": "Delete {count, plural, =1 {File} other {Files}}", "bulkActions": { "selected": "{count, plural, =1 {1 file selected} other {# files selected}}", "actions": "Actions", "download": "Download Selected", "copyToMyFiles": "Copy Selected to My Files", "delete": "Delete Selected" }, "selectAll": "Select all", "selectFile": "Select file {fileName}", "copyErrors": { "timeout": "Copy operation timed out. Please try again with a smaller file or check your connection.", "failed": "Copy operation failed. Please try again.", "aborted": "Copy operation was cancelled due to timeout." } } }, "form": { "name": { "label": "Link Name", "placeholder": "e.g.: Project Documents, Family Photos..." }, "description": { "label": "Description", "placeholder": "Describe what type of files you expect to receive...", "description": "Optional. Helps people understand what to send." }, "status": { "label": "Link Status", "description": "Activate or deactivate this receive link" }, "expiration": { "label": "Expiration Date", "description": "Optional. The link will be deactivated after this date.", "configure": "Configure Expiration" }, "fileLimits": { "configure": "Configure File Limits" }, "maxFiles": { "label": "Maximum Files", "placeholder": "e.g.: 10", "description": "Optional. Limit the total number of files that can be sent.", "noLimit": "No file limit" }, "maxFileSize": { "label": "Maximum File Size", "placeholder": "e.g.: 100", "description": "Optional. Limit the individual size of each file.", "noLimit": "No size limit" }, "allowedFileTypes": { "label": "Allowed File Types", "placeholder": "e.g.: pdf, jpg, png, docx", "description": "Enter extensions without dots, separated by space, comma, dash or pipe", "allTypes": "All file types" }, "pageLayout": { "label": "Page Layout", "placeholder": "Choose layout", "description": "How the upload page will appear to users.", "options": { "default": "Default Layout", "wetransfer": "WeTransfer Style" } }, "password": { "label": "Protection Password", "placeholder": "Optional. Add a password to protect the link", "description": "Optional. Users will need this password to access the link.", "configurePassword": "Configure Password", "protectWithPassword": "Protect with Password", "passwordHelp": "Password must be at least 4 characters", "passwordPlaceholder": "Enter a password to protect the link" }, "nameFieldRequired": { "label": "Name Field Requirement", "description": "Configure if the uploader name field should be shown and if it's required" }, "emailFieldRequired": { "label": "Email Field Requirement", "description": "Configure if the uploader email field should be shown and if it's required" }, "fieldRequirements": { "title": "Field Requirements", "description": "Configure which fields are shown in the upload form" }, "submit": "Create Receive Link" }, "messages": { "created": "Receive link created successfully!", "createSuccess": "Receive link created successfully!", "updateSuccess": "Receive link updated successfully!", "linkCopied": "Link copied to clipboard!", "deleteSuccess": "Receive link deleted successfully!", "aliasCreated": "Alias created successfully!", "activateSuccess": "Receive link activated successfully!", "deactivateSuccess": "Receive link deactivated successfully!", "passwordProtectionEnabled": "Password protection enabled successfully!", "passwordProtectionDisabled": "Password protection removed successfully!" }, "defaultLinkName": "Received Files", "errors": { "loadFailed": "Failed to load receive links", "createFailed": "Failed to create receive link. Please try again.", "updateFailed": "Failed to update receive link. Please try again.", "deleteFailed": "Failed to delete receive link. Please try again.", "aliasCreateFailed": "Failed to create alias. Please try again.", "passwordUpdateFailed": "Failed to update password protection" }, "delete": { "title": "Delete receive link", "description": "This action cannot be undone. The link will be permanently removed and will no longer be able to receive files.", "confirmButton": "Delete Link", "cancelButton": "Cancel", "deleting": "Deleting..." }, "upload": { "metadata": { "title": "Send Files - Palmr", "description": "Send files through the shared link", "descriptionWithLimit": "Upload files (max {limit} files)" }, "layout": { "defaultTitle": "Send Files", "importantInfo": "Important information:", "maxFiles": "Maximum of {count} file(s)", "maxFileSize": "Maximum file size: {size}MB", "allowedTypes": "Allowed types: {types}", "loading": "Loading..." }, "password": { "title": "Protected Link", "description": "This link is password protected. Enter the password to continue.", "label": "Password", "placeholder": "Enter password", "cancel": "Cancel", "submit": "Continue", "verifying": "Verifying..." }, "errors": { "loadFailed": "Failed to load information. Please try again.", "passwordIncorrect": "Incorrect password. Please try again.", "linkNotFound": "Link not found or expired.", "linkInactive": "This link is inactive.", "linkExpired": "This link has expired.", "uploadFailed": "Error uploading file", "retry": "Retry", "fileTooLarge": "File too large. Maximum size: {maxSize}", "fileTypeNotAllowed": "File type not allowed. Accepted types: {allowedTypes}", "maxFilesExceeded": "Maximum of {maxFiles} files allowed", "selectAtLeastOneFile": "Select at least one file", "provideNameOrEmail": "Please provide your name or email", "provideNameRequired": "Name is required", "provideEmailRequired": "Email is required" }, "fileDropzone": { "dragActive": "Drop files here", "dragInactive": "Drag files here or click to select", "acceptedTypes": "Accepted types: {types}", "maxFileSize": "Maximum size: {size}", "maxFiles": "Maximum of {count} files", "remainingFiles": "{remaining} of {max} files remaining" }, "fileList": { "title": "Selected files:", "statusUploaded": "Uploaded", "statusError": "Error", "retry": "Retry" }, "form": { "nameLabel": "Name", "nameLabelOptional": "Name (optional)", "namePlaceholder": "Your name", "emailLabel": "Email", "emailLabelOptional": "Email (optional)", "emailPlaceholder": "your@email.com", "descriptionLabel": "Description (optional)", "descriptionPlaceholder": "Add a description to the files...", "uploadButton": "Send {count} file(s)", "uploading": "Sending..." }, "success": { "title": "Files sent successfully! 🎉", "description": "You can close this page.", "countMessage": "{count} file(s) sent successfully!" }, "maxFilesReached": { "title": "File limit reached", "description": "This link has already received the maximum number of {maxFiles} file(s) allowed.", "contactOwner": "If there was an error or you need to send more files, contact the link owner." }, "linkInactive": { "title": "Link inactive", "description": "This receive link is temporarily inactive.", "contactOwner": "Contact the link owner for more information." }, "linkNotFound": { "title": "Link not found", "description": "This link may have been removed or never existed." }, "linkExpired": { "title": "Link expired", "description": "This receive link has expired and is no longer accepting files.", "contactOwner": "Contact the link owner if you need to send files." } }, "components": { "fileRow": { "addDescription": "Add description...", "anonymous": "Anonymous" }, "fileActions": { "edit": "Edit", "preview": "Preview", "download": "Download", "delete": "Delete", "copyToMyFiles": "Copy to my files", "copying": "Copying..." }, "editField": { "saveChanges": "Save changes", "cancelEdit": "Cancel edit" } } }, "searchBar": { "placeholder": "Search files and folders...", "placeholderFiles": "Search files...", "placeholderFolders": "Search folders...", "results": "Showing {filtered} of {total} items", "noResults": "No results found for \"{query}\"" }, "settings": { "groups": { "defaultDescription": "Configuration options", "general": { "title": "General", "description": "Basic application settings" }, "email": { "title": "Email", "description": "Email server configuration" }, "security": { "title": "Security", "description": "Security and authentication settings" }, "storage": { "title": "Storage", "description": "File storage configuration" }, "oidc": { "title": "OpenID Connect (SSO)", "description": "Configure SSO authentication via OpenID Connect" } }, "fields": { "noDescription": "No description available", "appLogo": { "title": "Application Logo", "description": "Application logo image" }, "appName": { "title": "Application Name", "description": "Application name displayed to users" }, "appDescription": { "title": "Application Description", "description": "Brief description of the application" }, "showHomePage": { "title": "Show Home Page", "description": "Show Home Page after installation" }, "hideVersion": { "title": "Hide Version", "description": "Hide the Palmr version from the footer on all pages" }, "smtpEnabled": { "title": "SMTP Enabled", "description": "Enable or disable SMTP email functionality" }, "smtpHost": { "title": "SMTP Server", "description": "SMTP server address" }, "smtpPort": { "title": "SMTP Port", "description": "SMTP server port" }, "smtpUser": { "title": "SMTP Username", "description": "Username for SMTP authentication" }, "smtpPass": { "title": "SMTP Password", "description": "Password for SMTP authentication" }, "smtpFromName": { "title": "Sender Name", "description": "Display name for sent emails" }, "smtpFromEmail": { "title": "Sender Email", "description": "Sender email address" }, "smtpSecure": { "title": "Connection Security", "description": "SMTP connection security method - Auto (recommended), SSL, STARTTLS, or None (insecure)", "options": { "auto": "Auto (Recommended)", "ssl": "SSL (Port 465)", "tls": "STARTTLS (Port 587)", "none": "None (Insecure)" } }, "smtpNoAuth": { "title": "No Authentication", "description": "Enable this for internal servers that don't require username/password (hides auth fields)" }, "smtpTrustSelfSigned": { "title": "Trust Self-Signed Certificates", "description": "Enable this to trust self-signed SSL/TLS certificates (useful for development environments)" }, "testSmtp": { "title": "Test SMTP Connection", "description": "Test if the SMTP configuration is valid" }, "maxLoginAttempts": { "title": "Maximum Login Attempts", "description": "Maximum number of login attempts before blocking" }, "loginBlockDuration": { "title": "Block Duration", "description": "Duration (in seconds) to block after exceeding attempts" }, "passwordMinLength": { "title": "Minimum Password Length", "description": "Minimum number of characters for passwords" }, "passwordResetTokenExpiration": { "title": "Reset Token Expiration", "description": "Validity time (in seconds) for password reset token" }, "maxFileSize": { "title": "Maximum File Size", "description": "Maximum allowed file size for uploads" }, "maxTotalStoragePerUser": { "title": "Maximum Storage Per User", "description": "Total storage limit per user" }, "firstUserAccess": { "title": "First User Access", "description": "Settings for first access of new users" }, "serverUrl": { "title": "Server URL", "description": "Base URL of the Palmr server (e.g.: https://palmr.example.com)" }, "passwordAuthEnabled": { "title": "Password Authentication", "description": "Enable or disable password-based authentication" } }, "buttons": { "save": "Save {group}", "testSmtp": "Test Connection", "testing": "Testing..." }, "errors": { "loadFailed": "Failed to load settings", "updateFailed": "Failed to update settings", "passwordAuthRequiresProvider": "Cannot disable password authentication without having at least one active authentication provider" }, "messages": { "noChanges": "No changes to save", "updateSuccess": "{group} settings updated successfully", "smtpTestSuccess": "SMTP connection successful! Your email configuration is working correctly.", "smtpTestFailed": "SMTP connection failed: {error}", "smtpTestGenericError": "Failed to test SMTP connection. Please check your settings and try again.", "smtpNotEnabled": "SMTP is not enabled. Please enable SMTP first.", "smtpMissingHostPort": "Please fill in SMTP Host and Port before testing.", "smtpMissingAuth": "Please fill in SMTP Username and Password, or enable 'No Authentication' option." }, "title": "Settings", "breadcrumb": "Settings", "pageTitle": "Settings", "tooltips": { "testSmtp": "Tests the SMTP connection with the values currently entered in the form. To make changes permanent, remember to save your settings after testing.", "defaultPlaceholder": "Enter and press Enter" }, "redirectUri": { "placeholder": "https://mysite.com", "previewLabel": "Complete URL that will be saved:" } }, "share": { "errors": { "invalidPassword": "Invalid password. Please try again.", "loadFailed": "Failed to load share", "downloadFailed": "Failed to download file" }, "messages": { "downloadStarted": "Download started" }, "password": { "title": "Password Protected Share", "protected": "This share is password protected", "incorrect": "Incorrect password. Please try again.", "label": "Password", "placeholder": "Enter share password", "submit": "Submit" }, "details": { "untitled": "Untitled Share", "created": "Created: {date}", "expires": "Expires: {date}" }, "downloadAll": "Download All", "notFound": { "title": "Share Not Found", "description": "This share may have been deleted or expired." }, "pageTitle": "Share", "metadata": { "defaultDescription": "Share files securely", "filesShared": "{count, plural, =1 {1 file shared} other {# files shared}}" } }, "shareActions": { "fileTitle": "Share File", "folderTitle": "Share Folder", "linkTitle": "Generate Link", "linkDescriptionFile": "Generate a custom link to share the file", "linkDescriptionFolder": "Generate a custom link to share the folder", "aliasLabel": "Link Alias", "aliasPlaceholder": "Enter custom alias", "linkReady": "Your share link is ready:", "generateLink": "Generate Link", "copyLink": "Copy Link", "deleteTitle": "Delete Share", "deleteConfirmation": "Are you sure you want to delete this share? This action cannot be undone.", "addDescriptionPlaceholder": "Add description...", "editTitle": "Edit Share", "newPasswordLabel": "New Password (leave empty to keep current)", "newPasswordPlaceholder": "Enter new password", "manageFilesTitle": "Manage Files", "manageRecipientsTitle": "Manage Recipients", "editSuccess": "Share updated successfully", "editError": "Failed to update share", "bulkDeleteConfirmation": "Are you sure you want to delete {count, plural, =1 {1 share} other {# shares}}? This action cannot be undone.", "bulkDeleteTitle": "Delete Selected Shares" }, "shareDetails": { "title": "Share Details", "subtitle": "View and manage details for this share", "basicInfo": "Basic Information", "name": "Name", "description": "Description", "shareLink": "Share Link", "dates": "Dates", "security": "Security", "files": "Files", "recipients": "Recipients", "views": "Views", "created": "Created", "expires": "Expires", "never": "Never", "untitled": "Untitled Share", "noDescription": "No description", "notAvailable": "N/A", "invalidDate": "Invalid date", "passwordProtected": "Password Protected", "publicAccess": "Public Access", "maxViews": "Max Views:", "noLink": "No link generated", "generateLink": "Generate Link", "editLink": "Edit Link", "copyLink": "Copy Link", "openLink": "Open Link", "editSecurity": "Edit Security", "editExpiration": "Edit Expiration", "qrCode": "QR Code", "downloadQrCode": "Download QR Code", "clickToEnlargeQrCode": "Click to enlarge QR Code", "loadError": "Failed to load share details" }, "shareExpiration": { "title": "Share Expiration Settings", "subtitle": "Configure when this share will expire", "currentStatus": "Current Status", "expires": "Expires:", "neverExpires": "Never Expires", "enableExpiration": "Enable Expiration", "expirationDate": "Expiration Date", "validation": { "dateRequired": "Please select an expiration date", "dateMustBeFuture": "Expiration date must be in the future" }, "success": { "expirationSet": "Expiration date set successfully", "expirationUpdated": "Expiration date updated successfully", "expirationRemoved": "Expiration removed successfully - share is now permanent" }, "error": { "updateFailed": "Failed to update expiration settings" }, "info": { "title": "About expiration:", "willBeInaccessible": "The share will become inaccessible after this date", "canBeChanged": "You can change or remove the expiration date anytime", "noExpiration": "This share will never expire and will remain accessible indefinitely." } }, "shareManager": { "deleteSuccess": "Share deleted successfully", "deleteError": "Failed to delete share", "updateSuccess": "Share updated successfully", "updateError": "Failed to update share", "securityUpdateSuccess": "Security settings updated successfully", "securityUpdateError": "Failed to update security settings", "expirationUpdateSuccess": "Expiration settings updated successfully", "expirationUpdateError": "Failed to update expiration settings", "filesUpdateSuccess": "Files updated successfully", "filesUpdateError": "Failed to update files", "recipientsUpdateSuccess": "Recipients updated successfully", "recipientsUpdateError": "Failed to update recipients", "linkGenerateSuccess": "Share link generated successfully", "linkGenerateError": "Failed to generate share link", "notifyLoading": "Sending notifications...", "notifySuccess": "Recipients notified successfully", "notifyError": "Failed to notify recipients", "bulkDeleteError": "Failed to delete shares", "bulkDeleteLoading": "Deleting {count, plural, =1 {1 share} other {# shares}}...", "bulkDeleteSuccess": "{count, plural, =1 {1 share deleted successfully} other {# shares deleted successfully}}", "downloadSuccess": "Download started successfully", "downloadError": "Failed to download share files", "noFilesToDownload": "No files available to download", "creatingZip": "Creating ZIP file...", "zipDownloadSuccess": "ZIP file downloaded successfully", "zipDownloadError": "Failed to create ZIP file", "singleShareZipName": "{shareName}_files.zip", "multipleSharesZipName": "{count}_shares_files.zip", "defaultShareName": "Share" }, "shareMultipleFiles": { "title": "Share Multiple Files", "shareNameLabel": "Share Name", "shareNamePlaceholder": "Enter share name", "descriptionLabel": "Description", "descriptionPlaceholder": "Enter a description (optional)", "filesToShare": "Files to Share", "files": "files", "totalSize": "Total size", "creating": "Creating share...", "create": "Create Share", "itemsToShare": "Items to share ({count} {count, plural, =1 {item} other {items}})" }, "shareSecurity": { "title": "Share Security Settings", "subtitle": "Configure password protection and security options for this share", "currentStatus": "Current Status", "passwordProtection": "Password Protection", "password": "Password", "newPassword": "New Password", "passwordPlaceholder": "Enter a secure password", "existingPasswordMessage": "This share already has a password. If you want to update it, enter the new password in the field below and save.", "passwordRequirements": { "title": "Password requirements:", "minLength": "At least 2 characters" }, "info": { "title": "How it works:", "withPassword": "Users will need to enter the password to access this share.", "withoutPassword": "Anyone with the link can access this share without a password." }, "validation": { "passwordRequired": "Password is required", "passwordTooShort": "Password must be at least 2 characters" }, "success": { "passwordSet": "Password protection enabled successfully", "passwordUpdated": "Password updated successfully", "passwordRemoved": "Password protection removed successfully" }, "error": { "updateFailed": "Failed to update security settings" } }, "shares": { "errors": { "loadFailed": "Failed to load shares", "notifyFailed": "Failed to notify recipients", "smtpConfigFailed": "Failed to load SMTP configuration" }, "messages": { "linkCopied": "Link copied to clipboard", "recipientsNotified": "Recipients notified successfully" }, "empty": { "message": "No shares created yet", "createButton": "Create Share" }, "header": { "title": "My Shares", "myShares": "My Shares" }, "search": { "title": "All Shares", "createButton": "Create Share", "placeholder": "Search shares...", "results": "Found {filtered} of {total} shares" }, "pageTitle": "Shares" }, "sharesTable": { "ariaLabel": "Shares table", "never": "Never", "columns": { "name": "NAME", "description": "DESCRIPTION", "createdAt": "CREATED AT", "expiresAt": "EXPIRES AT", "status": "STATUS", "security": "SECURITY", "files": "FILES", "recipients": "RECIPIENTS", "actions": "ACTIONS" }, "status": { "neverExpires": "Never Expires", "active": "Active", "expired": "Expired" }, "security": { "protected": "Protected", "public": "Public" }, "filesCount": "files", "folderCount": "folders", "recipientsCount": "recipients", "actions": { "menu": "Share actions menu", "edit": "Edit", "manageFiles": "Manage Files", "manageRecipients": "Manage Recipients", "viewDetails": "View Details", "generateLink": "Generate Link", "editLink": "Edit Link", "copyLink": "Copy Link", "viewQrCode": "View QR Code", "notifyRecipients": "Notify Recipients", "downloadShareFiles": "Download All Files", "delete": "Delete" }, "bulkActions": { "actions": "Actions", "download": "Download Selected", "delete": "Delete", "selected": "{count, plural, =1 {1 share selected} other {# shares selected}}" }, "selectAll": "Select all", "selectShare": "Select share {shareName}" }, "storageUsage": { "title": "Storage Usage", "ariaLabel": "Storage usage progress bar", "used": "used", "available": "available", "total": "Total", "loading": "Loading...", "retry": "Retry", "errors": { "title": "Storage information unavailable", "detectionFailed": "Unable to detect disk space. This may be due to system configuration issues or insufficient permissions.", "serverError": "Server error occurred while retrieving storage information. Please try again later.", "unknown": "An unexpected error occurred while loading storage information." } }, "theme": { "toggle": "Toggle theme", "light": "Light", "dark": "Dark", "system": "System" }, "twoFactor": { "title": "Two-Factor Authentication", "description": "Add an extra layer of security to your account", "enabled": "Your account is protected with two-factor authentication", "disabled": "Two-factor authentication is not enabled", "status": { "label": "Status:", "enabled": "Enabled", "disabled": "Disabled" }, "buttons": { "enable2FA": "Enable 2FA", "disable2FA": "Disable 2FA" }, "setup": { "title": "Enable Two-Factor Authentication", "description": "Scan the QR code with your authenticator app, then enter the verification code.", "qrCode": "QR Code", "manualEntryKey": "Manual Entry Key", "verificationCode": "Verification Code", "verificationCodePlaceholder": "Enter 6-digit code", "verificationCodeDescription": "Enter the 6-digit code from your authenticator app", "verifyAndEnable": "Verify & Enable", "cancel": "Cancel" }, "disable": { "title": "Disable Two-Factor Authentication", "description": "Enter your password to confirm disabling two-factor authentication.", "password": "Password", "passwordPlaceholder": "Enter your password", "confirm": "Confirm Disable", "cancel": "Cancel" }, "backupCodes": { "title": "Backup Codes", "description": "Save these backup codes in a safe place. You can use them to access your account if you lose your authenticator device.", "warning": "Important:", "warningText": "Each backup code can only be used once. Keep them secure and don't share them with anyone.", "generateNew": "Generate New Backup Codes", "download": "Download Backup Codes", "copyToClipboard": "Copy to Clipboard", "savedMessage": "I've Saved My Backup Codes", "available": "{count} backup codes available", "instructions": [ "• Save these codes in a secure location", "• Each backup code can only be used once", "• You can generate new codes anytime" ] }, "verification": { "title": "Two-Factor Authentication", "description": "Enter the 6-digit code from your authenticator app", "backupDescription": "Enter one of your backup codes to continue", "verificationCode": "Verification Code", "backupCode": "Backup Code", "verificationCodePlaceholder": "000000", "backupCodePlaceholder": "XXXX-XXXX", "verify": "Verify", "verifying": "Verifying...", "useBackupCode": "Use backup code instead", "useAuthenticatorCode": "Use authenticator code instead", "rememberDevice": "Remember this device for 30 days", "rememberDeviceDescription": "You won't need to enter 2FA codes on this device for 30 days" }, "trustedDevices": { "title": "Trusted Devices - 2FA", "description": "Devices that don't require 2FA verification", "noDevices": "No trusted devices", "deviceName": "Device", "addedOn": "Added on", "expiresOn": "Expires on", "remove": "Remove", "removeAll": "Remove All", "confirmRemove": "Are you sure you want to remove this trusted device?", "confirmRemoveAll": "Are you sure you want to remove all trusted devices?", "deviceRemoved": "Trusted device removed successfully", "allDevicesRemoved": "All trusted devices removed successfully", "loadFailed": "Failed to load trusted devices", "removeFailed": "Failed to remove trusted device", "removeAllFailed": "Failed to remove all trusted devices", "loading": "Loading trusted devices...", "noDevicesDescription": "Devices will appear here when you choose to trust them during 2FA verification", "tableHeaders": { "device": "Device", "added": "Added", "expires": "Expires", "lastUsed": "Last Used", "ipAddress": "IP Address", "actions": "Actions" }, "status": { "never": "Never", "expired": "Expired" }, "modals": { "removeDevice": { "title": "Remove Trusted Device", "added": "Added:", "ip": "IP:" }, "removeAllDevices": { "title": "Remove All Trusted Devices", "description": "This will remove {count} trusted device{count, plural, =1 {} other {s}}. You will need to verify 2FA on all devices again." }, "buttons": { "cancel": "Cancel", "removing": "Removing...", "removeDevice": "Remove Device", "removeAllDevices": "Remove All Devices" } } }, "messages": { "enabledSuccess": "Two-factor authentication enabled successfully!", "disabledSuccess": "Two-factor authentication disabled successfully", "backupCodesGenerated": "New backup codes generated successfully", "backupCodesCopied": "Backup codes copied to clipboard", "setupFailed": "Failed to generate 2FA setup", "verificationFailed": "Invalid verification code", "disableFailed": "Failed to disable 2FA. Please check your password.", "backupCodesFailed": "Failed to generate backup codes", "backupCodesCopyFailed": "Failed to copy backup codes", "statusLoadFailed": "Failed to load 2FA status", "enterVerificationCode": "Please enter the verification code", "enterPassword": "Please enter your password", "deviceTrusted": "This device has been marked as trusted for 30 days" }, "errors": { "invalidVerificationCode": "Invalid verification code", "invalidTwoFactorCode": "Invalid two-factor authentication code", "twoFactorRequired": "Two-factor authentication required", "twoFactorAlreadyEnabled": "Two-factor authentication is already enabled", "twoFactorNotEnabled": "Two-factor authentication is not enabled", "passwordVerificationRequired": "Password verification required", "invalidPassword": "Invalid password", "userNotFound": "User not found" }, "deviceNames": { "unknownDevice": "Unknown Device", "browsers": { "chrome": "Chrome", "firefox": "Firefox", "safari": "Safari", "edge": "Edge" }, "platforms": { "windows": " on Windows", "macos": " on macOS", "linux": " on Linux", "iphone": " on iPhone", "android": " on Android" } } }, "uploadFile": { "title": "Upload File", "multipleTitle": "Upload Files", "selectFile": "Click to select a file", "selectMultipleFiles": "Click to select one or multiple files", "dragAndDrop": "or drag and drop files here", "filesQueued": "{count, plural, one {# file queued for upload} other {# files queued for upload}}", "preview": "Preview", "uploadProgress": "Upload progress", "upload": "Upload", "startUploads": "Start Uploads", "retry": "Retry", "finish": "Finish", "success": "File uploaded successfully", "allSuccess": "{count, plural, =1 {File uploaded successfully} other {# files uploaded successfully}}", "partialSuccess": "{success} files uploaded successfully, {error} failed", "error": "Failed to upload file", "fileSizeExceeded": "File size exceeds the limit of {maxsizemb}MB.", "insufficientStorage": "Insufficient storage space. You have {availablespace}MB available.", "unauthorized": "Unauthorized: a valid token is required to access this resource.", "globalDrop": { "title": "Drop files to upload", "description": "Release to upload your files" }, "confirmCancel": { "title": "Cancel Uploads", "messageSingle": "There is one upload in progress.", "messageMultiple": "There are {count} uploads in progress.", "warning": "If you close now, uploads will be cancelled and any progress will be lost.", "continue": "Continue Uploads", "cancel": "Cancel Uploads" }, "pasteSuccess": "{count, plural, =1 {Image pasted and uploaded successfully} other {# images pasted and uploaded successfully}}" }, "users": { "modes": { "create": "create", "edit": "edit" }, "errors": { "loadFailed": "Failed to load users", "submitFailed": "Failed to {mode} user", "deleteFailed": "Failed to delete user", "statusUpdateFailed": "Failed to update user status" }, "messages": { "createSuccess": "User created successfully", "updateSuccess": "User updated successfully", "deleteSuccess": "User deleted successfully", "activateSuccess": "User activated successfully", "deactivateSuccess": "User deactivated successfully" }, "actions": { "edit": "Edit", "activate": "Activate", "deactivate": "Deactivate", "delete": "Delete" }, "delete": { "title": "Confirm Delete User", "confirmation": "Are you sure you want to delete user {firstName} {lastName}? This action cannot be undone.", "confirm": "Delete User" }, "form": { "titleCreate": "Add New User", "titleEdit": "Edit User", "firstName": "First Name", "lastName": "Last Name", "username": "Username", "email": "Email", "password": "Password", "newPassword": "New Password (optional)", "passwordPlaceholder": "Leave blank to keep current password", "role": "Role", "roleUser": "User", "roleAdmin": "Admin", "create": "Create", "save": "Save" }, "status": { "title": "Confirm Status Change", "confirmation": "Are you sure you want to {action} user {firstName} {lastName}?", "activate": "Activate", "deactivate": "Deactivate", "user": "User" }, "header": { "title": "User Management", "addUser": "Add User", "management": "User Management" }, "table": { "user": "USER", "email": "EMAIL", "status": "STATUS", "role": "ROLE", "actions": "ACTIONS", "active": "Active", "inactive": "Inactive", "admin": "Admin", "userr": "User" } }, "embedCode": { "title": "Embed Image", "description": "Use these codes to embed this image in forums, websites, or other platforms", "tabs": { "directLink": "Direct Link", "html": "HTML", "bbcode": "BBCode" }, "directLinkDescription": "Direct URL to the image file", "htmlDescription": "Use this code to embed the image in HTML pages", "bbcodeDescription": "Use this code to embed the image in forums that support BBCode" }, "validation": { "firstNameRequired": "First name is required", "lastNameRequired": "Last name is required", "usernameLength": "Username must be at least 3 characters long", "usernameSpaces": "Username cannot contain spaces", "invalidEmail": "Please enter a valid email address", "passwordLength": "Password must be at least 8 characters long", "passwordsMatch": "Passwords must match", "emailRequired": "Email is required", "emailOrUsernameRequired": "Email or username is required", "passwordRequired": "Password is required", "passwordMinLength": "Password must be at least 6 characters", "nameRequired": "Name is required", "required": "This field is required" } }