Initial implementation of localization

This commit is contained in:
adilallo
2026-01-29 22:17:44 -07:00
parent 1714e7f930
commit 2f37031411
29 changed files with 813 additions and 4365 deletions
+16 -6
View File
@@ -2,6 +2,8 @@ import { Inter, Bricolage_Grotesque, Space_Grotesk } from "next/font/google";
import type { Metadata } from "next";
import type { ReactNode } from "react";
import dynamic from "next/dynamic";
import { MessagesProvider } from "./contexts/MessagesContext";
import messages from "../messages/en/index";
import "./globals.css";
import ConditionalHeader from "./components/ConditionalHeader";
@@ -85,7 +87,13 @@ export const metadata: Metadata = {
},
};
export default function RootLayout({ children }: { children: ReactNode }) {
export default function RootLayout({
children,
}: {
children: ReactNode;
}) {
// Load messages for the default locale (single locale setup)
return (
<html lang="en" className="font-sans">
<head>
@@ -101,11 +109,13 @@ export default function RootLayout({ children }: { children: ReactNode }) {
<body
className={`${inter.variable} ${bricolageGrotesque.variable} ${spaceGrotesk.variable}`}
>
<div className="min-h-screen flex flex-col">
<ConditionalHeader />
<main className="flex-1">{children}</main>
<Footer />
</div>
<MessagesProvider messages={messages}>
<div className="min-h-screen flex flex-col">
<ConditionalHeader />
<main className="flex-1">{children}</main>
<Footer />
</div>
</MessagesProvider>
</body>
</html>
);