49c77785e7
Mirror to GitHub / mirror (push) Successful in 45s
Test and Lint / backend-test (push) Successful in 1m42s
Test and Lint / frontend-test (push) Failing after 1m50s
Version and Release / version-bump (push) Successful in 1m1s
Version and Release / trigger-drone (push) Successful in 3s
1515 lines
61 KiB
JSON
1515 lines
61 KiB
JSON
{
|
|
"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"
|
|
}
|
|
}
|