188 lines
18 KiB
JSON
188 lines
18 KiB
JSON
{
|
||
"welcome": "Добро пожаловать, {user_name}!",
|
||
"choose_language": "Пожалуйста, выберите ваш язык:",
|
||
"language_set": "Язык установлен на <b>Русский</b>.",
|
||
"language_set_alert": "Язык обновлен!",
|
||
"main_menu_greeting": "Привет, {user_name}!\nЧто бы вы хотели сделать?",
|
||
"error_service_unavailable": "⚠️ Сервис временно недоступен. Попробуйте позже.",
|
||
"error_occurred_processing_request": "⚠️ Произошла ошибка. Попробуйте еще раз.",
|
||
"unknown_command_private": "Неизвестная команда. Используйте /start.",
|
||
"error_try_again": "Произошла ошибка. Попробуйте снова.",
|
||
|
||
"menu_subscribe_inline": "🚀 Купить",
|
||
"menu_my_subscription_inline": "📄 Моя подписка",
|
||
"menu_referral_inline": "🎁 Рефералы",
|
||
"menu_apply_promo_button": "🎁 Промокод",
|
||
"menu_activate_trial_button": "🆓 Пробный период",
|
||
"menu_language_settings_inline": "🌐 Язык",
|
||
"menu_server_status_button": "📊 Статус",
|
||
"menu_support_button": "💬 Поддержка",
|
||
"back_to_main_menu_button": "⬅️ Назад",
|
||
|
||
"no_subscription_options_available": "Варианты подписки сейчас недоступны.",
|
||
"select_subscription_period": "Выберите период подписки:",
|
||
"subscribe_for_months_button": "{months} мес. - {price} {currency_symbol}",
|
||
"confirm_subscription_prompt": "Подписка на <b>{months} мес.</b> за <b>{price} {currency_symbol}</b>.\n\nПерейти к оплате?",
|
||
"confirm_payment_button": "✅ Да ({price} {currency_symbol})",
|
||
"cancel_button": "❌ Отмена",
|
||
"payment_service_unavailable": "⚠️ Платежный сервис недоступен. Попробуйте позже.",
|
||
"error_creating_payment_record": "⚠️ Ошибка подготовки платежа. Попробуйте снова.",
|
||
"payment_link_message": "Для оплаты подписки на {months} мес., нажмите кнопку ниже:",
|
||
"pay_button": "💳 Оплатить",
|
||
"error_payment_gateway": "⚠️ Ошибка платежного шлюза. Попробуйте или напишите в поддержку.",
|
||
"payment_successful": "✅ Оплата успешна! Ваша подписка на <b>{months} мес.</b> активна до <b>{end_date}</b>.",
|
||
"payment_failed": "❌ Оплата не удалась/отменена. Если деньги списаны, напишите в поддержку.",
|
||
"payment_description_subscription": "Подписка на {months} мес.",
|
||
"my_subscription_details": "ℹ️ <b>Ваша подписка</b>\n\n🗓️ До: <b>{end_date}</b> (Осталось: {days_left} дн.)\n\n🔗 Ссылка: <code>{config_link}</code>\n\n📊 Трафик: {traffic_used} / {traffic_limit}\n💡 Статус: {status}",
|
||
"subscription_not_active": "Активной подписки нет. Оформите сейчас!",
|
||
"config_link_not_available": "Н/Д (Попробуйте /sync или поддержка)",
|
||
"traffic_unlimited": "Безлимит",
|
||
"traffic_na": "Н/Д",
|
||
"status_active": "Активна",
|
||
"status_expired": "Истекла",
|
||
"status_disabled": "Отключена",
|
||
"status_limited": "Ограничена",
|
||
"status_unknown": "Неизвестен",
|
||
"subscription_ending_soon_notification": "{user_name},\nВаша подписка истекает <b>{end_date}</b> (через {days_left} дней).\nНе забудьте продлить!",
|
||
"payment_successful_with_referral_bonus": "✅ Оплата на <b>{months} мес.</b> успешна! Базовая дата: {base_end_date}.\n\n🎉 Вас пригласил(а) {inviter_name}, вы получили дополнительно <b>{bonus_days} бонусных дней</b>!\nИтоговая дата окончания: <b>{final_end_date}</b>.",
|
||
"payment_successful_error_details": "Оплата прошла успешно, но возникла ошибка отображения деталей подписки. Пожалуйста, проверьте раздел 'Моя подписка' или свяжитесь с поддержкой.",
|
||
"error_processing_your_payment": "Ошибка обработки платежа. Обратитесь в поддержку, если проблема не решится.",
|
||
|
||
"trial_confirm_prompt": "Активировать бесплатный пробный период на <b>{days} дней</b> с лимитом трафика <b>{traffic_gb} ГБ</b>?\n\n<i>Это можно сделать только один раз, если у вас ранее не было подписок.</i>",
|
||
"trial_confirm_activate_button": "✅ Активировать!",
|
||
"trial_already_had_subscription_or_trial": "Пробный период доступен только если у вас ранее не было никаких подписок (включая пробные).",
|
||
"trial_activation_failed": "⚠️ К сожалению, не удалось активировать ваш пробный период. Пожалуйста, свяжитесь с поддержкой.",
|
||
"trial_feature_disabled": "Пробные периоды в данный момент недоступны.",
|
||
"trial_cancelled": "Активация пробного периода отменена.",
|
||
"trial_activated_alert": "✅ Пробный период активирован!",
|
||
"trial_activated_details_message": "🎉 Ваш бесплатный пробный период на <b>{days} дней</b> активирован!\nДействителен до: <b>{end_date}</b>.\nСсылка на конфигурацию: <code>{config_link}</code>\nТрафик: <b>{traffic_gb}</b>\nПриятного использования!",
|
||
|
||
"referral_program_info_new": "Приглашайте друзей и получайте бонусы!\n\nВаша реф. ссылка:\n<code>{referral_link}</code>\n\n<b>Бонусы:</b>{bonus_details}",
|
||
"referral_bonus_per_period": "\n\n🎁 За {months}-мес. подписку друга:\n ➢ Вы: <b>{inviter_bonus_days} дн.</b>\n ➢ Друг: <b>{referee_bonus_days} дн.</b>",
|
||
"no_bonus_days": "0",
|
||
"referral_no_bonuses_configured": "\nРеферальные бонусы не настроены.",
|
||
"referral_link_for_copying_reminder": "Ссылка выше. Нажмите и удерживайте для копирования.",
|
||
"referral_bonus_inviter_notification_extended": "🎉 Ура, {referee_name} (ваш реферал) подписался!\nВам начислено <b>{days} бонусных дней</b>.\nНовая дата окончания: <b>{new_end_date}</b>.",
|
||
"friend_placeholder": "друг",
|
||
|
||
"error_user_not_synced_for_config": "Аккаунт не синхронизирован. Попробуйте /sync или поддержка.",
|
||
"error_fetching_config_link_details": "Ошибка получения данных для ссылки. Попробуйте или поддержка.",
|
||
"error_fetching_config_link_details_no_uuid": "ID для ссылки не найден. Поддержка.",
|
||
"error_generating_config_link": "Не удалось создать ссылку. Попробуйте позже.",
|
||
|
||
"promo_code_prompt": "Введите ваш промокод:",
|
||
"promo_code_invalid_or_expired": "❌ Неверный, истекший или уже использованный промокод.",
|
||
"promo_code_no_active_subscription": "❌ Для применения этого промокода у вас должна быть активная подписка.",
|
||
"promo_code_applied_success": "✅ Промокод '<code>{code}</code>' применен! <b>{bonus_days} бонусных дней</b> добавлено к вашей подписке.\nТеперь ваша подписка активна до: <b>{new_end_date}</b>.",
|
||
"promo_code_max_activations_reached": "❌ К сожалению, промокод '<code>{code}</code>' достиг максимального числа активаций.",
|
||
"promo_code_not_found": "❌ Промокод '<code>{code}</code>' не найден.",
|
||
"error_applying_promo_bonus": "⚠️ Произошла ошибка при применении промо-бонуса. Попробуйте или поддержка.",
|
||
"promo_input_cancelled_no_message": "Ввод промокода отменен.",
|
||
|
||
"user_is_banned": "⚠️ Ваш доступ к боту заблокирован.\nЕсли это ошибка, обратитесь в поддержку.",
|
||
"contact_support_button": "💬 Поддержка",
|
||
"suspicious_input_ban_message": "⚠️ Обнаружен подозрительный ввод. В целях безопасности ваш доступ к боту ограничен. Обратитесь в поддержку, если это ошибка.",
|
||
|
||
"admin_panel_title": "👑 Админ-панель",
|
||
"admin_panel_button_reply": "👑 Админ-панель",
|
||
"back_to_admin_panel_button": "⬅️ В админку",
|
||
"admin_unknown_action": "Неизвестное действие.",
|
||
"admin_action_cancelled_default": "Действие отменено.",
|
||
"prev_page_button": "Пред.",
|
||
"next_page_button": "След.",
|
||
"yes_button": "✅ Да",
|
||
"no_button": "❌ Нет",
|
||
|
||
"admin_ban_user_button": "🚫 Бан",
|
||
"admin_unban_user_button": "✅ Разбан",
|
||
"admin_view_banned_users_button": "📜 Бан-лист",
|
||
"admin_ban_user_prompt": "ID или @username для бана:",
|
||
"admin_unban_user_prompt": "ID или @username для разбана:",
|
||
"admin_invalid_user_id_format": "Неверный ID. Нужно число.",
|
||
"admin_invalid_username_format": "Неверный username. Формат: @юзернейм (5-32 симв.).",
|
||
"admin_user_not_found_by_username": "Юзер @{username} не найден в боте.",
|
||
"admin_cannot_ban_self_or_admin": "Нельзя банить себя или админа.",
|
||
"admin_user_not_found_in_bot_db": "User ID {user_id} не найден.",
|
||
"admin_user_banned_success_panel_too": "✅ Юзер {user_id_or_username} забанен (БД и панель).",
|
||
"admin_user_banned_local_panel_fail": "⚠️ Юзер {user_id_or_username} забанен в БД, ошибка панели.",
|
||
"admin_user_banned_local_no_panel_uuid": "✅ Юзер {user_id_or_username} забанен в БД (нет ID панели).",
|
||
"admin_user_unbanned_success_panel_too": "✅ Юзер {user_id_or_username} разбанен (БД и панель).",
|
||
"admin_user_unbanned_local_panel_fail": "⚠️ Юзер {user_id_or_username} разбанен в БД, ошибка панели.",
|
||
"admin_user_unbanned_local_no_panel_uuid": "✅ Юзер {user_id_or_username} разбанен в БД (нет ID панели).",
|
||
"admin_user_already_banned": "Пользователь {user_id_or_username} уже забанен.",
|
||
"admin_user_not_banned": "Пользователь {user_id_or_username} не забанен.",
|
||
"admin_confirm_unban_prompt": "Вы уверены, что хотите разбанить пользователя {user_display} (ID: <code>{user_id}</code>)?",
|
||
"admin_confirm_ban_prompt": "Вы уверены, что хотите забанить пользователя {user_display} (ID: <code>{user_id}</code>)?",
|
||
"admin_user_unbanned_from_card": "✅ Пользователь {user_display} (ID: {user_id}) был разбанен.",
|
||
"admin_user_banned_from_card": "✅ Пользователь {user_display} (ID: {user_id}) был забанен.",
|
||
"admin_banned_list_title": "🚫 Список забаненных (Стр. {current_page}/{total_pages})",
|
||
"admin_no_banned_users": "В настоящее время нет забаненных пользователей.",
|
||
"admin_user_card_title": "👤 Карточка: {user_display}",
|
||
"user_card_info": "<b>TG ID:</b> <code>{user_id}</code>\n<b>Username:</b> @{username}\n<b>Имя:</b> {first_name} {last_name}\n<b>Язык:</b> {language_code}\n<b>Panel UUID:</b> <code>{panel_user_uuid}</code>\n<b>Статус:</b> {ban_status}\n<b>Регистрация:</b> {reg_date}\n<b>Подписка до:</b> {sub_end_date}",
|
||
"user_card_banned": "🔴 ЗАБАНЕН",
|
||
"user_card_active": "🟢 Активен",
|
||
"user_card_sub_na": "Н/Д",
|
||
"user_card_unban_button": "✅ Разбанить",
|
||
"user_card_ban_button": "🚫 Забанить",
|
||
"user_card_back_to_banned_list_button": "⬅️ К списку",
|
||
|
||
"admin_broadcast_button": "📢 Рассылка",
|
||
"admin_broadcast_enter_message": "Сообщение для рассылки (HTML):",
|
||
"admin_broadcast_confirm_prompt": "Превью:\n\n---\n{message_preview}\n---\n\nОтправить всем?",
|
||
"confirm_broadcast_send_button": "✅ Отправить",
|
||
"cancel_broadcast_button": "❌ Отмена",
|
||
"admin_broadcast_sending_started": "Рассылка запущена...",
|
||
"admin_broadcast_error_no_message": "Ошибка: нет сообщения для рассылки.",
|
||
"admin_broadcast_finished_stats": "📢 Рассылка завершена.\nОтправлено: {sent_count}\nОшибок: {failed_count}",
|
||
"admin_broadcast_cancelled": "Рассылка отменена.",
|
||
|
||
"admin_create_promo_button": "🎁 Новое промо",
|
||
"admin_view_promos_button": "📜 Промокоды",
|
||
"admin_promo_create_prompt": "Промо: <code>КОД ДНИ МАКС [СРОК_ДН]</code>\nНапример: <code>LETO24 7 100 30</code> (действ. 30дн)\nНапример: <code>NEWBIE 5 500</code> (бессроч.)",
|
||
"admin_promo_invalid_format": "Формат: <code>КОД ДНИ ИСП [СРОК_ДН]</code>",
|
||
"admin_promo_invalid_values": "Неверные значения. Дни/исп. > 0. Ошибка: {error}",
|
||
"admin_promo_created_success": "✅ Промо '<code>{code}</code>': {bonus_days}дн, {max_activations} исп, {valid_until_str}.",
|
||
"admin_promo_valid_until_display": "До: {date}",
|
||
"admin_promo_valid_indefinitely": "Бессрочно",
|
||
"admin_promo_creation_failed": "❌ Ошибка создания промо (существует или БД).",
|
||
"admin_no_active_promos": "Активных промокодов нет.",
|
||
"admin_active_promos_list_header": "📜 Активные промокоды:",
|
||
"admin_promo_list_item": "- <code>{code}</code>: {bonus}дн, {current}/{max} исп, До: {valid_until}",
|
||
|
||
"admin_stats_button": "📊 Статистика",
|
||
"admin_stats_header": "📊 <b>Статистика бота:</b>",
|
||
"admin_stats_users": "\n👥 <b>Пользователи:</b>\n Всего: {total_users}\n Бан: {banned_users}\n Активные подписки (БД): {active_subs}",
|
||
"admin_stats_recent_payments_header": "\n💳 <b>Недавние платежи (БД бота):</b>",
|
||
"admin_stats_payment_item": " {status_emoji} {amount} {currency} от {user_info} ({p_status}) {p_date}",
|
||
"admin_stats_no_payments_found": "\nПлатежей в БД бота нет.",
|
||
"admin_stats_last_sync_header": "\n🔄 <b>Синхр. с панелью:</b>",
|
||
"admin_stats_sync_time": "Время",
|
||
"admin_stats_sync_status": "Статус",
|
||
"admin_stats_sync_users_processed": "Обработано с панели",
|
||
"admin_stats_sync_subs_synced": "Подписок синхр.",
|
||
"admin_stats_sync_details_label": "Детали",
|
||
"admin_sync_status_never_run": "Синхронизация не проводилась.",
|
||
|
||
"admin_view_logs_menu_button": "📜 Логи",
|
||
"admin_logs_menu_title": "📜 Логи Активности",
|
||
"admin_view_all_logs_button": "Все логи",
|
||
"admin_view_user_logs_prompt_button": "Логи юзера",
|
||
"admin_prompt_for_user_id_or_username_logs": "ID или @username для логов:",
|
||
"admin_all_logs_title": "📜 Активность (Стр. {current_page}/{total_pages})",
|
||
"admin_user_logs_title": "📜 Активность {user_display} (Стр. {current_page}/{total_pages})",
|
||
"admin_no_logs_found": "Логи не найдены.",
|
||
"admin_log_entry_format": "[{timestamp_str}] <b>Юзер:</b> {user_display} (ID: {user_id})\n<b>Тип:</b> {event_type}\n<b>Инфо:</b> <code>{content_preview}</code>",
|
||
"admin_log_user_not_found": "Юзер '{input}' не найден для логов.",
|
||
"system_or_unknown_user": "Система/Неизв.",
|
||
|
||
"admin_sync_panel_button": "🔄 Синхр.",
|
||
"sync_started": "Синхронизация с панелью начата...",
|
||
"sync_completed": "Синхронизация с панелью завершена.\nСтатус: {status}\nДетали: {details}",
|
||
"sync_failed": "Синхронизация с панелью не удалась.\nДетали: {details}",
|
||
"admin_sync_initiated_from_panel": "Синхронизация с панелью запущена!",
|
||
"error_cannot_initiate_sync_no_message": "Ошибка: не могу начать синхронизацию без контекста сообщения.",
|
||
|
||
"admin_suspicious_promo_attempt_notification": "⚠️ <b>Подозрительный ввод промокода!</b> ⚠️\n\n<b>Пользователь:</b> {user_first_name} (@{user_username}, ID: <code>{user_id}</code>)\n<b>Ввод:</b> <pre>{promo_code_input}</pre>",
|
||
"admin_suspicious_promo_attempt_notification_no_username": "⚠️ <b>Подозрительный ввод промокода!</b> ⚠️\n\n<b>Пользователь:</b> {user_first_name} (ID: <code>{user_id}</code>)\n<b>Ввод:</b> <pre>{promo_code_input}</pre>"
|
||
}
|