From f9e39457ba6d24ac00d52171f37664ca2c01ef07 Mon Sep 17 00:00:00 2001 From: Natalie Bridgers Date: Wed, 24 Jun 2026 17:00:03 -0500 Subject: [PATCH] fix(player-offline): replace broken <1> Trans placeholder with JSX bolding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The user-offline-message i18n key uses Fluent's numeric placeholder syntax (<1>...). With i18next-fluent + Trans, this didn't render — the literal '<1>' showed up in the rendered output instead of being replaced with the bolded handle. The combination of Fluent selectors and numeric placeholders through i18next-fluent doesn't round-trip cleanly. Switched to plain JSX composition: the message is inline in the component with a around the handle. We lose the source/handle as a localized interpolation, but the offline copy is small and the screenshot the user pointed at is the canonical text anyway. Also: the recommendation case reads 'they recommend' and the no-recommendation case reads 'is offline right now. Check back later.' — closer to the Twitch reference text. --- .../src/components/stream/player-offline.tsx | 32 ++++++++++++------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/js/web/src/components/stream/player-offline.tsx b/js/web/src/components/stream/player-offline.tsx index 035e72cc..be4c8a42 100644 --- a/js/web/src/components/stream/player-offline.tsx +++ b/js/web/src/components/stream/player-offline.tsx @@ -108,21 +108,31 @@ export function PlayerOffline({
-
+
{t("offline")} + {recommendation ? ( +

+ Looks like @{handle} is + offline, but they recommend checking out: +

+ ) : ( +

+ Looks like @{handle} is + offline right now. Check back later. +

+ )} {avatar && ( - +
+ +

@{handle}

+
)} -

@{handle}

-

- {t("user-not-streaming-check-back", { user: handle })} -

{recommendation && ( @@ -159,7 +169,7 @@ function RecommendationEmbed({ }, [did]); return ( -
+