next-translate-scanner
Version:
Scan next-translate code for translations and update json files.
24 lines (23 loc) • 1.09 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const glob_1 = __importDefault(require("glob"));
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const flatten_object_1 = __importDefault(require("./flatten-object"));
const loadExistingTranslations = (config) => {
const localeTranslations = {};
for (const locale of config.locales) {
localeTranslations[locale] = {};
const item = config.output.replace('$LOCALE', locale).replace('$NAMESPACE', '*');
for (const file of glob_1.default.sync(item)) {
const ns = path_1.default.parse(file).name;
const data = fs_1.default.readFileSync(file, { encoding: 'utf8' });
localeTranslations[locale][ns] = (0, flatten_object_1.default)(JSON.parse(data), config.keySeparator);
}
}
return localeTranslations;
};
exports.default = loadExistingTranslations;