<?php
// Telnet server UI strings (English)
return [
// --- Connection / rate limiting ---
'ui.terminalserver.server.rate_limited' => 'Too many failed login attempts. Please try again later.',
// --- Login / register menu (pre-auth) ---
'ui.terminalserver.server.login_menu.prompt' => 'Would you like to:',
'ui.terminalserver.server.login_menu.login' => ' (L) Login to existing account',
'ui.terminalserver.server.login_menu.reset_password' => ' (R) Reset lost password',
'ui.terminalserver.server.login_menu.register' => ' (N) Register new account',
'ui.terminalserver.server.login_menu.qwk_transfer' => ' (K) QWK transfer',
'ui.terminalserver.server.login_menu.quit' => ' (Q) Quit',
'ui.terminalserver.server.login_menu.choice' => 'Your choice: ',
'ui.terminalserver.server.login_menu.invalid_choice' => 'Invalid selection.',
'ui.terminalserver.server.goodbye' => 'Goodbye!',
'ui.terminalserver.server.press_enter_disconnect' => 'Press Enter to disconnect.',
// --- Login ---
'ui.terminalserver.server.login.username_prompt' => 'Username: ',
'ui.terminalserver.server.login.password_prompt' => 'Password: ',
'ui.terminalserver.server.login.success' => 'Login successful.',
'ui.terminalserver.server.login.failed_remaining' => 'Login failed. {remaining} attempt(s) remaining.',
'ui.terminalserver.server.login.failed_max' => 'Login failed. Maximum attempts exceeded.',
// --- Lost password reset ---
'ui.terminalserver.server.reset_password.title' => '=== Password Reset ===',
'ui.terminalserver.server.reset_password.intro' => 'Enter your username, real name, or email address and we will email you a password reset link if the account exists.',
'ui.terminalserver.server.reset_password.cancel_hint' => '(Press Enter on a blank prompt to cancel)',
'ui.terminalserver.server.reset_password.identifier_prompt' => 'Username, real name, or email: ',
'ui.terminalserver.server.reset_password.submitting' => 'Requesting password reset...',
'ui.terminalserver.server.reset_password.success' => 'If an account with that username, real name, or email exists, a password reset link has been sent.',
'ui.terminalserver.server.reset_password.check_email' => 'Please check your email inbox and spam folder for the reset link.',
'ui.terminalserver.server.reset_password.failed' => 'Failed to process password reset request.',
// --- Registration ---
'ui.terminalserver.server.registration.title' => '=== New User Registration ===',
'ui.terminalserver.server.registration.intro' => 'Please provide the following information to create your account.',
'ui.terminalserver.server.registration.cancel_hint' => '(Type "cancel" at any prompt to abort registration)',
'ui.terminalserver.server.registration.username' => 'Username (3-20 chars, letters/numbers/underscore): ',
'ui.terminalserver.server.registration.password' => 'Password (min 8 characters): ',
'ui.terminalserver.server.registration.confirm' => 'Confirm password: ',
'ui.terminalserver.server.registration.password_mismatch' => 'Error: Passwords do not match.',
'ui.terminalserver.server.registration.realname' => 'Real Name: ',
'ui.terminalserver.server.registration.email' => 'Email: ',
'ui.terminalserver.server.registration.email_invalid' => 'A valid email address is required.',
'ui.terminalserver.server.registration.location' => 'Location (optional): ',
'ui.terminalserver.server.registration.reason' => 'Reason for joining: ',
'ui.terminalserver.server.registration.reason_required' => 'Please provide a reason for joining.',
'ui.terminalserver.server.registration.submitting' => 'Submitting registration...',
'ui.terminalserver.server.registration.success' => 'Registration successful!',
'ui.terminalserver.server.registration.pending' => 'Your account has been created and is pending approval.',
'ui.terminalserver.server.registration.pending_review' => 'You will be notified once an administrator has reviewed your registration.',
// --- Anti-bot challenge ---
'ui.terminalserver.server.press_esc' => 'Press ESC twice to continue...',
// --- Banner (login screen) ---
'ui.terminalserver.server.banner.title' => 'BinktermPHP Terminal',
'ui.terminalserver.server.banner.system' => 'System: ',
'ui.terminalserver.server.banner.location' => 'Location: ',
'ui.terminalserver.server.banner.origin' => 'Origin: ',
'ui.terminalserver.server.banner.web' => 'Web: ',
'ui.terminalserver.server.banner.visit_web' => 'For a good time visit us on the web @ {url}',
'ui.terminalserver.server.banner.tls' => 'Connected using TLS',
'ui.terminalserver.server.banner.no_tls' => 'Connected without TLS - use port {port} for an encrypted connection',
'ui.terminalserver.server.ssh_banner.welcome' => 'Welcome to {system}.',
'ui.terminalserver.server.ssh_banner.line2' => 'Log in with your account credentials, or enter any username/password',
'ui.terminalserver.server.ssh_banner.line3' => 'to continue to the main BBS login screen.',
// --- Main menu ---
'ui.terminalserver.server.menu.title' => 'Main Menu',
'ui.terminalserver.server.menu.select_option' => 'Select option:',
'ui.terminalserver.server.menu.netmail' => 'N) Netmail ({count} messages)',
'ui.terminalserver.server.menu.echomail' => 'E) Echomail ({count} messages)',
'ui.terminalserver.server.menu.whos_online' => "W) Who's Online",
'ui.terminalserver.server.menu.shoutbox' => 'S) Shoutbox',
'ui.terminalserver.server.menu.polls' => 'P) Polls',
'ui.terminalserver.server.menu.doors' => 'D) Door Games',
'ui.terminalserver.server.menu.quit' => 'Q) Quit',
// --- Farewell ---
'ui.terminalserver.server.farewell' => 'Thank you for visiting, have a great day!',
'ui.terminalserver.server.visit_web' => 'Come back and visit us on the web at {url}',
// --- Who's Online ---
'ui.terminalserver.server.whos_online.title' => "Who's Online (last {minutes} minutes)",
'ui.terminalserver.server.whos_online.empty' => 'No users online.',
'ui.terminalserver.server.whos_online.status_view' => 'View Profile',
'ui.terminalserver.server.whos_online.status_back' => 'Back',
// --- Idle timeout ---
'ui.terminalserver.server.idle.disconnect' => 'Idle timeout - disconnecting...',
'ui.terminalserver.server.idle.warning_line' => 'Are you still there? (Press Enter to continue)',
'ui.terminalserver.server.idle.warning_key' => 'Are you still there? (Press any key to continue)',
// --- Shared UI prompts ---
'ui.terminalserver.server.press_any_key' => 'Press any key to return...',
'ui.terminalserver.server.press_continue' => 'Press any key to continue...',
'ui.terminalserver.server.confirm_yes' => 'Confirm',
'ui.terminalserver.server.confirm_no' => 'Cancel',
// --- Message editor (full screen) ---
'ui.terminalserver.editor.title' => 'MESSAGE EDITOR - FULL SCREEN MODE',
'ui.terminalserver.editor.shortcuts' => 'Ctrl+K=Help Ctrl+Z=Send Ctrl+C=Cancel',
'ui.terminalserver.editor.shortcuts_with_draft' => 'Ctrl+S=Save Draft Ctrl+K=Help Ctrl+Z=Send Ctrl+C=Cancel',
'ui.terminalserver.editor.cancelled' => 'Message cancelled.',
'ui.terminalserver.editor.saved' => 'Message saved and ready to send.',
'ui.terminalserver.editor.draft_saved' => 'Draft saved.',
'ui.terminalserver.editor.draft_save_failed' => 'Failed to save draft.',
'ui.terminalserver.editor.starting_text' => 'Starting with quoted text. Enter your reply below.',
'ui.terminalserver.editor.instructions' => 'Enter message text. End with a single "." line. Type "/abort" to cancel.',
// --- Message editor help ---
'ui.terminalserver.editor.help.title' => 'MESSAGE EDITOR HELP',
'ui.terminalserver.editor.help.separator' => '-------------------',
'ui.terminalserver.editor.help.navigate' => 'Arrow Keys = Navigate cursor',
'ui.terminalserver.editor.help.edit' => 'Backspace/Delete = Edit text',
'ui.terminalserver.editor.help.help' => 'Ctrl+K = Help',
'ui.terminalserver.editor.help.start_of_line' => 'Ctrl+A = Start of line',
'ui.terminalserver.editor.help.end_of_line' => 'Ctrl+E = End of line',
'ui.terminalserver.editor.help.delete_line' => 'Ctrl+Y = Delete entire line',
'ui.terminalserver.editor.help.save_draft' => 'Ctrl+S = Save draft and keep editing',
'ui.terminalserver.editor.help.save' => 'Ctrl+Z = Save message and send',
'ui.terminalserver.editor.help.cancel' => 'Ctrl+C = Cancel and discard message',
// --- Public profile viewer ---
'ui.terminalserver.profile.title' => 'User Profile',
'ui.terminalserver.profile.username' => 'Username',
'ui.terminalserver.profile.real_name' => 'Full Name',
'ui.terminalserver.profile.location' => 'Location',
'ui.terminalserver.profile.biography' => 'Biography',
'ui.terminalserver.profile.not_specified' => 'Not specified',
'ui.terminalserver.profile.empty_biography' => 'No biography provided.',
'ui.terminalserver.profile.load_failed' => 'Failed to load user profile.',
'ui.terminalserver.profile.status_back' => 'Back',
// --- Compose (shared between netmail and echomail) ---
'ui.terminalserver.compose.drafts_prompt_title' => 'Drafts Found',
'ui.terminalserver.compose.drafts_prompt_message' => 'Resume a saved draft or start a new message?',
'ui.terminalserver.compose.resume_draft' => 'Resume Draft',
'ui.terminalserver.compose.new_message' => 'New Message',
'ui.terminalserver.compose.cancel_compose' => 'Cancel',
'ui.terminalserver.compose.drafts_title' => '{type} Drafts (page {page}/{total})',
'ui.terminalserver.compose.drafts_title_short' => 'Drafts',
'ui.terminalserver.compose.echomail_label' => 'Echomail',
'ui.terminalserver.compose.netmail_label' => 'Netmail',
'ui.terminalserver.compose.no_subject' => '(No Subject)',
'ui.terminalserver.compose.no_area' => 'No area',
'ui.terminalserver.compose.unknown' => 'Unknown',
'ui.terminalserver.compose.drafts_delete_selected' => 'Delete selected draft',
'ui.terminalserver.compose.drafts_delete_title' => 'Delete Draft',
'ui.terminalserver.compose.drafts_delete_confirm' => 'Delete this draft?',
'ui.terminalserver.compose.drafts_delete_failed' => 'Failed to delete draft.',
'ui.terminalserver.compose.drafts_load_failed' => 'Failed to load draft.',
'ui.terminalserver.compose.drafts_status_resume' => 'Resume',
'ui.terminalserver.compose.drafts_status_delete' => 'Delete',
'ui.terminalserver.compose.drafts_status_page' => 'Page',
'ui.terminalserver.compose.drafts_status_back' => 'Back',
'ui.terminalserver.compose.to_name' => 'To Name: ',
'ui.terminalserver.compose.to_address' => 'To Address: ',
'ui.terminalserver.compose.subject' => 'Subject: ',
'ui.terminalserver.compose.no_recipient' => 'Recipient name required. Message cancelled.',
'ui.terminalserver.compose.enter_message' => 'Enter your message below:',
'ui.terminalserver.compose.select_tagline' => 'Select a tagline:',
'ui.terminalserver.compose.no_tagline' => ' 0) None',
'ui.terminalserver.compose.tagline_default' => 'Tagline # [{default}] (Enter for Default): ',
'ui.terminalserver.compose.tagline_none' => 'Tagline # (Enter for None): ',
'ui.terminalserver.compose.message_cancelled' => 'Message cancelled (empty).',
'ui.terminalserver.compose.address_book_hint' => '[? Address Book]',
'ui.terminalserver.compose.address_book_search' => 'Search name or address (Enter to cancel): ',
'ui.terminalserver.compose.address_book_title' => 'Address Book Search',
'ui.terminalserver.compose.address_book_no_results'=> 'No matches found.',
'ui.terminalserver.compose.address_book_source_ab' => 'AB',
'ui.terminalserver.compose.address_book_source_nl' => 'NL',
// --- Echomail ---
'ui.terminalserver.echomail.no_areas' => 'You are not subscribed to any areas.',
'ui.terminalserver.echomail.areas_header' => 'Echoareas (page {page}/{total}):',
'ui.terminalserver.echomail.areas_nav' => 'Enter #, n/p (next/prev), / (filter), s (search), q (quit)',
'ui.terminalserver.echomail.areas_nav_interests' => 'Enter #, n/p (next/prev), / (filter), i (by interest), s (search), q (quit)',
'ui.terminalserver.echomail.areas_filter' => 'Filter: {term} ({count} results)',
'ui.terminalserver.echomail.areas_no_results' => 'No areas match your search.',
'ui.terminalserver.echomail.areas_search_prompt' => 'Search: ',
'ui.terminalserver.echomail.areas_nav_clear' => 'c (clear filter)',
'ui.terminalserver.echomail.search_messages_prompt' => 'Search messages: ',
'ui.terminalserver.echomail.search_term_too_short' => 'Search term must be at least 2 characters.',
'ui.terminalserver.echomail.search_no_results' => 'No messages found for \'{term}\'.',
'ui.terminalserver.echomail.search_results_header' => 'Search: {term} (page {page}/{total})',
'ui.terminalserver.echomail.mark_all_title' => 'Mark All Read',
'ui.terminalserver.echomail.mark_all_prompt' => 'Mark all messages in {area} as read?',
'ui.terminalserver.echomail.mark_all_status' => 'Mark All',
'ui.terminalserver.echomail.mark_all_success' => 'All messages marked as read.',
'ui.terminalserver.echomail.mark_all_failed' => 'Failed to mark messages as read.',
'ui.terminalserver.echomail.mark_all_no_messages' => 'There are no messages to mark as read.',
'ui.terminalserver.echomail.select_status' => 'Select',
'ui.terminalserver.echomail.mark_selected_title' => 'Mark Selected Read',
'ui.terminalserver.echomail.mark_selected_status' => 'Mark Read',
'ui.terminalserver.echomail.mark_selected_prompt' => 'Mark {count} selected message(s) as read?',
'ui.terminalserver.echomail.mark_selected_success' => 'Selected messages marked as read.',
'ui.terminalserver.echomail.mark_selected_failed' => 'Failed to mark selected messages as read.',
'ui.terminalserver.echomail.mark_selected_none' => 'No messages are selected.',
'ui.terminalserver.list.status_help' => 'Help',
'ui.terminalserver.list.help_toggle_selection' => 'Toggle selection',
'ui.terminalserver.list.help_move_selection' => 'Move selection',
'ui.terminalserver.list.help_prev_page' => 'Previous / next page',
'ui.terminalserver.list.help_jump_row' => 'Jump to row',
'ui.terminalserver.list.help_open_selected' => 'Open selected item',
'ui.terminalserver.list.help_close_help' => 'Close help',
'ui.terminalserver.echomail.help_filter_areas' => 'Filter areas',
'ui.terminalserver.echomail.help_search_areas' => 'Search areas',
'ui.terminalserver.echomail.help_toggle_allareas' => 'Toggle My Areas / All Areas',
'ui.terminalserver.echomail.help_unsubscribe_area' => 'Unsubscribe selected area',
'ui.terminalserver.echomail.help_clear_filter' => 'Clear filter',
'ui.terminalserver.echomail.help_browse_interests' => 'Browse by interest',
'ui.terminalserver.echomail.interests_title' => 'Browse by Interest',
'ui.terminalserver.echomail.interests_none' => 'No interests available.',
'ui.terminalserver.echomail.interests_prompt' => 'Enter # to browse, Q to return:',
'ui.terminalserver.echomail.interest_areas_header' => '{name} (page {page}/{total}):',
'ui.terminalserver.echomail.no_messages' => 'No echomail messages.',
'ui.terminalserver.echomail.messages_header' => 'Echomail: {area} (page {page}/{total})',
'ui.terminalserver.echomail.sort_title' => 'Sort Order',
'ui.terminalserver.echomail.sort_prompt' => 'Current: {sort}',
'ui.terminalserver.echomail.sort_newest' => 'Newest',
'ui.terminalserver.echomail.sort_oldest' => 'Oldest',
'ui.terminalserver.echomail.sort_subject' => 'Subject',
'ui.terminalserver.echomail.sort_author' => 'Author',
'ui.terminalserver.echomail.compose_title' => 'Compose Echomail',
'ui.terminalserver.echomail.area_label' => 'Area: {area}',
'ui.terminalserver.echomail.posting' => 'Posting echomail...',
'ui.terminalserver.echomail.post_success' => '? Echomail posted successfully!',
'ui.terminalserver.echomail.post_failed' => '? Failed to post echomail: {error}',
'ui.terminalserver.echomail.help_bookmark' => 'Bookmark / unsave message',
'ui.terminalserver.echomail.help_text_dl' => 'Download as .txt (ZMODEM)',
'ui.terminalserver.echomail.help_email_fwd' => 'Forward to my email address',
'ui.terminalserver.echomail.status_forward' => 'Fwd',
'ui.terminalserver.echomail.help_forward' => 'Forward message',
'ui.terminalserver.echomail.forward_type_title' => 'Forward As',
'ui.terminalserver.echomail.forward_type_prompt' => 'How would you like to forward this message?',
'ui.terminalserver.echomail.forward_type_echomail' => 'Echomail (another area)',
'ui.terminalserver.echomail.forward_type_netmail' => 'Netmail (FTN address)',
'ui.terminalserver.echomail.forward_pick_area_title' => 'Forward to Area (page {page}/{total}):',
'ui.terminalserver.echomail.forward_no_areas' => 'No other subscribed areas to forward to.',
'ui.terminalserver.echomail.areas_all_header' => 'All Echoareas (page {page}/{total}):',
'ui.terminalserver.echomail.no_areas_browse_hint' => 'Press A to browse all areas, Q to quit.',
'ui.terminalserver.echomail.no_areas_all' => 'No echo areas available.',
'ui.terminalserver.echomail.subscribe_title' => 'Subscribe?',
'ui.terminalserver.echomail.subscribe_prompt' => 'Subscribe to {area}?',
'ui.terminalserver.echomail.subscribe_and_browse' => 'Subscribe & Browse',
'ui.terminalserver.echomail.browse_only' => 'Browse Only',
'ui.terminalserver.echomail.subscribe_failed' => 'Failed to subscribe to {area}.',
'ui.terminalserver.echomail.unsubscribe_title' => 'Unsubscribe',
'ui.terminalserver.echomail.unsubscribe_prompt' => 'Unsubscribe from {area}?',
'ui.terminalserver.echomail.unsubscribe_success' => 'Unsubscribed from {area}.',
'ui.terminalserver.echomail.unsubscribe_failed' => 'Failed to unsubscribe from {area}.',
'ui.terminalserver.echomail.crosspost_prompt' => 'Cross-post to other areas? [y/N]: ',
'ui.terminalserver.echomail.crosspost_header' => 'Cross-post ({count}/{max} selected):',
'ui.terminalserver.echomail.crosspost_help_confirm'=> 'Confirm and continue',
'ui.terminalserver.echomail.crosspost_help_skip' => 'Skip cross-posting',
'ui.terminalserver.echomail.crosspost_at_limit' => 'Cross-post limit ({max}) reached.',
'ui.terminalserver.echomail.crosspost_no_areas' => 'No other subscribed areas available.',
'ui.terminalserver.echomail.crosspost_posting_to' => 'Also posting to: {areas}',
// --- Echomail ignore rules ---
'ui.terminalserver.echomail.help_ignore' => 'Ignore sender',
'ui.terminalserver.echomail.ignore_title' => 'Ignore',
'ui.terminalserver.echomail.ignore_by_name' => 'By sender name: {name}',
'ui.terminalserver.echomail.ignore_by_address' => 'Name + FTN address: {name} <{address}>',
'ui.terminalserver.echomail.ignore_by_subject' => 'Subject keyword (name + address)',
'ui.terminalserver.echomail.ignore_confirm_name' => 'Ignore all messages from {name}?',
'ui.terminalserver.echomail.ignore_confirm_address' => 'Ignore {name} at {address}?',
'ui.terminalserver.echomail.ignore_subject_prompt' => 'Keyword to ignore:',
'ui.terminalserver.echomail.ignore_saved' => 'Ignore rule saved.',
'ui.terminalserver.echomail.ignore_failed' => 'Failed to save ignore rule.',
'ui.terminalserver.echomail.help_ignore_rules' => 'Manage ignore rules',
'ui.terminalserver.echomail.ignore_rules_title' => 'Ignore Rules (page {page}/{total}):',
'ui.terminalserver.echomail.ignore_rules_none' => 'No ignore rules defined.',
'ui.terminalserver.echomail.ignore_rules_delete_title' => 'Delete Rule',
'ui.terminalserver.echomail.ignore_rules_delete_confirm' => 'Delete rule for {name}?',
'ui.terminalserver.echomail.ignore_rules_deleted' => 'Ignore rule deleted.',
'ui.terminalserver.echomail.ignore_rules_delete_failed' => 'Failed to delete ignore rule.',
// --- Netmail ---
'ui.terminalserver.netmail.no_messages' => 'No netmail messages.',
'ui.terminalserver.netmail.no_sent_messages' => 'No sent netmail messages.',
'ui.terminalserver.netmail.inbox_header' => 'Netmail Inbox (page {page}/{total}):',
'ui.terminalserver.netmail.sent_header' => 'Netmail Sent (page {page}/{total}):',
'ui.terminalserver.netmail.header' => 'Netmail (page {page}/{total}):',
'ui.terminalserver.netmail.compose_title' => 'Compose Netmail',
'ui.terminalserver.netmail.sending' => 'Sending netmail...',
'ui.terminalserver.netmail.send_success' => '? Netmail sent successfully!',
'ui.terminalserver.netmail.send_failed' => '? Failed to send netmail: {error}',
'ui.terminalserver.netmail.attachments_none' => 'No file attachments on this message.',
'ui.terminalserver.netmail.attachments_header' => 'Attachments:',
'ui.terminalserver.netmail.attachment_download_prompt' => 'Attachment # to download (Enter to cancel): ',
'ui.terminalserver.netmail.delete_confirm_title' => 'Delete Message?',
'ui.terminalserver.netmail.delete_confirm_body' => 'This cannot be undone.',
'ui.terminalserver.netmail.deleting' => 'Deleting...',
'ui.terminalserver.netmail.delete_success' => '? Message deleted.',
'ui.terminalserver.netmail.delete_failed' => '? Failed to delete: {error}',
'ui.terminalserver.netmail.text_download_fetch_failed' => 'Could not fetch message text.',
'ui.terminalserver.netmail.mark_selected_title' => 'Mark Selected Read',
'ui.terminalserver.netmail.mark_selected_status' => 'Mark Read',
'ui.terminalserver.netmail.mark_selected_prompt' => 'Mark {count} selected message(s) as read?',
'ui.terminalserver.netmail.mark_selected_success' => 'Selected messages marked as read.',
'ui.terminalserver.netmail.mark_selected_failed' => 'Failed to mark selected messages as read.',
'ui.terminalserver.netmail.mark_selected_none' => 'No messages are selected.',
'ui.terminalserver.netmail.status_forward' => 'Fwd',
'ui.terminalserver.netmail.help_forward_ftn' => 'Forward to another FTN address',
// --- Polls ---
'ui.terminalserver.polls.disabled' => 'Voting booth is disabled.',
'ui.terminalserver.polls.title' => 'Polls',
'ui.terminalserver.polls.no_polls' => 'No active polls.',
'ui.terminalserver.polls.detail_title' => 'Poll Detail',
'ui.terminalserver.polls.total_votes' => 'Total votes: {count}',
'ui.terminalserver.polls.enter_poll' => 'Enter poll # or Q to return: ',
'ui.terminalserver.polls.vote_prompt' => 'Vote with option # or Q to return: ',
'ui.terminalserver.polls.voted' => 'Vote recorded.',
// --- Shoutbox ---
'ui.terminalserver.shoutbox.title' => 'Shoutbox',
'ui.terminalserver.shoutbox.recent_title' => 'Recent Shoutbox',
'ui.terminalserver.shoutbox.no_messages' => 'No shoutbox messages.',
'ui.terminalserver.shoutbox.menu' => '[P]ost [R]efresh [Q]uit: ',
'ui.terminalserver.shoutbox.new_shout' => 'New shout (blank to cancel): ',
'ui.terminalserver.shoutbox.posted' => 'Shout posted.',
'ui.terminalserver.shoutbox.post_failed' => 'Failed to post shout.',
// --- Main menu: files ---
'ui.terminalserver.server.menu.files' => 'F) Files',
// --- File areas ---
'ui.terminalserver.files.no_areas' => 'No file areas available.',
'ui.terminalserver.files.areas_header' => 'File Areas (page {page}/{total}):',
'ui.terminalserver.files.areas_nav' => 'Enter #, n/p (next/prev), q (quit)',
'ui.terminalserver.files.area_header' => 'Files: {area} (page {page}/{total})',
'ui.terminalserver.files.no_files' => 'No files in this area.',
'ui.terminalserver.files.files_nav' => 'D)ownload n/p (next/prev) Q)uit',
'ui.terminalserver.files.files_nav_upload' => 'D)ownload U)pload n/p (next/prev) Q)uit',
'ui.terminalserver.files.files_nav_upload_only' => 'U)pload n/p (next/prev) Q)uit',
'ui.terminalserver.files.files_nav_none' => 'n/p (next/prev) Q)uit',
'ui.terminalserver.files.transfer_unavailable' => 'ZMODEM disabled: install lrzsz (sz/rz) on the server to enable transfers.',
'ui.terminalserver.files.invalid_selection' => 'Invalid selection.',
'ui.terminalserver.files.download_prompt' => 'File # to download (Enter to cancel): ',
'ui.terminalserver.files.download_error' => 'File not found on server.',
'ui.terminalserver.files.download_starting' => 'Starting ZMODEM download: {name}',
'ui.terminalserver.files.download_hint' => 'Start ZMODEM receive in your terminal now...',
'ui.terminalserver.files.download_done' => 'Transfer complete.',
'ui.terminalserver.files.download_failed' => 'Transfer failed or was cancelled.',
'ui.terminalserver.files.upload_title' => '=== Upload File ===',
'ui.terminalserver.files.upload_area' => 'Area: {area}',
'ui.terminalserver.files.upload_desc_prompt' => 'Short description (blank to cancel): ',
'ui.terminalserver.files.upload_cancelled' => 'Upload cancelled.',
'ui.terminalserver.files.upload_starting' => 'Start ZMODEM send in your terminal now...',
'ui.terminalserver.files.upload_failed' => 'Transfer failed or was cancelled.',
'ui.terminalserver.files.upload_done' => 'File uploaded successfully (ID: {id}).',
'ui.terminalserver.files.upload_error' => 'Upload error: {error}',
'ui.terminalserver.files.upload_duplicate' => 'This file already exists in this area.',
'ui.terminalserver.files.upload_readonly' => 'This area is read-only. Uploads are not permitted.',
'ui.terminalserver.files.upload_admin_only' => 'Only administrators can upload to this area.',
'ui.terminalserver.files.files_back_hint' => 'B)ack to parent folder',
'ui.terminalserver.files.not_a_file' => 'That entry is a folder, not a file.',
'ui.terminalserver.files.enter_folder_or_file' => 'Enter a folder number to browse, or a file number to view details.',
'ui.terminalserver.files.status_move' => 'Move',
'ui.terminalserver.files.status_page' => 'Page',
'ui.terminalserver.files.status_open' => 'Open',
'ui.terminalserver.files.status_quit' => 'Quit',
'ui.terminalserver.files.status_download' => 'Download',
'ui.terminalserver.files.status_upload' => 'Upload',
'ui.terminalserver.files.status_up' => 'Up',
'ui.terminalserver.files.status_scroll' => 'Scroll',
'ui.terminalserver.files.status_back' => 'Back',
'ui.terminalserver.files.detail_title' => 'File Info',
'ui.terminalserver.files.detail_header' => 'File',
'ui.terminalserver.files.detail_size' => 'Size',
'ui.terminalserver.files.detail_uploaded' => 'Uploaded',
'ui.terminalserver.files.detail_area' => 'Area',
'ui.terminalserver.files.detail_from' => 'From',
'ui.terminalserver.files.detail_not_scanned' => 'Not scanned',
'ui.terminalserver.files.detail_scan_clean' => 'Clean',
'ui.terminalserver.files.detail_scan_infected' => 'INFECTED: {sig}',
'ui.terminalserver.files.detail_scan_error' => 'Scan error',
'ui.terminalserver.files.detail_scan_skipped' => 'Skipped',
'ui.terminalserver.files.detail_virus_scan' => 'Virus scan',
'ui.terminalserver.files.detail_description' => 'Description',
'ui.terminalserver.files.detail_long_description' => 'Details',
'ui.terminalserver.qwk.action_logout' => 'Q) Log out',
// --- Main menu: terminal settings ---
'ui.terminalserver.server.menu.terminal_settings' => 'T) Terminal Settings',
// --- Main menu ---
'ui.terminalserver.server.menu.settings' => 'T) Settings',
// --- Tabbed settings screen (AnsiTabComponent / SettingsHandler) ---
'ui.terminalserver.settings.tab_title' => 'BBS Settings',
'ui.terminalserver.settings.tab_terminal' => 'Terminal',
'ui.terminalserver.settings.tab_display' => 'Display',
'ui.terminalserver.settings.tab_messaging' => 'Messaging',
'ui.terminalserver.settings.tab_account' => 'Account',
'ui.terminalserver.settings.tab_ai' => 'AI',
'ui.terminalserver.settings.hint_navigate' => ' ?? Move ?? Change [ ] Tabs S) Save Q) Quit',
'ui.terminalserver.settings.hint_navigate_ascii' => ' Up/Dn Move Left/Rt Change [/] Tabs S) Save Q) Quit',
'ui.terminalserver.settings.discarded' => 'Changes discarded.',
'ui.terminalserver.settings.exiting' => 'Exiting settings.',
'ui.terminalserver.settings.line.save_changes' => 'Save Changes',
// Terminal tab fields
'ui.terminalserver.settings.terminal.charset' => 'Character Set',
'ui.terminalserver.settings.terminal.ansi_color' => 'ANSI Color',
'ui.terminalserver.settings.terminal.shell_mode' => 'Interface Style',
'ui.terminalserver.settings.terminal.shell_mode_auto' => 'Full-screen TUI (default)',
'ui.terminalserver.settings.terminal.shell_mode_tui' => 'Full-screen TUI (always)',
'ui.terminalserver.settings.terminal.shell_mode_line' => 'Line mode',
'ui.terminalserver.settings.terminal.run_wizard' => 'Run Detection Wizard',
// Display tab fields
'ui.terminalserver.settings.display.messages_per_page' => 'Messages Per Page',
'ui.terminalserver.settings.display.timezone' => 'Timezone',
'ui.terminalserver.settings.display.language' => 'Language',
'ui.terminalserver.settings.display.date_format' => 'Date Format',
'ui.terminalserver.settings.display.default_echo_list' => 'Default Echo List',
'ui.terminalserver.settings.display.echo_list_system' => 'System Default',
'ui.terminalserver.settings.display.echo_list_reader' => 'Reader',
'ui.terminalserver.settings.display.echo_list_all' => 'All Areas',
// Messaging tab fields
'ui.terminalserver.settings.messaging.signature' => 'Signature',
'ui.terminalserver.settings.messaging.signature_hint' => 'ENTER to edit (4 lines max)',
'ui.terminalserver.settings.messaging.tagline' => 'Default Tagline',
'ui.terminalserver.settings.messaging.tagline_none' => '(No tagline)',
'ui.terminalserver.settings.messaging.tagline_random' => '(Random)',
'ui.terminalserver.settings.messaging.threaded_echo' => 'Threaded Echomail View',
'ui.terminalserver.settings.messaging.threaded_net' => 'Threaded Netmail View',
'ui.terminalserver.settings.messaging.quote_coloring' => 'Color Quoted Text',
'ui.terminalserver.settings.messaging.forward_netmail' => 'Forward Netmail to Email',
'ui.terminalserver.settings.messaging.echomail_digest' => 'Echomail Digest',
'ui.terminalserver.settings.messaging.digest_none' => 'None',
'ui.terminalserver.settings.messaging.digest_daily' => 'Daily',
'ui.terminalserver.settings.messaging.digest_weekly' => 'Weekly',
'ui.terminalserver.settings.messaging.echomail_badge_mode' => 'New Echomail Badge',
'ui.terminalserver.settings.messaging.badge_mode_new' => 'New since last visit',
'ui.terminalserver.settings.messaging.badge_mode_unread' => 'Total unread',
// Account tab actions
'ui.terminalserver.settings.account.change_password' => 'Change Password',
'ui.terminalserver.settings.account.view_sessions' => 'View Active Sessions',
'ui.terminalserver.settings.account.reset_onboarding' => 'Reset Echomail Onboarding',
'ui.terminalserver.settings.account.sessions_title' => 'Active Sessions',
'ui.terminalserver.settings.account.no_sessions' => ' No active sessions found.',
'ui.terminalserver.settings.account.sessions_hint' => 'Enter session number to revoke, or Q to return: ',
'ui.terminalserver.settings.account.old_password_prompt' => 'Current password: ',
'ui.terminalserver.settings.account.new_password_prompt' => 'New password: ',
'ui.terminalserver.settings.account.confirm_password_prompt' => 'Confirm new password: ',
'ui.terminalserver.settings.account.password_mismatch' => 'Passwords do not match.',
'ui.terminalserver.settings.account.password_changed' => 'Password changed successfully.',
'ui.terminalserver.settings.account.password_failed' => 'Failed to change password.',
'ui.terminalserver.settings.account.onboarding_reset' => 'Echomail onboarding reset. You will be guided through interest selection on next visit.',
'ui.terminalserver.settings.account.onboarding_reset_failed' => 'Failed to reset onboarding.',
// AI/MCP tab
'ui.terminalserver.settings.ai.generate_key' => 'Generate MCP Key',
'ui.terminalserver.settings.ai.regenerate_key' => 'Regenerate MCP Key',
'ui.terminalserver.settings.ai.regenerate_confirm' => 'Regenerating will invalidate the existing key. Continue? (Y/N): ',
'ui.terminalserver.settings.ai.revoke_key' => 'Revoke MCP Key',
'ui.terminalserver.settings.ai.revoke_confirm' => 'Revoke MCP key? Any connected AI client will be disconnected. (Y/N): ',
'ui.terminalserver.settings.ai.mcp_key_exists' => 'Key active: {preview}',
'ui.terminalserver.settings.ai.mcp_no_key' => 'No key generated yet',
'ui.terminalserver.settings.ai.key_generated' => 'MCP key generated. Copy it now ? it will not be shown again:',
'ui.terminalserver.settings.ai.generate_failed' => 'Failed to generate key.',
'ui.terminalserver.settings.ai.key_revoked' => 'MCP key revoked.',
'ui.terminalserver.settings.ai.revoke_failed' => 'Failed to revoke key.',
// --- Legacy terminal settings page (kept for TerminalSettingsHandler compatibility) ---
'ui.terminalserver.settings.title' => '=== Terminal Settings ===',
'ui.terminalserver.settings.charset_label' => 'Character set : {value}',
'ui.terminalserver.settings.ansi_label' => 'ANSI color : {value}',
'ui.terminalserver.settings.not_set' => 'Not configured',
'ui.terminalserver.settings.menu_detect' => 'D) Run detection wizard',
'ui.terminalserver.settings.menu_charset' => 'C) Change character set manually',
'ui.terminalserver.settings.menu_ansi' => 'A) Toggle ANSI color',
'ui.terminalserver.settings.menu_quit' => 'Q) Return to main menu',
'ui.terminalserver.settings.saved' => 'Settings saved.',
'ui.terminalserver.settings.save_failed' => 'Warning: could not save settings.',
'ui.terminalserver.settings.invalid_choice' => 'Invalid choice.',
'ui.terminalserver.settings.charset_prompt' => 'Select: (U)TF-8, (C)P437, (A)SCII: ',
// --- Terminal detection wizard ---
'ui.terminalserver.detect.title' => '=== Terminal Setup ===',
'ui.terminalserver.detect.intro' => 'BBS will now test your terminal to ensure content displays correctly.',
'ui.terminalserver.detect.charset_intro' => 'Character set test:',
'ui.terminalserver.detect.charset_question' => 'Do the above appear as arrows, checkmarks, and accented letters? (Y/N): ',
'ui.terminalserver.detect.charset_utf8' => 'UTF-8 character set enabled.',
'ui.terminalserver.detect.charset_cp437_intro' => 'CP437 box-drawing test:',
'ui.terminalserver.detect.charset_cp437_question' => 'Do the above appear as a box drawn with lines and corners? (Y/N): ',
'ui.terminalserver.detect.charset_cp437' => 'CP437 (DOS/ANSI) character set enabled.',
'ui.terminalserver.detect.charset_ascii' => 'ASCII mode enabled.',
'ui.terminalserver.detect.ansi_intro' => 'Color test:',
'ui.terminalserver.detect.ansi_question' => 'Do the words above appear in different colors? (Y/N): ',
'ui.terminalserver.detect.ansi_yes' => 'ANSI color enabled.',
'ui.terminalserver.detect.ansi_no' => 'ANSI color disabled.',
'ui.terminalserver.detect.complete' => 'Terminal setup complete. Settings saved.',
'ui.terminalserver.detect.press_enter' => 'Press Enter to continue...',
// --- Door games ---
'ui.terminalserver.doors.no_doors' => 'No doors are currently available.',
'ui.terminalserver.doors.title' => 'Door Games',
'ui.terminalserver.doors.enter_choice' => 'Enter number to play, or Q to return: ',
'ui.terminalserver.doors.invalid' => 'Invalid selection.',
'ui.terminalserver.doors.launching' => 'Launching {name}...',
'ui.terminalserver.doors.launch_error' => 'Error: {error}',
'ui.terminalserver.doors.connecting' => 'Connecting to game server...',
'ui.terminalserver.doors.connect_failed' => 'Could not connect to game bridge. Is the DOS door bridge running?',
'ui.terminalserver.doors.connected' => 'Connected! Starting game...',
'ui.terminalserver.doors.returned' => 'Returned from {name}.',
'ui.terminalserver.message.headers_title' => '=== Message Headers ===',
'ui.terminalserver.message.no_headers' => '(No message headers)',
'ui.terminalserver.message.help_title' => 'Key Bindings',
'ui.terminalserver.message.help_scroll' => 'Scroll one line',
'ui.terminalserver.message.help_page' => 'Scroll one page',
'ui.terminalserver.message.help_prev_next' => 'Previous / next message',
'ui.terminalserver.message.help_reply' => 'Reply',
'ui.terminalserver.message.help_headers' => 'View message headers',
'ui.terminalserver.message.help_download' => 'Download attachment (ZMODEM)',
'ui.terminalserver.message.help_images' => 'View inline image(s)',
'ui.terminalserver.message.help_quit' => 'Quit / close message',
'ui.terminalserver.netmail.help_delete' => 'Delete message',
'ui.terminalserver.netmail.help_bookmark' => 'Bookmark / unsave message',
'ui.terminalserver.netmail.help_text_dl' => 'Download as .txt (ZMODEM)',
'ui.terminalserver.netmail.help_email_fwd' => 'Forward to my email address',
'ui.terminalserver.netmail.help_mark_selected' => 'Mark selected messages as read',
'ui.terminalserver.server.menu.bulletins' => 'U) Bulletins',
'ui.terminalserver.bulletins.title' => 'Bulletins',
'ui.terminalserver.bulletins.none' => 'No bulletins are available.',
'ui.terminalserver.bulletins.continue' => 'Bulletin {current} of {total}. Press Enter for next, S to skip all...',
// --- Main menu additions ---
'ui.terminalserver.server.menu.interests' => 'I) Interests',
'ui.terminalserver.server.menu.qwk' => 'K) QWK Offline Mail',
// --- Main menu section headers ---
'ui.terminalserver.server.menu.section.messaging' => 'Messaging',
'ui.terminalserver.server.menu.section.community' => 'Community',
'ui.terminalserver.server.menu.section.explore' => 'Explore',
'ui.terminalserver.server.menu.section.files' => 'Files',
'ui.terminalserver.server.menu.section.settings' => 'Settings',
// --- Main menu dashboard widgets ---
'ui.terminalserver.dashboard.title' => 'Dashboard',
'ui.terminalserver.dashboard.label.netmail' => 'New Netmail',
'ui.terminalserver.dashboard.label.echomail' => 'New Echomail',
'ui.terminalserver.dashboard.label.online' => 'Online',
'ui.terminalserver.dashboard.label.bulletins' => 'Bulletins',
'ui.terminalserver.dashboard.label.credits' => 'Credits',
// --- Interests handler ---
'ui.terminalserver.interests.title' => 'Interests',
'ui.terminalserver.interests.none' => 'No interests are available.',
'ui.terminalserver.interests.area_count' => '({count} areas)',
'ui.terminalserver.interests.prompt' => 'Enter # to view, Q to return:',
'ui.terminalserver.interests.subscribed' => 'Subscribed',
'ui.terminalserver.interests.not_subscribed' => 'Not subscribed',
'ui.terminalserver.interests.status_label' => 'Status: {status}',
'ui.terminalserver.interests.action_subscribe' => 'S) Subscribe',
'ui.terminalserver.interests.action_unsubscribe' => 'U) Unsubscribe',
'ui.terminalserver.interests.action_list_areas' => 'L) List echo areas',
'ui.terminalserver.interests.areas_heading' => 'Echo Areas:',
'ui.terminalserver.interests.action_quit' => 'Q) Back',
'ui.terminalserver.interests.subscribe_ok' => 'Subscribed successfully.',
'ui.terminalserver.interests.subscribe_failed' => 'Failed to subscribe.',
'ui.terminalserver.interests.unsubscribe_ok' => 'Unsubscribed successfully.',
'ui.terminalserver.interests.unsubscribe_failed' => 'Failed to unsubscribe.',
'ui.terminalserver.interests.areas_title' => 'Echo Areas ? {name}',
'ui.terminalserver.interests.no_areas' => 'No echo areas assigned to this interest.',
'ui.terminalserver.interests.onboarding_hint' => 'Tip: Use the Interests menu (I) to subscribe to topic groups and discover echo areas.',
// --- QWK handler ---
'ui.terminalserver.qwk.title' => 'QWK Offline Mail',
'ui.terminalserver.qwk.error' => 'Failed to retrieve QWK status.',
'ui.terminalserver.qwk.status_heading' => 'Status',
'ui.terminalserver.qwk.format_label' => 'Format: {format}',
'ui.terminalserver.qwk.pending_messages' => 'Pending messages: {count}',
'ui.terminalserver.qwk.last_download' => 'Last download: {date}',
'ui.terminalserver.qwk.never_downloaded' => 'Never downloaded',
'ui.terminalserver.qwk.conference_count' => 'Conferences: {count}',
'ui.terminalserver.qwk.action_download' => 'D) Download QWK packet (ZMODEM)',
'ui.terminalserver.qwk.action_download_unavailable' => 'D) Download (ZMODEM unavailable ? install lrzsz)',
'ui.terminalserver.qwk.action_upload' => 'U) Upload REP packet (ZMODEM)',
'ui.terminalserver.qwk.action_upload_unavailable' => 'U) Upload (ZMODEM unavailable ? install lrzsz)',
'ui.terminalserver.qwk.action_list_conferences' => 'C) List conferences',
'ui.terminalserver.qwk.action_change_format' => 'F) Change format',
'ui.terminalserver.qwk.action_quit' => 'Q) Back',
'ui.terminalserver.qwk.http_note' => 'Tip: readers that support HTTP Basic Auth can also use {url}',
'ui.terminalserver.qwk.building_packet' => 'Building QWK packet...',
'ui.terminalserver.qwk.download_starting' => 'Starting ZMODEM transfer: {name}',
'ui.terminalserver.qwk.download_hint' => 'Start ZMODEM receive in your terminal now...',
'ui.terminalserver.qwk.download_done' => 'Transfer complete.',
'ui.terminalserver.qwk.download_failed' => 'Transfer failed or was cancelled.',
'ui.terminalserver.qwk.download_error' => 'Download failed: user session error.',
'ui.terminalserver.qwk.build_failed' => 'Failed to build QWK packet: {error}',
'ui.terminalserver.qwk.zmodem_unavailable' => 'ZMODEM unavailable. Install lrzsz on the server.',
'ui.terminalserver.qwk.upload_ready' => 'Ready to receive REP packet via ZMODEM.',
'ui.terminalserver.qwk.upload_hint' => 'Start ZMODEM send in your terminal now...',
'ui.terminalserver.qwk.upload_error' => 'Upload failed: user session error.',
'ui.terminalserver.qwk.upload_failed' => 'Transfer failed or was cancelled.',
'ui.terminalserver.qwk.processing_rep' => 'Processing REP packet...',
'ui.terminalserver.qwk.process_failed' => 'Failed to process REP packet: {error}',
'ui.terminalserver.qwk.rep_imported' => '{imported} message(s) imported, {skipped} skipped.',
'ui.terminalserver.qwk.conferences_title' => 'QWK Conferences',
'ui.terminalserver.qwk.no_conferences' => 'No conferences. Subscribe to echo areas first.',
'ui.terminalserver.qwk.current_format' => 'Current format: {format}',
'ui.terminalserver.qwk.format_choice_qwk' => ' 1) QWK (standard, widest compatibility)',
'ui.terminalserver.qwk.format_choice_qwke' => ' 2) QWKE (extended, larger messages)',
'ui.terminalserver.qwk.format_cancel' => ' Q) Cancel',
'ui.terminalserver.qwk.format_invalid' => 'Invalid selection.',
'ui.terminalserver.qwk.format_unchanged' => 'Format unchanged.',
'ui.terminalserver.qwk.format_saved' => 'Format changed to {format}.',
'ui.terminalserver.qwk.format_failed' => 'Failed to change format.',
// --- Local chat ---
'ui.terminalserver.server.menu.chat' => 'C) Local Chat',
'ui.terminalserver.chat.title' => 'Local Chat',
'ui.terminalserver.chat.feature_disabled' => 'Local chat is disabled.',
'ui.terminalserver.chat.no_targets' => 'No chat rooms or users are available right now.',
'ui.terminalserver.chat.no_target_title' => 'No target selected',
'ui.terminalserver.chat.room_title' => 'Room: {name}',
'ui.terminalserver.chat.dm_title' => 'DM: {name}',
'ui.terminalserver.chat.system_name' => 'System',
'ui.terminalserver.chat.refreshed' => 'Chat lists refreshed.',
'ui.terminalserver.chat.rooms_failed' => 'Failed to load chat rooms.',
'ui.terminalserver.chat.load_failed' => 'Failed to load chat messages.',
'ui.terminalserver.chat.send_failed' => 'Failed to send message.',
'ui.terminalserver.chat.sent' => 'Message sent.',
'ui.terminalserver.chat.empty_input' => 'Type a message before sending.',
'ui.terminalserver.chat.moderation_failed' => 'Moderation request failed.',
'ui.terminalserver.chat.user_kicked' => '{username} was kicked from the room.',
'ui.terminalserver.chat.user_banned' => '{username} was banned from the room.',
'ui.terminalserver.chat.pane.rooms' => 'Rooms / DMs',
'ui.terminalserver.chat.pane.messages' => 'Messages',
'ui.terminalserver.chat.pane.online' => 'Online Users',
'ui.terminalserver.chat.pane.compose' => 'Compose',
'ui.terminalserver.chat.section.rooms' => 'Rooms',
'ui.terminalserver.chat.section.direct' => 'Direct Messages',
'ui.terminalserver.chat.section.online' => 'Online Now',
'ui.terminalserver.chat.none_direct' => ' No DMs yet.',
'ui.terminalserver.chat.no_one_online' => 'No one else online.',
'ui.terminalserver.chat.no_messages' => 'No chat messages yet.',
'ui.terminalserver.chat.moderation_hint' => 'ENTER=DM K=Kick B=Ban',
'ui.terminalserver.chat.dm_hint' => 'ENTER opens a DM',
'ui.terminalserver.chat.input_help' => 'TAB focus Enter send Ctrl+E multiline Ctrl+K help Ctrl+C exit',
'ui.terminalserver.chat.input_target' => 'Target: {target}',
'ui.terminalserver.chat.editor.title' => 'LOCAL CHAT COMPOSER',
'ui.terminalserver.chat.editor.saved' => 'Message saved and ready to send.',
'ui.terminalserver.chat.editor.shortcuts' => 'Ctrl+K=Help Ctrl+Z=Send Ctrl+C=Cancel',
'ui.terminalserver.chat.help.title' => 'Local Chat Help',
'ui.terminalserver.chat.help.line1' => 'TAB / Shift+TAB: change focus between panes',
'ui.terminalserver.chat.help.line2' => 'Navigation pane: Up/Down selects rooms and DMs, Enter opens target',
'ui.terminalserver.chat.help.line3' => 'Messages pane: PgUp/PgDn scroll, older history is fetched automatically',
'ui.terminalserver.chat.help.line4' => 'Online users pane: Enter opens DM',
'ui.terminalserver.chat.help.line5' => 'Compose pane: Enter sends, Ctrl+E opens multiline editor',
'ui.terminalserver.chat.help.line6' => 'Ctrl+C exits local chat, R refreshes lists',
'ui.terminalserver.chat.help.line7' => 'Admins: in a room, focus Online Users and press K or B to moderate.',
];
|