{
  "lang": "en",
  "strings": {
    "status": {
      "ready": "Ready",
      "failed": "Failed",
      "pending": "Pending",
      "processing": "Processing...",
      "generating": "Generating",
      "extracting": "Extracting",
      "unknown": "Unknown",
      "not_available": "N/A"
    },
    "modal": {
      "close": "Close",
      "close_aria": "Close modal",
      "cancel": "Cancel",
      "save": "Save",
      "saving": "Saving...",
      "submit": "Submit",
      "ok": "OK",
      "remove": "Remove",
      "delete": "Delete",
      "required": "This field is required.",
      "error": "Something went wrong. Please try again.",
      "confirm_unavailable": "Unable to open confirmation dialog.",
      "dialog_unavailable": "Unable to open dialog.",
      "processing": "Processing..."
    },
    "settings": {
      "title": "Settings",
      "profile": "Profile",
      "preferences": "Preferences",
      "more": "More",
      "language": "Language",
      "language_saved": "Language updated",
      "dark_theme": "Dark theme",
      "manage_account": "Manage account",
      "sign_in": "Sign in",
      "sign_out": "Sign out",
      "create_account": "Create account",
      "signed_out_title": "You are signed out",
      "signed_out_subtitle": "Sign in to sync your study content across devices.",
      "sync": "Sync",
      "sync_idle": "All synced",
      "sync_now": "Sync now",
      "sync_running": "Syncing…",
      "sync_retry": "Retry sync",
      "sync_unavailable": "Sync is not available yet.",
      "sync_status_idle": "Nothing pending right now.",
      "sync_status_pending": "{phone} pending changes · {server} server updates",
      "sync_status_running": "Syncing changes…",
      "sync_status_failed": "Last sync attempt failed.",
      "sync_status_last": "Last synced {time}",
      "terms": "Terms of Use",
      "privacy": "Privacy Policy"
    },
    "offline": {
      "title": "Offline",
      "home_title": "Offline mode",
      "home_subtitle": "You can study downloaded content while you are offline.",
      "study": "Study",
      "study_subtitle": "Flashcards, quizzes, summaries, podcasts",
      "settings": "Settings",
      "no_content": "Nothing downloaded yet. Connect to download content for offline study.",
      "retry_connection": "Retry connection",
      "reconnect_title": "Reconnect to keep studying",
      "reconnect_message": "Your offline access has expired. Connect to verify your subscription.",
      "back": "Back",
      "deck": "Deck",
      "deck_not_found": "Deck not found.",
      "cards_count": "{n} cards",
      "untitled": "Untitled",
      "flip_card": "Flip card",
      "tap_to_flip": "Tap to flip",
      "prev": "Prev",
      "next": "Next"
    },
    "sync": {
      "title": "Sync Review",
      "phone_to_server": "Phone → Server",
      "server_to_phone": "Server → Phone",
      "conflicts": "Conflicts",
      "sync_selected": "Sync Selected",
      "no_changes": "No changes to sync.",
      "summary_done": "Synced {count} items",
      "keep_phone": "Keep phone version",
      "keep_server": "Keep server version",
      "status_done": "Synced {pushed} changes, pulled {pulled} updates",
      "failed": "Sync failed",
      "new_deck": "New deck: {name}",
      "updated_deck": "Updated deck: {name}",
      "deleted_entity": "Deleted {type}: {id}"
    },
    "study_download": {
      "download": "Download",
      "downloading": "Downloading…",
      "downloaded": "Downloaded · {size}",
      "update": "Update",
      "remove": "Remove download",
      "include_audio": "Include podcast audio",
      "progress_step": "{current} of {total}",
      "audio_progress": "Audio {current}/{total}"
    },
    "support": {
      "page_title_with_name": "How can we help, {name}?",
      "page_title_no_name": "How can we help?",
      "page_subtitle": "Pick the category that best matches your issue. The more specific you go, the faster we can help.",
      "pick_hint": "Pick a category below to start your new ticket.",
      "back": "Back",
      "back_to_categories": "Back to categories",
      "support_root": "Support",
      "your_tickets_root": "Your tickets",
      "options_count": "{count} options",
      "open_ticket_pill": "Open ticket",
      "your_tickets_heading": "Your tickets",
      "new_ticket": "New ticket",
      "tab_all": "All",
      "tab_open": "Open",
      "tab_closed": "Closed",
      "empty_heading": "No tickets here yet",
      "empty_all": "You haven't opened any tickets yet. Pick a category above to get started.",
      "empty_filtered": "No {tab} tickets.",
      "ticket_updated": "Updated {time}",
      "open_new_ticket": "Open a new ticket",
      "filing_under": "Filing under",
      "subject_label": "Subject",
      "subject_placeholder": "A short summary of the issue",
      "subject_hint": "Keep it short - like a headline. We'll ask for details below.",
      "description_label": "Description",
      "description_placeholder": "What happened? What did you expect to happen instead? Include any error messages, file names, or steps to reproduce.\n\nMarkdown is supported.",
      "description_hint": "Drag images directly into the box, or click the image button. Browser spellcheck is on.",
      "attachments_label": "Attachments",
      "optional": "(optional)",
      "cancel": "Cancel",
      "submit_ticket": "Submit ticket",
      "privacy_note": "Private to you and our support team. Not visible publicly.",
      "md_write": "Write",
      "md_preview": "Preview",
      "md_nothing_to_preview": "Nothing to preview.",
      "md_foot_help": "Markdown supported. Drag or paste images.",
      "md_foot_send_hint": "{key} + Enter to send",
      "tool_bold": "Bold",
      "tool_italic": "Italic",
      "tool_link": "Link",
      "tool_list": "List",
      "tool_code": "Code",
      "tool_image": "Image",
      "dropzone_text": "Drop files here or click to attach. Up to 25 MB each.",
      "status_progress": "In Progress",
      "status_open": "Open",
      "status_closed": "Closed",
      "you": "You",
      "support_team": "Support team",
      "opened_time": "Opened {time}",
      "last_update_time": "Last update {time}",
      "waiting_hint": "Waiting for the support team to reply. We typically respond within a few hours.",
      "closed_banner": "This ticket is closed. If you need help again, open a new ticket.",
      "reply_label": "Reply",
      "reply_placeholder": "Type your reply…",
      "send_reply": "Send reply",
      "footer_waiting_user": "We're waiting on your reply.",
      "footer_waiting_admin": "We'll get back to you as soon as we can.",
      "time_just_now": "just now",
      "time_minutes_ago": "{n}m ago",
      "time_hours_ago": "{n}h ago",
      "time_days_ago": "{n}d ago",
      "attached_files": "{n} files attached",
      "attached_file": "1 file attached",
      "files_size_mb": "{size} MB",
      "attach_uploading": "Uploading…",
      "attach_failed": "Upload failed",
      "attach_retry": "Retry",
      "attach_too_large": "File too large (max {limit} MB)",
      "attach_type_blocked": "File type not allowed",
      "attach_limit_reached": "Maximum {n} files per ticket",
      "attach_some_failed": "Some attachments failed to upload. You can retry from the ticket page.",
      "attach_remove": "Remove"
    },
    "auth": {
      "register_success": "Registered!",
      "mfa_success": "Verified! Redirecting...",
      "login_success": "Signed in! Redirecting...",
      "register_failed": "Registration failed. Please try again.",
      "mfa_failed": "Verification failed. Please try again.",
      "login_failed": "Invalid email or password. Please try again.",
      "required_missing": "Required fields missing.",
      "generic_error": "An error occurred. Please try again.",
      "passkey_options_failed": "Failed to get passkey options.",
      "signed_in": "Signed in!",
      "passkey_failed": "Passkey failed. Please try again.",
      "passkey_cancelled": "Passkey authentication was cancelled or not available.",
      "show_password": "Show password",
      "hide_password": "Hide password",
      "resend_email": "Resend email",
      "email_sent": "Email sent.",
      "resend_wait": "Please wait before sending again.",
      "resend_failed": "Could not resend.",
      "email_updated": "Email updated.",
      "change_email_failed": "Could not update email.",
      "unexpected_response": "Unexpected response from server. Please try again.",
      "registration_success": "Registration successful!",
      "requesting_approval": "Requesting approval link...",
      "browser_login_unavailable": "Unable to start browser login. Please try again.",
      "waiting_approval": "Waiting for approval...",
      "login_approval_failed": "Login approval failed. Please try again.",
      "link_copied": "Link copied.",
      "login_failed_credentials": "Login failed. Please check your credentials.",
      "passkey_login_failed": "Passkey login failed. Please try again."
    },
    "card_gallery": {
      "processing": "Processing",
      "failed": "Failed"
    },
    "network": {
      "offline": "Offline",
      "offline_retry_aria": "Offline. Tap to retry."
    },
    "share": {
      "dropbox_saved": "Saved to Dropbox",
      "dropbox_save_failed": "Dropbox save failed",
      "dropbox_unsupported": "Dropbox not supported in this browser",
      "dropbox_load_failed": "Dropbox failed to load",
      "onedrive_not_loaded": "OneDrive not loaded",
      "onedrive_saved": "Saved to OneDrive",
      "onedrive_save_failed": "OneDrive save failed",
      "onedrive_load_failed": "OneDrive failed to load",
      "google_signin_not_loaded": "Google Sign-In not loaded",
      "gdrive_saved": "Saved to Google Drive",
      "gdrive_save_failed": "Google Drive save failed",
      "google_signin_load_failed": "Google Sign-In failed to load",
      "save_to_gdrive": "Save to Google Drive",
      "save_to_dropbox": "Save to Dropbox",
      "save_to_onedrive": "Save to OneDrive",
      "save_to_label": "Save to",
      "saves_to_account": "Saves to your account",
      "share_link_expires": "Share link (expires in {minutes} min)",
      "copy_link": "Copy link",
      "link_copied": "Link copied to clipboard",
      "copy_failed": "Could not copy",
      "share_link_title": "Share link",
      "copy_short": "Copy",
      "copied": "Copied",
      "share_via": "Share via…",
      "save_copy_to": "Save a copy to",
      "opening_service": "Opening {service}…",
      "close": "Close"
    },
    "ratings": {
      "already_submitted": "You have already submitted a rating, thank you!",
      "modal_reset": "Rating modal reset, you can submit again."
    },
    "tel_input": {
      "required": "Phone number is required.",
      "invalid_number": "Invalid phone number.",
      "invalid_country": "Invalid country code.",
      "too_short": "Phone number is too short.",
      "too_long": "Phone number is too long."
    },
    "data_table": {
      "showing_empty": "Showing 0 to 0 of 0 entries",
      "showing_range": "Showing {start} to {end} of {total} entries"
    },
    "dropdown": {
      "select_all": "Select All",
      "select_all_limited": "You can select up to {max}",
      "clear_all": "Clear All",
      "placeholder": "Select an option",
      "search_placeholder": "Search...",
      "no_results": "No results found"
    },
    "checkout": {
      "show_order": "Show order",
      "hide_order": "Hide order"
    },
    "blog": {
      "post_image_alt": "Blog post image"
    },
    "bugs": {
      "added_to_board": "Added to todo board",
      "open_task": "Open task",
      "add_example": "+ Add example",
      "add_step": "+ Add step"
    },
    "pdf_preview": {
      "disabled_size": "Preview disabled for files over 10MB",
      "page_of": "Page {current} of {total}",
      "page_single": "Page {n}"
    },
    "dropzone": {
      "browse": "Browse files",
      "uploading": "Uploading...",
      "files_selected": "{count} files selected",
      "max_per_file": "Max {size} per file",
      "max_files": "Up to {count} files"
    },
    "loading": {
      "default_subtext": "This may take a moment"
    },
    "floating_panel": {
      "drag": "Drag to move",
      "maximize": "Maximize",
      "restore": "Restore"
    },
    "collapse": {
      "toggle": "Toggle"
    },
    "tooltip": {
      "example_prefix": "Example: {text}"
    },
    "sidebar": {
      "collapse": "Collapse sidebar",
      "open": "Open sidebar",
      "close": "Close sidebar"
    },
    "general": {
      "back": "Back"
    },
    "userpanel": {
      "confirm_title": "Confirm",
      "confirm_message": "Are you sure?",
      "passwords_mismatch": "Passwords do not match.",
      "password_update_failed": "Failed to update password.",
      "email_placeholder": "you@example.com"
    },
    "media": {
      "current_unix_timestamp": "Current Unix Timestamp",
      "download": "Download",
      "download_failed": "Failed to download file.",
      "explore_more_tools": "Explore more tools",
      "file_downloaded": "File downloaded.",
      "remove": "Remove",
      "see_more": "See more",
      "selected_named": "Selected: {name}",
      "share": "Share",
      "stat_bitrate": "Bitrate",
      "stat_codec": "Codec",
      "stat_compressed_size": "Compressed size",
      "stat_compression_level": "Compression level",
      "stat_converted_size": "Converted size",
      "stat_dimensions": "Dimensions",
      "stat_final_size": "Final size",
      "stat_format": "Format",
      "stat_original_name": "Original name",
      "stat_original_size": "Original size",
      "stat_pages": "Pages",
      "stat_quality": "Quality",
      "stat_reduction": "Reduction",
      "stat_resolution": "Resolution",
      "stat_saved": "Saved"
    },
    "image": {
      "add_files_before_processing": "Add files before processing",
      "batch_file_limit": "Only ${limit} file${limit === 1 ? '' : 's'} per batch are allowed",
      "bitrate": "Bitrate",
      "close": "Close",
      "codec": "Codec",
      "col_details": "Details",
      "col_download": "Download",
      "col_preview": "Preview",
      "compare_original_compressed": "Compare original and compressed",
      "compressed": "Compressed",
      "compressed_reduced_by": "Image compressed. Size reduced by ${percent.toFixed(1)}%.",
      "compressed_size": "Compressed size",
      "compressing": "Compressing...",
      "download": "Download",
      "download_compressed_file": "Download compressed file",
      "expand_comparison": "Expand comparison",
      "expand_view": "Expand view",
      "failed_download_file": "Failed to download file. Please try again.",
      "failed_fetch_processed": "Failed to fetch processed file. Please try again.",
      "image_comparison": "Image comparison",
      "image_processed": "Image processed.",
      "label_optimized": "Optimized",
      "label_original": "Original",
      "label_percent_saved": "{value}% saved",
      "label_saved": "Saved",
      "more_image_tools": "More image tools",
      "no_preview": "No preview",
      "only_formats_supported": "Only ${formatNames} files are supported. Please select a ${formatNames} file.",
      "original": "Original",
      "original_size": "Original size",
      "preset_applied": "Preset applied",
      "preview": "Preview",
      "preview_empty": "Add files to see live previews.",
      "process_before_download_all": "Process files before downloading everything",
      "processed_file": "Processed ${data.filename}",
      "processing_ellipsis": "Processing...",
      "processing_failed": "Processing failed",
      "processing_failed_period": "Processing failed.",
      "queue_empty": "Add files to see progress, status, and estimated savings.",
      "results_empty": "Processed files will appear here with previews, metadata, and quick download buttons.",
      "size_reduction": "Size reduction",
      "status_completed": "Completed",
      "status_error": "Error",
      "status_processing": "Processing",
      "status_queued": "Queued",
      "this_may_take_a_moment": "This may take a moment",
      "tool_image_compressor": "Image Compressor",
      "tool_image_converter": "Image Converter",
      "tool_image_cropper": "Image Cropper",
      "tool_image_editor": "Image Editor",
      "tool_image_enhancer": "Image Enhancer",
      "tool_image_resizer": "Image Resizer",
      "tool_image_to_pdf": "Image to PDF",
      "tool_rotate_flip": "Rotate & Flip",
      "tool_svg_optimizer": "SVG Optimizer",
      "tool_watermark_studio": "Watermark Studio",
      "unsupported_file_type": "Unsupported file type. Please use PDF, Image, Video, or ZIP files.",
      "video_queue_limit": "Only ${limit} video file${limit === 1 ? '' : 's'} can be queued at a time",
      "video_still_processing": "Video is still processing. Please wait.",
      "zip_packaging_unavailable": "ZIP packaging unavailable",
      "zip_support_unavailable": "ZIP support unavailable in this browser session"
    },
    "audio": {
      "cancel": "Cancel",
      "cancelling": "Cancelling...",
      "conversion_failed": "Conversion failed.",
      "converted_successfully": "Converted successfully.",
      "daily_limit_reached": "Audio today: {current} / {limit} - limit reached. Try again tomorrow.",
      "daily_limit_reached_short": "Daily limit reached. Please try again tomorrow.",
      "daily_limit_remaining": "Audio today: {current} / {limit} ({remaining} remaining)",
      "download_file": "Download {filename}",
      "output_format": "Output: {format}",
      "output_size": "Size: {size}",
      "processing_cancelled": "Processing cancelled",
      "status_completed": "Completed",
      "status_compressing": "Compressing audio...",
      "status_error": "Error",
      "status_uploading": "Uploading audio...",
      "time_remaining": "Time remaining: {time}",
      "time_remaining_dash": "Time remaining: -",
      "time_remaining_unknown": "Time remaining: --:--",
      "unsupported_file_type": "This file type is not supported. Please choose an audio file."
    },
    "video": {
      "cancel": "Cancel",
      "cancelling": "Cancelling...",
      "compressed_successfully": "Video compressed successfully",
      "daily_limit_reached": "Daily limit reached: {current}/{limit} videos. Try again tomorrow.",
      "daily_limit_reached_detailed": "Daily limit reached: {current}/{limit} videos processed today. Please try again tomorrow.",
      "detecting": "Detecting...",
      "download": "Download",
      "download_unavailable_removing": "Download is no longer available. Removing from recent list.",
      "file_exceeds_limit": "File exceeds 1GB limit and was skipped",
      "header_actions": "Actions",
      "header_details": "Details",
      "header_preview": "Preview",
      "metric_bitrate": "Bitrate",
      "metric_codec": "Codec",
      "metric_format": "Format",
      "metric_resolution": "Resolution",
      "metric_size": "Size",
      "network_error": "Network error",
      "no_longer_available": "Video is no longer available on the server",
      "no_preview": "No preview",
      "only_formats_supported": "Only {formats} files are supported. Please select a {formats} file.",
      "percent_saved": "{percent}% saved",
      "process_before_download_all": "Process files before downloading everything",
      "processing": "Processing...",
      "processing_cancelled": "Processing cancelled",
      "processing_failed": "Processing failed.",
      "queue_placeholder": "Add files to see progress, status, and estimated savings.",
      "remove": "Remove",
      "server_error": "Server error",
      "status_completed": "Completed",
      "status_compressing": "Compressing video...",
      "status_error": "Error",
      "status_queued": "Queued",
      "status_uploading": "Uploading video...",
      "this_may_take_a_moment": "This may take a moment",
      "time_left": "{time} left",
      "time_remaining": "Time remaining: {time}",
      "time_remaining_unknown": "Time remaining: --:--",
      "unsupported_file_type": "Unsupported file type. Please use PDF, Image, Video, or ZIP files.",
      "upload_failed": "Upload failed: {reason}",
      "upload_progress": "Upload progress: {percent}%",
      "uploading_your_file": "Uploading your file...",
      "videos_today_limit_reached": "Videos today: {current} / {limit} - limit reached. Try again tomorrow.",
      "videos_today_remaining": "Videos today: {current} / {limit} ({remaining} remaining)",
      "zip_unavailable": "ZIP packaging unavailable"
    },
    "video_convert": {
      "cancel": "Cancel",
      "cancelling": "Cancelling...",
      "codec_label": "Codec:",
      "converted_successfully": "Converted successfully.",
      "daily_limit_reached": "Videos today: {current} / {limit} - limit reached. Try again tomorrow.",
      "daily_limit_remaining": "Videos today: {current} / {limit} ({remaining} remaining)",
      "download_file": "Download {filename}",
      "error_conversion_failed": "Conversion failed.",
      "error_daily_limit": "Daily limit reached. Please try again tomorrow.",
      "error_unsupported_type": "This file type is not supported. Please choose a video file.",
      "output_format_label": "Output:",
      "processing_cancelled": "Processing cancelled",
      "size_label": "Size:",
      "status_completed": "Completed",
      "status_converting": "Converting video...",
      "status_error": "Error",
      "status_uploading": "Uploading video...",
      "time_remaining": "Time remaining: {time}",
      "time_remaining_done": "Time remaining: 00:00",
      "time_remaining_placeholder": "Time remaining: --:--",
      "time_remaining_unavailable": "Time remaining: -",
      "upload_progress": "Upload progress: {percent}%"
    },
    "pdf": {
      "alt_named_preview": "{name} preview",
      "alt_pdf_preview": "PDF preview",
      "aria_view_page_full_size": "View page {page} in full size",
      "button_download": "Download",
      "col_details": "Details",
      "col_download": "Download",
      "col_preview": "Preview",
      "error_compress_failed": "Failed to compress PDF. Please try again.",
      "error_file_exceeds_limit": "File exceeds {maxSize}MB limit.",
      "error_pick_pdf_first": "Please pick a PDF first.",
      "error_select_pdf_file": "Please select a PDF file.",
      "error_unsupported_file_type": "Unsupported file type. Please use PDF, Image, Video, or ZIP files.",
      "label_file": "File:",
      "label_size": "Size:",
      "loading_compressing": "Compressing PDF...",
      "loading_may_take_moment": "This may take a moment",
      "meta_file": "File",
      "meta_size": "Size",
      "meta_type": "Type",
      "notify_already_optimized": "This PDF is already optimized. No compression needed.",
      "notify_compressed_with_savings": "PDF compressed! Size reduced by {percent}%",
      "notify_preview_fallback": "Preview fallback shown. You can still compress it.",
      "notify_processed_already_optimized": "Processed with Ghostscript, but the file was already optimized.",
      "page_label": "Page {page}",
      "placeholder_drop_to_start": "Drop a PDF to start.",
      "preset_aggressive": "Aggressive",
      "preset_balanced": "Balanced",
      "preset_high_quality": "High quality",
      "preview_drop_to_load": "Drop a PDF to load previews.",
      "preview_library_unavailable": "PDF preview library not available.",
      "preview_loading": "Preview loading...",
      "preview_loading_pages": "Loading page previews...",
      "preview_render_failed": "Could not render page previews.",
      "preview_showing_first_pages": "Showing first {shown} pages of {total}.",
      "preview_unavailable_embedded": "Preview unavailable; using embedded viewer.",
      "promo_compress_pdf": "Compress PDF",
      "promo_edit_pdf": "Edit PDF",
      "promo_explore_more_tools": "Explore more PDF tools",
      "promo_merge_pdf": "Merge PDF",
      "promo_organize_pdf_pages": "Organize PDF pages",
      "promo_protect_pdf": "Protect PDF",
      "promo_split_pdf": "Split PDF",
      "recents_empty_state": "Compressed PDFs will appear here for quick re-download.",
      "result_compressed_with_savings": "PDF compressed. Size reduced by {percent}%.",
      "result_processed": "PDF processed.",
      "results_empty_state": "Run a compression to see size savings, page count, and download your optimized PDF.",
      "stat_compressed_size": "Compressed size",
      "stat_image_quality": "Image quality",
      "stat_max_dpi": "Max DPI",
      "stat_original_size": "Original size",
      "stat_pages": "Pages",
      "stat_preset": "Preset",
      "stat_size_reduction": "Size reduction",
      "status_compression_completed": "Compression completed.",
      "status_compression_failed": "Compression failed.",
      "status_ready_to_compress": "Ready to compress.",
      "status_running_compression": "Running compression...",
      "status_waiting_for_pdf": "Waiting for a PDF to compress."
    }
  }
}