diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 6d29b66..2225cc4 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -7,6 +7,7 @@ import { NextIntlClientProvider, useLocale } from "next-intl";
import { getLocale, getTranslations } from "next-intl/server";
import { localeDirection } from "../i18n/locales";
import { baseOpenGraph } from "@/lib/locale-path";
+import { docsUI } from "../i18n/fumadocs-ui";
const geistSans = Geist({
variable: "--font-geist-sans",
@@ -68,7 +69,7 @@ export default function RootLayout({ children }: { children: React.ReactNode })
-
+
{children}
diff --git a/src/i18n/fumadocs-ui.ts b/src/i18n/fumadocs-ui.ts
new file mode 100644
index 0000000..b2cc863
--- /dev/null
+++ b/src/i18n/fumadocs-ui.ts
@@ -0,0 +1,175 @@
+// Fumadocs' own UI text (search, table of contents, sidebar, code blocks…) in
+// each site language. Keys are Fumadocs' (fumadocs-ui/dist/.translations);
+// English is Fumadocs' default. The search dialog also sends the locale to
+// /api/search, so results come from the page's language.
+import { defineI18nUI } from "fumadocs-ui/i18n";
+import { locales, sourceLocale } from "./locales";
+
+const es = {
+ displayName: "Español",
+ "Ask AI(AI chat button)": "Preguntar a la IA",
+ "Back to Home(404 page)": "Volver al inicio",
+ "Choose a language(language switcher)": "Elige un idioma",
+ "Choose a language(language switcher)(aria-label)": "Elige un idioma",
+ "Close Banner(banner)(aria-label)": "Cerrar banner",
+ "Close Search(search dialog)(aria-label)": "Cerrar búsqueda",
+ "Close Sidebar(aria-label)": "Cerrar barra lateral",
+ "Close Sidebar(sidebar)(aria-label)": "Cerrar barra lateral",
+ "Collapse Sidebar(sidebar)(aria-label)": "Contraer barra lateral",
+ "Copied Text(code block)(aria-label)": "Texto copiado",
+ "Copy Anchor Link(heading anchor)(aria-label)": "Copiar enlace a la sección",
+ "Copy Link(accordion)(aria-label)": "Copiar enlace",
+ "Copy Markdown(page actions)": "Copiar Markdown",
+ "Copy Text(code block)(aria-label)": "Copiar texto",
+ "Dark(theme switcher)(aria-label)": "Oscuro",
+ "Default(type table)": "Predeterminado",
+ "Edit on GitHub(edit page)": "Editar en GitHub",
+ "Hide Sidebar(sidebar)": "Ocultar barra lateral",
+ "Last updated on(page footer)": "Última actualización:",
+ "Layout Tab(layout tab trigger)": "Pestaña de diseño",
+ "Light(theme switcher)(aria-label)": "Claro",
+ "Next Page(pagination)": "Página siguiente",
+ "No Headings(table of contents)": "Sin encabezados",
+ "No results found(search dialog)": "No se encontraron resultados",
+ "On this page(table of contents)": "En esta página",
+ "Open Search(search trigger)(aria-label)": "Abrir búsqueda",
+ "Open Sidebar(sidebar)(aria-label)": "Abrir barra lateral",
+ "Open in ChatGPT(page actions)": "Abrir en ChatGPT",
+ "Open in Claude(page actions)": "Abrir en Claude",
+ "Open in Cursor(page actions)": "Abrir en Cursor",
+ "Open in GitHub(page actions)": "Abrir en GitHub",
+ "Open in Scira AI(page actions)": "Abrir en Scira AI",
+ "Open(page actions)": "Abrir",
+ "Page Not Found(404 page)": "Página no encontrada",
+ "Parameters(type table)": "Parámetros",
+ "Previous Page(pagination)": "Página anterior",
+ "Prop(type table)": "Prop",
+ "Read {url}, I want to ask questions about it.(page actions)":
+ "Lee {url}, quiero hacer preguntas sobre ella.",
+ "Returns(type table)": "Devuelve",
+ "Search(search dialog)": "Buscar",
+ "Search(search trigger)": "Buscar",
+ "Show Sidebar(sidebar)": "Mostrar barra lateral",
+ "System(theme switcher)(aria-label)": "Sistema",
+ "Table of Contents(inline table of contents)": "Índice",
+ "The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.(404 page)":
+ "Es posible que la página que buscas se haya eliminado, haya cambiado de nombre o no esté disponible temporalmente.",
+ "Toggle Menu(mobile menu)(aria-label)": "Abrir o cerrar el menú",
+ "Toggle Theme(theme switcher)(aria-label)": "Cambiar tema",
+ "Type(type table)": "Tipo",
+ "View as Markdown(page actions)": "Ver como Markdown",
+};
+
+const ja = {
+ displayName: "日本語",
+ "Ask AI(AI chat button)": "AI に質問",
+ "Back to Home(404 page)": "ホームに戻る",
+ "Choose a language(language switcher)": "言語を選択",
+ "Choose a language(language switcher)(aria-label)": "言語を選択",
+ "Close Banner(banner)(aria-label)": "バナーを閉じる",
+ "Close Search(search dialog)(aria-label)": "検索を閉じる",
+ "Close Sidebar(aria-label)": "サイドバーを閉じる",
+ "Close Sidebar(sidebar)(aria-label)": "サイドバーを閉じる",
+ "Collapse Sidebar(sidebar)(aria-label)": "サイドバーを折りたたむ",
+ "Copied Text(code block)(aria-label)": "コピーしました",
+ "Copy Anchor Link(heading anchor)(aria-label)": "見出しへのリンクをコピー",
+ "Copy Link(accordion)(aria-label)": "リンクをコピー",
+ "Copy Markdown(page actions)": "Markdown をコピー",
+ "Copy Text(code block)(aria-label)": "テキストをコピー",
+ "Dark(theme switcher)(aria-label)": "ダーク",
+ "Default(type table)": "デフォルト",
+ "Edit on GitHub(edit page)": "GitHub で編集",
+ "Hide Sidebar(sidebar)": "サイドバーを隠す",
+ "Last updated on(page footer)": "最終更新日:",
+ "Layout Tab(layout tab trigger)": "レイアウトタブ",
+ "Light(theme switcher)(aria-label)": "ライト",
+ "Next Page(pagination)": "次のページ",
+ "No Headings(table of contents)": "見出しはありません",
+ "No results found(search dialog)": "結果が見つかりませんでした",
+ "On this page(table of contents)": "このページの内容",
+ "Open Search(search trigger)(aria-label)": "検索を開く",
+ "Open Sidebar(sidebar)(aria-label)": "サイドバーを開く",
+ "Open in ChatGPT(page actions)": "ChatGPT で開く",
+ "Open in Claude(page actions)": "Claude で開く",
+ "Open in Cursor(page actions)": "Cursor で開く",
+ "Open in GitHub(page actions)": "GitHub で開く",
+ "Open in Scira AI(page actions)": "Scira AI で開く",
+ "Open(page actions)": "開く",
+ "Page Not Found(404 page)": "ページが見つかりません",
+ "Parameters(type table)": "パラメーター",
+ "Previous Page(pagination)": "前のページ",
+ "Prop(type table)": "Prop",
+ "Read {url}, I want to ask questions about it.(page actions)":
+ "{url} を読んでください。この内容について質問したいです。",
+ "Returns(type table)": "戻り値",
+ "Search(search dialog)": "検索",
+ "Search(search trigger)": "検索",
+ "Show Sidebar(sidebar)": "サイドバーを表示",
+ "System(theme switcher)(aria-label)": "システム",
+ "Table of Contents(inline table of contents)": "目次",
+ "The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.(404 page)":
+ "お探しのページは削除されたか、名前が変更されたか、一時的に利用できない可能性があります。",
+ "Toggle Menu(mobile menu)(aria-label)": "メニューを開閉",
+ "Toggle Theme(theme switcher)(aria-label)": "テーマを切り替え",
+ "Type(type table)": "型",
+ "View as Markdown(page actions)": "Markdown で表示",
+};
+
+const ar = {
+ displayName: "العربية",
+ "Ask AI(AI chat button)": "اسأل الذكاء الاصطناعي",
+ "Back to Home(404 page)": "العودة إلى الرئيسية",
+ "Choose a language(language switcher)": "اختر لغة",
+ "Choose a language(language switcher)(aria-label)": "اختر لغة",
+ "Close Banner(banner)(aria-label)": "إغلاق الشريط",
+ "Close Search(search dialog)(aria-label)": "إغلاق البحث",
+ "Close Sidebar(aria-label)": "إغلاق الشريط الجانبي",
+ "Close Sidebar(sidebar)(aria-label)": "إغلاق الشريط الجانبي",
+ "Collapse Sidebar(sidebar)(aria-label)": "طي الشريط الجانبي",
+ "Copied Text(code block)(aria-label)": "تم النسخ",
+ "Copy Anchor Link(heading anchor)(aria-label)": "نسخ رابط القسم",
+ "Copy Link(accordion)(aria-label)": "نسخ الرابط",
+ "Copy Markdown(page actions)": "نسخ Markdown",
+ "Copy Text(code block)(aria-label)": "نسخ النص",
+ "Dark(theme switcher)(aria-label)": "داكن",
+ "Default(type table)": "الافتراضي",
+ "Edit on GitHub(edit page)": "التعديل على GitHub",
+ "Hide Sidebar(sidebar)": "إخفاء الشريط الجانبي",
+ "Last updated on(page footer)": "آخر تحديث:",
+ "Layout Tab(layout tab trigger)": "علامة تبويب التخطيط",
+ "Light(theme switcher)(aria-label)": "فاتح",
+ "Next Page(pagination)": "الصفحة التالية",
+ "No Headings(table of contents)": "لا توجد عناوين",
+ "No results found(search dialog)": "لم يتم العثور على نتائج",
+ "On this page(table of contents)": "في هذه الصفحة",
+ "Open Search(search trigger)(aria-label)": "فتح البحث",
+ "Open Sidebar(sidebar)(aria-label)": "فتح الشريط الجانبي",
+ "Open in ChatGPT(page actions)": "فتح في ChatGPT",
+ "Open in Claude(page actions)": "فتح في Claude",
+ "Open in Cursor(page actions)": "فتح في Cursor",
+ "Open in GitHub(page actions)": "فتح في GitHub",
+ "Open in Scira AI(page actions)": "فتح في Scira AI",
+ "Open(page actions)": "فتح",
+ "Page Not Found(404 page)": "الصفحة غير موجودة",
+ "Parameters(type table)": "المعاملات",
+ "Previous Page(pagination)": "الصفحة السابقة",
+ "Prop(type table)": "الخاصية",
+ "Read {url}, I want to ask questions about it.(page actions)": "اقرأ {url}، أريد طرح أسئلة حوله.",
+ "Returns(type table)": "القيمة المُعادة",
+ "Search(search dialog)": "بحث",
+ "Search(search trigger)": "بحث",
+ "Show Sidebar(sidebar)": "إظهار الشريط الجانبي",
+ "System(theme switcher)(aria-label)": "النظام",
+ "Table of Contents(inline table of contents)": "جدول المحتويات",
+ "The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.(404 page)":
+ "ربما تمت إزالة الصفحة التي تبحث عنها أو تغيير اسمها أو أنها غير متاحة مؤقتًا.",
+ "Toggle Menu(mobile menu)(aria-label)": "تبديل القائمة",
+ "Toggle Theme(theme switcher)(aria-label)": "تبديل السمة",
+ "Type(type table)": "النوع",
+ "View as Markdown(page actions)": "عرض بصيغة Markdown",
+};
+
+export const docsUI = defineI18nUI(
+ { defaultLanguage: sourceLocale, languages: locales },
+ { en: { displayName: "English" }, es, ja, ar },
+);