void>>();
@@ -25,6 +26,8 @@ interface PluginFrameProps {
contribution: PluginContribution;
locale: LocaleId;
palette: PaletteId;
+ /** The root UI scale (Settings → Appearance), the value of the app's `--ui-scale`; sent to the page with the locale. */
+ uiScale: number;
sessions: readonly SessionSnapshot[];
limits: LimitsSnapshot | null;
canvasInstanceId?: string;
@@ -61,6 +64,7 @@ export function PluginFrame({
contribution,
locale,
palette,
+ uiScale,
sessions,
limits,
canvasInstanceId,
@@ -101,8 +105,8 @@ export function PluginFrame({
kind: contribution.kind,
title: contribution.title
},
- appearance: { locale, palette }
- }), [contribution.id, contribution.kind, contribution.title, locale, palette, plugin.manifest]);
+ appearance: { locale, palette, uiScale }
+ }), [contribution.id, contribution.kind, contribution.title, locale, palette, uiScale, plugin.manifest]);
useEffect(() => {
const receive = (event: MessageEvent): void => {
@@ -225,7 +229,7 @@ export function PluginFrame({
ref={frame}
className={className ? `plugin-frame ${className}` : "plugin-frame"}
src={entryUrl}
- title={`${plugin.manifest.name}: ${contribution.title}`}
+ title={`${pluginName(plugin.manifest, locale)}: ${contributionTitle(contribution, locale)}`}
sandbox="allow-scripts"
referrerPolicy="no-referrer"
inert={suspended}
diff --git a/src/renderer/src/features/plugins/PluginSettingsSection.tsx b/src/renderer/src/features/plugins/PluginSettingsSection.tsx
index bf8419f75..f0b161be1 100644
--- a/src/renderer/src/features/plugins/PluginSettingsSection.tsx
+++ b/src/renderer/src/features/plugins/PluginSettingsSection.tsx
@@ -25,6 +25,7 @@ import {
unresolvedPageUrls
} from "./pluginPagination";
import { compareSemver } from "../../../../shared/hostVersion";
+import { contributionTitle, pluginName } from "../../../../shared/pluginLocalizedText.ts";
import { UiIcon } from "../../components/UiIcon";
/** Plugin description limit when displayed (longer text is truncated). */
@@ -565,7 +566,7 @@ export function PluginSettingsSection({
icon={showcaseIcons[key]}
/>
- {manifest ? manifest.name : showcaseName(result.fullName)}
+ {manifest ? pluginName(manifest, locale) : showcaseName(result.fullName)}
{showcaseAuthor(result.fullName)}
{renderHostTag(result.minHostVersion)}
@@ -590,7 +591,7 @@ export function PluginSettingsSection({
icon={showcaseIcons[selectedShowcase]}
/>
- {manifest ? manifest.name : showcaseName(result.fullName)}
+ {manifest ? pluginName(manifest, locale) : showcaseName(result.fullName)}
{showcaseAuthor(result.fullName)}
@@ -674,8 +675,8 @@ export function PluginSettingsSection({
{preview && (
-
- {preview.manifest.name}v{preview.manifest.version}
+
+ {pluginName(preview.manifest, locale)}v{preview.manifest.version}
{manifestDescription(preview.manifest, locale)}
@@ -717,9 +718,9 @@ export function PluginSettingsSection({
setExpandedInstalled((current) => ({ ...current, [plugin.manifest.id]: !current[plugin.manifest.id] }))}>
-
+
- {plugin.manifest.name}
+ {pluginName(plugin.manifest, locale)}
v{plugin.manifest.version}
{update && (
@@ -821,7 +822,7 @@ export function PluginSettingsSection({
{plugin.manifest.contributions.map((contribution) => (
- {contribution.title}
+ {contributionTitle(contribution, locale)}
{t(locale, contributionKindKey(contribution.kind))}
{contribution.kind !== "home-widget" && (
diff --git a/src/renderer/src/features/settings/AgentHooksSettings.tsx b/src/renderer/src/features/settings/AgentHooksSettings.tsx
index 8f1a1fc07..24fbcf04c 100644
--- a/src/renderer/src/features/settings/AgentHooksSettings.tsx
+++ b/src/renderer/src/features/settings/AgentHooksSettings.tsx
@@ -8,6 +8,7 @@ import type {
} from "../../../../shared/contracts";
import { PROVIDERS } from "../../lib/providers";
import { t, type TranslationKey } from "../../lib/i18n";
+import { pluginName } from "../../../../shared/pluginLocalizedText.ts";
interface AgentHooksSettingsProps {
settings: AppSettings;
@@ -98,7 +99,7 @@ export function AgentHooksSettings({
{row.hook.title}
- {row.plugin.manifest.name}
+ {pluginName(row.plugin.manifest, locale)}
{row.hook.description && {row.hook.description}}
- {plugin.manifest.name}
+ {pluginName(plugin.manifest, locale)}
{t(locale, "pluginNativeCodeServices")}