diff --git a/demos/realtime_motion_graph_web/web/components/Performance/AdvancedDrawer.tsx b/demos/realtime_motion_graph_web/web/components/Performance/AdvancedDrawer.tsx index 11c28e8..21e89dc 100644 --- a/demos/realtime_motion_graph_web/web/components/Performance/AdvancedDrawer.tsx +++ b/demos/realtime_motion_graph_web/web/components/Performance/AdvancedDrawer.tsx @@ -2,6 +2,8 @@ import { useEffect, useState, type ReactNode } from "react"; +import { LABELS } from "@demon/client"; + import { useCapability } from "@/hooks/useCapability"; import { useIsMobile } from "@/hooks/useIsMobile"; import { useCurveStore } from "@/store/useCurveStore"; @@ -327,7 +329,7 @@ function StylesTab({ spread }: { spread: boolean }) { {canLora && ( - + )} diff --git a/demos/realtime_motion_graph_web/web/components/Performance/HeroMacros.tsx b/demos/realtime_motion_graph_web/web/components/Performance/HeroMacros.tsx index df649f2..ed89919 100644 --- a/demos/realtime_motion_graph_web/web/components/Performance/HeroMacros.tsx +++ b/demos/realtime_motion_graph_web/web/components/Performance/HeroMacros.tsx @@ -301,7 +301,7 @@ export function HeroMacros() { aria-pressed={curveOpen} aria-label="Toggle curve editor" data-midi-learn="schedule_curves_toggle" - data-dd-tooltip="Draw param automation curves against the track timeline. Curves drive denoise / structure / timbre / LoRA strengths / etc. over time so the model performs an arrangement instead of a static patch. Right-click to MIDI-learn." + data-dd-tooltip="Draw param automation curves against the track timeline. Curves drive denoise / structure / timbre / Trained Style strengths / etc. over time so the model performs an arrangement instead of a static patch. Right-click to MIDI-learn." data-dd-tooltip-wide="" data-dd-tooltip-title="Curve Editor" > diff --git a/demos/realtime_motion_graph_web/web/components/Performance/LibraryTile.tsx b/demos/realtime_motion_graph_web/web/components/Performance/LibraryTile.tsx index a0dbd06..02b299f 100644 --- a/demos/realtime_motion_graph_web/web/components/Performance/LibraryTile.tsx +++ b/demos/realtime_motion_graph_web/web/components/Performance/LibraryTile.tsx @@ -19,7 +19,12 @@ import { useMidiStore } from "@/store/useMidiStore"; import { usePerformanceStore } from "@/store/usePerformanceStore"; import { useSessionStore } from "@/store/useSessionStore"; import { LORA_SLIDER_MAX } from "@/types/engine"; -import type { LoraCatalogEntry, LoraMetadata } from "@demon/client"; +import { + LABELS, + TRAINED_STYLES, + type LoraCatalogEntry, + type LoraMetadata, +} from "@demon/client"; // LoRA library tile — redesigned for a large catalog (40+ genre LoRAs). // @@ -410,7 +415,7 @@ function ActiveLoraRow({ entry }: { entry: LoraCatalogEntry }) { aria-busy={isRefitPending} title={ isRefitPending - ? "Applying… (LoRA refit in progress)" + ? LABELS.refitInProgress : undefined } > @@ -457,7 +462,7 @@ function BrowseLoraRow({ entry }: { entry: LoraCatalogEntry }) { // disabled-and-cap-reached rows become inert. const capBlocked = atCap && !enabled; const rowTitle = capBlocked - ? `Maximum ${cap} LoRAs active — disable one to enable this` + ? `Maximum ${cap} ${TRAINED_STYLES} active — disable one to enable this` : displayName; return ( @@ -652,23 +657,23 @@ export function LibraryTile() { if (catalog.length === 0) { return (
-
LoRA Library
-
no LoRAs found
+
{LABELS.library}
+
{LABELS.noneFound}
); } return (
-
LoRA Library
+
{LABELS.library}
setQuery(e.target.value)} - aria-label="Search LoRA library" + aria-label={LABELS.searchAria} />
@@ -687,7 +692,7 @@ export function LibraryTile() {
{searching ? `Results · ${filtered.length}` - : `All LoRAs · ${compatible.length}`} + : `All ${TRAINED_STYLES} · ${compatible.length}`}
{filtered.length === 0 ? ( diff --git a/demos/realtime_motion_graph_web/web/components/Performance/MobileStepperRail.tsx b/demos/realtime_motion_graph_web/web/components/Performance/MobileStepperRail.tsx index 715f83f..6670fea 100644 --- a/demos/realtime_motion_graph_web/web/components/Performance/MobileStepperRail.tsx +++ b/demos/realtime_motion_graph_web/web/components/Performance/MobileStepperRail.tsx @@ -2,6 +2,8 @@ import { useCallback, useEffect, useRef } from "react"; +import { LABELS } from "@demon/client"; + import { useLoraStore } from "@/store/useLoraStore"; import { usePerformanceStore } from "@/store/usePerformanceStore"; import { useSessionStore } from "@/store/useSessionStore"; @@ -211,7 +213,7 @@ export function MobileLoraBlendStepper() { side="right" param="lora_blend" max={1.0} - label="LoRA Blend" + label={LABELS.blend} sublabelTop={a ?? undefined} sublabelBottom={b ?? undefined} invert diff --git a/demos/realtime_motion_graph_web/web/components/Performance/OperatorStrip.tsx b/demos/realtime_motion_graph_web/web/components/Performance/OperatorStrip.tsx index d21f1f9..95e5bf3 100644 --- a/demos/realtime_motion_graph_web/web/components/Performance/OperatorStrip.tsx +++ b/demos/realtime_motion_graph_web/web/components/Performance/OperatorStrip.tsx @@ -365,11 +365,11 @@ export function OperatorStrip() {