From 4ed439553573ceaf4ef7cfbfc552feb3efa18ee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=C3=A8sAbhi?= <43380238+tresabhi@users.noreply.github.com> Date: Sat, 3 Jan 2026 13:29:15 -0600 Subject: [PATCH] feat: start of strings --- packages/i18n/strings/en.json | 1535 +---------------- .../src/components/BaseStyles.astro | 57 +- .../website-ue/src/components/HomeHero.astro | 55 +- .../src/components/TextField/index.css | 13 +- packages/website-ue/src/pages/index.astro | 3 +- 5 files changed, 80 insertions(+), 1583 deletions(-) diff --git a/packages/i18n/strings/en.json b/packages/i18n/strings/en.json index 94def8954..eca1b0062 100644 --- a/packages/i18n/strings/en.json +++ b/packages/i18n/strings/en.json @@ -1,1523 +1,28 @@ { - "test": { - "default": "test", - "long": "This is a long test string. You MUST NEVER see this in the UI. My favorite fruit is {fruit} because it has the color of {color}. I like it so much that I will say its name 3 times! {fruit}! {fruit}! {fruit}! Once again, it's {color}, not {not_color}.", - "fox": "The quick brown fox jumps over the lazy dog." - }, - "common": { - "name": "BlitzKit", - - "units": { - "m": "{value}m", - "mm": "{value}mm", - "deg": "{value}°", - "hp": "{value}hp", - "x": "x{value}", - "percentage": "{value}%", - "deg_s": "{value}°/s", - "plus": "+{value}" - }, - - "gun_types": { - "auto_loader": "Auto loader", - "auto_reloader": "Auto reloader", - "regular": "Regular" - }, - - "shells": { - "ap": "AP", - "ap_cr": "APCR", - "hc": "HEAT", - "he": "HE" - }, - - "player_count_period": { - "total": "Total", - "d_120": "Past 120 days", - "d_90": "Past 90 days", - "d_60": "Past 60 days", - "d_30": "Past month", - "d_7": "Past week", - "d_1": "Yesterday" - }, - - "branches": { - "local": "dev", - "dev": "beta", - "opentest": "opentest", - "preview": "preview" - }, - - "locales": { - "en": "English", - "es": "Spanish", - "pt": "Portuguese", - "ru": "Russian", - "uk": "Ukrainian", - "zh": "Chinese", - "ja": "Japanese", - "fr": "French", - "pl": "Polish" - }, - - "wn8_percentile": { - "0": "Very bad", - "1": "Bad", - "2": "Below average", - "3": "Average", - "4": "Above average", - "5": "Good", - "6": "Very good", - "7": "Great", - "8": "Unicum", - "9": "Super unicum" - }, - - "bkni_percentile": { - "0": "Super malum", - "1": "Malum", - "2": "Very bad", - "3": "Bad", - "4": "Below average", - "5": "Average", - "6": "Above average", - "7": "Good", - "8": "Very good", - "9": "Unicum", - "10": "Super unicum" - }, - - "nations": { - "ussr": "U.S.S.R.", - "germany": "Germany", - "usa": "U.S.A.", - "china": "China", - "uk": "U.K.", - "france": "France", - "japan": "Japan", - "european": "European Nation", - "other": "Hybrid Nation" - }, - - "nations_adjectives": { - "ussr": "U.S.S.R.", - "germany": "German", - "usa": "U.S.A.", - "china": "Chinese", - "uk": "U.K.", - "france": "French", - "japan": "Japanese", - "european": "European", - "other": "Hybrid" - }, - - "tank_class_short": { - "-1": "unrecognized", - "0": "Light", - "1": "Medium", - "2": "Heavy", - "3": "TD" - }, - - "tank_class_short_plural_lowercase": { - "0": "lights", - "1": "mediums", - "2": "heavies", - "3": "TDs" - }, - - "tank_class_medium": { - "-1": "unrecognized", - "0": "Light", - "1": "Medium", - "2": "Heavy", - "3": "Tank destroyer" - }, - - "tree_type": { - "-1": "unrecognized", - "0": "Tech tree", - "1": "Premium", - "2": "Collector" - }, - - "regions": { - "normal": { - "com": "North America", - "eu": "Europe", - "asia": "Asia-Pacific" - }, - "short": { - "com": "NA", - "eu": "EU", - "asia": "APAC" - } - }, - - "leagues": { - "diamond": "Diamond", - "platinum": "Platinum", - "gold": "Gold", - "silver": "Silver", - "bronze": "Bronze" - }, - - "composite_stats": { - "normalized_damage_dealt": "Damage", - "normalized_damage_received": "Damage received", - "normalized_deaths": "Deathrate", - "normalized_frags": "Kills", - "normalized_hits": "Hits", - "normalized_losses": "Lossrate", - "normalized_misses": "Misses", - "normalized_shots": "Shots", - "normalized_spotted": "Spots", - "normalized_survived_battles": "Survival rate", - "normalized_win_and_survived": "Winning and surviving rate", - "normalized_wins": "Winrate", - "normalized_xp": "XP", - "normalized_battle_life_time": "Battle time", - - "cumulative_accuracy": "Accuracy", - "cumulative_battles": "Battles", - "cumulative_capture_points": "Total capture points", - "cumulative_damage_dealt": "Total damage", - "cumulative_damage_ratio": "Damage ratio", - "cumulative_damage_received": "Total damage received", - "cumulative_deaths": "Total deaths", - "cumulative_dropped_capture_points": "Total dropped capture points", - "cumulative_frags": "Total kills", - "cumulative_hits": "Total hits", - "cumulative_inaccuracy": "Inaccuracy", - "cumulative_kills_to_death_ratio": "Kills to death ratio", - "cumulative_losses": "Losses", - "cumulative_misses": "Total misses", - "cumulative_shots": "Total shots", - "cumulative_spotted": "Total spots", - "cumulative_survived_battles": "Survived battles", - "cumulative_win_and_survived": "Won and survived battles", - "cumulative_wins": "Wins", - "cumulative_xp": "Total XP", - "cumulative_wn8": "WN8", - "cumulative_battle_life_time": "Total battle time" - } + "blitzkit": "BlitzKit" }, - "bot": { - "common": { - "errors": { - "clan_not_found": "# Could not find clan\nCouldn't find \"{search}\". Try selecting a clan from the search result.", - "player_not_found": "# Could not find user\nI couldn't find user \"{search}\". Try picking an user from the search result, typing in a valid username, or using the `/link` command.", - "player_not_linked": "# Use `/link` to get started\nI don't know who you are but you can tell me today!", - "tank_name_not_found": "# Tank not found\nCould not find tank by the name \"{search}\".", - "tank_id_not_found": "# Tank not found\nCould not find tank by the ID \"{search}\". Try typing the name of the tank instead of a number.", - "no_tank_stats": "# No tank stats available\nThis player doesn't have any stats available. This may not be the player you are looking for.", - "get_help": "Help Discord server", - "uncaught_error": "# BlitzKit ran into an error!\nWe're so sorry about this. Feel free to [join the official Discord server](https://discord.gg/nDt7AjGJQH) to get help.", - "preview": "# This command is in preview\n\nYou can only access this command in [the official Discord server](https://discord.gg/nDt7AjGJQH). The command will be generally available soon.", - "query_too_small": "# Your search is too short\nYour search must be at least 3 characters long.", - "query_too_long": "# Your search is too long\nYour search must be at most 100 characters long." - }, - - "wn8": { - "name": "WN8", - - "types": { - "very_bad": "Very bad", - "bad": "Bad", - "below_average": "Below average", - "average": "Average", - "above_average": "Above average", - "good": "Good", - "very_good": "Very good", - "great": "Great", - "unicum": "Unicum", - "super_unicum": "Super unicum" - } - }, - - "subcommands": { - "today": { - "name": "today", - "description": "Today" - }, - "30": { - "name": "30", - "description": "30 days" - }, - "60": { - "name": "60", - "description": "60 days" - }, - "90": { - "name": "90", - "description": "90 days" - }, - "career": { - "name": "career", - "description": "Career" - }, - "custom": { - "name": "custom", - "description": "Custom range", - - "options": { - "start": { - "name": "start", - "description": "Start in number of days ago from today" - }, - "end": { - "name": "end", - "description": "End in number of days ago from today" - } - } - } - }, - - "options": { - "clan": { - "name": "clan", - "description": "The clan name or tag" - }, - - "tank": { - "name": "tank", - "description": "The tank to get stats for" - }, - - "username": { - "name": "username", - "description": "The Blitz username of the player" - }, - - "filters": { - "nation": { - "name": "nation", - "description": "Nation" - }, - "class": { - "name": "class", - "description": "Class" - }, - "type": { - "name": "type", - "description": "Type" - } - }, - - "region": { - "name": "region", - "description": "Region" - }, - - "tier": { - "name": "tier", - "description": "Tier", - - "choices": { - "tier": "Tier {tier_1} - {tier_2}" - } - } - }, - - "periods": { - "career": "Career", - "today": "Today", - "days": "{days} days", - "custom": "{day_1} - {day_2} days" - }, - - "filters": { - "none": "No filters", - "tier": "Tier {tier}" - }, - - "no_data": { - "battles_in_period": "No battles played in this period", - "battles_in_season": "No battles played in this season", - "players_in_period": "No players in this period", - "tanks_found": "No tanks found" - }, - - "buttons": { - "refresh": "Refresh" - }, - - "hero_stats": { - "battles": "Battles", - "winrate": "Winrate", - "damage": "Damage", - "damage_ratio": "Damage ratio", - "tier": "Tier", - "survival": "Survival", - "accuracy": "Accuracy", - "kills": "Kills" - } - }, - - "commands": { - "replay": { - "name": "replay", - "description": "Display replay results" - }, - - "research": { - "name": "research", - "description": "Lists the expenses in researching a line", - - "options": { - "target_tank": { - "name": "target-tank", - "description": "The final tank to research in the line" - }, - "starting_tank": { - "name": "starting-tank", - "description": "The starting tank in the line (inferred automatically if not provided)" - } - }, - - "body": { - "subtitle": "Research", - "total": "Total", - "research": "Research: {cost}", - "upgrades": "Upgrades: {cost}", - "purchase": "Purchase: {cost}", - "equipment": "Equipment: {cost}", - "estimation": "# This is an estimation!\n\nThis list may include already researched tanks because of the inaccurate information Wargaming provides. Try providing a `starting-tank` from the line when using the command if you can." - }, - - "errors": { - "non_tech_tree": "# {tank} is not on the tech tree\n\nYou cannot research a premium/collector tank.", - "tier_1": "# {tank} is a tier I\n\nTier I tanks are always unlocked for free for all players.", - "already_researched": "# {tank} is already researched\n\nTry providing a `starting-tank` when using the command to view the totals for a line you have already researched.", - "start_end_equal": "# {tank} was provided twice\n\nMake sure `starting-tank` and `target-tank` are different.", - "tanks_not_on_line": "# {tank_1} and {tank_2} are not on the same line\n\nMake sure `starting-tank` and `target-tank` are on the same tech-tree line.", - "unordered": "# {tank_1} higher tiered to {tank_2}\n\nMake sure to provide {tank_2} as the `starting-tank` instead as it is the lower tiered tank." - } - }, - - "about": { - "name": "about", - "description": "All the info you need about the bot", - "subcommands": { - "commands": { - "name": "commands", - "description": "List of all commands and their descriptions", - "body": "# Commands\n\nBlitzKit offers the following commands:\n\n" - }, - "embeds": { - "name": "embeds", - "description": "How embeds work" - }, - "introduction": { - "name": "introduction", - "description": "About the bot" - }, - "invite": { - "name": "invite", - "description": "How to invite the bot" - }, - "timezones": { - "name": "timezones", - "description": "How BlitzKit infers and uses your timezone" - }, - "credits": { - "name": "credits", - "description": "People who have helped BlitzKit" - } - } - }, - - "breakdown": { - "name": "breakdown", - "description": "A period's breakdown by tanks played", - - "body": { - "total": "Total", - "battles": "Battles", - "wn8": "WN8", - "winrate": "Winrate", - "damage": "Damage", - "unknown_tank": "Unknown tank {id}" - } - }, - - "debug": { - "name": "debug", - "description": "Debug information about the bot", - - "body": { - "title": "# Debug\n\n", - "version": "Version", - "shard": { - "label": "Shard", - "default": "default" - }, - "uptime": "Uptime" - } - }, - - "evolution": { - "name": "evolution", - "description": "Evolution of statistics", - - "groups": { - "player": { - "name": "player", - "description": "Player statistics" - }, - - "tank": { - "name": "tank", - "description": "Tank statistics" - } - } - }, - - "inactive": { - "name": "inactive", - "description": "Lists all inactive players in a clan above a threshold", - - "options": { - "threshold": { - "name": "threshold", - "description": "The number of days inactive (default: {days} days)" - } - }, - - "body": { - "subtitle": "Inactive for {days}+ days", - "listing": "{days} days" - } - }, - - "full_stats": { - "name": "full-stats", - "description": "Full in-game statistics", - - "body": { - "cards": { - "games": { - "title": "Games", - "winrate": "Winrate", - "battles": "Battles", - "wins_losses": "Wins / losses" - }, - "efficiency": { - "title": "Efficiency", - "wn8": "WN8", - "survival": "Survival", - "accuracy": "Accuracy" - }, - "lethality": { - "title": "Lethality", - "average_damage": "Average damage", - "damage_per_tier": "Damage per tier", - "damage_ratio": "Damage ratio", - "average_kills": "Average kills" - }, - "miscellaneous": { - "title": "Miscellaneous", - "average_tier": "Average tier", - "average_spots": "Average spots", - "average_xp": "Average XP", - "kills_to_death_ratio": "Kills to death ratio" - } - } - } - }, - - "link": { - "name": "link", - "description": "Links your Blitz and Discord account", - - "body": { - "accounts_linked": "Accounts linked", - "no_role_permissions": { - "title": "{name} failed to verify", - "description": "I don't have the permission to manage roles." - } - }, - - "embed": { - "title": "Incorrect account?", - "description": "Use the command again and select a username from the search results." - } - }, - - "search_clans": { - "name": "search-clans", - "description": "Search clans", - - "options": { - "limit": { - "name": "limit", - "description": "The max number of clan results (default: {limit})" - } - }, - - "body": { - "title": "Clan search for {search} in region {region}", - "no_results": "No clans found" - } - }, - - "search_players": { - "name": "search-players", - "description": "Search players", - - "options": { - "limit": { - "name": "limit", - "description": "The max number of player results (default: {limit})" - } - }, - - "body": { - "title": "Player search for {search} in region {region}", - "no_results": "No players found" - } - }, - - "rating_leaderboard": { - "name": "rating-leaderboard", - "description": "Rating battles statistics", - - "subcommands": { - "neighbors": { - "name": "neighbors", - "description": "Neighboring players on the leaderboard" - }, - - "league": { - "name": "league", - "description": "Top players of a league" - } - }, - - "options": { - "limit": { - "name": "limit", - "description": "How many neighbors to display (default: {count})" - }, - - "season": { - "name": "season", - "description": "Season number (default: current)", - - "choices": { - "current": "{season} (current)" - } - }, - - "league": { - "name": "league", - "description": "The league to display" - } - }, - - "body": { - "top_players": "Top {count} players", - "no_participation": "# {player} didn't play rating in season {season}\n\nThis player did not participate in this season or did not get past calibration.", - "no_ongoing_season": "# No ongoing season\n\nThere isn't a currently running rating season.", - "deleted_player": "Deleted {id}", - "neighbors": "Rating neighbors", - "more": "+ {count} more" - } - }, - - "today": { - "name": "today", - "description": "Today's played tanks and statistics" - }, - - "stats": { - "name": "stats", - "description": "Quick statistics for a period" - }, - - "owned_tanks": { - "name": "owned-tanks", - "description": "Shows all own tanks in a tier", - - "body": { - "title": "# {name}'s owned tier {tier} tanks\n\n" - } - }, - - "permissions": { - "name": "permissions", - "description": "Checks wether the bot has the required permissions to function", - - "body": { - "title": "# Permissions\n\n{body}", - "view_channels": "View channels: needed to find the message the refresh button was used on", - "read_message_history": "Read message history: needed to find the message to refresh", - "attach_files": "Attach files: needed to add images to image-based commands", - "external_emojis": "External emojis: needed to add national flags and tank class emojis" - } - }, - - "ping": { - "name": "ping", - "description": "Check wether the bot is alive.", - - "body": { - "pong": "Pong 🏓", - "pong_with_time": "Pong 🏓 - {time}ms" - }, - - "subcommands": { - "blitzkit": { - "name": "blitzkit", - "description": "Ping BlitzKit" - }, - "wotb": { - "name": "wotb", - "description": "Ping World of Tanks Blitz" - } - } - }, - - "player_info": { - "name": "player-info", - "description": "Basic information about a player", - - "body": { - "title": "{name}'s information", - "nickname": "Nickname", - "battles": "Battles", - "winrate": "Winrate", - "account_id": "Account ID", - "created": "Created", - "last_battle": "Last battle" - } - }, - - "rating": { - "name": "rating", - "description": "Rating player's statistics", - - "subcommands": { - "today": { - "name": "today", - "description": "Today's rating statistics" - }, - "season": { - "name": "season", - "description": "This season's rating statistics" - } - }, - - "body": { - "subtitle": { - "today": "Today's rating statistics", - "season": "This season's rating statistics" - } - }, - - "errors": { - "no_participation": "# {name} hasn't played rating\n\nThis player hasn't participated in the rating gamemode this season.", - "unrecorded_stats": "# Statistics currently unavailable\n\nWargaming may be currently be facing server downtime. If there is an on-going season, statistics should be available withing 24 hours." - } - } - } + "units": { + "hp_min": "{value}hp/min", + "s": "{value}s", + "hp": "{value}hp", + "mm": "{value}mm", + "deg": "{value}°", + "m_s": "{value}m/s", + "m": "{value}m", + "km_h": "{value}km/h", + "bhp": "{value}bhp", + "t": "{value}t", + "bhp_t": "{value}bhp/t", + "deg_s": "{value}°/s", + "%": "{value}%" }, - "website": { - "redirect": { - "title": "301: moved permanently", - "body": "This page has moved. Redirecting..." - }, - - "settings": { - "title": "Settings", - "description": "Change BlitzKit settings", - "dev_mode": "Development mode", - "language": "Language" - }, - - "common": { - "player_search": { - "hint": "Search players...", - "no_results": "No results", - "searching": "Searching..." - }, - - "copy_button": { - "copied": "Copied!" - }, - - "tank_search": { - "select_dialog_title": "Search for tanks", - "swap_dialog_title": "Swap tank", - "clear_filters": "Clear filters", - "login": "Login to use this", - "search_bar_hint": "Search tanks...", - "recent": "Recently viewed", - "select_all": "Select all", - "count_singular": "1 tank", - "count_plural": "{count} tanks", - "sorting_by": "Sorting by {name}", - "clear": "Clear", - "tier": "Tier {tier}", - - "no_tanks_found": { - "body": "No tanks found.", - "search_again": "Try searching again.", - "clear_filters": "Try clearing filters." - }, - - "sort": { - "meta.none": "none", - "survivability.health": "health", - "survivability.viewRange": "view range", - "survivability.camouflageStill": "camouflage still", - "survivability.camouflageMoving": "camouflage moving", - "survivability.camouflageShooting": "camouflage shooting", - "survivability.volume": "volume", - "survivability.length": "length", - "fire.dpm": "standard DPM", - "fire.dpmPremium": "premium DPM", - "fire.reload": "reload", - "fire.caliber": "caliber", - "fire.standardPenetration": "standard penetration", - "fire.premiumPenetration": "premium penetration", - "fire.tertiaryPenetration": "tertiary penetration", - "fire.damage": "damage", - "fire.moduleDamage": "module damage", - "fire.shellVelocity": "shell velocity", - "fire.shellRange": "shell range", - "fire.shellCapacity": "shell capacity", - "fire.aimTime": "aim time", - "fire.dispersionStill": "dispersion still", - "fire.dispersionMoving": "dispersion moving", - "fire.gunDepression": "gun depression", - "fire.gunElevation": "gun elevation", - "maneuverability.forwardsSpeed": "forwards speed", - "maneuverability.backwardsSpeed": "backwards speed", - "maneuverability.power": "power", - "maneuverability.powerToWeight": "power to weight", - "maneuverability.weight": "weight", - "maneuverability.traverseSpeed": "traverse speed" - }, - "sort_dropdown": { - "label": "Sort", - "groups": { - "sort": { - "no_sort": "No sort", - "label": "Sort by", - "fire": "Fire", - "maneuverability": "Maneuverability", - "survivability": "Survivability" - }, - "direction": { - "label": "Direction", - "ascending": "Ascending", - "descending": "Descending" - } - } - } - }, - - "warnings": { - "test": "Tanks in testing are subject to change and may not represent the final product." - } - }, - - "home": { - "pwa": { - "title": "Install the BlitzKit App", - "new": "NEW", - "checking": "Checking compatibility...", - "instructions": "Instructions for Apple devices.", - "install": "Install", - "dismiss": "Dismiss" - }, - - "discord": { - "join_short": "Join cool people!", - "join_long": "Join super duper cool people!", - "action": "Discord" - }, - - "hero": { - "credit": "By {name} ❤️" - }, - "hot_tanks": { - "title": "Popular tanks", - "subtitle": "Last {days} days" - }, - "other_projects": { - "title": "Other cool projects" - }, - "help_translate": "Please help translate {name} to {language}!", - "seo_description": "Tools for everything World of Tanks Blitz" - }, - - "docs": { - "patches": { - "name": "BlitzKit Changelogs", - "seo_description": "Changelogs for BlitzKit Discord bot and website" - } - }, - - "tools": { - "playlist": { - "reset": "Reset", - "shuffle": "Shuffle", - "remove": "Remove played", - "tracking": "BlitzKit is tracking your battles", - - "sort": { - "button": "Sort by", - "last_played": "Last played", - "least_played": "Least played" - }, - - "table": { - "index": "#", - "never": "Never", - "tank": "Tank", - "last_played": "Last played", - "battles": "Career battles", - "unrecorded": "--", - "wins": "Wins" - }, - - "large_warning": { - "title": "That's a lot of tanks!", - "description": "Are you sure you want to create a playlist of {count} tanks? That's {time} hours of gameplay at 50% winrate!", - "cancel": "Cancel", - "proceed": "Proceed" - }, - - "generate": "Generate playlist", - "name": "Playlist", - "description": "Tank playlist generator", - "seo_description": "Don't know what to play in World of Tanks Blitz? Use BlitzKit Playlist to get suggestions!", - "button": "Generate", - "pool_size": "{count} possible tanks" - }, - - "mixer": { - "name": "Mixer", - "button": "Mix and match", - "description": "Mix tank modules", - "seo_description": "Mix and match hulls, turrets, and guns of tanks in World of Tanks Blitz", - "screenshot": "Screenshot", - "randomize": "Randomize" - }, - - "guess": { - "name": "Guess", - "button": "What could it be?", - "description": "Silhouette mini-game", - "seo_description": "Play a tank guessing game with a silhouette in World of Tanks Blitz", - "search": { - "placeholder": "Type to guess...", - "skip": "Skip", - "guess": "Guess", - "next": "Next", - "no_results": "No results" - }, - "stats": "{correct} / {total} correct, {streak} streak", - "help": { - "title": "Partially reveal tank?", - "description": "Reveals the tank without showing the name. This round will be considered incorrect and break your streak!", - "cancel": "Cancel", - "reveal": "Reveal" - } - }, - - "tankopedia": { - "search": "Search a stat...", - - "name": "Tankopedia", - "button": "Find tanks", - "description": "Blitz tank encyclopedia", - "seo_description": "Statistics, armor, and more for all tanks in World of Tanks Blitz", - "tank_seo_title": "{name} - Tier {tier} {nationality} {class} | {website} Tankopedia | World of Tanks Blitz (WoTB)", - "tank_seo_description": "{name} armor, statistics, equipment, provisions, and more. {dpm} DPM, {alpha}hp alpha, {penetration}mm penetration, {speed}kph top speed, {health}hp health.", - - "visualizers": { - "reload": { - "skip": "Skip" - }, - - "assault": { - "title": "Assault shells" - }, - - "rotator": { - "hull": "Hull", - "turret": "Turret", - "hard": "Hard", - "medium": "Medium", - "soft": "Soft", - "effective": "Effective" - }, - - "ricochet": { - "angle": "Angle", - "normalization": "Normalization", - "effective_angle": "Effective angle", - "armor": "Armor", - "no_ricochet": "Explosive shells don't ricochet" - }, - - "view_range": { - "camo": "Camo", - "ghost_factory": "Ghost Factory", - "dead_rail": "Dead Rail" - }, - - "flexibility": { - "yaw": "Yaw", - "pitch": "Pitch", - "min": "Min", - "max": "Max" - } - }, - - "sandbox": { - "poses": { - "hull_down": "Hull down", - "face_hug": "Face hug", - "default": "Default" - }, - - "settings": { - "armor": "Armor", - "green_penetration": "Green penetration", - "hide_model_under_armor": "Hide model under armor", - "opaque": "Opaque", - "dev_wireframe": "DEV: wireframe" - }, - - "screenshot": { - "download": "Download", - "copy": "Copy" - }, - - "model": { - "name": "Model" - }, - "dynamic": { - "name": "Dynamic armor", - - "custom_shell": { - "type": "Type", - "caliber": "Caliber", - "penetration": "Penetration", - "normalization": "Normalization", - "ricochet": "Ricochet", - "explosion_radius": "Explosion radius", - "exit": "Exit", - "reset": "Reset" - }, - - "advanced": "Advanced highlighting", - - "shot_card": { - "element": { - "primary": "Primary", - "spaced": "Spaced", - "external": "External", - "gap": "Gap", - "gun": "Gun", - "track": "Tracks" - }, - "status": { - "penetration": "{damage}hp penetration", - "blocked": "Blocked", - "ricochet": "Ricochet", - "splash": "{damage}hp splash" - }, - "stats": { - "thickness_and_angle": "{thickness}mm {angle}°", - "nominal": "{thickness}mm nominal", - "ricochet_loss": "{loss}% penetration" - } - } - }, - "static": { - "name": "Static armor", - "primary": "Primary", - "spaced": "Spaced", - "external": "External", - "edit": { - "label": "Edit", - "reset": "Reset" - } - } - }, - - "meta": { - "back": "Back", - "compare": "Compare", - "swap": { - "button": "Swap", - "title": "Swap tanks" - }, - "vanilla": "Vanilla", - "opentest": "OpenTest", - "full_name": "Full name", - "nation": "Nation", - "class": "Class", - "tier": "Tier", - "type": "Type", - "dev_id": "DEV: ID", - "purchase": "Purchase price", - "restoration": "Restoration price", - "sale": "Sale price", - "research": "Research XP" - }, - - "tech_tree": { - "title": "Tech tree", - "battle": "1 battle", - "battles": "{count} battles", - "route": "Route {index} of {count}" - }, - - "game_modes": { - "title": "Game mode abilities" - }, - - "review": { - "title": "Review videos", - "join": "Apply to {name} YouTuber program" - }, - - "configuration": { - "title": "Configuration", - - "modules": { - "title": "Modules", - "stock": "Stock", - "upgrade": "Upgrade" - }, - "equipment": { - "title": "Equipment", - "clear": "Clear" - }, - "provisions": { - "title": "Provisions", - "clear": "Clear" - }, - "consumables": { - "title": "Consumables", - "clear": "Clear", - "info": "Yellow consumables do not affect the statistics." - }, - "skills": { - "title": "Crew skills", - "clear": "Clear", - "maximize": "Maximize", - "info": "Yellow skills only apply under special circumstances. Hold Space to quickly toggle between level 0 and 7." - }, - "miscellaneous": { - "title": "Miscellaneous" - } - }, - - "characteristics": { - "title": "Characteristics", - "compare": { - "label": "Compare", - "class": "Tier {tier} {class}", - "tier": "All of tier {tier}", - "all": "All tanks" - }, - "values": { - "shell_index": "Shell {index}", - "at_distance": "At {distance}m", - "at_distance_slider_label": "Distance", - "dispersion_at_distance": "Dispersion at {distance}m", - "gun_flexibility": "Gun flexibility", - "speed": "Speed", - "terrain_coefficients": "Terrain coefficients", - "raw_terrain_coefficients": "Raw terrain coefficients", - "power_to_weight_ratio": "Power to weight ratio", - "hull_traverse_speed": "Hull traverse speed", - "camouflage": "Camouflage", - "reload": "Reload", - "crewCount": "Crew count", - "shellNormalization": "Normalization", - "shellRicochet": "Ricochet", - "dpm": "DPM", - "dpmEffective": "Effective at 60s", - "shells": "Shells", - "mostOptimalShellIndex": "Most optimal shell", - "shellReloads": "Reloads", - "shellReload": "Reload", - "intraClip": "Intra-clip", - "caliber": "Caliber", - "penetration": "Penetration", - "damage": "Damage", - "damageWithoutAssault": "Damage without assault shells", - "clipDamage": "Clipping potential", - "moduleDamage": "Module damage", - "explosionRadius": "Explosion radius", - "shellVelocity": "Shell velocity", - "aimTime": "Aim time", - "dispersion": "Dispersion still", - "dispersionMoving": "Moving", - "dispersionHullTraversing": "Hull traversing", - "dispersionTurretTraversing": "Turret traversing", - "dispersionShooting": "Shooting", - "dispersionGunDamaged": "Gun damaged", - "gunDepression": "Depression", - "gunElevation": "Elevation", - "gunFrontalDepression": "Frontal depression", - "gunFrontalElevation": "Frontal elevation", - "gunRearDepression": "Rear depression", - "gunRearElevation": "Rear elevation", - "azimuthLeft": "Azimuth left", - "azimuthRight": "Azimuth right", - "speedForwards": "Speed forwards", - "speedBackwards": "Backwards", - "hardTerrainCoefficient": "Terrain coefficient hard", - "hardTerrainCoefficientRaw": "Raw terrain coefficient hard", - "mediumTerrainCoefficient": "Medium", - "mediumTerrainCoefficientRaw": "Medium", - "softTerrainCoefficient": "Soft", - "softTerrainCoefficientRaw": "Soft", - "enginePower": "Engine power", - "powerToWeightRatioHardTerrain": "Power to weight ratio hard", - "powerToWeightRatioMediumTerrain": "Medium", - "powerToWeightRatioSoftTerrain": "Soft", - "weight": "Weight", - "turretTraverseSpeed": "Turret traverse speed", - "gunTraverseSpeed": "Gun traverse speed", - "hullTraverseHardTerrain": "Hull traverse hard", - "hullTraverseMediumTerrain": "Medium", - "hullTraverseSoftTerrain": "Soft", - "health": "Health", - "fireChance": "Fire chance", - "viewRange": "View range", - "camouflageStill": "Camouflage still", - "camouflageMoving": "Moving", - "camouflageShootingStill": "Still", - "camouflageShootingMoving": "Moving", - "camouflageCaughtOnFire": "Caught on fire", - "width": "Width", - "height": "Height", - "length": "Length", - "volume": "Volume", - "shellRange": "Shell range", - "shellCapacity": "Shell capacity", - "gunType": "Gun type", - "penetrationAt250m": "Penetration at 250m", - "burstShells": "Burst shell count", - "burstInterShell": "Burst inter-shell" - } - }, - - "firepower": { - "title": "Firepower" - }, - - "crew": { - "title": "Crew training", - "info": "represents the other roles a crew member can take.", - "count": "Crew count", - "commander": "Commander", - "gunner": "Gunner", - "driver": "Driver", - "radioman": "Radioman", - "loader": "Loader" - }, - - "maneuverability": { - "title": "Maneuverability" - }, - - "survivability": { - "title": "Survivability" - } - }, - "compare": { - "name": "Compare", - "button": "Compare tanks", - "description": "Compare tank statistics", - "seo_description": "Compare tanks statistics and loadouts in World of Tanks Blitz", - - "actions": { - "add": { - "button": "Add", - "title": "Add tanks", - "description": "Select tanks to add to comparison" - }, - "clear": "Clear", - "deltas": { - "none": "No deltas", - "percentage": "Percentage", - "absolute": "Absolute" - } - }, - - "no_tanks": { - "title": "No tanks selected", - "body": "Press the Add button to get started" - }, - - "table": { - "equipment": { - "clear": "Clear", - "apply_to_all": "Apply to all" - }, - "skills": { - "clear": "Clear", - "maximize": "Maximize" - }, - "modules": { - "stock": "Stock", - "upgrade": "Upgrade" - }, - "provisions": { - "clear": "Clear this tank", - "clear_all": "Clear all tanks" - }, - "consumables": { - "clear": "Clear this tank", - "clear_all": "Clear all tanks" - } - } - }, - "performance": { - "name": "Performance", - "button": "View tanks", - "description": "Tank performance statistics", - "seo_description": "Best tanks and their performances in World of Tanks Blitz", - "estimation": { - "body": "Estimated stats based on {count} players. Updated {age} ago.", - "hours": "{count} hours", - "minutes": "{count} minutes" - }, - "player_count": { - "label": "Player count" - }, - "table": { - "tanks": { - "header": "Tank", - "total": "Total" - }, - "stats": { - "winrate": "Winrate", - "players": "Players", - "damage": "Damage", - "survival": "Survival", - "xp": "XP", - "kills": "Kills", - "spots": "Spots", - "accuracy": "Accuracy", - "shots": "Shots", - "hits": "Hits", - "damage_ratio": "Dmg. ratio", - "damage_taken": "Dmg. taken", - "capture_points": "Cap points" - } - } - }, - "gallery": { - "name": "Gallery", - "button": "Browse all", - "description": "Blitz player avatars", - "seo_description": "All World of Tanks Blitz player avatars", - "last_updated": "Last updated on {time}", - "search": { - "hint": "Search avatars...", - "results": "{count} avatars" - } - }, - "session": { - "name": "Session", - "button": "Start tracking", - "description": "Live session stats", - "seo_description": "Track your stats in real time as you play World of Tanks Blitz", - "search": { - "lookup": "Look up a player to get started", - "hint": "Search players...", - "searching": "Searching...", - "no_results": "No players found" - }, - "controls": { - "title": "Tracking {name}", - "subtitle": "Since {time}", - "reset": "Reset", - "change": "Change" - }, - "no_cc": { - "title": "You're attempting to track a CC account", - "body": "CC (community contributor) accounts do not have public tank statistics. We are in the process of adding embeds for CC accounts, stay tuned.", - "alright": "Alright" - }, - "no_battles": { - "title": "No battles", - "hint": "Go ahead and play a game" - }, - "table": { - "tank": "Tank", - "total": "Total", - "remove": "Remove" - } - }, - "tier_list": { - "name": "Tier list", - "button": "Rank tanks", - "description": "Rank Blitz tanks", - "seo_description": "Explore tier lists ranking tanks from best to worst, based on player ratings and statistical performance in World of Tanks Blitz", - "buttons": { - "reset": "Reset", - "share": "Share" - } - }, - "embed": { - "name": "Embed", - "button": "Create now", - "description": "Embeds for streaming", - "seo_description": "Create embeds for streaming World of Tanks Blitz with extreme customization", - "coming_soon": "More embeds coming soon.", - "suggest": "Suggest ideas.", - - "preview": { - "title": "Example preview", - "upload": "Upload test background" - }, - - "configuration": { - "import": { - "title": "Import", - "description": "Paste your current URL if you have one already to import your settings", - "hint": "Paste URL...", - "apply": "Apply", - "idiot_title": "Invalid URL", - "idiot_description": "Try pasting the URL that BlitzKit previously generated, you silly goose!", - "idiot_button": "Okay, my bad" - }, - - "export": { - "title": "Export", - "description": "Copy all properties for you streaming software", - "generate": { - "button": "Generate URL", - "title": "Generate URL", - "subtitle": "Search an account to track", - "cancel": "Cancel", - "success": { - "title": "Copy URL", - "info": "Generated the URL for {name}. The embed will start tracking as soon as the URL is pasted. Reset at any time by right-clicking on PC or long-pressing on mobile and then selecting \"Reset\".", - "back": "Back", - "copy": "Copy URL" - } - }, - "css": "Copy CSS", - "width": "Copy Width", - "height": "Copy Height", - "framerate": "Copy Framerate" - }, - - "customize": { - "title": "Customize", - "reset": "Reset", - "description": "Bells and whistles of your embed" - } - }, - - "types": { - "breakdown": { - "name": "Breakdown", - "options": { - "width": "Width", - "height": "Height", - "showTotal": "Show total", - "listGap": "List gap", - "listMaxTanks": "Max tanks", - "cardRadius": "Card radius", - "cardHeaderBackgroundColor": "Card header background color", - "cardHeaderPadding": "Card header padding", - "cardTitle": "Card title", - "cardTitleTypeColor": "Card title type color", - "cardTitleClassIcon": "Card title class icon", - "cardBodyBackgroundColor": "Card body background color", - "cardBodyPadding": "Card body padding", - "columnGap": "Column gap", - "columnValue": "Column value", - "columnLabel": "Column label", - "column1": "Column 1", - "column2": "Column 2", - "column3": "Column 3", - "column4": "Column 4", - "column1CustomLabel": "Column 1 label", - "column2CustomLabel": "Column 2 label", - "column3CustomLabel": "Column 3 label" - } - } - } - }, - "charts": { - "name": "Charts", - "button": "Nerd out", - "description": "Lots of graphs", - "seo_description": "Charts and graphs on anything and everything about tanks, players, and events in World of Tanks Blitz" - }, - "rating": { - "name": "Rating", - "button": "View leaderboard", - "description": "Full rating leaderboard", - "seo_description": "Live and archived full rating leaderboard for World of Tanks Blitz" - }, - "discord": { - "name": "Discord bot", - "button": "Install now", - "description": "Stats right in Discord", - "seo_description": "Get stats right in Discord with BlitzKit's Discord bot" - }, - "more": { - "name": "More coming soon", - "button": "Join Discord", - "description": "What we're making", - "seo_description": "What we're making with BlitzKit" - }, - "players": { - "name": "Players", - "button": "Lookup player", - "description": "Periodical player statistics", - "seo_description": "Periodical player statistics in World of Tanks Blitz" - }, - "home": { - "name": "Home", - "button": "Get started", - "description": "Get started with BlitzKit", - "seo_description": "Get started with BlitzKit" - }, - "api": { - "name": "API", - "button": "To the docs", - "description": "BlitzKit hosted API", - "seo_description": "BlitzKit hosted static API for World of Tanks Blitz" - } - }, - - "footer": { - "motto": "Everything World of Tanks Blitz", - "copyright": "Unaffiliated with Wargaming or any service", - - "about": { - "title": "About", - "credits": "Credits", - "discord": "Discord", - "github": "GitHub", - "patches": "Patches" - }, - "legal": { - "title": "Legal", - "privacy": "Privacy policy", - "terms": "Terms of service" - } - } + "tools": { + "tanks": { "name": "Tankopedia" }, + "avatars": { "name": "Avatars" }, + "backgrounds": { "name": "Backgrounds" }, + "api": { "name": "API" } } } diff --git a/packages/website-ue/src/components/BaseStyles.astro b/packages/website-ue/src/components/BaseStyles.astro index 5949057bc..c84a6a836 100644 --- a/packages/website-ue/src/components/BaseStyles.astro +++ b/packages/website-ue/src/components/BaseStyles.astro @@ -27,21 +27,6 @@ const accentVariables = { @import "@radix-ui/colors/mauve-dark.css"; @import "@radix-ui/colors/mauve-alpha.css"; - :root { - --accent-1: var(--amber-1); - --accent-2: var(--amber-2); - --accent-3: var(--amber-3); - --accent-4: var(--amber-4); - --accent-5: var(--amber-5); - --accent-6: var(--amber-6); - --accent-7: var(--amber-7); - --accent-8: var(--amber-8); - --accent-9: var(--amber-9); - --accent-10: var(--amber-10); - --accent-11: var(--amber-11); - --accent-12: var(--amber-12); - } - body { --gray-1: var(--mauve-1); --gray-2: var(--mauve-2); @@ -56,28 +41,28 @@ const accentVariables = { --gray-11: var(--mauve-11); --gray-12: var(--mauve-12); - --gray-a1: var(--mauve-a1); - --gray-a2: var(--mauve-a2); - --gray-a3: var(--mauve-a3); - --gray-a4: var(--mauve-a4); - --gray-a5: var(--mauve-a5); - --gray-a6: var(--mauve-a6); - --gray-a7: var(--mauve-a7); - --gray-a8: var(--mauve-a8); - --gray-a9: var(--mauve-a9); - --gray-a10: var(--mauve-a10); - --gray-a11: var(--mauve-a11); - --gray-a12: var(--mauve-a12); - - --space-1: 0.25rem; - --space-2: 0.5rem; - --space-3: 0.75rem; + --space-0: 0.0625rem; + --space-1: 0.125rem; + --space-2: 0.25rem; + --space-3: 0.5rem; --space-4: 1rem; - --space-5: 1.5rem; - --space-6: 2rem; - --space-7: 2.5rem; - --space-8: 3rem; - --space-9: 4rem; + --space-5: 2rem; + --space-6: 4rem; + --space-7: 8rem; + --space-8: 16rem; + --space-9: 32rem; + + --weight-thin: 100; + --weight-extra-light: 200; + --weight-light: 300; + --weight-regular: 400; + --weight-medium: 500; + --weight-semibold: 600; + --weight-bold: 700; + --weight-extra-bold: 800; + --weight-black: 900; + + --font-size-regular: 1rem; background-color: var(--gray-1); color: var(--gray-12); diff --git a/packages/website-ue/src/components/HomeHero.astro b/packages/website-ue/src/components/HomeHero.astro index f82f6929f..29631bfce 100644 --- a/packages/website-ue/src/components/HomeHero.astro +++ b/packages/website-ue/src/components/HomeHero.astro @@ -1,45 +1,44 @@ --- -import "@fontsource-variable/roboto-flex/wdth.css"; import { TextField } from "./TextField"; --- -
-
-

BlitzKit 2.0

- - +
+
+ +
diff --git a/packages/website-ue/src/components/TextField/index.css b/packages/website-ue/src/components/TextField/index.css index 4ff0eddfe..de770b196 100644 --- a/packages/website-ue/src/components/TextField/index.css +++ b/packages/website-ue/src/components/TextField/index.css @@ -1,8 +1,15 @@ input { min-width: 0; - background-color: var(--gray-1); - border: solid 1px var(--gray-4); + max-width: var(--space-9); + + border-radius: 9999px; + + background-color: var(--gray-3); + border: solid 1px var(--gray-6); color: var(--gray-12); padding: var(--space-3) var(--space-4); - border-radius: var(--space-3); + margin: 0 var(--space-4); + + font-weight: var(--weight-medium); + font-size: var(--font-size-regular); } diff --git a/packages/website-ue/src/pages/index.astro b/packages/website-ue/src/pages/index.astro index 4700907d3..68804ea97 100644 --- a/packages/website-ue/src/pages/index.astro +++ b/packages/website-ue/src/pages/index.astro @@ -1,12 +1,13 @@ --- import "@radix-ui/colors/amber-dark.css"; import packageJson from "../../../../package.json"; +import HomeHero from "../components/HomeHero.astro"; import { tools } from "../core/tools/tools"; import BaseLayout from "../layouts/BaseLayout.astro"; --- - +

blitzkit {packageJson.version}