Skip to content

Commit 1215a23

Browse files
christian-byrnegithub-actions
authored andcommitted
[API Node] Sort API templates by localized display name (#3765)
Co-authored-by: github-actions <[email protected]>
1 parent 51fc93e commit 1215a23

File tree

8 files changed

+194
-2
lines changed

8 files changed

+194
-2
lines changed

src/locales/en/main.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,32 @@
531531
"wan2_1_fun_inp": "Wan 2.1 Inpainting",
532532
"wan2_1_fun_control": "Wan 2.1 ControlNet"
533533
},
534+
"Image API": {
535+
"api_openai_image_1_t2i": "OpenAI Image-1 Text to Image",
536+
"api_openai_image_1_i2i": "OpenAI Image-1 Image to Image",
537+
"api_openai_image_1_inpaint": "OpenAI Image-1 Inpaint",
538+
"api_openai_image_1_multi_inputs": "OpenAI Image-1 Multi Inputs",
539+
"api-openai-dall-e-2-t2i": "Dall-E 2 Text to Image",
540+
"api-openai-dall-e-2-inpaint": "Dall-E 2 Inpaint",
541+
"api-openai-dall-e-3-t2i": "Dall-E 3 Text to Image",
542+
"api_bfl_flux_pro_t2i": "BFL Flux[Pro] Text to Image",
543+
"api_stability_sd3_t2i": "Stability SD3 Text to Image",
544+
"api_ideogram_v3_t2i": "Ideogram V3 Text to Image",
545+
"api_luma_photon_i2i": "Luma Photon Image to Image",
546+
"api_luma_photon_style_ref": "Luma Photon Style Reference",
547+
"api_recraft_image_gen_with_color_control": "Recraft Color Control Image Generation",
548+
"api_recraft_image_gen_with_style_control": "Recraft Style Control Image Generation",
549+
"api_recraft_vector_gen": "Recraft Vector Generation"
550+
},
551+
"Video API": {
552+
"api_luma_i2v": "Luma Image to Video",
553+
"api_kling_i2v": "Kling Image to Video",
554+
"api_veo2_i2v": "Veo2 Image to Video",
555+
"api_hailuo_minimax_i2v": "MiniMax Image to Video",
556+
"api_pika_scene": "Pika Scenes: Images to Video",
557+
"api_pixverse_template_i2v": "PixVerse Templates: Image to Video",
558+
"api_pixverse_t2v": "PixVerse Text to Video"
559+
},
534560
"Image": {
535561
"sd3_5_simple_example": "SD3.5 Simple",
536562
"sd3_5_large_canny_controlnet_example": "SD3.5 Large Canny ControlNet",

src/locales/es/main.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,6 +1110,23 @@
11101110
"sdxl_simple_example": "SDXL Simple",
11111111
"sdxlturbo_example": "SDXL Turbo"
11121112
},
1113+
"Image API": {
1114+
"api-openai-dall-e-2-inpaint": "Dall-E 2 Rellenar",
1115+
"api-openai-dall-e-2-t2i": "Dall-E 2 Texto a Imagen",
1116+
"api-openai-dall-e-3-t2i": "Dall-E 3 Texto a Imagen",
1117+
"api_bfl_flux_pro_t2i": "BFL Flux[Pro] Texto a Imagen",
1118+
"api_ideogram_v3_t2i": "Ideogram V3 Texto a Imagen",
1119+
"api_luma_photon_i2i": "Luma Photon Imagen a Imagen",
1120+
"api_luma_photon_style_ref": "Luma Photon Referencia de Estilo",
1121+
"api_openai_image_1_i2i": "OpenAI Image-1 Imagen a Imagen",
1122+
"api_openai_image_1_inpaint": "OpenAI Image-1 Rellenar",
1123+
"api_openai_image_1_multi_inputs": "OpenAI Image-1 Múltiples Entradas",
1124+
"api_openai_image_1_t2i": "OpenAI Image-1 Texto a Imagen",
1125+
"api_recraft_image_gen_with_color_control": "Recraft Generación de Imagen con Control de Color",
1126+
"api_recraft_image_gen_with_style_control": "Recraft Generación de Imagen con Control de Estilo",
1127+
"api_recraft_vector_gen": "Recraft Generación de Vectores",
1128+
"api_stability_sd3_t2i": "Stability SD3 Texto a Imagen"
1129+
},
11131130
"Upscaling": {
11141131
"esrgan_example": "ESRGAN",
11151132
"hiresfix_esrgan_workflow": "Flujo de Trabajo HiresFix ESRGAN",
@@ -1127,6 +1144,15 @@
11271144
"txt_to_image_to_video": "SVD Texto a Imagen a Video",
11281145
"wan2_1_fun_control": "Wan 2.1 ControlNet",
11291146
"wan2_1_fun_inp": "Wan 2.1 Relleno"
1147+
},
1148+
"Video API": {
1149+
"api_hailuo_minimax_i2v": "MiniMax Imagen a Video",
1150+
"api_kling_i2v": "Kling Imagen a Video",
1151+
"api_luma_i2v": "Luma Imagen a Video",
1152+
"api_pika_scene": "Pika Escenas: Imágenes a Video",
1153+
"api_pixverse_t2v": "PixVerse Texto a Video",
1154+
"api_pixverse_template_i2v": "PixVerse Plantillas: Imagen a Video",
1155+
"api_veo2_i2v": "Veo2 Imagen a Video"
11301156
}
11311157
},
11321158
"title": "Comienza con una Plantilla"

