@@ -78,7 +80,7 @@ export function RecentChatList() {
className="bg-background/50 hover:bg-background"
>
-
More
+
{t.common.more}
handleDelete(thread.thread_id)}
>
- Delete
+ {t.common.delete}
diff --git a/frontend/src/components/workspace/settings/index.ts b/frontend/src/components/workspace/settings/index.ts
new file mode 100644
index 0000000..e69de29
diff --git a/frontend/src/components/workspace/settings/settings-dialog.tsx b/frontend/src/components/workspace/settings/settings-dialog.tsx
new file mode 100644
index 0000000..e69de29
diff --git a/frontend/src/components/workspace/welcome.tsx b/frontend/src/components/workspace/welcome.tsx
index 6f62531..687ab6a 100644
--- a/frontend/src/components/workspace/welcome.tsx
+++ b/frontend/src/components/workspace/welcome.tsx
@@ -1,6 +1,10 @@
+"use client";
+
+import { useI18n } from "@/core/i18n/hooks";
import { cn } from "@/lib/utils";
export function Welcome({ className }: { className?: string }) {
+ const { t } = useI18n();
return (
-
👋 Hello, again!
+
{t.welcome.greeting}
-
- Welcome to 🦌 DeerFlow, an open source super agent. With built-in and
- custom
-
-
- skills, DeerFlow helps you search on the web, analyze data, and
- generate
-
{" "}
-
artifacts like slides, web pages and do almost anything.
+ {t.welcome.description.includes("\n") ? (
+
{t.welcome.description}
+ ) : (
+
{t.welcome.description}
+ )}
);
diff --git a/frontend/src/components/workspace/workspace-container.tsx b/frontend/src/components/workspace/workspace-container.tsx
index 71898ef..9dd547d 100644
--- a/frontend/src/components/workspace/workspace-container.tsx
+++ b/frontend/src/components/workspace/workspace-container.tsx
@@ -12,6 +12,7 @@ import {
BreadcrumbPage,
BreadcrumbSeparator,
} from "@/components/ui/breadcrumb";
+import { useI18n } from "@/core/i18n/hooks";
import { cn } from "@/lib/utils";
import { GithubIcon } from "./github-icon";
@@ -34,6 +35,7 @@ export function WorkspaceHeader({
children,
...props
}: React.ComponentProps<"header">) {
+ const { t } = useI18n();
const pathname = usePathname();
const segments = useMemo(() => {
const parts = pathname?.split("/") || [];
@@ -56,7 +58,7 @@ export function WorkspaceHeader({
- {nameOfSegment(segments[0])}
+ {nameOfSegment(segments[0], t)}
@@ -68,12 +70,12 @@ export function WorkspaceHeader({
{segments.length >= 2 ? (
- {nameOfSegment(segments[1])}
+ {nameOfSegment(segments[1], t)}
) : (
- {nameOfSegment(segments[1])}
+ {nameOfSegment(segments[1], t)}
)}
@@ -89,7 +91,7 @@ export function WorkspaceHeader({