feat(i18n): add translations to dashboard pages

This commit is contained in:
JiPai 2025-03-09 22:24:46 +08:00
parent ed89f5aa8a
commit a1bbfaebf4
6 changed files with 33 additions and 5 deletions

View File

@ -1,6 +1,7 @@
import { ShowContainers } from "@/components/dashboard/docker/show/show-containers";
import { DashboardLayout } from "@/components/layouts/dashboard-layout";
import { appRouter } from "@/server/api/root";
import { getLocale, serverSideTranslations } from "@/utils/i18n";
import { IS_CLOUD } from "@dokploy/server/constants";
import { validateRequest } from "@dokploy/server/lib/auth";
import { createServerSideHelpers } from "@trpc/react-query/server";
@ -38,6 +39,7 @@ export async function getServerSideProps(
};
}
const { req, res } = ctx;
const locale = getLocale(req.cookies);
const helpers = createServerSideHelpers({
router: appRouter,
@ -70,11 +72,14 @@ export async function getServerSideProps(
return {
props: {
trpcState: helpers.dehydrate(),
...(await serverSideTranslations(locale, ["common", "home"])),
},
};
} catch (_error) {
return {
props: {},
props: {
...(await serverSideTranslations(locale, ["common", "home"])),
},
};
}
}

View File

@ -4,6 +4,7 @@ import { DashboardLayout } from "@/components/layouts/dashboard-layout";
import { Card } from "@/components/ui/card";
import { useLocalStorage } from "@/hooks/useLocalStorage";
import { api } from "@/utils/api";
import { getLocale, serverSideTranslations } from "@/utils/i18n";
import { IS_CLOUD } from "@dokploy/server/constants";
import { validateRequest } from "@dokploy/server/lib/auth";
import { Loader2 } from "lucide-react";
@ -91,6 +92,8 @@ Dashboard.getLayout = (page: ReactElement) => {
export async function getServerSideProps(
ctx: GetServerSidePropsContext<{ serviceId: string }>,
) {
const { req } = ctx;
const locale = getLocale(req.cookies);
if (IS_CLOUD) {
return {
redirect: {
@ -110,6 +113,8 @@ export async function getServerSideProps(
}
return {
props: {},
props: {
...(await serverSideTranslations(locale, ["common", "home"])),
},
};
}

View File

@ -2,6 +2,7 @@ import { ShowProjects } from "@/components/dashboard/projects/show";
import { DashboardLayout } from "@/components/layouts/dashboard-layout";
import { appRouter } from "@/server/api/root";
import { api } from "@/utils/api";
import { getLocale, serverSideTranslations } from "@/utils/i18n";
import { validateRequest } from "@dokploy/server/lib/auth";
import { createServerSideHelpers } from "@trpc/react-query/server";
import type { GetServerSidePropsContext } from "next";
@ -37,6 +38,7 @@ export async function getServerSideProps(
ctx: GetServerSidePropsContext<{ serviceId: string }>,
) {
const { req, res } = ctx;
const locale = getLocale(req.cookies);
const { user, session } = await validateRequest(req);
const helpers = createServerSideHelpers({
@ -64,6 +66,7 @@ export async function getServerSideProps(
return {
props: {
trpcState: helpers.dehydrate(),
...(await serverSideTranslations(locale, ["common", "home"])),
},
};
}

View File

@ -1,5 +1,6 @@
import { ShowRequests } from "@/components/dashboard/requests/show-requests";
import { DashboardLayout } from "@/components/layouts/dashboard-layout";
import { getLocale, serverSideTranslations } from "@/utils/i18n";
import { IS_CLOUD } from "@dokploy/server/constants";
import { validateRequest } from "@dokploy/server/lib/auth";
import type { GetServerSidePropsContext } from "next";
@ -14,6 +15,8 @@ Requests.getLayout = (page: ReactElement) => {
export async function getServerSideProps(
ctx: GetServerSidePropsContext<{ serviceId: string }>,
) {
const { req } = ctx;
const locale = getLocale(req.cookies);
if (IS_CLOUD) {
return {
redirect: {
@ -33,6 +36,8 @@ export async function getServerSideProps(
}
return {
props: {},
props: {
...(await serverSideTranslations(locale, ["common", "home"])),
},
};
}

View File

@ -1,6 +1,7 @@
import SwarmMonitorCard from "@/components/dashboard/swarm/monitoring-card";
import { DashboardLayout } from "@/components/layouts/dashboard-layout";
import { appRouter } from "@/server/api/root";
import { getLocale, serverSideTranslations } from "@/utils/i18n";
import { IS_CLOUD } from "@dokploy/server/constants";
import { validateRequest } from "@dokploy/server/lib/auth";
import { createServerSideHelpers } from "@trpc/react-query/server";
@ -38,6 +39,7 @@ export async function getServerSideProps(
};
}
const { req, res } = ctx;
const locale = getLocale(req.cookies);
const helpers = createServerSideHelpers({
router: appRouter,
@ -70,11 +72,14 @@ export async function getServerSideProps(
return {
props: {
trpcState: helpers.dehydrate(),
...(await serverSideTranslations(locale, ["common", "home"])),
},
};
} catch (_error) {
return {
props: {},
props: {
...(await serverSideTranslations(locale, ["common", "home"])),
},
};
}
}

View File

@ -1,6 +1,7 @@
import { ShowTraefikSystem } from "@/components/dashboard/file-system/show-traefik-system";
import { DashboardLayout } from "@/components/layouts/dashboard-layout";
import { appRouter } from "@/server/api/root";
import { getLocale, serverSideTranslations } from "@/utils/i18n";
import { IS_CLOUD } from "@dokploy/server/constants";
import { validateRequest } from "@dokploy/server/lib/auth";
import { createServerSideHelpers } from "@trpc/react-query/server";
@ -38,6 +39,7 @@ export async function getServerSideProps(
};
}
const { req, res } = ctx;
const locale = getLocale(req.cookies);
const helpers = createServerSideHelpers({
router: appRouter,
@ -70,11 +72,14 @@ export async function getServerSideProps(
return {
props: {
trpcState: helpers.dehydrate(),
...(await serverSideTranslations(locale, ["common", "home"])),
},
};
} catch (_error) {
return {
props: {},
props: {
...(await serverSideTranslations(locale, ["common", "home"])),
},
};
}
}