src/locales/fr/main.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,6 +1110,23 @@
11101110
"sdxl_simple_example": "SDXL Simple",
11111111
"sdxlturbo_example": "SDXL Turbo"
11121112
},
1113+
"Image API": {
1114+
"api-openai-dall-e-2-inpaint": "Dall-E 2 Inpainting",
1115+
"api-openai-dall-e-2-t2i": "Dall-E 2 Texte vers Image",
1116+
"api-openai-dall-e-3-t2i": "Dall-E 3 Texte vers Image",
1117+
"api_bfl_flux_pro_t2i": "BFL Flux[Pro] Texte vers Image",
1118+
"api_ideogram_v3_t2i": "Ideogram V3 Texte vers Image",
1119+
"api_luma_photon_i2i": "Luma Photon Image vers Image",
1120+
"api_luma_photon_style_ref": "Luma Photon Référence de Style",
1121+
"api_openai_image_1_i2i": "OpenAI Image-1 Image vers Image",
1122+
"api_openai_image_1_inpaint": "OpenAI Image-1 Inpainting",
1123+
"api_openai_image_1_multi_inputs": "OpenAI Image-1 Entrées Multiples",
1124+
"api_openai_image_1_t2i": "OpenAI Image-1 Texte vers Image",
1125+
"api_recraft_image_gen_with_color_control": "Recraft Génération d’Image avec Contrôle des Couleurs",
1126+
"api_recraft_image_gen_with_style_control": "Recraft Génération d’Image avec Contrôle du Style",
1127+
"api_recraft_vector_gen": "Recraft Génération de Vecteur",
1128+
"api_stability_sd3_t2i": "Stability SD3 Texte vers Image"
1129+
},
11131130
"Upscaling": {
11141131
"esrgan_example": "ESRGAN",
11151132
"hiresfix_esrgan_workflow": "Flux de Travail ESRGAN HiresFix",
@@ -1127,6 +1144,15 @@
11271144
"txt_to_image_to_video": "Texte à Image à Vidéo",
11281145
"wan2_1_fun_control": "Wan 2.1 ControlNet",
11291146
"wan2_1_fun_inp": "Wan 2.1 Inpainting"
1147+
},
1148+
"Video API": {
1149+
"api_hailuo_minimax_i2v": "MiniMax Image vers Vidéo",
1150+
"api_kling_i2v": "Kling Image vers Vidéo",
1151+
"api_luma_i2v": "Luma Image vers Vidéo",
1152+
"api_pika_scene": "Pika Scènes : Images vers Vidéo",
1153+
"api_pixverse_t2v": "PixVerse Texte vers Vidéo",
1154+
"api_pixverse_template_i2v": "PixVerse Modèles : Image vers Vidéo",
1155+
"api_veo2_i2v": "Veo2 Image vers Vidéo"
11301156
}
11311157
},
11321158
"title": "Commencez avec un modèle"

