{ "common": { "loading": "Loading...", "error": "Error", "save": "Save", "cancel": "Cancel", "delete": "Delete", "edit": "Edit", "add": "Add", "search": "Search", "filter": "Filter", "sortBy": "Sort by", "yes": "Yes", "no": "No", "back": "Back", "next": "Next", "previous": "Previous", "close": "Close", "logout": "Logout", "menu": "Menu", "change": "Change", "remove": "Remove", "download": "Download", "downloadAll": "Download All", "uploading": "Uploading...", "uploaded": "Uploaded", "photo": "photo", "photos": "photos", "restore": "Restore", "actions": "Actions", "refresh": "Refresh", "preview": "Preview", "processing": "Processing...", "upload": "Upload", "days": "days", "customize": "Customize", "hide": "Hide", "unknown": "Unknown", "notSet": "Not set", "of": "of", "up": "Up", "select": "Select", "selected": "Selected", "chunk": "Chunk" }, "upload": { "photoCategory": "Photo Category", "noCategory": "No category", "eventSpecific": "(Event specific)", "clickToUpload": "Click to upload or drag and drop", "fileRequirements": "JPEG, PNG or WebP (max 50MB per file)", "selectedFiles": "Selected files", "uploading": "Uploading...", "uploadComplete": "Upload complete!", "uploadFailed": "Upload failed", "someFilesFailed": "Some files failed to upload", "uploadPhotos": "Upload Photos", "importExternal": "Import from External Folder", "externalImportInfo": "All pictures from the selected folder will be imported.", "selectExternalFolder": "Select external folder under /external-media", "importFromSelectedFolder": "Import from selected folder", "maxFilesReached": "Maximum 500 files allowed", "someFilesSkipped": "Some files were skipped (500 file limit)", "tooManyFiles": "Maximum 500 files can be uploaded at once", "uploadingChunks": "Uploading {{count}} files in {{total}} batches..." }, "navigation": { "dashboard": "Dashboard", "events": "Events", "archives": "Archives", "settings": "Settings", "branding": "Branding", "analytics": "Analytics", "emailSettings": "Email Settings", "backup": "Backup & Restore", "cmsPages": "CMS Pages" }, "archives": { "title": "Archives", "subtitle": "Manage archived photo galleries", "loadingArchives": "Loading archives...", "totalArchives": "Total Archives", "storageUsed": "Storage Used", "totalPhotos": "Total Photos", "avgArchiveSize": "Avg Archive Size", "searchPlaceholder": "Search archives...", "allTypes": "All Types", "wedding": "Wedding", "birthday": "Birthday", "corporate": "Corporate", "other": "Other", "sortByDate": "Sort by Date", "sortByName": "Sort by Name", "sortBySize": "Sort by Size", "tableHeaders": { "event": "Event", "type": "Type", "archivedDate": "Archived Date", "size": "Size", "photos": "Photos", "actions": "Actions" }, "noArchivesFound": "No archives found", "eventDateNA": "Event date: N/A", "processing": "Processing...", "download": "Download", "restore": "Restore", "delete": "Delete", "showing": "Showing {{from}} to {{to}} of {{total}} archives", "page": "Page {{current}} of {{total}}", "storageManagement": "Storage Management", "storageInfo": "Archives are stored permanently unless manually deleted. Consider implementing a retention policy to manage storage costs.", "confirmRestore": "Are you sure you want to restore this archive? The event will become active again.", "confirmDelete": "Are you sure you want to permanently delete this archive? This action cannot be undone.", "restoreSuccess": "Archive restored successfully", "deleteSuccess": "Archive deleted permanently" }, "auth": { "login": "Login", "password": "Password", "enterPassword": "Enter Gallery Password", "passwordPlaceholder": "Enter the gallery password", "invalidPassword": "Invalid password", "wrongPassword": "Incorrect password. Please check your password and try again.", "tooManyAttempts": "Too many failed login attempts. Please try again later.", "sessionExpired": "Session expired", "pleaseEnterPassword": "Please enter a password", "passwordHint": "The password was provided by the event organizer. Contact them if you don't have it." }, "gallery": { "title": "Photo Gallery", "welcomeMessage": "Welcome Message", "expiresOn": "Expires on", "expires": "Expires", "expired": "Expired", "daysRemaining": "{{days}} days remaining", "dayRemaining": "1 day remaining", "hoursRemaining": "{{hours}} hours remaining", "expiredMessage": "This gallery expired on {{date}}", "contactOrganizer": "Please contact the event organizer if you need access to these photos", "searchPhotos": "Search photos by filename...", "sortByDate": "Sort by Date", "sortByName": "Sort by Name", "sortBySize": "Sort by Size", "allPhotos": "All Photos", "filter": "Filter", "feedbackFilter": "Feedback Filter", "all": "All", "liked": "Liked", "favorited": "Favorited", "favorites": "Favorites", "downloadSelected": "Download Selected", "shareGallery": "Share Gallery", "needHelp": "Need help? Contact us at", "noPhotosFound": "No photos found", "failedToLoad": "Failed to load photos", "tryAgain": "Try Again", "loading": "Loading gallery...", "expiredOn": "This gallery expired on {{date}}.", "contactOrganizer": "Please contact the event organizer if you need access to these photos.", "expiresIn": "Gallery expires in {{count}} day", "expiresIn_plural": "Gallery expires in {{count}} days", "downloadBefore": "Download your photos before they're no longer available.", "viewGallery": "View Gallery", "downloadAll": "Download All", "downloading": "Downloading {{count}} photo...", "downloading_plural": "Downloading {{count}} photos...", "downloadedPhotos": "Downloaded {{count}} photo!", "downloadedPhotos_plural": "Downloaded {{count}} photos!", "downloadError": "Some photos failed to download", "selectPhotos": "Select Photos", "cancelSelection": "Cancel Selection", "photosSelected": "{{count}} selected", "selectAll": "Select All", "deselectAll": "Deselect All", "downloadSelected": "Download {{count}} Selected", "remaining": "remaining", "selectPhotosHint": "Tip: Use Ctrl+Click (Cmd+Click on Mac) to quickly select multiple photos", "filters": "Filters", "openFilters": "Open filters", "toggleSidebar": "Toggle sidebar", "toggleMenu": "Toggle menu", "allCategories": "All Categories", "categories": "Categories", "download": "Download", "searchPlaceholder": "Search photos...", "sortBy": "Sort By", "sortByDate": "Sort by Date", "sortByName": "Sort by Name", "sortBySize": "Sort by Size", "sortByRating": "Sort by Rating" }, "categories": { "title": "Photo Categories", "global": "Global Categories", "eventSpecific": "Event-Specific Categories", "addCategory": "Add Category", "organizationInfo": "Organize your photos into categories. Categories help guests navigate and find specific types of photos.", "eventSpecificCategories": "Event-Specific Categories", "noEventSpecificCategories": "No event-specific categories. Global categories are available by default.", "globalCategoriesAlwaysAvailable": "Global Categories (always available):", "deleteCategoryTitle": "Delete category", "categoryCreatedSuccess": "Category created successfully", "categoryDeletedSuccess": "Category deleted successfully", "failedToCreateCategory": "Failed to create category", "failedToDeleteCategory": "Failed to delete category", "categoryName": "Category name", "noCategory": "No category", "noCategoriesYet": "No categories yet. Create your first category to organize photos.", "deleteConfirm": "Are you sure you want to delete \"{{name}}\"?", "cannotDelete": "Cannot delete category with photos. Please reassign photos first." }, "events": { "title": "Events", "create": "Create", "createEvent": "Create Event", "totalViews": "Total Views", "totalDownloads": "Total Downloads", "uniqueVisitors": "Unique Visitors", "createNewEvent": "Create New Event", "setupNewGallery": "Set up a new photo gallery for your event", "createNewEventSubtitle": "Set up a new photo gallery for your event", "eventNamePlaceholder": "e.g., John & Jane's Wedding", "welcomeMessageOptional": "Welcome Message (Optional)", "welcomeMessagePlaceholder": "Welcome to our special day! Feel free to download and share these memories...", "hostEmailPlaceholder": "host@example.com", "adminEmailPlaceholder": "admin@example.com", "securityAndAccess": "Security & Access", "accessAndSecurity": "Access & Security", "enterPassword": "Enter password", "passwordPlaceholder": "Enter a secure password", "confirmPasswordPlaceholder": "Confirm password", "galleryExpiresOn": "Gallery will expire on {{date}}", "guestsWillReceiveWarning": "Guests will receive a warning email 7 days before expiration.", "types": { "wedding": "Wedding", "birthday": "Birthday", "corporate": "Corporate", "other": "Other" }, "themes": { "default": "Default", "oceanBlue": "Ocean Blue", "royalPurple": "Royal Purple", "roseGold": "Rose Gold", "sunsetAmber": "Sunset Amber" }, "eventDetails": "Event Details", "eventName": "Event Name", "eventType": "Event Type", "eventDate": "Event Date", "hostEmail": "Host Email", "hostName": "Host Name", "hostNamePlaceholder": "John Smith", "adminEmail": "Admin Email", "adminNotificationEmail": "Admin Notification Email", "expirationDate": "Expiration Date", "active": "Active", "archived": "Archived", "photoCount": "{{count}} photos", "totalSize": "Total Size", "shareLink": "Share Link", "copyLink": "Copy Link", "linkCopied": "Link copied!", "viewGallery": "View Gallery", "uploadPhotos": "Upload Photos", "archiveEvent": "Archive Event", "archiveConfirm": "Are you sure you want to archive this event? This action cannot be undone.", "extendExpiration": "Extend {{days}} Days", "backToEvents": "Back to Events", "loadingEventDetails": "Loading event details...", "saveChanges": "Save Changes", "eventExpired": "This event has expired", "eventExpiresIn": "This event expires in {{days}} days", "guestsNoAccess": "Guests can no longer access the gallery. Consider archiving this event.", "warningEmailsSent": "Warning emails have been sent to the host.", "overview": "Overview", "photos": "Photos", "categories": "Categories", "eventInformation": "Event Information", "welcomeMessage": "Welcome Message", "noWelcomeMessage": "No welcome message set", "created": "Created", "expires": "Expires", "shareWithGuests": "Share this link with guests. They'll need the password to access the gallery.", "resetGalleryPassword": "Reset Gallery Password", "resendCreationEmail": "Resend Creation Email", "creationEmailResent": "Creation email has been queued for sending", "failedToResendEmail": "Failed to resend creation email", "photoStatistics": "Photo Statistics", "totalPhotos": "Total Photos", "managePhotos": "Manage Photos", "actions": "Actions", "archivingInfo": "Archiving will create a ZIP file of all photos and remove the gallery from public access.", "statistics": "Statistics", "views": "Views", "downloads": "Downloads", "uniqueVisitors": "Unique Visitors", "noStatistics": "No statistics available yet", "archiveStatus": "Archive Status", "archivedOn": "Archived On", "downloadArchive": "Download Archive", "loadingPhotos": "Loading photos...", "photoCategories": "Photo Categories", "organizeCategoriesInfo": "Organize your photos into categories. Categories help guests navigate and find specific types of photos.", "categoriesTip": "Tip: Categories are specific to each event. You can also create global categories in Settings.", "contactInformation": "Contact Information", "hostEmailHelp": "Will receive gallery creation and expiration notifications", "adminEmailHelp": "Will receive system notifications and archive confirmations", "securityAccess": "Security & Access", "galleryPassword": "Gallery Password", "passwordHelperText": "You can use dates like \"04.07.2025\" or any text with 6+ characters", "confirmPassword": "Confirm Password", "showPasswords": "Show passwords", "gallerySettings": "Gallery Settings", "themeAndStyle": "Theme & Style", "colorTheme": "Color Theme", "galleryExpiration": "Gallery Expiration", "galleryExpiresIn": "Gallery Expires In", "daysAfterEvent": "days after event date", "expiresOn": "Expires on", "galleryWillExpireOn": "Gallery will expire on {{date}}", "expirationWarning": "Guests will receive a warning email 7 days before expiration.", "userUploads": "User Upload Settings", "allowUserUploads": "Allow guests to upload photos", "allowUserUploadsHelp": "Enable guests to upload their own photos to this gallery", "allowUserUploadsDescription": "Enable guests to upload their own photos to this gallery", "uploadCategory": "Upload Category", "selectCategory": "Select a category for user uploads", "uploadCategoryHelp": "All user-uploaded photos will be added to this category", "userUploadWarning": "User uploads will be moderated and can be removed by admins at any time.", "allowDownloads": "Allow photo downloads", "allowDownloadsHelp": "Allow guests to download photos from this gallery", "downloadPermissions": "Download Permissions", "downloadsEnabled": "Downloads Enabled", "downloadsDisabled": "Downloads Disabled", "heroPhoto": "Hero Photo", "heroPhotoHelp": "Select a featured photo for the hero gallery layout", "selectHeroPhoto": "Select Hero Photo", "noHeroPhotoSelected": "No hero photo selected", "heroPhotoSelected": "Hero photo selected", "noPhotosAvailable": "No photos available", "processingRequest": "Processing your request...", "eventTypeWedding": "Wedding", "eventTypeBirthday": "Birthday", "eventTypeCorporate": "Corporate", "eventTypeOther": "Other", "days30": "30 days", "days60": "60 days", "days90": "90 days", "days365": "1 year", "inactive": "Inactive", "expired": "Expired", "daysLeft": "{{count}}d left", "daysLeft_plural": "{{count}}d left", "subtitle": "Manage your photo galleries and events", "loadingEvents": "Loading events...", "failedToLoadEvents": "Failed to load events", "tryAgain": "Try Again", "bulkArchiveSuccess": "Successfully archived {{count}} events", "bulkArchivePartial": "Archived {{success}} events, {{failed}} failed", "searchEventsPlaceholder": "Search events...", "all": "All", "expiring": "Expiring", "eventsSelected": "{{count}} event selected", "eventsSelected_plural": "{{count}} events selected", "clear": "Clear", "archiveSelected": "Archive Selected", "event": "Event", "type": "Type", "date": "Date", "status": "Status", "expires": "Expires", "actions": "Actions", "noEventsFound": "No events found", "stats": { "totalEvents": "Total Events", "activeEvents": "Active Events", "totalPhotos": "Total Photos", "expiringEvents": "Expiring Soon" }, "viewDetails": "View Details", "archiveEventAction": "Archive Event", "downloadArchiveAction": "Download Archive", "deleteEvent": "Delete Event", "deleteEventConfirm": "Are you sure you want to delete this event?", "downloadArchiveSoon": "Download archive coming soon", "failedToLoadEvents": "Failed to load events", "tryAgain": "Try Again", "eventExpiredMessage": "This event has expired", "guestsCannotAccessGallery": "Guests can no longer access the gallery. Consider archiving this event.", "warningEmailsHaveBeenSent": "Warning emails have been sent to the host.", "extendSevenDays": "Extend 7 Days", "overview": "Overview", "eventInformation": "Event Information", "welcomeMessageLabel": "Welcome Message", "noWelcomeMessageSet": "No welcome message set", "hostEmail": "Host Email", "adminEmail": "Admin Email", "createdOn": "Created", "expires": "Expires", "daysLeft": "({{count}} day left)", "daysLeft_plural": "({{count}} days left)", "shareLink": "Share Link", "copy": "Copy", "copied": "Copied!", "uploadPhotos": "Upload Photos", "photoCategories": "Photo Categories", "organizingPhotosInfo": "Organize your photos into categories. Categories help guests navigate and find specific types of photos.", "categoriesTip": "Tip: Categories are specific to each event. You can create custom categories like \"Ceremony\", \"Reception\", \"Portraits\", etc.", "archiveStatusTitle": "Archive Status", "archivedOn": "Archived On", "downloadingArchive": "Downloading {{name}} archive...", "downloadStarted": "Download started", "failedToDownloadArchive": "Failed to download archive", "statisticsNotAvailable": "No statistics available yet", "photoFilters": "Photo Filters", "noStatisticsAvailableYet": "No statistics available yet", "addPlus": "Add+", "galleryTheme": "Gallery Theme", "customizeTheme": "Customize Theme", "noThemeSet": "No theme configured", "customizingTheme": "Customizing gallery theme", "customizingThemeFor": "Customizing theme for {{event}}" }, "settings": { "title": "System Settings", "subtitle": "Configure system-wide settings and preferences", "loadingSettings": "Loading settings...", "general": { "title": "General", "siteConfiguration": "Site Configuration", "siteUrl": "Site URL", "siteUrlHelp": "Used for generating gallery links in emails", "defaultExpiration": "Default Expiration (days)", "defaultExpirationHelp": "How long galleries remain active by default", "maxFileSize": "Max File Size (MB)", "maxFileSizeHelp": "Maximum size per uploaded photo", "allowedFileTypes": "Allowed File Types", "allowedFileTypesHelp": "Comma-separated list of file extensions", "featureToggles": "Feature Toggles", "enableWatermark": "Enable watermark on photos", "enableAnalytics": "Enable analytics tracking", "enableRegistration": "Allow self-registration for admins", "maintenanceMode": "Enable maintenance mode", "language": "Language", "defaultLanguage": "Default Language", "defaultLanguageHelp": "Language shown to guests before login", "defaultWelcomeMessage": "Default Welcome Message", "welcomeMessage": "Welcome Message", "welcomeMessagePlaceholder": "Enter a default welcome message that will be included in gallery creation emails", "welcomeMessageHelp": "This message will be included in all gallery creation emails unless overridden when creating an event", "saveSettings": "Save General Settings", "saveGeneralSettings": "Save General Settings", "dateTimeFormat": "Date & Time Format", "dateFormat": "Date Format", "dateFormatHelp": "How dates are displayed in emails and throughout the application" }, "storage": { "title": "Storage", "overview": "Storage Overview", "totalUsed": "Total Used", "archiveStorage": "Archive Storage", "storageLimit": "Storage Limit", "storageUsage": "Storage Usage", "storageByEvent": "Storage by Event", "storageManagement": "Storage Management", "storageManagementHelp": "Consider archiving or deleting old events to free up storage space. Archived events are compressed and use less storage than active galleries.", "noEventsUsingStorage": "No events using storage", "unlimited": "Unlimited" }, "security": { "title": "Security", "passwordSettings": "Password Settings", "requirePassword": "Require password for all galleries", "minPasswordLength": "Minimum Password Length", "minPasswordLengthHelp": "Minimum number of characters for gallery passwords", "passwordComplexity": "Password Complexity", "passwordComplexityHelp": "Security level required for gallery passwords", "complexitySimple": "Simple (6+ chars, any text)", "complexityModerate": "Moderate (8+ chars, mixed case/numbers)", "complexityStrong": "Strong (12+ chars, uppercase/lowercase/numbers)", "complexityVeryStrong": "Very Strong (12+ chars, all character types)", "sessionAuth": "Session & Authentication", "sessionTimeout": "Session Timeout (minutes)", "sessionTimeoutHelp": "Admin session timeout in minutes", "maxLoginAttempts": "Max Login Attempts", "maxLoginAttemptsHelp": "Maximum failed login attempts before lockout", "enable2FA": "Enable two-factor authentication for admins", "recaptchaSettings": "reCAPTCHA Settings", "enableRecaptcha": "Enable reCAPTCHA for login forms", "siteKey": "Site Key", "siteKeyHelp": "Your reCAPTCHA v2 site key (public)", "secretKey": "Secret Key", "secretKeyHelp": "Your reCAPTCHA v2 secret key (keep private)", "recaptchaHelp": "Get your reCAPTCHA keys from", "saveSettings": "Save Security Settings", "saveSecuritySettings": "Save Security Settings" }, "categories": { "title": "Categories", "about": "About Photo Categories", "aboutText": "Global categories are available for all events. You can also create event-specific categories when editing individual events. Categories help organize photos and allow guests to filter photos by type in the gallery view." }, "systemStatus": { "title": "System Status", "storageOverview": "Storage Overview", "systemInfo": "System Information", "databaseInfo": "Database Information", "platform": "Platform", "nodeVersion": "Node Version", "uptime": "Uptime", "cpuCores": "CPU Cores", "memoryUsage": "Memory Usage", "memoryUsed": "Memory Used", "photos": "Photos", "admins": "Admins", "dbSize": "Database Size", "services": "Background Services", "fileWatcher": "File Watcher", "fileWatcherDesc": "Monitors for new photos", "expirationChecker": "Expiration Checker", "expirationCheckerDesc": "Archives expired galleries", "emailProcessor": "Email Processor", "emailProcessorDesc": "Sends queued emails", "emailQueue": "Email Queue Status", "pending": "Pending", "sent": "Sent", "failed": "Failed", "lastUpdate": "Last update" }, "analytics": { "title": "Analytics", "umamiIntegration": "Umami Analytics Integration", "enableUmami": "Enable Umami Analytics", "umamiUrl": "Umami URL", "umamiUrlHelp": "The URL of your Umami instance (e.g., https://analytics.yourdomain.com)", "websiteId": "Website ID", "websiteIdHelp": "Your Umami website ID (found in Umami dashboard)", "shareUrl": "Share URL (Optional)", "shareUrlHelp": "Public share URL for embedding the full dashboard (create in Umami)", "umamiInfo": "About Umami Analytics", "umamiInfoText": "Umami is a privacy-focused, open-source analytics platform. It tracks page views, unique visitors, and custom events without using cookies.", "learnMore": "Learn more about Umami", "saveAnalyticsSettings": "Save Analytics Settings", "backendAnalytics": "Backend Analytics", "backendAnalyticsText": "The system also tracks basic analytics server-side for security and performance monitoring.", "tracked": "Tracked Metrics", "galleryViews": "Gallery page views", "photoDownloads": "Individual and bulk downloads", "uniqueVisitors": "Unique visitors by IP", "deviceTypes": "Device types from user agents", "privacy": "Privacy", "privacyText": "IP addresses are hashed for privacy. No personal data is stored. Analytics data is retained for 90 days." } }, "analytics": { "title": "Analytics Dashboard", "titleSimple": "Analytics", "subtitle": "Track gallery performance and visitor engagement", "detailedSubtitle": "Detailed analytics powered by Umami", "loadingAnalytics": "Loading analytics...", "showSummaryView": "Show Summary View", "fullDashboard": "Full Dashboard", "refresh": "Refresh", "last7Days": "Last 7 days", "last30Days": "Last 30 days", "last90Days": "Last 90 days", "pageViews": "Page Views", "uniqueVisitors": "Unique Visitors", "totalDownloads": "Total Downloads", "topGallery": "Top Gallery", "topPages": "Top Pages", "views": "views", "visitors": "unique visitors", "topDownloadsByGallery": "Top Downloads by Gallery", "deviceBreakdown": "Device Breakdown", "desktop": "Desktop", "mobile": "Mobile", "tablet": "Tablet", "storageUsage": "Storage Usage", "used": "Used", "of": "of", "totalPhotos": "Total Photos", "activeEvents": "Active Events", "notConfigured": "Umami Analytics Not Configured", "configureInstructions": "To see real analytics data, configure Umami in your environment variables and admin panel settings.", "noData": "No data available", "percentChange": "{{percent}}% from last period" }, "branding": { "title": "Branding & Themes", "titleFull": "Branding & Customization", "subtitle": "Customize the look and feel of your galleries", "loadingBranding": "Loading branding settings...", "themeAndStyle": "Theme & Style", "companyInfo": "Company Information", "companyName": "Company Name", "companyNameHelp": "Displayed in gallery headers and emails", "companyTagline": "Company Tagline", "companyTaglineHelp": "A short description of your business", "supportEmail": "Support Email", "supportEmailHelp": "Contact email for guest support", "footerText": "Footer Text", "footerTextHelp": "Displayed at the bottom of galleries", "logo": "Logo", "currentLogo": "Current logo", "uploadLogo": "Upload Logo", "removeLogo": "Remove Logo", "logoHelp": "Recommended size: 200x60px, PNG or JPEG", "favicon": "Favicon", "currentFavicon": "Current favicon", "uploadFavicon": "Upload Favicon", "removeFavicon": "Remove Favicon", "faviconHelp": "PNG or ICO format, recommended size: 32x32px", "watermark": "Watermark", "watermarkSettings": "Watermark Settings", "enableWatermark": "Enable watermark on photos", "enableWatermarks": "Enable Watermarks", "watermarkHelp": "Add your company name as a watermark on downloaded photos", "watermarkLogo": "Watermark Logo", "currentWatermark": "Current watermark", "uploadWatermarkLogo": "Upload Watermark Logo", "watermarkPosition": "Watermark Position", "topLeft": "Top Left", "topRight": "Top Right", "center": "Center", "bottomLeft": "Bottom Left", "bottomRight": "Bottom Right", "watermarkOpacity": "Watermark Opacity", "watermarkSize": "Watermark Size", "theme": "Theme", "galleryTheme": "Gallery Theme", "themeCustomization": "Theme Customization", "selectPreset": "Select a preset theme", "colors": "Colors", "primaryColor": "Primary Color", "secondaryColor": "Secondary Color", "accentColor": "Accent Color", "backgroundColor": "Background Color", "textColor": "Text Color", "customCSS": "Custom CSS", "preview": "Preview", "previewInNewTab": "Preview in New Tab", "reset": "Reset", "saveChanges": "Save Changes", "applyLivePreview": "Apply changes immediately (Live Preview)", "eventSpecificThemes": "Event-Specific Themes", "eventThemesInfo": "You can override these global theme settings for individual events when creating or editing them.", "themePresets": "Theme Presets", "galleryLayout": "Gallery Layout", "layoutDescriptions": { "grid": "Classic grid layout with consistent photo sizes", "masonry": "Pinterest-style layout with varied heights", "carousel": "Full-screen slideshow with navigation", "timeline": "Photos organized by date", "hero": "Featured image with grid below", "mosaic": "Artistic layout with mixed sizes" }, "layoutSettings": "Layout Settings", "photoSpacing": "Photo Spacing", "spacing": { "tight": "Tight", "normal": "Normal", "relaxed": "Relaxed" }, "photoAnimation": "Photo Animation", "animation": { "none": "None", "fade": "Fade", "scale": "Scale", "slide": "Slide" }, "columns": "Columns", "mobile": "Mobile", "tablet": "Tablet", "desktop": "Desktop", "enableAutoplay": "Enable Autoplay", "autoplayInterval": "Autoplay Interval (seconds)", "groupPhotosBy": "Group Photos By", "grouping": { "day": "Day", "week": "Week", "month": "Month" }, "typographyAndStyle": "Typography & Style", "bodyFont": "Body Font", "headingFont": "Heading Font", "sameAsBody": "Same as body", "fontSize": "Font Size", "fontSizes": { "small": "Small", "normal": "Normal", "large": "Large" }, "borderRadius": "Border Radius", "borderRadiusOptions": { "none": "None", "small": "Small", "medium": "Medium", "large": "Large" }, "shadowStyle": "Shadow Style", "shadowOptions": { "none": "None", "subtle": "Subtle", "normal": "Normal", "dramatic": "Dramatic" }, "backgroundPattern": "Background", "backgroundOptions": { "none": "None", "dots": "Dots", "grid": "Grid", "waves": "Waves" }, "customCSSHelp": "Advanced: Add custom CSS to further customize the appearance", "resetToDefault": "Reset to Default", "applyTheme": "Apply Theme", "customTheme": "Custom Theme", "customizeTheme": "Customize Theme", "saveTheme": "Save Theme", "previewLayout": "Preview Layout", "livePreview": "Live Preview" }, "admin": { "title": "Admin Panel", "welcome": "Welcome back, {{name}}", "recentActivity": "Recent Activity", "systemStatus": "System Status", "totalEvents": "Total Events", "activeGalleries": "Active Galleries", "storageUsed": "Storage Used", "totalPhotos": "Total Photos", "storagePercent": "{{percent}}% of {{limit}}", "version": "Version", "archivedEvents": "Archived Events", "systemHealth": "System Health", "health": { "healthy": "Healthy", "warning": "Warning", "error": "Error", "checking": "Checking..." }, "notifications": "Notifications", "viewAllNotifications": "View all notifications", "noNotifications": "No new notifications", "markAllRead": "Mark all read", "clearOld": "Clear old", "close": "Close", "noNotificationsMessage": "No notifications", "notificationMessages": { "eventCreated": "New event \"{{eventName}}\" was created", "eventArchived": "Event \"{{eventName}}\" was archived", "eventUpdated": "Event \"{{eventName}}\" was updated", "eventDeleted": "Event \"{{eventName}}\" was deleted", "photosUploaded": "{{count}} photos uploaded to \"{{eventName}}\"", "photoDeleted": "Photo deleted from \"{{eventName}}\"", "photosBulkDeleted": "{{count}} photos deleted from \"{{eventName}}\"", "eventExpiring": "Event \"{{eventName}}\" expires in {{days}} days", "eventExpired": "Event \"{{eventName}}\" has expired", "passwordChanged": "Password changed by {{actorName}}", "passwordReset": "Password reset for \"{{eventName}}\"", "settingsUpdated": "{{type}} settings updated", "emailTemplateUpdated": "Email template \"{{template}}\" updated", "bulkDownload": "{{count}} photos downloaded from \"{{eventName}}\"", "storageWarning": "Storage usage at {{percentage}}%", "adminLogout": "Admin {{actorName}} logged out", "categoryCreated": "Category \"{{name}}\" created for \"{{eventName}}\"", "categoryUpdated": "Category \"{{name}}\" updated for \"{{eventName}}\"", "categoryDeleted": "Category \"{{name}}\" deleted from \"{{eventName}}\"", "cmsPageUpdated": "CMS page \"{{slug}}\" updated", "emailConfigUpdated": "Email configuration updated", "faviconUploaded": "Favicon uploaded", "brandingUpdated": "Branding settings updated", "generalSettingsUpdated": "General settings updated", "securitySettingsUpdated": "Security settings updated", "themeUpdated": "Theme settings updated", "archiveDownloaded": "Archive downloaded for \"{{eventName}}\"", "archiveDeleted": "Archive deleted for \"{{eventName}}\"", "archiveRestored": "Archive restored for \"{{eventName}}\"", "systemActivity": "System activity: {{type}}" }, "notificationToasts": { "markedAllRead": "All notifications marked as read", "clearedOld": "Cleared {{count}} old notifications" }, "markAsRead": "Mark as read", "markAllAsRead": "Mark all as read", "notificationSettings": "Notification Settings", "changePassword": "Change Password", "loadingDashboard": "Loading dashboard...", "activeEvents": "Active Events", "expiringSoon": "Expiring Soon", "next7Days": "Next 7 days", "totalViews": "Total Views", "downloads": "Downloads", "percentFromLastWeek": "{{percent}}% from last week", "dashboardSubtitle": "Welcome back! Here's what's happening with your galleries.", "eventsExpiringSoon": "Events Expiring Soon", "noEventsExpiring": "No events expiring in the next 7 days", "daysLeft": "{{count}} day left", "daysLeft_plural": "{{count}} days left", "viewAllExpiringEvents": "View all {{count}} expiring events", "noRecentActivity": "No recent activity", "viewAllActivity": "View all activity", "quickActions": "Quick Actions", "viewArchives": "View Archives", "analytics": "Analytics", "activities": { "event_created": "New event created: {{eventName}}", "photos_uploaded": "{{count}} photos uploaded to {{eventName}}", "event_archived": "Event archived: {{eventName}}", "archive_restored": "Archive restored: {{eventName}}", "archive_deleted": "Archive deleted: {{eventName}}", "archive_downloaded": "Archive downloaded: {{eventName}}", "email_config_updated": "Email configuration updated", "email_template_updated": "Email template updated: {{template}}", "branding_updated": "Branding settings updated", "theme_updated": "Theme settings updated", "bulk_download": "{{count}} photos downloaded from {{eventName}}", "gallery_password_entry": "Password entered for {{eventName}}", "expiration_warning_viewed": "Expiration warning viewed for {{eventName}}", "settings_updated": "Settings updated", "event_updated": "Event updated: {{eventName}}", "event_deleted": "Event deleted: {{eventName}}", "password_changed": "Password changed", "email_resent": "Creation email resent for: {{eventName}}", "category_created": "Category created: {{categoryName}}", "category_updated": "Category updated: {{categoryName}}", "category_deleted": "Category deleted: {{categoryName}}", "general_settings_updated": "General settings updated", "favicon_uploaded": "Favicon uploaded", "analytics_settings_updated": "Analytics settings updated", "cms_page_updated": "CMS page updated: {{page}}", "security_settings_updated": "Security settings updated", "password_reset": "Password reset for: {{eventName}}", "admin_logout": "Admin {{actorName}} logged out", "system_activity": "System activity: {{type}}", "unknown": "Unknown activity" } }, "errors": { "notFound": "Not Found", "galleryNotFound": "Gallery Not Found", "galleryNotFoundMessage": "This gallery does not exist or has been removed.", "galleryArchived": "Gallery Archived", "galleryArchivedMessage": "This gallery has been archived and is no longer accessible. Please contact the event organizer if you need access to these photos.", "unauthorized": "Unauthorized", "forbidden": "Forbidden", "serverError": "Server Error", "somethingWentWrong": "Something went wrong", "tryAgainLater": "Please try again later", "refreshPage": "Refresh Page", "oopsSomethingWentWrong": "Oops! Something went wrong", "unexpectedError": "We encountered an unexpected error. Don't worry, your data is safe.", "goToHomepage": "Go to Homepage", "errorDetails": "Error Details", "requiredFields": "Please fill in all required fields", "enterTestEmail": "Please enter a test email address", "failedToCreateEvent": "Failed to create event", "eventCreationFailed": "Failed to create event", "networkError": "Network error. Please check your connection and try again.", "sessionExpired": "Session expired. Please login again." }, "validation": { "eventNameRequired": "Event name is required", "hostEmailRequired": "Host email is required", "hostNameRequired": "Host name is required", "adminEmailRequired": "Admin email is required", "invalidEmailFormat": "Invalid email format", "passwordRequired": "Password is required", "passwordMinLength": "Password must be at least 6 characters", "passwordsDoNotMatch": "Passwords do not match", "passwordSecurityRequirements": "Password does not meet security requirements", "expirationRange": "Expiration must be between 1 and 365 days" }, "legal": { "impressum": "Legal Notice", "datenschutz": "Privacy Policy", "termsOfService": "Terms of Service", "cookiePolicy": "Cookie Policy" }, "toast": { "saveSuccess": "Changes saved successfully", "saveError": "Failed to save changes", "deleteSuccess": "Deleted successfully", "deleteError": "Failed to delete", "uploadSuccess": "Upload completed successfully", "uploadError": "Upload failed", "loginSuccess": "Login successful", "loginError": "Login failed", "passwordChanged": "Password changed successfully", "linkCopied": "Link copied to clipboard", "eventCreated": "Event created successfully", "eventUpdated": "Event updated successfully", "eventArchived": "Event archived successfully", "settingsSaved": "Settings saved successfully", "themeUpdated": "Theme updated successfully", "brandingUpdated": "Branding updated successfully", "categoryAdded": "Category added successfully", "categoryDeleted": "Category deleted successfully", "categoryUpdated": "Category updated successfully", "emailConfigSaved": "Email configuration saved successfully", "testEmailSent": "Test email sent successfully", "pageUpdated": "Page updated successfully", "archiveRestored": "Archive restored successfully", "archiveDeleted": "Archive deleted permanently" }, "email": { "title": "Email Configuration", "subtitle": "Configure email settings for notifications", "loadingSettings": "Loading email settings...", "smtpConfiguration": "SMTP Configuration", "smtpHost": "SMTP Host", "smtpHostHelp": "Your email server hostname", "smtpPort": "SMTP Port", "smtpPortHelp": "Usually 587 for TLS, 465 for SSL, 25 for unencrypted", "smtpSecure": "Use SSL/TLS", "smtpSecureHelp": "Enable for secure email transmission", "smtpUsername": "SMTP Username", "smtpUsernameHelp": "Your email account username", "smtpPassword": "SMTP Password", "smtpPasswordHelp": "Your email account password", "fromDetails": "From Details", "fromEmail": "From Email", "fromEmailHelp": "Email address that appears as sender", "fromName": "From Name", "fromNameHelp": "Name that appears as sender", "testConfiguration": "Test Configuration", "testEmail": "Test Email Address", "testEmailHelp": "Send a test email to verify settings", "sendTestEmail": "Send Test Email", "saveConfiguration": "Save Configuration", "emailTemplates": "Email Templates", "templateVariables": "Available Variables", "previewTemplate": "Preview Template", "smtpSettings": "SMTP Settings", "testEmailSuccess": "Test email sent successfully", "saveSmtpSettings": "Save SMTP Settings", "testEmailSection": "Test Email", "beforeTesting": "Before testing:", "saveSmtpFirst": "Save your SMTP settings first", "ensureFirewall": "Ensure your firewall allows outbound SMTP", "gmailAppPassword": "For Gmail, use an app-specific password", "testEmailAddressLabel": "Test Email Address", "sendTestEmailButton": "Send Test Email", "commonSmtpSettings": "Common SMTP Settings:", "editTemplate": "Edit Template", "templateName": "Template Name", "subjectLine": "Subject Line", "emailBody": "Email Body", "preview": "Preview", "saveChanges": "Save Changes", "templates": "Templates", "variableHelp": "Use these variables in your template. They will be replaced with actual values when emails are sent.", "port": "Port", "security": "Security", "username": "Username", "password": "Password", "enterPassword": "Enter password", "fromEmail": "From Email", "fromName": "From Name", "required": "required" }, "cms": { "title": "CMS Pages", "subtitle": "Manage legal and informational pages", "loadingPages": "Loading pages...", "pages": "Pages", "previewLinks": "Preview Links", "englishVersion": "English Version", "germanVersion": "German Version", "editPage": "Edit {{page}}", "pageTitle": "Page Title", "pageContent": "Page Content", "pageTitlePlaceholder": "Enter page title...", "saveChanges": "Save Changes", "lastUpdated": "Last updated:", "impressum": "Legal Notice", "datenschutz": "Privacy Policy", "pageUpdated": "Page updated successfully" }, "backup": { "external": { "warning": { "title": "External media excluded", "body": "This installation references photos from /external-media. These originals are excluded from backups. Thumbnails and database are still backed up." } }, "title": "Backup Management", "subtitle": "Manage system backups, configure automated backups, and restore from previous backups.", "tabs": { "dashboard": "Dashboard", "configuration": "Configuration", "history": "Backup History", "restore": "Restore" }, "status": { "inProgress": "Backup in progress...", "lastBackup": "Last backup", "noBackups": "No backups found", "nextBackup": "Next backup", "notScheduled": "Not scheduled", "enabled": "Enabled", "disabled": "Disabled" }, "actions": { "runBackupNow": "Run Backup Now", "starting": "Starting...", "running": "Running...", "testConnection": "Test Connection", "save": "Save Configuration", "delete": "Delete", "view": "View Details", "download": "Download", "refresh": "Refresh" }, "dashboard": { "backupHealth": "Backup Health", "healthStatus": { "excellent": "Excellent", "good": "Good", "warning": "Warning", "critical": "Critical" }, "health": { "title": "Backup Health" }, "healthMessages": { "noBackups": "No backups found", "lastBackupFailed": "Last backup failed", "upToDate": "Backup is up to date", "recent": "Backup is recent", "gettingOld": "Backup is getting old", "outdated": "Backup is outdated" }, "stats": { "totalBackups": "Total Backups", "backupSize": "Backup Size", "lastDuration": "Last Duration", "backupStatus": "Backup Status", "last": "Last", "files": "files", "minutes": "{{count}}m", "active": "Active", "inactive": "Inactive", "noBackupsYet": "No backups yet" }, "recentActivity": { "title": "Recent Backup Activity" }, "notConfigured": { "title": "Backup Not Configured", "message": "Please configure backup settings in the Configuration tab before running backups." }, "coverage": { "title": "Backup Coverage", "database": "Database", "photos": "Photos", "archives": "Archives", "systemFiles": "System Files", "included": "Included", "excluded": "Excluded", "optional": "Optional" }, "storageDestination": "Storage Destination", "nextScheduledBackup": "Next Scheduled Backup", "backupType": "{{type}} backup", "noDestinationSet": "No destination set" }, "configuration": { "enableBackup": "Enable Automated Backups", "enableBackupHelp": "Automatically create backups according to the configured schedule", "destinationType": "Backup Destination", "destinationTypes": { "local": { "name": "Local Storage", "description": "Store backups on the local server filesystem" }, "rsync": { "name": "Remote Server (Rsync)", "description": "Sync backups to a remote server via SSH/Rsync" }, "s3": { "name": "S3 Compatible Storage", "description": "Store backups in Amazon S3 or compatible object storage" } }, "fields": { "destinationPath": "Destination Path", "destinationPathHelp": "Local directory path for storing backups", "destinationPathPlaceholder": "/path/to/backup/directory", "rsyncHost": "Remote Host", "rsyncHostHelp": "SSH hostname or IP address", "rsyncHostPlaceholder": "backup.example.com", "rsyncUser": "SSH User", "rsyncUserHelp": "Username for SSH connection", "rsyncUserPlaceholder": "backup-user", "rsyncPath": "Remote Path", "rsyncPathHelp": "Directory path on remote server", "rsyncPathPlaceholder": "/home/backup/photo-sharing", "rsyncSshKey": "SSH Private Key", "rsyncSshKeyHelp": "SSH private key for authentication (optional)", "rsyncSshKeyPlaceholder": "-----BEGIN RSA PRIVATE KEY-----", "s3Endpoint": "S3 Endpoint", "s3EndpointHelp": "S3 API endpoint (e.g., s3.amazonaws.com)", "s3EndpointPlaceholder": "https://s3.amazonaws.com", "s3Bucket": "Bucket Name", "s3BucketHelp": "S3 bucket for storing backups", "s3BucketPlaceholder": "my-backup-bucket", "s3AccessKey": "Access Key ID", "s3AccessKeyHelp": "AWS/S3 access key ID", "s3AccessKeyPlaceholder": "AKIAIOSFODNN7EXAMPLE", "s3SecretKey": "Secret Access Key", "s3SecretKeyHelp": "AWS/S3 secret access key", "s3SecretKeyPlaceholder": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "s3Region": "Region", "s3RegionHelp": "S3 region (e.g., us-east-1)", "s3RegionPlaceholder": "us-east-1" }, "schedule": { "title": "Backup Schedule", "scheduleType": "Schedule Type", "scheduleOptions": { "hourly": "Every hour", "daily": "Daily", "weekly": "Weekly", "custom": "Custom cron expression" }, "options": { "hourly": "Every hour", "daily": "Daily", "weekly": "Weekly", "custom": "Custom cron expression" }, "customCron": "Cron Expression", "customCronHelp": "Enter a valid cron expression (e.g., 0 3 * * *)", "retention": "Retention Period", "retentionDays": "Keep backups for", "retentionHelp": "days (older backups will be automatically deleted)" }, "whatToBackup": { "title": "What to Backup", "database": "Database", "databaseHelp": "All event data, settings, and configurations", "photos": "Photos", "photosHelp": "All uploaded photos in active galleries", "archives": "Archives", "archivesHelp": "Archived event ZIP files", "thumbnails": "Thumbnails", "thumbnailsHelp": "Generated thumbnail images (can be recreated)", "tempFiles": "Temporary Files", "tempFilesHelp": "Temporary upload and processing files" }, "advancedOptions": { "title": "Advanced Options", "compression": "Enable Compression", "compressionHelp": "Compress backup files to save storage space", "encryption": "Enable Encryption", "encryptionHelp": "Encrypt backups for additional security", "encryptionPassphrase": "Encryption Passphrase", "encryptionPassphraseHelp": "Strong passphrase for backup encryption", "confirmPassphrase": "Confirm Passphrase", "passphrasesDontMatch": "Passphrases don't match" }, "validation": { "requiredFields": "Please fill in all required fields", "invalidCron": "Invalid cron expression", "connectionTestFailed": "Connection test failed", "connectionTestSuccess": "Connection test successful!" }, "messages": { "requiredFields": "Please fill in all required fields", "connectionSuccess": "Connection test successful!", "connectionFailed": "Connection test failed" }, "testingConnection": "Testing connection...", "saveSettings": "Save Configuration", "savingSettings": "Saving..." }, "history": { "searchPlaceholder": "Search backups...", "allStatus": "All Status", "status": { "completed": "Completed", "failed": "Failed", "running": "Running", "partial": "Partial" }, "deleteConfirm": "Are you sure you want to delete this backup from {{date}}?", "noBackups": "No backups found", "tableHeaders": { "date": "Date", "type": "Type", "status": "Status", "size": "Size", "duration": "Duration", "actions": "Actions" }, "columns": { "status": "Status", "dateTime": "Date & Time", "type": "Type", "size": "Size", "duration": "Duration", "actions": "Actions" }, "details": "Details", "statistics": "Statistics", "errors": "Errors", "backupDetails": { "backupId": "Backup ID", "startTime": "Start Time", "endTime": "End Time", "destination": "Destination", "filesProcessed": "Files Processed", "totalSize": "Total Size", "compressionRatio": "Compression Ratio", "errorLog": "Error Log", "noErrors": "No errors occurred" }, "pagination": { "showing": "Showing {{from}}-{{to}} of {{total}} backups", "previous": "Previous", "next": "Next" }, "filter": { "allStatus": "All Status", "completed": "Completed", "failed": "Failed", "running": "Running", "partial": "Partial" }, "noBackupsFound": "No backups found", "backupsWillAppear": "Backups will appear here once created", "messages": { "deleteSuccess": "Backup deleted successfully" }, "details": { "backupDetails": "Backup Details", "destination": "Destination", "started": "Started", "completed": "Completed", "contentBackedUp": "Content Backed Up", "errorDetails": "Error Details", "manifest": "Manifest" } }, "restore": { "steps": { "selectSource": "Select Source", "chooseBackup": "Choose Backup", "restoreOptions": "Restore Options", "reviewConfirm": "Review & Confirm", "progress": "Restore Progress" }, "source": { "title": "Select Backup Source", "subtitle": "Choose where to restore the backup from", "local": { "name": "Local Backup", "description": "Restore from local filesystem" }, "s3": { "name": "S3 Storage", "description": "Restore from S3 bucket" }, "upload": { "name": "Upload Backup", "description": "Upload a backup file", "comingSoon": "Upload functionality coming soon" }, "configuration": { "s3": "S3 Configuration", "endpoint": "S3 Endpoint URL", "bucket": "Bucket Name", "accessKey": "Access Key ID", "secretKey": "Secret Access Key" } }, "backup": { "title": "Choose Backup to Restore", "subtitle": "Select from available backups", "noBackupsFound": "No backups found in selected source", "encrypted": "Encrypted Backup", "encryptedMessage": "You'll need to provide the encryption passphrase to restore this backup.", "enterPassphrase": "Enter encryption passphrase", "at": "at" }, "restoreTypes": { "full": { "name": "Full Restore", "description": "Restore everything including database, photos, and archives", "warning": "This will replace all current data" }, "database": { "name": "Database Only", "description": "Restore only the database (settings, events, users)", "warning": "Current database will be replaced" }, "files": { "name": "Files Only", "description": "Restore only photos and archives", "warning": "Existing files may be overwritten" }, "selective": { "name": "Selective Restore", "description": "Choose specific items to restore", "warning": "Only selected items will be restored" } }, "options": { "title": "Restore Options", "subtitle": "Choose what to restore", "additionalOptions": { "title": "Additional Options", "skipPreBackup": "Skip Pre-Restore Backup", "skipPreBackupHelp": "By default, a backup is created before restore. Check this to skip it.", "force": "Force Restore", "forceHelp": "Override safety checks and warnings (use with caution)" } }, "confirmation": { "title": "Review & Confirm", "subtitle": "Please review your restore configuration", "validation": { "passed": "Validation Passed", "failed": "Validation Failed", "checking": "Validating restore configuration..." }, "spaceCheck": { "title": "Storage Space", "required": "Required", "available": "Available", "insufficient": "Insufficient storage space" }, "summary": { "title": "Restore Summary", "source": "Source", "backupDate": "Backup Date", "restoreType": "Restore Type", "preBackup": "Pre-backup", "enabled": "Enabled", "skipped": "Skipped" }, "warning": { "title": "Important Notice", "message": "This restore operation will replace existing data. Make sure you have a current backup before proceeding. This action cannot be undone." } }, "progress": { "title": "Restore Progress", "inProgress": "Restore in progress...", "completed": "Restore completed", "overallProgress": "Overall Progress", "current": "Current", "statusDetails": "Status Details", "restoreLogs": "Restore Logs", "steps": { "completed": "Completed", "running": "Running", "failed": "Failed", "pending": "Pending" }, "success": { "title": "Restore Completed Successfully", "message": "Your data has been restored. Please verify everything is working correctly." } }, "actions": { "back": "Back", "next": "Next", "startRestore": "Start Restore", "starting": "Starting...", "validating": "Validating...", "startNewRestore": "Start New Restore" }, "messages": { "restoreStarted": "Restore started successfully" } }, "messages": { "backupStarted": "Backup started successfully", "backupFailed": "Failed to start backup", "configUpdated": "Backup configuration updated", "configUpdateFailed": "Failed to update configuration", "backupDeleted": "Backup deleted successfully", "deleteFailed": "Failed to delete backup", "testEmailSent": "Test connection successful!", "testEmailFailed": "Connection test failed" } }, "maintenance": { "title": "System Maintenance", "message": "We're currently performing scheduled maintenance to improve our service. We'll be back online shortly.", "expectedCompletion": "Expected completion time:", "checkBackLater": "Please check back later", "urgentMatters": "For urgent matters, please contact" }, "passwordChange": { "title": "Change Password", "currentPassword": "Current Password", "newPassword": "New Password", "confirmPassword": "Confirm New Password", "currentPasswordPlaceholder": "Enter current password", "newPasswordPlaceholder": "Enter new password", "confirmPasswordPlaceholder": "Confirm new password", "requirements": "Password Requirements:", "minLength": "At least 6 characters long", "mustDiffer": "Must be different from current password", "success": "Password changed successfully", "failed": "Failed to change password", "currentRequired": "Current password is required", "newRequired": "New password is required", "minLengthError": "Password must be at least 6 characters", "confirmRequired": "Please confirm your new password", "noMatch": "Passwords do not match", "mustBeDifferent": "New password must be different from current password", "cancel": "Cancel" }, "mandatoryPasswordChange": { "title": "Password Change Required", "description": "For security reasons, you must change your password before accessing the admin panel.", "success": "Password changed successfully! You can now access the admin panel.", "minLength": "At least 12 characters long", "mustContainUpperLower": "Must contain uppercase and lowercase letters", "mustContainNumbers": "Must contain numbers", "mustContainSpecial": "Must contain special characters (!@#$%^&*)", "minLengthError": "Password must be at least 12 characters", "mustContainLowercase": "Password must contain lowercase letters", "mustContainUppercase": "Password must contain uppercase letters", "mustContainNumbersError": "Password must contain numbers", "mustContainSpecialError": "Password must contain special characters" }, "offline": { "backOnline": "Back online", "noConnection": "No internet connection" }, "download": { "downloading": "Downloading...", "percentComplete": "% complete" }, "passwordGenerator": { "weak": "Weak", "fair": "Fair", "good": "Good", "strong": "Strong", "generating": "Generating...", "generatePassword": "Generate Password", "showSuggestions": "Show password suggestions", "moreOptions": "More Options", "suggestions": "Password Suggestions", "characters": "characters", "copyPassword": "Copy password", "use": "Use", "pattern": "Pattern:", "patternDescription": "Passwords are generated using your event name and date. Example: \"Venue2024$August\" for better security and memorability." }, "feedback": { "comments": "Comments", "addComment": "Add Comment", "yourName": "Your name", "yourEmail": "Your email", "writeComment": "Write a comment...", "submit": "Submit", "commentSubmitted": "Comment submitted", "commentError": "Failed to submit comment", "rateLimited": "Please wait before commenting again", "commentRequired": "Comment is required", "nameRequired": "Name is required", "emailRequired": "Email is required", "anonymous": "Anonymous", "pendingApproval": "Pending approval", "noComments": "No comments yet. Be the first to comment!", "rating": "Rating", "ratePhoto": "Rate this photo", "yourRating": "Your rating", "averageRating": "Average rating", "totalRatings": "ratings", "likes": "Likes", "favorites": "Favorites", "likePhoto": "Like this photo", "favoritePhoto": "Add to favorites", "photoFeedback": "Photo Feedback", "hasFeedback": "Has feedback", "hasComments": "Has comments", "hasRating": "Has rating" }, "adminLogin": { "title": "Admin Login", "subtitle": "Sign in to manage your photo galleries", "sessionExpired": "Your session has expired. Please log in again.", "emailLabel": "Email Address", "emailPlaceholder": "admin@example.com", "emailRequired": "Email is required", "invalidEmail": "Invalid email format", "passwordLabel": "Password", "passwordPlaceholder": "Enter your password", "passwordRequired": "Password is required", "passwordMinLength": "Password must be at least 6 characters", "rememberMe": "Remember me", "forgotPassword": "Forgot password?", "signIn": "Sign In", "loginSuccess": "Login successful!", "networkError": "Network error. Please check your connection and try again.", "tooManyAttempts": "Too many login attempts. Please try again later.", "invalidCredentials": "Invalid email or password", "generalError": "An error occurred. Please try again.", "needHelp": "Need help? Contact", "poweredBy": "Powered by PicPeak", "devModeHint": "Development Mode: Use email: admin@example.com, password: admin123" } }