{ "welcome": "Welcome, {user_name}!", "main_menu_greeting": "Hi, {user_name}! πŸ‘‹\nWhat would you like to do?", "menu_activate_trial_button": "πŸ†“ Free Trial", "menu_subscribe_inline": "πŸš€ Purchase", "menu_my_subscription_inline": "πŸ” My Subscription", "menu_referral_inline": "🎁 Referrals", "menu_apply_promo_button": "🎟 Promo Code", "menu_language_settings_inline": "🌐 Language", "menu_server_status_button": "πŸ“Š Status", "menu_support_button": "πŸ’¬ Support", "menu_terms_button": "πŸ“„ Terms of Service", "back_to_main_menu_button": "⬅️ Back", "choose_language": "Choose language / Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ язык:", "language_set_alert": "Language changed!", "error_occurred_try_again": "An error occurred, please try again.", "error_displaying_menu": "Error displaying menu.", "main_menu_unknown_action": "Unknown action.", "select_subscription_period": "Select subscription period:", "no_subscription_options_available": "No subscription options available at the moment.", "subscribe_for_months_button": "{months} mo. - {price} {currency_symbol}", "confirm_subscription_prompt": "Confirm subscription purchase:\nDuration: {months} mo.\nPrice: {price} {currency_symbol}", "pay_button": "πŸ’³ Pay", "confirm_payment_button": "βœ… Yes ({price} {currency_symbol})", "cancel_button": "❌ Cancel", "payment_description_subscription": "Subscription payment for {months} mo.", "payment_service_unavailable": "Payment service temporarily unavailable. Please try again later.", "payment_service_unavailable_alert": "Payment service unavailable", "error_creating_payment_record": "Error creating payment record. Please try again later.", "error_payment_gateway_link_failed": "Failed to get payment link. Please contact support.", "payment_link_message": "To pay for {months} mo. subscription, click the button below:", "error_payment_gateway": "Payment gateway error. Please try again later or contact support.", "payment_successful": "βœ… Payment successful!\nYour {months}-month subscription is active until {end_date}.", "payment_successful_with_promo": "βœ… Payment successful!\nYour {months}-month subscription (with promo bonus +{bonus_days} days) is active until {end_date}.", "payment_successful_with_referral_bonus": "βœ… Payment successful!\nYour {months}-month subscription (base end date: {base_end_date}) has been extended by {bonus_days} bonus days for referral from {inviter_name} and is now active until {final_end_date}.", "payment_successful_error_details": "βœ… Payment succeeded, but an error occurred displaying details. Your subscription is active. Contact support if anything is wrong.", "payment_failed": "❌ Payment failed or was cancelled. Please try again or contact support.", "error_processing_your_payment": "An error occurred processing your payment after success. Please contact support with the details.", "my_subscription_details": "πŸ” My Subscription:\n\nStatus: {status}\nActive until: {end_date} (days left: {days_left})\n\nTraffic: {traffic_used} of {traffic_limit}\n\nConfiguration link:\n{config_link}", "config_link_not_available": "not available, contact support", "subscription_not_active": "You have no active subscription.\nWould you like to purchase one?", "status_active": "Active", "status_expired": "Expired", "status_disabled": "Disabled", "traffic_unlimited": "Unlimited", "traffic_na": "n/a", "error_service_unavailable": "Service temporarily unavailable. Please try again later.", "promo_code_prompt": "Please enter your promo code:", "promo_code_not_found": "Promo code {code} not found, expired, or already used the maximum number of times.", "promo_code_already_used_by_user": "You have already used promo code {code}.", "promo_code_no_active_subscription": "You must have an active subscription to apply this promo code.", "promo_code_applied_success": "βœ… Promo code {code} applied successfully!\nYour subscription is extended by {bonus_days} days and is now active until {new_end_date}.", "error_applying_promo_bonus": "Failed to apply promo bonus. Please try again later or contact support.", "promo_input_cancelled_short": "Promo code entry cancelled.", "trial_feature_disabled": "Free trial is currently unavailable.", "trial_already_had_subscription_or_trial": "You have already used a free trial or had a paid subscription. Free trial is available only once for new users.", "trial_confirm_prompt": "Would you like to activate a free trial for {days} days with {traffic_gb} GB traffic limit?", "trial_confirm_activate_button": "βœ… Activate!", "trial_activated_alert": "Trial activated!", "trial_activated_details_message": "πŸš€ Your {days}-day free trial is activated!\n\nValid until: {end_date}\nTraffic: {traffic_gb} GB\n\nYour configuration link:\n{config_link}", "trial_activation_failed": "Failed to activate free trial. Please try again later.", "trial_activation_failed_panel_link": "Failed to link your account to the server for trial activation. Please try again later.", "trial_activation_failed_db": "Database error during trial activation. Please try again later.", "trial_activation_failed_panel_update": "Failed to update trial details on the server. Please try again later.", "user_not_found_for_trial": "Your account was not found in the system. Please run /start first.", "yes_button": "Yes", "no_button": "No", "trial_cancelled_short": "Activation cancelled.", "referral_program_info_new": "Invite friends and earn bonuses!\n\nYour referral link:\n{referral_link}\n\nBonuses:{bonus_details}", "referral_bonus_per_period": "\n\n🎁 For a friend's {months}-month subscription:\n ➒ You: {inviter_bonus_days} days\n ➒ Friend: {referee_bonus_days} days", "no_bonus_days": "0", "referral_no_bonuses_configured": "\nNo referral bonuses configured.", "referral_link_for_copying_reminder": "The link is above. Press and hold to copy.", "friend_placeholder": "friend", "referral_bonus_inviter_notification_extended": "πŸŽ‰ Congrats! Your friend {referee_name} paid for a subscription. You received {days} bonus days! Your subscription is now active until {new_end_date}.", "referral_bonus_inviter_notification_new_sub": "πŸŽ‰ Congrats! Your friend {referee_name} paid for a subscription. You received a {days}-day bonus subscription! It is active until {new_end_date}.", "user_is_banned": "🚫 Your account is banned. Please contact support.", "admin_panel_title": "Admin Panel", "admin_stats_button": "πŸ“Š Statistics", "admin_broadcast_button": "πŸ“’ Broadcast", "admin_create_promo_button": "🎁 Create Promo", "admin_view_promos_button": "πŸ‘€ Promo List", "admin_ban_user_button": "🚫 Ban User", "admin_unban_user_button": "βœ… Unban User", "admin_view_banned_users_button": "πŸ“œ Ban List", "admin_view_logs_menu_button": "πŸ“„ Logs", "admin_sync_panel_button": "πŸ”„ Sync", "admin_unknown_action": "Unknown admin action.", "admin_action_cancelled_default": "Action cancelled. Returning to menu.", "admin_action_cancelled_default_alert": "Action cancelled", "back_to_admin_panel_button": "⬅️ Back to Admin", "admin_stats_header": "πŸ“Š Bot Statistics", "admin_stats_users": "πŸ‘₯ Users: Total - {total_users}, Banned - {banned_users}, Active Subs - {active_subs}", "admin_stats_recent_payments_header": "Recent Payments:", "admin_stats_payment_item": "{status_emoji} {amount} {currency} from {user_info} ({p_status}) [{p_date}]", "admin_stats_no_payments_found": "No payments found yet.", "admin_stats_last_sync_header": "Last Panel Sync:", "admin_stats_sync_time": "Time", "admin_stats_sync_status": "Status", "admin_stats_sync_users_processed": "Users Processed", "admin_stats_sync_subs_synced": "Subscriptions Synced", "admin_stats_sync_details_label": "Details", "admin_sync_status_never_run": "Panel sync never run.", "admin_broadcast_enter_message": "Enter the broadcast message (HTML supported):", "admin_broadcast_confirm_prompt": "You are about to send the following message (first 200 characters):\n\n{message_preview}\n\nConfirm sending?", "confirm_broadcast_send_button": "βœ… Send", "cancel_broadcast_button": "❌ Cancel", "admin_broadcast_sending_started": "Starting broadcast...", "admin_broadcast_error_no_message": "Error: no message to broadcast.", "admin_broadcast_error_no_message_alert": "Broadcast message is empty!", "admin_broadcast_finished_stats": "🏁 Broadcast finished!\nSent: {sent_count}\nFailed: {failed_count}", "admin_broadcast_cancelled": "Broadcast cancelled.", "admin_broadcast_cancelled_alert": "Broadcast cancelled!", "admin_broadcast_cancelled_nav_back": "Broadcast cancelled. You are returned to the admin panel.", "admin_promo_create_prompt": "Enter promo details in the format: CODE BONUS_DAYS MAX_USES [VALIDITY_DAYS]\nExample: {example_format}\n(Validity is optional; default is indefinite)", "admin_promo_invalid_format": "Invalid format. Please use: CODE BONUS_DAYS MAX_USES [VALIDITY_DAYS]", "admin_promo_invalid_code_format": "Code must be 3–30 alphanumeric characters.", "admin_promo_invalid_bonus_or_activations": "Bonus days and max uses must be positive numbers.", "admin_promo_invalid_validity_days": "Validity period (in days) must be a positive number.", "admin_promo_invalid_values": "Invalid values. {error}", "admin_promo_invalid_format_general": "Promo parsing error. Check the format.", "admin_promo_created_success": "βœ… Promo code {code} created successfully!\nBonus: {bonus_days} days\nMax uses: {max_activations}\nValid until: {valid_until_str}.", "admin_promo_creation_failed_duplicate": "❌ Error: Promo code {code} already exists.", "admin_promo_creation_failed": "❌ Failed to create promo code. Please try again later.", "admin_active_promos_list_header": "Active Promo Codes:", "admin_no_active_promos": "No active promo codes.", "admin_promo_list_item": "{code}: +{bonus}d, {current}/{max} used, valid until {valid_until}", "admin_promo_valid_indefinitely": "indefinite", "admin_promo_valid_until_display": "until {date}", "admin_ban_user_prompt": "Enter user ID or @username to ban:", "admin_user_not_found_in_bot_db": "User {user_id} not found in bot database.", "admin_cannot_ban_self_or_admin": "You cannot ban yourself or another admin.", "admin_user_already_banned": "User {user_id_or_username} is already banned.", "admin_user_banned_success_combined": "βœ… User {user_id_or_username} banned in bot {panel_status_part}.", "admin_panel_ban_success_part": "and on panel", "admin_panel_ban_fail_part": ", but failed to ban on panel", "admin_user_ban_failed_local_db_error": "❌ Failed to ban user in local database.", "admin_unban_user_prompt": "Enter user ID or @username to unban:", "admin_user_not_banned": "User {user_id_or_username} is not banned.", "admin_user_unbanned_success_combined": "βœ… User {user_id_or_username} unbanned in bot {panel_status_part}.", "admin_panel_unban_success_part": "and on panel", "admin_panel_unban_fail_part": ", but failed to unban on panel", "admin_user_unban_failed_local_db_error": "❌ Failed to unban user in local database.", "admin_no_banned_users": "There are no banned users at the moment.", "admin_banned_list_title": "Banned Users (page {current_page}/{total_pages}):", "admin_banned_user_button_text": "{user_display} (ID: {user_id})", "prev_page_button": "⬅️ Prev.", "next_page_button": "Next ➑️", "admin_user_card_title": "User Profile: {user_display}", "user_card_info": "ID: {user_id}\nUsername: @{username}\nName: {first_name} {last_name}\nLanguage: {language_code}\nPanel UUID: {panel_user_uuid}\nStatus: {ban_status}\nRegistered: {reg_date}\nSubscription until: {sub_end_date}", "user_card_banned": "BANNED", "user_card_active": "Active", "user_card_sub_na": "n/a", "user_card_ban_button": "🚫 Ban", "user_card_unban_button": "βœ… Unban", "user_card_back_to_banned_list": "⬅️ Back to Ban List", "admin_confirm_action_title": "Confirm: {action_text}", "ban_verb_l": "ban", "unban_verb_l": "unban", "admin_confirm_ban_prompt": "Are you sure you want to ban {user_display} (ID: {user_id})?", "admin_confirm_unban_prompt": "Are you sure you want to unban {user_display} (ID: {user_id})?", "admin_user_banned_from_card_alert": "User {user_display} (ID: {user_id}) has been banned.", "admin_user_unbanned_from_card_alert": "User {user_display} (ID: {user_id}) has been unbanned.", "admin_user_ban_failed_db_error": "Error banning user in database.", "admin_user_unban_failed_db_error": "Error unbanning user in database.", "admin_panel_status_update_fail_part": ", but panel status not updated", "admin_logs_menu_title": "Logs Menu:", "admin_view_all_logs_button": "πŸ“œ All Message Logs", "admin_view_user_logs_prompt_button": "πŸ‘€ User Logs", "admin_all_logs_title": "All Logs (page {current_page}/{total_pages}):", "admin_no_logs_found": "No logs found.", "admin_log_entry_format": "{timestamp_str} - {user_display} (ID: {user_id})\n {event_type}: {content_preview}", "system_or_unknown_user": "System/Unknown", "admin_prompt_for_user_id_or_username_logs": "Enter user ID or @username to view logs:", "admin_log_user_not_found": "User \"{input}\" not found in bot database.", "admin_user_logs_title": "Logs for {user_display} (page {current_page}/{total_pages}):", "sync_started": "πŸ”„ Starting data sync with panel...", "sync_failed": "❌ Sync with panel failed. Details: {details}", "sync_completed": "βœ… Sync with panel completed. Status: {status}. Details: {details}", "sync_completed_details": "Checked: {total_checked} entries.\nUsers synced/updated: {users_synced}.\nSubscriptions synced/updated: {subs_synced}.", "sync_completed_with_errors_details": "Checked: {total_checked} entries.\nUsers synced/updated: {users_synced}.\nSubscriptions synced/updated: {subs_synced}.\nErrors: {errors_count}.\n\nFirst errors:\n{error_details_preview}", "no_errors_placeholder": "none", "admin_sync_initiated_from_panel": "Sync initiated...", "error_displaying_logs_too_long": "Error: logs too long to display in one message. Try viewing logs for a specific user.", "error_displaying_statistics": "Error displaying statistics.", "stub_page_display": "Page", "subscription_ending_soon_notification": "πŸ‘‹ Hi, {user_name}!\n\n⏳ Your VPN subscription ends on {end_date} (in {days_left} days).\n\nTo avoid interruption, please renew it in the main menu.", "error_unknown": "An unknown error occurred." }