From 0a2f0372bee9c9b3108aafe781b27f50dc01055a Mon Sep 17 00:00:00 2001 From: Stela Augustinova Date: Wed, 5 Nov 2025 11:49:21 +0100 Subject: [PATCH] Enhance translation regex to support multiple default message formats --- common/translations-cli/extract.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/common/translations-cli/extract.js b/common/translations-cli/extract.js index 9c6374594..618e1dddb 100644 --- a/common/translations-cli/extract.js +++ b/common/translations-cli/extract.js @@ -6,7 +6,7 @@ const { getFiles } = require('./helpers'); const readFilePromise = promisify(fs.readFile); -const translationRegex = /_t\(\s*['"]([^'"]+)['"]\s*,\s*\{\s*defaultMessage\s*:\s*['"]([^'"]+)['"]\s*\}/g; +const translationRegex = /_t\(\s*['"]([^'"]+)['"]\s*,\s*\{\s*defaultMessage\s*:\s*(?:'([^'\\]*(?:\\.[^'\\]*)*)'|"([^"\\]*(?:\\.[^"\\]*)*)"|\`([^`\\]*(?:\\.[^`\\]*)*(?:\{[^}]*\}[^`\\]*(?:\\.[^`\\]*)*)*)\`)(?:\s*,\s*[^}]*)*\s*\}/g; /** * @param {string} file @@ -20,7 +20,8 @@ async function extractTranslationsFromFile(file) { let match; while ((match = translationRegex.exec(content)) !== null) { - const [_, key, defaultText] = match; + const [_, key, singleQuotedText, doubleQuotedText, templateLiteral] = match; + const defaultText = singleQuotedText || doubleQuotedText || templateLiteral; translations[key] = defaultText; }