update timeline locales (#1306)

This commit is contained in:
NotSoToothless
2026-06-07 19:21:51 -07:00
committed by GitHub
parent e2d02a34b3
commit dd28d40a57
11 changed files with 976 additions and 285 deletions
+36 -285
View File
@@ -3,10 +3,10 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>SREBOT History</title>
<meta name="description" content="The history of SREBOT, starting from an idea to being the standard for SQB in War Thunder.">
<meta property="og:title" content="SREBOT History">
<meta property="og:description" content="The history of SREBOT, starting from an idea to being the standard for SQB in War Thunder.">
<title><%= t('timeline.pageTitle') %></title>
<meta name="description" content="<%= t('timeline.pageDescription') %>">
<meta property="og:title" content="<%= t('timeline.pageTitle') %>">
<meta property="og:description" content="<%= t('timeline.pageDescription') %>">
<meta property="og:type" content="website">
<meta name="theme-color" content="#90EE90">
<link rel="icon" type="image/png" href="/images/transparent_toothlessssss.png">
@@ -126,6 +126,7 @@
.timeline-node:nth-child(11) { grid-area: 4 / 2; }
.timeline-node:nth-child(12) { grid-area: 4 / 1; }
.timeline-node:nth-child(13) { grid-area: 5 / 1; }
.timeline-node:nth-child(14) { grid-area: 5 / 2; }
}
.timeline-card {
@@ -249,10 +250,10 @@
<!-- Header -->
<section class="pt-32 pb-10 lg:pt-40 lg:pb-14">
<div class="max-w-[1400px] mx-auto px-6 lg:px-8 text-center">
<p class="text-muted text-sm font-semibold tracking-[0.25em] uppercase mb-4">Our Story</p>
<h1 class="text-4xl lg:text-6xl font-extrabold mb-5 gradient-text">The Timeline</h1>
<p class="text-muted text-sm font-semibold tracking-[0.25em] uppercase mb-4"><%= t('timeline.eyebrow') %></p>
<h1 class="text-4xl lg:text-6xl font-extrabold mb-5 gradient-text"><%= t('timeline.heading') %></h1>
<p class="text-lg text-white/70 max-w-2xl mx-auto">
The history of SREBOT, starting from an idea to being the standard for SQB in War Thunder.
<%= t('timeline.pageDescription') %>
</p>
</div>
</section>
@@ -274,286 +275,36 @@
<circle class="end-marker" id="timelineEndMarker" r="5" cx="0" cy="0"></circle>
</svg>
<%
const timelineCards = [
{ icon: 'seedling', count: 2 }, { icon: 'terminal', count: 3 },
{ icon: 'tag', count: 4 }, { icon: 'users', count: 8 },
{ icon: 'file-code', count: 15 }, { icon: 'robot', count: 20 },
{ icon: 'fire', count: 60 }, { icon: 'laptop-code', count: 100 },
{ icon: 'route', count: 340 }, { icon: 'handshake', count: 450 },
{ icon: 'coins', count: 580 }, { icon: 'plug', count: 600 },
{ icon: 'lightbulb', count: 610 }, { icon: 'location-dot', count: serverCount }
];
%>
<div class="timeline-grid">
<!--
EDITABLE STARTER CONTENT: swap the dates / copy below for the real
project history. The serpentine line auto-routes through every
.timeline-node in order, so you can add or remove milestones freely.
-->
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-seedling"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">01 · Origin</span>
<span class="timeline-date">June 2024</span>
</div>
<h3 class="timeline-title mb-3">Born as SNLK SQB BOT</h3>
<p class="timeline-desc">
Commissioned by ImApollo and first launched as
<strong class="text-accent">SNLK SQB BOT</strong>. The earliest build is running
within a week, with match data still entered by hand. Within weeks, the prototype
is already being shared with other servers.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>2 Servers</span>
<% timelineCards.forEach((card, index) => { const key = 'timeline.cards.' + (index + 1); %>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-<%= card.icon %>"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index"><%= String(index + 1).padStart(2, '0') %> · <%= t(key + '.label') %></span>
<span class="timeline-date"><%= t(key + '.date') %></span>
</div>
<h3 class="timeline-title mb-3"><%= t(key + '.title') %></h3>
<p class="timeline-desc"><%- t(key + '.description') %></p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span><%= t('timeline.servers', { count: card.count }) %></span>
</div>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-terminal"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">02 · Scoreboards</span>
<span class="timeline-date">August 2024</span>
</div>
<h3 class="timeline-title mb-3">The First Logs</h3>
<p class="timeline-desc">
The original use for the bot was automating codeblock (diff) scoreboards
with red and green lines. You'd run a command, manually input how many of
each type there were, and it would update the message above. Zero tracking,
zero automation. The style was heavily influenced by TheH0G (Cade) and
progavman (Prog), who I met in SNLK.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>3 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-tag"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">03 · Rebrand</span>
<span class="timeline-date">October 2024</span>
</div>
<h3 class="timeline-title mb-3">Becoming SREBOT</h3>
<p class="timeline-desc">
The project outgrows its original name. SNLK SQB BOT becomes
<strong class="text-accent">SREBOT</strong>, the identity it still carries today.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>4 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-users"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">04 · Alliance</span>
<span class="timeline-date">January 2025</span>
</div>
<h3 class="timeline-title mb-3">Lux_ and Our Contributions to Each Other</h3>
<p class="timeline-desc">
Lux_ was working on his own bot at the time. We traded knowledge on War Thunder's
APIs and community management, back when neither of us knew how to read a winner
from a replay. His bot later became Spectra, and the cooperation never stopped.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>8 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-file-code"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">05 · Parser</span>
<span class="timeline-date">February 2025</span>
</div>
<h3 class="timeline-title mb-3">Frovy Opens the Door</h3>
<p class="timeline-desc">
Frovy shows us the first parser and gives SREBOT a real path toward automatic
scoreboards. He had also figured out how to request data from the game and receive
immediate point updates, even if he kept the method from us for months. :)
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>15 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-robot"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">06 · Logs</span>
<span class="timeline-date">March 2025</span>
</div>
<h3 class="timeline-title mb-3">LivingTheDagor and the New Parser</h3>
<p class="timeline-desc">
Dagor is introduced and the second parser is integrated, a much more robust one
that SREBOT still uses today. The logging pipeline matures around the parser work,
making scoreboards more informative.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>20 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-fire"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">07 · Momentum</span>
<span class="timeline-date">July 2025</span>
</div>
<h3 class="timeline-title mb-3">Word Gets Around</h3>
<p class="timeline-desc">
Squadrons start to take notice. The bot picks up momentum and grows
in popularity as more communities bring it into their servers.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>60 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-laptop-code"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">08 · Website</span>
<span class="timeline-date">August 2025</span>
</div>
<h3 class="timeline-title mb-3">Clippi Builds the Website</h3>
<p class="timeline-desc">
Clippi (Sophie) joins, mostly fueled by her hatred of Boris Bot, and takes
the lead on the website. She also pushes us off of Replit and onto proper
infrastructure, forcing me to actually learn how this stuff works. The site
goes live and keeps growing from there.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>100 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-route"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">09 · Paths</span>
<span class="timeline-date">November 2025</span>
</div>
<h3 class="timeline-title mb-3">Flexcoral's Heatmaps</h3>
<p class="timeline-desc">
While attempting to revive the WT Heatmaps project, Flexcoral (with help from a
developer-operated research group) figured out rendering of the minimaps and
player paths from replay data, later publishing his own parsing and rendering
implementations that we based our current methods off of.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>340 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-handshake"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">10 · Partnership</span>
<span class="timeline-date">January 2026</span>
</div>
<h3 class="timeline-title mb-3">Teaming Up with Spectra</h3>
<p class="timeline-desc">
The sheer volume of requests to Gaijin forces a change of approach. SREBOT
consolidates and partners with Spectra to receive games directly, instead of
downloading and parsing every match on its own.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>450 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-coins"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">11 · Monetization</span>
<span class="timeline-date">April 2026</span>
</div>
<h3 class="timeline-title mb-3">Fueling the Future</h3>
<p class="timeline-desc">
Monetization brings in real income for the first time, funding better
servers and helping new features ship faster.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>580 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-plug"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">12 · Clients</span>
<span class="timeline-date">May 2026</span>
</div>
<h3 class="timeline-title mb-3">Supporting Client Ports</h3>
<p class="timeline-desc">
We start supporting a client port of our project, letting other bots
build on top of what we made. First up is AXBot, which serves the
Chinese portion of the SQB playerbase.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span>600 Servers</span>
</div>
</div>
</div>
</article>
<article class="timeline-node">
<div class="timeline-card">
<div class="timeline-marker"><i class="fas fa-location-dot"></i></div>
<div class="pt-3">
<div class="flex items-center justify-between mb-2">
<span class="timeline-index">13 · Today</span>
<span class="timeline-date">Now</span>
</div>
<h3 class="timeline-title mb-3">Where We Are Now</h3>
<p class="timeline-desc">
Automated parsing through Spectra, funded development, and a growing
community of squadrons define the project today. We're already working on
our next product, <a href="https://tss.pawjob.us" target="_blank" rel="noopener" class="text-accent font-semibold hover:underline">TSSBOT</a>.
</p>
<div class="timeline-card-footer">
<i class="fab fa-discord"></i><span><%= serverCount %> Servers</span>
</div>
</div>
</div>
</article>
</article>
<% }); %>
</div>
</div>
@@ -568,7 +319,7 @@
<!-- Scroll hint — fades out on first scroll -->
<div id="scroll-hint">
<span>SCROLL</span>
<span><%= t('timeline.scroll') %></span>
<div class="hint-line"></div>
</div>