ngx-translate-po-http-loader/dist/index.js

34 lines
1.3 KiB
JavaScript
Raw Permalink Normal View History

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TranslatePoHttpLoader = void 0;
var operators_1 = require("rxjs/operators");
var po_1 = require("./po");
var TranslatePoHttpLoader = (function () {
function TranslatePoHttpLoader(_http, _prefix, _suffix) {
if (_prefix === void 0) { _prefix = 'i18n'; }
if (_suffix === void 0) { _suffix = '.po'; }
this._http = _http;
this._prefix = _prefix;
this._suffix = _suffix;
}
TranslatePoHttpLoader.prototype.getTranslation = function (lang) {
var _this = this;
return this._http
.get("".concat(this._prefix, "/").concat(lang).concat(this._suffix), { responseType: 'text' })
.pipe((0, operators_1.map)(function (contents) { return _this.parse(contents); }));
};
TranslatePoHttpLoader.prototype.parse = function (contents) {
var translations = {};
var doc = new po_1.POLoader();
var po = doc.parse(contents);
po.items.forEach(function (item) {
if (item.msgid.length > 0 && item.msgstr.length > 0) {
translations[item.msgid] = item.msgstr.join('\n');
}
});
return translations;
};
return TranslatePoHttpLoader;
}());
exports.TranslatePoHttpLoader = TranslatePoHttpLoader;
//# sourceMappingURL=index.js.map