next-translate-scanner
Version:
Scan next-translate code for translations and update json files.
26 lines (25 loc) • 1.18 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const logger_1 = __importDefault(require("./logger"));
const writeTranslationFiles = (translationsWithLocale, config) => {
for (const [locale, translations] of Object.entries(translationsWithLocale)) {
const outputPath = config.output.replace('$LOCALE', locale);
for (const [ns, value] of Object.entries(translations)) {
const filePath = outputPath.replace('$NAMESPACE', ns);
try {
fs_1.default.mkdirSync(path_1.default.dirname(filePath), { recursive: true });
fs_1.default.writeFileSync(filePath, JSON.stringify(value, null, config.indentation));
logger_1.default.created(filePath);
}
catch (error) {
logger_1.default.error(`failed to create "${filePath}"`, true);
}
}
}
};
exports.default = writeTranslationFiles;