UNPKG

next-translate-scanner

Version:

Scan next-translate code for translations and update json files.

33 lines (32 loc) 1.38 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const logger_1 = __importDefault(require("./logger")); const pseudo_localize_1 = __importDefault(require("./pseudo-localize")); const addPseudoLocale = (translations, baseLocale, pseudoLocale) => { if (!translations[baseLocale]) { logger_1.default.error(`Base locale "${baseLocale}" for pseudo locale generation not found.`); } translations[pseudoLocale] = {}; for (const [ns, items] of Object.entries(translations[baseLocale])) { const temp = {}; for (const [key, value] of Object.entries(items)) { let enabled = true; const split = value.split(''); temp[key] = split.map((char, index) => { if (char === '<' || (char + split[index + 1]) === '{{') { enabled = false; } else if (char === '>' || (char + split[index + 1]) === '}}') { enabled = true; } return enabled ? (0, pseudo_localize_1.default)(char) : char; }).join(''); } translations[pseudoLocale][ns] = temp; } return translations; }; exports.default = addPseudoLocale;