UNPKG

asciidoctor-gettext

Version:

gettext/po string extraction tool for asciidoc documents

49 lines 1.91 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var blacklist_1 = require("./blacklist"); var collate_1 = require("./collate"); function translationEntryFromExtraction(extraction) { return { msgid: extraction.text, msgstr: [''], }; } exports.translationEntryFromExtraction = translationEntryFromExtraction; function translationsFromExtractions(extractions) { // For now, only support no/the default context: var defaultCtxt = extractions.reduce(function (ctx, extraction) { var entry = translationEntryFromExtraction(extraction); ctx[entry.msgid] = entry; return ctx; }, {}); return { '': defaultCtxt, }; } exports.translationsFromExtractions = translationsFromExtractions; function translationObjectFromExtractions(extractions, headerInfo, blacklistRegexes) { if (headerInfo === void 0) { headerInfo = {}; } if (blacklistRegexes === void 0) { blacklistRegexes = []; } var filtered = blacklist_1.blacklist(extractions, blacklistRegexes); var collated = collate_1.collate(filtered); var project = headerInfo.project || 'untitled'; var projectVersion = headerInfo.projectVersion || '1.0'; var headers = { 'project-id-version': project + " " + projectVersion, 'language': '', 'mime-version': '1.0', 'content-type': 'text/plain; charset=UTF-8', 'content-transfer-encoding': '8bit', 'x-generator': 'asciidoctor-gettext', }; if (headerInfo.bugsEmailAddress && headerInfo.bugsEmailAddress.length > 0) { headers['report-msgid-bugs-to'] = headerInfo.bugsEmailAddress; } return { charset: 'utf-8', headers: headers, translations: translationsFromExtractions(collated), }; } exports.translationObjectFromExtractions = translationObjectFromExtractions; //# sourceMappingURL=adapter.js.map