[proofplan]
We prove directly that the translated starter triples form the blocks of a Steiner triple system. Given two distinct points $x,y \in G$, we encode the pair by the nonzero difference $d := y-x$. The difference-family hypothesis gives a unique ordered difference $a-b=d$ inside a unique starter triple, and translating that starter triple by $x-b$ produces a block containing both $x$ and $y$. The same uniqueness of ordered differences rules out any second translated starter block containing the pair, and translation-invariance is built into the definition of $\mathcal{B}$.
[/proofplan]
[step:Show that every translated starter is a triple]
Let $S \in \mathcal{S}$ and $t \in G$. Define the translation map $\tau_t: G \to G$ by
\begin{align*}
\tau_t(z) := z+t \quad \text{for each } z \in G.
\end{align*}
The map $\tau_t$ is bijective, with inverse $\tau_{-t}:G \to G$ defined by $\tau_{-t}(z) := z-t$ for each $z \in G$. Since $S$ has cardinality $3$ and $\tau_t$ is injective, the translate $S+t=\tau_t(S)$ also has cardinality $3$. Hence every block in $\mathcal{B}$ is a $3$-element subset of $G$.
[/step]
[step:Construct a translated block through an arbitrary pair]
Let $x,y \in G$ be distinct points. Define
\begin{align*}
d := y-x \in G.
\end{align*}
Since $x \neq y$, we have $d \neq 0$. By the difference-family property, there exists a unique triple $(S,a,b)$ such that $S \in \mathcal{S}$, $a,b \in S$, $a \neq b$, and
\begin{align*}
a-b=d.
\end{align*}
Define
\begin{align*}
t := x-b \in G.
\end{align*}
Then $b+t=x$, and using $a-b=d=y-x$,
\begin{align*}
a+t = a+x-b = x+(a-b)=x+d=y.
\end{align*}
Thus both $x$ and $y$ belong to $S+t$. Since $S+t \in \mathcal{B}$, every pair of distinct points of $G$ is contained in at least one block of $\mathcal{B}$.
[guided]
Fix distinct points $x,y \in G$. To find a block containing them, we should not try to guess the whole translate at once. The only invariant information carried by the ordered pair $(y,x)$ under translation is its difference, so define
\begin{align*}
d := y-x.
\end{align*}
Because $x \neq y$, this element is nonzero in $G$.
The difference-family hypothesis now applies to this specific nonzero difference $d$. It gives a unique starter triple $S \in \mathcal{S}$ together with a unique ordered pair of distinct elements $a,b \in S$ such that
\begin{align*}
a-b=d.
\end{align*}
We want the translate of $b$ to become $x$, because then the translate of $a$ will automatically become $y$. Define
\begin{align*}
t := x-b.
\end{align*}
Then
\begin{align*}
b+t=b+x-b=x.
\end{align*}
For the other point, we use the chosen difference relation:
\begin{align*}
a+t=a+x-b=x+(a-b)=x+d=x+(y-x)=y.
\end{align*}
Therefore $x,y \in S+t$. Since $S+t$ is one of the blocks in $\mathcal{B}$ by definition, the pair $\{x,y\}$ is covered by at least one block.
[/guided]
[/step]
[step:Use uniqueness of ordered differences to prove uniqueness of the block]
Let $x,y \in G$ be distinct, and let $d:=y-x$. Suppose $B \in \mathcal{B}$ is a block containing both $x$ and $y$. By definition of $\mathcal{B}$, there exist $S' \in \mathcal{S}$ and $u \in G$ such that
\begin{align*}
B=S'+u.
\end{align*}
Since $x,y \in S'+u$, there exist $b',a' \in S'$ such that
\begin{align*}
b'+u=x,
\qquad
a'+u=y.
\end{align*}
Because $x \neq y$, we have $a' \neq b'$. Subtracting the first equation from the second gives
\begin{align*}
a'-b'=(a'+u)-(b'+u)=y-x=d.
\end{align*}
By the uniqueness clause in the difference-family property, the ordered difference representation $(S',a',b')$ must equal the unique representation $(S,a,b)$ constructed for $d$. Hence $S'=S$, $a'=a$, and $b'=b$. The equation $b'+u=x$ then gives
\begin{align*}
u=x-b'=x-b=t.
\end{align*}
Therefore $B=S'+u=S+t$. Thus the block constructed above is the unique block of $\mathcal{B}$ containing $\{x,y\}$.
[/step]
[step:Verify cyclic invariance of the block collection]
Let $r \in G$ and let $B \in \mathcal{B}$. Choose $S \in \mathcal{S}$ and $t \in G$ such that $B=S+t$. Then
\begin{align*}
B+r=(S+t)+r=S+(t+r).
\end{align*}
Since $t+r \in G$, the set $S+(t+r)$ belongs to $\mathcal{B}$. Therefore translation by $r$ maps blocks of $\mathcal{B}$ to blocks of $\mathcal{B}$. Since $r \in G$ was arbitrary, the block collection is invariant under the cyclic translation action of $G$.
Combining the previous steps, every block has size $3$, every pair of distinct points of $G$ lies in exactly one block, and the block collection is translation-invariant. Hence $\mathcal{B}$ is a cyclic $\operatorname{STS}(v)$.
[/step]