<?php
/**
 * ITSWEBER CMS – English Admin Translations
 */
return [
    'nav' => [
        'dashboard' => 'Dashboard',
        'pages' => 'Pages',
        'blog' => 'Blog',
        'categories' => 'Categories',
        'tags' => 'Tags',
        'gallery' => 'Gallery',
        'events' => 'Events',
        'downloads' => 'Downloads',
        'media' => 'Media',
        'menus' => 'Menus',
        'homepage' => 'Homepage',
        'pagebuilder' => 'Page Builder',
        'contact_form' => 'Contact Form',
        'themes' => 'Themes',
        'plugins' => 'Plugins',
        'users' => 'Users',
        'settings' => 'Settings',
        'mail' => 'E-Mail',
        'consent' => 'Cookie Settings',
        'maintenance' => 'Maintenance',
        'system' => 'System',
        'backup' => 'Backup & Update',
        'system_section' => 'System',
        'two_factor' => 'Two-Factor Auth',
        'marketplace' => 'Marketplace',
    ],

    'topbar' => [
        'view_site' => 'View Site',
        'logout' => 'Logout',
        'skip_to_content' => 'Skip to main content',
        'open_menu' => 'Open/close menu',
    ],

    'theme_fallback' => [
        'title' => 'Theme not found:',
        'text' => 'The configured theme :theme is not installed on this system. The frontend is temporarily displayed with the default theme.',
        'link' => '→ Install or switch theme',
    ],

    'common' => [
        'edit' => 'Edit',
        'delete' => 'Delete',
        'save' => 'Save',
        'cancel' => 'Cancel',
        'create' => 'Create',
        'update' => 'Update',
        'back' => 'Back',
        'actions' => 'Actions',
        'status' => 'Status',
        'title' => 'Title',
        'slug' => 'Slug',
        'name' => 'Name',
        'description' => 'Description',
        'search' => 'Search',
        'filter' => 'Filter',
        'clear' => 'Clear',
        'yes' => 'Yes',
        'no' => 'No',
        'all' => 'All',
        'none' => 'None',
        'draft' => 'Draft',
        'published' => 'Published',
        'scheduled' => 'Scheduled',
        'visible' => 'Visible',
        'hidden' => 'Hidden',
        'sort_order' => 'Sort Order',
        'email' => 'Email',
        'date' => 'Date',
        'view' => 'View',
        'duplicate' => 'Duplicate',
        'upload' => 'Upload',
        'remove' => 'Remove',
        'add'    => 'Add',
        'preview' => 'Preview',
        'active' => 'Active',
        'inactive' => 'Inactive',
        'loading' => 'Loading…',
        'uploading' => 'Uploading…',
        'processing' => 'Processing…',
        'confirm_delete' => 'Are you sure you want to delete this?',
        'no_results' => 'No results found.',
        'select' => 'Select',
        'reset' => 'Reset',
        'required' => 'Required',
        'note' => 'Note',
        'bulk_selected' => ':count selected',
        'bulk_delete' => 'Delete',
        'bulk_publish' => 'Publish',
        'bulk_draft' => 'Set as Draft',
        'bulk_activate' => 'Activate',
        'bulk_deactivate' => 'Deactivate',
        'bulk_confirm_delete' => 'Permanently delete :count item(s)?',
        'bulk_confirm_status' => 'Change status of :count item(s)?',
        'security' => 'Security',
    ],

    'dashboard' => [
        'title' => 'Dashboard',
        'welcome' => 'Welcome, :name',
        'greeting_morning' => 'Good Morning, :name',
        'greeting_afternoon' => 'Good Afternoon, :name',
        'greeting_evening' => 'Good Evening, :name',
        'dashboard_subtitle' => 'Here is your CMS overview.',
        'pages' => 'Pages',
        'blog_posts' => 'Blog Posts',
        'media_files' => 'Media Files',
        'users' => 'Users',
        'gallery_albums' => 'Gallery Albums',
        'events' => 'Events',
        'downloads' => 'Downloads',
        'published' => 'published',
        'draft' => 'draft',
        'scheduled' => 'scheduled',
        'upcoming' => 'upcoming',
        'new_page' => '+ New Page',
        'new_post' => '+ New Post',
        'new_event' => '+ New Event',
        'upload_media' => 'Upload Media',
        'site_settings' => 'Site Settings',
        'quick_actions' => 'Quick Actions',
        'recent_posts' => 'Recent Blog Posts',
        'recent_posts_empty' => 'No posts yet.',
        'view_all_posts' => 'View all posts →',
        'recent_pages' => 'Recently Updated Pages',
        'recent_pages_empty' => 'No pages yet.',
        'view_all_pages' => 'View all pages →',
        'upcoming_events' => 'Upcoming Events',
        'upcoming_events_empty' => 'No upcoming events.',
        'create_event' => 'Create Event',
        'view_all_events' => 'View all events →',
        'system_info' => 'System Info',
        'cms_version' => 'CMS Version',
        'php_version' => 'PHP Version',
        'active_theme' => 'Active Theme',
        'maintenance_mode' => 'Maintenance Mode',
        'maintenance_active' => 'ACTIVE',
        'maintenance_inactive' => 'OFF',
        'view_system_status' => 'System Status →',
        'plugins_active' => 'Active Plugins',
        'storage_used' => 'Storage used',
        'health_title' => 'Website Health',
        'health_issues_none' => 'All good',
        'health_issues_count' => ':count optimizations recommended',
        'health_fix' => 'Fix →',
        'health_create' => 'Create →',
        'health_ok' => 'OK',

        // Accessibility audit widget (B3)
        'a11y_title' => 'Accessibility',
        'a11y_no_issues' => 'No accessibility issues found.',
        'a11y_issues_found' => ':count issues found in published content',
        'a11y_issues_found_1' => '1 issue found in published content',
        'a11y_missing_alt' => 'images without alt text',
        'a11y_missing_alt_1' => 'image without alt text',
        'a11y_empty_link' => 'empty links',
        'a11y_empty_link_1' => 'empty link',
        'a11y_heading_skip' => 'heading hierarchy skips',
        'a11y_heading_skip_1' => 'heading hierarchy skip',

        'quick_draft_title' => 'Quick Draft',
        'quick_draft_placeholder_title' => 'Title...',
        'quick_draft_placeholder_content' => 'Short note or intro...',
        'quick_draft_save' => 'Save as Draft',
        'quick_draft_type_page' => 'Page',
        'quick_draft_type_post' => 'Blog Post',
        'quick_draft_type_label' => 'Type',
        'panel_collapse' => 'Collapse panel',
        'panel_expand' => 'Expand panel',
        'whats_new_title' => "What's new in v:version",
    ],

    // Contact Form Builder (F5 v3.3.0)
    'contact_form' => [
        'title'               => 'Contact Form',
        'builder_tab'         => 'Form Builder',
        'submissions_tab'     => 'Submissions',
        'unread_badge'        => ':count unread',
        'save_config'         => 'Save Configuration',
        'config_saved'        => 'Form configuration saved.',
        'add_field'           => 'Add Field',
        'field_type'          => 'Field Type',
        'field_label'         => 'Label',
        'field_placeholder'   => 'Placeholder (optional)',
        'field_required'      => 'Required',
        'field_width'         => 'Width',
        'field_width_half'    => 'Half (50%)',
        'field_width_full'    => 'Full (100%)',
        'field_options'       => 'Options (comma-separated)',
        'field_value'         => 'Default value (hidden fields only)',
        'no_fields'           => 'No fields configured yet. Add fields on the right.',
        'drag_hint'           => 'Drag to reorder fields',
        'delete_field_confirm'=> 'Delete this field permanently?',
        'enabled_label'       => 'Contact form enabled',
        'save_to_db_label'    => 'Save submissions to database',
        'no_submissions'      => 'No submissions yet.',
        'mark_read'           => 'Mark as read',
        'export_csv'          => 'Export CSV',
        'ip'                  => 'IP Address',
        'user_agent'          => 'Browser',
        'status_unread'       => 'Unread',
        'status_read'         => 'Read',
        'back_to_list'        => '← Back to list',
        'submission_deleted'  => 'Submission deleted.',
        'bulk_deleted'        => ':count submission(s) deleted.',
        'bulk_read'           => ':count submission(s) marked as read.',
        'confirm_delete'      => 'Delete this submission permanently?',
        'field_types'         => [
            'text'     => 'Text',
            'email'    => 'Email',
            'tel'      => 'Phone',
            'textarea' => 'Textarea (multiline)',
            'select'   => 'Dropdown (Select)',
            'checkbox' => 'Checkbox',
            'hidden'   => 'Hidden Field',
        ],
    ],

    'pages' => [
        'title' => 'All Pages',
        'new' => '+ New Page',
        'edit' => 'Edit Page',
        'create' => 'Create Page',
        'view_page' => 'View Page ↗',
        'back' => '← Back to Pages',
        'page_title' => 'Title',
        'page_title_placeholder' => 'Page title…',
        'slug_placeholder' => 'auto-generated from title',
        'slug_help' => 'Leave empty to auto-generate. Only lowercase letters, numbers and hyphens.',
        'content' => 'Content',
        'content_help' => 'Use the toolbar above for formatting. Switch to Source to edit raw HTML.',
        'insert_from_library' => '📷 Insert from Library',
        'publishing' => 'Publishing',
        'template' => 'Template',
        'template_default' => 'Default Page',
        'template_home' => 'Home',
        'template_contact' => 'Contact',
        'template_help' => 'Determines how the page is rendered in the theme.',
        'sort_help' => 'Lower numbers appear first in menus.',
        'set_homepage' => 'Set as Homepage',
        'show_title' => 'Show page title',
        'show_title_help' => 'Uncheck to hide the large H1 heading in the frontend. Breadcrumbs remain visible.',
        'publish_at' => 'Publish at',
        'publish_at_help' => 'The page will be published automatically at this date/time.',
        'unpublish_at' => 'Expiry date',
        'unpublish_at_help' => 'Optional. The page will be automatically deactivated at this date/time.',
        'update_page' => 'Update Page',
        'create_page' => 'Create Page',
        'seo' => 'SEO',
        'seo_title' => 'SEO Title',
        'seo_title_default' => 'Defaults to page title',
        'seo_title_hint' => '/60 recommended',
        'seo_description' => 'SEO Description',
        'seo_description_default' => 'Defaults to page content snippet',
        'seo_description_hint' => '/160 recommended',
        'extended_seo' => 'Extended SEO',
        'og_image' => 'OG Image',
        'og_image_help' => 'Overrides the default OG image for social sharing.',
        'robots_meta' => 'Robots Meta',
        'robots_meta_help' => 'Controls search engine indexing behavior.',
        'robots_default' => 'Default (index, follow)',
        'canonical_url' => 'Canonical URL',
        'canonical_url_placeholder' => 'Auto-generated',
        'canonical_url_help' => 'Leave empty for automatic generation.',
        'custom_code' => 'Custom CSS/JS',
        'custom_css' => 'Custom CSS',
        'custom_css_help' => 'Injected into the &lt;head&gt; of this page.',
        'custom_js' => 'Custom JavaScript',
        'custom_js_help' => 'Injected before &lt;/body&gt;. Enter without &lt;script&gt; tags.',
        'no_pages' => 'No pages found.',
        'homepage_badge' => 'Homepage',
        'confirm_duplicate' => 'Duplicate page ":title" as draft?',
        'confirm_delete' => 'Delete this page?',
        'insert_image_title' => 'Insert Image from Library',
        'insert_image_help' => 'Click an image to insert it at the cursor. Images come from the central Media Manager.',
        'order' => 'Order',
    ],

    'blog' => [
        'title' => 'Blog Posts',
        'new' => '+ New Post',
        'edit' => 'Edit Blog Post',
        'create' => 'Create Blog Post',
        'view_post' => 'View Post ↗',
        'back' => '← Back to Posts',
        'post_title' => 'Title',
        'post_title_placeholder' => 'Post title…',
        'slug_prefix' => '/blog/',
        'slug_placeholder' => 'auto-generated from title',
        'slug_help' => 'Leave empty to generate automatically. Must be unique.',
        'excerpt' => 'Excerpt',
        'excerpt_placeholder' => 'Short summary shown in listings…',
        'excerpt_help' => 'Shown in blog listing and homepage preview. Leave blank to auto-generate from content.',
        'content' => 'Content',
        'content_placeholder' => 'Write your post content here…',
        'content_help' => 'Use the toolbar for formatting. Switch to Source to edit raw HTML.',
        'insert_from_library' => 'Insert from Library',
        'category' => 'Category',
        'no_category' => '— No category —',
        'manage_categories' => 'Manage categories →',
        'tags' => 'Tags',
        'tags_placeholder' => 'php, tutorial, cms',
        'tags_help' => 'Comma-separated. New tags are created automatically.',
        'manage_tags' => 'Manage tags →',
        'publishing' => 'Publishing',
        'publish_at' => 'Publish at',
        'publish_at_help' => 'The post will be published automatically at this date/time.',
        'unpublish_at' => 'Expiry date',
        'unpublish_at_help' => 'Optional. The post will be automatically deactivated at this date/time.',
        'update_post' => 'Update Post',
        'create_post' => 'Create Post',
        'is_featured' => 'Featured Post',
        'is_featured_help' => 'Highlight this post at the top of blog listings and in magazine-style layouts.',
        'featured_image' => 'Featured Image',
        'featured_image_preview' => 'Featured image preview',
        'remove_image' => 'Remove current image',
        'select_from_library' => 'Select from Library',
        'change_image' => 'Change Image',
        'clear_selection' => '✕ Clear selection',
        'upload_new' => 'Or upload a new file directly:',
        'upload_hint' => 'Max 5 MB. Allowed: JPG, PNG, GIF, WEBP.',
        'seo' => 'SEO',
        'seo_title' => 'SEO Title',
        'seo_title_default' => 'Defaults to post title',
        'seo_description' => 'SEO Description',
        'seo_description_default' => 'Defaults to excerpt',
        'no_posts' => 'No blog posts yet.',
        'create_first' => 'Create your first post →',
        'author' => 'Author',
        'confirm_duplicate' => 'Duplicate post ":title" as draft?',
        'confirm_delete' => 'Delete post ":title"? This cannot be undone.',
        'select_featured_title' => 'Select Featured Image',
        'select_featured_help' => 'Click an image to use it as the featured image. Images come from the Media Manager.',
    ],

    'blog_categories' => [
        'title' => 'Blog Categories',
        'back' => '← Back to Posts',
        'add_title' => 'Add New Category',
        'name' => 'Name',
        'slug' => 'Slug',
        'slug_placeholder' => 'auto-generated',
        'description' => 'Description',
        'add_btn' => 'Add Category',
        'posts' => 'Posts',
        'no_categories' => 'No categories yet.',
        'confirm_delete' => 'Delete category ":name"?',
        'cannot_delete' => 'Cannot delete: has :count post(s)',
        'edit_title' => 'Edit Category',
        'slug_help' => 'Leave empty to auto-generate from name.',
        'search_placeholder' => 'Search categories…',
        'no_results' => 'No categories found.',
    ],

    'blog_tags' => [
        'title' => 'Blog Tags',
        'back' => '← Back to Posts',
        'summary' => 'Summary',
        'total_tags' => 'Total tags',
        'unused' => 'Unused',
        'unused_help' => 'Unused tags can be safely deleted below.',
        'auto_create_hint' => 'Tags are created automatically when saving blog posts. Add or edit tags in the post form.',
        'name' => 'Name',
        'posts' => 'Posts',
        'no_tags' => 'No tags yet. Tags are created when saving blog posts.',
        'unused_badge' => 'unused',
        'confirm_delete' => 'Delete tag ":name"?',
        'cannot_delete' => 'Cannot delete: assigned to :count post(s)',
        'search_placeholder' => 'Search tags…',
        'only_unused' => 'Unused only',
        'no_results' => 'No tags found.',
    ],

    'gallery' => [
        'title' => 'Gallery Albums',
        'new' => '+ New Album',
        'edit' => 'Edit Album',
        'create' => 'Create Album',
        'back' => '← Back to Albums',
        'album_title' => 'Title',
        'slug_placeholder' => 'auto-generated from title',
        'slug_help' => 'Leave empty to generate automatically. Used in the URL: /gallery/:slug',
        'description' => 'Description',
        'description_placeholder' => 'Optional album description…',
        'settings' => 'Settings',
        'visibility' => 'Visibility',
        'sort_help' => 'Lower numbers appear first.',
        'update_album' => 'Update Album',
        'create_album' => 'Create Album',
        'cover_image' => 'Cover Image',
        'current_cover' => 'Current cover',
        'remove_cover' => 'Remove current cover',
        'replace_cover' => 'Replace with new image',
        'upload_cover' => 'Upload cover image',
        'cover_later_hint' => 'You can also set the cover from within the image manager later.',
        'cover_upload_hint' => 'Max 5 MB. Allowed: JPG, PNG, GIF, WEBP.',
        'no_albums' => 'No albums yet.',
        'create_first' => 'Create your first album →',
        'cover' => 'Cover',
        'images' => 'Images',
        'confirm_delete' => 'Delete album ":title" and all its images? This cannot be undone.',
    ],

    'gallery_images' => [
        'title' => 'Images: :album',
        'edit_album' => 'Edit Album',
        'back' => '← All Albums',
        'album_meta' => 'Album meta',
        'image_count' => ':count image(s)',
        'upload_image' => 'Upload Image(s)',
        'upload_click' => 'Click to choose image(s)',
        'upload_drag' => 'or drag and drop here',
        'upload_formats' => 'JPG, PNG, GIF or WEBP · max 5 MB',
        'image_title' => 'Title',
        'image_title_placeholder' => 'Optional image title',
        'alt_text' => 'Alt Text',
        'alt_text_placeholder' => 'Descriptive text for screen readers and SEO',
        'no_images' => 'No images in this album yet. Upload your first images above or add from Media Manager.',
        'images_heading' => 'Images (:count)',
        'drag_to_reorder' => 'Drag rows to reorder',
        'no_alt_text' => 'No alt text',
        'edit_meta' => 'Edit meta',
        'set_cover' => 'Set',
        'confirm_delete' => 'Delete this image? This cannot be undone.',
        'add_from_media' => 'Add from Media Manager',
        'select_from_media' => 'Select Images from Media Manager',
        'select_media_warning' => 'Please select at least one image',
        'no_images_in_media' => 'No images in Media Manager',
        'media_load_error' => 'Error loading media',
        'files_selected' => 'files selected',
        'upload_success_n' => 'file(s) uploaded',
        'upload_partial_ok' => 'uploaded',
        'upload_partial_fail' => 'failed',
    ],

    'events' => [
        'title' => 'Events',
        'new' => '+ New Event',
        'edit' => 'Edit Event',
        'create' => 'Create Event',
        'view_event' => 'View Event ↗',
        'back' => '← Back to Events',
        'event_title' => 'Title',
        'event_title_placeholder' => 'Event title…',
        'slug_prefix' => '/events/',
        'slug_placeholder' => 'auto-generated from title',
        'slug_help' => 'Leave empty to generate automatically. Must be unique.',
        'excerpt' => 'Short Description / Excerpt',
        'excerpt_placeholder' => 'Brief summary shown in listings…',
        'content' => 'Description / Content',
        'content_placeholder' => 'Full event description…',
        'publishing' => 'Publishing',
        'publish_status' => 'Publish Status',
        'event_status' => 'Event Status',
        'scheduled' => 'Scheduled',
        'postponed' => 'Postponed',
        'cancelled' => 'Cancelled',
        'postponed_hint' => 'Postponed and cancelled events are visually flagged in the frontend.',
        'featured' => 'Featured event',
        'featured_hint' => 'Featured events can be highlighted separately in the frontend.',
        'featured_badge' => '★ Featured',
        'update_event' => 'Update Event',
        'create_event' => 'Create Event',
        'date_time' => 'Date & Time',
        'start_date' => 'Start Date',
        'start_time' => 'Start Time',
        'end_date' => 'End Date',
        'end_date_hint' => 'Optional. Leave blank for single-day events.',
        'end_time' => 'End Time',
        'location_category' => 'Location & Category',
        'location' => 'Location',
        'location_placeholder' => 'e.g. Conference Centre Berlin',
        'no_category' => '— No category —',
        'manage_categories' => 'Manage categories →',
        'event_image' => 'Event Image',
        'upload_image' => '⬆ Upload Image',
        'upload_hint' => 'JPG, PNG, GIF, WebP · max 5 MB. Uploaded files are saved to the Media Manager.',
        'select_image_title' => 'Select Event Image',
        'select_image_help' => 'Click an image to set it as the event image.',
        'search_placeholder' => 'Search title or location…',
        'all_publish_statuses' => 'All publish statuses',
        'all_event_statuses' => 'All event statuses',
        'all_categories' => 'All categories',
        'featured_only' => 'Featured only',
        'non_featured' => 'Non-featured only',
        'no_events' => 'No events found.',
        'create_first' => 'Create your first event →',
        'start' => 'Start',
        'confirm_delete' => 'Delete event ":title"? This cannot be undone.',
    ],

    'event_categories' => [
        'title' => 'Event Categories',
        'back' => '← Back to Events',
        'add_title' => 'Add Category',
        'form_title' => 'Add / edit form',
        'name' => 'Name',
        'name_placeholder' => 'e.g. Workshop',
        'slug' => 'Slug',
        'slug_placeholder' => 'auto-generated',
        'description' => 'Description',
        'save' => 'Save Category',
        'reset' => 'Reset',
        'edit_title' => 'Edit Category',
        'events' => 'Events',
        'no_categories' => 'No categories yet. Add one using the form on the right.',
        'confirm_delete' => 'Delete category ":name"?',
        'cannot_delete' => 'Cannot delete: events are assigned',
    ],

    'downloads' => [
        'title' => 'Downloads',
        'new' => '+ New Download',
        'edit' => 'Edit Download',
        'create' => 'Create Download',
        'view_download' => 'View Download ↗',
        'back' => '← Back to Downloads',
        'download_title' => 'Title',
        'download_title_placeholder' => 'Download title…',
        'slug_prefix' => '/download/',
        'slug_placeholder' => 'auto-generated from title',
        'slug_help' => 'Leave empty to generate automatically. Must be unique.',
        'excerpt' => 'Short Description / Excerpt',
        'excerpt_placeholder' => 'Brief summary shown in listings…',
        'content' => 'Description / Content',
        'content_placeholder' => 'Full download description…',
        'content_help' => 'Use the toolbar for formatting. Switch to Source to edit raw HTML.',
        'details' => 'Details',
        'no_category' => '— No category —',
        'manage_categories' => 'Manage categories →',
        'version' => 'Version',
        'version_placeholder' => 'e.g. 1.0.0 or v2.1',
        'version_hint' => 'Optional. Shown in listings and on the detail page.',
        'download_file' => 'Download File',
        'upload_file' => '⬆ Upload File',
        'replace_file' => 'Replace File',
        'file_hint' => 'PDF, ZIP, DOC(X), XLS(X), PPT(X), ODT/ODS, TXT, CSV and more · max 50 MB.',
        'upload_image' => '⬆ Upload Image',
        'upload_image_hint' => 'JPG, PNG, GIF, WebP · max 5 MB. Uploaded files are saved to the Media Manager.',
        'search_placeholder' => 'Search title or excerpt…',
        'all_statuses' => 'All statuses',
        'all_categories' => 'All categories',
        'file' => 'File',
        'no_downloads' => 'No downloads found.',
        'create_first' => 'Create your first download →',
        'confirm_delete' => 'Delete download ":title"? This cannot be undone.',
        'sort_help' => 'Lower number = shown first.',
        'update_download' => 'Update Download',
        'create_download' => 'Create Download',
        'insert_image_title' => 'Insert Image from Library',
        'select_image_title' => 'Select Download Image',
        'select_image_help' => 'Click an image to set it as the download\'s featured image.',
    ],

    'download_categories' => [
        'title' => 'Download Categories',
        'back' => '← Back to Downloads',
        'add_title' => 'Add Category',
        'name' => 'Name',
        'name_placeholder' => 'e.g. Software',
        'slug' => 'Slug',
        'slug_placeholder' => 'auto-generated',
        'description' => 'Description',
        'save' => 'Save Category',
        'reset' => 'Reset',
        'edit_title' => 'Edit Category',
        'downloads' => 'Downloads',
        'no_categories' => 'No categories yet. Add one using the form on the right.',
        'confirm_delete' => 'Delete category ":name"?',
        'cannot_delete' => 'Cannot delete: downloads are assigned',
    ],

    'media' => [
        'choose' => 'Choose',
        'title' => 'Media Manager',
        'optimize' => 'Optimize Images',
        'upload_btn' => '+ Upload',
        'upload_title' => 'Upload Files',
        'upload_click' => 'Click to choose images',
        'upload_drag' => 'or drag and drop here',
        'upload_formats' => 'JPG, PNG, GIF, WEBP, SVG, ICO · max 5 MB · up to 10 files',
        'upload_folder' => 'Upload into folder',
        'unassigned' => '— Unassigned —',
        'new_folder' => 'New Folder',
        'folder_name' => 'Folder Name',
        'folder_name_placeholder' => 'e.g. Team Photos',
        'create_folder' => 'Create Folder',
        'rename_folder' => 'Rename Folder',
        'new_name' => 'New Name',
        'rename' => 'Rename',
        'folders' => 'Folders',
        'all_media' => 'All Media',
        'drop_here' => 'Drop files here to upload',
        'search_placeholder' => 'Search by filename or title…',
        'all_types' => 'All types',
        'images_only' => 'Images',
        'file_count' => ':count file(s)',
        'no_search_results' => 'No files match your search.',
        'no_files' => 'No files in this view yet.',
        'upload_a_file' => 'Upload a file',
        'open_original' => 'Open original',
        'copy_url' => 'Copy URL',
        'confirm_delete' => 'Delete this file permanently?',
        'sync_btn' => 'Sync Files',
        'sync_imported' => ':count file(s) imported.',
        'sync_removed' => ':count orphaned record(s) cleaned up.',
        'sync_up_to_date' => 'Media library is up to date.',
    ],

    'media_edit' => [
        'title' => 'Edit Media',
        'back' => '← Back to Media',
        'preview' => 'Preview',
        'open_original' => 'Open Original ↗',
        'metadata' => 'Metadata',
        'display_title' => 'Title',
        'display_title_help' => 'Display name for this file',
        'alt_text' => 'Alt Text',
        'alt_text_help' => 'Describe the image for accessibility',
        'alt_text_hint' => 'Used as the alt attribute when inserted via the media picker.',
        'description' => 'Description',
        'description_help' => 'Optional short description or caption',
        'folder' => 'Folder',
        'save' => 'Save Changes',
        'file_details' => 'File Details',
        'filename' => 'Filename',
        'original_name' => 'Original name',
        'type' => 'Type',
        'size' => 'Size',
        'path' => 'Path',
        'uploaded' => 'Uploaded',
        'dimensions' => 'Dimensions',
        'file_url' => 'File URL',
        'copy' => 'Copy',
        'copied' => 'Copied!',
        'url_hint' => 'Use this URL to embed the file in content.',
        'delete_title' => 'Delete',
        'delete_text' => 'Permanently removes this file and all its variants (thumbnail, WebP). This cannot be undone.',
        'delete_btn' => 'Delete File',
    ],

    'media_optimize' => [
        'title' => 'Image Optimization',
        'back' => '← Media Library',
        'status_title' => 'Legacy Image Status',
        'status_text' => 'Older images uploaded before automatic image optimization was introduced may not have thumbnails or WebP companion files. Use this tool to retroactively generate missing files for all existing uploads in blog/, gallery/, media/ and media/{folder}/ subdirectories.',
        'originals' => 'Original images found',
        'missing_thumbs' => 'Missing thumbnails',
        'missing_webp' => 'Missing WebP files',
        'all_optimized' => '✓ All images are fully optimized — no action needed.',
        'no_images' => 'No images found in blog/, gallery/ or media/ upload directories.',
        'generate_label' => 'What to generate:',
        'both' => 'Both (thumbnails + WebP)',
        'thumbs_only' => 'Thumbnails only',
        'webp_only' => 'WebP files only',
        'skip_note' => 'Already-existing files are always skipped. Only missing files are created. Requires GD extension with imagewebp() support for WebP generation.',
        'run' => 'Run Optimization',
        'how_title' => 'How It Works',
        'how_text_1' => 'Scans the upload directories blog/, gallery/, media/ and their subfolders for JPG, PNG and GIF originals. Derived thumbs/ directories are skipped automatically.',
        'how_text_2' => 'Thumbnails: max 400 × 300 px, saved to {subdir}/thumbs/{filename}.',
        'how_text_3' => 'WebP: quality 85, saved alongside original as {filename}.webp. Thumbnail WebP is generated separately in thumbs/{filename}.webp.',
        'how_text_4' => 'Existing files are never overwritten. Run again after adding new legacy uploads if needed.',
        'how_text_5' => 'Errors (unreadable source, GD limitation) are counted and reported — they do not abort the run.',
    ],

    'menus' => [
        'title' => 'Menu Management',
        'add_item' => '+ Add Item',
        'no_items' => 'No items in this menu yet.',
        'label' => 'Label',
        'url' => 'URL',
        'target' => 'Target',
        'target_self' => 'Same window',
        'target_blank' => 'New window',
        'order' => 'Order',
        'confirm_delete' => 'Delete this menu item?',
        'preview_title' => 'Preview – as visitors see it',
        'no_visible' => 'No visible items',
        'hidden_count' => '+ :count hidden',
        'add_to_menu' => 'Add Item to :menu',
        'label_placeholder' => 'e.g. About Us',
        'url_placeholder' => '/about',
        'add_btn' => 'Add',
        'quick_fill' => 'Quick-fill from pages:',
        'parent' => 'Parent',
        'no_parent' => '-- No parent --',
        'add_sub_item' => 'Add sub-item',
        'depth_prefix' => '──',
    ],

    'homepage' => [
        'title' => 'Manage Homepage',
        'configure_text' => 'Configure and reorder the sections on your homepage. Only <strong>active</strong> sections are shown on the frontend.',
        'section_active' => 'Active',
        'section_inactive' => 'Inactive',
        'drag_to_reorder' => 'Drag sections to reorder',
        'save' => 'Save All Changes',
        'no_sections' => 'No homepage sections found. Run the installer to create the default sections.',
        'deactivate' => 'Deactivate',
        'activate' => 'Activate',
        'edit' => 'Edit',
        'section_display_title' => 'Section Display Title',
        'internal_label_hint' => 'Internal admin title. Not used directly in the frontend template.',
        'plugin_not_installed_title' => 'Plugin Not Installed',
        'plugin_not_installed_text' => 'This section requires the plugin <strong>:slug</strong> (section type: <code>:key</code>), which is not installed. Install the plugin to configure this section.',
        'plugin_inactive_title' => 'Plugin Inactive',
        'plugin_inactive_text' => 'The plugin <strong>:slug</strong> is installed but not activated. Activate it to edit this section.',
        'activate_plugin' => 'Activate Plugin',
        'raw_json_hint' => 'Edit the raw JSON content for this custom section type.',
        'preview_title' => 'Title',
        'preview_subtitle' => 'Subtitle',
        'preview_text' => 'Text',
        'preview_cta' => 'CTA',
        'preview_count' => 'Count',
        'preview_items' => ':count item(s)',
        'section_text_color' => 'Text Color',
        'text_color_default' => 'Theme Default',
        'text_color_black' => 'Black',
        'text_color_white' => 'White',
        'text_color_theme' => 'Theme Color',
        'save_section' => 'Save Section',
        'cancel' => 'Cancel',
    ],

    // Page Builder (3.2.0)
    'pagebuilder' => [
        'title' => 'Page Builder',
        'subtitle' => 'Manage, reorder and configure sections on your homepage.',
        'add_section' => 'Add Section',
        'preview' => 'Preview',
        'section_added' => 'Section added.',
        'section_saved' => 'Section saved.',
        'section_deleted' => 'Section deleted.',
        'section_duplicated' => 'Section duplicated.',
        'order_saved' => 'Order saved.',
        'status_active' => 'Active',
        'status_inactive' => 'Inactive',
        'confirm_delete' => 'Delete this section?',
        'instance_label' => 'Instance Label',
        'instance_label_hint' => 'Optional name – used as anchor link ID (e.g. /#about-us)',
        'save' => 'Save',
        'cancel' => 'Cancel',
        'empty_title' => 'No sections yet',
        'empty_text' => 'Add your first section to start building your homepage.',
        'empty_add' => 'Add first section',
        'section_count' => ':count / :limit Sections',
        'limit_reached' => 'Maximum of :limit sections reached.',
        'modal_title' => 'Add Section',
        'modal_tab_header' => 'Header',
        'modal_tab_content' => 'Content',
        'modal_tab_media' => 'Media',
        'modal_tab_preview' => 'Preview',
        'modal_tab_action' => 'Actions',
        'modal_tab_global' => 'Global',
        'single_instance' => 'Only 1 per page',
        'already_exists' => 'Already exists',
        'loading' => 'Loading...',
        'error_network' => 'Network error – please try again.',
        'sections_used' => 'Sections',
        'add_first_section' => 'Add first section',
        'saving' => 'Saving...',
        'saved' => 'Saved.',
        'error' => 'Error',
        'reorder_success' => 'Order saved.',
        'reorder_error' => 'Could not save order.',
        'network_error' => 'Network error – please try again.',

        // Section-Card & Modal (merged from duplicate block)
        'close' => 'Close',
        'section_limit' => 'Maximum :limit sections per page',
        'single_instance_only' => 'Only one instance per page allowed',
        'drag_to_reorder' => 'Drag to reorder',
        'active' => 'Active',
        'inactive' => 'Inactive',
        'deactivate' => 'Deactivate',
        'activate' => 'Activate',
        'duplicate' => 'Duplicate',
        'edit' => 'Edit',
        'remove' => 'Remove',
        'instance_label_placeholder' => 'e.g. About Us (optional)',
        'category_header' => 'Header',
        'category_content' => 'Content',
        'category_media' => 'Media',
        'category_preview' => 'Preview',
        'category_action' => 'Action',
        'category_global' => 'Global',

        // 5a: Live Preview
        'preview_section' => 'Preview',

        // 5b: Import/Export
        'export_section' => 'Export',
        'import_section' => 'Import Section',
        'section_imported' => 'Section imported.',
        'import_invalid' => 'Invalid import file.',
        'import_unknown_type' => 'Unknown section type: :type',

        // 5c: Content Versioning
        'revisions' => 'Revisions',
        'revision_restored' => 'Revision restored.',
        'rev_field_changed' => 'field changed',
        'rev_fields_changed' => 'fields changed',
        'rev_fields_added' => 'added',
        'rev_fields_removed' => 'removed',
        'rev_no_changes' => 'No changes',

        // Theme-bound sections
        'theme_exclusive' => 'Exclusive to :theme theme',
        'theme_required' => 'Requires :theme theme (currently inactive)',
        'theme_inactive' => '– inactive',
    ],

    // Site Notice (3.2.0)
    'site_notice' => [
        'title' => 'Site Notice',
        'nav_label' => 'Site Notice',
        'description' => 'Global announcement bar displayed on all pages.',
        'saved' => 'Settings saved.',
        'active' => 'Enable site notice',
        'active_hint' => 'When enabled, the notice bar is shown on all pages.',
        'text_label' => 'Display text',
        'text_placeholder' => 'e.g. We have new opening hours!',
        'variant' => 'Variant',
        'variant_info' => 'Info (Blue)',
        'variant_success' => 'Success (Green)',
        'variant_warning' => 'Warning (Yellow)',
        'variant_danger' => 'Danger (Red)',
        'position' => 'Position',
        'position_after_header' => 'After header',
        'position_before_footer' => 'Before footer',
        'link_url' => 'Link URL',
        'link_label' => 'Link text',
        'link_label_placeholder' => 'e.g. Learn more',
        'dismiss' => 'Dismiss behavior',
        'dismiss_session' => 'Per session',
        'dismiss_permanent' => 'Permanently (Cookie)',
        'dismiss_none' => 'Not dismissible',
    ],

    // Mail Settings & Templates (Phase 4 – v3.3.0)
    'mail' => [
        'title'                 => 'E-Mail',
        'subtitle'              => 'Configure e-mail delivery and manage templates',
        'tab_settings'          => 'E-Mail Settings',
        'tab_templates'         => 'E-Mail Templates',
        'transport_title'       => 'Delivery Method',
        'transport_desc'        => 'Choose how e-mails should be sent.',
        'transport_phpmail'     => 'PHP Mail',
        'transport_phpmail_desc'=> 'Uses the PHP mail() function. Recommended for shared hosting.',
        'transport_smtp'        => 'SMTP',
        'transport_smtp_desc'   => 'Direct SMTP server. Recommended for reliable e-mail delivery.',
        'transport_recommended' => 'Recommended',
        'sender_title'          => 'Sender Settings',
        'from_address'          => 'From Address',
        'from_address_hint'     => 'This address appears as the sender for all system e-mails.',
        'from_name'             => 'From Name',
        'reply_to'              => 'Reply-To',
        'reply_to_hint'         => 'Replies will be sent to this address if different from sender.',
        'smtp_title'            => 'SMTP Configuration',
        'smtp_active'           => 'Active',
        'smtp_host'             => 'SMTP Host',
        'smtp_port'             => 'Port',
        'smtp_port_hint'        => 'Default: 587 (TLS), 465 (SSL), 25 (unencrypted)',
        'smtp_encryption'       => 'Encryption',
        'smtp_encryption_tls'   => 'TLS (STARTTLS) – Recommended',
        'smtp_encryption_ssl'   => 'SSL/TLS',
        'smtp_encryption_none'  => 'No Encryption',
        'smtp_username'         => 'Username',
        'smtp_password'         => 'Password',
        'smtp_password_toggle'  => 'Show/hide password',
        'save'                  => 'Save',
        'test_mail'             => 'Send Test E-Mail',
        'test_mail_subject'     => 'ITSWEBER CMS – Test E-Mail',
        'test_mail_body'        => 'This is a test e-mail from your ITSWEBER CMS. If you can read this message, e-mail delivery is working correctly.',
        'test_success'          => 'Test e-mail sent successfully.',
        'test_error'            => 'Test e-mail could not be sent. Please check SMTP settings.',
        'settings_saved'        => 'E-mail settings saved.',
        'templates_desc'        => 'Manage the e-mail templates used by the CMS for notifications and system e-mails.',
        'template_edit'         => 'Edit',
        'template_save'         => 'Save Template',
        'template_saved'        => 'E-mail template saved.',
        'template_save_error'   => 'E-mail template could not be saved.',
        'template_back'         => 'Back to overview',
        'template_subject'      => 'Subject',
        'template_body'         => 'E-mail Content (HTML)',
        'template_variables'    => 'Available Variables',
        'template_var_hint'     => 'Click a variable to copy it.',
        'template_last_edited'  => 'Last edited',
        'template_password_reset'      => 'Password Reset',
        'template_contact_form'        => 'Contact Form',
        'var_site_name'         => 'Site name',
        'var_logo_header'       => 'Logo/Site name (automatic)',
        'var_username'          => 'Username',
        'var_reset_url'         => 'Reset link',
        'var_token_ttl_minutes' => 'Validity period (minutes)',
        'var_contact_name'      => 'Sender name',
        'var_contact_email'     => 'Sender e-mail',
        'var_subject'           => 'Message subject',
        'var_message'           => 'Message text',
    ],

    'settings' => [
        'title' => 'Site Settings',
        'general' => 'General',
        'site_name' => 'Site Name',
        'tagline' => 'Tagline',
        'contact_email' => 'Contact Email',
        'contact_phone' => 'Contact Phone',
        'footer_text' => 'Footer Text',
        'footer_text_help' => 'HTML allowed: &lt;a&gt;, &lt;strong&gt;, &lt;em&gt;, &lt;br&gt;, &lt;span&gt;, &lt;p&gt;, &lt;ul&gt;, &lt;ol&gt;, &lt;li&gt;',
        'copyright' => 'Copyright Notice',
        'copyright_help' => 'HTML allowed: &lt;a&gt;, &lt;strong&gt;, &lt;em&gt;, &lt;br&gt;, &lt;span&gt;',
        'footer_menu_help' => 'Footer links can be managed under',
        'footer_menu_link' => 'Menus → Footer',
        'seo' => 'SEO',
        'seo_title' => 'Default SEO Title',
        'seo_title_help' => 'Used as the &lt;title&gt; tag on the homepage if not overridden.',
        'seo_description' => 'Default SEO Description',
        'seo_description_help' => 'Fallback meta description for pages without a custom description.',
        'extended_seo_enabled' => 'Extended SEO fields',
        'extended_seo_enabled_help' => 'OG image, robots meta, and canonical URL per page/post.',
        'custom_css_js_enabled' => 'Custom CSS/JS per page',
        'custom_css_js_enabled_help' => 'Allows admins to add custom CSS and JavaScript per page/post.',
        'sticky_header_enabled' => 'Sticky Header',
        'sticky_header_enabled_help' => 'Header stays visible when scrolling.',
        'scroll_animations_enabled' => 'Scroll Animations',
        'scroll_animations_enabled_help' => 'Elements with the class .animate-on-scroll fade in on scroll.',
        'content_revisions_enabled' => 'Content Revisions',
        'content_revisions_enabled_help' => 'Automatically saves up to 10 versions per page/post when editing.',
        'activity_log_enabled' => 'Activity Log',
        'activity_log_enabled_help' => 'Logs admin actions (create, edit, delete, login).',
        'security_headers_enabled' => 'Security Headers',
        'security_headers_enabled_help' => 'Automatically sets HTTP security headers (X-Frame-Options, HSTS, Referrer-Policy etc.).',
        'redirect_manager_enabled' => 'Redirect Manager',
        'redirect_manager_enabled_help' => 'Manage 301/302 redirects for changed URLs and slug changes.',
        'content_scheduling_enabled' => 'Content Scheduling',
        'content_scheduling_enabled_help' => 'Schedule pages and blog posts to publish/unpublish at a specific date and time.',
        'http_cache_enabled' => 'HTTP Cache Headers',
        'http_cache_enabled_help' => 'Sends Cache-Control, ETag and Last-Modified headers for frontend pages. Improves page speed and Core Web Vitals. Skipped for logged-in users.',
        'http_cache_ttl' => 'Cache duration (seconds)',
        'http_cache_ttl_help' => 'How long browsers and proxies may cache pages. Default: 3600 (1 hour). Range: 60–86400.',

        // Performance (B2, B5)
        'performance' => 'Performance',
        'page_cache_enabled' => 'Page Cache',
        'page_cache_enabled_help' => 'Cache rendered pages as HTML files. Significantly reduces load times for visitors. Cached pages are automatically invalidated when content changes.',
        'page_cache_ttl' => 'Cache Lifetime (seconds)',
        'page_cache_ttl_help' => 'How long cached pages remain valid. Default: 3600 (1 hour).',
        'clear_page_cache' => 'Clear Page Cache',
        'asset_minification_enabled' => 'CSS/JS Minification',
        'asset_minification_enabled_help' => 'Automatically minify CSS and JavaScript files by removing comments and whitespace. Cached in storage/cache/assets/.',

        // Upload settings
        'upload_settings' => 'Upload Settings',
        'upload_allowed_extensions' => 'Allowed File Types',
        'upload_allowed_extensions_help' => 'Comma-separated list of allowed file extensions. Empty = all supported types.',
        'upload_max_filesize_mb' => 'Maximum File Size (MB)',
        'upload_max_filesize_mb_help' => 'Maximum upload size for images in megabytes. Videos are always allowed up to 200 MB. Default: 5 MB.',

        // Security (B1)
        'security' => 'Security',
        'totp_2fa_available' => 'Two-Factor Authentication (TOTP)',
        'totp_2fa_available_help' => 'Allow users to set up TOTP-based two-factor authentication. Users can enable 2FA in their account settings.',
        'accessibility_audit_enabled' => 'Accessibility Audit Widget',
        'accessibility_audit_enabled_help' => 'Show accessibility issues (missing alt text, heading hierarchy, empty links) on the dashboard.',
        'admin_slug' => 'Admin Path',
        'admin_slug_hint' => 'URL path to the admin area. Only lowercase letters, numbers and hyphens. Default: admin',
        'admin_slug_changed' => 'Admin path has been changed. New path:',

        // Schema.org (B4)
        'schema_org' => 'Schema.org / Structured Data',
        'local_business_enabled' => 'LocalBusiness Schema',
        'local_business_enabled_help' => 'Add LocalBusiness JSON-LD structured data to your site for better search engine visibility.',
        'local_business_type' => 'Business Type',
        'local_business_street' => 'Street Address',
        'local_business_city' => 'City',
        'local_business_postal' => 'Postal Code',
        'local_business_country' => 'Country Code',
        'local_business_lat' => 'Latitude',
        'local_business_lng' => 'Longitude',
        'local_business_hours' => 'Opening Hours',
        'local_business_hours_help' => 'Comma-separated, e.g. "Mo-Fr 09:00-17:00, Sa 10:00-14:00"',
        'faq_schema_enabled' => 'FAQ Page Schema',
        'faq_schema_enabled_help' => 'Enable FAQPage JSON-LD output for pages that use FAQ sections.',

        'social' => 'Social Media',
        'social_facebook' => 'Facebook URL',
        'social_instagram' => 'Instagram URL',
        'social_linkedin' => 'LinkedIn URL',
        'social_x' => 'X (Twitter) URL',
        'social_youtube' => 'YouTube URL',
        'social_discord' => 'Discord URL',
        'social_twitch' => 'Twitch URL',
        'social_github' => 'GitHub URL',
        'social_tiktok' => 'TikTok URL',
        'header_show_site_name' => 'Show site name alongside logo',
        'header_show_site_name_help' => 'Displays the site name as text next to the logo in the header.',
        'footer_show_address' => 'Show address in footer',
        'footer_show_address_help' => 'Displays the business address and opening hours from Schema.org settings in the footer.',
        'branding' => 'Branding',
        // Branding sidebar – field labels & hints
        'branding_header_logo'          => 'Header Logo',
        'branding_header_logo_hint'     => 'Empty = falls back to "Logo (general)".',
        'branding_header_mode'          => 'Header Logo Display',
        'branding_mode_original'        => 'Original (colour)',
        'branding_mode_filtered'        => 'Filtered',
        'branding_mode_filtered_header' => 'Filtered (e.g. white on dark header)',
        'branding_mode_help'            => 'The active theme determines what "Filtered" looks like.',
        'branding_footer_logo'          => 'Footer Logo',
        'branding_footer_logo_hint'     => 'Empty = falls back to Header Logo → "Logo (general)".',
        'branding_footer_mode'          => 'Footer Logo Display',
        'branding_logo_alt'             => 'Logo Alt Text',
        'branding_logo_alt_hint'        => 'Alt text for header and footer logo. Empty = site name.',
        'branding_logo_alt_placeholder' => 'e.g. Company Name – Logo',
        'branding_logo_general'         => 'Logo (general) – Fallback',
        'branding_logo_general_hint'    => 'Used as a fallback when no header or footer logo is set.',
        'branding_favicon'              => 'Favicon',
        'branding_favicon_hint'         => 'Supports .ico, .png, .svg. Path relative to /uploads/.',
        // Branding sidebar – widget buttons & placeholder
        'branding_no_image'             => 'No image set',
        'branding_upload'               => '↑ Upload',
        'branding_from_media'           => '⊞ From Media Library',
        'branding_remove'               => '✕ Remove',
        // Branding sidebar – media picker modal
        'branding_picker_title'         => 'Choose image from media library',
        'branding_picker_close'         => 'Close',
        'branding_picker_loading'       => 'Loading…',
        'branding_picker_search'        => 'Search…',
        'branding_picker_no_images'     => 'No images found.',
        'branding_picker_error'         => 'Error loading images.',
        'language' => 'Language',
        'language_label' => 'System Language',
        'language_help' => 'Language for the admin backend and system texts.',
        'upload_pending' => '(will be uploaded on save: :filename)',
        'display_options' => 'Display Options',
        'breadcrumbs_enabled' => 'Show breadcrumb navigation',
        'breadcrumbs_enabled_help' => 'When disabled, the breadcrumb navigation is hidden across the entire website.',
        'dark_mode_enabled' => 'Show dark mode toggle',
        'dark_mode_enabled_help' => 'Displays a sun/moon toggle in the navigation that allows visitors to switch between light and dark themes.',
        'search_enabled' => 'Enable frontend search',
        'search_enabled_help' => 'Enables the search feature on the website. Visitors can search for pages, blog posts, events and downloads via /search.',
        'search_in_header' => 'Show search field in header',
        'search_in_header_help' => 'Displays a search field in the main navigation so visitors can search directly.',
        'blog_options' => 'Blog Options',
        'blog_reading_time' => 'Show reading time',
        'blog_reading_time_help' => 'Shows an estimated reading time (e.g. "4 min read") on blog posts.',
        'blog_toc' => 'Show table of contents',
        'blog_toc_help' => 'Automatically generates a table of contents from H2/H3 headings in blog posts.',
        'blog_related_posts' => 'Show related posts',
        'blog_related_posts_help' => 'Shows up to 3 related posts from the same category at the end of each post.',
        'save' => 'Save Settings',
    ],

    'themes' => [
        'title' => 'Themes',
        'install' => '⬆ Install Theme',
        'zip_not_available' => 'PHP ZipArchive extension not available on this server.',
        'active_badge' => 'Active',
        'no_preview' => 'No preview available',
        'no_description' => 'No description.',
        'by_author' => 'By :author',
        'slug_label' => 'Slug: :slug',
        'currently_active' => '✓ Currently Active',
        'activate' => 'Activate',
        'confirm_activate' => 'Activate theme :name? The website will immediately switch to this theme.',
        'view_site' => 'View Site',
        'uninstall' => 'Uninstall',
        'confirm_uninstall' => 'Uninstall theme :name? This will permanently delete the theme files. This action cannot be undone.',
        'protected' => 'Protected',
        'protected_hint' => 'System theme – cannot be uninstalled.',
        'no_themes' => 'No installed themes found in the themes/ directory.',
        'upload_title' => 'Install Theme',
        'upload_text' => 'Upload a theme package (.zip) to add a new theme to your site.',
        'back' => '← Back to Themes',
        'upload_label' => 'Theme ZIP File',
        'upload_hint' => 'Accepted: .zip – max. 10 MB',
        'upload_btn' => '⬆ Upload & Install',
        'format_title' => 'Package Format',
    ],

    'plugins' => [
        'title' => 'Plugins',
        'subtitle' => 'Manage installed plugins. Activate or deactivate plugins to control which are loaded at boot.',
        'install' => '⬆ Install Plugin',
        'zip_not_available' => 'PHP ZipArchive extension not available on this server.',
        'no_plugins' => 'No plugins installed yet.',
        'no_plugins_hint' => 'Upload a plugin package (.zip) to add new functionality to your CMS.',
        'install_first' => '⬆ Install your first Plugin',
        'plugin' => 'Plugin',
        'version' => 'Version',
        'author' => 'Author',
        'slug_label' => 'Slug: :slug',
        'deactivate' => 'Deactivate',
        'activate' => 'Activate',
        'confirm_uninstall' => 'Uninstall plugin :name? This will permanently delete the plugin files. This action cannot be undone.',
        'activation_note' => 'Note: Active plugins are loaded at every page request. Only activate plugins from trusted sources. Activation state is stored in storage/plugins_active.json.',
        'upload_title' => 'Install Plugin',
        'upload_text' => 'Upload a plugin package (.zip) to add new functionality to your CMS.',
        'back' => '← Back to Plugins',
        'upload_label' => 'Plugin ZIP File',
        'upload_hint' => 'Accepted: .zip – max. 10 MB',
        'upload_btn' => '⬆ Upload & Install',
        'security_note' => 'Security notice: Only install plugins from trusted sources. Plugin files are executed by the CMS and can access all server resources. Verify the plugin source before uploading.',
        'format_title' => 'Package Format',
        'load_error_title' => 'Plugin Error:',
        'load_error_text' => 'The following plugins could not be loaded and were automatically deactivated:',
        'safe_mode_title' => 'Plugin Safe Mode active:',
        'safe_mode_text' => 'All plugins have been skipped. Remove <code>storage/.plugin_safe_mode</code> to restore normal plugin operation.',
    ],

    'users' => [
        'title' => 'Users',
        'new' => '+ New User',
        'edit' => 'Edit User',
        'create' => 'Create User',
        'back' => '← Back to Users',
        'username' => 'Username',
        'username_help' => 'Letters, numbers, underscores and hyphens. Min. 3 characters.',
        'username_hint' => 'Letters, numbers, underscores and hyphens only',
        'email' => 'Email Address',
        'password' => 'Password',
        'password_help_edit' => 'Leave blank to keep the current password. Min. 8 characters if changing.',
        'password_help_create' => 'Minimum 8 characters.',
        'account_settings' => 'Account Settings',
        'role' => 'Role',
        'role_editor' => 'Editor',
        'role_admin' => 'Administrator',
        'role_only_admin' => 'You are the only admin — role cannot be changed.',
        'role_help' => 'Admin: Full access to all areas. Editor: Content management only.',
        'active_account' => 'Active account',
        'cannot_deactivate' => 'You cannot deactivate your own account.',
        'created_at' => 'Created: :date',
        'updated_at' => 'Last updated: :date',
        'save' => 'Save Changes',
        'create_btn' => 'Create User',
        'no_users' => 'No users found.',
        'you_badge' => 'You',
        'confirm_delete' => 'Delete user ":name"? This cannot be undone.',
        'cannot_delete_self' => 'Cannot delete your own account',
        'created' => 'Created',
    ],

    'consent' => [
        'title' => 'Cookie Settings',
        'subtitle' => 'Manage the consent banner and privacy texts for your website.',
        'enable' => 'Activation',
        'enable_label' => 'Enable consent banner',
        'texts' => 'Banner Texts',
        'banner_title' => 'Title',
        'banner_text' => 'Description text',
        'buttons' => 'Button Labels',
        'accept_all' => '"Accept All"',
        'reject_all' => '"Necessary Only"',
        'settings_btn' => '"Settings"',
        'save_selection' => '"Save Selection"',
        'categories' => 'Cookie Categories',
        'necessary_label' => 'Category: Necessary – Label',
        'necessary_desc' => 'Category: Necessary – Description',
        'functional_label' => 'Category: Functional – Label',
        'functional_desc' => 'Category: Functional – Description',
        'privacy_link' => 'Privacy Link',
        'privacy_url' => 'Privacy policy URL',
        'privacy_text' => 'Link text',
        'display' => 'Display',
        'show_logo' => 'Show logo in banner',
        'cookie' => 'Cookie & Reopen',
        'cookie_name' => 'Cookie name',
        'cookie_days' => 'Validity period (days)',
        'show_reopen' => 'Show reopen link in footer',
        'reopen_text' => 'Reopen link text',
        'save' => 'Save Settings',
        // Hints
        'enable_hint' => 'When enabled, the cookie notice banner appears for all visitors who have not yet made a decision. The banner is disabled by default and must be explicitly turned on.',
        'banner_text_hint' => 'Brief explanation of why and which cookies are set.',
        'categories_hint' => 'Currently supported categories: <strong>Technically necessary</strong> (always active) and <strong>Functional</strong> (optional, user-selectable).',
        'show_logo_hint' => 'Uses the header logo configured under Settings → Branding.',
        'cookie_name_hint' => 'Technical name of the cookie being set.',
    ],

    'maintenance' => [
        'title' => 'Maintenance Mode',
        'status' => 'Status',
        'active_warning' => 'Maintenance mode is active.',
        'active_text' => 'The frontend is locked for visitors (HTTP 503). Admins can still log in and use the backend.',
        'activated_at' => 'Activated: :date',
        'inactive_ok' => 'Website is publicly accessible.',
        'inactive_text' => 'Maintenance mode is disabled.',
        'backup_flag' => 'Backup/Restore flag active',
        'enable_title' => 'Enable Maintenance Mode',
        'enable_text' => 'The frontend will be locked for visitors with HTTP 503. Admins can still log in via the backend.',
        'page_title_label' => 'Maintenance page title',
        'page_title_default' => 'Website under maintenance',
        'message_label' => 'Message for visitors',
        'message_default' => 'We are currently working on the website and will be back shortly. Please try again in a few minutes.',
        'enable_btn' => 'Enable Maintenance Mode',
        'current_config' => 'Current Configuration',
        'config_title' => 'Title',
        'config_message' => 'Message',
        'config_site' => 'Site Name',
        'disable_btn' => 'Disable Maintenance Mode',
        'update_config' => 'Update Configuration',
        'update_hint' => 'Title and message can be changed without disabling maintenance mode.',
        'update_btn' => 'Update',
        'nav_active' => 'ON',
        'subtitle_label' => 'Subtitle (optional)',
        'subtitle_help' => 'An additional subtitle displayed below the main title.',
        'subtitle_placeholder' => 'e.g. "Database is being updated"',
        'contact_info_label' => 'Contact information (optional)',
        'contact_info_help' => 'Displayed so visitors can reach you with questions.',
        'contact_info_placeholder' => 'e.g. email address or phone number',
        'return_info_label' => 'Estimated return (optional)',
        'return_info_help' => 'When the website is expected to be available again.',
        'return_info_placeholder' => 'e.g. "in about 30 minutes" or "around 3:00 PM"',
        'show_logo_label' => 'Show website logo',
        'show_logo_help' => 'Display logo above the title, if configured.',
        'admin_hint_label' => 'Show admin hint',
        'admin_hint_help' => 'Show "Administrators can still log in via the backend" on maintenance page.',
        'title_help' => 'Displayed as the main heading on the maintenance page.',
        'message_help' => 'Short info for visitors (max. 500 characters).',
        'confirm_enable' => 'Enable maintenance mode? The frontend will be blocked immediately.',
        'confirm_disable' => 'Disable maintenance mode? The website will become publicly accessible immediately.',
        'preview_btn' => 'Show preview',
        'backup_flag_description' => 'was set by BackupService (is a restore or update running?). This state will be automatically cleared after the operation completes.',
        'media_section' => 'Media',
        'background_image_label' => 'Background image (optional)',
        'background_image_placeholder' => 'media/maintenance-bg.jpg',
        'background_image_help' => 'Displayed as a fullscreen background on the maintenance page (with overlay).',
        'custom_logo_label' => 'Custom logo (optional)',
        'custom_logo_placeholder' => 'media/maintenance-logo.png',
        'custom_logo_help' => 'Overrides the global website logo on the maintenance page.',
        'media_pick' => 'Media Library',
    ],

    'backup' => [
        'title' => 'Backup & Update',
        'zip_warning' => 'ZIP Extension',
        'tab_backup' => 'Website Backup',
        'tab_restore' => 'Restore',
        'tab_update' => 'CMS Update',
        'backup_title' => 'Create Website Backup',
        'backup_text' => 'Creates a complete backup of your website data as a ZIP file for download. The backup includes all database contents and all uploaded files.',
        'backup_version' => 'CMS Version: :version',
        'backup_includes' => 'Includes: Database + Uploads',
        'backup_format' => 'Format: ZIP (iw_backup v1)',
        'backup_auto_download' => 'The download starts automatically after the backup is created.',
        'backup_btn' => '↓ Create & Download Backup Now',
        'restore_title' => 'Restore Backup',
        'restore_text' => 'Restore a previously created ITSWEBER CMS backup.',
        'restore_warning_title' => '⚠ Important notice before restoring',
        'restore_warning_text' => 'Restoring will overwrite all existing database contents and media with the backup state.',
        'restore_label' => 'Select backup file (.zip)',
        'restore_hint' => 'ITSWEBER CMS backup files only (iw_backup format). Max :maxMb MB.',
        'restore_btn' => 'Upload & Verify Backup',
        'update_title' => 'Apply CMS Update',
        'update_text' => 'Apply an update file provided by ITSWEBER.',
        'update_version' => 'Installed version: :version',
        'update_warning_title' => '⚠ Recommendation before updating',
        'update_warning_text' => 'Please create a current backup before applying an update.',
        'update_label' => 'Select update package (.zip)',
        'update_hint' => 'Official ITSWEBER CMS update packages only (iw_update format). Max :maxMb MB.',
        'update_btn' => 'Upload & Verify Update',
        'php_limit_hint' => 'The upload limit is restricted to :maxMb MB by this server\'s PHP configuration. Adjust upload_max_filesize and post_max_size in php.ini if needed.',
        // Restore confirm page
        'confirm_title' => 'Confirmation',
        'confirm_warning_heading' => '⚠ Warning: All current data will be overwritten!',
        'confirm_warning_text' => 'The following data will be replaced with the backup state:',
        'confirm_warning_db' => 'All database contents (pages, blog, gallery, events, media, settings)',
        'confirm_warning_files' => 'All uploaded files in the media area (backup files will be added/overwritten but not deleted)',
        'confirm_irreversible' => 'This action cannot be undone.',
        'confirm_backup_first' => 'Create a current backup of this installation first if you haven\'t already.',
        'confirm_version_heading' => '⚠ Version Notice',
        'confirm_version_text' => 'The backup was created with CMS version <strong>:backup_version</strong>. This installation runs version <strong>:current_version</strong>. The restore usually works anyway, but database structure or settings fields may differ. Check after the restore that everything works correctly.',
        'confirm_info_heading' => 'Backup Information',
        'confirm_created_at' => 'Created at',
        'confirm_website' => 'Website',
        'confirm_cms_version' => 'CMS Version (Backup)',
        'confirm_current_version' => 'current version: :version',
        'confirm_format' => 'Backup Format',
        'confirm_php_version' => 'PHP Version (Backup)',
        'confirm_protected_heading' => 'Not overwritten (protected)',
        'confirm_protected_db' => 'Database connection',
        'confirm_protected_app' => 'Server configuration',
        'confirm_protected_core' => 'CMS core files (only database content + media are replaced)',
        'confirm_uploads_note' => 'Note: Existing files in <code>public/uploads/</code> will be overwritten or supplemented by the backup, but not deleted.',
        'confirm_theme_heading' => 'ℹ Theme Notice',
        'confirm_theme_text' => 'After restoring, the theme configured in the backup will be used. If this theme is not installed on the target system, the frontend will automatically render with the default theme (<em>default</em>). A warning with a direct link to theme management will appear in the admin area.',
        'confirm_js_confirm' => 'Really restore? All current database contents and media files will be irreversibly overwritten.',
        'confirm_execute_btn' => '✓   Restore Now',
        // Update confirm page
        'update_confirm_title' => 'Confirmation',
        'update_checked_heading' => 'Update package verified and ready for installation',
        'update_checked_text' => 'The following update package has been validated and the preflight check has passed. Your media, uploads, and configuration files will <strong>not</strong> be modified.',
        'update_recommend' => '⚠ Recommendation',
        'update_preflight_heading' => 'ℹ Preflight notices (no error – informational only)',
        'update_info_heading' => 'Update Information',
        'update_info_version' => 'Version',
        'update_info_desc' => 'Description',
        'update_info_released' => 'Released',
        'update_info_min_version' => 'Minimum version',
        'update_info_format' => 'Package type',
        'update_protected_heading' => 'Protected areas (will not be overwritten)',
        'update_protected_uploads' => 'Your uploaded media',
        'update_protected_storage' => 'Logs, cache, sessions',
        'update_protected_db' => 'Database connection',
        'update_protected_config' => 'Configuration',
        'update_migrations_note' => 'SQL migrations are executed in alphabetical order.',
        'update_js_confirm' => 'Install update now? The website will briefly enter maintenance mode.',
        'update_execute_btn' => '✓   Install Update Now',
        // Long-Running Action (LRA) – Status feedback
        'lra_backup_heading' => 'Creating backup…',
        'lra_backup_step1'   => 'Backing up database',
        'lra_backup_step2'   => 'Compressing media files',
        'lra_backup_step3'   => 'Preparing download',
        'lra_backup_done'    => 'Backup downloaded',
        'lra_backup_error'   => 'Backup failed. Please try again or check the logs.',
        'lra_restore_heading' => 'Restore in progress…',
        'lra_restore_step1'  => 'Opening backup archive',
        'lra_restore_step2'  => 'Importing database',
        'lra_restore_step3'  => 'Extracting files',
        'lra_restore_step4'  => 'Disabling maintenance mode',
        'lra_update_heading' => 'Installing update…',
        'lra_update_step1'   => 'Opening update package',
        'lra_update_step2'   => 'Applying files',
        'lra_update_step3'   => 'Running migrations',
        'lra_update_step4'   => 'Disabling maintenance mode',
    ],

    'system' => [
        'title' => 'System Status',
        'subtitle' => 'Technical overview for maintenance and troubleshooting.',
        'php_server' => 'PHP & Server',
        'php_version' => 'PHP Version',
        'php_ok' => '≥ 8.1',
        'php_bad' => '< 8.1 (unsupported)',
        'web_server' => 'Web Server',
        'installation' => 'Installation',
        'installed' => 'Installed',
        'not_installed' => 'Not installed',
        'active_theme' => 'Active Theme',
        'disk_usage' => 'Disk Usage',
        'disk_format' => ':percent% used — :free free of :total',
        'database' => 'Database',
        'connection' => 'Connection',
        'connected' => 'Connected',
        'connection_error' => 'Error',
        'cms_tables' => 'CMS Tables (iw_*)',
        'tables_found' => ':count tables found',
        'extensions' => 'PHP Extensions',
        'extension' => 'Extension',
        'ext_description' => 'Description',
        'ext_type' => 'Type',
        'required' => 'Required',
        'optional' => 'Optional',
        'loaded' => 'Loaded',
        'missing_required' => 'Missing – required!',
        'not_loaded' => 'Not loaded',
        'filesystem' => 'File System & Write Permissions',
        'directory' => 'Directory',
        'exists' => 'Exists',
        'writable' => 'Writable',
        'yes' => 'Yes',
        'missing' => 'Missing',
        'na' => 'N/A',
        'writable_yes' => 'Writable',
        'not_writable' => 'Not writable',
        'filesystem_hint' => 'All directories above must exist and be writable for the CMS to function correctly. If any are missing or not writable, adjust permissions on your server (chmod 755 or 777).',
        // Error-Log Viewer (B5 v3.3.0)
        'error_log_title'         => 'Error Log',
        'error_log_subtitle'      => 'PHP errors and warnings from CMS operations.',
        'error_log_overview'      => 'Overview',
        'error_log_size'          => 'File Size',
        'error_log_empty'         => 'Empty',
        'error_log_entries_shown' => 'Entries Shown',
        'error_log_archives'      => 'Archives',
        'error_log_files'         => 'files',
        'error_log_clear'         => 'Clear Log',
        'error_log_clear_confirm' => 'Really clear the error log?',
        'error_log_cleared'       => 'Error log has been cleared.',
        'error_log_archive_list'  => 'Archived Logs',
        'error_log_file'          => 'File',
        'error_log_date'          => 'Date',
        'error_log_recent'        => 'Recent Entries (newest first)',
        'error_log_no_errors'     => 'No errors logged – everything is fine.',
        // Health-Check (v3.3.0)
        'health_all_ok'           => 'All systems running smoothly',
        'health_issues'           => 'Issues detected',
    ],

    // Preview (draft/published preview in frontend theme)
    'preview' => [
        'type_page'       => 'Page',
        'type_blog'       => 'Blog Post',
        'banner_text'     => 'Preview – :type',
        'back_to_editor'  => 'Back to Editor',
        'close'           => 'Close',
        'preview_draft'   => 'Preview Draft',
        'preview_page'    => 'Preview',
    ],

    // FTP Backup (Phase 3.0.4)
    'ftp_backup' => [
        'tab_ftp'                   => 'FTP Backup',
        'title'                     => 'Set Up FTP Backup',
        'description'               => 'Configure automated backups that are uploaded directly to an FTP server. Backups can be scheduled daily or weekly, or triggered manually. Old backups are automatically deleted based on your retention settings.',

        // Sections
        'section_connection'        => 'FTP Connection',
        'section_schedule'          => 'Schedule & Retention',
        'section_items'             => 'Backup Items',

        // Connection fields
        'label_host'                => 'FTP Host',
        'hint_host'                 => 'Hostname or IP address of the FTP server',
        'label_port'                => 'FTP Port',
        'hint_port'                 => 'Default: 21',
        'label_user'                => 'FTP Username',
        'hint_user'                 => 'Login name for the FTP server',
        'label_pass'                => 'FTP Password',
        'hint_pass'                 => 'Leave empty to keep the current password',
        'label_path'                => 'Remote Path',
        'hint_path'                 => 'e.g. /backups or /public_html/backups',

        // Schedule fields
        'label_schedule'            => 'Schedule',
        'hint_schedule'             => 'Manual only = no automatic backups',
        'schedule_manual'           => 'Manual Only',
        'schedule_daily'            => 'Daily (03:00 AM)',
        'schedule_weekly'           => 'Weekly (Monday)',
        'label_daily_retain'        => 'Keep Daily Backups',
        'hint_daily_retain'         => 'How many daily backups to keep',
        'label_weekly_retain'       => 'Keep Weekly Backups',
        'hint_weekly_retain'        => 'How many weekly backups to keep',

        // Items
        'hint_items'                => 'Select what to back up:',
        'item_database'             => 'Database',
        'item_uploads'              => 'Uploads/Images',
        'item_themes'               => 'Themes',
        'item_plugins'              => 'Plugins',

        // Buttons
        'btn_test'                  => 'Test Connection',
        'btn_backup'                => 'Backup Now',
        'btn_save'                  => 'Save Settings',

        // Messages
        'test_success'              => 'Connection tested successfully!',
        'test_failed'               => 'Connection test failed',
        'test_error'                => 'An error occurred',
        'confirm_backup'            => 'Create and upload backup now? This may take a few minutes.',
        'backup_started'            => 'Backup is being created and uploaded...',
        'backup_error'              => 'Backup error',
        'settings_saved'            => 'FTP backup settings saved.',
        'backup_success'            => 'Backup successfully uploaded to FTP server.',
        'backup_failed'             => 'Backup error',

        // Errors
        'error_ftp_disabled'        => 'FTP extension not available',
        'error_ftp_info'            => 'The PHP FTP extension is not enabled on this server. Please contact your hosting provider.',
        'error_incomplete_settings' => 'FTP settings are incomplete',
        'error_connection_failed'   => 'FTP connection failed',
        'error_connection_lost'     => 'FTP connection was unexpectedly lost',
    ],

    // ── Section Form Common Labels ──────────────────────────────────────
    'section' => [
        // Headings
        'content'               => 'Content',
        'media'                 => 'Media',
        'presentation'          => 'Presentation',
        'presentation_hint'     => '— leave empty for theme default',

        // Common fields
        'heading'               => 'Heading',
        'subtitle'              => 'Subtitle',
        'eyebrow'               => 'Eyebrow Text',
        'eyebrow_hint'          => '(optional, small text above the title)',
        'intro_text'            => 'Intro Text',
        'cta_text'              => 'CTA Button Text',
        'cta_url'               => 'CTA Button URL',
        'cta_text_2'            => '2nd Button Text',
        'cta_url_2'             => '2nd Button URL',
        'cta_bg_color'          => 'Button 1 Background',
        'cta_text_color'        => 'Button 1 Text Color',
        'cta2_bg_color'         => 'Button 2 Background',
        'cta2_text_color'       => 'Button 2 Text Color',
        'optional'              => '(optional)',
        'background_image'      => 'Background Image',
        'background_image_hint' => 'Relative to /uploads/. Leave blank for solid background.',
        'portrait_image'        => 'Portrait / Person Image',
        'portrait_alt'          => 'Portrait Image Alt Text',
        'video_background'      => 'Video Background',
        'select_from_media'     => 'Select from Media Library',
        'select_video'          => 'Select Video',
        'line_breaks_preserved' => 'Line breaks are preserved in the frontend.',
        'leave_blank_to_hide'   => 'Leave blank to hide.',

        // Presentation tokens
        'color_scheme'          => 'Color Scheme',
        'scheme_default'        => 'Theme Default',
        'scheme_alt'            => 'Alt (Secondary Background)',
        'scheme_primary'        => 'Primary (Accent Color)',
        'scheme_dark'           => 'Dark (Inverted)',
        'scheme_none'           => 'None (Transparent)',

        'text_align'            => 'Text Alignment',
        'align_default'         => 'Theme Default',
        'align_center'          => 'Center',
        'align_left'            => 'Left',
        'align_right'           => 'Right',

        'text_color'            => 'Text Color',
        'color_auto'            => 'Auto (Theme Default)',
        'color_white'           => 'White (#ffffff)',
        'color_black'           => 'Black (#000000)',
        'color_theme'           => 'Theme Color',

        'card_style'            => 'Card Style',
        'card_default'          => 'Theme Default',
        'card_bordered'         => 'Bordered',
        'card_flat'             => 'Flat (no shadow)',

        'columns'               => 'Columns',
        'columns_1'             => '1 Column',
        'columns_auto'          => 'Auto (Default)',
        'columns_2'             => '2 Columns',
        'columns_3'             => '3 Columns',
        'columns_4'             => '4 Columns',

        'text_width'            => 'Text Width',
        'width_default'         => 'Theme Default',
        'width_sm'              => 'Narrow (sm)',
        'width_md'              => 'Medium (md)',
        'width_lg'              => 'Wide (lg)',

        'overlay'               => 'Background Overlay',
        'overlay_none'          => 'No Overlay',
        'overlay_light'         => 'Light (25%)',
        'overlay_medium'        => 'Medium (45%)',
        'overlay_heavy'         => 'Heavy (65%)',
        'overlay_hint'          => 'Darkens the background image for better readability.',

        // Hero-specific
        'hero_headline'         => 'Hero Headline',
        'hero_subtitle'         => 'Subtitle / Tagline',
        'layout'                => 'Layout',
        'layout_center'         => 'Center (Default)',
        'layout_full'           => 'Full Width',
        'layout_boxed'          => 'Boxed – Card with own background',
        'layout_split'          => 'Split – Text + Portrait side by side',
        'heading_size'          => 'Heading Size',
        'heading_weight'        => 'Heading Weight',
        'body_size'             => 'Body Text Size',
        'hero_height'           => 'Hero Height',
        'portrait_shape'        => 'Portrait Shape',
        'portrait_shadow'       => 'Portrait Shadow',
        'cta_layout'            => 'CTA Layout',
        'cta_side_by_side'      => 'Side by Side (Default)',
        'cta_stacked'           => 'Stacked',
        'video_playback'        => 'Video Playback',
        'video_scale'           => 'Video Scale',
        'video_display'         => 'Video Display',
        'video_box_size'        => 'Box Size',

        // Sizes
        'size_default'          => 'Default',
        'size_sm'               => 'Small',
        'size_md'               => 'Medium',
        'size_lg'               => 'Large',
        'size_xl'               => 'Extra Large',

        // Items
        'items'                 => 'Items',
        'add_item'              => '+ Add',
        'move_up'               => 'Move up',
        'move_down'             => 'Move down',
        'icon_emoji'            => 'Icon/Emoji',
        'title'                 => 'Title',
        'link_url'              => 'Link URL (optional)',
        'description'           => 'Description',
        'remove_item'           => 'Remove',

        // ── Placeholders (ph_*) ─────────────────────────────────────
        'ph_title'              => 'e.g. Welcome',
        'ph_subtitle'           => 'Optional subtitle',
        'ph_cta_text'           => 'e.g. Learn More',
        'ph_cta_url'            => '/page',
        'ph_text'               => 'Enter a short description…',
        'ph_image_path'         => 'media/image.jpg (relative to /uploads/)',
        'ph_video_path'         => 'media/video.mp4 (relative to /uploads/)',
        'ph_portrait_path'      => 'media/portrait.jpg',
        'ph_link_url'           => '/target-page',
        'ph_icon'               => '⚡',
        'ph_eyebrow'            => 'e.g. Welcome to our site',
        'ph_headline'           => 'Your main headline',
        'ph_tagline'            => 'A short supporting line',
        'ph_poster_path'        => 'media/poster.jpg (fallback image)',
        'ph_portrait_alt'       => 'Image description',
        'ph_url_example'        => 'https://www.example.com',

        // ── Hero-specific placeholders ──────────────────────────────
        'hero_ph_eyebrow'       => 'e.g. Welcome to ITSWEBER',
        'hero_ph_headline'      => 'Your main headline',
        'hero_ph_subtitle'      => 'A short supporting line',
        'hero_ph_cta1'          => 'e.g. Learn More',
        'hero_ph_cta1_url'      => '/about',
        'hero_ph_cta2'          => 'e.g. View Portfolio',
        'hero_ph_cta2_url'      => '/gallery',
        'hero_ph_image'         => '/uploads/media/image.jpg',
        'hero_ph_video'         => '/uploads/media/video.mp4',
        'hero_hint_bg'          => '(optional – also used as video poster)',
        'hero_hint_bg_full'     => 'In boxed layout: image inside card. With video: serves as poster (fallback).',
        'hero_hint_video'       => 'Video plays as background. The background image serves as poster/fallback.',
        'hero_hint_portrait'    => 'In split layout: text left, portrait right. In boxed: portrait inside card.',
        'hero_hint_portrait_alt'=> 'Name or description of the portrait',
        'hero_hint_layout'      => 'Boxed: Content and background inside card. Split: requires portrait.',
        'hero_hint_overlay'     => 'Darkens the background image for better readability.',
        'hero_hint_box_size'    => 'Scales automatically on smaller screens.',
        'hero_hint_video_display'=> 'Box: Video appears as rounded box inside the hero.',
        'hero_opt_autoplay'     => 'Autoplay (muted, loop)',
        'hero_opt_manual'       => 'Manual (with controls)',
        'hero_opt_cover'        => 'Cover – fills hero area',
        'hero_opt_contain'      => 'Contain – fully visible',
        'hero_opt_bg'           => 'Background – fills hero completely',
        'hero_opt_box'          => 'Box in hero – video as visible element',
        'hero_opt_circle'       => 'Circle',
        'hero_opt_rounded'      => 'Rounded',
        'hero_opt_square'       => 'Square',
        'hero_opt_box_sm'       => 'Small (~380px)',
        'hero_opt_box_md'       => 'Medium (~560px)',
        'hero_opt_box_lg'       => 'Large (~820px)',
        'hero_opt_box_full'     => 'Full width (container)',
        'hero_color_red'        => 'Red (#dc2626)',
        'hero_color_green'      => 'Green (#16a34a)',
        'hero_color_blue'       => 'Blue (#2563eb)',
        'hero_weight_normal'    => 'Normal (400)',
        'hero_weight_medium'    => 'Medium (600)',
        'hero_weight_bold'      => 'Bold (700)',
        'hero_weight_black'     => 'Black (900)',
        'hero_height_tall'      => 'Tall (80 vh)',
        'hero_portrait_elevated'=> 'Elevated',
        'hero_portrait_flat'    => 'No shadow',

        // ── CTA-specific placeholders ───────────────────────────────
        'cta_ph_eyebrow'        => 'e.g. Ready to start?',
        'cta_ph_title'          => 'e.g. Get in Touch',
        'cta_ph_text'           => 'A short message encouraging action…',
        'cta_ph_cta1'           => 'e.g. Contact Us',
        'cta_ph_cta1_url'       => '/contact',
        'cta_ph_cta2'           => 'e.g. Learn More',
        'cta_ph_cta2_url'       => '/about',

        // ── Intro-specific placeholders ─────────────────────────────
        'intro_ph_title'        => 'e.g. Welcome',
        'intro_ph_subtitle'     => 'e.g. Optional subtitle',
        'intro_ph_text'         => 'Write a short introduction…',
        'intro_ph_cta'          => 'e.g. Get Started',
        'intro_ph_cta_url'      => '/about',

        // ── Features / Topic Cards ──────────────────────────────────
        'features_ph_title'     => 'e.g. What We Offer',
        'features_ph_subtitle'  => 'Optional subtitle under heading',
        'features_hint_items'   => 'Icon: Emoji or text (e.g. ⚡ 🎯 💡). Link URL is optional.',
        'topic_ph_title'        => 'e.g. Our Topics',
        'topic_ph_subtitle'     => 'Optional subtitle under heading',
        'topic_hint_items'      => 'Icon: Emoji or text (e.g. 🌐 🎨 ⚡). URL is optional – without URL the card is not linked.',

        // ── Highlight Grid ──────────────────────────────────────────
        'highlight_ph_title'    => 'e.g. In Focus',
        'highlight_ph_subtitle' => 'Optional subtitle under heading',
        'highlight_ph_item_title'=> 'Title (required)',
        'highlight_ph_item_url' => 'Link URL (optional)',
        'highlight_ph_item_desc'=> 'Description',
        'highlight_ph_item_source'=> 'Additional info / source (optional)',
        'highlight_hint_items'  => 'Icon is optional. Background color controlled via color scheme.',

        // ── Preview sections (Blog, Gallery, Events) ────────────────
        'preview_ph_title'      => 'e.g. Latest',
        'preview_ph_subtitle'   => 'e.g. Stay up to date',
        'preview_count'         => 'Number of entries to show',
        'preview_ph_cta'        => 'e.g. View all',
        'preview_ph_cta_url'    => '/blog',
        'preview_hint_count'    => 'Only published entries are shown.',
        'blog_ph_title'         => 'e.g. Latest News',
        'blog_ph_subtitle'      => 'e.g. Stay up to date with our latest articles',
        'blog_ph_cta'           => 'e.g. Read all posts',
        'blog_show_date'        => 'Show publish date',
        'blog_show_category'    => 'Show category badge',
        'blog_hint_manage'      => 'Manage blog posts at',
        'gallery_ph_title'      => 'e.g. Our Work',
        'gallery_ph_subtitle'   => 'e.g. Browse our latest projects',
        'gallery_ph_cta'        => 'e.g. View All Albums',
        'gallery_show_count'    => 'Show image count per album',
        'gallery_hint_manage'   => 'Manage gallery albums at',
        'events_ph_title'       => 'e.g. Upcoming Events',
        'events_ph_subtitle'    => 'e.g. Don\'t miss our next events',
        'events_ph_cta'         => 'e.g. View all events',
        'events_show_images'    => 'Show event images',
        'events_hint_manage'    => 'Manage events at',

        // ── Service Cards ───────────────────────────────────────────
        'service_ph_title'      => 'e.g. Price Overview',
        'service_ph_subtitle'   => 'e.g. Fair prices, transparent service',
        'service_ph_text'       => 'e.g. Our service prices – no hidden costs.',
        'service_items_label'   => 'Service Cards (maximum 12)',
        'service_card_label'    => 'Card :num',
        'service_ph_card_title' => 'e.g. Standard Service',
        'service_ph_price'      => 'e.g. from 20 EUR',
        'service_ph_desc'       => 'Short description of this service',
        'service_ph_svg'        => 'Paste SVG code',
        'service_svg_hint'      => 'Only &lt;svg&gt; tags are accepted.',
        'service_add_card'      => '+ Add Service Card',
        'service_max_hint'      => 'Maximum 12 cards.',
        'service_price_hint'    => 'e.g. from 20 EUR / wheel',
        'service_svg_paste_hint'=> 'Paste an SVG icon. Leave empty for default.',
        'service_price_label'   => 'Price Label',
        'service_svg_label'     => 'SVG Icon (paste SVG code)',

        // ── Rating Highlight ────────────────────────────────────────
        'rating_summary_label'  => 'Summary Text',
        'rating_link_label'     => 'Link Label',
        'rating_url_hint'       => 'https://, http://, or relative URL',

        // ── Video Section ───────────────────────────────────────────
        'video_cta_url_hint'    => 'URL for the CTA button (requires CTA text to display).',

        // ── Social Embed ────────────────────────────────────────────
        'social_items_hint'     => 'Paste the full URL of a TikTok video, Instagram post/reel, or YouTube Short. The provider is detected automatically.',
        'social_url_hint'       => 'Full URL to the social media post or video.',

        // ── Process Steps ───────────────────────────────────────────
        'process_ph_title'      => 'Section title (optional)',
        'process_ph_subtitle'   => 'Optional subtitle',
        'process_items_label'   => 'Process Steps (maximum 8)',
        'process_step_label'    => 'Step :num',
        'process_ph_step_title' => 'e.g. Analysis',
        'process_ph_step_desc'  => 'Optional description of this step',
        'process_max_hint'      => 'Maximum 8 steps allowed.',

        // ── Rating Highlight ────────────────────────────────────────
        'rating_ph_title'       => 'e.g. What our customers say',
        'rating_ph_subtitle'    => 'Optional subtitle',
        'rating_source_label'   => 'Source Name *',
        'rating_ph_source'      => 'e.g. Google, Trustpilot',
        'rating_score_label'    => 'Score *',
        'rating_ph_score'       => 'e.g. 4.7',
        'rating_score_hint'     => 'Use comma (4,7) or period (4.7).',
        'rating_max_label'      => 'Max Score',
        'rating_max_hint'       => 'Default: 5',
        'rating_count_label'    => 'Review Count',
        'rating_ph_count'       => 'e.g. 92',
        'rating_reviews_label'  => 'Review Label',
        'rating_ph_reviews'     => 'e.g. Reviews',
        'rating_reviews_hint'   => 'Default: Reviews',
        'rating_ph_summary1'    => 'Editorial summary of the rating…',
        'rating_summary2_label' => 'Summary Text (Line 2)',
        'rating_ph_summary2'    => 'Optional second summary line',
        'rating_date_label'     => 'As of (Date)',
        'rating_ph_date'        => 'e.g. March 2026',
        'rating_ph_url'         => 'e.g. https://example.com/reviews',
        'rating_ph_cta'         => 'e.g. View all reviews',

        // ── Before/After ────────────────────────────────────────────
        'ba_ph_title'           => 'Section title',
        'ba_ph_subtitle'        => 'Optional subtitle / label',
        'ba_ph_text'            => 'Optional description text below the title',
        'ba_items_label'        => 'Comparison Items (maximum 12)',
        'ba_item_label'         => 'Item :num',
        'ba_ph_item_title'      => 'Item title (optional)',
        'ba_before_label'       => 'Before Label',
        'ba_after_label'        => 'After Label',
        'ba_before_image'       => 'Before Image *',
        'ba_after_image'        => 'After Image *',
        'ba_max_hint'           => 'Maximum 12 items.',
        'ba_browse_media'       => 'Browse Media',
        'ba_remove_image'       => 'Remove Image',

        // ── Team Section ────────────────────────────────────────────
        'team_ph_title'         => 'e.g. Meet Our Team',
        'team_ph_subtitle'      => 'Optional subtitle',
        'team_image_style'      => 'Image Style',
        'team_opt_circle'       => 'Circle (Default)',
        'team_opt_rounded'      => 'Rounded Square',
        'team_opt_square'       => 'Square',
        'team_image_hint'       => 'Profile image shape in frontend.',
        'team_member_label'     => 'Member :num',
        'team_name'             => 'Name *',
        'team_role'             => 'Role / Position',
        'team_profile_image'    => 'Profile Image',
        'team_browse'           => 'Browse',
        'team_email'            => 'Email',
        'team_bio'              => 'Short Bio',
        'team_linkedin'         => 'LinkedIn URL',
        'team_twitter'          => 'X / Twitter URL',
        'team_facebook'         => 'Facebook URL',
        'team_website'          => 'Website URL',

        // ── Trust Showcase ──────────────────────────────────────────
        'trust_ph_title'        => 'e.g. You can count on us',
        'trust_ph_subtitle'     => 'e.g. Why us',
        'trust_items_label'     => 'Trust Cards (maximum 8)',
        'trust_card_label'      => 'Card :num',
        'trust_svg_icon'        => 'SVG Icon',
        'trust_max_hint'        => 'Maximum 8 cards.',

        // ── Feature Showcase ────────────────────────────────────────
        'showcase_ph_title'     => 'Feature title',
        'showcase_ph_subtitle'  => 'Optional subtitle / label',
        'showcase_items_label'  => 'Feature Cards (maximum 12)',
        'showcase_card_label'   => 'Card :num',
        'showcase_ph_link_url'  => '/services',
        'showcase_ph_link_text' => 'Learn more →',
        'showcase_svg_hint'     => 'Paste SVG code. Leave empty for default icon.',
        'showcase_max_hint'     => 'Maximum 12 cards.',

        // ── Social Embed ────────────────────────────────────────────
        'social_ph_title'       => 'Section title',
        'social_ph_subtitle'    => 'Optional subtitle or description',
        'social_items_label'    => 'Social Media Embeds (maximum 12)',
        'social_embed_label'    => 'Embed :num',
        'social_ph_url'         => 'e.g. https://www.tiktok.com/@username/video/123',
        'social_ph_embed_title' => 'Title (optional)',
        'social_ph_embed_desc'  => 'Description (optional)',
        'social_ph_cta'         => 'e.g. View All on TikTok',
        'social_cta_hint'       => 'Optional button below embeds.',
        'social_ph_cta_url'     => 'https://www.tiktok.com/@username',
        'social_cta_url_hint'   => 'URL for the CTA button.',
        'social_max_hint'       => 'Maximum 12 items.',

        // ── Video Section ───────────────────────────────────────────
        'video_ph_title'        => 'Video section title',
        'video_title_hint'      => 'Main heading for the video section.',
        'video_ph_subtitle'     => 'Optional subtitle or description',
        'video_subtitle_hint'   => 'Optional subheading below the title.',
        'video_type_label'      => 'Video Type',
        'video_opt_youtube'     => 'YouTube',
        'video_opt_local'       => 'Local Video File',
        'video_type_hint'       => 'Choose between a YouTube video or local upload.',
        'video_url_label'       => 'Video URL / Path',
        'video_ph_url'          => 'https://www.youtube.com/watch?v=... or media/video.mp4',
        'video_url_hint'        => 'YouTube URL or path relative to /uploads/.',
        'video_poster_label'    => 'Poster Image (optional)',
        'video_ph_poster'       => 'media/poster.jpg',
        'video_poster_hint'     => 'Preview image before video plays.',
        'video_autoplay_label'  => 'Autoplay',
        'video_autoplay_hint'   => 'Auto-start (muted). Only for local videos.',
        'video_ph_cta'          => 'e.g. Watch Now, Learn More',
        'video_cta_hint'        => 'Optional button below the video.',

        // ── HTML Section ────────────────────────────────────────────
        'html_ph_title'         => 'Section title (optional)',
        'html_ph_subtitle'      => 'Optional subtitle',
        'html_insert_image'     => 'Insert Image from Media Library',
        'html_editor_hint'      => 'Full WYSIWYG editor with HTML support.',
        'html_search'           => 'Search images…',
        'html_upload'           => '⬆ Upload',
        'html_loading'          => 'Loading…',
        'html_uploading'        => 'Uploading…',
        'html_upload_failed'    => 'Upload failed.',
        'html_no_images'        => 'No images found. Upload one above.',
        'html_load_failed'      => 'Failed to load images.',

        // ── Site Notice ─────────────────────────────────────────────
        'site_notice_hint'      => 'The Site Notice (Impressum) is managed via Settings → Site Notice.',
    ],

    // ── Media Edit Additional ───────────────────────────────────────────
    'media_edit_extra' => [
        'poster_label'          => 'Poster / Preview Image',
        'poster_hint'           => '(optional – shown as placeholder before the video starts)',
        'no_poster_selected'    => 'No poster selected',
        'select_from_media'     => 'Select from Media Library',
        'remove'                => 'Remove',
        'video_unsupported'     => 'Your browser does not support this video format.',
    ],

    // JavaScript translations (injected into admin layout as window.iwT)
    'js' => [
        'search_images'   => 'Search images…',
        'folder_label'    => 'Folder:',
        'all_media'       => 'All media',
        'unassigned'      => 'Unassigned',
        'loading'         => 'Loading…',
        'no_images'       => 'No images found.',
        'load_failed'     => 'Failed to load images.',
        'select_image'    => 'Select image',
        'upload_btn'      => '⬆ Upload',
        'search'          => 'Search…',
        'file_too_large'  => 'File too large (max. 5 MB). Current size: :size MB',
        'csrf_missing'    => 'CSRF token missing. Please reload the page and try again.',
        'uploading'       => 'Uploading… (:size KB)',
        'upload_failed'   => 'Upload failed: :error',
        'upload_http_err' => 'Upload failed (HTTP :status): :body',
        'network_error'   => 'Network error – server unreachable. Please check your internet connection.',
        'upload_timeout'  => 'Upload timeout. Please try again.',
        'media_library'   => 'Media Library',
        'close'           => 'Close',
        'no_videos'       => 'No videos found.',
        'select_video'    => 'Select video',
        'loading_short'   => 'Loading…',
        'uploading_short' => 'Uploading…',
        'upload_failed_short' => 'Upload failed.',
        'file_too_large_short' => 'File too large (max. :max MB).',
        'load_failed_short'    => 'Failed to load.',
    ],

    // Activity Log
    'activity_log' => [
        'title' => 'Activity Log',
        'no_entries' => 'No entries available.',
        'timestamp' => 'Timestamp',
        'user' => 'User',
        'action' => 'Action',
        'resource' => 'Resource',
        'name' => 'Name',
        'ip' => 'IP Address',
        'all_actions' => 'All actions',
        'all_types' => 'All types',
    ],

    // Content Revisions
    'revisions' => [
        'title' => 'Revisions',
        'no_revisions' => 'No revisions available.',
        'restore' => 'Restore',
        'restore_confirm' => 'Restore this version? The current state will be saved as a new revision first.',
        'restored' => 'Revision restored successfully.',
        'changed_by' => 'Changed by',
        'changes' => 'Changes',
        'fields_changed' => ':count field(s) changed',
        'view_diff' => 'View differences',
        'old_value' => 'Before',
        'new_value' => 'After',
    ],

    // TOTP 2FA (3.3.0 B1)
    'totp' => [
        'title' => 'Two-Factor Authentication',
        'status' => 'Status',
        'enabled_status' => '2FA is enabled',
        'enabled_info' => 'Your account is protected with TOTP two-factor authentication.',
        'disable_code_label' => 'Enter current TOTP code to disable',
        'disable_confirm' => 'Are you sure you want to disable two-factor authentication?',
        'disable_btn' => 'Disable 2FA',
        'recovery_codes' => 'Recovery Codes',
        'recovery_remaining' => ':count recovery code(s) remaining',
        'regen_code_label' => 'Enter TOTP code to regenerate',
        'regenerate_btn' => 'Regenerate Recovery Codes',
        'setup_complete' => '2FA Successfully Enabled',
        'recovery_save_warning' => 'Save these recovery codes in a safe place. Each code can only be used once. If you lose your authenticator device, you will need these codes to log in.',
        'done_btn' => 'Done',
        'setup_heading' => 'Set Up Two-Factor Authentication',
        'setup_instructions' => 'Scan the QR code below with your authenticator app (e.g. Google Authenticator, Authy). Then enter the 6-digit code from the app to verify.',
        'secret_label' => 'Manual Entry Key',
        'secret_hint' => 'If you cannot scan the QR code, enter this key manually in your authenticator app.',
        'verify_code_label' => 'Verification Code',
        'verify_code_hint' => 'Enter the 6-digit code from your authenticator app',
        'enable_btn' => 'Enable 2FA',
        'what_is_2fa' => 'What is 2FA?',
        'what_is_2fa_text' => 'Two-factor authentication adds an extra layer of security. After entering your password, you also need a time-based code from your authenticator app. This protects your account even if your password is compromised.',
        'qr_fallback' => 'QR code could not be generated. Please use the manual entry key below.',
    ],

    // Redirect Manager (3.3.0 A2)
    'redirects' => [
        'title' => 'Redirects',
        'create' => 'Create Redirect',
        'edit' => 'Edit Redirect',
        'created' => 'Redirect created successfully.',
        'updated' => 'Redirect updated successfully.',
        'deleted' => 'Redirect deleted.',
        'no_entries' => 'No redirects found.',
        'source_path' => 'Source Path',
        'source_path_hint' => 'e.g. /old-page or /blog/old-post',
        'target_url' => 'Target URL',
        'target_url_hint' => 'e.g. /new-page or https://example.com/...',
        'status_code' => 'Status Code',
        'status_301' => '301 – Permanent',
        'status_302' => '302 – Temporary',
        'hit_count' => 'Hits',
        'is_active' => 'Active',
        'error_source_required' => 'Source path is required.',
        'error_source_exists' => 'A redirect for this source path already exists.',
        'error_target_required' => 'Target URL is required.',
        'error_invalid_status' => 'Invalid status code.',
        'error_loop' => 'Source path and target URL must not be identical.',
        'btn_create' => 'New Redirect',
    ],

    // Marketplace (v3.4.0)
    'marketplace' => [
        'title'              => 'Marketplace',
        'subtitle'           => 'Browse and install themes & plugins',
        'browse'             => 'Browse',
        'install'            => 'Install',
        'update'             => 'Update',
        'installed'          => 'Installed',
        'update_available'   => 'Update available',
        'up_to_date'         => 'Up to date',
        'not_configured'     => 'Marketplace is not configured yet.',
        'not_configured_hint'=> 'Enter the URL of your marketplace server to browse themes and plugins.',
        'configure'          => 'Configure Marketplace',
        'marketplace_url'    => 'Marketplace URL',
        'url_placeholder'    => 'https://itsweber.de',
        'save_settings'      => 'Save',
        'settings_saved'     => 'Marketplace settings saved.',
        'licenses'           => 'Licenses',
        'license_key'        => 'License Key',
        'license_saved'      => 'License key saved.',
        'no_packages'        => 'No packages available in the marketplace.',
        'search_placeholder' => 'Search packages...',
        'filter_all'         => 'All',
        'filter_themes'      => 'Themes',
        'filter_plugins'     => 'Plugins',
        'type_theme'         => 'Theme',
        'type_plugin'        => 'Plugin',
        'premium'            => 'Premium',
        'free'               => 'Free',
        'version'            => 'Version',
        'author'             => 'Author',
        'min_cms'            => 'Minimum version',
        'description'        => 'Description',
        'requirements'       => 'Requirements',
        'back_to_marketplace'=> '&larr; Back to Marketplace',
        'install_success'    => ':name v:version has been installed successfully.',
        'update_success'     => ':name has been updated to v:version.',
        'install_failed'     => 'Installation failed: :error',
        'download_failed'    => 'Download failed: :error',
        'server_unreachable' => 'Marketplace server not reachable. Showing cached data.',
        'confirm_install'    => 'Do you want to install :name?',
        'confirm_update'     => 'Do you want to update :name to v:version?',
        'requires_license'   => 'This package requires a license key.',
        'cms_too_old'        => 'Requires CMS :version or higher.',
        'already_installed'  => 'This package is already installed.',
        'not_installed'      => 'This package is not installed.',
        'invalid_slug'       => 'Invalid package name.',
        'package_not_found'  => 'Package not found.',
        'no_licenses'        => 'No marketplace packages installed.',
        'incompatible'           => 'Not compatible with this CMS version.',
        'categories'             => 'Categories',

        // Preview
        'preview_title'          => 'Preview: :name',
        'preview_verified'       => 'Package verified',
        'preview_unsigned'       => 'Package not signed',
        'preview_unsigned_hint'  => 'This package does not contain a signature.',
        'preview_incompatible_note' => 'Installation not possible.',
        'preview_integrity'      => 'Integrity',
        'preview_size'           => 'File size',
        'preview_sig_key'        => 'Signed with',
        'preview_files'          => 'Affected files',
        'preview_backup_note'    => 'A backup will be created before installation.',
        'preview_existing_backups' => 'existing backups',
        'preview_installed'      => 'Installed',
        'preview_key_id'         => 'Key ID',
        'preview_blocked_incompatible' => 'Installation blocked: CMS version incompatible.',
        'preview_confirm_note'   => 'After confirmation the package will be installed immediately.',
        'confirm_install_now'    => 'Install now',
        'confirm_update_now'     => 'Update now',
        'back_to_details'        => '&larr; Back to details',

        // Backups & Rollback
        'backups_title'          => 'Backups: :slug',
        'backups_none'           => 'No backups available.',
        'backups_hint'           => 'Backups of :slug – newest first.',
        'backups_file'           => 'File',
        'backups_created'        => 'Created',
        'backups_size'           => 'Size',
        'backups_latest'         => 'Latest',
        'backups_restore'        => 'Restore',
        'backups_confirm_restore'=> 'Really restore this version? The current installation will be overwritten.',
        'rollback_success'       => ':slug was successfully restored.',
        'rollback_failed'        => 'Restore failed: :error',
        'backup_not_found'       => 'Backup file not found.',

        // Allowlist
        'allowlist_missing_fields'  => 'Registry URL and public key are required fields.',
        'allowlist_https_required'  => 'Registry URLs must use HTTPS.',
        'allowlist_added'           => 'Registry added to allowlist.',
        'allowlist_removed'         => 'Registry removed from allowlist.',
        'allowlist_invalid_id'      => 'Invalid allowlist ID.',

        // Dashboard badge
        'updates_available'         => ':count update(s) available',
        'updates_security_warning'  => ':count warning(s)',

        // Detail page title (REL-006)
        'detail'                    => ':name – Marketplace',

        // Integrity Monitor (3d)
        'integrity_drift_title'     => 'Integrity warning: Modified packages:',

        // Signature badges (3b)
        'sig_missing'               => 'Unsigned',
        'hash_missing'              => 'No hash',
        'key_id'                    => 'Key ID',

        // Rate limiting (REL-004)
        'rate_limited'              => 'Too many requests. Please wait a few minutes.',
    ],

    'marketplace_audit' => [
        'title'        => 'Marketplace Audit Log',
        'disabled'     => 'The Marketplace Audit Log is disabled.',
        'all_actions'  => 'All actions',
        'all_results'  => 'All results',
        'filter_slug'  => 'Search package slug…',
        'entries'      => 'entries',
        'no_entries'   => 'No audit entries found.',
        'col_time'     => 'Time',
        'col_slug'     => 'Package',
        'col_action'   => 'Action',
        'col_version'  => 'Version',
        'col_verified' => 'Signature / Hash',
        'col_result'   => 'Result',
        'col_user'     => 'User',
        'col_ip'       => 'IP Address',
        'show_details' => 'Show details',
        'error'        => 'Error message',
        'backup'       => 'Backup path',
        'key_id'       => 'Key ID',
        'registry'     => 'Registry',
        'system'       => 'System',
    ],

    'system_updates' => [
        'title'                        => 'CMS Updates',
        'status'                       => 'Update Status',
        'current_version'              => 'Current Version',
        'latest_version'               => 'Available Version',
        'available'                    => 'Update Available',
        'up_to_date'                   => 'Up to Date',
        'install'                      => 'Install Update',
        'install_button'               => 'Install Now',
        'install_desc'                 => 'Version :version will be downloaded, signature-verified and applied. An automatic backup is created before the update.',
        'installed_successfully'       => 'Update installed successfully:',
        'install_failed'               => 'Installation failed.',
        'checking'                     => 'Checking availability…',
        'downloading'                  => 'Downloading ZIP…',
        'verifying'                    => 'Verifying signature…',
        'backing_up'                   => 'Creating backup…',
        'applying'                     => 'Applying update…',
        'rollback'                     => 'Rollback (restore pre-update backup)',
        'rollback_succeeded'           => 'Rollback successful. Previous state has been restored.',
        'rollback_failed'              => 'Rollback failed – manual intervention required.',
        'rollback_failed_manual'       => 'Rollback failed – please intervene manually.',
        'no_backup_for_rollback'       => 'No pre-update backup available.',
        'auto_check_label'             => 'Automatic update check',
        'check_now'                    => 'Check Now',
        'last_checked'                 => 'Last checked',
        'last_install'                 => 'Last installation',
        'release_notes'                => 'Release Notes',
        'backup_scope_app_db'          => 'App files + Database',
        'backup_scope_uploads_optional'=> 'Include uploads (optional, increases backup size)',
        'settings'                     => 'Settings',
        'registry_url'                 => 'Registry URL',
        'update_available'             => 'Update available: version :version',
        'incompatible_warning'         => 'This update is not compatible with the current CMS version.',
        'widget_title'                 => 'Updates available',
    ],
];