src/locales/ja/main.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,6 +1110,23 @@
11101110
"sdxl_simple_example": "SDXLシンプル",
11111111
"sdxlturbo_example": "SDXLターボ"
11121112
},
1113+
"Image API": {
1114+
"api-openai-dall-e-2-inpaint": "Dall-E 2 インペイント",
1115+
"api-openai-dall-e-2-t2i": "Dall-E 2 テキストから画像へ",
1116+
"api-openai-dall-e-3-t2i": "Dall-E 3 テキストから画像へ",
1117+
"api_bfl_flux_pro_t2i": "BFL Flux[Pro] テキストから画像へ",
1118+
"api_ideogram_v3_t2i": "Ideogram V3 テキストから画像へ",
1119+
"api_luma_photon_i2i": "Luma Photon 画像から画像へ",
1120+
"api_luma_photon_style_ref": "Luma Photon スタイル参照",
1121+
"api_openai_image_1_i2i": "OpenAI Image-1 画像から画像へ",
1122+
"api_openai_image_1_inpaint": "OpenAI Image-1 インペイント",
1123+
"api_openai_image_1_multi_inputs": "OpenAI Image-1 複数入力",
1124+
"api_openai_image_1_t2i": "OpenAI Image-1 テキストから画像へ",
1125+
"api_recraft_image_gen_with_color_control": "Recraft カラーコントロール画像生成",
1126+
"api_recraft_image_gen_with_style_control": "Recraft スタイルコントロール画像生成",
1127+
"api_recraft_vector_gen": "Recraft ベクター生成",
1128+
"api_stability_sd3_t2i": "Stability SD3 テキストから画像へ"
1129+
},
11131130
"Upscaling": {
11141131
"esrgan_example": "ESRGAN",
11151132
"hiresfix_esrgan_workflow": "HiresFix ESRGANワークフロー",
@@ -1127,6 +1144,15 @@
11271144
"txt_to_image_to_video": "テキストから画像へ、画像からビデオへ",
11281145
"wan2_1_fun_control": "Wan 2.1 ControlNet",
11291146
"wan2_1_fun_inp": "Wan 2.1 インペインティング"
1147+
},
1148+
"Video API": {
1149+
"api_hailuo_minimax_i2v": "MiniMax 画像から動画へ",
1150+
"api_kling_i2v": "Kling 画像から動画へ",
1151+
"api_luma_i2v": "Luma 画像から動画へ",
1152+
"api_pika_scene": "Pika シーン: 画像から動画へ",
1153+
"api_pixverse_t2v": "PixVerse テキストから動画へ",
1154+
"api_pixverse_template_i2v": "PixVerse テンプレート: 画像から動画へ",
1155+
"api_veo2_i2v": "Veo2 画像から動画へ"
11301156
}
11311157
},
11321158
"title": "テンプレートを利用して開始"

