Skip to content

Commit 89bea65

Browse files
authored
Merge pull request #16057 from ethereum/setupRoadmapTranslation
setup /roadmap for translation
2 parents e324262 + b012211 commit 89bea65

File tree

4 files changed

+235
-224
lines changed

4 files changed

+235
-224
lines changed

app/[locale]/roadmap/_components/ReleaseCarousel.tsx

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"use client"
22

3-
// TODO: Extract intl strings
43
// TODO: Fix RTL compatibility; currently forced to LTR flow
54
import { useCallback, useEffect, useMemo, useState } from "react"
65
import { useLocale } from "next-intl"
@@ -19,10 +18,15 @@ import {
1918
import { cn } from "@/lib/utils/cn"
2019
import { formatDate } from "@/lib/utils/date"
2120

22-
import { Release, releasesData } from "@/data/roadmap/releases"
21+
import { getReleasesData, Release } from "@/data/roadmap/releases"
22+
23+
import { useTranslation } from "@/hooks/useTranslation"
2324

2425
const ReleaseCarousel = () => {
2526
const locale = useLocale()
27+
const { t } = useTranslation("page-roadmap")
28+
29+
const releasesData = useMemo(() => getReleasesData(t), [t])
2630

2731
const [api1, setApi1] = useState<CarouselApi>()
2832
const [api2, setApi2] = useState<CarouselApi>()
@@ -49,7 +53,7 @@ const ReleaseCarousel = () => {
4953

5054
// If no upcoming releases, start at the last production release
5155
return productionReleases.length - 1
52-
}, [])
56+
}, [releasesData])
5357

5458
const [currentIndex, setCurrentIndex] = useState(startIndex)
5559

@@ -125,7 +129,9 @@ const ReleaseCarousel = () => {
125129
currentIndex !== index && "hidden"
126130
)}
127131
>
128-
<p className="text-sm font-bold">In production</p>
132+
<p className="text-sm font-bold">
133+
{t("page-roadmap-release-status-prod")}
134+
</p>
129135
</div>
130136
)}
131137
{status === "soon" && (
@@ -136,7 +142,7 @@ const ReleaseCarousel = () => {
136142
)}
137143
>
138144
<p className="text-sm font-bold text-black">
139-
Coming soon
145+
{t("page-roadmap-release-status-soon")}
140146
</p>
141147
</div>
142148
)}
@@ -148,7 +154,7 @@ const ReleaseCarousel = () => {
148154
)}
149155
>
150156
<p className="text-sm font-bold">
151-
In development
157+
{t("page-roadmap-release-status-dev")}
152158
</p>
153159
</div>
154160
)}
@@ -243,17 +249,19 @@ const ReleaseCarousel = () => {
243249

244250
<div>
245251
<p className="mb-3 text-xl font-bold">
246-
Main features
252+
{t("page-roadmap-release-main-features")}
247253
</p>
248254
<div className="flex flex-col gap-4">
249-
{release.content}
255+
{typeof release.content === "function"
256+
? release.content(t)
257+
: release.content}
250258
</div>
251259
</div>
252260
<ButtonLink
253261
href={release.href}
254262
className="w-full lg:w-fit"
255263
>
256-
Learn more
264+
{t("page-roadmap-release-learn-more")}
257265
</ButtonLink>
258266
</div>
259267
</div>

0 commit comments

Comments
 (0)