fix(frontend): use correct i18n namespace prefix for opencode plugin modal

This commit is contained in:
xintaofei
2026-04-12 10:43:34 +08:00
parent 6da3a6cc34
commit ebf0281251

View File

@@ -30,7 +30,7 @@ export function OpencodePluginsModal({
onOpenChange, onOpenChange,
onCompleted, onCompleted,
}: OpencodePluginsModalProps) { }: OpencodePluginsModalProps) {
const t = useTranslations("AcpAgentSettings.opencodePlugins") const t = useTranslations("AcpAgentSettings")
const [summary, setSummary] = useState<PluginCheckSummary | null>(null) const [summary, setSummary] = useState<PluginCheckSummary | null>(null)
const [loading, setLoading] = useState(false) const [loading, setLoading] = useState(false)
const [uninstalling, setUninstalling] = useState<string | null>(null) const [uninstalling, setUninstalling] = useState<string | null>(null)
@@ -122,7 +122,7 @@ export function OpencodePluginsModal({
<Dialog open={open} onOpenChange={handleClose}> <Dialog open={open} onOpenChange={handleClose}>
<DialogContent className="max-w-lg max-h-[80vh] flex flex-col"> <DialogContent className="max-w-lg max-h-[80vh] flex flex-col">
<DialogHeader> <DialogHeader>
<DialogTitle>{t("title")}</DialogTitle> <DialogTitle>{t("opencodePlugins.title")}</DialogTitle>
</DialogHeader> </DialogHeader>
<div className="space-y-4 overflow-y-auto flex-1"> <div className="space-y-4 overflow-y-auto flex-1">
@@ -140,7 +140,7 @@ export function OpencodePluginsModal({
) : summary && summary.plugins.length > 0 ? ( ) : summary && summary.plugins.length > 0 ? (
<div className="space-y-1.5"> <div className="space-y-1.5">
<div className="text-xs font-medium text-muted-foreground"> <div className="text-xs font-medium text-muted-foreground">
{t("declared")} {t("opencodePlugins.declared")}
</div> </div>
{summary.plugins.map((plugin: PluginInfo) => ( {summary.plugins.map((plugin: PluginInfo) => (
<div <div
@@ -160,7 +160,7 @@ export function OpencodePluginsModal({
} }
className="text-[10px] px-1.5 py-0" className="text-[10px] px-1.5 py-0"
> >
{t(`status.${plugin.status}`)} {t(`opencodePlugins.status.${plugin.status}`)}
</Badge> </Badge>
{plugin.installed_version && ( {plugin.installed_version && (
<span className="text-[10px] text-muted-foreground"> <span className="text-[10px] text-muted-foreground">
@@ -178,7 +178,7 @@ export function OpencodePluginsModal({
onClick={() => handleInstallOne(plugin.name)} onClick={() => handleInstallOne(plugin.name)}
> >
<Download className="h-3 w-3 mr-1" /> <Download className="h-3 w-3 mr-1" />
{t("install")} {t("opencodePlugins.install")}
</Button> </Button>
) : ( ) : (
<Button <Button
@@ -192,7 +192,7 @@ export function OpencodePluginsModal({
) : ( ) : (
<Trash2 className="h-3 w-3" /> <Trash2 className="h-3 w-3" />
)} )}
{t("uninstall")} {t("opencodePlugins.uninstall")}
</Button> </Button>
)} )}
</div> </div>
@@ -201,7 +201,7 @@ export function OpencodePluginsModal({
</div> </div>
) : summary ? ( ) : summary ? (
<div className="text-xs text-muted-foreground text-center py-4"> <div className="text-xs text-muted-foreground text-center py-4">
{t("noPlugins")} {t("opencodePlugins.noPlugins")}
</div> </div>
) : null} ) : null}
@@ -217,7 +217,7 @@ export function OpencodePluginsModal({
) : ( ) : (
<Download className="h-3.5 w-3.5 mr-1.5" /> <Download className="h-3.5 w-3.5 mr-1.5" />
)} )}
{t("installAll")} {t("opencodePlugins.installAll")}
</Button> </Button>
<Button <Button
size="sm" size="sm"
@@ -228,7 +228,7 @@ export function OpencodePluginsModal({
<RefreshCw <RefreshCw
className={`h-3.5 w-3.5 mr-1.5 ${loading ? "animate-spin" : ""}`} className={`h-3.5 w-3.5 mr-1.5 ${loading ? "animate-spin" : ""}`}
/> />
{t("refresh")} {t("opencodePlugins.refresh")}
</Button> </Button>
</div> </div>
)} )}
@@ -249,12 +249,12 @@ export function OpencodePluginsModal({
{stream.status === "success" && ( {stream.status === "success" && (
<div className="text-xs text-green-600 font-medium"> <div className="text-xs text-green-600 font-medium">
{t("success")} {t("opencodePlugins.success")}
</div> </div>
)} )}
{stream.status === "failed" && ( {stream.status === "failed" && (
<div className="text-xs text-destructive font-medium"> <div className="text-xs text-destructive font-medium">
{t("failed")}: {stream.error} {t("opencodePlugins.failed")}: {stream.error}
</div> </div>
)} )}
</div> </div>