diff --git a/app/[locale]/assets/page.tsx b/app/[locale]/assets/page.tsx index d6ba7d57ff9..ca8b2149875 100644 --- a/app/[locale]/assets/page.tsx +++ b/app/[locale]/assets/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,8 +14,6 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import AssetsPage from "./_components/assets" -import { loadMessages } from "@/i18n/loadMessages" - export default async function Page({ params, }: { @@ -19,8 +21,10 @@ export default async function Page({ }) { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/assets") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/bug-bounty/page.tsx b/app/[locale]/bug-bounty/page.tsx index 8d23795a2e2..5c7bc2a5cdc 100644 --- a/app/[locale]/bug-bounty/page.tsx +++ b/app/[locale]/bug-bounty/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { type Params } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import BugBountiesPage from "./_components/bug-bounty" -import { loadMessages } from "@/i18n/loadMessages" - export default async function Page({ params }: { params: Promise }) { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/bug-bounty") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/community/page.tsx b/app/[locale]/community/page.tsx index bcc1dc76f1e..729d6ef6224 100644 --- a/app/[locale]/community/page.tsx +++ b/app/[locale]/community/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,8 +14,6 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import CommunityPage from "./_components/community" -import { loadMessages } from "@/i18n/loadMessages" - export default async function Page({ params, }: { @@ -19,8 +21,10 @@ export default async function Page({ }) { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/community") const pickedMessages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/contributing/translation-program/acknowledgements/page.tsx b/app/[locale]/contributing/translation-program/acknowledgements/page.tsx index 2223f9d9449..b633ed07145 100644 --- a/app/[locale]/contributing/translation-program/acknowledgements/page.tsx +++ b/app/[locale]/contributing/translation-program/acknowledgements/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import Acknowledgements from "./_components/acknowledgements" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage( "/contributing/translation-program/acknowledgements" ) diff --git a/app/[locale]/contributing/translation-program/contributors/page.tsx b/app/[locale]/contributing/translation-program/contributors/page.tsx index e410d506133..e40657d0f52 100644 --- a/app/[locale]/contributing/translation-program/contributors/page.tsx +++ b/app/[locale]/contributing/translation-program/contributors/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import Contributors from "./_components/contributors" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage( "/contributing/translation-program/contributors" ) diff --git a/app/[locale]/dapps/page.tsx b/app/[locale]/dapps/page.tsx index 51d8e7edbdb..422fb87b0b9 100644 --- a/app/[locale]/dapps/page.tsx +++ b/app/[locale]/dapps/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Params } from "@/lib/types" @@ -10,13 +14,11 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import DappsPage from "./_components/dapps" -import { loadMessages } from "@/i18n/loadMessages" - export default async function Page({ params }: { params: Promise }) { const { locale } = await params // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/dapps") const pickedMessages = pick(allMessages, requiredNamespaces) @@ -34,6 +36,8 @@ export async function generateMetadata({ }) { const { locale } = await params + setRequestLocale(locale) + const t = await getTranslations({ locale }) return await getMetadata({ diff --git a/app/[locale]/developers/learning-tools/page.tsx b/app/[locale]/developers/learning-tools/page.tsx index d21c8bbb653..764081e2a96 100644 --- a/app/[locale]/developers/learning-tools/page.tsx +++ b/app/[locale]/developers/learning-tools/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import LearningTools from "./_components/learning-tools" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage( "/developers/learning-tools" ) diff --git a/app/[locale]/developers/local-environment/page.tsx b/app/[locale]/developers/local-environment/page.tsx index 99f133cfd39..86f91941b8b 100644 --- a/app/[locale]/developers/local-environment/page.tsx +++ b/app/[locale]/developers/local-environment/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -11,7 +15,6 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import LocalEnvironmentPage from "./_components/local-environment" -import { loadMessages } from "@/i18n/loadMessages" import { getLocalEnvironmentFrameworkData } from "@/lib/api/ghRepoData" const loadData = dataLoader([ @@ -21,10 +24,12 @@ const loadData = dataLoader([ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + const [frameworksListData] = await loadData() // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage( "/developers/local-environment" ) diff --git a/app/[locale]/developers/page.tsx b/app/[locale]/developers/page.tsx index d707c4a461e..ac02d8b6ade 100644 --- a/app/[locale]/developers/page.tsx +++ b/app/[locale]/developers/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import Developers from "./_components/developers" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/developers") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/developers/tutorials/page.tsx b/app/[locale]/developers/tutorials/page.tsx index 037fa4534eb..1d27dfc4eb8 100644 --- a/app/[locale]/developers/tutorials/page.tsx +++ b/app/[locale]/developers/tutorials/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -12,13 +16,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import Tutorials from "./_components/tutorials" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage( "/developers/tutorials" ) diff --git a/app/[locale]/eth/page.tsx b/app/[locale]/eth/page.tsx index 658a59664e5..ede37c897b5 100644 --- a/app/[locale]/eth/page.tsx +++ b/app/[locale]/eth/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,8 +14,6 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import EthPage from "./_components/eth" -import { loadMessages } from "@/i18n/loadMessages" - export default async function Page({ params, }: { @@ -19,8 +21,10 @@ export default async function Page({ }) { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/eth") const pickedMessages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/gas/page.tsx b/app/[locale]/gas/page.tsx index 81bfb91e6c3..da0d304490b 100644 --- a/app/[locale]/gas/page.tsx +++ b/app/[locale]/gas/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import GasPage from "./_components/gas" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/gas") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/get-eth/page.tsx b/app/[locale]/get-eth/page.tsx index a00b068a07c..81d03899eb4 100644 --- a/app/[locale]/get-eth/page.tsx +++ b/app/[locale]/get-eth/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -11,8 +15,6 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import GetEthPage from "./_components/get-eth" -import { loadMessages } from "@/i18n/loadMessages" - export default async function Page({ params, }: { @@ -20,12 +22,14 @@ export default async function Page({ }) { const { locale } = await params + setRequestLocale(locale) + const lastDataUpdateDate = getLastModifiedDateByPath( "src/data/exchangesByCountry.ts" ) // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/get-eth") const pickedMessages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/layer-2/learn/page.tsx b/app/[locale]/layer-2/learn/page.tsx index 9d9587cc7cc..f34506409db 100644 --- a/app/[locale]/layer-2/learn/page.tsx +++ b/app/[locale]/layer-2/learn/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import LearnPage from "./_components/learn" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/layer-2/learn") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/layer-2/networks/page.tsx b/app/[locale]/layer-2/networks/page.tsx index 703af806208..df0f37fd514 100644 --- a/app/[locale]/layer-2/networks/page.tsx +++ b/app/[locale]/layer-2/networks/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -17,7 +21,6 @@ import { BASE_TIME_UNIT } from "@/lib/constants" import Layer2Networks from "./_components/networks" -import { loadMessages } from "@/i18n/loadMessages" import { fetchEthereumMarketcap } from "@/lib/api/fetchEthereumMarketcap" import { fetchGrowThePie } from "@/lib/api/fetchGrowThePie" import { fetchGrowThePieBlockspace } from "@/lib/api/fetchGrowThePieBlockspace" @@ -41,6 +44,8 @@ const loadData = dataLoader( const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + const [ ethereumMarketcapData, growThePieData, @@ -96,7 +101,7 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { }) // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/layer-2/networks") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/layer-2/page.tsx b/app/[locale]/layer-2/page.tsx index ff6ba761a79..36dc04f9fea 100644 --- a/app/[locale]/layer-2/page.tsx +++ b/app/[locale]/layer-2/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -16,7 +20,6 @@ import { BASE_TIME_UNIT } from "@/lib/constants" import Layer2Page from "./_components/layer-2" -import { loadMessages } from "@/i18n/loadMessages" import { fetchGrowThePie } from "@/lib/api/fetchGrowThePie" import { fetchL2beat } from "@/lib/api/fetchL2beat" @@ -34,6 +37,8 @@ const loadData = dataLoader( const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + const [growThePieData, l2beatData] = await loadData() const getRandomL2s = () => { @@ -58,7 +63,7 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const userRandomL2s = getRandomL2s() // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/layer-2") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/learn/page.tsx b/app/[locale]/learn/page.tsx index f62594e6fa9..ac96b2a9303 100644 --- a/app/[locale]/learn/page.tsx +++ b/app/[locale]/learn/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { type Params } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import LearnPage from "./_components/learn" -import { loadMessages } from "@/i18n/loadMessages" - export default async function Page({ params }: { params: Promise }) { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/learn") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/page.tsx b/app/[locale]/page.tsx index bdd024553e1..9e2713e92b8 100644 --- a/app/[locale]/page.tsx +++ b/app/[locale]/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import type { AllMetricData, CommunityBlog, Lang } from "@/lib/types" @@ -23,7 +27,6 @@ import { import HomePage from "./_components/home" -import { loadMessages } from "@/i18n/loadMessages" import { fetchCommunityEvents } from "@/lib/api/calendarEvents" import { fetchEthPrice } from "@/lib/api/fetchEthPrice" import { fetchGrowThePie } from "@/lib/api/fetchGrowThePie" @@ -56,6 +59,8 @@ const loadData = dataLoader( const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + const [ ethPrice, totalEthStaked, @@ -83,7 +88,7 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { .slice(0, CALENDAR_DISPLAY_COUNT) // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/quizzes/page.tsx b/app/[locale]/quizzes/page.tsx index af58df49b86..843e955b1e8 100644 --- a/app/[locale]/quizzes/page.tsx +++ b/app/[locale]/quizzes/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import QuizzesPage from "./_components/quizzes" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/quizzes") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/resources/page.tsx b/app/[locale]/resources/page.tsx index 65eb778f8d0..b8db41a4b41 100644 --- a/app/[locale]/resources/page.tsx +++ b/app/[locale]/resources/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -13,7 +17,6 @@ import { BASE_TIME_UNIT } from "@/lib/constants" import ResourcesPage from "./_components/resources" -import { loadMessages } from "@/i18n/loadMessages" import { fetchGrowThePie } from "@/lib/api/fetchGrowThePie" // In seconds @@ -27,8 +30,10 @@ const loadData = dataLoader( const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/resources") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/roadmap/vision/page.tsx b/app/[locale]/roadmap/vision/page.tsx index fbf4b375f74..a3fdf6e5e95 100644 --- a/app/[locale]/roadmap/vision/page.tsx +++ b/app/[locale]/roadmap/vision/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import VisionPage from "./_components/vision" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/roadmap/vision") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/run-a-node/page.tsx b/app/[locale]/run-a-node/page.tsx index 7ba2a806b94..65ab9816cda 100644 --- a/app/[locale]/run-a-node/page.tsx +++ b/app/[locale]/run-a-node/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import RunANodePage from "./_components/run-a-node" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/run-a-node") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/stablecoins/page.tsx b/app/[locale]/stablecoins/page.tsx index 5937d2f1194..b1e20dc057b 100644 --- a/app/[locale]/stablecoins/page.tsx +++ b/app/[locale]/stablecoins/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -13,7 +17,6 @@ import { BASE_TIME_UNIT } from "@/lib/constants" import StablecoinsPage from "./_components/stablecoins" -import { loadMessages } from "@/i18n/loadMessages" import { fetchEthereumEcosystemData, fetchEthereumStablecoinsData, @@ -57,8 +60,10 @@ const loadData = dataLoader<[EthereumDataResponse, StablecoinDataResponse]>( async function Page({ params }: { params: Promise<{ locale: Lang }> }) { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/stablecoins") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/staking/deposit-contract/page.tsx b/app/[locale]/staking/deposit-contract/page.tsx index 79374b999d4..978755e3690 100644 --- a/app/[locale]/staking/deposit-contract/page.tsx +++ b/app/[locale]/staking/deposit-contract/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import DepositContractPage from "./_components/deposit-contract" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage( "/staking/deposit-contract" ) diff --git a/app/[locale]/staking/page.tsx b/app/[locale]/staking/page.tsx index 9de81a5f1ad..84c7a466c42 100644 --- a/app/[locale]/staking/page.tsx +++ b/app/[locale]/staking/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { EpochResponse, @@ -18,8 +22,6 @@ import { BASE_TIME_UNIT } from "@/lib/constants" import StakingPage from "./_components/staking" -import { loadMessages } from "@/i18n/loadMessages" - const fetchBeaconchainData = async (): Promise => { // Fetch Beaconcha.in data const base = "https://beaconcha.in" @@ -60,10 +62,12 @@ const loadData = dataLoader( const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + const [data] = await loadData() // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/staking") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/start/page.tsx b/app/[locale]/start/page.tsx index 5f7128d25be..3af49995083 100644 --- a/app/[locale]/start/page.tsx +++ b/app/[locale]/start/page.tsx @@ -1,4 +1,5 @@ import pick from "lodash.pick" +import { getMessages, setRequestLocale } from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +11,13 @@ import { getNewToCryptoWallets } from "@/lib/utils/wallets" import StartPage from "./_components/start" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/start") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/wallets/find-wallet/page.tsx b/app/[locale]/wallets/find-wallet/page.tsx index 24463a30dcb..25255e1bdf0 100644 --- a/app/[locale]/wallets/find-wallet/page.tsx +++ b/app/[locale]/wallets/find-wallet/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -15,11 +19,11 @@ import { import FindWalletPage from "./_components/find-wallet" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + const supportedLocaleWallets = getSupportedLocaleWallets(locale!) const noSupportedLocaleWallets = getNonSupportedLocaleWallets(locale!) const walletsData = supportedLocaleWallets.concat(noSupportedLocaleWallets) @@ -33,7 +37,7 @@ const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { })) // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage( "/wallets/find-wallet" ) diff --git a/app/[locale]/wallets/page.tsx b/app/[locale]/wallets/page.tsx index bfd405ed23f..c83a90cf3bc 100644 --- a/app/[locale]/wallets/page.tsx +++ b/app/[locale]/wallets/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -10,13 +14,13 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import WalletsPage from "./_components/wallets" -import { loadMessages } from "@/i18n/loadMessages" - const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/wallets") const messages = pick(allMessages, requiredNamespaces) diff --git a/app/[locale]/what-is-ethereum/page.tsx b/app/[locale]/what-is-ethereum/page.tsx index b9e0285c2c2..41adad5a2f6 100644 --- a/app/[locale]/what-is-ethereum/page.tsx +++ b/app/[locale]/what-is-ethereum/page.tsx @@ -1,5 +1,9 @@ import pick from "lodash.pick" -import { getTranslations } from "next-intl/server" +import { + getMessages, + getTranslations, + setRequestLocale, +} from "next-intl/server" import { Lang } from "@/lib/types" @@ -11,7 +15,6 @@ import { getRequiredNamespacesForPage } from "@/lib/utils/translations" import WhatIsEthereumPage from "./_components/what-is-ethereum" -import { loadMessages } from "@/i18n/loadMessages" import { fetchGrowThePie } from "@/lib/api/fetchGrowThePie" const loadData = dataLoader([["growThePieData", fetchGrowThePie]]) @@ -19,8 +22,10 @@ const loadData = dataLoader([["growThePieData", fetchGrowThePie]]) const Page = async ({ params }: { params: Promise<{ locale: Lang }> }) => { const { locale } = await params + setRequestLocale(locale) + // Get i18n messages - const allMessages = await loadMessages(locale) + const allMessages = await getMessages({ locale }) const requiredNamespaces = getRequiredNamespacesForPage("/what-is-ethereum") const messages = pick(allMessages, requiredNamespaces) diff --git a/netlify.toml b/netlify.toml index 83bdfa26db2..a0e6b1d07f6 100644 --- a/netlify.toml +++ b/netlify.toml @@ -39,4 +39,4 @@ path = "en/developers/tutorials/creating-a-wagmi-ui-for-your-contract/" [functions] - included_files = ["i18n.config.json","src/data/mocks/**/*"] \ No newline at end of file + included_files = ["i18n.config.json", "src/intl/**/*", "src/data/mocks/**/*"] \ No newline at end of file diff --git a/src/i18n/request.ts b/src/i18n/request.ts index 380d266cafc..53820862e9e 100644 --- a/src/i18n/request.ts +++ b/src/i18n/request.ts @@ -17,7 +17,7 @@ export default getRequestConfig(async ({ requestLocale }) => { const allLocaleMessages = await loadMessages(locale) const allDefaultMessages = await loadMessages(routing.defaultLocale) - const messages = merge(allDefaultMessages, allLocaleMessages) + const messages = merge({}, allDefaultMessages, allLocaleMessages) return { locale,