From 36f7b00a60745077fd955060b419293df48e1ac3 Mon Sep 17 00:00:00 2001 From: DrJKL Date: Tue, 14 Jul 2026 14:08:59 -0700 Subject: [PATCH] fix(i18n): escape dollar in node locales --- scripts/nodeDefLocaleSerializer.test.ts | 5 +++-- scripts/nodeDefLocaleSerializer.ts | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/nodeDefLocaleSerializer.test.ts b/scripts/nodeDefLocaleSerializer.test.ts index b1b5849b25..03733c1060 100644 --- a/scripts/nodeDefLocaleSerializer.test.ts +++ b/scripts/nodeDefLocaleSerializer.test.ts @@ -14,7 +14,7 @@ function render(message: string): string { describe('serializeNodeDefLocales', () => { it('escapes compiled fields and preserves raw tooltips', () => { - const syntax = '@ {value} | 50%{done}' + const syntax = '@ $ {value} | 50%{done}' const inputName = `Input ${syntax}` const outputName = `Output ${syntax}` const dataType = `TYPE ${syntax}` @@ -47,7 +47,8 @@ describe('serializeNodeDefLocales', () => { } }) const serializedNode = nodeDefinitions.Test_Node - const serializedInput = serializedNode.inputs['Input @ {value} | 50%{done}'] + const serializedInput = + serializedNode.inputs['Input @ $ {value} | 50%{done}'] const serializedOutput = serializedNode.outputs['0'] expect(render(serializedNode.display_name)).toBe(nodeDef.display_name) diff --git a/scripts/nodeDefLocaleSerializer.ts b/scripts/nodeDefLocaleSerializer.ts index 724469ee51..7e3ff4c390 100644 --- a/scripts/nodeDefLocaleSerializer.ts +++ b/scripts/nodeDefLocaleSerializer.ts @@ -26,7 +26,7 @@ export type WidgetLabels = Record< Record > -const VUE_I18N_SYNTAX_CHARS = /[@{}|%]/g +const VUE_I18N_SYNTAX_CHARS = /[@${}|%]/g function escapeMessage(text: string): string { return text.replace(VUE_I18N_SYNTAX_CHARS, (char) => `{'${char}'}`)