+
+
{url}
-
+
{screenshotSrc ? (

) : (
-
+
+
+ {t(I18nKey.BROWSER$EMPTY_MESSAGE)}
+
)}
diff --git a/frontend/src/components/CodeEditor.tsx b/frontend/src/components/CodeEditor.tsx
index 17286b5cf4..8190c8c580 100644
--- a/frontend/src/components/CodeEditor.tsx
+++ b/frontend/src/components/CodeEditor.tsx
@@ -2,13 +2,17 @@ import Editor, { Monaco } from "@monaco-editor/react";
import { Tab, Tabs } from "@nextui-org/react";
import type { editor } from "monaco-editor";
import React, { useState } from "react";
+import { useTranslation } from "react-i18next";
+import { VscCode } from "react-icons/vsc";
import { useDispatch, useSelector } from "react-redux";
+import { I18nKey } from "#/i18n/declaration";
import { selectFile } from "#/services/fileService";
import { setCode } from "#/state/codeSlice";
import { RootState } from "#/store";
import FileExplorer from "./file-explorer/FileExplorer";
function CodeEditor(): JSX.Element {
+ const { t } = useTranslation();
const [selectedFileName, setSelectedFileName] = useState("");
const dispatch = useDispatch();
@@ -64,14 +68,21 @@ function CodeEditor(): JSX.Element {
title={selectedFileName}
/>
-
-
+
+ {selectedFileName === "" ? (
+
+
+ {t(I18nKey.CODE_EDITOR$EMPTY_MESSAGE)}
+
+ ) : (
+
+ )}
diff --git a/frontend/src/components/Planner.tsx b/frontend/src/components/Planner.tsx
index bb6afb76d4..c7f41919e7 100644
--- a/frontend/src/components/Planner.tsx
+++ b/frontend/src/components/Planner.tsx
@@ -1,4 +1,5 @@
import React from "react";
+import { useTranslation } from "react-i18next";
import {
FaCheckCircle,
FaQuestionCircle,
@@ -7,7 +8,9 @@ import {
FaRegClock,
FaRegTimesCircle,
} from "react-icons/fa";
+import { VscListOrdered } from "react-icons/vsc";
import { useSelector } from "react-redux";
+import { I18nKey } from "#/i18n/declaration";
import { Plan, Task, TaskState } from "#/services/planService";
import { RootState } from "#/store";
@@ -55,10 +58,13 @@ interface PlanProps {
}
function PlanContainer({ plan }: PlanProps): JSX.Element {
+ const { t } = useTranslation();
+
if (plan.mainGoal === undefined) {
return (
-
- Nothing is currently planned. Start a task for this to change.
+
+
+ {t(I18nKey.PLANNER$EMPTY_MESSAGE)}
);
}
diff --git a/frontend/src/i18n/translation.json b/frontend/src/i18n/translation.json
index 953c14d8cf..e784989dbb 100644
--- a/frontend/src/i18n/translation.json
+++ b/frontend/src/i18n/translation.json
@@ -328,5 +328,17 @@
"SETTINGS$API_KEY_PLACEHOLDER": {
"en": "Enter your API key.",
"de": "Model API key."
+ },
+ "CODE_EDITOR$EMPTY_MESSAGE": {
+ "en": "No file selected.",
+ "de": "Keine Datei ausgewählt."
+ },
+ "BROWSER$EMPTY_MESSAGE": {
+ "en": "No page loaded.",
+ "de": "Keine Seite geladen."
+ },
+ "PLANNER$EMPTY_MESSAGE": {
+ "en": "No plan created.",
+ "de": "Kein Plan erstellt."
}
}