@@ -267,8 +267,8 @@ export class Thumbnail implements ThumbnailProvider {
267267 title : taskData . title ,
268268 description : taskData . description ,
269269 icon : taskData . icon ,
270- inputHandleDefs : taskData . data . inputs_def ,
271- outputHandleDefs : taskData . data . outputs_def ,
270+ inputHandleDefs : taskData . pkgData . localizeHandleDefs ( taskData . data . inputs_def ) ,
271+ outputHandleDefs : taskData . pkgData . localizeHandleDefs ( taskData . data . outputs_def ) ,
272272 executorName : taskData . data . executor ?. name ,
273273 } ) ;
274274 }
@@ -282,8 +282,8 @@ export class Thumbnail implements ThumbnailProvider {
282282 title : subflowData . title ,
283283 description : subflowData . description ,
284284 icon : subflowData . icon ,
285- inputHandleDefs : subflowData . data . inputs_def ,
286- outputHandleDefs : subflowData . data . outputs_def ,
285+ inputHandleDefs : subflowData . pkgData . localizeHandleDefs ( subflowData . data . inputs_def ) ,
286+ outputHandleDefs : subflowData . pkgData . localizeHandleDefs ( subflowData . data . outputs_def ) ,
287287 nodes : subflowData . data . nodes ,
288288 handleOutputsFrom : subflowData . data . outputs_from ,
289289 uiData : subflowData . uiData ,
@@ -357,7 +357,7 @@ export class Thumbnail implements ThumbnailProvider {
357357
358358 if ( raw . values ) {
359359 node . type = NODE_TYPE . ValueNode ;
360- node . valueHandleDefs = raw . values ;
360+ node . valueHandleDefs = this . wsPkgData . localizeHandleDefs ( raw . values ) ;
361361 }
362362 else if ( typeof raw . task === "string" ) {
363363 node . type = NODE_TYPE . TaskNode ;
@@ -366,9 +366,9 @@ export class Thumbnail implements ThumbnailProvider {
366366 if ( taskData ) {
367367 node . icon ??= taskData . icon ;
368368 node . executorName = taskData . data . executor ?. name ;
369- node . inputHandleDefs = taskData . data . inputs_def ;
369+ node . inputHandleDefs = taskData . pkgData . localizeHandleDefs ( taskData . data . inputs_def ) ;
370370 node . additionalInputs = taskData . data . additional_inputs ;
371- node . outputHandleDefs = taskData . data . outputs_def ;
371+ node . outputHandleDefs = taskData . pkgData . localizeHandleDefs ( taskData . data . outputs_def ) ;
372372 node . additionalOutputs = taskData . data . additional_outputs ;
373373 node . slotNodeDefs = await this . _getSlotNodeDefs ( taskData , "slot_nodes" ) ;
374374 }
@@ -379,17 +379,17 @@ export class Thumbnail implements ThumbnailProvider {
379379 json_schema : this . _schemaFromValue ( a . value ) ,
380380 } ) ) ;
381381 }
382- node . additionalInputDefs = raw . inputs_def ;
383- node . additionalOutputDefs = raw . outputs_def ;
382+ node . additionalInputDefs = this . wsPkgData . localizeHandleDefs ( raw . inputs_def ) ;
383+ node . additionalOutputDefs = this . wsPkgData . localizeHandleDefs ( raw . outputs_def ) ;
384384 node . handleInputsFrom = raw . inputs_from ;
385385 node . slots = raw . slots ;
386386 }
387387 else if ( raw . task ) {
388388 node . type = NODE_TYPE . TaskNode ;
389389 node . icon = executorIcon ( raw . task . executor ) ;
390390 node . executorName = raw . task . executor . name ;
391- node . inputHandleDefs = raw . task . inputs_def ;
392- node . outputHandleDefs = raw . task . outputs_def ;
391+ node . inputHandleDefs = this . wsPkgData . localizeHandleDefs ( raw . task . inputs_def ) ;
392+ node . outputHandleDefs = this . wsPkgData . localizeHandleDefs ( raw . task . outputs_def ) ;
393393 node . handleInputsFrom = raw . inputs_from ;
394394 }
395395 else if ( typeof raw . subflow === "string" ) {
@@ -398,8 +398,8 @@ export class Thumbnail implements ThumbnailProvider {
398398 const subflowData = await this . wsPkgData . resolveSharedBlock ( "subflow" , raw . subflow ) ;
399399 if ( subflowData ) {
400400 node . icon ??= subflowData . icon ;
401- node . inputHandleDefs = subflowData . data . inputs_def ;
402- node . outputHandleDefs = subflowData . data . outputs_def ;
401+ node . inputHandleDefs = subflowData . pkgData . localizeHandleDefs ( subflowData . data . inputs_def ) ;
402+ node . outputHandleDefs = subflowData . pkgData . localizeHandleDefs ( subflowData . data . outputs_def ) ;
403403 node . slotNodeDefs = await this . _getSlotNodeDefs ( subflowData , "nodes" ) ;
404404 }
405405 else {
@@ -414,9 +414,9 @@ export class Thumbnail implements ThumbnailProvider {
414414 }
415415 else if ( typeof raw . conditions === "object" && raw . conditions ) {
416416 node . type = NODE_TYPE . ConditionNode ;
417- node . inputHandleDefs = raw . inputs_def ;
418- node . conditionHandleDefs = raw . conditions . cases ;
419- node . defaultConditionHandleDef = raw . conditions . default ;
417+ node . inputHandleDefs = this . wsPkgData . localizeHandleDefs ( raw . inputs_def ) ;
418+ node . conditionHandleDefs = this . wsPkgData . localizeHandleDefs ( raw . conditions . cases ) ;
419+ node . defaultConditionHandleDef = this . wsPkgData . localizeHandleDef ( raw . conditions . default ) ;
420420 node . handleInputsFrom = raw . inputs_from ;
421421 }
422422 else {
@@ -437,7 +437,7 @@ export class Thumbnail implements ThumbnailProvider {
437437 title : this . wsPkgData . localize ( node . title ) ,
438438 icon : blockData . pkgData . resolveResourceURI ( node . icon , blockData . blockDir ) ,
439439 description : this . wsPkgData . localize ( node . description ) ,
440- inputHandleDefs : node . slot . inputs_def ,
440+ inputHandleDefs : this . wsPkgData . localizeHandleDefs ( node . slot . inputs_def ) ,
441441 } ) ;
442442 }
443443 }
@@ -554,6 +554,24 @@ class PkgData {
554554 return str ;
555555 }
556556
557+ public localizeHandleDef ( def : any ) : any {
558+ if ( isPlainObject ( def ) && typeof def . description === "string" ) {
559+ return { ...def , description : this . localize ( def . description ) } ;
560+ }
561+ return def ;
562+ }
563+
564+ public localizeHandleDefs ( defs : any ) : any {
565+ if ( Array . isArray ( defs ) ) {
566+ const newDefs : { description ?: string } [ ] = [ ] ;
567+ for ( const def of defs ) {
568+ newDefs . push ( this . localizeHandleDef ( def ) ) ;
569+ }
570+ return newDefs ;
571+ }
572+ return defs ;
573+ }
574+
557575 public resolveResourceURI ( uri : string | undefined , manifestDir : string ) : string | undefined {
558576 if ( ! uri ) {
559577 return ;
0 commit comments