<?php
return [
    'common.language' => 'Language',
    'common.system_language' => 'System language',
    'common.russian' => 'Русский',
    'common.english' => 'English',
    'common.kazakh' => 'Қазақша',
    'common.uzbek' => 'O‘zbekcha',
    'common.ukrainian' => 'Українська',
    'common.spanish' => 'Español',
    'common.save' => 'Save',
    'common.close' => 'Close',
    'common.cancel' => 'Cancel',
    'common.error' => 'Error',
    'common.ready' => 'Done',
    'common.warning' => 'Attention',
    'auth.domain_blocked' => 'Access for this domain has been blocked by the EasyChat administrator.',
    'auth.unauthorized' => 'Your session is no longer valid. Sign in again.',
    'auth.invalid_qr' => 'The QR code is invalid or expired.',
    'auth.network_error' => 'Could not connect to the server.',
    'settings.localization_title' => 'Interface language',
    'settings.admin_locale' => 'Admin language',
    'settings.widget_locale' => 'Widget language',
    'settings.widget_locale_auto' => 'Detect widget language automatically',
    'settings.central_api_required' => 'Enter an HTTPS central API URL to enable push notifications.',
    'widget.title' => 'Ask a specialist',
    'widget.footer_text' => "Have a question?\nMessage us in chat",
    'widget.welcome' => 'Hello! How can I help you?',
    'widget.input_placeholder' => 'Type a message...',
    'widget.blocked_placeholder' => 'Chat is blocked',
    'widget.theme_toggle' => 'Switch theme',
    'widget.toggle_contacts' => 'Show/hide contacts',
    'widget.consultant' => 'Consultant',
    'widget.operator' => 'Operator',
    'widget.manager' => 'Manager',
    'widget.guest' => 'Guest',
    'widget.cms_identity_as' => 'Signed in as {name} ✓',
    'widget.cms_identity_verified' => 'Site account verified ✓',
    'widget.cms_identity_required' => 'Sign in on the site to continue this private conversation',
    'widget.visitor_name_adjectives' => 'Shy|Forest|Cheerful|Sleepy|Wise|Sly|Speedy|Polite|Curious|Fluffy|Whiskered|Hungry|Anonymous|Mysterious|Surprised|Sad|Active|Caring|Quick|Brave|Quiet|Rare|Gentle|Proud',
    'widget.visitor_name_nouns' => 'Cat|Moose|Raccoon|Hedgehog|Fox|Hamster|Penguin|Beaver|Lemur|Badger|Gopher|Platypus|Octopus|Dinosaur|Mole|Narwhal|Dolphin|Chameleon|Meerkat|Wolf|Tiger|Ferret|Wombat|Bumblebee',
    'widget.ai_typing' => 'AI consultant is preparing a reply...',
    'widget.ai_consultant' => 'AI Consultant',
    'widget.support_docs' => 'From the EasyChat documentation',
    'widget.support_more' => '{count} more',
    'widget.support_handoff' => 'A specialist should help with this. Do not send passwords or API keys.',
    'widget.support_telegram' => 'Message on Telegram',
    'widget.support_max' => 'Message on MAX',
    'widget.typing_suffix' => '{name} is typing...',
    'widget.upload_images_only' => 'You can attach an image, PDF, Word, or OpenDocument file.',
    'widget.max_file_size' => 'The file is too large. Limit: {max} MB.',
    'widget.attachment_image' => 'Image',
    'widget.attachment_file' => 'File',
    'widget.attachment_remove' => 'Remove attachment',
    'widget.attachments_selected' => 'selected',
    'widget.attachments_limit' => 'Up to 10 at once',
    'widget.attachments_too_many' => 'You can attach up to 10 files at once.',
    'widget.documents_too_many' => 'Only one document can be attached to a message.',
    'widget.push_enable' => 'Enable notifications',
    'widget.push_disable' => 'Disable notifications',
    'widget.push_enabled' => 'Notifications are on',
    'widget.push_disabled' => 'Notifications are off',
    'widget.push_disable_failed' => 'Could not disable notifications. Try again.',
    'widget.push_unavailable' => 'Notifications are unavailable in this browser.',
    'widget.push_site_disabled' => 'Notifications are not enabled for this website yet.',
    'widget.push_denied' => 'Notifications are blocked in browser settings.',
    'widget.push_loading' => 'Connecting notifications...',
    'widget.push_after_message_hint' => 'Enable notifications to see the reply even if you close this tab.',
    'widget.push_wait_message' => 'Send your first message, then enable notifications for this chat.',
    'widget.push_ios_install_hint' => 'On iPhone, add this website to the Home Screen from Share, open the new icon, then tap the bell again.',
    'widget.push_ios_after_message_hint' => 'On iPhone, notifications are enabled from the Home Screen web app. Add this website to the Home Screen and open the chat there.',
    'widget.push_notification_title' => 'New chat message',
    'widget.push_notification_body' => 'You have a new message on {domain}',
    'widget.avg_response_1h' => 'Average response time: ~1 hour.',
    'widget.avg_response_more_1h' => 'Average response time: more than 1 hour.',
    'widget.avg_response_n' => 'Average response time: ~{minutes} min.',
    'api.domain_blocked' => 'Access for this domain has been blocked by the EasyChat administrator.',
    'api.trial_limit_exceeded' => 'The free push notification limit has been reached. Connect the paid EasyChat version or disable push notifications.',
    'api.bad_request' => 'Bad request.',
    'api.temporarily_unavailable' => 'The service is temporarily unavailable. Please retry.',
    'api.internal_error' => 'Internal server error.',
    'api.invalid_token' => 'Invalid token.',
    'api.invalid_signature' => 'The signature is invalid or the operator is disabled.',
    'api.invalid_moderation_qr' => 'The moderation QR code is invalid or expired.',
    'api.invalid_pairing_token' => 'The connection link is invalid. Get a new link in the EasyChat panel.',
    'api.pairing_expired' => 'The connection link has expired. Get a new link in the EasyChat panel.',
    'api.pairing_already_used' => 'The connection link has already been used. Get a new link in the EasyChat panel.',
    'api.pairing_rate_limited' => 'Too many connection attempts. Get a new link in the EasyChat panel.',
    'api.fcm_empty' => 'FCM token is empty.',
    'api.fcm_registration_failed' => 'FCM token central registration failed.',
    'api.chat_id_required' => 'chat_id is required.',
    'api.empty_message' => 'Message is empty.',
    'api.chat_not_found' => 'Chat not found.',
    'api.file_missing' => 'File was not received.',
    'api.file_extension_denied' => 'Unsupported file format.',
    'api.file_mime_denied' => 'Unsupported file content type.',
    'api.file_save_failed' => 'Could not save the file.',
    'api.attachment_type_unsupported' => 'This attachment type is not available for the current channel.',
    'api.too_many_attachments' => 'Too many attachments were selected for this channel.',
    'api.mixed_attachments_unsupported' => 'This channel cannot mix photos and documents.',
    'api.too_many_documents' => 'Only one document can be attached to a message.',
    'api.delete_forbidden' => 'You do not have permission to delete chats.',
    'api.chat_ids_required' => 'Chat IDs are required.',
    'api.auth_token_missing' => 'Authorization token is missing.',
    'api.session_invalid' => 'The session is invalid or expired.',
    'api.session_blocked' => 'The session is invalid or blocked.',
    'api.image_label' => '[Image]',
    'api.operator_reply_prefix' => "Operator reply (from App):\n{text}",
    'api.endpoint_not_found' => 'API endpoint not found.',
    'onboarding.kicker' => 'First launch from CMS',
    'onboarding.title' => 'Set up useful EasyChat services',
    'onboarding.lead' => 'Choose which optional features to connect. Chat messages, customers, orders, passwords and API keys are not sent.',
    'onboarding.gift_title' => '30,000 EasyTokens AI tokens',
    'onboarding.gift_text' => 'Starter balance for the AI consultant. The key will be stored securely in EasyChat settings.',
    'onboarding.gift_issued_title' => 'AI tokens are already issued',
    'onboarding.gift_issued_text' => 'The key is already saved in settings and ready to use.',
    'onboarding.gift_email_label' => 'Email for gift AI tokens',
    'onboarding.start_ai_title' => 'Start the AI consultant',
    'onboarding.start_ai_text' => 'After the tokens are issued, AI will start replying to customers. Fast catalog search is prepared automatically for a supported store CMS.',
    'onboarding.services_title' => 'Connect EasyChat24 services',
    'onboarding.recommended' => 'recommended',
    'onboarding.services_text' => 'Needed for the branded Android app, operator push notifications and domain verification.',
    'onboarding.services_note' => 'Only technical data is sent: domain, EasyChat version, installation type, PHP version and installation ID.',
    'onboarding.install_code_label' => 'Setup code from the download page',
    'onboarding.install_code_help' => 'If you saved the code after downloading, enter it here. It is optional and does not affect EasyChat operation.',
    'onboarding.install_code_retry_later' => 'EasyChat is ready. The download-page code could not be confirmed yet; this does not affect chats.',
    'onboarding.news_title' => 'Receive important EasyChat24 news',
    'onboarding.news_text' => 'Only releases, security and useful features. No spam, with an unsubscribe option.',
    'onboarding.news_email_label' => 'Email for news and updates',
    'onboarding.skip' => 'Continue without optional services',
    'onboarding.submit' => 'Save and open EasyChat',
    'onboarding.news_email_required' => 'Enter an email for EasyChat24 news or turn off the news switch.',
    'onboarding.saving' => 'Saving selected settings...',
    'onboarding.skip_saving' => 'Opening EasyChat without optional services...',
    'onboarding.saving_button' => 'Saving...',
    'onboarding.saved' => 'Done. Opening EasyChat...',
    'onboarding.gift_issued_done' => 'Done, gift AI tokens were issued. Opening EasyChat...',
    'onboarding.gift_retry_later' => 'Settings saved. Gift tokens can be requested again later in settings.',
    'onboarding.save_failed' => 'Could not save first-launch settings.',
    'onboarding.network_error' => 'The server is temporarily unavailable. Try again.',
    'onboarding.wait' => 'Please wait...',
    'settings.security_title' => 'Security & Blocking',
    'settings.security_tab_desc' => 'Information about anti-spam mechanisms and blocking unwanted visitors.',
    'settings.security_manual_title' => 'Manual Blocking by Operator',
    'settings.security_manual_desc' => 'You can block any chat from the web admin panel or operator mobile app. When blocked, the client\'s text input and file attachment feature are disabled, but the message history remains readable.',
    'settings.security_flood_title' => 'Chat Flood Control',
    'settings.security_flood_desc' => 'If a client sends messages too quickly (more than 5 messages in 10 seconds), the system automatically blocks the chat. This prevents spamming the operator panel.',
    'settings.security_ip_title' => 'IP Message Limits',
    'settings.security_ip_desc' => 'A single IP address is allowed to send up to 30 messages within 5 minutes. If exceeded, all subsequent attempts to send messages or create chats from this IP are temporarily blocked.',
    'settings.security_session_title' => 'IP Session Limits',
    'settings.security_session_desc' => 'The system prevents automated bots from creating mass chats by limiting new sessions from a single IP to 5 within 60 seconds. This protects the server from bots clearing cookies to bypass blocks.',
    'settings.easytokens_gift_kicker' => 'EasyTokens starter gift',
    'settings.easytokens_gift_title' => '30,000 tokens for NashaNeyroset',
    'settings.easytokens_gift_text' => 'Get an API key in one click: EasyChat will fill it in and refresh the balance.',
    'settings.easytokens_gift_email_label' => 'Email for gift tokens',
    'settings.easytokens_gift_claim' => 'Get gift',
    'settings.easytokens_gift_manual' => 'I will paste my API key',
    'settings.easytokens_gift_modal_kicker' => 'NashaNeyroset',
    'settings.easytokens_gift_modal_title' => '30,000 AI tokens as a gift',
    'settings.easytokens_gift_modal_value_api' => 'API key automatically',
    'settings.easytokens_gift_modal_value_safe' => 'No chats or secrets',
    'settings.easytokens_gift_modal_text' => 'EasyChat will issue the key, fill the settings and check the balance right away.',
    'settings.easytokens_gift_safe_note' => 'Only the installation domain, email and technical issue data are sent.',
    'settings.easytokens_gift_manual_short' => 'I will paste my key',
    'settings.easytokens_balance_kicker' => 'EasyTokens balance',
    'settings.easytokens_balance_empty_hint' => 'Enter an API key to check the balance.',
    'settings.easytokens_balance_refresh' => 'Refresh',
    'settings.easytokens_balance_topup' => 'Top up balance',
    'settings.easytokens_balance_unchecked' => 'Not checked',
    'settings.easytokens_balance_checking' => 'Checking...',
    'settings.easytokens_balance_loading_hint' => 'Getting the current EasyTokens balance.',
    'settings.easytokens_balance_updating' => 'Updating...',
    'settings.easytokens_balance_error_value' => 'Could not update',
    'settings.easytokens_balance_error_hint' => 'Check the API key and try again.',
    'settings.easytokens_balance_error_status' => 'Update error',
    'settings.easytokens_balance_tokens' => '{tokens} tokens',
    'settings.easytokens_balance_low_hint' => 'Balance is low. Top up in advance.',
    'settings.easytokens_balance_ready_hint' => 'This balance is used for AI requests.',
    'settings.easytokens_balance_spent' => 'Spent',
    'settings.easytokens_balance_requests' => 'Requests',
    'settings.easytokens_balance_low_status' => 'Low balance',
    'settings.easytokens_balance_updated_status' => 'Updated just now',
    'settings.easytokens_balance_updated_at' => 'Updated at {time}',
    'settings.easytokens_balance_missing_key_hint' => 'The EasyTokens API key is not saved yet. Get the gift or paste your key.',
    'settings.easytokens_balance_no_key_short' => 'The EasyTokens API key is not saved yet.',
    'settings.easytokens_balance_no_response' => 'EasyTokens did not return a balance.',
    'settings.easytokens_balance_network_error' => 'Server connection failed while getting the balance.',
    'settings.easytokens_gift_retryable' => 'You can request the gift again. Check the email and click “Get gift”.',
    'settings.easytokens_gift_pending' => 'The gift token request has already been sent. If it takes too long, you can retry with the same email.',
    'settings.easytokens_gift_email_required' => 'Enter the email that should receive the gift tokens.',
    'settings.easytokens_gift_requesting' => 'Requesting gift tokens. This usually takes a few seconds.',
    'settings.easytokens_gift_requesting_balance' => 'Requesting EasyTokens gift tokens.',
    'settings.easytokens_gift_connected_balance' => 'Gift tokens are connected. Getting the current balance.',
    'settings.easytokens_gift_failed_key' => 'Could not get the EasyTokens API key.',
    'settings.easytokens_gift_failed' => 'Could not get the gift. Check the email and try again.',
    'settings.easytokens_gift_network_key' => 'Could not get the EasyTokens API key. Try again.',
    'settings.easytokens_gift_network' => 'Could not contact the server. Try again or paste your API key.',
    'settings.easytokens_gift_refresh_requires_key' => 'Get the gift or paste an EasyTokens API key first.',
    'settings.easytokens_gift_topup_requires_key' => 'To top up the balance, get the gift or paste an API key first.',
    'settings.easytokens_model_vision_native' => 'understands images',
    'settings.easytokens_model_vision_local' => 'images via local vision',
    'settings.session_expired' => 'The settings session has expired. Refresh the page and try again.',
    'settings.voice_transcription_title' => 'Transcribe voice messages',
    'settings.voice_transcription_desc' => 'Telegram and MAX Bot. The text appears below the player and becomes available to AI replies.',
    'settings.voice_transcription_provider_note' => 'Uses the selected EasyTokens API key; no separate key is needed.',
    'settings.cron_title' => 'Scheduler (Cron)',
];
