PHP Classes

File: config/i18n/en/errors.php

Recommend this page to a friend!
  Packages of Matthew Asham   Binkterm PHP   config/i18n/en/errors.php   Download  
File: config/i18n/en/errors.php
Role: Auxiliary script
Content type: text/plain
Description: Configuration script
Class: Binkterm PHP
Bulletin board system based on the Web
Author: By
Last change:
Date: 5 days ago
Size: 50,389 bytes
 

Contents

Class file image Download
<?php return [ // Generic 'errors.generic' => 'An unexpected error occurred', // Auth 'errors.auth.authentication_required' => 'Authentication required', 'errors.auth.invalid_csrf_token' => 'Invalid CSRF token', 'errors.auth.missing_credentials' => 'Username and password required', 'errors.auth.invalid_credentials' => 'Invalid credentials', 'errors.auth.invalid_api_key' => 'Invalid API key', 'errors.auth.gateway_token_missing_fields' => 'userid and token are required', 'errors.auth.invalid_or_expired_gateway_token' => 'Invalid or expired token', 'errors.auth.username_or_email_required' => 'Username or email is required', 'errors.auth.token_required' => 'Token is required', 'errors.auth.invalid_or_expired_token' => 'Invalid or expired token', 'errors.auth.token_and_password_required' => 'Token and new password are required', 'errors.auth.weak_password' => 'Password must be at least 8 characters long', 'errors.auth.reset_failed' => 'Failed to reset password', 'errors.auth.forbidden' => 'Forbidden', // Registration 'errors.register.invalid_submission' => 'Invalid submission', 'errors.register.too_fast' => 'Please take your time filling out the form.', 'errors.register.session_expired' => 'Session expired. Please refresh the page and try again.', 'errors.register.rate_limited' => 'Too many registration attempts. Please try again later.', 'errors.register.required_fields' => 'Username, password, and real name are required', 'errors.register.invalid_username_format' => 'Username must be 3-20 characters, letters, numbers, and underscores only', 'errors.register.invalid_username_format_spaces' => 'Username must be 3-20 characters, letters, numbers, underscores, and single spaces between words only', 'errors.register.restricted_name' => 'This username or real name is not allowed', 'errors.register.weak_password' => 'Password must be at least 8 characters long', 'errors.register.user_exists' => 'A user with this username or name already exists. Please try logging in or contact the sysop for assistance.', 'errors.register.email_required' => 'Email address is required', 'errors.register.reason_required' => 'Reason for joining is required', 'errors.register.failed' => 'Registration failed. Please try again later.', // Reminder 'errors.reminder.username_required' => 'Username is required', 'errors.reminder.user_not_found_or_logged_in' => 'User not found or already logged in', 'errors.reminder.send_failed' => 'Failed to send reminder. Please try again later.', // Settings 'errors.settings.invalid_input' => 'Invalid input', 'errors.settings.update_failed' => 'Failed to update settings', 'errors.settings.exception' => 'Failed to update settings', 'errors.dashboard.invalid_layout' => 'Invalid layout data.', // Messages 'errors.messages.share_create_failed' => 'Failed to create share link', 'errors.messages.share_lookup_failed' => 'Failed to load share links', 'errors.messages.share_revoke_failed' => 'Failed to revoke share link', 'errors.messages.not_found' => 'Message not found', 'errors.admin.ai_settings.save_failed' => 'Failed to save AI settings', 'errors.admin.ai_settings.share_summary_disabled' => 'AI share summaries are not enabled', 'errors.admin.ai_settings.share_summary_failed' => 'Failed to generate summary', 'errors.messages.netmail.not_found' => 'Message not found', 'errors.messages.netmail.delete_failed' => 'Failed to delete message', 'errors.messages.netmail.bulk_delete.invalid_input' => 'A non-empty message ID list is required', 'errors.messages.netmail.bulk_read.invalid_input' => 'A non-empty message ID list is required', 'errors.messages.netmail.bulk_read.failed' => 'Failed to mark messages as read', 'errors.messages.echomail.bulk_read.invalid_input' => 'A non-empty message ID list is required', 'errors.messages.echomail.bulk_read.failed' => 'Failed to mark messages as read', 'errors.messages.echomail.bulk_delete.admin_required' => 'Admin privileges are required', 'errors.messages.echomail.bulk_delete.invalid_input' => 'A non-empty message ID list is required', 'errors.messages.echomail.bulk_delete.user_not_found' => 'User not found', 'errors.messages.echomail.stats.subscription_required' => 'Subscription required for this echo area', 'errors.messages.echomail.not_found' => 'Message not found', 'errors.messages.echomail.edit.admin_required' => 'Admin privileges are required', 'errors.messages.echomail.edit.invalid_art_format' => 'Invalid art format value', 'errors.messages.body_too_large' => 'Message body exceeds the 16 KB FidoNet limit', 'errors.messages.echomail.edit.nothing_to_update' => 'No fields to update', 'errors.messages.echomail.edit.save_failed' => 'Failed to save changes', 'errors.messages.echomail.ignore.invalid_input' => 'Sender name is required', 'errors.messages.echomail.ignore.invalid_rule' => 'Ignore rule not found', 'errors.messages.echomail.ignore.save_failed' => 'Failed to save ignore rule', 'errors.messages.echomail.ignore.message_not_available' => 'Unable to load the selected message', 'errors.messages.echomail.save_ad.admin_required' => 'Admin privileges are required', 'errors.messages.echomail.save_ad.not_ansi' => 'Only ANSI echomail messages can be saved to the ad library', 'errors.messages.echomail.save_ad.failed' => 'Failed to save message to the ad library', 'errors.messages.netmail.edit.forbidden' => 'You do not have permission to edit this message', 'errors.messages.netmail.attachment.no_file' => 'No attachment uploaded', 'errors.messages.netmail.attachment.upload_error' => 'Attachment upload failed', 'errors.messages.netmail.attachment.too_large' => 'Attachment exceeds maximum allowed size', 'errors.messages.netmail.attachment.store_failed' => 'Failed to store uploaded attachment', 'errors.messages.send.invalid_type' => 'Invalid message type', 'errors.messages.send.failed' => 'Failed to send message', 'errors.messages.send.exception' => 'Failed to send message', // Notify 'errors.notify.user_id_missing' => 'Unable to resolve user session', 'errors.notify.invalid_state' => 'Invalid notification state payload', 'errors.notify.invalid_target' => 'Invalid notification target', 'errors.realtime.invalid_payload' => 'Invalid realtime command payload', 'errors.realtime.unknown_command' => 'Unknown realtime command', // Polls 'errors.polls.option_required' => 'A poll option is required', 'errors.polls.not_found' => 'Poll not found', 'errors.polls.invalid_option' => 'Invalid poll option', 'errors.polls.vote_failed' => 'Failed to record vote', 'errors.polls.insufficient_credits' => 'Failed to deduct credits. You may have insufficient balance.', 'errors.polls.question_required' => 'Poll question is required', 'errors.polls.question_length_invalid' => 'Poll question must be between 10 and 500 characters', 'errors.polls.options_count_invalid' => 'Poll must include between 2 and 10 options', 'errors.polls.option_empty' => 'Poll options cannot be empty', 'errors.polls.option_length_invalid' => 'Poll options must be 200 characters or fewer', 'errors.polls.options_duplicate' => 'Poll options must be unique', 'errors.polls.create_failed' => 'Failed to create poll', // Shoutbox 'errors.shoutbox.message_required' => 'Message is required', 'errors.shoutbox.message_too_long' => 'Message cannot exceed 280 characters', // Chat 'errors.chat.feature_disabled' => 'Chat is disabled', 'errors.chat.invalid_message_query' => 'Invalid chat message query', 'errors.chat.invalid_send_target' => 'Invalid chat target', 'errors.chat.message_length_invalid' => 'Message must be between 1 and 1000 characters', 'errors.chat.room_not_found' => 'Chat room not found', 'errors.chat.user_banned' => 'You are banned from this room', 'errors.chat.recipient_not_found' => 'Recipient not found', 'errors.chat.send_blocked' => 'Message could not be sent', 'errors.chat.admin_required' => 'Admin privileges are required', 'errors.chat.invalid_moderation_request' => 'Invalid moderation request', 'errors.chat.user_not_found' => 'User not found', // Echo Areas 'errors.echoareas.admin_required' => 'Admin privileges are required', 'errors.echoareas.not_found' => 'Echo area not found', 'errors.echoareas.invalid_posting_name_policy' => 'Invalid posting name policy', 'errors.echoareas.invalid_art_format_hint' => 'Invalid art format hint', 'errors.echoareas.tag_description_required' => 'Tag and description are required', 'errors.echoareas.invalid_tag_format' => 'Invalid tag format', 'errors.echoareas.invalid_color_format' => 'Invalid color format', 'errors.echoareas.unknown_domain' => 'Select a configured network domain', 'errors.echoareas.tag_already_exists' => 'An echo area with that tag already exists', 'errors.echoareas.create_failed' => 'Failed to create echo area', 'errors.echoareas.not_found_or_unchanged' => 'Echo area not found or no changes made', 'errors.echoareas.update_failed' => 'Failed to update echo area', 'errors.echoareas.delete_blocked_has_messages' => 'Cannot delete echo area with existing messages', 'errors.echoareas.delete_failed' => 'Failed to delete echo area', // File Areas 'errors.fileareas.not_found' => 'File area not found', 'errors.fileareas.create_failed' => 'Failed to create file area', 'errors.fileareas.update_failed' => 'Failed to update file area', 'errors.fileareas.delete_failed' => 'Failed to delete file area', // Files 'errors.files.feature_disabled' => 'File areas feature is disabled', 'errors.files.area_id_required' => 'File area ID is required', 'errors.files.access_denied' => 'Access denied to this file area', 'errors.files.not_found' => 'File not found', 'errors.files.share_not_found_or_forbidden' => 'Share link not found or not permitted', 'errors.files.delete_failed' => 'Failed to delete file', 'errors.files.rehatch_local' => 'Cannot rehatch a file in a local-only area', 'errors.files.rehatch_private' => 'Cannot rehatch a file in a private area', 'errors.files.rehatch_failed' => 'Rehatch failed', 'errors.files.scan_forbidden' => 'Admin access required to scan files', 'errors.files.scan_disabled' => 'Virus scanning is disabled', 'errors.files.scan_failed' => 'Virus scan failed', 'errors.files.invalid_scan_status' => 'Invalid scan status value', 'errors.files.rename_filename_required' => 'New filename is required', 'errors.files.rename_forbidden' => 'You do not have permission to rename this file', 'errors.files.rename_conflict' => 'A file with that name already exists in this area', 'errors.files.rename_failed' => 'Failed to rename file', 'errors.files.short_description_required' => 'Short description is required', 'errors.files.edit_forbidden' => 'You do not have permission to edit this file', 'errors.files.edit_failed' => 'Failed to update file', 'errors.files.move_forbidden' => 'Only administrators can move files between areas', 'errors.files.move_conflict' => 'A file with that name already exists in the target area', 'errors.files.move_failed' => 'Failed to move file', 'errors.files.upload.no_file' => 'No file uploaded', 'errors.files.upload.area_id_required' => 'File area ID is required', 'errors.files.upload.short_description_required' => 'Short description is required', 'errors.files.upload.area_not_found' => 'File area not found', 'errors.files.upload.read_only' => 'This file area is read-only', 'errors.files.upload.admin_only' => 'Only administrators can upload files to this area', 'errors.files.upload.virus_detected' => 'File rejected: virus detected', 'errors.files.upload.insufficient_credits' => 'Insufficient credits to upload this file', 'errors.files.upload.failed' => 'Failed to upload file', 'errors.files.link.invalid_url' => 'A valid URL is required', 'errors.files.link.file_name_required' => 'File name is required', 'errors.files.link.add_failed' => 'Failed to add link', 'errors.admin.file_approvals.load_failed' => 'Failed to load pending file approvals', 'errors.admin.file_approvals.not_found' => 'Pending file not found', 'errors.admin.file_approvals.not_pending' => 'File is not awaiting approval', 'errors.admin.file_approvals.approve_failed' => 'Failed to approve file upload', 'errors.admin.file_approvals.reject_failed' => 'Failed to reject file upload', 'errors.files.download.insufficient_credits' => 'Insufficient credits to download this file', 'errors.files.comments_not_enabled' => 'Comments are not enabled for this file area', 'errors.files.comments_forbidden' => 'You do not have permission to comment here', 'errors.files.comment_body_required' => 'Comment body is required', 'errors.files.comment_post_failed' => 'Failed to post comment', 'errors.files.invalid_reply_target' => 'Invalid reply target', 'errors.fileareas.comment_area_failed' => 'Failed to create or link comment area', // Admin Users 'errors.admin.users.not_found' => 'User not found', 'errors.admin.users.create_failed' => 'Failed to create user', 'errors.admin.users.update_failed' => 'Failed to update user', 'errors.admin.users.delete_failed' => 'Failed to delete user', // Admin Polls 'errors.admin.polls.question_required' => 'Question is required', 'errors.admin.polls.options_required' => 'At least two options are required', 'errors.admin.polls.not_found' => 'Poll not found', 'errors.admin.polls.create_failed' => 'Failed to create poll', 'errors.admin.polls.update_failed' => 'Failed to update poll', 'errors.admin.polls.delete_failed' => 'Failed to delete poll', // Message Drafts 'errors.messages.drafts.invalid_input' => 'Invalid draft payload', 'errors.messages.drafts.user_id_missing' => 'Unable to resolve user session', 'errors.messages.drafts.save_failed' => 'Failed to save draft', 'errors.messages.drafts.list_failed' => 'Failed to load drafts', 'errors.messages.drafts.not_found' => 'Draft not found', 'errors.messages.drafts.get_failed' => 'Failed to load draft', 'errors.messages.drafts.delete_failed' => 'Failed to delete draft', 'errors.messages.templates.not_licensed' => 'Message templates require a registered license', 'errors.messages.templates.not_found' => 'Template not found', 'errors.messages.templates.name_required' => 'Template name is required', 'errors.messages.templates.name_too_long' => 'Template name must be 100 characters or less', 'errors.economy.not_licensed' => 'Economy viewer requires a registered license', 'errors.referrals.not_licensed' => 'Referral analytics require a registered license', 'errors.messages.netmail.get_failed' => 'Failed to load message', 'errors.messages.echomail.get_failed' => 'Failed to load message', // Message Search / Read State 'errors.messages.search.query_too_short' => 'Search query must be at least 2 characters', 'errors.messages.read.user_id_missing' => 'Unable to resolve user session', 'errors.messages.read.invalid_type' => 'Invalid message type', 'errors.messages.read.mark_failed' => 'Failed to mark message as read', 'errors.messages.save.user_id_missing' => 'Unable to resolve user session', 'errors.messages.save.invalid_type' => 'Invalid message type', 'errors.messages.save.failed' => 'Failed to save message', 'errors.messages.unsave.user_id_missing' => 'Unable to resolve user session', 'errors.messages.unsave.invalid_type' => 'Invalid message type', 'errors.messages.unsave.failed' => 'Failed to unsave message', 'errors.messages.unsave.not_saved' => 'Message was not saved or already removed', // User Profile / Stats / Transactions 'errors.user.profile.current_password_incorrect' => 'Current password is incorrect', 'errors.user.profile.new_password_too_short' => 'New password must be at least 6 characters long', 'errors.user.profile.update_failed' => 'Failed to update profile', 'errors.user.stats.admin_required' => 'Admin privileges are required', 'errors.user.stats.user_not_found' => 'User not found', 'errors.user.transactions.admin_required' => 'Admin privileges are required', 'errors.user.transactions.user_not_found' => 'User not found', 'errors.user.transactions.list_failed' => 'Failed to load transactions', 'errors.user.activity.admin_required' => 'Admin privileges are required', 'errors.user.activity.user_not_found' => 'User not found', 'errors.user.activity.list_failed' => 'Failed to load activity log', // Credits 'errors.credits.feature_disabled' => 'Credits feature is disabled', 'errors.credits.send.invalid_amount' => 'Amount must be between 1 and 200', 'errors.credits.send.self_transfer_forbidden' => 'You cannot send credits to yourself', 'errors.credits.send.recipient_not_found' => 'Recipient not found', 'errors.credits.send.insufficient_balance' => 'Insufficient balance', 'errors.credits.send.debit_failed' => 'Failed to debit sender account', 'errors.credits.send.credit_failed' => 'Failed to credit recipient account', 'errors.credits.send.failed' => 'Credit transfer failed', // User Sessions / Activity 'errors.user.sessions.revoke_failed' => 'Failed to revoke session', 'errors.user.sessions.revoke_all_failed' => 'Failed to revoke sessions', 'errors.user.activity.session_missing' => 'Active session is required', // BinkP 'errors.binkp.admin_required' => 'Admin access required', 'errors.binkp.status_failed' => 'Failed to load BinkP status', 'errors.binkp.poll_failed' => 'Failed to poll BinkP uplink', 'errors.binkp.poll_all_failed' => 'Failed to poll all BinkP uplinks', 'errors.binkp.process_packets_failed' => 'Failed to process packets', 'errors.binkp.uplinks_list_failed' => 'Failed to load BinkP uplinks', 'errors.binkp.files_inbound_failed' => 'Failed to load inbound BinkP files', 'errors.binkp.files_outbound_failed' => 'Failed to load outbound BinkP files', 'errors.binkp.process_outbound_failed' => 'Failed to process outbound queue', 'errors.binkp.connection_test_failed' => 'Failed to test BinkP connection', 'errors.binkp.logs.failed' => 'Failed to load BinkP logs', 'errors.binkp.logs.search_failed' => 'Log search failed', 'errors.binkp.logs.search_query_too_short' => 'Search query must be at least 2 characters', 'errors.binkp.kept_packets.failed' => 'Failed to load kept packets', 'errors.binkp.kept_packets.invalid_type' => 'type must be inbound or outbound', 'errors.binkp.kept_packets.license_required' => 'Viewing packet files requires registration', 'errors.binkp.kept_packets.inspect_failed' => 'Failed to inspect packet', 'errors.binkp.queue.inspect_failed' => 'Failed to inspect queue packet', 'errors.binkp.uplink.address_hostname_required' => 'Address and hostname are required', 'errors.binkp.uplink.address_required' => 'Uplink address is required', 'errors.messages.forward_email.email_required' => 'An email address is required', 'errors.messages.forward_email.invalid_type' => 'Invalid message type', 'errors.messages.forward_email.mail_disabled' => 'Email sending is not configured', 'errors.messages.forward_email.failed' => 'Failed to forward message by email', 'errors.binkp.uplink.poll_failed' => 'Failed to poll BinkP uplink', 'errors.binkp.uplink.poll_all_failed' => 'Failed to poll all BinkP uplinks', 'errors.binkp.uplink.add_failed' => 'Failed to add BinkP uplink', 'errors.binkp.uplink.update_failed' => 'Failed to update BinkP uplink', 'errors.binkp.uplink.remove_failed' => 'Failed to remove BinkP uplink', 'errors.binkp.files.inbound_failed' => 'Failed to load inbound BinkP files', 'errors.binkp.files.outbound_failed' => 'Failed to load outbound BinkP files', 'errors.binkp.files.process_inbound_failed' => 'Failed to process inbound BinkP queue', 'errors.binkp.files.process_outbound_failed' => 'Failed to process outbound BinkP queue', 'errors.binkp.files.delete_outbound_failed' => 'Failed to delete outbound BinkP file', 'errors.binkp.files.retry_error_failed' => 'Failed to retry inbound error file', 'errors.binkp.config.invalid_section' => 'Invalid BinkP configuration section', 'errors.binkp.config.update_failed' => 'Failed to update BinkP configuration', // Admin Pending Users 'errors.admin.pending_users.admin_required' => 'Admin privileges are required', 'errors.admin.pending_users.list_failed' => 'Failed to load pending users', 'errors.admin.pending_users.not_found' => 'Pending user not found', 'errors.admin.pending_users.get_failed' => 'Failed to load pending user', 'errors.admin.pending_users.approve_failed' => 'Failed to approve pending user', 'errors.admin.pending_users.reject_failed' => 'Failed to reject pending user', // Admin Users (extended) 'errors.admin.users.admin_required' => 'Admin privileges are required', 'errors.admin.users.list_failed' => 'Failed to load users', 'errors.admin.users.get_failed' => 'Failed to load user', 'errors.admin.users.real_name_required' => 'Real name is required', 'errors.admin.users.password_too_short' => 'Password must be at least 8 characters long', 'errors.admin.users.update_status_failed' => 'Failed to update user status', 'errors.admin.users.create_required_fields' => 'Username, real name, and password are required', 'errors.admin.users.invalid_username_format' => 'Invalid username format', 'errors.admin.users.restricted_name' => 'This username or real name is not allowed', 'errors.admin.users.username_exists' => 'Username already exists', 'errors.admin.users.cleanup_failed' => 'Failed to clean up registrations', 'errors.admin.users.reminder_not_allowed' => 'User is not eligible for reminder', 'errors.admin.users.reminder_send_failed' => 'Failed to send reminder', 'errors.admin.users.need_reminders_failed' => 'Failed to load reminder candidates', 'errors.admin.users.credits_disabled' => 'The credits system is disabled', 'errors.admin.users.invalid_credit_amount' => 'Credit amount must be a positive integer', 'errors.admin.users.credit_note_required' => 'A note is required for manual credit grants', 'errors.admin.users.credit_grant_failed' => 'Failed to grant credits', // Admin Debug 'errors.admin.debug_failed' => 'Failed to load admin debug information', // Admin BBS / Appearance / Shell 'errors.admin.bbs_settings.load_failed' => 'Failed to load BBS settings', 'errors.admin.bbs_settings.invalid_payload' => 'Invalid configuration payload', 'errors.admin.bbs_settings.invalid_credits_config' => 'Invalid credits configuration', 'errors.admin.bbs_settings.save_failed' => 'Failed to save BBS settings', 'errors.admin.appearance.load_failed' => 'Failed to load appearance settings', 'errors.admin.appearance.branding.invalid_accent_color' => 'Invalid accent color format', 'errors.admin.appearance.branding.footer_too_long' => 'Footer text must be 500 characters or less', 'errors.admin.appearance.branding.save_failed' => 'Failed to save branding settings', 'errors.admin.appearance.content.save_failed' => 'Failed to save content settings', 'errors.admin.appearance.navigation.save_failed' => 'Failed to save navigation settings', 'errors.admin.appearance.seo.save_failed' => 'Failed to save SEO settings', 'errors.admin.appearance.shell.save_failed' => 'Failed to save shell settings', 'errors.admin.appearance.login.save_failed' => 'Failed to save login appearance settings', 'errors.admin.appearance.login.ansi_too_large' => 'Login ANSI content must be 200,000 characters or less', 'errors.admin.appearance.term_server.list_failed' => 'Failed to load terminal screens', 'errors.admin.appearance.term_server.load_failed' => 'Failed to load terminal screen', 'errors.admin.appearance.term_server.save_failed' => 'Failed to save terminal screen', 'errors.admin.appearance.term_server.upload.no_file' => 'No terminal screen file uploaded', 'errors.admin.appearance.term_server.upload.failed' => 'Failed to upload terminal screen', 'errors.admin.appearance.term_server.upload.file_too_large' => 'Terminal screen file exceeds size limit', 'errors.admin.appearance.term_server.delete.failed' => 'Failed to delete terminal screen', 'errors.admin.appearance.sixel.list_failed' => 'Failed to load sixel screens', 'errors.admin.appearance.sixel.upload.no_file' => 'No sixel file uploaded', 'errors.admin.appearance.sixel.upload.failed' => 'Failed to upload sixel screen', 'errors.admin.appearance.sixel.upload.file_too_large' => 'Sixel file exceeds size limit (5MB)', 'errors.admin.appearance.sixel.delete.failed' => 'Failed to delete sixel screen', 'errors.admin.appearance.term_border.invalid_style' => 'Invalid border style', 'errors.admin.appearance.term_border.save_failed' => 'Failed to save border style', 'errors.admin.appearance.term_menu_keys.invalid_key' => 'Menu keys must be a single letter or digit', 'errors.admin.appearance.term_menu_keys.duplicate_key' => 'Each menu key must be unique', 'errors.admin.appearance.term_menu_keys.quit_required' => 'A key must be assigned to Quit', 'errors.admin.appearance.term_menu_keys.save_failed' => 'Failed to save menu key settings', 'errors.admin.appearance.message_reader.save_failed' => 'Failed to save message reader settings', 'errors.admin.appearance.dashboard.save_failed' => 'Failed to save dashboard layout', 'errors.admin.appearance.markdown_preview.failed' => 'Failed to render markdown preview', 'errors.admin.appearance.splash.license_required' => 'A valid license is required to configure splash pages', 'errors.admin.appearance.splash.save_failed' => 'Failed to save splash settings', 'errors.admin.appearance.file_areas.save_failed' => 'Failed to save file areas settings', 'errors.admin.dashboard.ram_usage_unavailable' => 'RAM usage details are not available on this system.', 'errors.admin.shell_art.list_failed' => 'Failed to list shell art files', 'errors.admin.shell_art.upload.no_file' => 'No shell art file uploaded', 'errors.admin.shell_art.upload.upload_error' => 'Shell art upload failed', 'errors.admin.shell_art.upload.file_too_large' => 'Shell art file exceeds size limit', 'errors.admin.shell_art.upload.failed' => 'Failed to upload shell art', 'errors.admin.shell_art.delete.invalid_name' => 'Invalid shell art filename', 'errors.admin.shell_art.delete.failed' => 'Failed to delete shell art', 'errors.admin.taglines.load_failed' => 'Failed to load taglines', 'errors.admin.taglines.save_failed' => 'Failed to save taglines', 'errors.admin.mrc_settings.load_failed' => 'Failed to load MRC settings', 'errors.admin.mrc_settings.save_failed' => 'Failed to save MRC settings', 'errors.admin.mrc_settings.restart_failed' => 'Failed to restart MRC daemon', 'errors.admin.bbs_system.load_failed' => 'Failed to load system settings', 'errors.admin.bbs_system.save_failed' => 'Failed to save system settings', 'errors.admin.binkp_config.load_failed' => 'Failed to load BinkP configuration', 'errors.admin.binkp_config.save_failed' => 'Failed to save BinkP configuration', 'errors.admin.binkp_config.reload_failed' => 'Failed to reload BinkP configuration', 'errors.admin.dosdoors_config.load_failed' => 'Failed to load DOS doors configuration', 'errors.admin.dosdoors_config.save_failed' => 'Failed to save DOS doors configuration', 'errors.admin.native_doors.load_failed' => 'Failed to load native doors configuration', 'errors.admin.native_doors.save_failed' => 'Failed to save native doors configuration', 'errors.admin.native_doors.sync_failed' => 'Failed to sync native doors', 'errors.admin.webdoors_config.load_failed' => 'Failed to load webdoors configuration', 'errors.admin.webdoors_config.save_failed' => 'Failed to save webdoors configuration', 'errors.admin.webdoors_config.activate_failed' => 'Failed to activate webdoors configuration', 'errors.admin.jsdosdoors_config.load_failed' => 'Failed to load JS-DOS doors configuration', 'errors.admin.jsdosdoors_config.save_failed' => 'Failed to save JS-DOS doors configuration', 'errors.admin.jsdosdoors_config.activate_failed' => 'Failed to activate JS-DOS doors configuration', // JS-DOS door session errors 'errors.jsdosdoor.game_not_found' => 'Game not found', 'errors.jsdosdoor.session_create_failed' => 'Failed to create game session', 'errors.jsdosdoor.session_end_failed' => 'Failed to end game session', 'errors.jsdosdoor.asset_load_failed' => 'Failed to load game assets', 'errors.jsdosdoor.file_sync_failed' => 'Failed to sync JS-DOS files', 'errors.admin.filearea_rules.load_failed' => 'Failed to load file area rules', 'errors.admin.filearea_rules.save_failed' => 'Failed to save file area rules', 'errors.admin.ads.list_failed' => 'Failed to load advertisements', 'errors.admin.ads.upload.no_file' => 'No advertisement file uploaded', 'errors.admin.ads.upload.upload_error' => 'Advertisement upload failed', 'errors.admin.ads.upload.file_too_large' => 'Advertisement file exceeds size limit', 'errors.admin.ads.upload.read_failed' => 'Failed to read uploaded advertisement file', 'errors.admin.ads.upload.failed' => 'Failed to upload advertisement', 'errors.admin.ads.not_found' => 'Advertisement not found', 'errors.admin.ads.load_one_failed' => 'Failed to load advertisement', 'errors.admin.ads.invalid_payload' => 'Invalid advertisement payload', 'errors.admin.ads.save_failed' => 'Failed to save advertisement', 'errors.admin.ads.delete_failed' => 'Failed to delete advertisement', 'errors.admin.ad_campaigns.list_failed' => 'Failed to load ad campaigns', 'errors.admin.ad_campaigns.log_failed' => 'Failed to load ad campaign log', 'errors.admin.ad_campaigns.meta_failed' => 'Failed to load ad campaign metadata', 'errors.admin.ad_campaigns.not_found' => 'Ad campaign not found', 'errors.admin.ad_campaigns.load_one_failed' => 'Failed to load ad campaign', 'errors.admin.ad_campaigns.invalid_payload' => 'Invalid ad campaign payload', 'errors.admin.ad_campaigns.create_failed' => 'Failed to create ad campaign', 'errors.admin.ad_campaigns.save_failed' => 'Failed to save ad campaign', 'errors.admin.ad_campaigns.delete_failed' => 'Failed to delete ad campaign', 'errors.admin.ad_campaigns.run_failed' => 'Failed to run ad campaign', 'errors.admin.chat_rooms.invalid_name_length' => 'Room name must be 1-64 characters', 'errors.admin.chat_rooms.create_failed' => 'Failed to create chat room', 'errors.admin.chat_rooms.not_found' => 'Chat room not found', 'errors.admin.chat_rooms.lobby_name_locked' => 'Lobby name cannot be changed', 'errors.admin.chat_rooms.update_failed' => 'Failed to update chat room', 'errors.admin.chat_rooms.lobby_delete_forbidden' => 'Lobby cannot be deleted', 'errors.admin.chat_rooms.delete_failed' => 'Failed to delete chat room', 'errors.admin.chat_rooms.matterbridge_gateway_required' => 'Matterbridge gateway is required when bridging is enabled', 'errors.admin.chat_rooms.matterbridge_options_invalid' => 'Matterbridge channel options must be valid', 'errors.admin.matterbridge_settings.load_failed' => 'Failed to load Matterbridge settings', 'errors.admin.matterbridge_settings.save_failed' => 'Failed to save Matterbridge settings', 'errors.admin.shoutbox.hide_failed' => 'Failed to hide shout', 'errors.admin.shoutbox.unhide_failed' => 'Failed to unhide shout', 'errors.admin.shoutbox.delete_failed' => 'Failed to delete shout', 'errors.admin.packet_bbs.node_id_required' => 'Node ID is required', 'errors.admin.packet_bbs.node_exists' => 'A node with that ID already exists', 'errors.admin.packet_bbs.node_not_found' => 'Node not found', 'errors.admin.packet_bbs.key_generate_failed' => 'Failed to generate key.', 'errors.admin.packet_bbs.request_failed' => 'Request failed.', 'errors.admin.packet_bbs.save_failed' => 'Save failed.', 'errors.admin.insecure_nodes.create_failed' => 'Failed to add insecure node', 'errors.admin.insecure_nodes.update_failed' => 'Failed to update insecure node', 'errors.admin.insecure_nodes.delete_failed' => 'Failed to delete insecure node', 'errors.admin.crashmail.retry_failed' => 'Failed to retry crashmail item', 'errors.admin.crashmail.cancel_failed' => 'Failed to cancel crashmail item', 'errors.admin.crashmail.poll_failed' => 'Failed to run crashmail poll', 'errors.admin.custom_templates.list_failed' => 'Failed to list custom templates', 'errors.admin.custom_templates.get_failed' => 'Failed to load custom template', 'errors.admin.custom_templates.save_failed' => 'Failed to save custom template', 'errors.admin.custom_templates.delete_failed' => 'Failed to delete custom template', 'errors.admin.custom_templates.install_failed' => 'Failed to install custom template', 'errors.admin.auto_feed.not_found' => 'Feed source not found', 'errors.admin.auto_feed.required_fields' => 'Feed URL, echo area, and posting user are required', 'errors.admin.auto_feed.invalid_url' => 'Feed URL is invalid', 'errors.admin.auto_feed.echoarea_not_found' => 'Echo area not found', 'errors.admin.auto_feed.user_not_found' => 'Posting user not found', 'errors.admin.auto_feed.duplicate_source' => 'Feed source already exists', 'errors.admin.auto_feed.create_failed' => 'Failed to create feed source', 'errors.admin.auto_feed.update_failed' => 'Failed to update feed source', 'errors.admin.auto_feed.check_failed' => 'Feed check failed', 'errors.admin.activity_stats.table_missing' => 'Activity log table is not available', // Address Book 'errors.address_book.list_failed' => 'Failed to load address book entries', 'errors.address_book.not_found' => 'Entry not found', 'errors.address_book.get_failed' => 'Failed to load address book entry', 'errors.address_book.user_not_found' => 'User ID not found in authentication data', 'errors.address_book.invalid_fidonet_format' => 'Invalid Fidonet address format. Use format like 1:234/567 or 1:234/567.0', 'errors.address_book.required_fields' => 'Name and Fidonet address are required', 'errors.address_book.duplicate_entry' => 'Address book entry already exists', 'errors.address_book.create_failed' => 'Failed to create address book entry', 'errors.address_book.update_failed' => 'Failed to update address book entry', 'errors.address_book.delete_failed' => 'Failed to delete address book entry', 'errors.address_book.search_failed' => 'Failed to search address book entries', 'errors.address_book.stats_failed' => 'Failed to load address book statistics', // Shared Messages 'errors.messages.shared.lookup_failed' => 'Failed to load shared message', 'errors.messages.shared.user_shares_failed' => 'Failed to load user shares', 'errors.messages.shared.access_denied' => 'Message not found or access denied', 'errors.messages.shared.sharing_disabled' => 'Sharing is disabled for your account', 'errors.messages.shared.max_active_reached' => 'Maximum number of active shares reached', 'errors.messages.shared.not_found_or_expired' => 'Share not found or expired', 'errors.messages.shared.login_required' => 'Login required to access this share', 'errors.messages.shared.original_not_found' => 'Original message not found', 'errors.messages.shared.not_found' => 'Share not found', 'errors.messages.shared.friendly_url_only_echomail' => 'Friendly URLs are only available for echomail shares', 'errors.messages.shared.slug_generation_failed' => 'Cannot generate share slug for this message', 'errors.messages.share.image_upload_failed' => 'Failed to upload preview image', 'errors.messages.share.image_remove_failed' => 'Failed to remove preview image', 'errors.messages.share.image_invalid_type' => 'Only image files are allowed', 'errors.messages.share.image_too_large' => 'Image must be 5 MB or smaller', // Subscriptions 'errors.subscriptions.echoarea_id_required' => 'Echoarea ID required', 'errors.subscriptions.invalid_action' => 'Invalid action', 'errors.subscriptions.admin_required' => 'Admin access required', // Nodelist API 'errors.nodelist.api.endpoint_not_found' => 'API endpoint not found', 'errors.nodelist.api.address_required' => 'Address parameter required', 'errors.nodelist.api.node_not_found' => 'Node not found', 'errors.nodelist.api.zone_required' => 'Zone parameter required', 'errors.nodelist.api.internal_error' => 'Failed to process nodelist API request', 'errors.nodelist.admin_required' => 'Administrator access required', 'errors.nodelist.import.domain_required' => 'Please specify a network domain', 'errors.nodelist.import.domain_invalid' => 'Domain should contain only letters, numbers, underscores, and hyphens', 'errors.nodelist.import.file_required' => 'Please select a valid nodelist file', 'errors.nodelist.import.invalid_format' => 'Invalid nodelist format', 'errors.nodelist.import.zip_extension_missing' => 'ZIP extension not available', 'errors.nodelist.import.zip_open_failed' => 'Could not open ZIP file', 'errors.nodelist.import.archive_unsupported' => 'Archive format {format} not supported in web interface (use command line)', 'errors.nodelist.import.archive_nodelist_missing' => 'Could not find nodelist file in archive', 'errors.nodelist.import.extract_failed' => 'Failed to extract archive', 'errors.nodelist.import.failed' => 'Failed to import nodelist', // Settings / Taglines 'errors.settings.load_failed' => 'Failed to load user settings', 'errors.taglines.load_failed' => 'Failed to load taglines', // Referrals 'errors.referrals.code_not_found' => 'Referral code not found', 'errors.referrals.stats_failed' => 'Failed to load referral statistics', 'errors.referrals.admin_stats_failed' => 'Failed to load admin referral statistics', // WebDoor 'errors.webdoor.feature_disabled' => 'Game system is not enabled', 'errors.webdoor.auth_required' => 'Not authenticated', 'errors.webdoor.invalid_slot' => 'Invalid slot number', 'errors.webdoor.save_too_large' => 'Save data exceeds maximum size', 'errors.webdoor.save_not_found' => 'Save not found', // Door API 'errors.door.door_name_required' => 'Door name required', 'errors.door.admin_only' => 'This door is restricted to administrators', 'errors.door.insufficient_credits' => 'Insufficient credits', 'errors.door.insufficient_credits_detail' => 'This door costs {required} credits. You have {balance} credits.', 'errors.door.capacity_reached' => 'Door is at capacity', 'errors.door.capacity_reached_detail' => 'This door is currently in use. Only {max_nodes} player(s) allowed at a time. Please try again later.', 'errors.door.launch_failed' => 'Failed to start door session', 'errors.door.session_id_required' => 'Session ID required', 'errors.door.session_unauthorized' => 'Unauthorized', 'errors.door.session_end_failed' => 'Failed to end session', 'errors.door.session_get_failed' => 'Failed to get session', 'errors.door.asset.invalid_type' => 'Invalid asset type', 'errors.door.asset.door_not_found' => 'Door not found', 'errors.door.asset.not_defined' => 'Asset not defined in manifest', 'errors.door.asset.file_not_found' => 'Asset file not found', 'errors.door.asset.access_denied' => 'Access denied', // TIC Processing 'errors.tic.file_area_create_failed' => 'Failed to create file area from TIC metadata', 'errors.tic.validation_failed' => 'TIC file validation failed', 'errors.tic.virus_detected' => 'File rejected: virus detected', 'errors.tic.processing_failed' => 'TIC processing failed', // Virus Scanner 'errors.virus_scanner.not_available' => 'Virus scanning not available', 'errors.virus_scanner.file_not_found' => 'File not found for virus scan', 'errors.virus_scanner.scan_error' => 'Virus scan error', // VirusTotal scanner backend 'errors.virustotal.not_configured' => 'VirusTotal API key not configured', 'errors.virustotal.file_too_large' => 'File too large for VirusTotal upload (max 32 MB)', 'errors.virustotal.upload_failed' => 'Failed to upload file to VirusTotal', 'errors.virustotal.api_error' => 'VirusTotal API error', 'errors.virustotal.analysis_pending' => 'VirusTotal analysis still in progress; re-scan later', // Language overlay editor 'errors.admin.i18n_overrides.invalid_locale' => 'Invalid or unsupported locale', 'errors.admin.i18n_overrides.missing_params' => 'Locale and catalog name are required', 'errors.admin.i18n_overrides.load_failed' => 'Failed to load catalog', 'errors.admin.i18n_overrides.save_failed' => 'Failed to save overrides', // BBS Directory (user submissions) 'errors.bbs_directory.name_required' => 'BBS name is required', 'errors.bbs_directory.duplicate_name' => 'A BBS with that name already exists', 'errors.bbs_directory.submit_failed' => 'Submission failed. Please try again.', // BBS Directory (admin) 'errors.admin.bbs_directory.not_found' => 'BBS directory entry not found', 'errors.admin.bbs_directory.robot_not_found' => 'Robot rule not found', 'errors.admin.bbs_directory.name_required' => 'BBS name is required', 'errors.admin.bbs_directory.duplicate_name' => 'A BBS with that name already exists', 'errors.admin.bbs_directory.robot_required_fields' => 'Name, echo area, and processor type are required', 'errors.admin.bbs_directory.run_failed' => 'Robot run failed', 'errors.admin.bbs_directory.invalid_processor_type' => 'Unknown or unsupported processor type', 'errors.admin.bbs_directory.merge_missing_discard' => 'discard_id is required', 'errors.admin.bbs_directory.merge_failed' => 'Merge failed', 'errors.admin.echomail_robots.invalid_config_json' => 'Processor config is not valid JSON', 'errors.files.iso_not_mounted' => 'File area is not mounted', 'errors.files.iso_readonly' => 'ISO-backed files cannot be modified', 'errors.fileareas.reindex_failed' => 'Failed to start ISO re-index', 'errors.admin.areafix.invalid_json' => 'Invalid request payload', 'errors.admin.areafix.uplink_required' => 'Uplink address is required', 'errors.admin.areafix.invalid_robot' => 'Robot must be "areafix" or "filefix"', 'errors.admin.areafix.commands_required' => 'At least one command is required', 'errors.admin.areafix.send_failed' => 'Failed to send command', 'errors.admin.areafix.history_failed' => 'Failed to load message history', 'errors.admin.areafix.sync_failed' => 'Failed to sync areas', 'errors.admin.poll.failed' => 'Failed to poll BinkP uplink', 'errors.admin.lovlynet.invalid_json' => 'Invalid request payload', 'errors.admin.lovlynet.invalid_area_type' => 'Invalid area type', 'errors.admin.lovlynet.request_message_required' => 'Request message is required', 'errors.admin.lovlynet.not_configured' => 'LovlyNet is not configured', 'errors.admin.lovlynet.request_config_missing' => 'LovlyNet request settings are incomplete', 'errors.admin.lovlynet.help_fetch_failed' => 'Failed to load help text', 'errors.admin.lovlynet.request_send_failed' => 'Failed to send request netmail', 'errors.admin.lovlynet.filearea_files_failed' => 'Failed to load file area files', 'errors.admin.lovlynet.invalid_file_id' => 'Invalid file ID', 'errors.admin.lovlynet.hatch_failed' => 'Failed to hatch file', 'errors.admin.lovlynet.not_registered' => 'Not registered with LovlyNet', 'errors.admin.lovlynet.registration_update_failed' => 'Registration update failed', 'errors.admin.lovlynet.checklist_fix_failed' => 'Failed to apply fix', // QWK Offline Mail 'errors.qwk.disabled' => 'QWK offline mail is not enabled on this system', 'errors.qwk.no_file' => 'No REP file received. Send the file in the "rep" field.', 'errors.qwk.upload_error' => 'File upload error', 'errors.qwk.invalid_extension' => 'Please upload a .REP or .ZIP file', 'errors.qwk.processing_failed' => 'Failed to process REP packet', 'errors.qwk.status_failed' => 'Failed to retrieve QWK status', 'errors.qwk.invalid_format' => 'Format must be "qwk" or "qwke"', 'errors.qwk.invalid_input' => 'echoarea_ids array is required', 'errors.qwk.save_failed' => 'Failed to save area selections', // Interests 'errors.interests.not_found' => 'Interest not found.', 'errors.interests.name_required' => 'Interest name is required.', 'errors.interests.name_taken' => 'An interest with that name already exists.', 'errors.interests.slug_taken' => 'An interest with that slug already exists.', 'errors.interests.feature_disabled' => 'The interests feature is not enabled.', 'errors.interests.crosspost_cooldown' => 'You must wait {minutes} more minute(s) before cross-posting again.', 'errors.mcp.not_enabled' => 'MCP services are not enabled on this system.', 'errors.mcp.license_required' => 'A registered license is required for the MCP server feature.', 'errors.mcp.generate_failed' => 'Failed to generate MCP key.', 'errors.mcp.revoke_failed' => 'Failed to revoke MCP key.', 'errors.mcp.load_failed' => 'Failed to load MCP key status.', // Ad Analytics 'errors.admin.ad_analytics.license_required' => 'A valid license is required to view ad analytics.', 'errors.admin.ad_analytics.load_failed' => 'Failed to load ad analytics.', // Ads - content command validation 'errors.admin.ads.invalid_content_command' => 'The selected content command is not allowed.', 'errors.admin.weather.preview_failed' => 'Failed to generate weather report preview.', // Markdown image upload 'errors.markdown_images.upload_failed' => 'Image upload failed. Please try again.', 'errors.markdown_images.invalid_type' => 'Unsupported image type. Please use JPEG, PNG, GIF, or WebP.', 'errors.markdown_images.too_large' => 'Image is too large. Maximum size is 5 MB.', // Wall message 'errors.admin.wall.empty_message' => 'Message cannot be empty.', 'errors.admin.wall.message_too_long' => 'Message too long (max 1000 characters).', // Msg (private admin message) 'errors.admin.msg.no_username' => 'Username is required.', 'errors.admin.msg.empty_message' => 'Message cannot be empty.', 'errors.admin.msg.message_too_long' => 'Message too long (max 1000 characters).', 'errors.admin.msg.user_not_found' => 'User not found.', // Echomail moderation 'errors.admin.echomail_moderation.not_found' => 'Message not found or not pending moderation.', // AI Bots 'errors.admin.ai_bots.not_found' => 'Bot not found.', 'errors.admin.ai_bots.name_invalid' => 'Bot name must be 1-100 characters.', 'errors.admin.ai_bots.username_invalid' => 'Username must be 1-50 alphanumeric or underscore characters.', 'errors.admin.ai_bots.username_taken' => 'That username is already taken.', 'errors.admin.ai_bots.create_failed' => 'Failed to create bot.', 'errors.admin.ai_bots.update_failed' => 'Failed to update bot.', 'errors.admin.ai_bots.delete_failed' => 'Failed to delete bot.', // URL preview (unfurl) 'errors.url_preview.invalid_url' => 'Invalid URL.', 'errors.url_preview.fetch_failed' => 'Could not fetch a preview for that URL.', // AI Assistant 'errors.ai_assistant.disabled' => 'AI assistant is not enabled on this system.', 'errors.ai_assistant.not_configured' => 'AI assistant is not configured.', 'errors.ai_assistant.prompt_too_long' => 'Prompt exceeds the 500 character limit.', 'errors.ai_assistant.insufficient_credits' => 'Insufficient credits for AI assistant.', 'errors.ai_assistant.failed' => 'AI request failed. Please try again.', // PacketBBS TOTP 'errors.packetbbs_totp.invalid_code' => 'Invalid code. Check your authenticator app and try again.', 'errors.packetbbs_totp.no_pending_secret' => 'No enrollment in progress. Please start setup again.', 'errors.packetbbs_totp.not_enabled' => 'PacketBBS authenticator is not enabled.', 'errors.packetbbs_totp.setup_failed' => 'Failed to set up authenticator. Please try again.', 'errors.packetbbs_totp.disable_failed' => 'Failed to disable authenticator. Please try again.', 'errors.bulletins.invalid_ids' => 'Invalid bulletin list.', 'errors.admin.bulletins.invalid_payload' => 'Invalid bulletin data.', 'errors.admin.bulletins.save_failed' => 'Failed to save bulletin.', 'errors.admin.networks.load_failed' => 'Failed to load networks', 'errors.admin.networks.save_failed' => 'Failed to save network', 'errors.admin.networks.change_domain_failed' => 'Failed to change domain', 'errors.admin.networks.delete_in_use' => 'Network is in use', 'errors.admin.networks.delete_failed' => 'Failed to delete network', 'errors.meshcore.invalid_node_id' => 'Node ID must be 12 or 64 lowercase hex characters.', 'errors.meshcore.contact_exists' => 'A contact with this node ID already exists.', 'errors.meshcore.not_found' => 'Contact not found.', 'errors.meshcore.qr_unrecognized' => 'Unrecognized QR code format.', 'errors.meshcore.qr_camera_denied' => 'Camera access denied.', ];