diff --git a/apps/app/src/app/components/mcp-auth-modal.tsx b/apps/app/src/app/components/mcp-auth-modal.tsx index 2ffde2846..8d0b04a1b 100644 --- a/apps/app/src/app/components/mcp-auth-modal.tsx +++ b/apps/app/src/app/components/mcp-auth-modal.tsx @@ -168,7 +168,7 @@ export default function McpAuthModal(props: McpAuthModalProps) { statusPoll = window.setInterval(async () => { if (Date.now() - startedAt >= MCP_AUTH_TIMEOUT_MS) { stopStatusPolling(); - setError("Request timed out."); + setError(translate("mcp.auth.request_timed_out")); return; } @@ -694,7 +694,7 @@ export default function McpAuthModal(props: McpAuthModalProps) {
-

Already Connected

+

{translate("mcp.auth.already_connected")}

{translate("mcp.auth.already_connected_description", { server: serverName() })}

@@ -804,7 +804,7 @@ export default function McpAuthModal(props: McpAuthModalProps) {
-
Authorization link
+
{translate("mcp.auth.authorization_link")}
{authorizationUrl()}
@@ -814,7 +814,7 @@ export default function McpAuthModal(props: McpAuthModalProps) { class="text-xs" onClick={handleCopyAuthorizationUrl} > - {authUrlCopied() ? "Copied" : "Copy link"} + {authUrlCopied() ? translate("mcp.auth.copied") : translate("mcp.auth.copy_link")}
-

Opening your browser

+

{translate("mcp.auth.step1_title")}

{translate("mcp.auth.step1_description", { server: serverName() })}

@@ -863,7 +863,7 @@ export default function McpAuthModal(props: McpAuthModalProps) { 2
-

Authorize OpenWork

+

{translate("mcp.auth.step2_title")}

{translate("mcp.auth.step2_description")}

@@ -875,7 +875,7 @@ export default function McpAuthModal(props: McpAuthModalProps) { 3
-

Return here when you're done

+

{translate("mcp.auth.step3_title")}

{translate("mcp.auth.step3_description")}

diff --git a/apps/app/src/app/components/question-modal.tsx b/apps/app/src/app/components/question-modal.tsx index 4b3b070bd..94448f56b 100644 --- a/apps/app/src/app/components/question-modal.tsx +++ b/apps/app/src/app/components/question-modal.tsx @@ -4,6 +4,7 @@ import type { QuestionInfo } from "@opencode-ai/sdk/v2/client"; import { Check, ChevronRight, HelpCircle } from "lucide-solid"; import Button from "./button"; +import { t } from "../../i18n"; export type QuestionModalProps = { open: boolean; @@ -138,10 +139,10 @@ export default function QuestionModal(props: QuestionModalProps) {

- {currentQuestion()!.header || "Question"} + {currentQuestion()!.header || t("common.question")}

- Question {currentIndex() + 1} of {props.questions.length} + {t("question_modal.question_counter", undefined, { current: currentIndex() + 1, total: props.questions.length })}
@@ -186,14 +187,14 @@ export default function QuestionModal(props: QuestionModalProps) {
setCustomInput(e.currentTarget.value)} class="w-full px-4 py-3 rounded-xl bg-dls-surface border border-dls-border focus:border-dls-accent focus:ring-4 focus:ring-[rgba(var(--dls-accent-rgb),0.2)] focus:outline-none text-sm text-dls-text placeholder:text-dls-secondary transition-shadow" - placeholder="Type your answer here..." + placeholder={t("question_modal.custom_answer_placeholder")} onKeyDown={(e) => { if (e.key === "Enter") { if (e.isComposing || e.keyCode === 229) return; @@ -209,15 +210,15 @@ export default function QuestionModal(props: QuestionModalProps) {
↑↓ - navigate + {t("common.navigate")} - select + {t("common.select")}