src/locales/ko/main.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,6 +1110,23 @@
11101110
"sdxl_simple_example": "간단한 SDXL 예제",
11111111
"sdxlturbo_example": "SDXL 터보"
11121112
},
1113+
"Image API": {
1114+
"api-openai-dall-e-2-inpaint": "Dall-E 2 인페인트",
1115+
"api-openai-dall-e-2-t2i": "Dall-E 2 텍스트 투 이미지",
1116+
"api-openai-dall-e-3-t2i": "Dall-E 3 텍스트 투 이미지",
1117+
"api_bfl_flux_pro_t2i": "BFL Flux[Pro] 텍스트 투 이미지",
1118+
"api_ideogram_v3_t2i": "Ideogram V3 텍스트 투 이미지",
1119+
"api_luma_photon_i2i": "Luma Photon 이미지 투 이미지",
1120+
"api_luma_photon_style_ref": "Luma Photon 스타일 참조",
1121+
"api_openai_image_1_i2i": "OpenAI Image-1 이미지 투 이미지",
1122+
"api_openai_image_1_inpaint": "OpenAI Image-1 인페인트",
1123+
"api_openai_image_1_multi_inputs": "OpenAI Image-1 멀티 입력",
1124+
"api_openai_image_1_t2i": "OpenAI Image-1 텍스트 투 이미지",
1125+
"api_recraft_image_gen_with_color_control": "Recraft 색상 제어 이미지 생성",
1126+
"api_recraft_image_gen_with_style_control": "Recraft 스타일 제어 이미지 생성",
1127+
"api_recraft_vector_gen": "Recraft 벡터 생성",
1128+
"api_stability_sd3_t2i": "Stability SD3 텍스트 투 이미지"
1129+
},
11131130
"Upscaling": {
11141131
"esrgan_example": "ESRGAN",
11151132
"hiresfix_esrgan_workflow": "HiresFix ESRGAN 워크플로우",
@@ -1127,6 +1144,15 @@
11271144
"txt_to_image_to_video": "텍스트 -> 이미지 -> 동영상",
11281145
"wan2_1_fun_control": "Wan 2.1 컨트롤넷",
11291146
"wan2_1_fun_inp": "Wan 2.1 인페인트"
1147+
},
1148+
"Video API": {
1149+
"api_hailuo_minimax_i2v": "MiniMax 이미지 투 비디오",
1150+
"api_kling_i2v": "Kling 이미지 투 비디오",
1151+
"api_luma_i2v": "Luma 이미지 투 비디오",
1152+
"api_pika_scene": "Pika 장면: 이미지 투 비디오",
1153+
"api_pixverse_t2v": "PixVerse 텍스트 투 비디오",
1154+
"api_pixverse_template_i2v": "PixVerse 템플릿: 이미지 투 비디오",
1155+
"api_veo2_i2v": "Veo2 이미지 투 비디오"
11301156
}
11311157
},
11321158
"title": "템플릿으로 시작하기"

src/locales/ru/main.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,6 +1110,23 @@
11101110
"sdxl_simple_example": "SDXL Простой",
11111111
"sdxlturbo_example": "SDXL Turbo"
11121112
},
1113+
"Image API": {
1114+
"api-openai-dall-e-2-inpaint": "Dall-E 2: дорисовка",
1115+
"api-openai-dall-e-2-t2i": "Dall-E 2: текст в изображение",
1116+
"api-openai-dall-e-3-t2i": "Dall-E 3: текст в изображение",
1117+
"api_bfl_flux_pro_t2i": "BFL Flux[Pro]: текст в изображение",
1118+
"api_ideogram_v3_t2i": "Ideogram V3: текст в изображение",
1119+
"api_luma_photon_i2i": "Luma Photon: изображение в изображение",
1120+
"api_luma_photon_style_ref": "Luma Photon: стиль по образцу",
1121+
"api_openai_image_1_i2i": "OpenAI Image-1: изображение в изображение",
1122+
"api_openai_image_1_inpaint": "OpenAI Image-1: дорисовка",
1123+
"api_openai_image_1_multi_inputs": "OpenAI Image-1: несколько входов",
1124+
"api_openai_image_1_t2i": "OpenAI Image-1: текст в изображение",
1125+
"api_recraft_image_gen_with_color_control": "Recraft: генерация изображения с управлением цветом",
1126+
"api_recraft_image_gen_with_style_control": "Recraft: генерация изображения с управлением стилем",
1127+
"api_recraft_vector_gen": "Recraft: генерация векторного изображения",
1128+
"api_stability_sd3_t2i": "Stability SD3: текст в изображение"
1129+
},
11131130
"Upscaling": {
11141131
"esrgan_example": "ESRGAN",
11151132
"hiresfix_esrgan_workflow": "HiresFix ESRGAN Workflow",
@@ -1127,6 +1144,15 @@
11271144
"txt_to_image_to_video": "Текст в изображение в видео",
11281145
"wan2_1_fun_control": "Wan 2.1 ControlNet",
11291146
"wan2_1_fun_inp": "Wan 2.1 Inpainting"
1147+
},
1148+
"Video API": {
1149+
"api_hailuo_minimax_i2v": "MiniMax: изображение в видео",
1150+
"api_kling_i2v": "Kling: изображение в видео",
1151+
"api_luma_i2v": "Luma: изображение в видео",
1152+
"api_pika_scene": "Pika Scenes: изображения в видео",
1153+
"api_pixverse_t2v": "PixVerse: текст в видео",
1154+
"api_pixverse_template_i2v": "PixVerse Templates: изображение в видео",
1155+
"api_veo2_i2v": "Veo2: изображение в видео"
11301156
}
11311157
},
11321158
"title": "Начните с шаблона"

