docs(tally): add tally to /help + website docs; translate to all locales (#1342)
- Add a 'Voice channel tally' group to /help with the three commands. - Add a Voice Channel Tally section to the website docs (docs.ejs). - Translate the commands.tally bot strings + help_group_tally into all 10 other bot locales, and the new docs.* web strings into all 10 web locales. - Fix stale need_one_input string (ign/squadron_short -> username/squadron). Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+6
-1
@@ -9139,7 +9139,7 @@ async def news_error(interaction, error):
|
||||
@is_blacklisted()
|
||||
@bot.tree.command(name="help", description=command_locale("View the guide, ToS, and support links", "commands.help.description"))
|
||||
async def help(interaction: discord.Interaction):
|
||||
"""Display the full 29-command guide with documentation and support links."""
|
||||
"""Display the full command guide with documentation and support links."""
|
||||
await collect_command_stats(interaction)
|
||||
support_server = "https://discord.gg/BCvkK8JhPe"
|
||||
documentation_link = "https://sre.pawjob.us/docs"
|
||||
@@ -9186,6 +9186,11 @@ async def help(interaction: discord.Interaction):
|
||||
("/stack-create", "commands.stack_create.description"),
|
||||
("/stack-manage", "commands.stack_manage.description"),
|
||||
]),
|
||||
("misc.help_group_tally", [
|
||||
("/tally-claim", "commands.tally.description_claim"),
|
||||
("/tally-transfer", "commands.tally.description_transfer"),
|
||||
("/tally-clear", "commands.tally.description_wipe"),
|
||||
]),
|
||||
("misc.help_group_settings", [
|
||||
("/language", "commands.language.description"),
|
||||
("/schedule", "commands.schedule.description"),
|
||||
|
||||
+21
-1
@@ -596,7 +596,8 @@
|
||||
"help_group_meta": "Meta",
|
||||
"help_group_stacks": "Stacky",
|
||||
"help_group_settings": "Nastavení a informace",
|
||||
"help_translate_hint": "Klikni pravým na zprávu → Aplikace pro překlad"
|
||||
"help_translate_hint": "Klikni pravým na zprávu → Aplikace pro překlad",
|
||||
"help_group_tally": "Sledování v hlasovém kanálu"
|
||||
},
|
||||
"dev": {
|
||||
"restricted_dev_team": "This command is restricted to the dev team.",
|
||||
@@ -848,6 +849,25 @@
|
||||
"description": "Propoj svůj Discord účet s hráčem War Thunder",
|
||||
"username": "WT jméno k propojení",
|
||||
"uid": "WT UID k propojení"
|
||||
},
|
||||
"tally": {
|
||||
"description_claim": "Sledujte živé skóre SQB ve vašem hlasovém kanálu",
|
||||
"description_transfer": "Přesměrujte aktivní sledování v hlasovém kanálu na jiného hráče",
|
||||
"description_wipe": "Vymažte aktivní sledování ve vašem hlasovém kanálu",
|
||||
"username": "Uživatelské jméno",
|
||||
"squadron": "Název svazu (např. DSPL)",
|
||||
"result_win": "Výhra",
|
||||
"result_loss": "Prohra",
|
||||
"result_draw": "Remíza",
|
||||
"status_line": "{base}: {verb} proti {opponent}",
|
||||
"not_in_vc": "Pro použití této funkce musíte být připojeni k hlasovému kanálu.",
|
||||
"premium_required": "Toto je prémiová funkce. Použijte /unlock pro její aktivaci na tomto serveru.",
|
||||
"need_one_input": "Zadejte právě jednu možnost: `username` nebo `squadron`.",
|
||||
"already_active": "V kanálu **{channel}** již běží sledování **{target}**. Nejprve použijte /tally-transfer nebo /tally-clear.",
|
||||
"claimed": "Nyní sleduji **{target}** v **{channel}**. Stav nastaven na `0W-0L`.",
|
||||
"no_active": "V kanálu **{channel}** neběží žádné sledování.",
|
||||
"transferred": "Sledování v **{channel}** nyní sleduje **{target}** (skóre přeneseno: `{base}`).",
|
||||
"wiped": "Sledování v **{channel}** bylo vymazáno."
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
|
||||
+21
-1
@@ -596,7 +596,8 @@
|
||||
"help_group_meta": "Meta",
|
||||
"help_group_stacks": "Stacks",
|
||||
"help_group_settings": "Einstellungen & Infos",
|
||||
"help_translate_hint": "Rechtsklick auf eine Nachricht → Apps zum Übersetzen"
|
||||
"help_translate_hint": "Rechtsklick auf eine Nachricht → Apps zum Übersetzen",
|
||||
"help_group_tally": "Sprachkanal-Verfolgung"
|
||||
},
|
||||
"dev": {
|
||||
"restricted_dev_team": "This command is restricted to the dev team.",
|
||||
@@ -848,6 +849,25 @@
|
||||
"description": "Verknüpfe dein Discord-Konto mit einem War-Thunder-Spieler",
|
||||
"username": "WT-Benutzername zum Verknüpfen",
|
||||
"uid": "WT-UID zum Verknüpfen"
|
||||
},
|
||||
"tally": {
|
||||
"description_claim": "Verfolge einen Live-SQB-Spielstand in deinem aktuellen Sprachkanal",
|
||||
"description_transfer": "Übertrage die aktive Sprachkanal-Verfolgung auf einen anderen Spieler",
|
||||
"description_wipe": "Lösche die aktive Verfolgung in deinem aktuellen Sprachkanal",
|
||||
"username": "Benutzername",
|
||||
"squadron": "Name der Staffel (z. B. DSPL)",
|
||||
"result_win": "Sieg",
|
||||
"result_loss": "Niederlage",
|
||||
"result_draw": "Unentschieden",
|
||||
"status_line": "{base}: {verb} gegen {opponent}",
|
||||
"not_in_vc": "Du musst mit einem Sprachkanal verbunden sein, um dies zu nutzen.",
|
||||
"premium_required": "Dies ist eine Premium-Funktion. Nutze /unlock, um sie für diesen Server zu aktivieren.",
|
||||
"need_one_input": "Gib genau eines an: `username` oder `squadron`.",
|
||||
"already_active": "In **{channel}** wird bereits **{target}** verfolgt. Nutze zuerst /tally-transfer oder /tally-clear.",
|
||||
"claimed": "Verfolge jetzt **{target}** in **{channel}**. Status auf `0W-0L` gesetzt.",
|
||||
"no_active": "In **{channel}** ist keine Verfolgung aktiv.",
|
||||
"transferred": "Die Verfolgung in **{channel}** verfolgt jetzt **{target}** (Spielstand übernommen: `{base}`).",
|
||||
"wiped": "Verfolgung in **{channel}** gelöscht."
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
|
||||
+3
-2
@@ -598,7 +598,8 @@
|
||||
"help_group_meta": "Meta",
|
||||
"help_group_stacks": "Stacks",
|
||||
"help_group_settings": "Settings & info",
|
||||
"help_translate_hint": "Right-click a message → Apps to translate it"
|
||||
"help_translate_hint": "Right-click a message → Apps to translate it",
|
||||
"help_group_tally": "Voice channel tally"
|
||||
},
|
||||
"dev": {
|
||||
"restricted_dev_team": "This command is restricted to the dev team.",
|
||||
@@ -860,7 +861,7 @@
|
||||
"status_line": "{base}: {verb} against {opponent}",
|
||||
"not_in_vc": "You must be connected to a voice channel to use this.",
|
||||
"premium_required": "This is a premium feature. Use /unlock to enable it for this server.",
|
||||
"need_one_input": "Provide exactly one of `ign` or `squadron_short`.",
|
||||
"need_one_input": "Provide exactly one of `username` or `squadron`.",
|
||||
"already_active": "A tally is already active in **{channel}** tracking **{target}**. Use /tally-transfer or /tally-clear first.",
|
||||
"claimed": "Now tracking **{target}** in **{channel}**. Status set to `0W-0L`.",
|
||||
"no_active": "There is no active tally in **{channel}**.",
|
||||
|
||||
+21
-1
@@ -596,7 +596,8 @@
|
||||
"help_group_meta": "Meta",
|
||||
"help_group_stacks": "Stacks",
|
||||
"help_group_settings": "Ajustes e información",
|
||||
"help_translate_hint": "Clic derecho en un mensaje → Aplicaciones para traducir"
|
||||
"help_translate_hint": "Clic derecho en un mensaje → Aplicaciones para traducir",
|
||||
"help_group_tally": "Seguimiento en canal de voz"
|
||||
},
|
||||
"dev": {
|
||||
"restricted_dev_team": "This command is restricted to the dev team.",
|
||||
@@ -848,6 +849,25 @@
|
||||
"description": "Vincula tu cuenta de Discord con un jugador de War Thunder",
|
||||
"username": "Usuario WT a vincular",
|
||||
"uid": "UID WT a vincular"
|
||||
},
|
||||
"tally": {
|
||||
"description_claim": "Sigue un marcador de SQB en directo en tu canal de voz actual",
|
||||
"description_transfer": "Transfiere el seguimiento activo del canal de voz a otro jugador",
|
||||
"description_wipe": "Borra el seguimiento activo en tu canal de voz actual",
|
||||
"username": "Nombre de usuario",
|
||||
"squadron": "Nombre del escuadrón (como DSPL)",
|
||||
"result_win": "Victoria",
|
||||
"result_loss": "Derrota",
|
||||
"result_draw": "Empate",
|
||||
"status_line": "{base}: {verb} contra {opponent}",
|
||||
"not_in_vc": "Debes estar conectado a un canal de voz para usar esto.",
|
||||
"premium_required": "Esta es una función premium. Usa /unlock para activarla en este servidor.",
|
||||
"need_one_input": "Proporciona exactamente uno: `username` o `squadron`.",
|
||||
"already_active": "Ya hay un seguimiento activo en **{channel}** siguiendo a **{target}**. Usa /tally-transfer o /tally-clear primero.",
|
||||
"claimed": "Ahora siguiendo a **{target}** en **{channel}**. Estado establecido en `0W-0L`.",
|
||||
"no_active": "No hay ningún seguimiento activo en **{channel}**.",
|
||||
"transferred": "El seguimiento en **{channel}** ahora sigue a **{target}** (marcador conservado: `{base}`).",
|
||||
"wiped": "Seguimiento borrado en **{channel}**."
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
|
||||
+21
-1
@@ -596,7 +596,8 @@
|
||||
"help_group_meta": "Méta",
|
||||
"help_group_stacks": "Stacks",
|
||||
"help_group_settings": "Paramètres et infos",
|
||||
"help_translate_hint": "Clic droit sur un message → Applications pour traduire"
|
||||
"help_translate_hint": "Clic droit sur un message → Applications pour traduire",
|
||||
"help_group_tally": "Suivi en salon vocal"
|
||||
},
|
||||
"dev": {
|
||||
"restricted_dev_team": "This command is restricted to the dev team.",
|
||||
@@ -848,6 +849,25 @@
|
||||
"description": "Liez votre compte Discord à un joueur War Thunder",
|
||||
"username": "Pseudo WT à lier",
|
||||
"uid": "UID WT à lier"
|
||||
},
|
||||
"tally": {
|
||||
"description_claim": "Suivez un score SQB en direct dans votre salon vocal actuel",
|
||||
"description_transfer": "Transférez le suivi actif du salon vocal vers un autre joueur",
|
||||
"description_wipe": "Effacez le suivi actif dans votre salon vocal actuel",
|
||||
"username": "Nom d'utilisateur",
|
||||
"squadron": "Nom de l'escadron (comme DSPL)",
|
||||
"result_win": "Victoire",
|
||||
"result_loss": "Défaite",
|
||||
"result_draw": "Égalité",
|
||||
"status_line": "{base} : {verb} contre {opponent}",
|
||||
"not_in_vc": "Vous devez être connecté à un salon vocal pour utiliser cette commande.",
|
||||
"premium_required": "Ceci est une fonctionnalité premium. Utilisez /unlock pour l'activer sur ce serveur.",
|
||||
"need_one_input": "Fournissez exactement un seul élément : `username` ou `squadron`.",
|
||||
"already_active": "Un suivi est déjà actif dans **{channel}** pour **{target}**. Utilisez d'abord /tally-transfer ou /tally-clear.",
|
||||
"claimed": "Suivi de **{target}** dans **{channel}**. Statut défini sur `0W-0L`.",
|
||||
"no_active": "Aucun suivi actif dans **{channel}**.",
|
||||
"transferred": "Le suivi dans **{channel}** concerne désormais **{target}** (score conservé : `{base}`).",
|
||||
"wiped": "Suivi effacé dans **{channel}**."
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
|
||||
+21
-1
@@ -596,7 +596,8 @@
|
||||
"help_group_meta": "Meta",
|
||||
"help_group_stacks": "Stack",
|
||||
"help_group_settings": "Impostazioni e info",
|
||||
"help_translate_hint": "Clic destro su un messaggio → App per tradurre"
|
||||
"help_translate_hint": "Clic destro su un messaggio → App per tradurre",
|
||||
"help_group_tally": "Monitoraggio canale vocale"
|
||||
},
|
||||
"dev": {
|
||||
"restricted_dev_team": "This command is restricted to the dev team.",
|
||||
@@ -848,6 +849,25 @@
|
||||
"description": "Collega il tuo account Discord a un giocatore di War Thunder",
|
||||
"username": "Username WT da collegare",
|
||||
"uid": "UID WT da collegare"
|
||||
},
|
||||
"tally": {
|
||||
"description_claim": "Tieni traccia di un punteggio SQB in tempo reale nel tuo canale vocale attuale",
|
||||
"description_transfer": "Trasferisci il monitoraggio attivo del canale vocale a un altro giocatore",
|
||||
"description_wipe": "Cancella il monitoraggio attivo nel tuo canale vocale attuale",
|
||||
"username": "Nome utente",
|
||||
"squadron": "Nome dello squadrone (come DSPL)",
|
||||
"result_win": "Vittoria",
|
||||
"result_loss": "Sconfitta",
|
||||
"result_draw": "Pareggio",
|
||||
"status_line": "{base}: {verb} contro {opponent}",
|
||||
"not_in_vc": "Devi essere connesso a un canale vocale per usare questo comando.",
|
||||
"premium_required": "Questa è una funzione premium. Usa /unlock per abilitarla su questo server.",
|
||||
"need_one_input": "Fornisci esattamente uno tra `username` o `squadron`.",
|
||||
"already_active": "Un monitoraggio è già attivo in **{channel}** per **{target}**. Usa prima /tally-transfer o /tally-clear.",
|
||||
"claimed": "Ora si tiene traccia di **{target}** in **{channel}**. Stato impostato su `0W-0L`.",
|
||||
"no_active": "Nessun monitoraggio attivo in **{channel}**.",
|
||||
"transferred": "Il monitoraggio in **{channel}** ora segue **{target}** (punteggio mantenuto: `{base}`).",
|
||||
"wiped": "Monitoraggio cancellato in **{channel}**."
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
|
||||
+21
-1
@@ -596,7 +596,8 @@
|
||||
"help_group_meta": "Meta",
|
||||
"help_group_stacks": "Stacki",
|
||||
"help_group_settings": "Ustawienia i informacje",
|
||||
"help_translate_hint": "Kliknij wiadomość prawym → Aplikacje, aby przetłumaczyć"
|
||||
"help_translate_hint": "Kliknij wiadomość prawym → Aplikacje, aby przetłumaczyć",
|
||||
"help_group_tally": "Śledzenie na kanale głosowym"
|
||||
},
|
||||
"dev": {
|
||||
"restricted_dev_team": "This command is restricted to the dev team.",
|
||||
@@ -848,6 +849,25 @@
|
||||
"description": "Połącz swoje konto Discord z graczem War Thunder",
|
||||
"username": "Nazwa WT do połączenia",
|
||||
"uid": "WT UID do połączenia"
|
||||
},
|
||||
"tally": {
|
||||
"description_claim": "Śledź wynik SQB na żywo na swoim kanale głosowym",
|
||||
"description_transfer": "Przenieś aktywne śledzenie na kanale głosowym na innego gracza",
|
||||
"description_wipe": "Wyczyść aktywne śledzenie na swoim kanale głosowym",
|
||||
"username": "Nazwa użytkownika",
|
||||
"squadron": "Nazwa dywizjonu (np. DSPL)",
|
||||
"result_win": "Wygrana",
|
||||
"result_loss": "Przegrana",
|
||||
"result_draw": "Remis",
|
||||
"status_line": "{base}: {verb} przeciwko {opponent}",
|
||||
"not_in_vc": "Aby tego użyć, musisz być połączony z kanałem głosowym.",
|
||||
"premium_required": "To funkcja premium. Użyj /unlock, aby włączyć ją na tym serwerze.",
|
||||
"need_one_input": "Podaj dokładnie jedno: `username` lub `squadron`.",
|
||||
"already_active": "Na kanale **{channel}** śledzenie jest już aktywne dla **{target}**. Najpierw użyj /tally-transfer lub /tally-clear.",
|
||||
"claimed": "Śledzę teraz **{target}** na **{channel}**. Status ustawiony na `0W-0L`.",
|
||||
"no_active": "Na kanale **{channel}** nie ma aktywnego śledzenia.",
|
||||
"transferred": "Śledzenie na **{channel}** dotyczy teraz **{target}** (wynik zachowany: `{base}`).",
|
||||
"wiped": "Wyczyszczono śledzenie na **{channel}**."
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
|
||||
+21
-1
@@ -596,7 +596,8 @@
|
||||
"help_group_meta": "Meta",
|
||||
"help_group_stacks": "Stacks",
|
||||
"help_group_settings": "Configurações e informações",
|
||||
"help_translate_hint": "Clique com o botão direito numa mensagem → Apps para traduzir"
|
||||
"help_translate_hint": "Clique com o botão direito numa mensagem → Apps para traduzir",
|
||||
"help_group_tally": "Acompanhamento em canal de voz"
|
||||
},
|
||||
"dev": {
|
||||
"restricted_dev_team": "This command is restricted to the dev team.",
|
||||
@@ -848,6 +849,25 @@
|
||||
"description": "Vincule sua conta do Discord a um jogador de War Thunder",
|
||||
"username": "Nome WT para vincular",
|
||||
"uid": "UID WT para vincular"
|
||||
},
|
||||
"tally": {
|
||||
"description_claim": "Acompanhe um placar de SQB ao vivo no seu canal de voz atual",
|
||||
"description_transfer": "Transfira o acompanhamento ativo do canal de voz para outro jogador",
|
||||
"description_wipe": "Limpe o acompanhamento ativo no seu canal de voz atual",
|
||||
"username": "Nome de usuário",
|
||||
"squadron": "Nome do esquadrão (como DSPL)",
|
||||
"result_win": "Vitória",
|
||||
"result_loss": "Derrota",
|
||||
"result_draw": "Empate",
|
||||
"status_line": "{base}: {verb} contra {opponent}",
|
||||
"not_in_vc": "Você precisa estar conectado a um canal de voz para usar isto.",
|
||||
"premium_required": "Este é um recurso premium. Use /unlock para ativá-lo neste servidor.",
|
||||
"need_one_input": "Forneça exatamente um: `username` ou `squadron`.",
|
||||
"already_active": "Já existe um acompanhamento ativo em **{channel}** seguindo **{target}**. Use /tally-transfer ou /tally-clear primeiro.",
|
||||
"claimed": "Agora acompanhando **{target}** em **{channel}**. Status definido como `0W-0L`.",
|
||||
"no_active": "Não há acompanhamento ativo em **{channel}**.",
|
||||
"transferred": "O acompanhamento em **{channel}** agora segue **{target}** (placar mantido: `{base}`).",
|
||||
"wiped": "Acompanhamento limpo em **{channel}**."
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
|
||||
+21
-1
@@ -596,7 +596,8 @@
|
||||
"help_group_meta": "Мета",
|
||||
"help_group_stacks": "Стаки",
|
||||
"help_group_settings": "Настройки и информация",
|
||||
"help_translate_hint": "ПКМ по сообщению → «Приложения», чтобы перевести"
|
||||
"help_translate_hint": "ПКМ по сообщению → «Приложения», чтобы перевести",
|
||||
"help_group_tally": "Отслеживание в голосовом канале"
|
||||
},
|
||||
"dev": {
|
||||
"restricted_dev_team": "This command is restricted to the dev team.",
|
||||
@@ -848,6 +849,25 @@
|
||||
"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}** очищено."
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
|
||||
+21
-1
@@ -596,7 +596,8 @@
|
||||
"help_group_meta": "Мета",
|
||||
"help_group_stacks": "Стаки",
|
||||
"help_group_settings": "Налаштування та інформація",
|
||||
"help_translate_hint": "ПКМ по повідомленню → «Застосунки», щоб перекласти"
|
||||
"help_translate_hint": "ПКМ по повідомленню → «Застосунки», щоб перекласти",
|
||||
"help_group_tally": "Відстеження в голосовому каналі"
|
||||
},
|
||||
"dev": {
|
||||
"restricted_dev_team": "This command is restricted to the dev team.",
|
||||
@@ -848,6 +849,25 @@
|
||||
"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}** очищено."
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
|
||||
+21
-1
@@ -304,7 +304,8 @@
|
||||
"help_group_meta": "Meta",
|
||||
"help_group_stacks": "组队",
|
||||
"help_group_settings": "设置与信息",
|
||||
"help_translate_hint": "右键点击消息 → 应用 进行翻译"
|
||||
"help_translate_hint": "右键点击消息 → 应用 进行翻译",
|
||||
"help_group_tally": "语音频道追踪"
|
||||
},
|
||||
"sq_stats": {
|
||||
"no_data_title": "没有数据",
|
||||
@@ -850,6 +851,25 @@
|
||||
"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": "现在正在 **{channel}** 中追踪 **{target}**。状态已设为 `0W-0L`。",
|
||||
"no_active": "**{channel}** 中没有正在进行的追踪。",
|
||||
"transferred": "**{channel}** 中的追踪现在追踪 **{target}**(比分已保留:`{base}`)。",
|
||||
"wiped": "已清除 **{channel}** 中的追踪。"
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
|
||||
+6
-1
@@ -263,7 +263,12 @@
|
||||
"tierOverviewDesc": "Auto-logging je k dispozici ve třech tarifech. Každý tarif limituje, kolik svazů může mít Logs a Points aktivní. Svazy nad limitem zůstávají v nastavení a po upgradu automaticky pokračují.",
|
||||
"tierStandardLine": "$2.99 — až 10 svazů pro Logs i Points, bez wildcard.",
|
||||
"tierProLine": "až 25 svazů pro Logs i Points, plus podpora wildcard (`*` / `all` / `everything`).",
|
||||
"tierMaxLine": "neomezené svazy, wildcards, raný přístup k novým funkcím."
|
||||
"tierMaxLine": "neomezené svazy, wildcards, raný přístup k novým funkcím.",
|
||||
"voiceChannelTally": "Sledování v hlasovém kanálu",
|
||||
"tallyIntro": "Sledujte živé skóre SQB přímo ve stavu vašeho hlasového kanálu na Discordu. Jakmile zápasy skončí, bot aktualizuje stav kanálu na průběžný záznam, například 2W-1L: Výhra proti ENEMY. Jde o prémiovou funkci a musíte být připojeni k hlasovému kanálu.",
|
||||
"tallyClaimDesc": "Začněte sledovat hráče nebo svaz ve vašem hlasovém kanálu. Zadejte uživatelské jméno nebo svaz (ne obojí). Stav začíná na 0W-0L a aktualizuje se po skončení odpovídajících zápasů.",
|
||||
"tallyTransferDesc": "Přepněte aktivní sledování na jiného hráče se zachováním aktuálního počtu výher a proher.",
|
||||
"tallyClearDesc": "Vymažte aktivní sledování ve vašem hlasovém kanálu a resetujte jeho stav. Sledování se také automaticky vymaže po 1 hodině nečinnosti nebo jakmile všichni opustí kanál."
|
||||
},
|
||||
"terms": {
|
||||
"pageTitle": "Podminky sluzby a zasady ochrany soukromi",
|
||||
|
||||
+6
-1
@@ -263,7 +263,12 @@
|
||||
"tierOverviewDesc": "Auto-Logging ist in drei Tarifen verfügbar. Jeder Tarif begrenzt die Anzahl der Geschwader mit aktivierten Logs und Points. Geschwader über dem Limit bleiben in den Einstellungen erhalten und werden nach einem Upgrade automatisch fortgesetzt.",
|
||||
"tierStandardLine": "$2.99 — bis zu 10 Geschwader jeweils für Logs und Points, ohne Wildcard-Support.",
|
||||
"tierProLine": "bis zu 25 Geschwader jeweils für Logs und Points, plus Wildcard-Support (`*` / `all` / `everything`).",
|
||||
"tierMaxLine": "unbegrenzte Geschwader, Wildcards, früher Zugang zu neuen Funktionen."
|
||||
"tierMaxLine": "unbegrenzte Geschwader, Wildcards, früher Zugang zu neuen Funktionen.",
|
||||
"voiceChannelTally": "Sprachkanal-Verfolgung",
|
||||
"tallyIntro": "Verfolge einen Live-SQB-Spielstand direkt im Status deines Discord-Sprachkanals. Wenn Spiele enden, aktualisiert der Bot den Kanalstatus zu einem laufenden Ergebnis wie 2W-1L: Sieg gegen ENEMY. Dies ist eine Premium-Funktion, und du musst mit dem Sprachkanal verbunden sein.",
|
||||
"tallyClaimDesc": "Beginne, einen Spieler oder eine Staffel in deinem aktuellen Sprachkanal zu verfolgen. Gib einen Benutzernamen oder eine Staffel an (nicht beides). Der Status beginnt bei 0W-0L und aktualisiert sich, wenn passende Spiele enden.",
|
||||
"tallyTransferDesc": "Wechsle die aktive Verfolgung zu einem anderen Spieler und behalte den aktuellen Sieg-Niederlage-Stand bei.",
|
||||
"tallyClearDesc": "Lösche die aktive Verfolgung in deinem aktuellen Sprachkanal und setze deren Status zurück. Eine Verfolgung wird außerdem automatisch nach 1 Stunde Inaktivität oder sobald alle den Kanal verlassen gelöscht."
|
||||
},
|
||||
"terms": {
|
||||
"pageTitle": "Nutzungsbedingungen & Datenschutzerklärung",
|
||||
|
||||
+6
-1
@@ -265,7 +265,12 @@
|
||||
"tierOverviewDesc": "Autologging is available on three tiers. Each tier caps how many squadrons can have Logs and Points enabled. Over-cap squadrons remain in your preferences and resume automatically after you upgrade.",
|
||||
"tierStandardLine": "$2.99 — up to 10 squadrons each for Logs and Points, no wildcard support.",
|
||||
"tierProLine": "up to 25 squadrons each for Logs and Points, plus wildcard (`*` / `all` / `everything`) support.",
|
||||
"tierMaxLine": "unlimited squadrons, wildcards, and early access to new features."
|
||||
"tierMaxLine": "unlimited squadrons, wildcards, and early access to new features.",
|
||||
"voiceChannelTally": "Voice Channel Tally",
|
||||
"tallyIntro": "Track a live SQB scoreline right in your Discord voice channel's status. As games finish, the bot updates the channel status to a running record like 2W-1L: Win against ENEMY. This is a premium feature, and you must be connected to the voice channel.",
|
||||
"tallyClaimDesc": "Start tracking a player or squadron on your current voice channel. Provide a username or a squadron (not both). The status starts at 0W-0L and updates as matching games finish.",
|
||||
"tallyTransferDesc": "Switch the active tally to a different player, keeping the current win–loss count.",
|
||||
"tallyClearDesc": "Clear the active tally on your current voice channel and reset its status. A tally also clears automatically after 1 hour of inactivity or once everyone leaves the channel."
|
||||
},
|
||||
"terms": {
|
||||
"pageTitle": "Terms of Service & Privacy Policy",
|
||||
|
||||
+6
-1
@@ -263,7 +263,12 @@
|
||||
"tierOverviewDesc": "El auto-logging está disponible en tres niveles. Cada nivel limita cuántos escuadrones pueden tener Logs y Points activos. Los escuadrones sobre el límite permanecen en tus preferencias y se reanudan automáticamente tras la mejora.",
|
||||
"tierStandardLine": "$2.99 — hasta 10 escuadrones cada uno para Logs y Points, sin wildcard.",
|
||||
"tierProLine": "hasta 25 escuadrones cada uno para Logs y Points, más soporte wildcard (`*` / `all` / `everything`).",
|
||||
"tierMaxLine": "escuadrones ilimitados, wildcards, acceso anticipado a nuevas funciones."
|
||||
"tierMaxLine": "escuadrones ilimitados, wildcards, acceso anticipado a nuevas funciones.",
|
||||
"voiceChannelTally": "Seguimiento en canal de voz",
|
||||
"tallyIntro": "Sigue un marcador de SQB en directo en el estado de tu canal de voz de Discord. A medida que terminan las partidas, el bot actualiza el estado del canal con un registro como 2W-1L: Victoria contra ENEMY. Es una función premium y debes estar conectado al canal de voz.",
|
||||
"tallyClaimDesc": "Empieza a seguir a un jugador o escuadrón en tu canal de voz actual. Indica un nombre de usuario o un escuadrón (no ambos). El estado comienza en 0W-0L y se actualiza cuando terminan las partidas correspondientes.",
|
||||
"tallyTransferDesc": "Cambia el seguimiento activo a otro jugador, conservando el recuento actual de victorias y derrotas.",
|
||||
"tallyClearDesc": "Borra el seguimiento activo en tu canal de voz actual y restablece su estado. Un seguimiento también se borra automáticamente tras 1 hora de inactividad o cuando todos abandonan el canal."
|
||||
},
|
||||
"terms": {
|
||||
"pageTitle": "Términos de Servicio y Política de Privacidad",
|
||||
|
||||
+6
-1
@@ -263,7 +263,12 @@
|
||||
"tierOverviewDesc": "L'auto-logging est disponible sur trois tiers. Chaque tier limite le nombre d'escadrons avec Logs et Points activés. Les escadrons au-delà de la limite restent dans vos préférences et reprennent automatiquement après une mise à niveau.",
|
||||
"tierStandardLine": "2,99 $ — jusqu'à 10 escadrons chacun pour Logs et Points, sans wildcard.",
|
||||
"tierProLine": "jusqu'à 25 escadrons chacun pour Logs et Points, plus wildcard (`*` / `all` / `everything`).",
|
||||
"tierMaxLine": "escadrons illimités, wildcards, accès anticipé aux nouvelles fonctionnalités."
|
||||
"tierMaxLine": "escadrons illimités, wildcards, accès anticipé aux nouvelles fonctionnalités.",
|
||||
"voiceChannelTally": "Suivi en salon vocal",
|
||||
"tallyIntro": "Suivez un score SQB en direct dans le statut de votre salon vocal Discord. À la fin des parties, le bot met à jour le statut du salon avec un récapitulatif comme 2W-1L : Victoire contre ENEMY. C'est une fonctionnalité premium et vous devez être connecté au salon vocal.",
|
||||
"tallyClaimDesc": "Commencez à suivre un joueur ou un escadron dans votre salon vocal actuel. Indiquez un nom d'utilisateur ou un escadron (pas les deux). Le statut démarre à 0W-0L et se met à jour à la fin des parties correspondantes.",
|
||||
"tallyTransferDesc": "Basculez le suivi actif vers un autre joueur en conservant le décompte actuel de victoires et de défaites.",
|
||||
"tallyClearDesc": "Effacez le suivi actif dans votre salon vocal actuel et réinitialisez son statut. Un suivi s'efface aussi automatiquement après 1 heure d'inactivité ou dès que tout le monde quitte le salon."
|
||||
},
|
||||
"terms": {
|
||||
"pageTitle": "Conditions d'utilisation & Politique de confidentialité",
|
||||
|
||||
+6
-1
@@ -263,7 +263,12 @@
|
||||
"tierOverviewDesc": "L'auto-logging è disponibile su tre piani. Ogni piano limita quanti squadroni possono avere Logs e Points attivi. Gli squadroni oltre il limite restano nelle preferenze e riprendono automaticamente dopo l'upgrade.",
|
||||
"tierStandardLine": "$2,99 — fino a 10 squadroni per Logs e Points, senza wildcard.",
|
||||
"tierProLine": "fino a 25 squadroni per Logs e Points, più supporto wildcard (`*` / `all` / `everything`).",
|
||||
"tierMaxLine": "squadroni illimitati, wildcards, accesso anticipato alle novità."
|
||||
"tierMaxLine": "squadroni illimitati, wildcards, accesso anticipato alle novità.",
|
||||
"voiceChannelTally": "Monitoraggio del canale vocale",
|
||||
"tallyIntro": "Tieni traccia di un punteggio SQB in tempo reale direttamente nello stato del tuo canale vocale Discord. Al termine delle partite, il bot aggiorna lo stato del canale con un riepilogo come 2W-1L: Vittoria contro ENEMY. È una funzione premium e devi essere connesso al canale vocale.",
|
||||
"tallyClaimDesc": "Inizia a seguire un giocatore o uno squadrone nel tuo canale vocale attuale. Indica un nome utente o uno squadrone (non entrambi). Lo stato parte da 0W-0L e si aggiorna al termine delle partite corrispondenti.",
|
||||
"tallyTransferDesc": "Passa il monitoraggio attivo a un altro giocatore, mantenendo il conteggio attuale di vittorie e sconfitte.",
|
||||
"tallyClearDesc": "Cancella il monitoraggio attivo nel tuo canale vocale attuale e reimposta il suo stato. Un monitoraggio si cancella anche automaticamente dopo 1 ora di inattività o quando tutti lasciano il canale."
|
||||
},
|
||||
"terms": {
|
||||
"pageTitle": "Termini di Servizio e Informativa sulla Privacy",
|
||||
|
||||
+6
-1
@@ -263,7 +263,12 @@
|
||||
"tierOverviewDesc": "Auto-logging dostępny jest w trzech planach. Każdy plan ogranicza liczbę klanów, które mogą mieć Logs i Points. Klany powyżej limitu pozostają w preferencjach i automatycznie wznawiają się po zmianie planu.",
|
||||
"tierStandardLine": "$2.99 — do 10 klanów na Logs i Points, bez wildcard.",
|
||||
"tierProLine": "do 25 klanów na Logs i Points, plus obsługa wildcard (`*` / `all` / `everything`).",
|
||||
"tierMaxLine": "bez limitu klanów, wildcards, wczesny dostęp do nowych funkcji."
|
||||
"tierMaxLine": "bez limitu klanów, wildcards, wczesny dostęp do nowych funkcji.",
|
||||
"voiceChannelTally": "Śledzenie na kanale głosowym",
|
||||
"tallyIntro": "Śledź wynik SQB na żywo bezpośrednio w statusie swojego kanału głosowego na Discordzie. Gdy mecze się kończą, bot aktualizuje status kanału do bieżącego zapisu, np. 2W-1L: Wygrana przeciwko ENEMY. To funkcja premium i musisz być połączony z kanałem głosowym.",
|
||||
"tallyClaimDesc": "Zacznij śledzić gracza lub dywizjon na swoim kanale głosowym. Podaj nazwę użytkownika lub dywizjon (nie oba naraz). Status zaczyna się od 0W-0L i aktualizuje się po zakończeniu pasujących meczów.",
|
||||
"tallyTransferDesc": "Przełącz aktywne śledzenie na innego gracza, zachowując bieżący bilans zwycięstw i porażek.",
|
||||
"tallyClearDesc": "Wyczyść aktywne śledzenie na swoim kanale głosowym i zresetuj jego status. Śledzenie czyści się też automatycznie po 1 godzinie bezczynności lub gdy wszyscy opuszczą kanał."
|
||||
},
|
||||
"terms": {
|
||||
"pageTitle": "Warunki usługi i polityka prywatności",
|
||||
|
||||
+6
-1
@@ -263,7 +263,12 @@
|
||||
"tierOverviewDesc": "Автолог доступен на трёх тарифах. Каждый тариф ограничивает, сколько полков могут иметь Logs и Points. Полки сверх лимита остаются в настройках и автоматически возобновляются после апгрейда.",
|
||||
"tierStandardLine": "$2.99 — до 10 полков для Logs и Points, без wildcard.",
|
||||
"tierProLine": "до 25 полков для Logs и Points, плюс wildcard (`*` / `all` / `everything`).",
|
||||
"tierMaxLine": "без лимита, wildcard, ранний доступ к новым функциям."
|
||||
"tierMaxLine": "без лимита, wildcard, ранний доступ к новым функциям.",
|
||||
"voiceChannelTally": "Отслеживание в голосовом канале",
|
||||
"tallyIntro": "Отслеживайте счёт SQB в реальном времени прямо в статусе вашего голосового канала Discord. По мере завершения матчей бот обновляет статус канала, например 2W-1L: Победа против ENEMY. Это премиум-функция, и вы должны быть подключены к голосовому каналу.",
|
||||
"tallyClaimDesc": "Начните отслеживать игрока или эскадрилью в вашем голосовом канале. Укажите имя пользователя или эскадрилью (но не оба). Статус начинается с 0W-0L и обновляется по завершении подходящих матчей.",
|
||||
"tallyTransferDesc": "Переключите активное отслеживание на другого игрока, сохранив текущий счёт побед и поражений.",
|
||||
"tallyClearDesc": "Очистите активное отслеживание в вашем голосовом канале и сбросьте его статус. Отслеживание также очищается автоматически после 1 часа бездействия или когда все покидают канал."
|
||||
},
|
||||
"terms": {
|
||||
"pageTitle": "Условия использования и политика конфиденциальности",
|
||||
|
||||
+6
-1
@@ -263,7 +263,12 @@
|
||||
"tierOverviewDesc": "Автолог доступний на трьох тарифах. Кожен тариф обмежує, скільки полків можуть мати Logs і Points. Полки понад ліміт залишаються в налаштуваннях і автоматично відновлюються після апгрейду.",
|
||||
"tierStandardLine": "$2.99 — до 10 полків для Logs і Points, без wildcard.",
|
||||
"tierProLine": "до 25 полків для Logs і Points, плюс підтримка wildcard (`*` / `all` / `everything`).",
|
||||
"tierMaxLine": "без ліміту, wildcards, ранній доступ до нових функцій."
|
||||
"tierMaxLine": "без ліміту, wildcards, ранній доступ до нових функцій.",
|
||||
"voiceChannelTally": "Відстеження в голосовому каналі",
|
||||
"tallyIntro": "Відстежуйте рахунок SQB у реальному часі прямо в статусі вашого голосового каналу Discord. Коли матчі завершуються, бот оновлює статус каналу, наприклад 2W-1L: Перемога проти ENEMY. Це преміум-функція, і ви маєте бути під'єднані до голосового каналу.",
|
||||
"tallyClaimDesc": "Почніть відстежувати гравця або ескадрилью у вашому голосовому каналі. Вкажіть ім'я користувача або ескадрилью (не обидва). Статус починається з 0W-0L і оновлюється після завершення відповідних матчів.",
|
||||
"tallyTransferDesc": "Переключіть активне відстеження на іншого гравця, зберігши поточний рахунок перемог і поразок.",
|
||||
"tallyClearDesc": "Очистіть активне відстеження у вашому голосовому каналі та скиньте його статус. Відстеження також очищається автоматично після 1 години бездіяльності або коли всі залишають канал."
|
||||
},
|
||||
"terms": {
|
||||
"pageTitle": "Умови використання та Політика конфіденційності",
|
||||
|
||||
@@ -267,7 +267,12 @@
|
||||
"tierOverviewDesc": "该项目的详细说明。",
|
||||
"tierStandardLine": "$2.99 — up to 10 squadrons each for Logs and 点数, no wildcard 支持.",
|
||||
"tierProLine": "up to 25 squadrons each for Logs and 点数, plus wildcard (`*` / `all` / `everything`) 支持.",
|
||||
"tierMaxLine": "无限中队、通配符,以及新功能抢先体验。"
|
||||
"tierMaxLine": "无限中队、通配符,以及新功能抢先体验。",
|
||||
"voiceChannelTally": "语音频道追踪",
|
||||
"tallyIntro": "直接在你的 Discord 语音频道状态中实时追踪 SQB 比分。比赛结束后,机器人会将频道状态更新为如 2W-1L:胜 对阵 ENEMY 的累计记录。这是高级版功能,你必须连接到该语音频道。",
|
||||
"tallyClaimDesc": "在你当前的语音频道开始追踪某位玩家或战队。请提供用户名或战队(不可同时提供)。状态从 0W-0L 开始,并在相关比赛结束时更新。",
|
||||
"tallyTransferDesc": "将当前追踪切换到另一名玩家,并保留现有的胜负记录。",
|
||||
"tallyClearDesc": "清除你当前语音频道的追踪并重置其状态。追踪还会在闲置 1 小时后,或所有人离开该频道后自动清除。"
|
||||
},
|
||||
"leaderboards": {
|
||||
"title": "排行榜",
|
||||
|
||||
@@ -560,6 +560,44 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Voice Channel Tally -->
|
||||
<div class="mb-12">
|
||||
<h3 class="text-2xl font-semibold text-accent mb-6"><%= t('docs.voiceChannelTally') %></h3>
|
||||
<p class="text-muted leading-relaxed mb-6"><%= t('docs.tallyIntro') %></p>
|
||||
<div class="space-y-4">
|
||||
<div class="bg-[rgba(44,44,44,0.3)] border border-[rgba(144,238,144,0.1)] rounded-xl p-6">
|
||||
<div class="bg-[rgba(0,0,0,0.4)] border border-[rgba(144,238,144,0.15)] rounded-lg p-4 font-mono text-sm text-accent mb-4">
|
||||
/tally-claim [username] [squadron]
|
||||
</div>
|
||||
<p class="text-muted leading-relaxed mb-3"><%= t('docs.tallyClaimDesc') %></p>
|
||||
<div class="text-sm space-y-1">
|
||||
<div>
|
||||
<span class="text-accent font-semibold"><%= t('docs.example') %>:</span>
|
||||
<code class="ml-2 px-2 py-1 bg-[rgba(0,0,0,0.4)] rounded text-accent">/tally-claim username:PlayerName</code>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-accent font-semibold"><%= t('docs.example') %>:</span>
|
||||
<code class="ml-2 px-2 py-1 bg-[rgba(0,0,0,0.4)] rounded text-accent">/tally-claim squadron:DSPL</code>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bg-[rgba(44,44,44,0.3)] border border-[rgba(144,238,144,0.1)] rounded-xl p-6">
|
||||
<div class="bg-[rgba(0,0,0,0.4)] border border-[rgba(144,238,144,0.15)] rounded-lg p-4 font-mono text-sm text-accent mb-4">
|
||||
/tally-transfer [username]
|
||||
</div>
|
||||
<p class="text-muted leading-relaxed"><%= t('docs.tallyTransferDesc') %></p>
|
||||
</div>
|
||||
|
||||
<div class="bg-[rgba(44,44,44,0.3)] border border-[rgba(144,238,144,0.1)] rounded-xl p-6">
|
||||
<div class="bg-[rgba(0,0,0,0.4)] border border-[rgba(144,238,144,0.15)] rounded-lg p-4 font-mono text-sm text-accent mb-4">
|
||||
/tally-clear
|
||||
</div>
|
||||
<p class="text-muted leading-relaxed"><%= t('docs.tallyClearDesc') %></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Stack Manager -->
|
||||
<div class="mb-12" id="stack-manager">
|
||||
<h3 class="text-2xl font-semibold text-accent mb-6"><%= t('docs.stackManager') %></h3>
|
||||
|
||||
Reference in New Issue
Block a user