2b399fdb81
PR #1223 only staged the deletions of the old paths because the new top-level directories were still untracked when the commit was authored. This commit adds the actual restructured tree: SREBOT/ (existing bot), SHARED/ (vromfs, data_parser, ICONS/MAPS/FONTS, DAGOR_FILES, update_game_files), and TSSBOT/ (skeleton). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
858 lines
47 KiB
JSON
858 lines
47 KiB
JSON
{
|
||
"common": {
|
||
"error_title": "Error",
|
||
"no_data_title": "No Data",
|
||
"access_denied_title": "Access Denied",
|
||
"access_denied_desc": "This server has been blacklisted.",
|
||
"no_players_selected": "No players selected. Please select at least one player.",
|
||
"must_use_in_server": "This command must be used in a server.",
|
||
"could_not_resolve_channel": "Could not resolve the selected channel.",
|
||
"failed_update_setting": "❌ Failed to update setting.",
|
||
"configuration_not_found": "Configuration not found.",
|
||
"no_channel_selected": "No channel selected.",
|
||
"no_selection_received": "No selection received.",
|
||
"database_error": "❌ Database error: {error}",
|
||
"enabled": "Enabled",
|
||
"disabled": "Disabled",
|
||
"not_configured": "Not configured",
|
||
"unknown": "Unknown",
|
||
"rating_field": "Rating",
|
||
"battles_field": "Battles",
|
||
"wins_field": "Wins",
|
||
"losses_field": "Losses",
|
||
"win_rate_field": "Win Rate",
|
||
"kills_field": "Kills",
|
||
"deaths_field": "Deaths",
|
||
"kd_field": "K/D",
|
||
"members_field": "Members",
|
||
"placement_field": "Placement",
|
||
"points_field": "Points",
|
||
"ground_kills_field": "Ground Kills",
|
||
"air_kills_field": "Air Kills",
|
||
"total_kills_field": "Total Kills",
|
||
"assists_field": "Assists",
|
||
"captures_field": "Captures",
|
||
"none_option": "None"
|
||
},
|
||
"buttons": {
|
||
"skip": "Skip",
|
||
"previous": "Previous",
|
||
"next": "Next",
|
||
"prev": "Prev",
|
||
"prev_arrow": "◀ Previous",
|
||
"next_arrow": "Next ▶",
|
||
"prev_arrow_only": "◀",
|
||
"next_arrow_only": "▶",
|
||
"generate_chart": "📊 Generate Chart",
|
||
"show_graph": "Show Graph",
|
||
"view_player_stats": "📊 View Player Stats",
|
||
"compare_nearby": "📈 Compare Nearby Squadrons",
|
||
"confirm_swap": "Yes, swap it",
|
||
"cancel_swap": "No, keep the old one",
|
||
"set_squadron": "Set Squadron",
|
||
"same_as_logs": "Same as Logs",
|
||
"require_password": "🔒 Require Password",
|
||
"password_required": "🔒 Password Required",
|
||
"lock_data": "🔐 Bind Squadron Data",
|
||
"data_locked": "🔐 Data Bound to Server",
|
||
"allow_public": "👥 Allow Public Meta",
|
||
"public_enabled": "👥 Public Meta Enabled",
|
||
"update_accounts": "📋 Update Meta Accounts",
|
||
"change_password": "🔑 Change Password",
|
||
"help": "❓ Help",
|
||
"add_player": "➕ Add Player",
|
||
"update_all": "🔄 Update All Members",
|
||
"back_to_settings": "⬅ Back to Settings",
|
||
"manage_notifications": "Manage Notifications",
|
||
"diagnose_permissions": "Diagnose Permissions",
|
||
"enable": "Enable",
|
||
"disable": "Disable",
|
||
"change_channel": "Change Channel",
|
||
"view_replay": "View Replay",
|
||
"view_website": "View on Website",
|
||
"view_video": "View Video",
|
||
"view_log": "View Log",
|
||
"view_chat": "View Chat",
|
||
"subscribe_website": "Subscribe via Website",
|
||
"yes_disband": "Yes, Disband",
|
||
"cancel": "Cancel",
|
||
"transfer_leave": "Transfer & Leave",
|
||
"accept_selected": "Accept Selected",
|
||
"accept_all": "Accept All",
|
||
"decline_selected": "Decline Selected",
|
||
"back": "Back",
|
||
"remove_all": "Remove All",
|
||
"remove_active": "Remove Active",
|
||
"remove_queued": "Remove Queued",
|
||
"remove_selected": "Remove Selected",
|
||
"ping_all": "Ping All",
|
||
"ping_active": "Ping Active",
|
||
"ping_queued": "Ping Queued",
|
||
"ping_selected": "Ping Selected",
|
||
"accept_members": "Accept Members",
|
||
"remove_members": "Remove Members",
|
||
"ping_members": "Ping Members",
|
||
"rename_stack": "Rename Stack",
|
||
"request_to_join": "Request to Join",
|
||
"leave_withdraw": "Leave / Withdraw",
|
||
"manage_stack": "Manage Stack ⚙️",
|
||
"disband_stack": "Disband Stack",
|
||
"force_disband_create": "Force Disband & Create New"
|
||
},
|
||
"events": {
|
||
"guild_join_title": "Thanks for adding me!",
|
||
"guild_join_desc": "Run `/setup` to configure the bot for this server."
|
||
},
|
||
"comp": {
|
||
"not_found_title": "Comps Not Found",
|
||
"not_found_desc": "No data for **{squadron}**, try again later.",
|
||
"error_loading_title": "Error Loading Comps",
|
||
"error_loading_desc": "Failed to load comp data: {error}",
|
||
"title": "Comps for {squadron}",
|
||
"desc": "Comps seen in the last {minutes} minutes",
|
||
"no_recent_title": "No Recent Comps",
|
||
"no_recent_desc": "No comps in the last {minutes} minutes.",
|
||
"comp_title": "COMP {index}",
|
||
"last_seen_label": "**Last seen** : {timestamp}{warning}",
|
||
"comp_label": "**Comp**: {notation}",
|
||
"no_players_recorded": "No players recorded.",
|
||
"limit_reached_title": "Comp Limit Reached",
|
||
"limit_reached_desc": "This server has used all {limit} comp lookups for this timeslot. Subscribe (with /unlock) for unlimited access or wait for the next timeslot.",
|
||
"remaining_footer": "{remaining}/{limit} comp lookups remaining this timeslot"
|
||
},
|
||
"quick_log": {
|
||
"invalid_type": "Type can only be set to Logs, Points, Leaderboard, Weekly BR, or Both.",
|
||
"squadron_required": "You must provide a squadron name for Logs, Points, or Both alarms.",
|
||
"wildcard_logs_only": "Only Logs can be set to wildcard squadron.",
|
||
"squadron_not_resolved": "Squadron `{squadron}` could not be resolved.",
|
||
"save_failed": "Failed to save preferences. Please try again later.",
|
||
"premium_warning": "\n\n> ⚠️ **Game logs require Premium.** Run `/unlock` to subscribe ($2.99/mo) — logs won't post until then.",
|
||
"leaderboard_set": "Global Leaderboard alarm set to this channel.",
|
||
"both_set": "Logs and Points alarms for {squadron} set to this channel.{premium_note}",
|
||
"alarm_set": "{alarm_type} alarm for {squadron} set to this channel.{premium_note}",
|
||
"weekly_br_wildcard_set": "Weekly BR Report (top-20 squadrons) set to this channel. Fires at the end of every BR rotation.",
|
||
"weekly_br_squadron_set": "Weekly BR Report for {squadron} (top-15 players) set to this channel. Fires at the end of every BR rotation."
|
||
},
|
||
"diagnostics": {
|
||
"title": "Autolog Diagnostics",
|
||
"channel_permissions_header": "**Channel Permissions** (<#{channel_id}>)",
|
||
"perms_needed": " ^ Autologging needs all of the above to send scoreboards.",
|
||
"server_squadron_header": "**Server Squadron** (`/set-squadron`)",
|
||
"server_squadron_short": " Short: `{short}`",
|
||
"server_squadron_long": " Long: `{long}`",
|
||
"server_squadron_not_set": " Not set (scoreboard bar color will show as 'not_set')",
|
||
"autolog_prefs_header": "**Autolog Preferences** (`/quick-log`)",
|
||
"autolog_none_configured": " ❌ NONE configured - autologging will NOT send anything to this server.",
|
||
"autolog_setup_hint": " Use `/quick-log <squadron_short> Logs` in the target channel to set up.",
|
||
"autolog_no_logs_channels": " ❌ No Logs channels configured. Only Points/Leaderboard found.",
|
||
"autolog_enable_hint": " Use `/quick-log <squadron_short> Logs` to enable autologging.",
|
||
"selected_channel_tag": " **(selected channel)**",
|
||
"missing_send_attach": " (missing send/attach)",
|
||
"channel_not_found": " (channel not found)",
|
||
"invalid_channel_id": " (invalid channel ID)",
|
||
"premium_status_header": "**Premium Status** (`/unlock`)",
|
||
"premium_active": " ✅ This server has an active Premium subscription.",
|
||
"premium_not_subscribed": " ❌ This server does **not** have a Premium subscription.",
|
||
"premium_autolog_required": " Autologging requires Premium. Use `/unlock` to subscribe.",
|
||
"premium_not_subscribed_free": " ⚪ Not subscribed — use `/unlock` to subscribe ($2.99/mo).",
|
||
"premium_free_note": " *(Autologs are free for all servers right now.)*"
|
||
},
|
||
"sq_info": {
|
||
"title": "Squadron Info: {squadron}",
|
||
"placement_field": "Placement",
|
||
"total_points_field": "Total Points",
|
||
"total_members_field": "Total Members",
|
||
"members_field": "Members",
|
||
"fetch_failed": "Failed to fetch squadron info."
|
||
},
|
||
"sq_info_graph": {
|
||
"title": "{squadron} — SQ-INFO (Season {season})",
|
||
"embed_title": "{squadron} — Roster Composition",
|
||
"embed_desc": "Season **{season}** · Median games: **{median}** · Core: **{core}** · Active: **{active}** · Weak: **{weak}**\nBars sorted by games desc; height = WR%. Core = top 30% WR rank & games ≥ median. Active = top 30–45% WR rank & games ≈ median. Weak = everyone else.",
|
||
"core_threshold_line": "CORE ≥ {wr}%",
|
||
"weak_threshold_line": "WEAK < {wr}%",
|
||
"y_label": "Win Rate",
|
||
"core_header": "CORE — {count} · WR {avg}%",
|
||
"active_header": "ACTIVE — {count} · WR {avg}%",
|
||
"weak_header": "WEAK — {count} · WR {avg}%",
|
||
"no_active_season": "No active season was found. Try again once the next season starts.",
|
||
"no_members": "No current members were found for {squadron}."
|
||
},
|
||
"recap_card": {
|
||
"unknown_season": "Unknown season: `{season}`.",
|
||
"no_clan_id": "Could not resolve a squadron ID for `{squadron}`.",
|
||
"render_failed": "Failed to generate the season recap card. Please try again later."
|
||
},
|
||
"sq_stats": {
|
||
"no_data_title": "No Data",
|
||
"no_data_desc": "No historical data found for squadron: {squadron}",
|
||
"title": "{squadron} // SQUADRON",
|
||
"desc": "Total Score Trend (Last {count} data points)",
|
||
"previous_score_field": "Previous Score",
|
||
"current_score_field": "Current Score",
|
||
"change_field": "Change",
|
||
"player_title": "{squadron} // PLAYERS",
|
||
"player_desc": "Individual player point trends",
|
||
"comparison_title": "{squadron} // LEADERBOARD COMPARISON",
|
||
"comparison_desc": "Comparing with squadrons ranked {range}",
|
||
"current_position_field": "Current Position",
|
||
"squadrons_shown_field": "Squadrons Shown",
|
||
"squadron_not_found_error": "Squadron not found in leaderboard",
|
||
"no_nearby_error": "No nearby squadrons found",
|
||
"no_historical_error": "No historical data found for nearby squadrons",
|
||
"comparison_chart_failed": "Failed to generate comparison chart",
|
||
"select_players_placeholder": "Select players (Page {page})"
|
||
},
|
||
"loss_calc": {
|
||
"title": "Point Loss — {squadron}",
|
||
"players_leaving_field": "Players Leaving",
|
||
"share_of_total_field": "% Share of Total",
|
||
"points_lost_real_field": "Points Lost (Real)",
|
||
"points_lost_raw_field": "Points Lost (Raw)",
|
||
"squadron_rating_field": "Squadron Rating",
|
||
"squadron_position_field": "Squadron Position",
|
||
"positions_lost_field": "Positions Lost",
|
||
"not_found_footer": "Not found in squadron: {players}",
|
||
"fetch_failed": "Failed to fetch squadron data: {error}",
|
||
"no_point_data": "No point data available for this squadron.",
|
||
"no_matching_players": "No matching players found in **{squadron}**."
|
||
},
|
||
"player": {
|
||
"select_player_placeholder": "Select a player",
|
||
"no_stats_found": "❌ No stats found for UID: {uid}",
|
||
"no_vehicle_stats": "❌ No vehicle stats found for this player.",
|
||
"vehicles_found": "Found **{count}** vehicles for **{nick}**\nSelect a vehicle to view detailed stats:",
|
||
"vehicle_select_placeholder": "Select a vehicle (Page {page}/{total})",
|
||
"combat_stats_header": "**__COMBAT STATS__**",
|
||
"ground_kills_label": "**Ground Kills:** {value}",
|
||
"air_kills_label": "**Air Kills:** {value}",
|
||
"total_kills_label": "**Total Kills:** {value}",
|
||
"assists_label": "**Assists:** {value}",
|
||
"deaths_label": "**Deaths:** {value}",
|
||
"kd_label": "**K/D:** {value}",
|
||
"captures_label": "**Captures:** {value}",
|
||
"battle_record_header": "**__BATTLE RECORD__**",
|
||
"total_battles_label": "**Total Battles:** {value}",
|
||
"wins_label": "**Wins:** {value}",
|
||
"losses_label": "**Losses:** {value}",
|
||
"win_rate_label": "**Win Rate:** {value}%",
|
||
"stats_desc": "Stats for **{nick}** (**{squadron}**)\nUID: `{uid}`",
|
||
"not_found_title": "Player Not Found",
|
||
"not_found_desc": "No game history found for `{player}`.",
|
||
"no_players_found": "No players found matching **{username}**\nTry using `/website` to search on the website.",
|
||
"multiple_matches": "Multiple matches found, choose the correct one below:",
|
||
"must_provide_input": "You must provide at least a UID or username."
|
||
},
|
||
"player_games": {
|
||
"no_recent_title": "No Recent Games",
|
||
"no_recent_desc": "No games found for **{player}** in the last 8 hours.",
|
||
"squadron_label": "**Squadron:** {squadron}",
|
||
"record_label": "**W:** {wins} **L:** {losses} **WR:** {wr}%",
|
||
"comps_played_header": "\n\n**Comps Played**"
|
||
},
|
||
"match": {
|
||
"missing_input_title": "Missing Input",
|
||
"missing_input_desc": "Provide either a `match_id` or a `player_name`.",
|
||
"not_found_title": "Match Not Found",
|
||
"not_found_desc": "Could not find a match with ID `{match_id}`.",
|
||
"invalid_data_title": "Invalid Match Data",
|
||
"invalid_data_desc": "The replay data could not be parsed.",
|
||
"scoreboard_error_title": "Scoreboard Error",
|
||
"scoreboard_error_desc": "Failed to generate the scoreboard image.",
|
||
"no_games_title": "No Games Found",
|
||
"no_games_desc": "No game history found for **{player}**.",
|
||
"recent_matches_title": "Recent matches for {player}",
|
||
"recent_matches_desc": "Showing up to {count} recent games. Select one to view the full scoreboard.",
|
||
"select_match_placeholder": "Select a match to view..."
|
||
},
|
||
"compare": {
|
||
"no_players_found": "No players found matching **{name}**.",
|
||
"multiple_matches": "Multiple matches for **{name}**: {matches}\nPlease use a more specific name (the autocomplete suggestions are exact).",
|
||
"could_not_resolve": "Could not resolve players.",
|
||
"could_not_fetch": "❌ Could not fetch stats for **{name}**.",
|
||
"no_graph_data": "No data available for the last 90 days.",
|
||
"no_squadron_points_data": "No squadron points data for {names} (player not found in tracked squadron history).",
|
||
"graph_title": "Player Points — Last 90 Days",
|
||
"battles_label": "Battles",
|
||
"wins_label": "Wins",
|
||
"losses_label": "Losses",
|
||
"win_rate_label": "Win Rate",
|
||
"ground_kills_label": "Ground Kills",
|
||
"air_kills_label": "Air Kills",
|
||
"total_kills_label": "Total Kills",
|
||
"assists_label": "Assists",
|
||
"deaths_label": "Deaths",
|
||
"kd_label": "K/D",
|
||
"captures_label": "Captures"
|
||
},
|
||
"squadron": {
|
||
"not_found_desc": "Squadron `{squadron}` not found.",
|
||
"set_title": "✅ Squadron Set",
|
||
"set_desc": "Squadron **{squadron}** has been set for this server.",
|
||
"short_name_field": "Short Name",
|
||
"long_name_field": "Long Name",
|
||
"swap_title": "✅ Squadron Swapped",
|
||
"swap_desc": "Replaced **{old}** with **{new}** for this server.",
|
||
"already_set_title": "⚠️ Squadron Already Set",
|
||
"already_set_desc": "This server is currently set to **{old}**.\nSwap it to **{new}**?",
|
||
"swap_cancelled": "❌ Squadron change cancelled."
|
||
},
|
||
"setup": {
|
||
"step1_title": "Server Setup — Step 1 of 3",
|
||
"step1_desc": "This wizard will walk you through configuring the bot for your server.\n\n**Step 1** — Set your squadron\n**Step 2** — Choose a logs channel\n**Step 3** — Choose a points channel\n",
|
||
"step1_current_sq": "\nCurrently configured squadron: **[{short}] {long}**",
|
||
"step2_title": "Server Setup — Step 2 of 3",
|
||
"step2_desc": "Squadron set to **[{short}] {long}**.\n\nWhere should **battle logs** be posted?\nSelect a text channel below, or skip this step.",
|
||
"step3_title": "Server Setup — Step 3 of 3",
|
||
"step3_desc": "Where should **points notifications** be posted?\nSelect a text channel below, or skip this step.",
|
||
"step3_same_as_logs": "\n\nYou can also click \"Same as Logs\" to reuse the logs channel.",
|
||
"summary_title": "Setup Complete",
|
||
"summary_desc": "You can use `/autolog-management` to change these settings later.",
|
||
"squadron_field": "Squadron",
|
||
"logs_channel_field": "Logs Channel",
|
||
"points_channel_field": "Points Channel",
|
||
"premium_required_field": "⚠️ Game Logs Require Premium",
|
||
"premium_required_value": "Automatic game scoreboards won't post until this server has an active subscription. Run `/unlock` to subscribe ($2.99/mo).",
|
||
"modal_title": "Set Squadron",
|
||
"modal_label": "Squadron Short Name",
|
||
"modal_placeholder": "e.g. AXYS",
|
||
"squadron_not_found": "Squadron `{squadron}` not found. Please try again.",
|
||
"logs_channel_placeholder": "Select a logs channel...",
|
||
"points_channel_placeholder": "Select a points channel..."
|
||
},
|
||
"meta_management": {
|
||
"squadron_not_found_title": "❌ Squadron Not Found",
|
||
"squadron_not_found_desc": "Could not find clan ID for squadron: **{squadron}**",
|
||
"access_denied_title": "❌ Access Denied",
|
||
"access_denied_desc": "Incorrect password. This squadron's meta data is protected.",
|
||
"data_locked_title": "🔐 Squadron Data Bound",
|
||
"data_locked_desc": "**{squadron}** has data binding enabled and cannot be transferred to another server.\n\nThe squadron owner must disable **Bind Squadron Data** before it can be moved.",
|
||
"error_retrieving_settings": "❌ Error retrieving guild settings after transfer. Please try again.",
|
||
"error_retrieving_settings_retry": "❌ Error retrieving guild settings. Please try running the command again.",
|
||
"authenticated_title": "✅ Authenticated",
|
||
"authenticated_desc": "Password verified. Managing settings for **{squadron}**.",
|
||
"claimed_title": "✅ Squadron Claimed",
|
||
"claimed_desc": "**{squadron}** has been successfully claimed for this server!",
|
||
"password_requirement_field": "🔒 Password Requirement",
|
||
"data_lock_field": "🔐 Squadron Data Binding",
|
||
"public_meta_field": "👥 Public Meta Access",
|
||
"access_password_field": "🔑 Access Password",
|
||
"enabled_value": "✅ Enabled",
|
||
"disabled_value": "❌ Disabled",
|
||
"settings_title": "🔐 Meta Management Settings",
|
||
"settings_desc": "**Squadron:** {squadron}\n**Clan ID:** {clan_id}",
|
||
"first_time_title": "🔐 Meta Management - First Time Setup",
|
||
"first_time_owner_desc": "**Squadron:** {squadron}\n**Clan ID:** {clan_id}\n\n🔑 Your access password has been generated. **Save this password** — you'll need it to authenticate meta data access in the future.\n\n**Password:** `{password}`",
|
||
"first_time_non_owner_desc": "**Squadron:** {squadron}\n**Clan ID:** {clan_id}\n\nSquadron has been set up. Ask the server owner for the access password.",
|
||
"settings_field": "Settings",
|
||
"settings_hint": "Use the buttons below to configure access settings.",
|
||
"password_toggled": "✅ Password requirement: **{state}**",
|
||
"lock_toggled": "✅ Squadron data binding: **{state}**",
|
||
"public_meta_toggled": "✅ Public meta access: **{state}**\n{detail}",
|
||
"public_meta_enabled_detail": "Non-admins can now use `/meta` command.",
|
||
"public_meta_disabled_detail": "Only admins can use `/meta` command.",
|
||
"owner_only_password": "❌ Only the server owner can change the squadron password.",
|
||
"help_title": "📖 Meta Management Help",
|
||
"help_desc": "Explanation of each setting and feature:",
|
||
"help_password_field": "🔑 Access Password",
|
||
"help_password_value": "Your squadron's access password. Only the **server owner** can see the password in the settings panel. Anyone with the password can claim your squadron's meta data on their server, so keep it secure.",
|
||
"help_require_field": "🔒 Require Password",
|
||
"help_require_value": "When enabled, even admins on this server must enter the squadron password to access `/meta-management`. Adds an extra layer of security to prevent accidental changes.",
|
||
"help_lock_field": "🔐 Bind Squadron Data",
|
||
"help_lock_value": "When enabled, prevents the squadron from being transferred to other servers, even with the correct password. Must be disabled before the squadron can be transferred.",
|
||
"help_public_field": "👥 Allow Public Meta",
|
||
"help_public_value": "When enabled, allows non-admin members to use the `/meta` command to search squadron vehicles. When disabled, only server administrators can use `/meta`.",
|
||
"help_accounts_field": "📋 Update Meta Accounts",
|
||
"help_accounts_value": "Opens the player roster manager where you can add or remove players from your squadron's meta roster. Use **Update All Members** to sync your entire squadron at once.",
|
||
"help_change_pw_field": "🔑 Change Password",
|
||
"help_change_pw_value": "**Server owner only.** Change the squadron's access password and set an optional hint. The hint is shown in the password prompt to help remember it.",
|
||
"password_modal_title": "Squadron Access Password",
|
||
"password_modal_label": "Enter Squadron Password",
|
||
"password_modal_placeholder": "XXXX-XXXX-XXXX",
|
||
"change_pw_modal_title": "Change Squadron Password",
|
||
"current_password_label": "Current Password",
|
||
"current_password_placeholder": "Enter your current password",
|
||
"new_password_label": "New Password",
|
||
"new_password_placeholder": "Enter your new password",
|
||
"confirm_password_label": "Confirm New Password",
|
||
"confirm_password_placeholder": "Re-enter your new password",
|
||
"hint_label": "Password Hint (Optional)",
|
||
"hint_placeholder": "A hint to help remember the password",
|
||
"pw_incorrect": "❌ Current password is incorrect.",
|
||
"pw_mismatch": "❌ New passwords do not match. Please try again.",
|
||
"pw_empty": "❌ New password cannot be empty.",
|
||
"pw_changed": "✅ Password updated successfully for **{squadron}**.\n**New Password:** `{password}`",
|
||
"pw_changed_hint": "\n**Hint:** {hint}",
|
||
"player_add_modal_title": "Add Player to Meta Roster",
|
||
"player_add_label": "Player UID or Nickname",
|
||
"player_add_placeholder": "Enter player's UID (e.g., 12345678) or nickname",
|
||
"player_not_found": "❌ Player `{player}` not found in Players_Global database.\n",
|
||
"roster_title": "📋 Meta Roster Management - {squadron}",
|
||
"roster_desc": "**Squadron Clan ID:** {clan_id}\n**Total Players:** {count}",
|
||
"roster_page_field": "Players (Page {page}/{total})",
|
||
"no_players_field": "No Players",
|
||
"no_players_hint": "No players added to meta roster yet. Click **Add Player** to get started.",
|
||
"remove_player_placeholder": "Select player to remove...",
|
||
"fetch_members_failed": "❌ Failed to fetch squadron members: {error}",
|
||
"no_members_found": "❌ No members found in squadron or API call failed.",
|
||
"roster_synced": "✅ Synced roster with squadron.",
|
||
"roster_added": "**+{count}** added",
|
||
"roster_removed": "**-{count}** removed (left squadron)",
|
||
"roster_up_to_date": "**{count}** already up to date",
|
||
"refreshing_vehicles": "Refreshing vehicle data in background..."
|
||
},
|
||
"meta": {
|
||
"not_configured": "❌ Meta data not configured for this server. Run `/meta-management` first.",
|
||
"no_permission": "❌ You need administrator permissions to use this command.\nAdmins can enable public access via `/meta-management`.",
|
||
"no_results": "❌ No players in your squadron roster have **{vehicle}**.",
|
||
"no_results_admin_hint": "\n*Expecting someone to have this? Click the update members button in `/meta-management` and double check.*",
|
||
"search_title": "🔍 Search Results - {vehicle}",
|
||
"matches_found": "**Matches Found:** {count} player(s)",
|
||
"spawns_label": "Spawns",
|
||
"deaths_label": "Deaths",
|
||
"gk_label": "GK",
|
||
"ak_label": "AK",
|
||
"points_label": "Points",
|
||
"kdr_label": "KDR",
|
||
"games_label": "Games",
|
||
"no_points": "—"
|
||
},
|
||
"top": {
|
||
"title": "**Top 20 Squadrons**",
|
||
"rating_label": "**Rating:** {value}",
|
||
"air_kills_label": "**Air Kills:** {value}",
|
||
"ground_kills_label": "**Ground Kills:** {value}",
|
||
"deaths_label": "**Deaths:** {value}",
|
||
"kd_label": "**K/D:** {value}",
|
||
"win_rate_label": "**Win Rate:** {value}",
|
||
"playtime_label": "**Playtime:** {value}",
|
||
"fetch_failed": "Failed to retrieve squadron data."
|
||
},
|
||
"analytics": {
|
||
"no_data_title": "No Data",
|
||
"no_matches_desc": "No matches found.",
|
||
"no_comp_desc": "No composition data found.",
|
||
"no_consistency_desc": "Not enough player data (minimum 50 matches).",
|
||
"no_time_desc": "No time data found.",
|
||
"unknown_view": "Unknown view.",
|
||
"map_title": "Map Win Rates: {squadron}",
|
||
"comp_title": "Team Compositions: {squadron}",
|
||
"consistency_title": "Player Consistency: {squadron}",
|
||
"consistency_desc": "Sorted by K/D ratio",
|
||
"time_title": "Time of Day Performance: {squadron}",
|
||
"eu_timeslot": "\n**EU Timeslot**",
|
||
"na_timeslot": "\n**NA Timeslot**",
|
||
"off_peak": "\n**Off-Peak**",
|
||
"matchups_title": "📜 {squadron} — Matchup History",
|
||
"matchups_won_field": "🏆 Most Won Against",
|
||
"matchups_lost_field": "💀 Most Lost To",
|
||
"no_matchups_desc": "No recorded matches against other squadrons yet."
|
||
},
|
||
"recent": {
|
||
"title": "Recent Matches: {squadron}",
|
||
"no_matches_desc": "No matches found for this squadron."
|
||
},
|
||
"h2h": {
|
||
"two_required_title": "Two Squadrons Required",
|
||
"two_required_desc": "Provide at least one squadron, or use `/set-squadron` and provide the opponent.",
|
||
"provide_a_desc": "Provide `squadron_a` or use `/set-squadron` first.",
|
||
"provide_b_desc": "Provide `squadron_b` or use `/set-squadron` first.",
|
||
"squadron_not_found_title": "Squadron Not Found",
|
||
"same_squadron_title": "Same Squadron",
|
||
"same_squadron_desc": "You can't check head-to-head against yourself.",
|
||
"record_desc": "**Record:** {a_wins}W - {b_wins}L ({total} games)",
|
||
"no_matches_desc": "No recorded matches between **{a}** and **{b}**."
|
||
},
|
||
"autolog": {
|
||
"premium_active_line": "✅ **Premium:** Active — autologging is enabled for this server.",
|
||
"premium_not_subscribed_line": "❌ **Premium:** Not subscribed — use `/unlock` to enable autologging.",
|
||
"premium_free_line": "⚪ **Premium:** Not subscribed — use `/unlock` to subscribe ($2.99/mo). *(Autologs are free for all servers right now.)*",
|
||
"what_to_do": "\n\nWhat would you like to do?",
|
||
"select_notif_type": "Select the notification type to manage:",
|
||
"select_notif_placeholder": "Select notification type",
|
||
"logs_option": "Logs",
|
||
"logs_option_desc": "Manage Logs notifications",
|
||
"points_option": "Points",
|
||
"points_option_desc": "Manage Points notifications",
|
||
"leaderboard_option": "Leaderboard",
|
||
"leaderboard_option_desc": "Manage Leaderboard notifications",
|
||
"selected_type": "Selected **{type}**. Now choose the squadron to manage:",
|
||
"select_squadron_placeholder": "Select a squadron",
|
||
"select_squadron_page_placeholder": "Select a squadron (Page {page})",
|
||
"no_squadrons_available": "No squadron available for this notification type.",
|
||
"managing_global": "Managing **{type}** (global) in channel **{channel}**.",
|
||
"managing_squadron": "Managing **{type}** for squadron **{squadron}** in channel **{channel}**.",
|
||
"select_channel": "Select a new channel:",
|
||
"select_channel_placeholder": "Select a channel",
|
||
"select_channel_page_placeholder": "Select a channel (Page {page})",
|
||
"global_toggled": "{type} (global) is now {state}.",
|
||
"squadron_toggled": "{type} for **{squadron}** is now {state}.",
|
||
"channel_updated_global": "Updated {type} (global) to {channel}",
|
||
"channel_updated_squadron": "Updated {type} for **{squadron}** to {channel}",
|
||
"diagnose_channel_placeholder": "Select a channel to diagnose...",
|
||
"select_channel_diagnose": "Select the channel to diagnose:",
|
||
"game_not_logged_title": "Game Not Logged",
|
||
"game_not_logged_desc": "Use `/unlock` to subscribe to the **Standard** tier (or higher) to receive automatic game scoreboards.",
|
||
"server_not_upgraded_title": "⚠️ Server Not Upgraded",
|
||
"server_not_upgraded_autolog_desc": "This server does not have an active Premium subscription.\n\n**Automatic game scoreboards will stop being sent to non-upgraded servers after <t:{deadline}:D>.**\n\nUse `/unlock` to subscribe and keep receiving automatic game logs.",
|
||
"replay_not_available": "Replay data isn't available yet — wait a bit then try again!",
|
||
"too_many_videos": "Too many videos rendering right now — please try again in a moment.",
|
||
"video_gen_failed": "Error generating video: `{error}`",
|
||
"video_missing": "Failed to generate replay video - output file missing or empty.",
|
||
"video_too_large": "Replay video too large to upload ({file_mb:.1f} MB). Server limit is {limit_mb:.0f} MB.",
|
||
"video_web_fallback": "You can also view this match at {url}",
|
||
"video_upload_failed": "Video too large to upload — view it on the website:\n{url}",
|
||
"video_unexpected_error": "Unexpected error generating replay video: `{error}`",
|
||
"replay_not_found": "Replay data not found for session `{session_id}` on disk.",
|
||
"chat_log_title": "**Chat Log for Game [{session_id}]({url})**",
|
||
"chat_log_part_title": "**Chat Log for Game [{session_id}]({url}) (Part {part}/{total})**",
|
||
"chat_log_part_only": "**Chat Log (Part {part}/{total})**",
|
||
"no_chat_log": "No chat log found for session `{session_id}`.",
|
||
"chat_log_error": "Unexpected error loading chat log: `{error}`",
|
||
"battle_log_title": "**Battle Log for Game [{session_id}]({url})**",
|
||
"battle_log_part_title": "**Battle Log for Game [{session_id}]({url}) (Part {part}/{total})**",
|
||
"battle_log_part_only": "**Battle Log (Part {part}/{total})**",
|
||
"no_battle_log": "No combat events found for session `{session_id}`.",
|
||
"battle_log_error": "Unexpected error loading battle log: `{error}`",
|
||
"points_update_title": "**{squadron} {region} Points Update**",
|
||
"points_update_desc": "# {old_total} -> {new_total} {chart}{wl_line}{placement_line}\n\n**Player Changes:**",
|
||
"points_table_header": "Name Change Now\n",
|
||
"wl_line": "\n**{squadron}** went **{wins}W-{losses}L** this session",
|
||
"placement_rose": "\n**{squadron}** rose to **{new_place}** from **{old_place}**",
|
||
"placement_fell": "\n**{squadron}** fell to **{new_place}** from **{old_place}**",
|
||
"points_not_logged_title": "Points Not Logged",
|
||
"points_not_logged_desc": "Use `/unlock` to subscribe to the **Standard** tier (or higher) to receive automatic points updates.",
|
||
"server_not_upgraded_points_desc": "This server does not have an active Premium subscription.\n\n**Automatic updates will stop being sent to non-upgraded servers after <t:{deadline}:D>.**\n\nUse `/unlock` to subscribe and keep receiving automatic updates.",
|
||
"leave_title": "⚠️ Player Left {squadron}",
|
||
"leave_desc": "**{nick}** ({uid}) has left the squadron.\n\nLast recorded points: **{points}**",
|
||
"no_squadrons_desc": "No squadrons configured",
|
||
"no_channels_desc": "No channels available",
|
||
"over_cap_title": "Squadron over your tier cap",
|
||
"over_cap_desc": "Your server is on the **{tier}** tier, which allows **{cap} {notif}** squadrons. The squadron **{squadron}** is currently over that limit and not being logged. Upgrade to a higher tier to restore it.",
|
||
"over_cap_footer": "Upgrade at srebot-meow.ing/premium or via /unlock",
|
||
"wildcard_blocked_title": "Wildcard logging requires a higher tier",
|
||
"wildcard_blocked_desc": "Wildcard squadron entries (*, all, everything) are only available on Pro or Max tiers. Your server is on **{tier}** for {notif}. Upgrade to re-enable wildcard logging.",
|
||
"cap_header": "{used}/{cap} {notif} enabled — {tier} tier"
|
||
},
|
||
"track": {
|
||
"squadron_not_found": "Squadron not found.",
|
||
"fetch_failed": "Failed to fetch squadron info."
|
||
},
|
||
"unlock": {
|
||
"title": "SRE Bot Premium",
|
||
"desc": "**Unlock premium features for this server.**\n\nPremium includes:\n> • Auto scoreboard posts\n> • Chat & battle logs\n> • Replay lookups\n> • Unlimited /comp lookups\n> • Priority support\n\n**$2.99 / month · per server · cancel anytime**\n\n⚠️ Discord billing is only available in select countries. If the button below shows **\"Product Unavailable\"**, this may be due to an unsupported country or using a **mobile device**. Use the **Subscribe via Website** button instead.",
|
||
"already_subscribed_title": "SRE Bot Premium",
|
||
"already_subscribed_desc": "✅ **This server is already subscribed!**",
|
||
"manage_discord_field": "Manage Subscription",
|
||
"manage_discord_value": "Your subscription is through **Discord**.\nTo cancel, go to **User Settings → Subscriptions** in Discord.",
|
||
"manage_website_field": "Manage Subscription",
|
||
"manage_website_value": "Your subscription is through the **website**.\nManage it at [whop.com/billing](https://whop.com/billing).",
|
||
"coming_soon_field": "Coming Soon",
|
||
"coming_soon_value": "Premium subscriptions are not yet available. Check back soon!",
|
||
"current_tier": "You're on the **{tier}** plan.",
|
||
"upgrade_to": "Upgrade to {tier}",
|
||
"upgrade_to_value": "Get a higher squadron cap and more features by upgrading to **{tier}**."
|
||
},
|
||
"language": {
|
||
"prompt": "Please select your server language:",
|
||
"select_placeholder": "Choose your server language",
|
||
"language_set": "Language set to {language}.",
|
||
"translate_prompt": "Select a target language below 👇",
|
||
"translate_placeholder": "Choose a target language…",
|
||
"translate_result": "**{author} → {language}:**\n{text}",
|
||
"translation_unavailable": "Translation unavailable (DeepL not configured)",
|
||
"translation_failed": "Translation failed"
|
||
},
|
||
"misc": {
|
||
"credits_title": "Credits",
|
||
"credits_desc": "**Meowww**\n\n> **NotSoToothless** - Lead Developer, Bot Manager, Community Manager\n> **Z3R0** - Developer, Optimization Developer, Database Engineer\n> **Clippii (Heidi) ** - Developer, Website Developer, Community Manager\n> **LivingTheDagor** - Developer, Parser Developer, Consultant\n> **Lux_** - API Engineer, Spectra Developer\n> **Konigallerwaffen** - Feedback and Feature Consultant\n> **Žralok Tonda** - Czech Translator\n> **Styevy**, **Lopais** - German Translators\n> **Susogus**, **playforfun698** - Polish Translators\n> **Bobr** - Russian Translator\n\n\n[Feel like joining us?](https://discord.gg/BCvkK8JhPe)",
|
||
"schedule_title": "SEASON SCHEDULE",
|
||
"schedule_timeslot_label": "{region} TIMESLOT",
|
||
"schedule_not_found_title": "Schedule Not Found",
|
||
"schedule_not_found_desc": "No schedule data is available yet.",
|
||
"news_no_news_title": "No News",
|
||
"news_no_news_desc": "There are no announcements right now. Check back later!",
|
||
"news_footer": "Thank you for your support! ᕙᘘᗢ",
|
||
"help_title": "Bot Guide",
|
||
"donate_title": "Support SRE Bot",
|
||
"donate_desc": "If you enjoy using SRE Bot and want to support its development, consider buying me a coffee!\n\n**[Donate on Ko-fi](https://ko-fi.com/notsotoothless)**\n\nEvery contribution helps keep the bot running and supports new features. Thank you!",
|
||
"status_title": "Bot Status",
|
||
"status_last_received": "Last Game Received",
|
||
"status_avg_ttl": "Avg TTL (Last 30)",
|
||
"status_no_data": "No data yet",
|
||
"status_gaijin_slow": "⚠️ Gaijin servers slow",
|
||
"help_commands_header": "**Commands Overview**",
|
||
"help_links": "For detailed information, read the documentation [here]({docs}) or get support [here]({support}).",
|
||
"help_terms": "[Terms of Service]({terms}) • [Privacy Policy]({terms})"
|
||
},
|
||
"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": "🏆 Squadron Leaderboard",
|
||
"top15_desc": "Top 15 squadrons with statistics, sent 35 minutes after timeslot close.\nThis one sent <t:{timestamp}:R>.",
|
||
"top30_desc": "Squadrons 16-30 with statistics.",
|
||
"not_logged_title": "Leaderboard Not Logged",
|
||
"not_logged_desc": "Use `/unlock` to subscribe to the **Standard** tier (or higher) to receive automatic leaderboard updates.",
|
||
"server_not_upgraded_title": "⚠️ Server Not Upgraded",
|
||
"server_not_upgraded_desc": "This server does not have an active Premium subscription.\n\n**Automatic updates will stop being sent to non-upgraded servers after <t:{deadline}:D>.**\n\nUse `/unlock` to subscribe and keep receiving automatic updates."
|
||
},
|
||
"stacks": {
|
||
"stack_title": "{leader}'s Stack",
|
||
"stack_named_title": "{name}",
|
||
"no_members": "No members yet.",
|
||
"members_field": "Members ({count}/{max})",
|
||
"queue_field": "Queue ({count}/{max})",
|
||
"manage_title": "Manage Stack",
|
||
"no_pending_requests": "No pending requests.",
|
||
"disbanded_title": "Stack [Disbanded]",
|
||
"disbanded_desc": "This stack was disbanded by the leader.",
|
||
"expired_title": "Stack [Expired]",
|
||
"expired_desc": "This stack has expired.",
|
||
"join_modal_title": "Apply to Join Stack",
|
||
"join_vehicle_label": "What will you play?",
|
||
"join_vehicle_placeholder": "e.g. F-16C, WZ305...",
|
||
"ping_modal_title": "Ping Message",
|
||
"ping_message_label": "Custom message (optional)",
|
||
"ping_message_placeholder": "e.g. Come now! Stack starting!",
|
||
"rename_modal_title": "Rename Stack",
|
||
"rename_label": "Stack name",
|
||
"rename_placeholder": "e.g. Night Owls, Alpha Squad...",
|
||
"select_new_leader": "Select new leader…",
|
||
"select_applicants": "Select applicants…",
|
||
"no_pending_applications": "No pending applications.",
|
||
"select_to_remove": "Select people to remove…",
|
||
"no_members_or_applicants": "No members or applicants.",
|
||
"select_to_ping": "Select people to ping individually…",
|
||
"stack_not_found": "❌ Stack not found.",
|
||
"no_longer_exists": "❌ This stack no longer exists.",
|
||
"member_not_exists": "❌ That member no longer exists.",
|
||
"already_has_stack": "❌ That player already has an active stack.",
|
||
"already_member": "❌ You are already a member of this stack.",
|
||
"already_applied": "❌ You already have a pending application for this stack.",
|
||
"queue_full": "❌ The queue is full ({max}/{max}). Try again later.",
|
||
"application_sent": "✅ Application sent! The stack leader will review it.",
|
||
"stack_disbanded": "✅ Stack disbanded.",
|
||
"cancelled": "Cancelled.",
|
||
"select_member_transfer": "❌ Please select a member to transfer ownership to.",
|
||
"ownership_transferred": "✅ Ownership transferred to {nick}. You have left the stack.",
|
||
"select_applicant_first": "❌ Please select at least one applicant first.",
|
||
"stack_full": "❌ Stack is already full ({max}/{max} members).",
|
||
"select_person_first": "❌ Please select at least one person first.",
|
||
"no_one_to_ping": "❌ No one to ping.",
|
||
"ping_footer": "Pinged by {leader} for {stack}.",
|
||
"pinged": "✅ Pinged!",
|
||
"select_from_dropdown": "❌ Please select at least one person from the dropdown first.",
|
||
"stack_renamed": "✅ Stack renamed to **{name}**.",
|
||
"only_member_use_disband": "❌ You are the only member. Use **Disband Stack** to end it.",
|
||
"select_transfer_prompt": "Select a member to transfer ownership to before leaving:",
|
||
"left_stack": "✅ You have left the stack.",
|
||
"application_withdrawn": "✅ Your application has been withdrawn.",
|
||
"not_member_or_applicant": "❌ You are not a member of or applicant to this stack.",
|
||
"leader_only_manage": "❌ Only the stack leader can manage this stack.",
|
||
"leader_only_disband": "❌ Only the stack leader can disband this stack.",
|
||
"confirm_disband": "Are you sure you want to disband this stack? This cannot be undone.",
|
||
"already_active_stack": "⚠️ You already have an active stack. If the original embed is gone (e.g. after a bot restart), you can force disband it and start fresh.",
|
||
"force_created": "✅ Previous stack disbanded. New stack created.",
|
||
"no_active_stack": "❌ You don't have an active stack. Use `/stack-create` to start one.",
|
||
"could_not_parse_channel": "⚠️ Couldn't parse stored channel ID."
|
||
},
|
||
"commands": {
|
||
"common": {
|
||
"season": "The season to generate the card for",
|
||
"theme": "Card color theme",
|
||
"squadron_short": "The short name of the squadron",
|
||
"player_username": "The player's username",
|
||
"choice_dark": "Dark",
|
||
"choice_light": "Light"
|
||
},
|
||
"comp": {
|
||
"description": "Find the last known comps for a given team",
|
||
"squadron_short": "The shortname of the enemy team"
|
||
},
|
||
"quick_log": {
|
||
"description": "Quickly set an alarm for this squadron in this channel",
|
||
"squadron_name": "The SHORT name of the squadron to monitor",
|
||
"type": "Choose Logs, Points, Leaderboard, Weekly BR, or Both",
|
||
"choice_logs": "Logs",
|
||
"choice_points": "Points",
|
||
"choice_leaderboard": "Leaderboard",
|
||
"choice_both": "Both (Logs + Points)",
|
||
"choice_weekly_br": "Weekly BR"
|
||
},
|
||
"sq_info": {
|
||
"description": "Fetch information about a squadron"
|
||
},
|
||
"sq_info_graph": {
|
||
"description": "Show a roster composition graph by activity and WR (current season)"
|
||
},
|
||
"sq_card": {
|
||
"description": "Generate a season recap card for a squadron",
|
||
"squadron": "The short name of the squadron"
|
||
},
|
||
"sq_stats": {
|
||
"description": "Display a squadron's points over time"
|
||
},
|
||
"loss_calculator": {
|
||
"description": "Calculate the point loss if players leave a squadron",
|
||
"player1": "Player leaving",
|
||
"player_optional": "Player leaving (optional)"
|
||
},
|
||
"website": {
|
||
"description": "Get a link to the SRE Bot website"
|
||
},
|
||
"card": {
|
||
"description": "Generate a season recap card for a player"
|
||
},
|
||
"player_stats": {
|
||
"description": "View detailed vehicle statistics for a player",
|
||
"username": "The WT username for stats request",
|
||
"uid": "The WT UID for stats request"
|
||
},
|
||
"view_player_games": {
|
||
"description": "View the last 20 games for a player"
|
||
},
|
||
"view_match": {
|
||
"description": "View a match scoreboard by ID or player",
|
||
"match_id": "The session hex ID of the match to view",
|
||
"player_name": "A player's username to browse recent matches"
|
||
},
|
||
"compare": {
|
||
"description": "Compare aggregate SQB stats between players",
|
||
"player1": "First player username",
|
||
"player2": "Second player username",
|
||
"player_optional": "Additional player username (optional)"
|
||
},
|
||
"leaderboard": {
|
||
"description": "Get the SRE Bot global leaderboard"
|
||
},
|
||
"set_squadron": {
|
||
"description": "Set the squadron tag for this server",
|
||
"abbreviated_name": "The short name of the squadron to set"
|
||
},
|
||
"setup": {
|
||
"description": "Set up the bot for this server"
|
||
},
|
||
"meta_management": {
|
||
"description": "Manage meta data access settings for this server"
|
||
},
|
||
"meta": {
|
||
"description": "Search squadron meta roster by vehicle name",
|
||
"vehicle": "Vehicle name to search for"
|
||
},
|
||
"top": {
|
||
"description": "Get the top 20 squadrons with detailed stats"
|
||
},
|
||
"language": {
|
||
"description": "Change the bot's language."
|
||
},
|
||
"translate_message": {
|
||
"name": "Translate Message"
|
||
},
|
||
"sq_track": {
|
||
"description": "Track a squadron and compare stats against the last check",
|
||
"squadron_short_name": "Short name of the squadron to track"
|
||
},
|
||
"analytics": {
|
||
"description": "View advanced SQB analytics for a squadron",
|
||
"view": "Which analytics view to show",
|
||
"choice_maps": "Map Win Rates",
|
||
"choice_comps": "Team Compositions",
|
||
"choice_consistency": "Player Consistency",
|
||
"choice_time": "Time of Day",
|
||
"choice_matchups": "Matchup History"
|
||
},
|
||
"recent": {
|
||
"description": "Show recent squadron battles for a squadron",
|
||
"length": "Number of matches to show"
|
||
},
|
||
"vs": {
|
||
"description": "Head-to-head record between two squadrons",
|
||
"squadron_a": "First squadron",
|
||
"squadron_b": "Second squadron"
|
||
},
|
||
"autolog_management": {
|
||
"description": "Manage autolog notifications and diagnose permissions"
|
||
},
|
||
"diagnose_perms": {
|
||
"description": "Diagnose autolog permissions for this channel"
|
||
},
|
||
"unlock": {
|
||
"description": "Unlock premium features for this server"
|
||
},
|
||
"credits": {
|
||
"description": "View the team credited for building this"
|
||
},
|
||
"schedule": {
|
||
"description": "View the current season BR schedule"
|
||
},
|
||
"news": {
|
||
"description": "View the latest SRE Bot news and announcements"
|
||
},
|
||
"help": {
|
||
"description": "View the guide, ToS, and support links"
|
||
},
|
||
"donate": {
|
||
"description": "Support the development of SRE Bot"
|
||
},
|
||
"stack_create": {
|
||
"description": "Create a new player stack",
|
||
"vehicle": "What vehicle will you start with?"
|
||
},
|
||
"stack_manage": {
|
||
"description": "Re-post your active stack embed to this channel"
|
||
},
|
||
"bot_status": {
|
||
"description": "View bot status: last game received and average TTL"
|
||
}
|
||
},
|
||
"permission": {
|
||
"blacklisted_title": "❌ Blacklisted",
|
||
"blacklisted_desc": "You are blacklisted from using this command.",
|
||
"reason_line": "**Reason:** {reason}",
|
||
"access_denied_title": "⛔ Access Denied",
|
||
"no_permission_desc": "You do not have permission to use this command.",
|
||
"unexpected_error_title": "❗ Error, report this...."
|
||
},
|
||
"weekly_br": {
|
||
"title_wildcard": "Weekly BR Report — {br} BR",
|
||
"title_squadron": "Weekly BR Report — [{tag}] {long} • {br} BR",
|
||
"window_label": "Window: {start} → {end}",
|
||
"wildcard_desc_first": "Top {count} squadrons by ELO • Ranks {low}–{high}",
|
||
"wildcard_desc_second": "Top {count} squadrons by ELO • Ranks {low}–{high}",
|
||
"squadron_stats_line": "- {games} games • K/D {kdr} • WR {wr}%",
|
||
"top_players_inline_header": "🥇 Top players:",
|
||
"player_line_short": " {rank}. {nick} ⭐ {score} ({games}g)",
|
||
"top_players_header": "**Top {count} players by ELO:**",
|
||
"player_line_full": "{rank}. **{nick}** ⭐ {score} • {games} games • K/D {kdr}",
|
||
"squadron_header_line": "Squadron ELO: {score} • {games} games • WR {wr}% • K/D {kdr}",
|
||
"squadron_header_no_aggregate": "Squadron ELO: not enough team activity to score this week.",
|
||
"no_data": "No matches recorded for [{tag}] this BR rotation."
|
||
}
|
||
}
|