diff --git a/app/localization/locales/en.json b/app/localization/locales/en.json index 4d07fbc6..720b26f5 100644 --- a/app/localization/locales/en.json +++ b/app/localization/locales/en.json @@ -427,6 +427,142 @@ "PAYMENT_METHOD_CRYPTOBOT_DESCRIPTION": "via CryptoBot", "PAYMENT_METHOD_SUPPORT_NAME": "🛠️ Support team", "PAYMENT_METHOD_SUPPORT_DESCRIPTION": "other options", - "PAYMENT_METHODS_UNAVAILABLE_ALERT": "⚠️ Automated payment methods are temporarily unavailable. Contact support to top up your balance." - + "PAYMENT_METHODS_UNAVAILABLE_ALERT": "⚠️ Automated payment methods are temporarily unavailable. Contact support to top up your balance.", + "ADMIN_MONITORING_SETTINGS": "⚙️ Monitoring settings", + "ADMIN_PROMO_GROUP_AUTO_ASSIGN_DISABLED": "Auto assignment by total spending: disabled", + "ADMIN_PROMO_GROUP_AUTO_ASSIGN_LINE": "Auto assignment by total spending from {amount} ₽", + "ADMIN_PROMO_GROUP_CREATE_AUTO_ASSIGN_PROMPT": "Enter total spending (in ₽) required for automatic assignment. Send 0 to disable.", + "ADMIN_PROMO_GROUP_CREATE_PERIOD_PROMPT": "Enter subscription period discounts (e.g. 30:10, 90:15). Send 0 if none.", + "ADMIN_PROMO_GROUP_EDIT_AUTO_ASSIGN_PROMPT": "Enter total spending (in ₽) for auto assignment. Current value: {current}.", + "ADMIN_PROMO_GROUP_EDIT_FIELD_AUTO_ASSIGN": "🤖 Auto assignment by spending", + "ADMIN_PROMO_GROUP_EDIT_FIELD_DEVICES": "📱 Device discount", + "ADMIN_PROMO_GROUP_EDIT_FIELD_NAME": "✏️ Rename", + "ADMIN_PROMO_GROUP_EDIT_FIELD_PERIODS": "⏳ Period discounts", + "ADMIN_PROMO_GROUP_EDIT_FIELD_SERVERS": "🖥 Server discount", + "ADMIN_PROMO_GROUP_EDIT_FIELD_TRAFFIC": "🌐 Traffic discount", + "ADMIN_PROMO_GROUP_EDIT_MENU_HINT": "Select a parameter to change:", + "ADMIN_PROMO_GROUP_EDIT_MENU_TITLE": "✏️ Promo group settings “{name}”", + "ADMIN_PROMO_GROUP_EDIT_PERIOD_PROMPT": "Enter new period discounts (current: {current}). Send 0 if none.", + "ADMIN_PROMO_GROUP_INVALID_AUTO_ASSIGN": "Enter a non-negative amount in rubles or 0 to disable.", + "ADMIN_PROMO_GROUP_INVALID_PERIOD_DISCOUNTS": "Enter period:discount pairs separated by commas, e.g. 30:10, 90:15, or 0.", + "ADMIN_PROMO_GROUP_PERIOD_DISCOUNTS_HEADER": "⏳ Period discounts:", + "ADMIN_REPORTS": "📊 Reports", + "ADMIN_TICKETS_TITLE": "🎫 All support tickets:", + "ADMIN_TICKETS_TITLE_CLOSED": "🎫 Closed support tickets:", + "ADMIN_TICKETS_TITLE_OPEN": "🎫 Open support tickets:", + "ADMIN_TICKET_REPLY_INPUT": "Enter support reply:", + "ADMIN_TICKET_REPLY_SENT": "✅ Reply sent!", + "ATTACHMENTS_SENT": "✅ Attachments sent.", + "BACK_TO_MENU": "🏠 Back to menu", + "BACK_TO_OPEN_TICKETS": "🔴 Open tickets", + "BACK_TO_SUPPORT": "⬅️ Back to support", + "BACK_TO_TICKETS": "⬅️ Back to tickets", + "BALANCE_TOPUP": "💳 Top up balance", + "BLOCK_BY_TIME": "⏳ Temporary block", + "BLOCK_FOREVER": "🚫 Block permanently", + "CAMPAIGN_EXISTING_USERL": "ℹ️ This promotional link is available to new users only.", + "CANCEL_REPLY": "❌ Cancel reply", + "CANCEL_TICKET_CREATION": "❌ Cancel ticket creation", + "CLOSED_TICKETS": "🟢 Closed", + "CLOSED_TICKETS_HEADER": "🟢 Closed tickets", + "CLOSED_TICKETS_TITLE": "🟢 Closed tickets:", + "CLOSE_NOTIFICATION": "❌ Close notification", + "CLOSE_TICKET": "🔒 Close ticket", + "CONTACT_SUPPORT_BUTTON": "💬 Contact support", + "CREATE_TICKET_BUTTON": "🎫 Create ticket", + "DELETE_MESSAGE": "🗑 Delete", + "DISCOUNT_BONUS_DESCRIPTION": "Renewal discount bonus", + "DISCOUNT_CLAIM_ALREADY": "ℹ️ This discount has already been activated.", + "DISCOUNT_CLAIM_ERROR": "❌ Failed to credit the discount. Please try again later.", + "DISCOUNT_CLAIM_EXPIRED": "⚠️ The offer has expired.", + "DISCOUNT_CLAIM_NOT_FOUND": "❌ Offer not found.", + "DISCOUNT_CLAIM_SUCCESS": "🎉 Discount of {percent}% activated! {amount} credited to your balance.", + "ENTER_BLOCK_MINUTES": "Enter the number of minutes to block the user (e.g., 15):", + "LANGUAGE_SELECTION_DISABLED": "⚙️ Language selection is temporarily unavailable. Using the default language.", + "MARK_AS_ANSWERED": "✅ Mark as answered", + "MULENPAY_PAYMENT_ERROR": "❌ Failed to create Mulen Pay payment. Please try again later or contact support.", + "MULENPAY_PAYMENT_INSTRUCTIONS": "💳 Mulen Pay payment\n\n💰 Amount: {amount}\n🆔 Payment ID: {payment_id}\n\n📱 How to pay:\n1. Press ‘Pay with Mulen Pay’\n2. Follow the instructions on the payment page\n3. Confirm the transfer\n4. Funds will be credited automatically\n\n❓ Need help? Contact {support}", + "MULENPAY_PAY_BUTTON": "💳 Pay with Mulen Pay", + "MULENPAY_TOPUP_PROMPT": "💳 Mulen Pay payment\n\nEnter an amount between 100 and 100,000 ₽.\nThe payment is processed by the secure Mulen Pay platform.", + "MY_TICKETS_BUTTON": "📋 My tickets", + "MY_TICKETS_TITLE": "📋 Your tickets:", + "NOTIFICATION_CLOSED": "Notification closed.", + "NOTIFICATION_VALUE_INVALID": "❌ Invalid value, please enter a number.", + "NOTIFICATION_VALUE_UPDATED": "✅ Settings updated.", + "NOTIFY_PROMPT_SECOND_HOURS": "Enter the number of hours the discount is active (1-168):", + "NOTIFY_PROMPT_SECOND_PERCENT": "Enter a new discount percentage for the 2-3 day reminder (0-100):", + "NOTIFY_PROMPT_THIRD_DAYS": "After how many days without a subscription should we send the offer? (minimum 2):", + "NOTIFY_PROMPT_THIRD_HOURS": "Enter the number of hours the late discount is active (1-168):", + "NOTIFY_PROMPT_THIRD_PERCENT": "Enter a new discount percentage for the late offer (0-100):", + "NO_ATTACHMENTS": "No attachments.", + "NO_CLOSED_TICKETS": "There are no closed tickets yet.", + "NO_TICKETS": "You don't have any tickets yet.", + "NO_TICKETS_ADMIN": "No tickets to display.", + "OPEN_TICKETS": "🔴 Open", + "OPEN_TICKETS_HEADER": "🔴 Open tickets", + "PAL24_PAYMENT_ERROR": "❌ Failed to create a PayPalych payment. Please try again later or contact support.", + "PAL24_PAYMENT_INSTRUCTIONS": "🏦 PayPalych (SBP) payment\n\n💰 Amount: {amount}\n🆔 Invoice ID: {bill_id}\n\n📱 How to pay:\n1. Press ‘Pay with PayPalych (SBP)’\n2. Follow the system prompts\n3. Confirm the transfer\n4. Funds will be credited automatically\n\n❓ Need help? Contact {support}", + "PAL24_PAY_BUTTON": "🏦 Pay with PayPalych (SBP)", + "PAL24_TOPUP_PROMPT": "🏦 PayPalych (SBP) payment\n\nEnter an amount between 100 and 1,000,000 ₽.\nThe payment is processed via the PayPalych Faster Payments System.", + "PAYMENT_CARD_MULENPAY": "💳 Bank card (Mulen Pay)", + "PAYMENT_CARD_PAL24": "🏦 SBP (PayPalych)", + "PAYMENT_METHOD_MULENPAY_DESCRIPTION": "via Mulen Pay", + "PAYMENT_METHOD_MULENPAY_NAME": "💳 Bank card (Mulen Pay)", + "PAYMENT_METHOD_PAL24_DESCRIPTION": "via Faster Payments System", + "PAYMENT_METHOD_PAL24_NAME": "🏦 SBP (PayPalych)", + "REPLY_TO_TICKET": "💬 Reply", + "REPORT_CLOSE": "❌ Close", + "REPORT_CLOSED": "✅ Report closed.", + "REPORT_CLOSE_ERROR": "❌ Failed to close the report.", + "SENDING_ATTACHMENTS": "📎 Sending attachments...", + "SUBSCRIPTION_EXPIRED_1D": "⛔ Your subscription expired\n\nAccess was disabled on {end_date}. Renew to return to the service.\n\n💎 Renewal price: {price}", + "SUBSCRIPTION_EXPIRED_SECOND_WAVE": "🔥 {percent}% discount on renewal\n\nTap “Get discount” and we'll add {bonus} to your balance. The offer is valid until {expires_at}.", + "SUBSCRIPTION_EXPIRED_THIRD_WAVE": "🎁 Personal {percent}% discount\n\nIt's been {trigger_days} days without a subscription. Come back — tap “Get discount” and {bonus} will be credited. Offer valid until {expires_at}.", + "SUBSCRIPTION_EXTEND": "💎 Extend subscription", + "SUBSCRIPTION_HAPP_CRYPTOLINK_BLOCK": "
{crypto_link}",
+ "SUBSCRIPTION_HAPP_LINK_PROMPT": "🔒 Subscription link is ready. Tap the \"Connect\" button below to open it in Happ.",
+ "SUBSCRIPTION_HAPP_OPEN_BUTTON_HINT": "▶️ Tap the \"Connect\" button below to open Happ and add the subscription automatically.",
+ "SUBSCRIPTION_HAPP_OPEN_HINT": "💡 If the link doesn't open automatically, copy it manually:",
+ "SUBSCRIPTION_HAPP_OPEN_LINK": "🔓 Open link in Happ",
+ "SUBSCRIPTION_HAPP_OPEN_TITLE": "🔗 Connect via Happ",
+ "SUPPORT_BUTTON": "🆘 Support",
+ "TICKET_ALREADY_OPEN": "You already have an open ticket. Please close it first.",
+ "TICKET_ATTACHMENTS": "📎 Attachments",
+ "TICKET_CLOSED": "✅ Ticket closed.",
+ "TICKET_CLOSED_NO_REPLY": "❌ The ticket is closed; replying is not possible.",
+ "TICKET_CLOSE_ERROR": "❌ Error closing ticket.",
+ "TICKET_CREATED_SUCCESS": "✅ Ticket #{ticket_id} created successfully!\n\nTitle: {title}\n\nWe will respond to you soon.",
+ "TICKET_CREATE_ERROR": "❌ An error occurred while creating the ticket. Please try again later.",
+ "TICKET_CREATION_CANCELLED": "Ticket creation cancelled.",
+ "TICKET_CREATION_ERROR": "❌ An error occurred while creating the ticket. Please try again later.",
+ "TICKET_MARKED_ANSWERED": "✅ Ticket marked as answered.",
+ "TICKET_MESSAGE_INPUT": "Now describe your problem or question:",
+ "TICKET_MESSAGE_TOO_SHORT": "Message must contain at least 10 characters. Try again:",
+ "TICKET_NOT_FOUND": "Ticket not found.",
+ "TICKET_PRIORITY_HIGH": "🟠 High",
+ "TICKET_PRIORITY_LOW": "🟢 Low",
+ "TICKET_PRIORITY_NORMAL": "🟡 Normal",
+ "TICKET_PRIORITY_SELECT": "Select ticket priority:",
+ "TICKET_PRIORITY_URGENT": "🔴 Urgent",
+ "TICKET_REPLY_CANCELLED": "Reply cancelled.",
+ "TICKET_REPLY_ERROR": "❌ An error occurred while sending the reply. Please try again later.",
+ "TICKET_REPLY_INPUT": "Enter your reply:",
+ "TICKET_REPLY_NOTIFICATION": "🎫 Reply received for ticket #{ticket_id}\n\n{reply_preview}\n\nClick the button below to go to the ticket:",
+ "TICKET_REPLY_SENT": "✅ Your reply has been sent!",
+ "TICKET_REPLY_TOO_SHORT": "Reply must contain at least 5 characters. Try again:",
+ "TICKET_STATUS_ANSWERED": "Answered",
+ "TICKET_STATUS_CLOSED": "Closed",
+ "TICKET_STATUS_OPEN": "Open",
+ "TICKET_STATUS_PENDING": "Pending",
+ "TICKET_TITLE_INPUT": "Enter ticket title:",
+ "TICKET_TITLE_TOO_LONG": "Title is too long. Maximum 255 characters. Try again:",
+ "TICKET_TITLE_TOO_SHORT": "Title must contain at least 5 characters. Try again:",
+ "TICKET_UPDATE_ERROR": "❌ Error updating ticket.",
+ "TRIAL_INACTIVE_1H": "⏳ An hour has passed and we haven't seen any traffic yet\n\nOpen the connection guide and follow the steps. We're always ready to help!",
+ "TRIAL_INACTIVE_24H": "⏳ A full day passed without activity\n\nWe still don't see traffic from your test subscription. Use the guide or message support and we'll help you connect!",
+ "UNBLOCK": "✅ Unblock",
+ "USER_BLOCKED_FOREVER": "You are blocked from contacting support.",
+ "USER_BLOCKED_UNTIL": "You are blocked until {time}",
+ "VIEW_CLOSED_TICKETS": "🟢 Closed tickets",
+ "VIEW_TICKET": "👁️ View ticket"
}
diff --git a/app/localization/locales/ru.json b/app/localization/locales/ru.json
index 19018adc..b098b064 100644
--- a/app/localization/locales/ru.json
+++ b/app/localization/locales/ru.json
@@ -429,6 +429,140 @@
"PAYMENT_METHOD_CRYPTOBOT_DESCRIPTION": "через CryptoBot",
"PAYMENT_METHOD_SUPPORT_NAME": "🛠️ Через поддержку",
"PAYMENT_METHOD_SUPPORT_DESCRIPTION": "другие способы",
- "PAYMENT_METHODS_UNAVAILABLE_ALERT": "⚠️ В данный момент автоматические способы оплаты временно недоступны. Для пополнения баланса обратитесь в техподдержку."
-
+ "PAYMENT_METHODS_UNAVAILABLE_ALERT": "⚠️ В данный момент автоматические способы оплаты временно недоступны. Для пополнения баланса обратитесь в техподдержку.",
+ "ADMIN_MONITORING_SETTINGS": "⚙️ Настройки мониторинга",
+ "ADMIN_PROMO_GROUP_AUTO_ASSIGN_DISABLED": "Автовыдача по суммарным тратам: отключена",
+ "ADMIN_PROMO_GROUP_AUTO_ASSIGN_LINE": "Автовыдача по суммарным тратам: от {amount} ₽",
+ "ADMIN_PROMO_GROUP_CREATE_AUTO_ASSIGN_PROMPT": "Введите сумму общих трат (в ₽) для автоматической выдачи этой группы. Отправьте 0, чтобы отключить.",
+ "ADMIN_PROMO_GROUP_CREATE_PERIOD_PROMPT": "Введите скидки на периоды подписки (например, 30:10, 90:15). Отправьте 0, если без скидок.",
+ "ADMIN_PROMO_GROUP_EDIT_AUTO_ASSIGN_PROMPT": "Введите сумму общих трат (в ₽) для автовыдачи. Текущее значение: {current}.",
+ "ADMIN_PROMO_GROUP_EDIT_FIELD_AUTO_ASSIGN": "🤖 Автовыдача по тратам",
+ "ADMIN_PROMO_GROUP_EDIT_FIELD_DEVICES": "📱 Скидка на устройства",
+ "ADMIN_PROMO_GROUP_EDIT_FIELD_NAME": "✏️ Изменить название",
+ "ADMIN_PROMO_GROUP_EDIT_FIELD_PERIODS": "⏳ Скидки по периодам",
+ "ADMIN_PROMO_GROUP_EDIT_FIELD_SERVERS": "🖥 Скидка на серверы",
+ "ADMIN_PROMO_GROUP_EDIT_FIELD_TRAFFIC": "🌐 Скидка на трафик",
+ "ADMIN_PROMO_GROUP_EDIT_MENU_HINT": "Выберите параметр для изменения:",
+ "ADMIN_PROMO_GROUP_EDIT_MENU_TITLE": "✏️ Настройки промогруппы «{name}»",
+ "ADMIN_PROMO_GROUP_EDIT_PERIOD_PROMPT": "Введите новые скидки на периоды (текущие: {current}). Отправьте 0, если без скидок.",
+ "ADMIN_PROMO_GROUP_INVALID_AUTO_ASSIGN": "Введите неотрицательное число в рублях или 0 для отключения.",
+ "ADMIN_PROMO_GROUP_INVALID_PERIOD_DISCOUNTS": "Введите пары период:скидка через запятую, например 30:10, 90:15, или 0.",
+ "ADMIN_PROMO_GROUP_PERIOD_DISCOUNTS_HEADER": "⏳ Скидки по периодам:",
+ "ADMIN_REPORTS": "📊 Отчеты",
+ "ADMIN_TICKETS_TITLE": "🎫 Все тикеты поддержки:",
+ "ADMIN_TICKET_REPLY_INPUT": "Введите ответ от поддержки:",
+ "ADMIN_TICKET_REPLY_SENT": "✅ Ответ отправлен!",
+ "ATTACHMENTS_SENT": "✅ Вложения отправлены.",
+ "BACK_TO_MENU": "🏠 В главное меню",
+ "BACK_TO_OPEN_TICKETS": "🔴 Открытые тикеты",
+ "BACK_TO_SUPPORT": "⬅️ К поддержке",
+ "BACK_TO_TICKETS": "⬅️ К тикетам",
+ "BALANCE_TOPUP": "💳 Пополнить баланс",
+ "BLOCK_BY_TIME": "⏳ Блокировка по времени",
+ "BLOCK_FOREVER": "🚫 Заблокировать",
+ "CAMPAIGN_EXISTING_USERL": "ℹ️ Эта рекламная ссылка доступна только новым пользователям.",
+ "CANCEL_REPLY": "❌ Отменить ответ",
+ "CANCEL_TICKET_CREATION": "❌ Отменить создание тикета",
+ "CLOSED_TICKETS": "🟢 Закрытые",
+ "CLOSED_TICKETS_HEADER": "🟢 Закрытые тикеты",
+ "CLOSED_TICKETS_TITLE": "🟢 Закрытые тикеты:",
+ "CLOSE_NOTIFICATION": "❌ Закрыть уведомление",
+ "CLOSE_TICKET": "🔒 Закрыть тикет",
+ "CONTACT_SUPPORT_BUTTON": "💬 Связаться с поддержкой",
+ "CREATE_TICKET_BUTTON": "🎫 Создать тикет",
+ "DELETE_MESSAGE": "🗑 Удалить",
+ "DISCOUNT_BONUS_DESCRIPTION": "Скидка за продление подписки",
+ "DISCOUNT_CLAIM_ALREADY": "ℹ️ Скидка уже была активирована ранее.",
+ "DISCOUNT_CLAIM_ERROR": "❌ Не удалось начислить скидку. Попробуйте позже.",
+ "DISCOUNT_CLAIM_EXPIRED": "⚠️ Время действия предложения истекло.",
+ "DISCOUNT_CLAIM_NOT_FOUND": "❌ Предложение не найдено.",
+ "DISCOUNT_CLAIM_SUCCESS": "🎉 Скидка {percent}% активирована! На баланс начислено {amount}.",
+ "ENTER_BLOCK_MINUTES": "Введите количество минут для блокировки пользователя (например, 15):",
+ "LANGUAGE_SELECTION_DISABLED": "⚙️ Выбор языка временно недоступен. Используем язык по умолчанию.",
+ "MARK_AS_ANSWERED": "✅ Отметить как отвеченный",
+ "MULENPAY_PAYMENT_ERROR": "❌ Ошибка создания платежа Mulen Pay. Попробуйте позже или обратитесь в поддержку.",
+ "MULENPAY_PAYMENT_INSTRUCTIONS": "💳 Оплата через Mulen Pay\n\n💰 Сумма: {amount}\n🆔 ID платежа: {payment_id}\n\n📱 Инструкция:\n1. Нажмите кнопку ‘Оплатить через Mulen Pay’\n2. Следуйте подсказкам платежной системы\n3. Подтвердите перевод\n4. Средства зачислятся автоматически\n\n❓ Если возникнут проблемы, обратитесь в {support}",
+ "MULENPAY_PAY_BUTTON": "💳 Оплатить через Mulen Pay",
+ "MULENPAY_TOPUP_PROMPT": "💳 Оплата через Mulen Pay\n\nВведите сумму для пополнения от 100 до 100 000 ₽.\nОплата происходит через защищенную платформу Mulen Pay.",
+ "MY_TICKETS_BUTTON": "📋 Мои тикеты",
+ "MY_TICKETS_TITLE": "📋 Ваши тикеты:",
+ "NOTIFICATION_CLOSED": "Уведомление закрыто.",
+ "NOTIFICATION_VALUE_INVALID": "❌ Некорректное значение, укажите число.",
+ "NOTIFICATION_VALUE_UPDATED": "✅ Настройки обновлены.",
+ "NOTIFY_PROMPT_SECOND_HOURS": "Введите количество часов действия скидки (1-168):",
+ "NOTIFY_PROMPT_SECOND_PERCENT": "Введите новый процент скидки для уведомления через 2-3 дня (0-100):",
+ "NOTIFY_PROMPT_THIRD_DAYS": "Через сколько дней после истечения отправлять предложение? (минимум 2):",
+ "NOTIFY_PROMPT_THIRD_HOURS": "Введите количество часов действия скидки (1-168):",
+ "NOTIFY_PROMPT_THIRD_PERCENT": "Введите новый процент скидки для позднего предложения (0-100):",
+ "NO_ATTACHMENTS": "Вложений нет.",
+ "NO_CLOSED_TICKETS": "Закрытых тикетов пока нет.",
+ "NO_TICKETS": "У вас пока нет тикетов.",
+ "NO_TICKETS_ADMIN": "Нет тикетов для отображения.",
+ "OPEN_TICKETS": "🔴 Открытые",
+ "OPEN_TICKETS_HEADER": "🔴 Открытые тикеты",
+ "PAL24_PAYMENT_ERROR": "❌ Ошибка создания платежа PayPalych. Попробуйте позже или обратитесь в поддержку.",
+ "PAL24_PAYMENT_INSTRUCTIONS": "🏦 Оплата через PayPalych (СБП)\n\n💰 Сумма: {amount}\n🆔 ID счета: {bill_id}\n\n📱 Инструкция:\n1. Нажмите кнопку ‘Оплатить через PayPalych (СБП)’\n2. Следуйте подсказкам платежной системы\n3. Подтвердите перевод\n4. Средства зачислятся автоматически\n\n❓ Если возникнут проблемы, обратитесь в {support}",
+ "PAL24_PAY_BUTTON": "🏦 Оплатить через PayPalych (СБП)",
+ "PAL24_TOPUP_PROMPT": "🏦 Оплата через PayPalych (СБП)\n\nВведите сумму для пополнения от 100 до 1 000 000 ₽.\nОплата проходит через систему быстрых платежей PayPalych.",
+ "PAYMENT_CARD_MULENPAY": "💳 Банковская карта (Mulen Pay)",
+ "PAYMENT_CARD_PAL24": "🏦 СБП (PayPalych)",
+ "PAYMENT_METHOD_MULENPAY_DESCRIPTION": "через Mulen Pay",
+ "PAYMENT_METHOD_MULENPAY_NAME": "💳 Банковская карта (Mulen Pay)",
+ "PAYMENT_METHOD_PAL24_DESCRIPTION": "через систему быстрых платежей",
+ "PAYMENT_METHOD_PAL24_NAME": "🏦 СБП (PayPalych)",
+ "REPLY_TO_TICKET": "💬 Ответить",
+ "REPORT_CLOSE": "❌ Закрыть",
+ "REPORT_CLOSED": "✅ Отчет закрыт.",
+ "REPORT_CLOSE_ERROR": "❌ Не удалось закрыть отчет.",
+ "SENDING_ATTACHMENTS": "📎 Отправляю вложения...",
+ "SUBSCRIPTION_EXPIRED_1D": "⛔ Подписка закончилась\n\nДоступ был отключён {end_date}. Продлите подписку, чтобы вернуть полный доступ.\n\n💎 Стоимость продления: {price}",
+ "SUBSCRIPTION_EXPIRED_SECOND_WAVE": "🔥 Скидка {percent}% на продление\n\nНажмите «Получить скидку», и мы начислим {bonus} на ваш баланс. Предложение действительно до {expires_at}.",
+ "SUBSCRIPTION_EXPIRED_THIRD_WAVE": "🎁 Индивидуальная скидка {percent}%\n\nПрошло {trigger_days} дней без подписки. Вернитесь — нажмите «Получить скидку», и {bonus} поступит на баланс. Предложение действительно до {expires_at}.",
+ "SUBSCRIPTION_EXTEND": "💎 Продлить подписку",
+ "SUBSCRIPTION_HAPP_CRYPTOLINK_BLOCK": "{crypto_link}",
+ "SUBSCRIPTION_HAPP_LINK_PROMPT": "🔒 Ссылка на подписку создана. Нажмите кнопку \"Подключиться\" ниже, чтобы открыть её в Happ.",
+ "SUBSCRIPTION_HAPP_OPEN_BUTTON_HINT": "▶️ Нажмите кнопку \"Подключиться\" ниже, чтобы открыть Happ и добавить подписку автоматически.",
+ "SUBSCRIPTION_HAPP_OPEN_HINT": "💡 Если ссылка не открывается автоматически, скопируйте её вручную:",
+ "SUBSCRIPTION_HAPP_OPEN_LINK": "🔓 Открыть ссылку в Happ",
+ "SUBSCRIPTION_HAPP_OPEN_TITLE": "🔗 Подключение через Happ",
+ "SUPPORT_BUTTON": "🆘 Поддержка",
+ "TICKET_ALREADY_OPEN": "У вас уже есть незакрытый тикет. Сначала закройте его.",
+ "TICKET_ATTACHMENTS": "📎 Вложения",
+ "TICKET_CLOSED": "✅ Тикет закрыт.",
+ "TICKET_CLOSED_NO_REPLY": "❌ Тикет закрыт, ответить невозможно.",
+ "TICKET_CLOSE_ERROR": "❌ Ошибка при закрытии тикета.",
+ "TICKET_CREATED_SUCCESS": "✅ Тикет #{ticket_id} успешно создан!\n\nЗаголовок: {title}\n\nМы ответим вам в ближайшее время.",
+ "TICKET_CREATE_ERROR": "❌ Произошла ошибка при создании тикета. Попробуйте позже.",
+ "TICKET_CREATION_CANCELLED": "Создание тикета отменено.",
+ "TICKET_CREATION_ERROR": "❌ Произошла ошибка при создании тикета. Попробуйте позже.",
+ "TICKET_MARKED_ANSWERED": "✅ Тикет отмечен как отвеченный.",
+ "TICKET_MESSAGE_INPUT": "Опишите проблему (до 500 символов) или отправьте фото c подписью:",
+ "TICKET_MESSAGE_TOO_SHORT": "Сообщение должно содержать минимум 10 символов. Попробуйте еще раз:",
+ "TICKET_NOT_FOUND": "Тикет не найден.",
+ "TICKET_PRIORITY_HIGH": "🟠 Высокий",
+ "TICKET_PRIORITY_LOW": "🟢 Низкий",
+ "TICKET_PRIORITY_NORMAL": "🟡 Обычный",
+ "TICKET_PRIORITY_SELECT": "Выберите приоритет тикета:",
+ "TICKET_PRIORITY_URGENT": "🔴 Срочный",
+ "TICKET_REPLY_CANCELLED": "Ответ отменен.",
+ "TICKET_REPLY_ERROR": "❌ Произошла ошибка при отправке ответа. Попробуйте позже.",
+ "TICKET_REPLY_INPUT": "Введите ваш ответ:",
+ "TICKET_REPLY_NOTIFICATION": "🎫 Получен ответ по тикету #{ticket_id}\n\n{reply_preview}\n\nНажмите кнопку ниже, чтобы перейти к тикету:",
+ "TICKET_REPLY_SENT": "✅ Ваш ответ отправлен!",
+ "TICKET_REPLY_TOO_SHORT": "Ответ должен содержать минимум 5 символов. Попробуйте еще раз:",
+ "TICKET_STATUS_ANSWERED": "Отвечен",
+ "TICKET_STATUS_CLOSED": "Закрыт",
+ "TICKET_STATUS_OPEN": "Открыт",
+ "TICKET_STATUS_PENDING": "В ожидании",
+ "TICKET_TITLE_INPUT": "Введите заголовок тикета:",
+ "TICKET_TITLE_TOO_LONG": "Заголовок слишком длинный. Максимум 255 символов. Попробуйте еще раз:",
+ "TICKET_TITLE_TOO_SHORT": "Заголовок должен содержать минимум 5 символов. Попробуйте еще раз:",
+ "TICKET_UPDATE_ERROR": "❌ Ошибка при обновлении тикета.",
+ "TRIAL_INACTIVE_1H": "⏳ Прошёл час, а подключение не выполнено\n\nЕсли возникли сложности — откройте инструкцию и следуйте шагам. Мы всегда готовы помочь!",
+ "TRIAL_INACTIVE_24H": "⏳ Прошли сутки с начала теста\n\nМы не видим трафика по вашей подписке. Загляните в инструкцию или напишите в поддержку — поможем подключиться!",
+ "UNBLOCK": "✅ Разблокировать",
+ "USER_BLOCKED_FOREVER": "Вы заблокированы для обращений в поддержку.",
+ "USER_BLOCKED_UNTIL": "Вы заблокированы до {time}",
+ "VIEW_CLOSED_TICKETS": "🟢 Закрытые тикеты",
+ "VIEW_TICKET": "👁️ Посмотреть тикет"
}