ngx-translate-extract
Version:
Extract strings from projects using ngx-translate. Forked from biesbjerg/ngx-translate-extract
34 lines • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var Translatify = (function () {
function Translatify() {
this.TRANSLATE = 'translate';
this.translatableRegex = /{{\s*'(.)+'\s*}}/g;
this.translateKeyIdentifier = /<!--GroupTranslateKey=([a-zA-Z])+-->/;
}
Translatify.prototype.convertToExtract = function (content) {
var groupKey = this.getTranslateGroupKey(content);
return this.modifyStringForTranslationExtraction(content, this.translatableRegex, groupKey);
};
Translatify.prototype.getTranslateGroupKey = function (content) {
var key = this.translateKeyIdentifier.exec(content);
if (key) {
return key[0].split('=')[1].replace('-->', '');
}
return null;
};
Translatify.prototype.modifyStringForTranslationExtraction = function (content, regex, groupKey) {
var matches;
while (matches = regex.exec(content)) {
if (matches) {
var keyValue = matches[0].substring(matches[0].indexOf('\'') + 1, matches[0].lastIndexOf('\''));
keyValue = '{{\'' + groupKey + '.' + keyValue + '\'' + ' | ' + this.TRANSLATE + ' }}';
content = content.replace(matches[0], keyValue);
}
}
return content;
};
return Translatify;
}());
exports.Translatify = Translatify;
//# sourceMappingURL=translatify.js.map