Files
deploy 661a71649a feat(locales): add tally VC-permission keys to all non-English locales
Adds no_vc_perm, no_vc_perm_diagnose, vc_perm_ok, vc_perm_header, and
vc_perm_not_in_vc to cs, de, es, fr, it, pl, pt, ru, uk, zh-CN.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 08:00:06 +00:00

906 lines
72 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"common": {
"error_title": "Ошибка",
"no_data_title": "Нет данных",
"access_denied_title": "Доступ запрещён",
"access_denied_desc": "Этот сервер заблокирован.",
"no_players_selected": "Игроки не выбраны. Выберите хотя бы одного игрока.",
"must_use_in_server": "Эта команда доступна только на сервере.",
"could_not_resolve_channel": "Не удалось определить выбранный канал.",
"failed_update_setting": "❌ Не удалось обновить настройку.",
"configuration_not_found": "Конфигурация не найдена.",
"no_channel_selected": "Канал не выбран.",
"no_selection_received": "Выбор не получен.",
"database_error": "❌ Ошибка базы данных: {error}",
"enabled": "Включено",
"disabled": "Отключено",
"not_configured": "Не настроено",
"unknown": "Неизвестно",
"rating_field": "Рейтинг",
"battles_field": "Бои",
"wins_field": "Победы",
"losses_field": "Поражения",
"win_rate_field": "Процент побед",
"kills_field": "Уничтожения",
"deaths_field": "Гибели",
"kd_field": "K/D",
"members_field": "Участники",
"placement_field": "Место",
"points_field": "Очки",
"ground_kills_field": "Наземные уничтожения",
"air_kills_field": "Воздушные уничтожения",
"total_kills_field": "Всего уничтожений",
"assists_field": "Помощь",
"captures_field": "Захваты",
"none_option": "Нет"
},
"buttons": {
"skip": "Пропустить",
"previous": "Назад",
"next": "Далее",
"prev": "Назад",
"prev_arrow": "◀ Назад",
"next_arrow": "Далее ▶",
"prev_arrow_only": "◀",
"next_arrow_only": "▶",
"generate_chart": "📊 Построить график",
"show_graph": "Показать график",
"view_player_stats": "📊 Статистика игроков",
"compare_nearby": "📈 Сравнить соседние полки",
"confirm_swap": "Да, заменить",
"cancel_swap": "Нет, оставить прежний",
"set_squadron": "Установить полк",
"same_as_logs": "Как в логах",
"require_password": "🔒 Требовать пароль",
"password_required": "🔒 Пароль обязателен",
"lock_data": "🔐 Привязать данные полка",
"data_locked": "🔐 Данные привязаны к серверу",
"allow_public": "👥 Разрешить публичную мету",
"public_enabled": "👥 Публичная мета включена",
"update_accounts": "📋 Обновить мета-аккаунты",
"change_password": "🔑 Изменить пароль",
"help": "❓ Помощь",
"add_player": "➕ Добавить игрока",
"update_all": "🔄 Обновить всех участников",
"back_to_settings": "⬅ К настройкам",
"manage_notifications": "Управление уведомлениями",
"diagnose_permissions": "Диагностика прав",
"enable": "Включить",
"disable": "Отключить",
"change_channel": "Сменить канал",
"view_replay": "Просмотреть реплей",
"view_website": "Открыть на сайте",
"view_video": "Просмотреть видео",
"view_log": "Просмотреть лог",
"view_chat": "Просмотреть чат",
"subscribe_website": "Подписаться через сайт",
"yes_disband": "Да, распустить",
"cancel": "Отмена",
"transfer_leave": "Передать и выйти",
"accept_selected": "Принять выбранных",
"accept_all": "Принять всех",
"decline_selected": "Отклонить выбранных",
"back": "Назад",
"remove_all": "Удалить всех",
"remove_active": "Удалить активных",
"remove_queued": "Удалить в очереди",
"remove_selected": "Удалить выбранных",
"ping_all": "Пинг всех",
"ping_active": "Пинг активных",
"ping_queued": "Пинг в очереди",
"ping_selected": "Пинг выбранных",
"accept_members": "Принять участников",
"remove_members": "Удалить участников",
"ping_members": "Пинг участников",
"rename_stack": "Переименовать стак",
"request_to_join": "Запросить вступление",
"leave_withdraw": "Выйти / Отозвать",
"manage_stack": "Управление стаком ⚙️",
"disband_stack": "Распустить стак",
"force_disband_create": "Принудительно распустить и создать новый"
},
"events": {
"guild_join_title": "Спасибо, что добавили меня!",
"guild_join_desc": "Запустите `/setup`, чтобы настроить бота для этого сервера."
},
"comp": {
"not_found_title": "Составы не найдены",
"not_found_desc": "Нет данных для **{squadron}**, попробуйте позже.",
"error_loading_title": "Ошибка загрузки составов",
"error_loading_desc": "Не удалось загрузить данные составов: {error}",
"title": "Составы полка {squadron}",
"desc": "Составы, замеченные за последние {minutes} минут",
"no_recent_title": "Нет недавних составов",
"no_recent_desc": "Нет составов за последние {minutes} минут.",
"comp_title": "СОСТАВ {index}",
"last_seen_label": "**Последний раз замечен** : {timestamp}{warning}",
"comp_label": "**Состав**: {notation}",
"no_players_recorded": "Нет зафиксированных игроков.",
"limit_reached_title": "Лимит составов достигнут",
"limit_reached_desc": "Этот сервер использовал все {limit} запросов составов для этого таймслота. Подпишитесь (через /unlock) для безлимитного доступа или дождитесь следующего таймслота.",
"user_limit_reached_desc": "Вы использовали все {limit} ваших личных запросов составов для этого таймслота на не-премиум серверах. Другие участники здесь могут продолжать использовать оставшуюся квоту сервера, а премиум-серверы (где использован /unlock) остаются без ограничений — оформите /unlock или дождитесь следующего таймслота.",
"remaining_footer": "{remaining}/{limit} запросов составов осталось в этом таймслоте",
"user_remaining_footer": "{remaining}/{limit} личных запросов составов осталось в этом таймслоте",
"remaining_footer_combined": "{user_remaining}/{user_limit} личных · {server_remaining}/{server_limit} серверных запросов составов осталось в этом таймслоте"
},
"quick_log": {
"invalid_type": "Тип может быть только Логи, Очки, Таблица лидеров, Еженедельный BR или Все.",
"squadron_required": "Для типов Логи, Очки или Оба необходимо указать название полка.",
"wildcard_logs_only": "Только тип Логи поддерживает универсальный полк.",
"squadron_not_resolved": "Не удалось определить полк `{squadron}`.",
"save_failed": "Не удалось сохранить настройки. Попробуйте позже.",
"premium_warning": "\n\n> ⚠️ **Игровые логи требуют Premium.** Запустите `/unlock` для подписки ($2.99/мес.) — логи не будут публиковаться до её активации.",
"leaderboard_set": "Оповещение глобального рейтинга установлено для этого канала.",
"both_set": "Оповещения о логах и очках для {squadron} установлены для этого канала.{premium_note}",
"alarm_set": "Оповещение {alarm_type} для {squadron} установлено для этого канала.{premium_note}",
"weekly_br_wildcard_set": "Еженедельный отчёт BR (топ-20 полков) настроен на этот канал. Отправляется в конце каждой ротации BR.",
"weekly_br_squadron_set": "Еженедельный отчёт BR для {squadron} (топ-15 игроков) настроен на этот канал. Отправляется в конце каждой ротации BR."
},
"diagnostics": {
"title": "Диагностика автологирования",
"channel_permissions_header": "**Права канала** (<#{channel_id}>)",
"perms_needed": " ^ Автологирование требует всех указанных прав для отправки таблиц результатов.",
"server_squadron_header": "**Полк сервера** (`/set-squadron`)",
"server_squadron_short": " Короткое: `{short}`",
"server_squadron_long": " Длинное: `{long}`",
"server_squadron_not_set": " Не задано (цвет полосы таблицы результатов будет 'not_set')",
"autolog_prefs_header": "**Настройки автологирования** (`/quick-log`)",
"autolog_none_configured": " ❌ Ничего НЕ настроено — автологирование НЕ будет отправлять ничего на этот сервер.",
"autolog_setup_hint": " Используйте `/quick-log <squadron_short> Logs` в нужном канале для настройки.",
"autolog_no_logs_channels": " ❌ Каналы для логов не настроены. Найдены только каналы для Очков/Рейтинга.",
"autolog_enable_hint": " Используйте `/quick-log <squadron_short> Logs` для включения автологирования.",
"selected_channel_tag": " **(выбранный канал)**",
"missing_send_attach": " (отсутствуют права отправки/прикрепления)",
"channel_not_found": " (канал не найден)",
"invalid_channel_id": " (некорректный ID канала)",
"premium_status_header": "**Статус Premium** (`/unlock`)",
"premium_active": " ✅ На этом сервере активна подписка Premium.",
"premium_not_subscribed": " ❌ На этом сервере **нет** подписки Premium.",
"premium_autolog_required": " Автологирование требует Premium. Используйте `/unlock` для подписки.",
"premium_not_subscribed_free": " ⚪ Подписка отсутствует — используйте `/unlock` для подписки ($2.99/мес.).",
"premium_free_note": " *(Автологи сейчас бесплатны для всех серверов.)*"
},
"sq_info": {
"title": "Информация о полке: {squadron}",
"placement_field": "Место",
"total_points_field": "Всего очков",
"total_members_field": "Всего участников",
"members_field": "Участники",
"fetch_failed": "Не удалось получить информацию о полке."
},
"sq_info_graph": {
"title": "{squadron} — SQ-INFO (Сезон {season})",
"embed_title": "{squadron} — Состав полка",
"embed_desc": "Сезон **{season}** · Медиана боёв: **{median}** · Костяк: **{core}** · Активные: **{active}** · Слабые: **{weak}**\nСтолбцы по убыванию боёв; высота = винрейт. Костяк = ≥ медианы и WR ≥ 1,5× WR полка. Слабые = меньше медианы или WR < WR полка ÷ 2. Активные = все остальные.",
"core_threshold_line": "КОСТЯК ≥ {wr} %",
"weak_threshold_line": "СЛАБЫЕ < {wr} %",
"y_label": "Винрейт",
"core_header": "КОСТЯК — {count} · WR {avg}%",
"active_header": "АКТИВНЫЕ — {count} · WR {avg}%",
"weak_header": "СЛАБЫЕ — {count} · WR {avg}%",
"no_active_season": "Активный сезон не найден. Попробуйте позже, когда начнётся следующий.",
"no_members": "Текущие участники для {squadron} не найдены."
},
"recap_card": {
"unknown_season": "Неизвестный сезон: `{season}`.",
"no_clan_id": "Не удалось определить ID полка `{squadron}`.",
"render_failed": "Не удалось сгенерировать сезонную карточку. Попробуйте позже."
},
"sq_stats": {
"no_data_title": "Нет данных",
"no_data_desc": "Исторические данные для полка {squadron} не найдены",
"title": "{squadron} // ПОЛК",
"desc": "Тренд общего счёта (последние {count} точек данных)",
"previous_score_field": "Предыдущий счёт",
"current_score_field": "Текущий счёт",
"change_field": "Изменение",
"player_title": "{squadron} // ИГРОКИ",
"player_desc": "Тренды очков отдельных игроков",
"comparison_title": "{squadron} // СРАВНЕНИЕ РЕЙТИНГА",
"comparison_desc": "Сравнение с полками на позициях {range}",
"current_position_field": "Текущая позиция",
"squadrons_shown_field": "Полков отображено",
"squadron_not_found_error": "Полк не найден в рейтинге",
"no_nearby_error": "Соседние полки не найдены",
"no_historical_error": "Исторические данные для соседних полков не найдены",
"comparison_chart_failed": "Не удалось построить сравнительный график",
"select_players_placeholder": "Выберите игроков (Стр. {page})"
},
"loss_calc": {
"title": "Потеря очков — {squadron}",
"players_leaving_field": "Уходящие игроки",
"share_of_total_field": "% от общего",
"points_lost_real_field": "Потеряно очков (реальных)",
"points_lost_raw_field": "Потеряно очков (сырых)",
"squadron_rating_field": "Рейтинг полка",
"squadron_position_field": "Позиция полка",
"positions_lost_field": "Потеряно позиций",
"not_found_footer": "Не найдено в полке: {players}",
"fetch_failed": "Не удалось получить данные полка: {error}",
"no_point_data": "Данные об очках для этого полка недоступны.",
"no_matching_players": "В полке **{squadron}** не найдено подходящих игроков."
},
"player": {
"select_player_placeholder": "Выберите игрока",
"no_stats_found": "❌ Статистика не найдена для UID: {uid}",
"no_vehicle_stats": "❌ Статистика техники для этого игрока не найдена.",
"vehicles_found": "Найдено **{count}** единиц техники для **{nick}**\nВыберите технику для просмотра подробной статистики:",
"vehicle_select_placeholder": "Выберите технику (Стр. {page}/{total})",
"combat_stats_header": "**__БОЕВАЯ СТАТИСТИКА__**",
"ground_kills_label": "**Наземные уничтожения:** {value}",
"air_kills_label": "**Воздушные уничтожения:** {value}",
"total_kills_label": "**Всего уничтожений:** {value}",
"assists_label": "**Помощь:** {value}",
"deaths_label": "**Гибели:** {value}",
"kd_label": "**K/D:** {value}",
"captures_label": "**Захваты:** {value}",
"battle_record_header": "**__БОЕВОЙ СЧЁТ__**",
"total_battles_label": "**Всего боёв:** {value}",
"wins_label": "**Победы:** {value}",
"losses_label": "**Поражения:** {value}",
"win_rate_label": "**Процент побед:** {value}%",
"stats_desc": "Статистика **{nick}** (**{squadron}**)\nUID: `{uid}`",
"not_found_title": "Игрок не найден",
"not_found_desc": "История игр для `{player}` не найдена.",
"no_players_found": "Игроки, соответствующие **{username}**, не найдены\nПопробуйте использовать `/website` для поиска на сайте.",
"multiple_matches": "Найдено несколько совпадений, выберите нужное ниже:",
"must_provide_input": "Необходимо указать хотя бы UID или никнейм.",
"must_provide_or_link": "Укажите UID или никнейм, либо сначала привяжите свой аккаунт с помощью `/set-player`.",
"link_select": "Найдено несколько игроков — выберите, какой аккаунт привязать к вашему Discord:",
"link_success": "✅ Ваш аккаунт Discord привязан к **{nick}** (UID `{uid}`).\nКоманды вроде `/player-stats` теперь будут использовать этот аккаунт по умолчанию."
},
"player_games": {
"no_recent_title": "Нет недавних игр",
"no_recent_desc": "Игры для **{player}** за последние 8 часов не найдены.",
"squadron_label": "**Полк:** {squadron}",
"record_label": "**П:** {wins} **Пор:** {losses} **ПП:** {wr}%",
"comps_played_header": "\n\n**Сыгранные составы**"
},
"match": {
"missing_input_title": "Отсутствуют данные",
"missing_input_desc": "Укажите `match_id` или `player_name`.",
"not_found_title": "Матч не найден",
"not_found_desc": "Не удалось найти матч с ID `{match_id}`.",
"invalid_data_title": "Некорректные данные матча",
"invalid_data_desc": "Не удалось обработать данные реплея.",
"scoreboard_error_title": "Ошибка таблицы результатов",
"scoreboard_error_desc": "Не удалось создать изображение таблицы результатов.",
"no_games_title": "Игры не найдены",
"no_games_desc": "История игр для **{player}** не найдена.",
"recent_matches_title": "Недавние матчи: {player}",
"recent_matches_desc": "Отображается до {count} недавних игр. Выберите одну для просмотра полной таблицы результатов.",
"select_match_placeholder": "Выберите матч для просмотра..."
},
"compare": {
"no_players_found": "Игроки, соответствующие **{name}**, не найдены.",
"multiple_matches": "Найдено несколько совпадений для **{name}**: {matches}\nИспользуйте более точное имя (предложения автодополнения точны).",
"could_not_resolve": "Не удалось определить игроков.",
"could_not_fetch": "❌ Не удалось получить статистику для **{name}**.",
"no_graph_data": "Данные за последние 90 дней недоступны.",
"no_squadron_points_data": "Нет данных об очках полка для {names} (игрок не найден в истории отслеживаемых полков).",
"graph_title": "Очки игрока — последние 90 дней",
"battles_label": "Бои",
"wins_label": "Победы",
"losses_label": "Поражения",
"win_rate_label": "Процент побед",
"ground_kills_label": "Наземные уничтожения",
"air_kills_label": "Воздушные уничтожения",
"total_kills_label": "Всего уничтожений",
"assists_label": "Помощь",
"deaths_label": "Гибели",
"kd_label": "K/D",
"captures_label": "Захваты"
},
"squadron": {
"not_found_desc": "Полк `{squadron}` не найден.",
"set_title": "✅ Полк установлен",
"set_desc": "Полк **{squadron}** установлен для этого сервера.",
"short_name_field": "Короткое название",
"long_name_field": "Длинное название",
"swap_title": "✅ Полк заменён",
"swap_desc": "Заменено **{old}** на **{new}** для этого сервера.",
"already_set_title": "⚠️ Полк уже установлен",
"already_set_desc": "На этом сервере сейчас установлено **{old}**.\nЗаменить на **{new}**?",
"swap_cancelled": "❌ Смена полка отменена."
},
"setup": {
"step1_title": "Настройка сервера — Шаг 1 из 3",
"step1_desc": "Этот мастер поможет настроить бота для вашего сервера.\n\n**Шаг 1** — Установите полк\n**Шаг 2** — Выберите канал для логов\n**Шаг 3** — Выберите канал для очков\n",
"step1_current_sq": "\nТекущий настроенный полк: **[{short}] {long}**",
"step2_title": "Настройка сервера — Шаг 2 из 3",
"step2_desc": "Полк установлен: **[{short}] {long}**.\n\nКуда публиковать **боевые логи**?\nВыберите текстовый канал ниже или пропустите этот шаг.",
"step3_title": "Настройка сервера — Шаг 3 из 3",
"step3_desc": "Куда публиковать **уведомления об очках**?\nВыберите текстовый канал ниже или пропустите этот шаг.",
"step3_same_as_logs": "\n\nВы также можете нажать «Как в логах» для использования канала логов.",
"summary_title": "Настройка завершена",
"summary_desc": "Вы можете использовать `/autolog-management` для изменения этих настроек позже.",
"squadron_field": "Полк",
"logs_channel_field": "Канал логов",
"points_channel_field": "Канал очков",
"premium_required_field": "⚠️ Игровые логи требуют Premium",
"premium_required_value": "Автоматические таблицы результатов не будут публиковаться, пока у сервера нет активной подписки. Запустите `/unlock` для подписки ($2.99/мес.).",
"modal_title": "Установить полк",
"modal_label": "Короткое название полка",
"modal_placeholder": "напр. AXYS",
"squadron_not_found": "Полк `{squadron}` не найден. Попробуйте снова.",
"logs_channel_placeholder": "Выберите канал для логов...",
"points_channel_placeholder": "Выберите канал для очков..."
},
"meta_management": {
"squadron_not_found_title": "❌ Полк не найден",
"squadron_not_found_desc": "Не удалось найти ID клана для полка: **{squadron}**",
"access_denied_title": "❌ Доступ запрещён",
"access_denied_desc": "Неверный пароль. Мета-данные этого полка защищены.",
"data_locked_title": "🔐 Данные полка привязаны",
"data_locked_desc": "**{squadron}** имеет включённую привязку данных и не может быть перенесён на другой сервер.\n\nВладелец полка должен отключить **Привязку данных полка** перед переносом.",
"error_retrieving_settings": "❌ Ошибка получения настроек сервера после переноса. Попробуйте снова.",
"error_retrieving_settings_retry": "❌ Ошибка получения настроек сервера. Попробуйте запустить команду снова.",
"authenticated_title": "✅ Аутентификация успешна",
"authenticated_desc": "Пароль подтверждён. Управление настройками **{squadron}**.",
"claimed_title": "✅ Полк закреплён",
"claimed_desc": "**{squadron}** успешно закреплён за этим сервером!",
"password_requirement_field": "🔒 Требование пароля",
"data_lock_field": "🔐 Привязка данных полка",
"public_meta_field": "👥 Публичный доступ к мета",
"access_password_field": "🔑 Пароль доступа",
"enabled_value": "✅ Включено",
"disabled_value": "❌ Отключено",
"settings_title": "🔐 Настройки управления мета",
"settings_desc": "**Полк:** {squadron}\n**ID клана:** {clan_id}",
"first_time_title": "🔐 Управление мета — Первоначальная настройка",
"first_time_owner_desc": "**Полк:** {squadron}\n**ID клана:** {clan_id}\n\n🔑 Ваш пароль доступа сгенерирован. **Сохраните этот пароль** — он потребуется для аутентификации при доступе к мета-данным в будущем.\n\n**Пароль:** `{password}`",
"first_time_non_owner_desc": "**Полк:** {squadron}\n**ID клана:** {clan_id}\n\nПолк настроен. Запросите пароль доступа у владельца сервера.",
"settings_field": "Настройки",
"settings_hint": "Используйте кнопки ниже для настройки прав доступа.",
"password_toggled": "✅ Требование пароля: **{state}**",
"lock_toggled": "✅ Привязка данных полка: **{state}**",
"public_meta_toggled": "✅ Публичный доступ к мета: **{state}**\n{detail}",
"public_meta_enabled_detail": "Теперь не-администраторы могут использовать команду `/meta`.",
"public_meta_disabled_detail": "Команду `/meta` могут использовать только администраторы.",
"owner_only_password": "❌ Только владелец сервера может изменить пароль полка.",
"help_title": "📖 Справка по управлению мета",
"help_desc": "Описание каждой настройки и функции:",
"help_password_field": "🔑 Пароль доступа",
"help_password_value": "Пароль доступа вашего полка. Пароль в панели настроек виден только **владельцу сервера**. Любой, у кого есть пароль, может закрепить мета-данные вашего полка на своём сервере, поэтому храните его в безопасности.",
"help_require_field": "🔒 Требовать пароль",
"help_require_value": "При включении даже администраторы этого сервера должны вводить пароль полка для доступа к `/meta-management`. Добавляет дополнительный уровень защиты от случайных изменений.",
"help_lock_field": "🔐 Привязка данных полка",
"help_lock_value": "При включении привязывает данные полка к этому серверу, предотвращая перенос даже при наличии правильного пароля. Необходимо отключить перед переносом полка.",
"help_public_field": "👥 Разрешить публичную мета",
"help_public_value": "При включении позволяет участникам без прав администратора использовать команду `/meta` для поиска техники полка. При отключении команду `/meta` могут использовать только администраторы сервера.",
"help_accounts_field": "📋 Обновить мета-аккаунты",
"help_accounts_value": "Открывает менеджер ростера игроков, где можно добавлять или удалять игроков из мета-ростера полка. Используйте **Обновить всех участников** для синхронизации всего полка сразу.",
"help_change_pw_field": "🔑 Изменить пароль",
"help_change_pw_value": "**Только для владельца сервера.** Изменить пароль доступа полка и задать необязательную подсказку. Подсказка отображается в запросе пароля для помощи в его запоминании.",
"password_modal_title": "Пароль доступа к полку",
"password_modal_label": "Введите пароль полка",
"password_modal_placeholder": "XXXX-XXXX-XXXX",
"change_pw_modal_title": "Изменить пароль полка",
"current_password_label": "Текущий пароль",
"current_password_placeholder": "Введите текущий пароль",
"new_password_label": "Новый пароль",
"new_password_placeholder": "Введите новый пароль",
"confirm_password_label": "Подтвердите новый пароль",
"confirm_password_placeholder": "Повторно введите новый пароль",
"hint_label": "Подсказка к паролю (необязательно)",
"hint_placeholder": "Подсказка для запоминания пароля",
"pw_incorrect": "❌ Текущий пароль неверен.",
"pw_mismatch": "❌ Новые пароли не совпадают. Попробуйте снова.",
"pw_empty": "❌ Новый пароль не может быть пустым.",
"pw_changed": "✅ Пароль для **{squadron}** успешно изменён.\n**Новый пароль:** `{password}`",
"pw_changed_hint": "\n**Подсказка:** {hint}",
"player_add_modal_title": "Добавить игрока в мета-ростер",
"player_add_label": "UID или никнейм игрока",
"player_add_placeholder": "Введите UID (напр., 12345678) или никнейм игрока",
"player_not_found": "❌ Игрок `{player}` не найден в базе данных Players_Global.\n",
"roster_title": "📋 Управление мета-ростером — {squadron}",
"roster_desc": "**ID клана полка:** {clan_id}\n**Всего игроков:** {count}",
"roster_page_field": "Игроки (Стр. {page}/{total})",
"no_players_field": "Нет игроков",
"no_players_hint": "В мета-ростер ещё не добавлено ни одного игрока. Нажмите **Добавить игрока**, чтобы начать.",
"remove_player_placeholder": "Выберите игрока для удаления...",
"fetch_members_failed": "❌ Не удалось получить список участников полка: {error}",
"no_members_found": "❌ Участники полка не найдены или API-запрос не выполнен.",
"roster_synced": "✅ Ростер синхронизирован с полком.",
"roster_added": "**+{count}** добавлено",
"roster_removed": "**-{count}** удалено (покинули полк)",
"roster_up_to_date": "**{count}** уже актуальны",
"refreshing_vehicles": "Обновление данных о технике в фоновом режиме..."
},
"meta": {
"not_configured": "❌ Мета-данные не настроены для этого сервера. Сначала запустите `/meta-management`.",
"no_permission": "❌ Для использования этой команды необходимы права администратора.\nАдминистраторы могут включить публичный доступ через `/meta-management`.",
"no_results": "❌ Ни один игрок в ростере вашего полка не имеет **{vehicle}**.",
"no_results_admin_hint": "\n*Ожидаете, что кто-то должен иметь это? Нажмите кнопку обновления участников в `/meta-management` и проверьте снова.*",
"search_title": "🔍 Результаты поиска — {vehicle}",
"matches_found": "**Найдено совпадений:** {count} игрок(ов)",
"spawns_label": "Появления",
"deaths_label": "Гибели",
"gk_label": "НУ",
"ak_label": "ВУ",
"points_label": "Очки",
"kdr_label": "K/D",
"games_label": "Бои",
"no_points": "—"
},
"top": {
"title": "**Топ 20 полков**",
"rating_label": "**Рейтинг:** {value}",
"air_kills_label": "**Воздушные уничтожения:** {value}",
"ground_kills_label": "**Наземные уничтожения:** {value}",
"deaths_label": "**Гибели:** {value}",
"kd_label": "**K/D:** {value}",
"win_rate_label": "**Процент побед:** {value}",
"playtime_label": "**Время в игре:** {value}",
"fetch_failed": "Не удалось получить данные о полках."
},
"analytics": {
"no_data_title": "Нет данных",
"no_matches_desc": "Матчи не найдены.",
"no_comp_desc": "Данные о составах не найдены.",
"no_consistency_desc": "Недостаточно данных об игроках (минимум 50 матчей).",
"no_time_desc": "Данные о времени не найдены.",
"unknown_view": "Неизвестный вид.",
"map_title": "Процент побед по картам: {squadron}",
"comp_title": "Составы команд: {squadron}",
"consistency_title": "Стабильность игроков: {squadron}",
"consistency_desc": "Отсортировано по K/D",
"time_title": "Результативность по времени суток: {squadron}",
"eu_timeslot": "\n**EU Timeslot**",
"na_timeslot": "\n**NA Timeslot**",
"off_peak": "\n**Off-Peak**",
"matchups_title": "📜 {squadron} — История Противостояний",
"matchups_won_field": "🏆 Чаще Всего Побеждали",
"matchups_lost_field": "💀 Чаще Всего Проигрывали",
"no_matchups_desc": "Нет записанных матчей против других полков."
},
"recent": {
"title": "Недавние матчи: {squadron}",
"no_matches_desc": "Матчи для этого полка не найдены."
},
"h2h": {
"two_required_title": "Необходимо два полка",
"two_required_desc": "Укажите хотя бы один полк или используйте `/set-squadron` и укажите соперника.",
"provide_a_desc": "Укажите `squadron_a` или сначала используйте `/set-squadron`.",
"provide_b_desc": "Укажите `squadron_b` или сначала используйте `/set-squadron`.",
"squadron_not_found_title": "Полк не найден",
"same_squadron_title": "Одинаковый полк",
"same_squadron_desc": "Нельзя проверить статистику встреч против самих себя.",
"record_desc": "**Счёт:** {a_wins}П - {b_wins}Пор ({total} игр)",
"no_matches_desc": "Нет зафиксированных матчей между **{a}** и **{b}**."
},
"autolog": {
"premium_active_line": "✅ **Premium:** Активно — автологирование включено для этого сервера.",
"premium_not_subscribed_line": "❌ **Premium:** Подписка отсутствует — используйте `/unlock` для включения автологирования.",
"premium_free_line": "⚪ **Premium:** Подписка отсутствует — используйте `/unlock` для подписки ($2.99/мес.). *(Автологи сейчас бесплатны для всех серверов.)*",
"what_to_do": "\n\nЧто вы хотите сделать?",
"select_notif_type": "Выберите тип уведомления для управления:",
"select_notif_placeholder": "Выберите тип уведомления",
"logs_option": "Логи",
"logs_option_desc": "Управление уведомлениями о логах",
"points_option": "Очки",
"points_option_desc": "Управление уведомлениями об очках",
"leaderboard_option": "Рейтинг",
"leaderboard_option_desc": "Управление уведомлениями о рейтинге",
"selected_type": "Выбрано **{type}**. Теперь выберите полк для управления:",
"select_squadron_placeholder": "Выберите полк",
"select_squadron_page_placeholder": "Выберите полк (Стр. {page})",
"no_squadrons_available": "Нет доступных полков для этого типа уведомлений.",
"managing_global": "Управление **{type}** (глобально) в канале **{channel}**.",
"managing_squadron": "Управление **{type}** для полка **{squadron}** в канале **{channel}**.",
"select_channel": "Выберите новый канал:",
"select_channel_placeholder": "Выберите канал",
"select_channel_page_placeholder": "Выберите канал (Стр. {page})",
"global_toggled": "{type} (глобально) теперь {state}.",
"squadron_toggled": "{type} для **{squadron}** теперь {state}.",
"channel_updated_global": "Обновлён {type} (глобально) — канал {channel}",
"channel_updated_squadron": "Обновлён {type} для **{squadron}** — канал {channel}",
"diagnose_channel_placeholder": "Выберите канал для диагностики...",
"select_channel_diagnose": "Выберите канал для диагностики:",
"game_not_logged_title": "Игра не залогирована",
"game_not_logged_desc": "Используйте `/unlock`, чтобы оформить подписку уровня **Standard** (или выше) и получать автоматические таблицы результатов.",
"server_not_upgraded_title": "⚠️ Сервер не обновлён",
"server_not_upgraded_autolog_desc": "На этом сервере нет активной подписки Premium.\n\n**Автоматические таблицы результатов перестанут отправляться на серверы без обновления после <t:{deadline}:D>.**\n\nИспользуйте `/unlock` для подписки и продолжения получения автоматических игровых логов.",
"replay_not_available": "Данные реплея пока недоступны — подождите немного и попробуйте снова!",
"too_many_videos": "Сейчас обрабатывается слишком много видео — попробуйте снова через мгновение.",
"video_gen_failed": "Ошибка создания видео: `{error}`",
"video_missing": "Не удалось создать видео реплея — выходной файл отсутствует или пуст.",
"video_too_large": "Видео реплея слишком большое для загрузки ({file_mb:.1f} МБ). Лимит сервера: {limit_mb:.0f} МБ.",
"video_web_fallback": "Вы также можете просмотреть этот матч на {url}",
"video_upload_failed": "Видео слишком большое для загрузки — просмотрите его на сайте:\n{url}",
"video_unexpected_error": "Неожиданная ошибка при создании видео реплея: `{error}`",
"replay_not_found": "Данные реплея для сессии `{session_id}` не найдены на диске.",
"chat_log_title": "**Лог чата для игры [{session_id}]({url})**",
"chat_log_part_title": "**Лог чата для игры [{session_id}]({url}) (Часть {part}/{total})**",
"chat_log_part_only": "**Лог чата (Часть {part}/{total})**",
"no_chat_log": "Лог чата для сессии `{session_id}` не найден.",
"chat_log_error": "Неожиданная ошибка при загрузке лога чата: `{error}`",
"battle_log_title": "**Боевой лог для игры [{session_id}]({url})**",
"battle_log_part_title": "**Боевой лог для игры [{session_id}]({url}) (Часть {part}/{total})**",
"battle_log_part_only": "**Боевой лог (Часть {part}/{total})**",
"no_battle_log": "Боевые события для сессии `{session_id}` не найдены.",
"battle_log_error": "Неожиданная ошибка при загрузке боевого лога: `{error}`",
"points_update_title": "**{squadron} {region} Обновление очков**",
"points_update_desc": "# {old_total} -> {new_total} {chart}{wl_line}{placement_line}\n\n**Изменения игроков:**",
"points_table_header": "Имя Изменение Теперь\n",
"wl_line": "\n**{squadron}** сыграл **{wins}П-{losses}Пор** за эту сессию",
"placement_rose": "\n**{squadron}** поднялся на **{new_place}** с **{old_place}**",
"placement_fell": "\n**{squadron}** опустился на **{new_place}** с **{old_place}**",
"points_not_logged_title": "Очки не залогированы",
"points_not_logged_desc": "Используйте `/unlock`, чтобы оформить подписку уровня **Standard** (или выше) и получать автоматические обновления очков.",
"server_not_upgraded_points_desc": "На этом сервере нет активной подписки Premium.\n\n**Автоматические обновления перестанут отправляться на серверы без обновления после <t:{deadline}:D>.**\n\nИспользуйте `/unlock` для подписки и продолжения получения автоматических обновлений.",
"leave_title": "⚠️ Игрок покинул {squadron}",
"leave_desc": "**{nick}** ({uid}) покинул полк.\n\nПоследние зафиксированные очки: **{points}**",
"no_squadrons_desc": "No squadrons configured",
"no_channels_desc": "No channels available",
"over_cap_title": "Полк превышает лимит вашего тарифа",
"over_cap_desc": "Ваш сервер на тарифе **{tier}**, который разрешает **{cap}** полков для **{notif}**. Полк **{squadron}** сейчас сверх лимита и не логируется. Перейдите на более высокий тариф, чтобы восстановить.",
"over_cap_footer": "Повысить тариф: sre.pawjob.us/premium или /unlock",
"wildcard_blocked_title": "Для подстановочных символов нужен тариф выше",
"wildcard_blocked_desc": "Подстановочные полки (*, all, everything) доступны только на тарифах Pro и Max. Ваш сервер на **{tier}** для {notif}. Повысьте тариф, чтобы включить их.",
"cap_header": "{used}/{cap} {notif} включено — тариф {tier}"
},
"track": {
"squadron_not_found": "Полк не найден.",
"fetch_failed": "Не удалось получить информацию о полке."
},
"unlock": {
"title": "SRE Bot Premium",
"desc": "**Разблокируйте премиум-функции для этого сервера.**\n\nPremium включает:\n> • Автоматическая публикация таблиц результатов\n> • Логи чата и боя\n> • Просмотр реплеев\n> • Безлимитные запросы /comp\n> • Приоритетная поддержка\n\n**$2.99 / месяц · за сервер · отмена в любое время**\n\n⚠️ Биллинг Discord доступен только в отдельных странах. Если кнопка ниже показывает **«Продукт недоступен»**, это может быть связано с неподдерживаемой страной или использованием **мобильного устройства**. Используйте вместо этого кнопку **Подписаться через сайт**.",
"already_subscribed_title": "SRE Bot Premium",
"already_subscribed_desc": "✅ **Этот сервер уже подписан!**",
"manage_discord_field": "Управление подпиской",
"manage_discord_value": "Ваша подписка оформлена через **Discord**.\nДля отмены перейдите в **Настройки пользователя → Подписки** в Discord.",
"manage_website_field": "Управление подпиской",
"manage_website_value": "Ваша подписка оформлена через **сайт**.\nУправляйте ей на [whop.com/billing](https://whop.com/billing).",
"coming_soon_field": "Скоро",
"coming_soon_value": "Подписки Premium пока недоступны. Загляните позже!",
"current_tier": "Ваш текущий тариф: **{tier}**.",
"upgrade_to": "Повысить до {tier}",
"upgrade_to_value": "Увеличьте лимит полков и получите больше функций с тарифом **{tier}**."
},
"language": {
"prompt": "Пожалуйста, выберите язык сервера:",
"select_placeholder": "Выберите язык сервера",
"language_set": "Язык установлен: {language}.",
"translate_prompt": "Выберите целевой язык ниже 👇",
"translate_placeholder": "Выберите целевой язык…",
"translate_result": "**{author} → {language}:**\n{text}",
"translation_unavailable": "Перевод недоступен (DeepL не настроен)",
"translation_failed": "Ошибка перевода"
},
"misc": {
"credits_title": "Авторы",
"credits_desc": "**Meowww**\n\n> **NotSoToothless** - Ведущий разработчик, менеджер бота, менеджер сообщества\n> **Z3R0** - Разработчик, разработчик оптимизации, инженер баз данных\n> **Clippii (Heidi)** - Разработчик, веб-разработчик, менеджер сообщества\n> **LivingTheDagor** - Разработчик, разработчик парсера, консультант\n> **Lux_** - API-инженер, разработчик Spectra\n> **Konigallerwaffen** - Консультант по обратной связи и функциям\n> **Žralok Tonda** - Чешский переводчик\n> **Styevy**, **Lopais** - Немецкие переводчики\n> **Susogus**, **playforfun698** - Польские переводчики\n> **Bobr** - Русский переводчик\n\n\n[Хотите присоединиться к нам?](https://discord.gg/BCvkK8JhPe)",
"schedule_title": "РАСПИСАНИЕ СЕЗОНА",
"schedule_not_found_title": "Расписание не найдено",
"schedule_not_found_desc": "Данные расписания пока недоступны.",
"news_no_news_title": "Нет новостей",
"news_no_news_desc": "Объявлений пока нет. Загляните позже!",
"news_footer": "Спасибо за вашу поддержку! ᖙᘘᗢ",
"help_title": "Руководство по боту",
"donate_title": "Поддержать SRE Bot",
"donate_desc": "Если вам нравится SRE Bot и вы хотите поддержать его развитие, угостите меня кофе!\n\n**[Пожертвовать на Ko-fi](https://ko-fi.com/notsotoothless)**\n\nКаждый взнос помогает поддерживать работу бота и развивать новые функции. Спасибо!",
"status_title": "Статус бота",
"status_last_received": "Последняя полученная игра",
"status_avg_ttl": "Среднее TTL (последние 30)",
"status_no_data": "Пока нет данных",
"status_gaijin_slow": "⚠️ Серверы Gaijin медленные",
"help_commands_header": "**Обзор команд**",
"help_links": "Подробности в документации [здесь]({docs}) или поддержка [здесь]({support}).",
"help_terms": "[Условия использования]({terms}) • [Политика конфиденциальности]({terms})",
"help_group_admin": "Начало работы и управление",
"help_group_squadron": "Информация об эскадрилье",
"help_group_rankings": "Рейтинги и инструменты",
"help_group_players": "Игроки",
"help_group_meta": "Мета",
"help_group_stacks": "Стаки",
"help_group_settings": "Настройки и информация",
"help_translate_hint": "ПКМ по сообщению → «Приложения», чтобы перевести",
"help_group_tally": "Отслеживание в голосовом канале"
},
"dev": {
"restricted_dev_team": "This command is restricted to the dev team.",
"restricted_bot_owner": "❌ This command is restricted to the bot owner.",
"invalid_server_id": "❌ Invalid server ID. Must be a 17-19 digit Discord server ID.",
"expiry_too_soon": "❌ Expiry timestamp must be at least 1 month from now.\n> Now: <t:{now}:F>\n> Minimum: <t:{min}:F>\n> You provided: <t:{provided}:F>",
"entitlement_write_failed": "❌ Failed to write entitlement: {error}",
"entitlement_created_title": "✅ Manual Entitlement Created",
"entitlement_created_desc": "**Server:** {guild_name} (`{server_id}`)\n**Expires:** <t:{unix_ts}:F> (<t:{unix_ts}:R>)\n**Created:** <t:{now}:F>",
"query_failed": "Query failed: {error}",
"health_title": "Bot Health Dashboard",
"health_uptime": "Uptime",
"health_guilds": "Guilds",
"health_games_processed": "Games Processed",
"health_tasks": "Tasks",
"health_websocket": "WebSocket",
"health_never": "never",
"health_errors": "({count} errors)",
"health_last_msg": "last msg {ago} ({count} total)",
"health_avg_ttl": "Avg TTL (Last 30)",
"entitlements_title": "Active Entitlements ({count} total)",
"entitlements_no_entries": "No entitlements.",
"entitlements_empty_title": "Active Entitlements",
"entitlements_empty_desc": "No active entitlements found.",
"entitlements_tag_discord": "Discord",
"entitlements_tag_whop": "Whop",
"entitlements_tag_manual": "Manual",
"query_prefix": "Query: {name}"
},
"leaderboard_alarm": {
"title": "🏆 Рейтинг полков",
"top15_desc": "Топ 15 полков со статистикой, публикуется через 35 минут после закрытия таймслота.\nЭто сообщение отправлено <t:{timestamp}:R>.",
"top30_desc": "Полки 16-30 со статистикой.",
"not_logged_title": "Рейтинг не залогирован",
"not_logged_desc": "Используйте `/unlock`, чтобы оформить подписку уровня **Standard** (или выше) и получать автоматические обновления рейтинга.",
"server_not_upgraded_title": "⚠️ Сервер не обновлён",
"server_not_upgraded_desc": "На этом сервере нет активной подписки Premium.\n\n**Автоматические обновления перестанут отправляться на серверы без обновления после <t:{deadline}:D>.**\n\nИспользуйте `/unlock` для подписки и продолжения получения автоматических обновлений."
},
"stacks": {
"stack_title": "Стак {leader}",
"stack_named_title": "{name}",
"no_members": "Пока нет участников.",
"members_field": "Участники ({count}/{max})",
"queue_field": "Очередь ({count}/{max})",
"manage_title": "Управление стаком",
"no_pending_requests": "Нет ожидающих заявок.",
"disbanded_title": "Стак [Распущен]",
"disbanded_desc": "Этот стак был распущен лидером.",
"expired_title": "Стак [Истёк]",
"expired_desc": "Этот стак истёк.",
"join_modal_title": "Заявка на вступление в стак",
"join_vehicle_label": "На чём будете играть?",
"join_vehicle_placeholder": "напр. F-16C, WZ305...",
"ping_modal_title": "Сообщение пинга",
"ping_message_label": "Своё сообщение (необязательно)",
"ping_message_placeholder": "напр. Заходите! Стак начинается!",
"rename_modal_title": "Переименовать стак",
"rename_label": "Название стака",
"rename_placeholder": "напр. Ночные совы, Альфа отряд...",
"select_new_leader": "Выберите нового лидера…",
"select_applicants": "Выберите кандидатов…",
"no_pending_applications": "Нет ожидающих заявок.",
"select_to_remove": "Выберите людей для удаления…",
"no_members_or_applicants": "Нет участников или кандидатов.",
"select_to_ping": "Выберите людей для индивидуального пинга…",
"stack_not_found": "❌ Стак не найден.",
"no_longer_exists": "❌ Этот стак больше не существует.",
"member_not_exists": "❌ Этот участник больше не существует.",
"already_has_stack": "❌ У этого игрока уже есть активный стак.",
"already_member": "❌ Вы уже участник этого стака.",
"already_applied": "❌ У вас уже есть ожидающая заявка в этот стак.",
"queue_full": "❌ Очередь заполнена ({max}/{max}). Попробуйте позже.",
"application_sent": "✅ Заявка отправлена! Лидер стака её рассмотрит.",
"stack_disbanded": "✅ Стак распущен.",
"cancelled": "Отменено.",
"select_member_transfer": "❌ Выберите участника для передачи руководства.",
"ownership_transferred": "✅ Руководство передано {nick}. Вы покинули стак.",
"select_applicant_first": "❌ Сначала выберите хотя бы одного кандидата.",
"stack_full": "❌ Стак уже заполнен ({max}/{max} участников).",
"select_person_first": "❌ Сначала выберите хотя бы одного человека.",
"no_one_to_ping": "❌ Некого пинговать.",
"ping_footer": "Пинг от {leader} для {stack}.",
"pinged": "✅ Пинг отправлен!",
"select_from_dropdown": "❌ Сначала выберите хотя бы одного человека из выпадающего меню.",
"stack_renamed": "✅ Стак переименован в **{name}**.",
"only_member_use_disband": "❌ Вы единственный участник. Используйте **Распустить стак** для завершения.",
"select_transfer_prompt": "Выберите участника для передачи руководства перед уходом:",
"left_stack": "✅ Вы покинули стак.",
"application_withdrawn": "✅ Ваша заявка отозвана.",
"not_member_or_applicant": "❌ Вы не являетесь участником или кандидатом этого стака.",
"leader_only_manage": "❌ Только лидер стака может им управлять.",
"leader_only_disband": "❌ Только лидер стака может его распустить.",
"confirm_disband": "Вы уверены, что хотите распустить этот стак? Это действие нельзя отменить.",
"already_active_stack": "⚠️ У вас уже есть активный стак. Если исходное сообщение исчезло (напр. после перезапуска бота), вы можете принудительно распустить его и начать заново.",
"force_created": "✅ Предыдущий стак распущен. Новый стак создан.",
"no_active_stack": "❌ У вас нет активного стака. Используйте `/stack-create` для создания.",
"could_not_parse_channel": "⚠️ Не удалось обработать сохранённый ID канала."
},
"commands": {
"common": {
"season": "Сезон для создания карточки",
"theme": "Цветовая тема карточки",
"squadron_short": "Короткое название эскадрильи",
"player_username": "Имя игрока",
"choice_dark": "Тёмная",
"choice_light": "Светлая"
},
"comp": {
"description": "Найти последние известные составы команды",
"squadron_short": "Короткое название команды противника"
},
"quick_log": {
"description": "Настроить уведомление для этой эскадрильи в этом канале",
"squadron_name": "КОРОТКОЕ название эскадрильи для отслеживания",
"type": "Выберите Логи, Очки, Таблица лидеров, Еженедельный BR или Все",
"choice_logs": "Logs",
"choice_points": "Очки",
"choice_player_leave": "Выход игрока",
"choice_leaderboard": "Рейтинг",
"choice_both": "Оба (Logs + Очки)",
"choice_weekly_br": "Еженедельный BR"
},
"sq_info": {
"description": "Получить информацию об эскадрилье"
},
"sq_info_graph": {
"description": "Показать график состава полка по активности и винрейту (текущий сезон)"
},
"sq_card": {
"description": "Создать сезонную карточку эскадрильи",
"squadron": "Короткое название эскадрильи"
},
"sq_stats": {
"description": "Показать очки эскадрильи во времени"
},
"loss_calculator": {
"description": "Рассчитать потерю очков, если игроки уйдут из эскадрильи",
"player1": "Уходящий игрок",
"player_optional": "Уходящий игрок (необязательно)"
},
"website": {
"description": "Получить ссылку на сайт SRE Bot"
},
"card": {
"description": "Создать сезонную карточку игрока"
},
"player_stats": {
"description": "Показать подробную статистику техники игрока",
"username": "Имя WT для запроса статистики",
"uid": "UID WT для запроса статистики"
},
"view_player_games": {
"description": "Показать последние 20 игр игрока"
},
"view_match": {
"description": "Показать таблицу матча по ID или игроку",
"match_id": "Hex ID сессии матча",
"player_name": "Игрок для просмотра недавних матчей"
},
"compare": {
"description": "Сравнить суммарную SQB-статистику игроков",
"player1": "Первый игрок",
"player2": "Второй игрок",
"player_optional": "Дополнительный игрок (необязательно)"
},
"leaderboard": {
"description": "Открыть глобальный рейтинг SRE Bot"
},
"set_squadron": {
"description": "Задать тег эскадрильи для этого сервера",
"abbreviated_name": "Короткое название эскадрильи"
},
"setup": {
"description": "Настроить бота для этого сервера"
},
"meta_management": {
"description": "Управлять доступом к мета-данным этого сервера"
},
"meta": {
"description": "Искать мета-ростер по названию техники",
"vehicle": "Название техники для поиска"
},
"top": {
"description": "Показать топ-20 эскадрилий с подробной статистикой"
},
"language": {
"description": "Изменить язык бота."
},
"translate_message": {
"name": "Перевести сообщение"
},
"sq_track": {
"description": "Отслеживать эскадрилью и сравнить с прошлой проверкой",
"squadron_short_name": "Короткое название эскадрильи"
},
"analytics": {
"description": "Показать расширенную SQB-аналитику эскадрильи",
"view": "Какой вид аналитики показать",
"choice_maps": "Винрейт по картам",
"choice_comps": "Составы команд",
"choice_consistency": "Стабильность игроков",
"choice_time": "Время суток",
"choice_matchups": "История встреч"
},
"recent": {
"description": "Показать недавние бои эскадрильи",
"length": "Количество матчей"
},
"vs": {
"description": "Личная статистика двух эскадрилий",
"squadron_a": "Первая эскадрилья",
"squadron_b": "Вторая эскадрилья"
},
"autolog_management": {
"description": "Управлять autolog-уведомлениями и проверять права"
},
"diagnose_perms": {
"description": "Проверить права autolog в этом канале"
},
"unlock": {
"description": "Открыть Premium-функции для этого сервера"
},
"credits": {
"description": "Показать команду, создавшую проект"
},
"schedule": {
"description": "Показать текущий сезонный BR-график"
},
"news": {
"description": "Показать последние новости и объявления SRE Bot"
},
"help": {
"description": "Показать руководство, ToS и ссылки поддержки"
},
"donate": {
"description": "Поддержать разработку SRE Bot"
},
"stack_create": {
"description": "Создать стак игроков",
"vehicle": "На какой технике начнёте?"
},
"stack_manage": {
"description": "Повторно отправить активный стак в этот канал"
},
"bot_status": {
"description": "Статус бота: последняя полученная игра и среднее TTL"
},
"set_player": {
"description": "Привяжите аккаунт Discord к игроку War Thunder",
"username": "Имя WT для привязки",
"uid": "WT UID для привязки"
},
"tally": {
"description_claim": "Отслеживайте счёт SQB в реальном времени в вашем голосовом канале",
"description_transfer": "Переключите активное отслеживание в голосовом канале на другого игрока",
"description_wipe": "Очистите активное отслеживание в вашем голосовом канале",
"username": "Имя пользователя",
"squadron": "Название эскадрильи (например, DSPL)",
"result_win": "Победа",
"result_loss": "Поражение",
"result_draw": "Ничья",
"status_line": "{base}: {verb} против {opponent}",
"not_in_vc": "Чтобы использовать это, вы должны быть подключены к голосовому каналу.",
"premium_required": "Это премиум-функция. Используйте /unlock, чтобы включить её на этом сервере.",
"need_one_input": "Укажите ровно одно: `username` или `squadron`.",
"already_active": "В канале **{channel}** уже активно отслеживание **{target}**. Сначала используйте /tally-transfer или /tally-clear.",
"claimed": "Теперь отслеживается **{target}** в **{channel}**. Статус установлен на `0W-0L`.",
"no_active": "В канале **{channel}** нет активного отслеживания.",
"transferred": "Отслеживание в **{channel}** теперь следит за **{target}** (счёт сохранён: `{base}`).",
"wiped": "Отслеживание в **{channel}** очищено.",
"no_vc_perm": "У бота нет разрешения **Установить статус голосового канала** в этом голосовом канале. Попросите администратора сервера его предоставить.",
"no_vc_perm_diagnose": "Отсутствует разрешение **Установить статус голосового канала** — `/tally-claim` не сработает в {vc}. Предоставьте боту это разрешение.",
"vc_perm_ok": "**Установить статус голосового канала** — `/tally-claim` может обновлять {vc}.",
"vc_perm_header": "Счётчик голосового канала ({vc})",
"vc_perm_not_in_vc": "Вы не в голосовом канале — зайдите в него и запустите команду снова, чтобы проверить разрешения."
}
},
"permission": {
"blacklisted_title": "❌ В чёрном списке",
"blacklisted_desc": "Вы не можете использовать эту команду.",
"reason_line": "**Причина:** {reason}",
"access_denied_title": "⛔ Доступ запрещён",
"no_permission_desc": "У вас нет прав для использования этой команды.",
"unexpected_error_title": "❗ Ошибка, сообщите о ней....",
"tier_gate_title": "🔒 Требуется Premium",
"tier_gate_standard_desc": "Эта команда требует подписку **Standard** или выше. Используйте `/unlock`, чтобы оформить.",
"tier_gate_pro_desc": "Эта команда требует подписку **Pro** или выше. Используйте `/unlock`, чтобы оформить.",
"tier_gate_max_desc": "Эта команда требует подписку **Max**. Используйте `/unlock`, чтобы оформить."
},
"weekly_br": {
"title_wildcard": "Еженедельный отчёт BR — {br} BR",
"title_squadron": "Еженедельный отчёт BR — [{tag}] {long} • {br} BR",
"window_label": "Период: {start} → {end}",
"wildcard_desc_first": "Топ-{count} полков по Score • Места {low}{high}",
"wildcard_desc_second": "Топ-{count} полков по Score • Места {low}{high}",
"squadron_stats_line": "- {games} боёв • K/D {kdr} • Побед {wr}%",
"top_players_inline_header": "🥇 Лучшие игроки:",
"player_line_short": " {rank}. {nick} ⭐ {score} ({games}б)",
"top_players_header": "**Топ-{count} игроков по Score:**",
"player_line_full": "{rank}. **{nick}** ⭐ {score} • {games} боёв • K/D {kdr}",
"squadron_header_line": "Score полка: {score} • {games} боёв • Побед {wr}% • K/D {kdr}",
"squadron_header_no_aggregate": "Score полка: недостаточно активности команды на этой неделе.",
"no_data": "Нет матчей для [{tag}] в этой ротации BR."
}
}