UNPKG

json-autotranslate

Version:

Translate a folder of JSON files containing translations into multiple languages.

25 lines (24 loc) 1.02 kB
"use strict"; exports.__esModule = true; var messageformat_parser_1 = require("messageformat-parser"); exports.generateSearchRegex = function (input) { var parts = messageformat_parser_1.parse(input); return new RegExp(parts .map(function (part) { return typeof part === 'string' ? part.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') : '(.+?)'; }) .join('')); }; exports.replaceIcu = function (input) { var searchRegex = exports.generateSearchRegex(input); var matches = input.match(searchRegex); var replacements = matches.slice(1).map(function (match, index) { return ({ from: match, to: "<" + index + ">" }); }); var clean = replacements.reduce(function (acc, cur) { return acc.replace(cur.from, cur.to); }, input); return { clean: clean, replacements: replacements }; }; exports.reInsertIcu = function (clean, replacements) { return replacements.reduce(function (acc, cur) { return acc.replace(cur.to, cur.from); }, clean); };