diff --git a/AppImage/app/layout.tsx b/AppImage/app/layout.tsx index 3b664966..d9c48067 100644 --- a/AppImage/app/layout.tsx +++ b/AppImage/app/layout.tsx @@ -5,6 +5,7 @@ import { GeistMono } from "geist/font/mono" import { ThemeProvider } from "../components/theme-provider" import { PwaRegister } from "../components/pwa-register" import { PwaInstallPrompt } from "../components/pwa-install-prompt" +import { I18nProvider } from "../lib/i18n/provider" import { Suspense } from "react" import "./globals.css" @@ -43,13 +44,15 @@ export default function RootLayout({ return (
-Connecting to ProxMenux Monitor
+{t("app.connecting")}
) diff --git a/AppImage/components/about.tsx b/AppImage/components/about.tsx index 86f91ef3..d23f341c 100644 --- a/AppImage/components/about.tsx +++ b/AppImage/components/about.tsx @@ -13,6 +13,7 @@ import { } from "lucide-react" import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "./ui/card" import { APP_VERSION } from "./release-notes-modal" +import { useT } from "../lib/i18n/provider" // Issue #191: a dedicated About tab. Centralises project metadata // (version, license, author) and every external link the project @@ -22,8 +23,8 @@ import { APP_VERSION } from "./release-notes-modal" // without re-cluttering the dashboard footer. interface LinkRow { - label: string - description: string + labelKey: string + descriptionKey: string href: string Icon: React.ComponentType<{ className?: string }> accent?: keyof typeof ACCENT_CLASSES @@ -42,29 +43,29 @@ const ACCENT_CLASSES = { const PROJECT_LINKS: LinkRow[] = [ { - label: "GitHub repository", - description: "Source code, releases and issue tracker.", + labelKey: "about.links.repository.label", + descriptionKey: "about.links.repository.description", href: "https://github.com/MacRimi/ProxMenux", Icon: Github, accent: "gray", }, { - label: "Documentation", - description: "Full user guide for ProxMenux and the Monitor.", + labelKey: "about.links.documentation.label", + descriptionKey: "about.links.documentation.description", href: "https://proxmenux.com", Icon: BookOpen, accent: "blue", }, { - label: "Discussions", - description: "Ask questions, share custom AI prompts, swap ideas.", + labelKey: "about.links.discussions.label", + descriptionKey: "about.links.discussions.description", href: "https://github.com/MacRimi/ProxMenux/discussions", Icon: MessageSquare, accent: "purple", }, { - label: "Report a bug or request a feature", - description: "Open an issue on GitHub — bugs, ideas, regressions.", + labelKey: "about.links.issues.label", + descriptionKey: "about.links.issues.description", href: "https://github.com/MacRimi/ProxMenux/issues", Icon: Bug, accent: "red", @@ -73,8 +74,8 @@ const PROJECT_LINKS: LinkRow[] = [ const SUPPORT_LINKS: LinkRow[] = [ { - label: "Support the project on Ko-fi", - description: "ProxMenux is free and open source. Donations cover hosting and dev time.", + labelKey: "about.links.support.label", + descriptionKey: "about.links.support.description", href: "https://ko-fi.com/macrimi", Icon: Heart, accent: "pink", @@ -82,6 +83,7 @@ const SUPPORT_LINKS: LinkRow[] = [ ] function LinkCard({ row }: { row: LinkRow }) { + const t = useT() const accentClass = ACCENT_CLASSES[row.accent ?? "blue"] // Style mirrors the PCI Devices cards in the Hardware tab: subtle // translucent background by default, slightly lighter on hover, no @@ -101,16 +103,17 @@ function LinkCard({ row }: { row: LinkRow }) {{row.description}
+{t(row.descriptionKey)}