src/locales/zh/main.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,6 +1110,23 @@
11101110
"sdxl_simple_example": "SDXL简单",
11111111
"sdxlturbo_example": "SDXL Turbo"
11121112
},
1113+
"Image API": {
1114+
"api-openai-dall-e-2-inpaint": "Dall-E 2 局部修复",
1115+
"api-openai-dall-e-2-t2i": "Dall-E 2 文生图",
1116+
"api-openai-dall-e-3-t2i": "Dall-E 3 文生图",
1117+
"api_bfl_flux_pro_t2i": "BFL Flux[Pro] 文生图",
1118+
"api_ideogram_v3_t2i": "Ideogram V3 文生图",
1119+
"api_luma_photon_i2i": "Luma Photon 图生图",
1120+
"api_luma_photon_style_ref": "Luma Photon 风格参考",
1121+
"api_openai_image_1_i2i": "OpenAI Image-1 图生图",
1122+
"api_openai_image_1_inpaint": "OpenAI Image-1 局部修复",
1123+
"api_openai_image_1_multi_inputs": "OpenAI Image-1 多输入",
1124+
"api_openai_image_1_t2i": "OpenAI Image-1 文生图",
1125+
"api_recraft_image_gen_with_color_control": "Recraft 颜色控制图像生成",
1126+
"api_recraft_image_gen_with_style_control": "Recraft 风格控制图像生成",
1127+
"api_recraft_vector_gen": "Recraft 矢量生成",
1128+
"api_stability_sd3_t2i": "Stability SD3 文生图"
1129+
},
11131130
"Upscaling": {
11141131
"esrgan_example": "ESRGAN",
11151132
"hiresfix_esrgan_workflow": "HiresFix ESRGAN工作流",
@@ -1127,6 +1144,15 @@
11271144
"txt_to_image_to_video": "文本到图像到视频",
11281145
"wan2_1_fun_control": "Wan 2.1 ControlNet",
11291146
"wan2_1_fun_inp": "Wan 2.1 图像修复"
1147+
},
1148+
"Video API": {
1149+
"api_hailuo_minimax_i2v": "MiniMax 图生视频",
1150+
"api_kling_i2v": "Kling 图生视频",
1151+
"api_luma_i2v": "Luma 图生视频",
1152+
"api_pika_scene": "Pika 场景:图转视频",
1153+
"api_pixverse_t2v": "PixVerse 文转视频",
1154+
"api_pixverse_template_i2v": "PixVerse 模板:图转视频",
1155+
"api_veo2_i2v": "Veo2 图生视频"
11301156
}
11311157
},
11321158
"title": "从模板开始"

src/stores/workflowTemplatesStore.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,20 @@ export const useWorkflowTemplatesStore = defineStore(
2727
const isLoaded = ref(false)
2828

2929
/**
30-
* Sort a list of templates in alphabetical order by name.
30+
* Sort a list of templates in alphabetical order by localized display name.
3131
*/
3232
const sortTemplateList = (templates: TemplateInfo[]) =>
33-
templates.sort((a, b) => a.name.localeCompare(b.name))
33+
templates.sort((a, b) => {
34+
const aName = st(
35+
`templateWorkflows.name.${normalizeI18nKey(a.name)}`,
36+
a.title ?? a.name
37+
)
38+
const bName = st(
39+
`templateWorkflows.name.${normalizeI18nKey(b.name)}`,
40+
b.name
41+
)
42+
return aName.localeCompare(bName)
43+
})
3444

3545
/**
3646
* Sort any template categories (grouped templates) that should be sorted.

0 commit comments

Comments
 (0)