From 09abe7e9684e3bd2312faf163b9820ac47cae4d9 Mon Sep 17 00:00:00 2001 From: Comfy Contributor Date: Tue, 25 Nov 2025 17:02:42 -0300 Subject: [PATCH 01/15] feat(i18n): add Portuguese (Brazil) locale (pt-BR) with config and empty files for CI --- .i18nrc.cjs | 2 +- .../src/components/common/LanguageSelector.vue | 3 ++- apps/desktop-ui/src/i18n.ts | 12 ++++++++---- src/i18n.ts | 12 ++++++++---- src/locales/pt-BR/commands.json | 1 + src/locales/pt-BR/main.json | 1 + src/locales/pt-BR/nodeDefs.json | 1 + src/locales/pt-BR/settings.json | 1 + src/platform/settings/constants/coreSettings.ts | 3 ++- 9 files changed, 25 insertions(+), 11 deletions(-) create mode 100644 src/locales/pt-BR/commands.json create mode 100644 src/locales/pt-BR/main.json create mode 100644 src/locales/pt-BR/nodeDefs.json create mode 100644 src/locales/pt-BR/settings.json diff --git a/.i18nrc.cjs b/.i18nrc.cjs index 2efe5f9662..53acf05468 100644 --- a/.i18nrc.cjs +++ b/.i18nrc.cjs @@ -9,7 +9,7 @@ module.exports = defineConfig({ entry: 'src/locales/en', entryLocale: 'en', output: 'src/locales', - outputLocales: ['zh', 'zh-TW', 'ru', 'ja', 'ko', 'fr', 'es', 'ar', 'tr'], + outputLocales: ['zh', 'zh-TW', 'ru', 'ja', 'ko', 'fr', 'es', 'ar', 'tr', 'pt-BR'], reference: `Special names to keep untranslated: flux, photomaker, clip, vae, cfg, stable audio, stable cascade, stable zero, controlnet, lora, HiDream. 'latent' is the short form of 'latent space'. 'mask' is in the context of image processing. diff --git a/apps/desktop-ui/src/components/common/LanguageSelector.vue b/apps/desktop-ui/src/components/common/LanguageSelector.vue index d8a5dc8cf6..05504522be 100644 --- a/apps/desktop-ui/src/components/common/LanguageSelector.vue +++ b/apps/desktop-ui/src/components/common/LanguageSelector.vue @@ -59,7 +59,8 @@ const LOCALES = [ ['fr', 'Français'], ['es', 'Español'], ['ar', 'عربي'], - ['tr', 'Türkçe'] + ['tr', 'Türkçe'], + ['pt-BR', 'Português (Brasil)'] ] as const satisfies ReadonlyArray<[string, string]> type SupportedLocale = (typeof LOCALES)[number][0] diff --git a/apps/desktop-ui/src/i18n.ts b/apps/desktop-ui/src/i18n.ts index 5f0739db75..350376ff7a 100644 --- a/apps/desktop-ui/src/i18n.ts +++ b/apps/desktop-ui/src/i18n.ts @@ -40,7 +40,8 @@ const localeLoaders: Record< ru: () => import('@frontend-locales/ru/main.json'), tr: () => import('@frontend-locales/tr/main.json'), zh: () => import('@frontend-locales/zh/main.json'), - 'zh-TW': () => import('@frontend-locales/zh-TW/main.json') + 'zh-TW': () => import('@frontend-locales/zh-TW/main.json'), + 'pt-BR': () => import('@frontend-locales/pt-BR/main.json') } const nodeDefsLoaders: Record< @@ -55,7 +56,8 @@ const nodeDefsLoaders: Record< ru: () => import('@frontend-locales/ru/nodeDefs.json'), tr: () => import('@frontend-locales/tr/nodeDefs.json'), zh: () => import('@frontend-locales/zh/nodeDefs.json'), - 'zh-TW': () => import('@frontend-locales/zh-TW/nodeDefs.json') + 'zh-TW': () => import('@frontend-locales/zh-TW/nodeDefs.json'), + 'pt-BR': () => import('@frontend-locales/pt-BR/nodeDefs.json') } const commandsLoaders: Record< @@ -70,7 +72,8 @@ const commandsLoaders: Record< ru: () => import('@frontend-locales/ru/commands.json'), tr: () => import('@frontend-locales/tr/commands.json'), zh: () => import('@frontend-locales/zh/commands.json'), - 'zh-TW': () => import('@frontend-locales/zh-TW/commands.json') + 'zh-TW': () => import('@frontend-locales/zh-TW/commands.json'), + 'pt-BR': () => import('@frontend-locales/pt-BR/commands.json') } const settingsLoaders: Record< @@ -85,7 +88,8 @@ const settingsLoaders: Record< ru: () => import('@frontend-locales/ru/settings.json'), tr: () => import('@frontend-locales/tr/settings.json'), zh: () => import('@frontend-locales/zh/settings.json'), - 'zh-TW': () => import('@frontend-locales/zh-TW/settings.json') + 'zh-TW': () => import('@frontend-locales/zh-TW/settings.json'), + 'pt-BR': () => import('@frontend-locales/pt-BR/settings.json') } // Track which locales have been loaded diff --git a/src/i18n.ts b/src/i18n.ts index d3e34245ca..c0ffd1094e 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -36,7 +36,8 @@ const localeLoaders: Record< ru: () => import('./locales/ru/main.json'), tr: () => import('./locales/tr/main.json'), zh: () => import('./locales/zh/main.json'), - 'zh-TW': () => import('./locales/zh-TW/main.json') + 'zh-TW': () => import('./locales/zh-TW/main.json'), + 'pt-BR': () => import('./locales/pt-BR/main.json') } const nodeDefsLoaders: Record< @@ -51,7 +52,8 @@ const nodeDefsLoaders: Record< ru: () => import('./locales/ru/nodeDefs.json'), tr: () => import('./locales/tr/nodeDefs.json'), zh: () => import('./locales/zh/nodeDefs.json'), - 'zh-TW': () => import('./locales/zh-TW/nodeDefs.json') + 'zh-TW': () => import('./locales/zh-TW/nodeDefs.json'), + 'pt-BR': () => import('./locales/pt-BR/nodeDefs.json') } const commandsLoaders: Record< @@ -66,7 +68,8 @@ const commandsLoaders: Record< ru: () => import('./locales/ru/commands.json'), tr: () => import('./locales/tr/commands.json'), zh: () => import('./locales/zh/commands.json'), - 'zh-TW': () => import('./locales/zh-TW/commands.json') + 'zh-TW': () => import('./locales/zh-TW/commands.json'), + 'pt-BR': () => import('./locales/pt-BR/commands.json') } const settingsLoaders: Record< @@ -81,7 +84,8 @@ const settingsLoaders: Record< ru: () => import('./locales/ru/settings.json'), tr: () => import('./locales/tr/settings.json'), zh: () => import('./locales/zh/settings.json'), - 'zh-TW': () => import('./locales/zh-TW/settings.json') + 'zh-TW': () => import('./locales/zh-TW/settings.json'), + 'pt-BR': () => import('./locales/pt-BR/settings.json') } // Track which locales have been loaded diff --git a/src/locales/pt-BR/commands.json b/src/locales/pt-BR/commands.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/src/locales/pt-BR/commands.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/pt-BR/main.json b/src/locales/pt-BR/main.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/src/locales/pt-BR/main.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/pt-BR/nodeDefs.json b/src/locales/pt-BR/nodeDefs.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/src/locales/pt-BR/nodeDefs.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/pt-BR/settings.json b/src/locales/pt-BR/settings.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/src/locales/pt-BR/settings.json @@ -0,0 +1 @@ +{} diff --git a/src/platform/settings/constants/coreSettings.ts b/src/platform/settings/constants/coreSettings.ts index 0931733ea4..7590c0f88f 100644 --- a/src/platform/settings/constants/coreSettings.ts +++ b/src/platform/settings/constants/coreSettings.ts @@ -416,7 +416,8 @@ export const CORE_SETTINGS: SettingParams[] = [ { value: 'fr', text: 'Français' }, { value: 'es', text: 'Español' }, { value: 'ar', text: 'عربي' }, - { value: 'tr', text: 'Türkçe' } + { value: 'tr', text: 'Türkçe' }, + { value: 'pt-BR', text: 'Português (BR)' } ], defaultValue: () => navigator.language.split('-')[0] || 'en' }, From d26eb0f288509c4c5e766b54ad20177d309117fd Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Tue, 25 Nov 2025 17:41:40 -0300 Subject: [PATCH 02/15] Update Portuguese (Brazil) label in LanguageSelector --- apps/desktop-ui/src/components/common/LanguageSelector.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/desktop-ui/src/components/common/LanguageSelector.vue b/apps/desktop-ui/src/components/common/LanguageSelector.vue index 05504522be..55703930c6 100644 --- a/apps/desktop-ui/src/components/common/LanguageSelector.vue +++ b/apps/desktop-ui/src/components/common/LanguageSelector.vue @@ -60,7 +60,7 @@ const LOCALES = [ ['es', 'Español'], ['ar', 'عربي'], ['tr', 'Türkçe'], - ['pt-BR', 'Português (Brasil)'] + ['pt-BR', 'Português (BR)'] ] as const satisfies ReadonlyArray<[string, string]> type SupportedLocale = (typeof LOCALES)[number][0] From 268208e70ecd55f6c7c81775f4f298281812d335 Mon Sep 17 00:00:00 2001 From: Comfy Contributor Date: Wed, 26 Nov 2025 10:47:48 -0300 Subject: [PATCH 03/15] chore(codeowners): add @JonatanAtila as reviewer for pt-BR --- CODEOWNERS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index 840ffdea39..a4aad467ae 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -54,10 +54,11 @@ # Translations /src/locales/ @Yorha4D @KarryCharon @shinshin86 @Comfy-Org/comfy_maintainer @Comfy-org/comfy_frontend_devs +/src/locales/pt-BR/ @JonatanAtila # LLM Instructions (blank on purpose) .claude/ .cursor/ .cursorrules **/AGENTS.md -**/CLAUDE.md \ No newline at end of file +**/CLAUDE.md From 906fa5e193c9fab6ab77969a3dbe7044eaabee64 Mon Sep 17 00:00:00 2001 From: Comfy Contributor Date: Wed, 26 Nov 2025 10:53:58 -0300 Subject: [PATCH 04/15] chore: apply recent local changes --- CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index a4aad467ae..79178e6842 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -61,4 +61,4 @@ .cursor/ .cursorrules **/AGENTS.md -**/CLAUDE.md +**/CLAUDE.md \ No newline at end of file From 5f02a54578ff87d1feb04e174a44eede94ffa3d3 Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:35:20 -0300 Subject: [PATCH 05/15] Create settings.json for pt-BR locale Initialize settings.json for Brazilian Portuguese locale --- src/locales/pt-BR/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/pt-BR/settings.json b/src/locales/pt-BR/settings.json index 0967ef424b..8b13789179 100644 --- a/src/locales/pt-BR/settings.json +++ b/src/locales/pt-BR/settings.json @@ -1 +1 @@ -{} + From d7d94a9612bd9d2fe08b4fcfa009268668bd6ca2 Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:35:58 -0300 Subject: [PATCH 06/15] Initialize nodeDefs.json for pt-BR locale --- src/locales/pt-BR/nodeDefs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/pt-BR/nodeDefs.json b/src/locales/pt-BR/nodeDefs.json index 0967ef424b..8b13789179 100644 --- a/src/locales/pt-BR/nodeDefs.json +++ b/src/locales/pt-BR/nodeDefs.json @@ -1 +1 @@ -{} + From 64b60762369cbbb886fb6d32e646aa37c552383a Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:36:07 -0300 Subject: [PATCH 07/15] Create main.json for pt-BR locale Initialize main.json for Brazilian Portuguese locale --- src/locales/pt-BR/main.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/pt-BR/main.json b/src/locales/pt-BR/main.json index 0967ef424b..8b13789179 100644 --- a/src/locales/pt-BR/main.json +++ b/src/locales/pt-BR/main.json @@ -1 +1 @@ -{} + From b52e33be504e10e04c4925f930a31ae4a472d5b6 Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:36:14 -0300 Subject: [PATCH 08/15] Create commands.json for pt-BR locale Initialize commands.json for Brazilian Portuguese locale --- src/locales/pt-BR/commands.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/pt-BR/commands.json b/src/locales/pt-BR/commands.json index 0967ef424b..8b13789179 100644 --- a/src/locales/pt-BR/commands.json +++ b/src/locales/pt-BR/commands.json @@ -1 +1 @@ -{} + From 39f73c2d4303649f801769377f0b00707817e891 Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:42:21 -0300 Subject: [PATCH 09/15] Update CODEOWNERS for pt-BR translations Added additional code owners for the pt-BR translations. --- CODEOWNERS | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CODEOWNERS b/CODEOWNERS index 79178e6842..cb5c0bc282 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -54,11 +54,12 @@ # Translations /src/locales/ @Yorha4D @KarryCharon @shinshin86 @Comfy-Org/comfy_maintainer @Comfy-org/comfy_frontend_devs -/src/locales/pt-BR/ @JonatanAtila +/src/locales/pt-BR/ @JonatanAtila @Yorha4D @KarryCharon @shinshin86 + # LLM Instructions (blank on purpose) .claude/ .cursor/ .cursorrules **/AGENTS.md -**/CLAUDE.md \ No newline at end of file +**/CLAUDE.md From 2ba2662039cccba6cc0d968bcd88f45e7758ae86 Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:42:57 -0300 Subject: [PATCH 10/15] Remove blank lines in CODEOWNERS file --- CODEOWNERS | 1 - 1 file changed, 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index cb5c0bc282..922dc2cb21 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -56,7 +56,6 @@ /src/locales/ @Yorha4D @KarryCharon @shinshin86 @Comfy-Org/comfy_maintainer @Comfy-org/comfy_frontend_devs /src/locales/pt-BR/ @JonatanAtila @Yorha4D @KarryCharon @shinshin86 - # LLM Instructions (blank on purpose) .claude/ .cursor/ From 51e289c5411f26c76bbad4e9a07ad4d7b3b20780 Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:45:20 -0300 Subject: [PATCH 11/15] Add CLAUDE.md to CODEOWNERS From 6d0f9f71dd3d895f29aa0f2ac821c92dbd36155b Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:49:32 -0300 Subject: [PATCH 12/15] Update commands.json --- src/locales/pt-BR/commands.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/pt-BR/commands.json b/src/locales/pt-BR/commands.json index 8b13789179..0967ef424b 100644 --- a/src/locales/pt-BR/commands.json +++ b/src/locales/pt-BR/commands.json @@ -1 +1 @@ - +{} From cfdd61a233dfed78f9064b6949a6a85c0cfd8ae4 Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:49:41 -0300 Subject: [PATCH 13/15] Initialize main.json with an empty object --- src/locales/pt-BR/main.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/pt-BR/main.json b/src/locales/pt-BR/main.json index 8b13789179..0967ef424b 100644 --- a/src/locales/pt-BR/main.json +++ b/src/locales/pt-BR/main.json @@ -1 +1 @@ - +{} From 00b9b1f5432a78a89a09fc5321c086f808c4856b Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:49:47 -0300 Subject: [PATCH 14/15] Update nodeDefs.json --- src/locales/pt-BR/nodeDefs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/pt-BR/nodeDefs.json b/src/locales/pt-BR/nodeDefs.json index 8b13789179..0967ef424b 100644 --- a/src/locales/pt-BR/nodeDefs.json +++ b/src/locales/pt-BR/nodeDefs.json @@ -1 +1 @@ - +{} From e9de197e74a145b53c11dc756359bc6ab2dde4ab Mon Sep 17 00:00:00 2001 From: JonatanAtila Date: Thu, 27 Nov 2025 11:49:54 -0300 Subject: [PATCH 15/15] Update settings.json --- src/locales/pt-BR/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/pt-BR/settings.json b/src/locales/pt-BR/settings.json index 8b13789179..0967ef424b 100644 --- a/src/locales/pt-BR/settings.json +++ b/src/locales/pt-BR/settings.json @@ -1 +1 @@ - +{}