asciidoctor-gettext
Version:
gettext/po string extraction tool for asciidoc documents
49 lines • 1.91 kB
JavaScript
;
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