i18n-zh2other
Version:
语言包自动翻译
67 lines (53 loc) • 2.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var md5 = require('md5');
var http = require('http');
var _ = require('lodash');
var Translate = /*#__PURE__*/function () {
function Translate(config, toLang) {
var delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
_classCallCheck(this, Translate);
this.config = config;
this.toLang = toLang;
this.delay = delay;
}
_createClass(Translate, [{
key: "do",
value: function _do(text) {
var baiduTranslate = this.config.baiduTranslate;
var key = baiduTranslate.key,
appid = baiduTranslate.appid,
url = baiduTranslate.url,
salt = baiduTranslate.salt;
var sign = md5(appid + text + salt + key);
var delay = this.delay;
var params = ['q=' + text, 'appid=' + appid, 'salt=' + salt, 'from=zh', 'to=' + this.toLang, 'sign=' + sign];
var finalUrl = url + '?' + params.join('&');
return new Promise(function (resolve, reject) {
setTimeout(function () {
http.get(finalUrl, function (resp) {
var result = '';
resp.on('data', function (data) {
result += data;
});
resp.on('end', function () {
var finalText = _.map(JSON.parse(result)['trans_result'], function (item) {
return item['dst'];
})[0];
resolve(finalText ? finalText : 'miss');
});
});
}, delay);
});
}
}]);
return Translate;
}();
var _default = Translate;
exports["default"] = _default;