diff --git a/bun.lockb b/bun.lockb
index b14d5a4..c49525a 100644
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/web/app/i18n.ts b/web/app/i18n.ts
new file mode 100644
index 0000000..9bf3e0f
--- /dev/null
+++ b/web/app/i18n.ts
@@ -0,0 +1,23 @@
+import i18n from "i18next";
+import { initReactI18next } from "react-i18next";
+
+const resources = {
+ en: {
+ translation: {
+ index: {
+ title: "classified.ink",
+ description: "Truly secure and private note-taking for everyone.",
+ },
+ },
+ },
+};
+
+await i18n.use(initReactI18next).init({
+ fallbackLng: "en",
+ resources,
+ interpolation: {
+ escapeValue: false,
+ },
+});
+
+export default i18n;
diff --git a/web/app/index.tsx b/web/app/index.tsx
index 08094bf..456ce2a 100644
--- a/web/app/index.tsx
+++ b/web/app/index.tsx
@@ -5,6 +5,8 @@ import { createRouter, RouterProvider } from "@tanstack/react-router";
import { routeTree } from "@/app/pages.gen.ts";
import "@/app/globals.css";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+import { I18nextProvider } from "react-i18next";
+import i18n from "@/app/i18n.ts";
const router = createRouter({ routeTree });
@@ -14,7 +16,9 @@ ReactDOM.createRoot(document.getElementById("root")!).render(
- Truly secure and private note-taking for everyone. -
+{t("index.description")}