Fix language setting not being saved to database on admin settings page
- Added default_language field to general settings state in SettingsPage - Replaced LanguageSelector component with simple select dropdown on settings page - Fixed public settings endpoint to read general_default_language from database - Language setting now properly saved when clicking Save Settings button - Setting is correctly used by gallery login page and legal pages 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
This commit is contained in:
@@ -0,0 +1,284 @@
|
||||
{
|
||||
"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",
|
||||
"download": "Download",
|
||||
"downloadAll": "Download All",
|
||||
"uploading": "Uploading...",
|
||||
"uploaded": "Uploaded",
|
||||
"photo": "photo",
|
||||
"photos": "photos"
|
||||
},
|
||||
"navigation": {
|
||||
"dashboard": "Dashboard",
|
||||
"events": "Events",
|
||||
"archives": "Archives",
|
||||
"settings": "Settings",
|
||||
"branding": "Branding",
|
||||
"analytics": "Analytics",
|
||||
"emailSettings": "Email Settings",
|
||||
"cmsPages": "CMS Pages"
|
||||
},
|
||||
"auth": {
|
||||
"login": "Login",
|
||||
"password": "Password",
|
||||
"enterPassword": "Enter Gallery Password",
|
||||
"passwordPlaceholder": "Enter the gallery password",
|
||||
"invalidPassword": "Invalid password",
|
||||
"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",
|
||||
"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"
|
||||
},
|
||||
"categories": {
|
||||
"title": "Photo Categories",
|
||||
"global": "Global Categories",
|
||||
"eventSpecific": "Event-Specific Categories",
|
||||
"addCategory": "Add 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",
|
||||
"createEvent": "Create Event",
|
||||
"eventDetails": "Event Details",
|
||||
"eventName": "Event Name",
|
||||
"eventType": "Event Type",
|
||||
"eventDate": "Event Date",
|
||||
"hostEmail": "Host Email",
|
||||
"adminEmail": "Admin 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"
|
||||
},
|
||||
"settings": {
|
||||
"title": "System Settings",
|
||||
"general": {
|
||||
"title": "General",
|
||||
"siteConfiguration": "Site Configuration",
|
||||
"siteUrl": "Site URL",
|
||||
"siteUrlHelp": "Used for generating gallery links in emails",
|
||||
"defaultExpiration": "Default Expiration (days)",
|
||||
"maxFileSize": "Max File Size (MB)",
|
||||
"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",
|
||||
"saveSettings": "Save General Settings"
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"security": {
|
||||
"title": "Security",
|
||||
"passwordSettings": "Password Settings",
|
||||
"requirePassword": "Require password for all galleries",
|
||||
"minPasswordLength": "Minimum Password Length",
|
||||
"sessionAuth": "Session & Authentication",
|
||||
"sessionTimeout": "Session Timeout (minutes)",
|
||||
"maxLoginAttempts": "Max Login Attempts",
|
||||
"enable2FA": "Enable two-factor authentication for admins",
|
||||
"recaptchaSettings": "reCAPTCHA Settings",
|
||||
"enableRecaptcha": "Enable reCAPTCHA for login forms",
|
||||
"siteKey": "Site Key",
|
||||
"secretKey": "Secret Key",
|
||||
"recaptchaHelp": "Get your reCAPTCHA keys from",
|
||||
"saveSettings": "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."
|
||||
}
|
||||
},
|
||||
"branding": {
|
||||
"title": "Branding & Customization",
|
||||
"companyInfo": "Company Information",
|
||||
"companyName": "Company Name",
|
||||
"companyTagline": "Company Tagline",
|
||||
"supportEmail": "Support Email",
|
||||
"footerText": "Footer Text",
|
||||
"logo": "Logo",
|
||||
"uploadLogo": "Upload Logo",
|
||||
"removeLogo": "Remove Logo",
|
||||
"favicon": "Favicon",
|
||||
"uploadFavicon": "Upload Favicon",
|
||||
"removeFavicon": "Remove Favicon",
|
||||
"watermark": "Watermark",
|
||||
"enableWatermark": "Enable watermark on photos",
|
||||
"theme": "Theme",
|
||||
"themeCustomization": "Theme Customization",
|
||||
"selectPreset": "Select a preset theme",
|
||||
"colors": "Colors",
|
||||
"primaryColor": "Primary Color",
|
||||
"secondaryColor": "Secondary Color",
|
||||
"accentColor": "Accent Color",
|
||||
"customCSS": "Custom CSS",
|
||||
"preview": "Preview",
|
||||
"previewInNewTab": "Preview in New Tab",
|
||||
"reset": "Reset",
|
||||
"saveChanges": "Save Changes"
|
||||
},
|
||||
"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}}",
|
||||
"notifications": "Notifications",
|
||||
"viewAllNotifications": "View all notifications",
|
||||
"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"
|
||||
},
|
||||
"errors": {
|
||||
"notFound": "Not Found",
|
||||
"galleryNotFound": "Gallery Not Found",
|
||||
"galleryNotFoundMessage": "This gallery does not exist or has been removed.",
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user