fix(i18n): add missing translation keys for deeplink confirmation components

- Add i18n support to McpConfirmation, PromptConfirmation, SkillConfirmation
- Add nested translation keys: deeplink.mcp.*, deeplink.prompt.*, deeplink.skill.*
- Replace all hardcoded Chinese strings with t() function calls
- Ensure consistent localization across all deeplink import dialogs
This commit is contained in:
Jason
2025-11-25 09:52:19 +08:00
parent 60fa9654e1
commit fd46dde3fb
5 changed files with 75 additions and 21 deletions
+10 -9
View File
@@ -1,3 +1,4 @@
import { useTranslation } from "react-i18next";
import { DeepLinkImportRequest } from "../../lib/api/deeplink";
export function SkillConfirmation({
@@ -5,13 +6,15 @@ export function SkillConfirmation({
}: {
request: DeepLinkImportRequest;
}) {
const { t } = useTranslation();
return (
<div className="space-y-4">
<h3 className="text-lg font-semibold"> Claude Skill </h3>
<h3 className="text-lg font-semibold">{t("deeplink.skill.title")}</h3>
<div>
<label className="block text-sm font-medium text-muted-foreground">
GitHub
{t("deeplink.skill.repo")}
</label>
<div className="mt-1 text-sm font-mono bg-muted/50 p-2 rounded border">
{request.repo}
@@ -20,7 +23,7 @@ export function SkillConfirmation({
<div>
<label className="block text-sm font-medium text-muted-foreground">
{t("deeplink.skill.directory")}
</label>
<div className="mt-1 text-sm font-mono bg-muted/50 p-2 rounded border">
{request.directory}
@@ -30,7 +33,7 @@ export function SkillConfirmation({
<div className="grid grid-cols-2 gap-4">
<div>
<label className="block text-sm font-medium text-muted-foreground">
{t("deeplink.skill.branch")}
</label>
<div className="mt-1 text-sm">{request.branch || "main"}</div>
</div>
@@ -38,7 +41,7 @@ export function SkillConfirmation({
{request.skillsPath && (
<div>
<label className="block text-sm font-medium text-muted-foreground">
Skills
{t("deeplink.skill.skillsPath")}
</label>
<div className="mt-1 text-sm">{request.skillsPath}</div>
</div>
@@ -46,10 +49,8 @@ export function SkillConfirmation({
</div>
<div className="text-blue-600 dark:text-blue-400 text-sm bg-blue-50 dark:bg-blue-950/30 p-3 rounded border border-blue-200 dark:border-blue-800">
<p> Skill </p>
<p className="mt-1">
Skills Skill
</p>
<p> {t("deeplink.skill.hint")}</p>
<p className="mt-1">{t("deeplink.skill.hintDetail")}</p>
</div>
</div>
);